I did take care to ensure that, for the voiced cutscenes, none of the retranslated lines exceeded their respective original ones in length, since each "box" was linked to a spoken line of dialogue.
That in itself provided a nice challenge, and I really had to twist some lines there to make the whole thing fit while still making sense (the infamous "I hid myself" line is a prime example of that).
Oh, I haven't mentioned it, but I did notice it when I was working with it. It couldn't have been a coincidence. The cutscene script was the first thing I edited in (and, for awhile, the only thing I intended to edit, considering most in-stage dialogues was just Alia). It helped a lot to speed up the process. So, thanks again!
Since I have seen some changes applied to the stages in this hack (For example the blind jump in Amazon Area), I would like to know how the stage graphics and collisions where extracted/modified and if I could possibly do some changes myself. I'm not asking anybody to do the changes for me. I'm just looking for information on how you made the changes to the stage and maybe attempt to do it myself... I apologize if this question was already asked.
Hey Phil, nice to have you around here! I owe you some gratitud too, thanks for Mega Man Unlimited! Loved it!
The thing about stage editing is, while I have a good idea about the location of the map data, how to read it and modify it based on existing tiles... I didn't write any tools to make the process easier (despite this whole hack's effort, I know very little actual coding). My process was very rudimentary. If you want to replicate it, you would need some experience debugging PS1 games.
The overall process was:
- While playing, I located the map layout data of the specific screens I wanted to modify in RAM (even though we know which file contains the map layout of each given stage, it was easier and faster to locate an specific screen in RAM rather than trying to make sense of the entire map layout file from outside the game).
- Extract the chunk of RAM with the data of that specific screen data.
- Paste it anywhere you can work on it as a table, which makes it very easy to visualize. 1 halfword = 1 tile of the layout, and each halfword (2 bytes) is the "ID" of an existing tile definition. You can see the shape of the map screen when looking at the table. I simply used Excel. By trial and error, I identified the tiles I wanted to use, sometimes taking samples from somewhere else on the stage.
- Then I made modifications in RAM and tested it live until I got the results I wanted.
So as you can see, the actual modification is pretty easy. The challenge is finding the right chunk of data. I covered that process very broadly on the project's documentation (it's up on the site, link on the first post).
Then there's the entities position table (enemies/items). I only ever modified one of these (the portal for Metal Shark Player's Hidden Stage). Unfortunately I did a very poor job at documenting it, but I remember how I got there, I would be able to locate those tables again if needed.
After that, you'd still have to deal with the process of either rebuilding the whole disc or injecting the modified data (which, since it's a disc based game, has some challenges).
If you already know your way on debugging PS1 games, the notes on my workbook should be enough to get you started. Trying to locate the screens I already documented would be a good place to start. If you get into this, let me know whenever you get stuck. Good luck!
Btw, as usual, the actual credits for this knowledge is DarkSamus933. He figured ou the map layout files and entity tables on X4 way before I even started working on X6, and shared everything with me. He later made the first stage modification for X6, the block on Secret Lab 2-2, and I used his process as a basis for everything I did after. I merely found my own way to get there.