The Forum is up for sale: XeNTaX Forum looking for new owner

Dungeon Keeper 2 Texture Extractor

Got a comment, question or silly remark that doesn't fit any of the other MultiEx fora? This is the place to post 'em.
Post Reply
Rheini
Moderator
Posts: 652
Joined: Wed Oct 18, 2006 9:48 pm
Location: Germany
Has thanked: 19 times
Been thanked: 46 times
Contact:

Dungeon Keeper 2 Texture Extractor

Post by Rheini »

This tool extracts all of the textures out of EngineTextures.dat.
Put it into the same directory als EngineTextures.dir and run it, that's all.
I didn't include much error handling, so there might occur some problems, but it works fine on my machine.

Doesn't work on Win9x!
You do not have the required permissions to view the files attached to this post.
IKSLM
ultra-n00b
Posts: 1
Joined: Sat Apr 14, 2007 12:17 pm

Re: Dungeon Keeper 2 Texture Extractor

Post by IKSLM »

i know this is rather old but anyway. do you know how can i open/edit this textures since they seem to be in an unknown file format?

thnx!
Rheini
Moderator
Posts: 652
Joined: Wed Oct 18, 2006 9:48 pm
Location: Germany
Has thanked: 19 times
Been thanked: 46 times
Contact:

Re: Dungeon Keeper 2 Texture Extractor

Post by Rheini »

They are compressed with an unknown compression algorithm.
I already reversed a decompression routine used in DK2's archive files -> viewtopic.php?f=21&t=2855
But this seems to be yet another technique.
There's a topic about that in the graphics section: viewtopic.php?f=18&t=2580
Mr.Mouse
Site Admin
Posts: 4073
Joined: Wed Jan 15, 2003 6:45 pm
Location: Dungeons of Doom
Has thanked: 450 times
Been thanked: 680 times
Contact:

Re: Dungeon Keeper 2 Texture Extractor

Post by Mr.Mouse »

Code: Select all

#Dungeon Keeper 2 .WAD
#MultiEx Commander MexScript
#Use in Script Window
IDString 0 "DWFB" ;
Set D Long 72 ;
GoTo D 0 ;
Get FileNum Long 0 ;
Get StringStart Long 0 ;
Get U1 Long 0 ;
Get U2 Long 0 ;
For T = 1 To FileNum ;
Get U3 Long 0 ;
Get FNO Long 0 ;
Get FNS Long 0 ;
SavePos S 0 ;
GoTo FNO 0 ;
GetDString FName FNS 0 ;
GoTo S 0 ;
Get FO Long 0 ;
Get FS Long 0 ;
SavePos S 0 ;
Math S += 20 ;
GoTo S 0 ;
Log FName FO FS 0 0 ;
Next T ;
Post Reply