Users browsing this thread: 1 Guest(s)
Steamworld Quest .dds.z files
#1
Heyo. I see someone already ripped a bunch of the Steamworld Quest portrait sprites. I'd love to try ripping the enemy spriters, as they are gorgeous, but I can't figure out how to do it.

They are stored in a bundle/atlases/encountercharacters.dds.z file, I think? Except none of my normal dds programs seem to work with them.

I was wondering if anyone had any idea how to open 'em?
Reply
Thanked by:
#2
Hi there, I'm the one that uploaded the portraits Big Grin

Most of SteamWorld Quest's graphics (and some of the other files such as the dialogue documents and sounds) are compressed into encrypted .z archive files, which is why your dds program couldn't open it. Normally .z archives can be opened with something like PeaZip, but since they're encrypted no unzipping program as far as I'm aware can open them. Luckily QuickBMS can!

Download QuickBMS (found here: http://aluigi.altervista.org/quickbms.htm)

You'll need a script for QuickBMS to read the files. Copy this script and paste it into a plain .txt file (Note that I didn't write this script myself, I found it on a Czech gaming forum a while ago)

Code:
# Game: SteamWorld Dig *
# File unpacker
# Script for QuickBMS http://aluigi.org/papers.htm#quickbms

comtype zlib
get NAME basename
get ZSIZE asize
math ZSIZE - 4
get SIZE long
clog NAME 4 ZSIZE SIZE

(Ignore that it says SteamWorld Dig, it works with all the SteamWorld games) Run quickbms.exe, and it will prompt you to open the script you need. Select the txt file containing the script. Then QuickBMS will prompt you to select the archive you want to open—select the .z file you want to open. You can select multiple files at once to open—and I recommend that you do this because all of the enemies are stored in separate .z files and doing them one at a time would take a while (You can tell which files contain enemies by checking the file names—all the files with enemies have "monster" in the file names)

Select your output folder and QuickBMS will dump them there in DDS format and you can do whatever you want from there!

Fair warning, however, if you plan to spritesheet the enemies, Quest uses skeletal animation, which means that all the body parts are separated (See the attached file for an example) and sorting the parts to put them in a sheet could be a pain (unless you're up for it lol). I wasn't originally planning to sheet anything else after I finished the UI (not yet at least, I'm uh... kinda scared to tackle them XD) but if you're going to sheet them I'll try to sheet some of them too.

Let me know if you have any issues! Also, if you're interested in ripping .z files from other SteamWorld games, this method will work for them too.

Attached file:    
Reply
Thanked by: Dazz, Simpsons Dumper
#3
Wishing you both the best of luck - I'm quite a fan of Steamworld, would love to see more on the site!
Tsunami Bomb - The Simple Truth
We could run away
Leave behind anything paper
Not knowing where we're going to stay
When there's no Mondays

You're part of me, it's so easy to see the simple truth
When I'm in your arms, I feel safe from harm and sorrow too
You're part of me, it's so easy to see the simple truth
But most of all, nothing couldn't be solved when I'm with you
Reply
Thanked by: Sei Bellissima
#4
Hey, maybe they aren't going to be as hard to organize as I thought!

[Image: Capture.png]
So that "atlases.map" file has info that could help with organizing, but I'd still have to go into the image, find the x,y coordinates that the file listed and then carefully make a selection around the sprite and make sure it was the right size in the process. Very very tedious.

I just discovered ImageMagick yesterday and its "extract" command is a lifesaver! I'll have to write a bunch of cmd scripts now but this is definitely much easier than what I did before.

(I can definitely share these scripts but as of right now they're written for my specific folder layouts and whoever uses them will have to go into the script and change all the file locations... That's the problem with cmd commands. Unless there's a workaround for that—if there is, I don't know it; I'm still a newb when it comes to this.)
Reply
Thanked by:


Forum Jump: