I Finally figured out what was causing my issues in the gedo and Justice stories. Early on, I found the pointer to the intro text in one of the files. I don’t even remember which one. But, the pointer for it is in a different location than the rest of the story text. I just assumed it was in the same place in every file, but I guess that’s only true for half of them. I never really needed to update this value, but it was included in my inserter just for consistency. I removed this logic, and now every story works just fine
With that done, I can really focus on the endings now. I’ll start with the bad endings first.
I found a cool little program that is a hex editor and a diff tool combined, so it’s easy to manually edit a file now and compare it to the original. In fact, it’s how I discovered the flaw in my inverter. It should prove helpful here as I can just change values as I please and see what the effects are. The tool is called VBinDiff, and it’s awesome. I’ve also read that hacking save states is pretty nice when working with psx, since the files are just loaded into the RAM and that data is stored in the save state. Could be easier for experimental stuff, and it doesn’t require patching the CD files to test it quickly.
As for how the endings work, each string starts with a two byte code telling it which audio files to play, they must be loaded into an array or something, because it’s just a 1 based position number. Each byte of the two bytes counts as an index, so it’s possible to play up to 2 audio clips per string. This audio command then ends with a 0x3C byte or a 0x02 byte. The 0x3C is used for the first command, at the start of that whole ending while every other string in the ending uses the 0x02 code. Additionally, each string in the ending ends with a 0x01 code, unless it’s the final string in the ending. For that case, it ends in the regular 0x00 code.
| Process | Progress |
|---|---|
| Translation | 20% |
| Proof reading | 0% |
| Insertion | 10% |
| Testing | 0% |

Comments
Post a Comment