Jump to content
  • Advertisement
Sign in to follow this  
Xavier Arias Botargues

Unity Extract assets from an old windows (1998) game

This topic is 613 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

    Hi everyone,

as a hobby project, I decided I want to remake Liberation Day (

), the second part of Fallen Haven (1st one seems to be more known).

My main idea is to reuse all assets, so I only have to work on code-related tasks; at least for now.

The game installer is installing DX5 and a very old version of DAO (3.5), so I'm assuming those are the main dependencies.

I've been expecting a game like this to work through color palettes and 1-byte per color textures; especially since the game looks ok when ran at 256 color compatibility mode.

In any case, I'm struggling to extract any assets from the game, I’ve tried to use Ninja Ripper, to extract used textures at runtime, but I’m unable to view the extracted textures through any viewer.

I abandoned that approach and tried to open files from the disk and interpret them like textures, I’ve mainly been trying to interpret them as black and white 8bit textures, but here I have to guess, not only bit depth, but the texture width, height, so rows are correctly aligned.

Game files that I’ve seen so far have the following extensions

  1. SMK, Inside a folder called INTERF, it seems to be the interface assets.
  2. DBI, inside a folder called IMGS. It should be in-game assets, like roads, buildings...
  3. MDB, inside multiple folders. Seems to be DAO files, but cannot be sure.

That on it's own didn't gave any results, but had me code a tool on Unity to interpret a file like a texture and paint it on screen; if I later manage to get the assets right, they may be interpreted with this tool (as they will use palettes).

Let me know if you're interested on the tool, I can upload it to github.

I’ve found 2 files that look like palettes, but need to be correctly read to be used as such (PAL.BMP and PALCYCLE.PAL).

After writing all this, I now realized that assets could be, not only packed, but compressed, and using palettes, a combination that may explain why i’m unable to see anything from this files at all. I also can take another look at files from ninja riper through the tool.

So my main question here if there's any tools that can aid me at what I'm doing, any guesses from your side that may help me get to the right path?

Thanks and sorry for the long post!

Share this post

Link to post
Share on other sites

It's worth looking at the Xentax forums if you haven't already as they have a good list of tools and expertise in reverse engineering formats. I started there when I worked on extracting the assets from Gladius.  No harm in putting your code on github to look at.

Share this post

Link to post
Share on other sites

@Norman Barrows, thanks to your message I've been able to open the SMK files and reproduce them as a video with MPLite

Image of the interface reproducing as a video https://ibb.co/f0ULqa

@conquestorbugged, I've been able to play liberation day on windows 10, can't tell if that will work for Fallen Haven. I'll PM you with my findings :) Have you made any progress on extracting any assets?

I haven't said so on my first post, but I'm going to make the game open source and post it on github, in order to accept help and colaboration from any source. Anyone interested on it? So far there are 0 lines of code  :D

Share this post

Link to post
Share on other sites

Just wanted to update you guys on my progress.

I have been working on a extractor tool for Liberation Day's files.

So far I've managed to export SMK (using FFmpeg as library) and MDB files (connecting to them through OleDbConnections).

If anyone is interested, I've pushed the code on github.

I still have 2 main challenges: DBI files and a big FF file. After this, I'll only need to code the game  :lol:

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!