[FF8 STEAM]FF8_Buttons patch : show PSX buttons

  • Thread starter Thread starter Shunsq
  • Start date Start date
Status
Not open for further replies.
S

Shunsq

Guest
FF8_BUTTONS ver0.2
FF8 buttons is a patch for FF8 that replaces the "B1,B2....,B10" with the original PSX buttons.
         
Basically it waits for the commands to show "B1", "B2",etc... then instead of printing B1 it prints the icon. I replace the "print text" function by the "print icon" function.

To apply this patch you must use one of these tools:
option 1) RaW by DLPB
This first option is preferred because it is more simple to use. Just download the lite version ( no music files included, no interface), put the Raw folder, bass.dll and ddraw.dll in the same folder as your FF8_**.exe .
option 2)HEXTLAUNCH from here :  Hext tools created by DLPB.

Instructions:
Please find here the hext file to use with hextlaunch or RaW:
FF8_FR:FF8_Buttons_FR (VER 0.2)
FF8_EN:FF8_Buttons_EN
FF8_IT :FF8_Buttons_IT
FF8_ES:FF8_Buttons_ES(NEW)
FF8_DE:FF8_Buttons_DE(NEW)
Additional button configuration tool:
If you don't have the icons matching your controller buttons, use this tool to associate any PSX icon to the button.
FF8 Buttons config tool (Ver 0.1)
You must not change the name of this file.

option 1)If you use Raw:
1)After you have installed RaW, copy the RaW folder, bass.dll and ddraw.dll in your FF8 game folder ( the same location as your FF8.exe).
2)Copy FF8_Buttons_(your language).txt and FF8_Buttons{config}.txt in [FF8 game folder]/RaW/GLOBAL/Hext/
3)Run the game.And that's it !

Just to make sure everything worked, open the Log.txt file located in RaW folder. It should show the following:
Code: [Select]
Code:
<===GLOBAL===>#FF8_buttons_(your language).txtChanged: 451Replaced: 0Permissions: 1No errors.#FF8_buttons{config}.txtChanged: 12Replaced: 0Permissions: 0No errors.
option 2)If you use HextLaunch ( old method but works):
1) Put hextlaunch.exe and the folder HL_FILES in the same directory as FF8_launcher.exe
2) Put FF8_BUTTONS_(your language).txt and the additional FF8_Buttons{config}.txt in HL_FILES/Hext_in/
3) Configure HL_FILES/settings.ini as follows:
Code: [Select]
Code:
[HextLaunch]File=FF8_FR.exe  //Your version of FF8Process=FF8_FR.exe //Your version of FF8Window=Delay=1000KeepScanning=1ReOpen=0Failed=Failed. Continuing to scan...WorkingFolder=
4)Launch FF8 with the default FF8_launcher.exe
5)Execute hextlaunch.exe .

Just to check that it worked, you should see the following in the cmd window:
"FF8_buttons_XX.txt                           451 byte changed, 0 replaced, 1 permission."
"FF8_buttons{config}.txt                      12 byte changed, 0 replaced, 0 permission."

Other mods recommended:
For HD icons use Mcindus texture set : FF8 HD icons
He made a wonderful work on all icons for FF8.

Release notes:
Code: [Select]
Code:
-ver0.1: For the moment it works with my FF8_FR.exe. I request the help of people here on qhimm to test the code on different versions of the game. Please give me feedback so that i can improve the patch.-ver0.2 : FF8_EN,  FF8_IT , FF8_ES,FF8_DE version released. FF8_FR updated to ver0.2.-2018-23-10 :additionnal config tool. If you want to remap the icons to your controller buttons i created an additional tool.
 
Last edited:
Hello everyone,
After months of research i managed to modify the code so that the game shows PSX buttons instead of the ugly B1,B2,B3.
For the moment it is just a table in cheat engine but i want to build a dll that you put in the FF8 folder. Maybe i'll use one of dlpb tool.
Basically it waits for the commands to show "B1", "B2",etc... then instead of printing B1 it prints the icon. I replace the "print text" function by the "print icon" function.
YES!!!  Shunsq, can you make a hext file and a .dll since you used cheat engine??  We can insert it using hextlaunch - since we have to use hextlaunch for the UV patcher anyway.
SeeDReborn should use these icons by default since I've included versions of the buttons in the original mod - and we'll no longer have to use my controller-mod workaround unless people have different button layouts other than PSX.  This is great news!
 
I'm trying to build an hextlaunch file for dlpb tool but i'm stuck. In cheat engine i can find automatically a code cave then allocate some memory to write my code. The code cave location changes everytime i launch the code. With hextlaunch i don't know how to "dynamically" find a code cave to write my code. I tried a "static" code cave, where i allocate memory, but FF8 overwrite my code everytime. That means that the "static" code cave is in fact not a code cave because the memory region is used by FF8.

