I was able to track down how the Auto Battle flag is used in the game, and there are two separate bits of code looking at it. One controls the battle speed and the other controls the automatic input. By hacking just the code that controls the battle speed, we can get fast battles regardless of whether the Auto Battle flag is set.
Note that the values to search for are slightly different for each Pixel Remaster game, so I’ll add separate guides for the other games.
Edit GameAssembly.dll in a hex editor
First, open GameAssembly.dll in a hex editor. I use HxD.
Search for the hex values:
E8 FA B7 EE FF 84 C0
Replace with the values:
E8 FA B7 EE FF 3C FF
And that’s it! Save the dll, and play with always fast battles!
Notes for future hackers
The function that returns the value of the Auto Battle flag ends with this line of a*sembly:
movzx eax,BYTE PTR [rax+0x19]
This corresponds to hex of 0F B6 40 19.
You can search for this hex string in the dll to figure out where this function should be in memory. There are two matches in the dll right now, you want the one that has a lot of nearby CC CC CC CC values.
The function should look like this in the debugger:
00007FFA17E5D040 mov rax,qword ptr [rcx+80h] 00007FFA17E5D047 test rax,rax 00007FFA17E5D04A je 00007FFA17E5D051 00007FFA17E5D04C movzx eax,byte ptr [rax+19h] 00007FFA17E5D050 ret
Once you find that function, break into it during a battle and you’ll see two different callers. We want to modify the one that has the “test al,al” check, not the “cmp” check.
In order to always jump to the auto battle code path for this check, I’ve replaced “test al,al” with “cmp al,0xff” which is the same number of bytes and should always result in a 0 going into the Zero Flag. Happy hacking!
This is all for FINAL FANTASY Cheat for Speed Battle/ Auto Battle Guide hope you enjoy the post. If you believe we forget or we should update the post please let us know via comment, we will try our best to fix how fast is possible! Have a great day!
- Check All FINAL FANTASY Posts List