Unpacking Saints of Virtue

For better or worse, I’m probably one of the handful of people out there who takes any interest in Saints of Virtue. But hey, sometimes things just strike a chord. No need to repeat any of it – if by some miracle you’re interested in this, then you don’t need much background. This blog post is a short tutorial on how to open up the game’s .WRS files and get at all of the assets – graphics, music, code, sound effects, you name it.

.WRS files are packaged, encrypted assets from Conitec’s 3D Gamestudio engine, which Saints uses a very old version of (A3, to be exact). What’s funny is that I used to make games in the A5 version of this engine as a kid, so imagine my surprise when my younger self recognized the bootscreen and filetypes Saints used. From that moment I started trying to hack my way in to get at the music and sounds, but no luck. There was some utility I can’t remember – had Bread in the name – that was supposed to support .WRS files but it didn’t work for these. I gave up, and for years I forgot about it.

Imagine my surprise when I did a random Google search on a whim and came up with this thread, detailing a working way to extract the game’s assets. So here we go, what you’ll need:

  • A copy of the Saints of Virtue CD-ROM, or the downloadable version.
  • QuickBMS. Latest version here, backup of 0.5.21 here, just in case.
  • Extract script.

It’s pretty simple. The specific steps:

  • Run quickbms.exe.
  • Select the saints_of_virtue_script.txt file you downloaded.
  • Select your desired .WRS file.
  • Select a folder to output to.
  • And we’re done! QuickBMS will dump all the .PCX, .WAV, and .WDL files to your specified folder for your perusal.

As an extra Saints note, what few people talk about this game online often complain about how you jump so high you hit the ceiling. Or, if they play far enough, they might notice that the Sword Blaster fires cripplingly slow, even with the Rapid-Fire upgrade. Both of these issues are due to the uncapped framerate screwing up the game logic. Use the FRAPS 30FPS locking technique I described in my previous Streets post to fix these problems and enjoy Saints as it was intended to be played.

See also