Hexen USF by ajstahl at 4:34 AM EST on March 6, 2007
I'm new to USF ripping. My main goal is to rip the music from Hexen. I've been following hcs's FAQ guide on ripping. When analyzing the save state, there is no name alSeqpSetSeq in the names list. In fact, none of the names have "seq" in them. Does this mean Hexen uses some wierd way of storing the music that is incompatible with USF?
In theory nothing is incompatible with USF, it is a complete enough representation of N64 programs to store anything (unlike, say, SPC which is a limited save state, or NSF that has a specific procedure for audio generation required). That said, 64th Note is not All Powerful, nor are the ripping tools.
Well, the game does have a sound test feature in the main menu where you can select a song number and play it. The songs are numbered 1 to 37. Would a good way to start be to find other functions that look like they do something with audio and fool around with the sound test?
Yes, using the sound test (and editing a savestate from the soundtest, of course) would be an excellent place to start. I would suggest that you play a song, save the state, play another song (different one, of course), then save a different savestate. Check them in IDA, and look for differences. That's a start, at least. But yes, using the soundtest, and fiddling with stuff that looks like it might be audio is a good way to start. Obviously, you're likely to break something in this process. Keep backups, and consider it a learning experience. Hope that helps a little. Mouser X out.
OK I did the two savestates. I searched for all occurences of the song numbers in two different savestates and recorded the offsets. Then I looked for identical offsets between the two. It always found 1-4 places which were always random.
With a game that uses a custom audio engine like Hexen, is it still common to have a function that accepts the song number as a parameter?