Hack the jingle bell from Animal Crossing 2SF

Started by tepples, March 03, 2011, 06:16:06 PM

Previous topic - Next topic


I have a USF rip of Doubutsu no Mori. There are 24 outdoor music tracks, one for each hour of the day, and each has a slight variation depending on whether the weather is snowy. The rip has 48 miniusf files for outdoor music, 24 normal and 24 snowy.

The successor to DnM on the Nintendo DS is Animal Crossing: Wild World, also called Oideyo Doubutsu no Mori. Its soundtrack is different from that of DnM (but identical to that of the Wii game in the series). I have downloaded a mini2sf and 2sflib set of ACWW, but it appears to be an automatic rip, with hexadecimal numbers instead of descriptive filenames on the mini2sf. It doesn't have separate mini2sf files for the weather variations, so some instruments heard only during snowy weather are heard on top of the normal music when I play the tracks in Winamp. I tried silencing individual hardware voices in the Winamp input plugin for 2SF, but when I found the right channel to silence, other (desirable) things got silenced too. I listened to it one channel at a time, and I heard the same telltale signs of dynamic voice allocation that I had heard when I analyzed the SPC set of Zoop.

So I thought I'd go in the 2sflib and silence out the unwanted sample. As I understand it, it would involve the following steps:

1. Unpack the 2sflib
2. Decode all ADPCM samples
3. Silence the one corresponding to the "jingle bell" instrument, either by changing its length to the minimum or by overwriting with zeroes
4. Repack the 2sflib and recalculate its CRC
5. Play the mini2sf files in Winamp to confirm success
6. Play them again through the Disk Writer output plug-in included with Winamp
7. Encode to ogg or m4a for playback on device

I have never ripped a 2SF before. The closest I've ever come is having made NSFs of original music and having programmed and composed the music for a GBA game that someone else ripped to GSF. (Lockjaw: The Overdose, available from Z-something.net.) What tools are recommended to change a 2SF? Or am I thinking about it entirely the wrong way? Is there a different forum specializing in 2SF and other PSF variants?