Overview
Play all of Castle Crashers’ music in your favorite audio player straight from the game files!No more YouTube links or bad quality!
General Information
All of the in-game music for Castle Crashers is encoded using Xbox Native Audio, a codec created for and used by the Xbox; it’s really just a RIFF container for .WMA (Windows Media Audio), except allowing higher bitrates and more audio channels. Xbox Native Audio files use the file extensions .XMA and .XWM. Some audio players like VLC can play some .XMA/.XWM files out of the box, though not very well.
Xbox Native Audio is used by both the Xbox, and by direct association (the Xbox uses it, after all), DirectX. DirectX runs on both Windows and Xbox consoles natively; Xbox Native Audio is present in a lot of different products because of this, including Castle Crashers. The Xbox Native Audio codec gives a higher compression ratio than most ADPCM audio formats while retaining a higher quality, so it’s well-liked by many Xbox/DirectX developers.
.XMA/.XWM files can be decoded by the tool xwmaencode.exe included with the DirectX SDK (as early as 2009, I think, though it may have existed beforehand). This tool can also encode (if it isn’t obvious by the filename) to .XMA/.XWM.
Simpler terms, please?
Basically, you can’t play Xbox Native Audio files in any music players like they’re supposed to be heard (please let me know if there are music players/plugins for them that can intentionally handle .XMA/.XWM files), so those of you that want to jam to Castle Crashers tunes 24/7 are left out in the dust.
…Unless you convert them to another format first.
This is where the purpose of this guide comes in: Converting the .XMA files to a more common format, .WAV.
Decoding Instructions and Tool Download
Thanks to the mentioned tool xwmaencode.exe, it’s possible to decode all of the music used in Castle Crashers. I have created a small batch script, decode.cmd, that automatically iterates over all of the files in your Castle Crashers’ music folder, sends them to xwmaencode.exe for decoding, and then saves the results in .WAV format in a new folder called music_decoded.
Obviously, this solution is only for Windows operating systems only. Let me know if you have any other problems.
Download xwmaencode.exe and decode.cmd in a .ZIP archive from the links below:
Extract and place the contents of the archive in your CastleCrashers/data folder
Example location:
Double-click decode.cmd, or right click it and select “Open” from the context menu, to open and run the batch script file. It will convert all of the music to .WAV for you.
Don’t close the window or press any key combinations, or you might stop the conversion early! Just let it finish.
Congratz, you now have all of Castle Crashers’ music at your disposal, ready to play!