Etherlords (solved textures)

All questions and discussions about file format analysis are welcome in this forum.

Moderators: Alhexx, mirex

Etherlords (solved textures)

Postby mirex » Sat Oct 15, 2005 14:55

Hi, does anyone know something about Etherlords game data ? I was trying to rip it apart because there is some very nice 3D graphics. So far I was able only to get the textures (probably all of them), but I still cannot get the 3D models and animations.

I'd appreciate any help.

for example screenshots see here: http://www.clubic.com/shot-jeux-video-5 ... lords.html
http://img.clubic.com/photo/00005193.jpg
http://img.clubic.com/photo/00005194.jpg
Last edited by mirex on Sat May 13, 2006 8:55, edited 1 time in total.
User avatar
mirex
Administrator
Administrator
 
Posts: 119
Joined: Sat Oct 15, 2005 11:20
Location: SVK

Postby mirex » Sun Oct 23, 2005 11:54

Description of the MMP textures found inside:

Header of the file looks like this, its 0x4C = 76 bytes long :
Code: Select all
struct s_mmpHeader {
   char         ident[4];
   unsigned long   sizex, sizey, mips_count, type, unknown[14];
} ;


ident in the header is = "MMP\0" ( MMP + zero byte ).
Pixel data are in form of mipmaps, first there is normal image, and it is followed by downsampled images, each has its sizex and sizey divided by 2.

Pixel data depend on value of variable TYPE.

If TYPE = 0x8888 then there are 4*SIZEX*SIZEY bytes of pixels, each pixel is 4bytes of BGRA
If TYPE = 0x5650 then there are 2*SIZEX*SIZEY bytes of pixels, each pixel is 2bytes of BGR565 (5 bits for Blue, 6 bits for Green, 5 bits for Red)
If TYPE = 0x5551 then there are 2*SIZEX*SIZEY bytes of pixels, each pixel is 2bytes of BGRA5551 (5 bits for Blue, 5 bits for Green, 5 bits for Red, 1 bit for Alpha)
If TYPE = 0x4444 then there are 2*SIZEX*SIZEY bytes of pixels, each pixel is 2bytes of BGRA4444 (4 bits for Blue, 4 bits for Green, 4 bits for Red, 4 bit for Alpha)
if TYPE = DXT? then pixel data are using DDS Direct X compression, compression version is depending on the TYPE variable. The data in file are stored here without the DDS header.

So this is enough to read all the MMP image files. cheers :)
User avatar
mirex
Administrator
Administrator
 
Posts: 119
Joined: Sat Oct 15, 2005 11:20
Location: SVK


Return to File Format Analysis

Who is online

Users browsing this forum: No registered users and 1 guest

cron