Difference between revisions of "User:Viader"

From VCMI Project Wiki
Jump to: navigation, search
Line 1: Line 1:
 
Format .LOD
 
Format .LOD
  
<nowiki>struct h3lod {
+
<pre>struct h3lod {
 
uint32_t magic; // always 0x00444f4c, that is, a null-terminated "LOD" string
 
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 type; // 200 for base archives, 500 for expansion pack archives, probably completely arbitrary numbers
Line 15: Line 15:
 
uint32_t type; // what's in the file - probably not used by the game directly, more on that below
 
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  
 
uint32_t size_compressed; // how many bytes to read, starting from offset - can be zero for stored files, use size_original in such case  
}</nowiki>
+
}</pre>
  
  
 
Source:
 
Source:
 
http://wiki.enleth.com/homm:homm3-lod-archives
 
http://wiki.enleth.com/homm:homm3-lod-archives

Revision as of 12:17, 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 
}


Source: http://wiki.enleth.com/homm:homm3-lod-archives