Difference between revisions of "User:Viader"
(Created page with "Próba generalna - moja wikipedia!!!!") |
|||
Line 1: | Line 1: | ||
− | + | Format .LOD | |
+ | |||
+ | struct h3lod { | ||
+ | uint32_t magic; // always 0x00444f4c, that is, a null-terminated "LOD" string | ||
+ | uint32_t type; // 200 for base archives, 500 for expansion pack archives, probably completely arbitrary numbers | ||
+ | uint32_t files_count; // obvious | ||
+ | uint8_t unknown[80]; // 80 bytes of hell knows what - in most cases that's all zeros, but in H3sprite.lod there's a bunch of seemingly irrelevant numbers here, any information is welcome | ||
+ | struct h3lod_file[10000]; // file list | ||
+ | } | ||
+ | |||
+ | struct h3lod_file { | ||
+ | char name[16]; // null-terminated, sometimes null-padded too, sometimes padded with, well, something after the null | ||
+ | uint32_t offset; // includes the header size, no preprocessing required | ||
+ | uint32_t size_original; // before compression, that is | ||
+ | uint32_t type; // what's in the file - probably not used by the game directly, more on that below | ||
+ | uint32_t size_compressed; // how many bytes to read, starting from offset - can be zero for stored files, use size_original in such case | ||
+ | } | ||
+ | |||
+ | Source: | ||
+ | http://wiki.enleth.com/homm:homm3-lod-archives |
Revision as of 12:14, 21 July 2013
Format .LOD
struct h3lod { uint32_t magic; // always 0x00444f4c, that is, a null-terminated "LOD" string uint32_t type; // 200 for base archives, 500 for expansion pack archives, probably completely arbitrary numbers uint32_t files_count; // obvious uint8_t unknown[80]; // 80 bytes of hell knows what - in most cases that's all zeros, but in H3sprite.lod there's a bunch of seemingly irrelevant numbers here, any information is welcome struct h3lod_file[10000]; // file list }
struct h3lod_file { char name[16]; // null-terminated, sometimes null-padded too, sometimes padded with, well, something after the null uint32_t offset; // includes the header size, no preprocessing required uint32_t size_original; // before compression, that is uint32_t type; // what's in the file - probably not used by the game directly, more on that below uint32_t size_compressed; // how many bytes to read, starting from offset - can be zero for stored files, use size_original in such case }