Final Fantasy 8 > Releases

[PC+R+Switch] Unofficial bad UV texture patch [powered by DLPB tools]

(1/22) > >>

Maki:

Description:
This does just what you can see on image above. Fixes bad PC version UV mapping.

Compatibility: Works with all FF8 versions (2000+Steam) multilanguage + any currently available mods
                                 If you're having problems, please proceed with manual patching tutorial.
Requirements: .NET Framework 4 (for ready patcher) or DLPB's Tools 2.0 for manual patching

ASM hack source: http://pastebin.com/WnRA19mM

*Old patcher deleted due to the fact it corrupted the EXEs and overwrote backup. I'm so sorry for destroying your backups. Please, use manual patching for Steam or above for 2000 version.

STEAM 2013 Version:
MANUAL PATCHING TUTORIAL: (STEAM)
(Big thanks to Cities.Burn.Quick for writing this tutorial) :)
(Use this if above fails. This applies for English version only, however you can find FF8 2000 HEXT instructions at the bottom of this post)

 1. Backup the FF8_EN.exe file from your Final Fantasy VIII Steam directory (steamapps/common/FINAL FANTASY VIII/) just in case.

2. Download DLPB's Tools 2.0.

3. Unzip the file anywhere on your PC.

4. Open the "HextEdit" folder and move your FF8_EN.exe file from your Steam directory to the HexEdit root folder. The root folder contains another folder named HE_in, the HexEdit.exe, a Readme.rtf, and a test.file (which you should delete).

5. Open the HE_in folder and delete the example Hext instructions.

6. Create a new Notepad text document in the HE_in folder, name it "FF8_EN" or "FF8" and paste:


--- Code: ---FF8_EN.exe
153CC0 = 00
153CCA = 00
153CD8 = 00
153CE2 = 00
153CF2 = 00
153CFC = 00
153D0C = 00
153D16 = 00
153D26 = 00
153D30 = 00
153D38 = 00
153D42 = 00
--- End code ---


7. Save your FF8_EN.txt.

8. Go back to the HextEdit root and run the HextEdit.exe application, press enter when prompted.

9. Once HextEdit finishes it will create a HextEdit.txt. Open this file and insure it reads...

--- Code: ------------------------------
FF8_EN.txt (FF8_EN.exe)

Changed: 12
Replaced: 0

No errors.

___________________________
--- End code ---


10. If newly created HextEdit.txt has the same output, it was patched successfully.

11. Move your FF8_EN.exe from the HextEdit root back to your Steam directory. Overwrite if need be.

12. Run game and enjoy your newly patched FF8 world map!


PC 2000 release version:
Download and run with launcher:
Download:  https://www.dropbox.com/s/zaq4gqquaop00kn/FF8_UVPatchLauncher.7z?dl=0

-=Alternative files (HEXT instructions for DLPB's tools)=-
FF8 2000 English: https://www.dropbox.com/s/zaq4gqquaop00kn/FF8_UVPatchLauncher.7z?dl=0
FF8 Steam English: http://pastebin.com/W72H6yep

Remastered:
UV patch is now built-in in demaster patch! No need to work with the code manually. Find more details here: http://forums.qhimm.com/index.php?topic=19432.0
If you are experienced user you can try manually patching the DLL:
Dotemu by compiling their new DLL they got the ASLR working by default- that renders above method with DLPB not working- the address in memory is changing every time you open the application. You can either disable ASLR with my script: https://github.com/MaKiPL/ASLR_disabler and then patch as in Steam 2013 with IMAGE_BASE of the dll or patch the DLL directly:

--- Code: ---FFVIII_EFIGS.dll+8A2CB2 - add byte ptr [esi+08],00
FFVIII_EFIGS.dll+8A2CB8 - add byte ptr [esi+08],00
FFVIII_EFIGS.dll+8A2D17 - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2D1D - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2D6D - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2D73 - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2DC5 - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2DCB - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2E1B - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2E21 - add byte ptr [esi+0C],00
FFVIII_EFIGS.dll+8A2E6F - add byte ptr [esi+04],00
FFVIII_EFIGS.dll+8A2E75 - add byte ptr [esi+04],00

--- End code ---
above are dynamic addresses to memory- so if you have a patcher that is capable of understanding above instructions (example is Cheat Engine) then you can jump right into the memory view and assemble as above. However if you want to update the EXE manually, then here are the codes (basically FFVIII_EFIGS.dll in above example is ~0x10000000):
Example in EXE at address 0x8A20B5 there should be 02, change that to 00

--- Code: ---0x8A20B5 - 00
0x8A20BB - 00
0x8A211A - 00
0x8A2120 - 00
0x8A2170 - 00
0x8A2176 - 00
0x8A21C8 - 00
0x8A21CE - 00
0x8A221E - 00
0x8A2224 - 00
0x8A2272 - 00
0x8A2278 - 00

--- End code ---

Nintendo Switch
Unfortunately you have to own jailbreaked(?) switch. You have to get the file GuardianEFIGS.nro and edit with your favourite HEX editor those addresses:
Example:: 0xE04E38 which is now E2 1B 1F 32 should be 1F 20 03 D5
Below are all the addresses which you should update:

--- Code: ---0xE04E38 = 1F2003D5
0xE04E58 = 1F2003D5

0xE04E98 = 1F2003D5
0xE04EB8 = 1F2003D5

0xE04EFC = 1F2003D5
0xE04F1C = 1F2003D5

0xE04F5C = 1F2003D5
0xE04F7C = 1F2003D5

0xE04FC0 = 1F2003D5
0xE04FE0 = 1F2003D5

0xE05008 = 1F2003D5
0xE05028 = 1F2003D5

--- End code ---

Zervox:
Simply amazing. :)

DLPB_:
You can also use HextLaunch to add these fixes at game start to memory, I take it?  That would be cooler for me.  Do you have a list of all mem changes and values?

Maki:
These are changes for steam english (FF8_en.exe):
http://pastebin.com/WnRA19mM
For all other versions (2000 PC and all languages handling I'm doing byte search and some routine to edit bytes whatever version it is)

And here's the main source code:
https://github.com/MaKiPL/FF8-Bad-Texture-PATCHER/blob/master/FF8_TexturePatcher/Form1.cs

I'm going to get some sleep now. I'll prepare the instructions for launcher soon.

Aavock:
HUGE improvement, amazing job thank you MaKiPL! :o

The linking between some specific identical textures produce some artifacts like the road to Balamb, is it normal?


Navigation

[0] Message Index

[#] Next page

Go to full version