|
|
Documentation and Possible Repair of Broken VFX
Server: Bahamut
Game: FFXI
Posts: 114
By Bahamut.Daleterrence 2026-05-03 07:33:27
We've discussed this a decent amount in other threads, so I figured it just made sense to compile everything we've got so far into its own thread so we can stop dragging Aamace's threads further off-topic.
This topic is dedicated to compiling and if possible, investigating fixes for various VFX issues that have popped up over the years, in an attempt to restore the game back to what Square Enix intended when our displays were heavy enough to kill a person and had the resolution of last generation's iPhone.
What we've got so far:
( Last Update: 2026-05-03)
Blur Effects
Description
Whilst inaccurate to actually call them blur effects in my opinion, it's what the game setting refers to them as, so we will go with it.
This is specifically the glow effect created attached to certain actors, specifically some Moogles, Trusts, Avatars, etc. With no fix, this appears as a pixelated mess nearby or around the actor.
Why It's Broken
The texture the effect is drawn to is only 256x256, our resolutions are considerably larger these days, causing the VFX to appear as a garbled mess.
Fix Status
Fixed! - Thanks to Aamace providing information on how the effect works, and some fiddling from me, we do indeed have a fix for this! My implementation just basically makes the texture bigger and then fixes the scaling so the effect appears at the right place on screen. This will be out, eventually, the effect needs some very specific tweaks to get it reproduced to what it looked like when it worked correctly. A preview of how it is right now with the fix is below.
Ground Effects
Description
Ground effects created by certain spells, certain NPCs, etc, and in particular summoning an Avatar appear stretched out, at the incorrect aspect ratio for the angle they are viewed at, and their scale is dependant on camera zoom. An example is available in the video below.
YouTube Video Placeholder
( Link in case the YT embed does not work)
Why It's Broken
I actually have no idea. Maybe someone else can provide an explanation I can put here for this. Best guess is past a certain resolution, it just explodes. It might be tied to aspect ratio, given how camera zoom which changes that affects it too.
Fix Status
Fixed! - With a lot of fiddling, I was able to lock the texture to a particular ratio, which is dynamically adjusted for game resolution. The zoom issue was fixed by adjusting the value the effect scales at relative to the viewing point of the camera. Aamace also helped with this one. An example of the fix can be found below.
YouTube Video Placeholder
Link in case the YT embed does not work
Cutscene Effects
Description
Certain effects that previously did work on the PS2 version of the game just.. do not appear at all, anymore. It seems to affect the following VFX, though the exact cutscene for most of them is currently unclear.
Quote: ROM/16/98.DAT - The effect from the cutscene linked below.
ROM2/23/93.DAT - Tied to a Kam'lanaut cutscene, maybe.
ROM2/23/94.DAT - Unknown
ROM2/23/95.DAT - Unknown
ROM/128/76.DAT - Tied to a cutscene involving Eald'narche.
ROM/155/39.DAT - Tied to a cutscene involving Selh'teus, maybe.
YouTube Video Placeholder
( Link incase the YT embed does not work, this video has been uploaded by me on YT for the sake of this thread, but comes from this reddit thread)
Why It's Broken
We don't know, at the moment, apart from the fact the effects in question still exist in the game files, but are just not implemented into their respective cutscenes.
Update: Aamace posted a detailed explanation of this, which I'll include here for reference:
For the Shadow Lord CS above, I looked into the circular shadow fire effect & the model-fade out effect. The effects are in ROM/16/98.DAT & ROM/16/99.DAT.
The fire effect uses an obscure Particle Updater operation (0x65). I scanned the file-table for other usages, and it only appears in 3 other model-transitions cutscenes (Eald'Narche, Kam'lanaut, Selh'teus). The operation looks like it should spawn child particles (the fire + a distortion particle on top of it), but it... doesn't do anything. I couldn't get the opcode to do anything inside the cutscene or by using .DAT swaps, so I took a look in the debugger. 0x65 links to a no-op in the jump-table - it just proceeds to the next instruction without doing anything. Seems like they removed it, but I'm not sure why, though. I hacked together an implementation in Xim and it looks fine.
For the fade-out effect - the cutscene works by loading in both the first-phase model (NPC 315) and the second-phase model (NPC 316). The PS2 version seems to have an effect where vertices in the 2nd model gain priority over the first model (maybe from depth bias or alpha-culling?). There's an obscure Routine op-code (0x74, only used in the same effects as above) that references a particle-type that I'd never seen before (0x5A, also only used in these effects). Again, 0x74 is just a no-op (debugger skips to the next instruction, never loads the particle reference). The particle is linked to something named [disg] (maybe "disintegrate"?) that I don't see anywhere, so it's probably a special effect (similar to [dist] for "distortion"). Also, even if I change 0x74 to 0x02 (the normal particle-generator op-code), the particle is loaded but never spawned, so 0x5A seems unimplemented as well.
My assumption is that there were some per-vertex operations that were feasible on the PS2, but there's no equivalent in D3D8.
and instead of just remaking the effect they removed it
Seems like the case here, unfortunately.
Fix Status
Unlikely to be fixed...
Environmental Effects
Description
Various effects such as water refraction from the oasis water jets in Rabao/Altepa, and the haze weather effect, do not work correctly.
Why It's Broken
From my understanding, these use the same technique as blur effects, so it's likely a similar fix.
Fix Status
Research Required - I'll start looking into this soon and see what I can do about it, and update this post as needed.
If you are aware of any other VFX issues that used to work correctly, but do not anymore, feel free to drop a post in. Please feel free to discuss ongoing efforts here too, questions, more information about currently known issues, etc etc. Would very much appreciate viewpoints from those intimate with FFXI's inner workings so we (and by we, I mean me) can gain a greater understanding on matters.
By RadialArcana 2026-05-03 08:10:31
I remember people saying the weather effects don't work properly, maybe the textures are not the correct res. I never really looked into it much, but it's a popular one people bring up from how they used to be on ps2.
Server: Bahamut
Game: FFXI
Posts: 114
By Bahamut.Daleterrence 2026-05-03 12:22:59
I remember people saying the weather effects don't work properly, maybe the textures are not the correct res. I never really looked into it much, but it's a popular one people bring up from how they used to be on ps2.
I completely forgot about this one, me and Aamace did discuss them very very briefly, I've added it alongside the water refraction on the underwater jets in Rabao (which is something else I forgot about whilst writing the post), thanks for mentioning it!
We've discussed this a decent amount in other threads, so I figured it just made sense to compile everything we've got so far into its own thread so we can stop dragging Aamace's threads further off-topic.
This topic is dedicated to compiling and if possible, investigating fixes for various VFX issues that have popped up over the years, in an attempt to restore the game back to what Square Enix intended when our displays were heavy enough to kill a person and had the resolution of last generation's iPhone.
What we've got so far:
( Last Update: 2026-05-03)
Blur Effects
Description
Whilst inaccurate to actually call them blur effects in my opinion, it's what the game setting refers to them as, so we will go with it.
This is specifically the glow effect created attached to certain actors, specifically some Moogles, Trusts, Avatars, etc. With no fix, this appears as a pixelated mess nearby or around the actor.
Why It's Broken
The texture the effect is drawn to is only 256x256, our resolutions are considerably larger these days, causing the VFX to appear as a garbled mess.
Fix Status
Fixed! - Thanks to Aamace providing information on how the effect works, and some fiddling from me, we do indeed have a fix for this! My implementation just basically makes the texture bigger and then fixes the scaling so the effect appears at the right place on screen. This will be out, eventually, the effect needs some very specific tweaks to get it reproduced to what it looked like when it worked correctly. A preview of how it is right now with the fix is below.
Ground Effects
Description
Ground effects created by certain spells, certain NPCs, etc, and in particular summoning an Avatar appear stretched out, at the incorrect aspect ratio for the angle they are viewed at, and their scale is dependant on camera zoom. An example is available in the video below.
YouTube Video Placeholder
( Link in case the YT embed does not work)
Why It's Broken
I actually have no idea. Maybe someone else can provide an explanation I can put here for this. Best guess is past a certain resolution, it just explodes. It might be tied to aspect ratio, given how camera zoom which changes that affects it too.
Fix Status
Fixed! - With a lot of fiddling, I was able to lock the texture to a particular ratio, which is dynamically adjusted for game resolution. The zoom issue was fixed by adjusting the value the effect scales at relative to the viewing point of the camera. Aamace also helped with this one. An example of the fix can be found below.
YouTube Video Placeholder
Link in case the YT embed does not work
Cutscene Effects
Description
Certain effects that previously did work on the PS2 version of the game just.. do not appear at all, anymore. It seems to affect the following VFX, though the exact cutscene for most of them is currently unclear.
Quote: ROM/16/98.DAT - The effect from the cutscene linked below.
ROM2/23/93.DAT - Tied to a Kam'lanaut cutscene, maybe.
ROM2/23/94.DAT - Unknown
ROM2/23/95.DAT - Unknown
ROM/128/76.DAT - Tied to a cutscene involving Eald'narche.
ROM/155/39.DAT - Tied to a cutscene involving Selh'teus, maybe.
YouTube Video Placeholder
( Link incase the YT embed does not work, this video has been uploaded by me on YT for the sake of this thread, but comes from this reddit thread)
Why It's Broken
We don't know, at the moment, apart from the fact the effects in question still exist in the game files, but are just not implemented into their respective cutscenes.
Update: Aamace posted a detailed explanation of this, which I'll include here for reference:
For the Shadow Lord CS above, I looked into the circular shadow fire effect & the model-fade out effect. The effects are in ROM/16/98.DAT & ROM/16/99.DAT.
The fire effect uses an obscure Particle Updater operation (0x65). I scanned the file-table for other usages, and it only appears in 3 other model-transitions cutscenes (Eald'Narche, Kam'lanaut, Selh'teus). The operation looks like it should spawn child particles (the fire + a distortion particle on top of it), but it... doesn't do anything. I couldn't get the opcode to do anything inside the cutscene or by using .DAT swaps, so I took a look in the debugger. 0x65 links to a no-op in the jump-table - it just proceeds to the next instruction without doing anything. Seems like they removed it, but I'm not sure why, though. I hacked together an implementation in Xim and it looks fine.
For the fade-out effect - the cutscene works by loading in both the first-phase model (NPC 315) and the second-phase model (NPC 316). The PS2 version seems to have an effect where vertices in the 2nd model gain priority over the first model (maybe from depth bias or alpha-culling?). There's an obscure Routine op-code (0x74, only used in the same effects as above) that references a particle-type that I'd never seen before (0x5A, also only used in these effects). Again, 0x74 is just a no-op (debugger skips to the next instruction, never loads the particle reference). The particle is linked to something named [disg] (maybe "disintegrate"?) that I don't see anywhere, so it's probably a special effect (similar to [dist] for "distortion"). Also, even if I change 0x74 to 0x02 (the normal particle-generator op-code), the particle is loaded but never spawned, so 0x5A seems unimplemented as well.
My assumption is that there were some per-vertex operations that were feasible on the PS2, but there's no equivalent in D3D8.
and instead of just remaking the effect they removed it
Seems like the case here, unfortunately.
Fix Status
Unlikely to be fixed...
Environmental Effects
Description
Various effects such as water refraction from the oasis water jets in Rabao/Altepa, and the haze weather effect, do not work correctly.
Why It's Broken
From my understanding, these use the same technique as blur effects, so it's likely a similar fix.
Fix Status
Research Required - I'll start looking into this soon and see what I can do about it, and update this post as needed.
If you are aware of any other VFX issues that used to work correctly, but do not anymore, feel free to drop a post in. Please feel free to discuss ongoing efforts here too, questions, more information about currently known issues, etc etc. Would very much appreciate viewpoints from those intimate with FFXI's inner workings so we (and by we, I mean me) can gain a greater understanding on matters.
|
|