Hello, people-things-whatever.
I'm damn glad that this game hasn't been forgotten yet, and there are more people besides me researching it.
I read the topic and I'd like to point out a few things that may have escaped your attention.
First off, the music. Someone (Jake?) said that the music is in MID files, with the two other containing samples and whatnot - well, I gotta disagree. You were right about the midis, but they sure as hell can be replaced with your own - if you don't forget important things such as track count(32 max), meta keys (indicating where it should loop, how many times and such - play around with beta area 5, track #18 with info on to see that it's a bit more than just notes). If you want to edit the music, I highly suggest tweaking an existing file instead of making a new one.
The other two files do not contain samples however - these are in the STG directories. (M05.fpb is only 3KB large, so it couldn't contain the lead, choirs, pads, vox and all) My guess is that the samples might be in :\STG##\S##_CH.STP as it weighs enough for sound and a little too big for any textures or models. Note that STG06 (boss rush) contains no such file, and it has no music playing in the background(only the sound effects playing to the BPM in Underworld's MID which does have a copy numbered 06 in the music directory). Another thing that proves it would be that the STP file is the same in all of the stages which have Cowgirl as the BGM(Somebody could try swapping an STP with a retail/STG05 one. Yes, I'm lazy).
I'd go with a theory that FPB and MPB files are for referencing samples only - inside the MPB is a lot of strings with hex addresses, but it's written in plain ascii so it's for humans to read, not the code. Maybe for debug purposes. It also contains an incrementing number chain ranging from value 00 to 7F near the beginning(lines 4C-E4), but what for - no idea so far.
The FPB contains a string saying "ad_eff.FPD" near the header. I know of no such file on the ROM, so I guess it's inside some archive. The rest of the file is mostly empty bytes, with char(byte) and int(two bytes) values ranging from 01 to FA (FA and AA are quite frequent there) placed in seemingly random order. They might be for swapping tracks per layer(For those who didn't know, that's how the music is played in REZ - by switching MIDI tracks on and off at different layer levels so the sequence plays smoothly and can be jumped at any time - with the exception of Area 5 [track 18 yet again, it has to be played from start]).
Next, I see that there's a nice recreation of the test character mesh, but something tells me that this mesh is used in the final version as one of the enemies because I know I have seen it somewhere before. At first I thought it's the Area 5 common bot, but its tail is a little different. Then I went to Area 1, but then again the closest I found is the one with two pairs of wings. So, if you're ever digging in the models you might try looking for it among the enemy meshes, it might be somewhere.
Going back to the STP file, and the samples - the header of the STP file says STMP. If anyone knows what kind of a file has this kind of a header, I'd be very grateful. The file itself contains nothing that says RIFF or WAVE so if there are any PCMs, they're compressed and/or encrypted. In worst case, some of the sound in the game might be directly synthesized by the console - making it even harder to edit the audio.
Someone above said that the best way to reverse engineer a file would be to compare two examples - I'll add that the best examples you can get to compare are the files from Area 1 from the beta and from retail as the differences are small. Even smaller if you pick the score attack/direct assault layout, as it's based off the beta one.
For the end's sake, one tip for debugging - using nullDC emulator ver. 1.0.0 beta 1.6 won't load any enemies into the game which is very helpful if you need to edit some data on the fly without stopping the game flow. Just keep in mind a lot other things don't work in that version, so just launch the stages with the left-click menu if you don't want an annoying sound buffer glitch bugging you for eternity. With that said, I'm off to dig in the hex trash more, maybe I'll find something tasty.
Update 04.04: I found only three raw PCM headers while digging through the disk image with a hex editor. Looks like most of the stuff is archived, and in a difficult way as well because any traces of common archives (zip, etc.) are absent. I tried messing with some text, will update as soon as I find out if it works the way I did it(using null bytes as extra string space). (edit yet again: it works pretty nicely, strings behave normally just like in PC games)
I'm damn glad that this game hasn't been forgotten yet, and there are more people besides me researching it.
I read the topic and I'd like to point out a few things that may have escaped your attention.
First off, the music. Someone (Jake?) said that the music is in MID files, with the two other containing samples and whatnot - well, I gotta disagree. You were right about the midis, but they sure as hell can be replaced with your own - if you don't forget important things such as track count(32 max), meta keys (indicating where it should loop, how many times and such - play around with beta area 5, track #18 with info on to see that it's a bit more than just notes). If you want to edit the music, I highly suggest tweaking an existing file instead of making a new one.
The other two files do not contain samples however - these are in the STG directories. (M05.fpb is only 3KB large, so it couldn't contain the lead, choirs, pads, vox and all) My guess is that the samples might be in :\STG##\S##_CH.STP as it weighs enough for sound and a little too big for any textures or models. Note that STG06 (boss rush) contains no such file, and it has no music playing in the background(only the sound effects playing to the BPM in Underworld's MID which does have a copy numbered 06 in the music directory). Another thing that proves it would be that the STP file is the same in all of the stages which have Cowgirl as the BGM(Somebody could try swapping an STP with a retail/STG05 one. Yes, I'm lazy).
I'd go with a theory that FPB and MPB files are for referencing samples only - inside the MPB is a lot of strings with hex addresses, but it's written in plain ascii so it's for humans to read, not the code. Maybe for debug purposes. It also contains an incrementing number chain ranging from value 00 to 7F near the beginning(lines 4C-E4), but what for - no idea so far.
The FPB contains a string saying "ad_eff.FPD" near the header. I know of no such file on the ROM, so I guess it's inside some archive. The rest of the file is mostly empty bytes, with char(byte) and int(two bytes) values ranging from 01 to FA (FA and AA are quite frequent there) placed in seemingly random order. They might be for swapping tracks per layer(For those who didn't know, that's how the music is played in REZ - by switching MIDI tracks on and off at different layer levels so the sequence plays smoothly and can be jumped at any time - with the exception of Area 5 [track 18 yet again, it has to be played from start]).
Next, I see that there's a nice recreation of the test character mesh, but something tells me that this mesh is used in the final version as one of the enemies because I know I have seen it somewhere before. At first I thought it's the Area 5 common bot, but its tail is a little different. Then I went to Area 1, but then again the closest I found is the one with two pairs of wings. So, if you're ever digging in the models you might try looking for it among the enemy meshes, it might be somewhere.
Going back to the STP file, and the samples - the header of the STP file says STMP. If anyone knows what kind of a file has this kind of a header, I'd be very grateful. The file itself contains nothing that says RIFF or WAVE so if there are any PCMs, they're compressed and/or encrypted. In worst case, some of the sound in the game might be directly synthesized by the console - making it even harder to edit the audio.
Someone above said that the best way to reverse engineer a file would be to compare two examples - I'll add that the best examples you can get to compare are the files from Area 1 from the beta and from retail as the differences are small. Even smaller if you pick the score attack/direct assault layout, as it's based off the beta one.
For the end's sake, one tip for debugging - using nullDC emulator ver. 1.0.0 beta 1.6 won't load any enemies into the game which is very helpful if you need to edit some data on the fly without stopping the game flow. Just keep in mind a lot other things don't work in that version, so just launch the stages with the left-click menu if you don't want an annoying sound buffer glitch bugging you for eternity. With that said, I'm off to dig in the hex trash more, maybe I'll find something tasty.
Update 04.04: I found only three raw PCM headers while digging through the disk image with a hex editor. Looks like most of the stuff is archived, and in a difficult way as well because any traces of common archives (zip, etc.) are absent. I tried messing with some text, will update as soon as I find out if it works the way I did it(using null bytes as extra string space). (edit yet again: it works pretty nicely, strings behave normally just like in PC games)
This post has been edited by ccat: 03 April 2010 - 08:58 PM


00