If DLPB is around can he help me with this ASM issue?
 
As far as I've read, you'll have to find an area not written to. See the help files for how to follow a jump - may help you locate the right area each time - if it changes.  I don't really mod ff8 asm all that much.  very busy with ff7.
 
Thank you for you help dlpb.
Finally i decided to write the code in a static code cave.
For french "FF8_FR.exe" it is located at 0x4002E8. This area might not be a code cave for other versions of FF8 ( FF8_EN, etc...).
Please find the hext file to use with hextlaunch in the first post.
 
Last edited:
Thank you for you help dlpb.
Finally i decided to write the code in a static code cave.
For french "FF8_FR.exe" it is located at 0x4002E8. This area might not be a code cave for other versions of FF8 ( FF8_EN, etc...).
Please find the hext file to use with hextlaunch in the first post.
Awesome! I'll test it on FF8_EN and let you know if it works...
EDIT**  Shpoopy.  doesn't work for FF8_EN
 
Last edited:
Hello Mcindus,
If you have cheat engine can you search for code cave of 512 bytes?
For FF8_FR.exe the first result is 0x4002E8. Can you give me the 5 first results of the code cave search?

Also what is the address of FF8_EN.exe in memory? FF8_FR.exe is at 0x400000.
 
Last edited:
Finally this is awesome, is it possible to replace the battle party name font with the original as well?

H7aeAAE.png
 
Hello Yagami, have you tested the patch ?
To any FF8_EN user here, can you use cheat engine to search for a code cave and show me the address of the 5 first code caves ?
I will modify the patch to match with this new address.
 
Hey Shunsq, I tried HexEdit (DLPB's Hext tools) to permanently write the code in my FF8_FR.exe and the cmd shows an error line 6 ("4002E8:512") and the buttons still says "B1, B2..." in-game; what am I doing wrong?

Code: [Select]
Code:
---------------------------FF8_buttons.txt (FF8_FR.exe)Changed: 402Replaced: 0Errors(1):Line 6 (FF8_buttons.txt): Incorrect format.___________________________Time taken: 0,171s11/03/2018, 11:41:23___________________________
 
Hello Aavock,
Why do you use Hextedit instead of hextlaunch ?
The purpose of hexlaunch is that it is loaded only when the game is played. When you close the game everything is reset and no harm is done to the game. I think it is safer . If you use hextedit you may break the game.

I think it didn't work with hextedit because the address are different between the "static" offsets ( when the game is off ) and the "processed" offsets ( when the game is on ). I'm not sure about the terms. I think this issue already happened with other hextedit / hextlaunch patches.
When the game is played, all the code is offset by 0x400000 bytes. When the game is not played the offset is 0x00.
So that's why my code doesn't work with hextedit.
 
Last edited:
If you check the help files, you'll see how you can just edit the offset globally rather than redo them all.
 
Yeah it doesn't work for EN, I downloaded cheat engine and scanned for 512 bytes, if this is wrong please guide me

Mg2RHFL.png
 
It doesn't work like that YagamiLight. But no problem, i saw that i could install multiple langage for FF8 for free. In fact you searched for the value"512" in the memory of the game.
I am adapting the code to FF8_EN right now. I will publish the EN version today i think
 
It doesn't work like that YagamiLight. But no problem, i saw that i could install multiple langage for FF8 for free. In fact you searched for the value"512" in the memory of the game.
I am adapting the code to FF8_EN right now. I will publish the EN version today i think
You're awesome!!  Sorry I wasn't able to get to this before you, and a HUGE thank you!!!
 
ver0.2 released, see first post. I released FF8_EN version. It only works with HextLaunch.
 
ver0.2 released, see first post. I released FF8_EN version. It only works with HextLaunch.
Works beautifully, and automatically works with SeeDReborn! :)  I also tested i alongside Maki's UV fix, and it works perfectly well alongside the English version of that mod, too!

You're awesome, Shunsq!  Now people won't need to download the Controller Mod if they aren't using a keymapper - they can still use my controller mod if they want custom buttons or use a keymapper, but this is so much better!!!!

Thank you!!
 
ver 0.2 with Italian version released.See first post.

Mcindus, I'm relieved it works good with any FF8_EN version ;D ;D! I think i will release all versions tomorrow.
I'm also working on another patch to be able to use L2/R2 and Dpad on the controller; with the matching icons of course ;D.
 
ver 0.2 with Italian version released.See first post.

Mcindus, I'm relieved it works good with any FF8_EN version ;D ;D! I think i will release all versions tomorrow.
I'm also working on another patch to be able to use L2/R2 and Dpad on the controller; with the matching icons of course ;D.
The mod still uses the texture coordinates of the B1, B2 etc. buttons - is there any way to get the spacing to use the spacing from the icon.tex file (the one you're directing to now), instead of the spacing of the sysfld file?
 
Status
Not open for further replies.
Back
Top