Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: AwesomeHairo on September 25, 2021, 01:10:52 pm

Title: Make a hex stringer longer FF8 PSX
Post by: AwesomeHairo on September 25, 2021, 01:10:52 pm
Hi everyone. I was working on updating names of spells and such to modern standards in FF8 PSX, and I found out I can't make something like the spell "Demi" into "Gravity".

The game seems to have these sectors that looks like this:

00 FF FF FF FF FF FF FF FF FF FF 00 00 02 01 02

every 0x930. So at offset 0x1260, there'll be another one.

So I extracted the FF8DISC1.img file and simply tried to copy and paste the modified hex strings from the kernel.bin I got from the PC version onto the hex strings of the same kernel.bin section on FF8DISC1.img, including using up '00' bytes at the ends. Putting everything back, the game runs but every text gets jumbled around.

What can I do to fit longer names of stuff in the discs?
Title: Re: Make a hex stringer longer PSX game
Post by: Jorpho on September 25, 2021, 02:35:11 pm
I hope you're not expecting an easy answer. (Why not put FF8 in your subject line? Surely you're not expecting every single PSX game should behave the same way when it comes to something like this?)

Something like this could have a long list of causes, depending on how the string is stored, how it gets read, and how it ultimately gets formatted and displayed. Are you suggesting it already works in the PC version?

Regardless, as you might expect, a game like this has already been the subject of an enormous amount of attention over the years – though you won't find too much discussion of it here. Have you checked the Qhimm forums already?
Title: Re: Make a hex stringer longer FF8 PSX
Post by: AwesomeHairo on September 25, 2021, 03:52:11 pm
No luck. This is basically a last ditch until I move on to just playing the PC version with no vibration and only 8 directional movement with the analog.
Title: Re: Make a hex stringer longer FF8 PSX
Post by: FAST6191 on September 26, 2021, 10:29:17 am
Vibration can be added to things somewhat easily. Analogue movement also, though harder.

Anyway as above there are all sorts of things here that you get to contemplate.

The vast majority of text in games will use pointers or something functionally akin to them (some note of size anyway). This is to say somewhere usually before the text or in the same directory will be a list of all the locations where the text will be appearing.
One of the major exceptions though, and annoyance for hackers (and presumably those originally translating the game) is text in menus. This will often be fixed length instead (pick any RPG with short spell/weapon/item name syndrome and this will probably be the underlying cause). If you can deal within the limits of the fixed stuff then fantastic, you are even likely to be spared fun with pointers in that case.
If not then you get to edit the game, starting with understanding how it is stored, probably finding the code of it being read, maybe seeing if you can expand the read of that code, and probably also handling any issues with formatting and display (spreading outside a text box being the least of your concerns in this). If Square Enix of the PS1 era (this was even before Spirits Within flopped) presumably did not pay enough for their devs with nice full source code to expand things a bit then... yeah, though it can also have been laziness and many a competent hacker has expanded things beyond what the original translation crew saw fit to do.
Title: Re: Make a hex stringer longer FF8 PSX
Post by: Jorpho on September 28, 2021, 12:41:49 pm
Vibration can be added to things somewhat easily.
I would have thought so too, but apparently although there is some demand for this feature, and although people have made mods for FF8 already, no one has conquered that particular challenge.