In my previous post I mentioned OASE and the things I would like to improve. One of the big things that was missing is audio, radio stations to be specific. Vice City just doesn’t feel the same without those 80’s songs blasting from the radio.

So I decided to start the new year with some good vibes by adding MP3 playback to my engine. I am using NAudio to create PCM streams together with NLayer to parse MP3 data.

Boom we have sound!

But there was a little bump on the road, Vice City doesn’t use MP3s for the radio stations instead it’s using ADF, which isn’t a known file format. Luckily the smart folks at already figured out that the files are just ordinary MP3’s but “encoded” by XORing all bytes with 0x22. So after 3 lines of code to XOR the data.

Billie jean is not my lover.