![]() Mat4.rotateX(placementMatrix, placementMatrix, glMatrix.toRadian(90)) Var posz = 32 * TILESIZE - mddf.position Var posx = 32 * TILESIZE - mddf.position Math is the same as for MODF, only with scale being added. How to compute a matrix to map M2 to world coordinates.*0x22*/ uint16_t flags // values from enum MDDFFlags. *0x20*/ uint16_t scale // 1024 is the default size equaling 1.0f. ![]() This is not the same coordinate system orientation like the ADT itself! (see history.) You'll then likely have to negate one of the non vertical values in whatever // coordinate system you're using to finally move it into place. Subtract 17066 from the non vertical values and you should start to see // something that makes sense. *0x08*/ C3Vector ⁱ position // This is relative to a corner of the map. Blizzard has // these unique for the whole game. *0x04*/ uint32_t uniqueId // this ID should be unique for all ADTs currently loaded. if flag mddf_entry_is_filedata_id is set, a file data id instead, ignoring MMID. *0x00*/ uint32_t nameId // references an entry in the MMID chunk, specifying the model to use. Mddf_entry_is_filedata_id = 0x40, // Legion+ ᵘ nameId is a file data id to directly load SMDoodadDef::Flag_liquidKnown = 0x20, // Legion+ ᵘ Mddf_shrubbery = 2, // the actual meaning of these is unknown to me. Mddf_biodome = 1, // this sets internal flags to | 0x800 (WDOODADDEF.var0xC). Additional to this, the models to render are referenced in each MCRF chunk. Placement information for doodads ( M2 models).These entries are getting referenced in the MODF chunk. Uint32_t offsets // filename starting position in MWMO chunk. List of offsets of WMO filenames in the MWMO chunk.List of filenames for WMOs (world map objects) that appear in this map tile.Ĭhar filenames // zero-terminated strings with complete paths to models.These entries are getting referenced in the MDDF chunk. Uint32_t offsets // filename starting position in MMDX chunk. List of offsets of model filenames in the MMDX chunk.List of filenames for M2 models that appear in this map tile.Ĭhar filenames // zero-terminated strings with complete paths to models.*0x00*/ uint32_t file_data_id // _h.blp 0 if there is none Uint8_t mamp_value // Cata+, explicit MAMP chunk overrides data Uint32_t mfbo // MFBO* this is only set if flags & mhdr_MFBO. probably all offsets gone, except mh2o(which remains in root file). Uint32_t mcin // MCIN*, Cata+: obviously gone. Mhdr_northrend = 2, // is set for some northrend ones. WoW only takes this for parsing the ADT file. Contains offsets relative to &MHDR.data in the file for specific chunks.I've written a short guide on how to implement _lod.adt ADTLodImplementation Zee MVER chunk They are used for increased draw distance, this time including low quality versions of liquids and geometry as well (in the end, root lod bands). The main difference content-wise is MCIN being gone, and MCNK in tex and obj files not having the header it has in root files.Īdded _lod.adt (lod) files as another type. Note that _tex1.adt files are now longer loaded since the introduction of WDT's MAID. While the distribution schema appears to be quite fixed, the client does not keep the semantics of which file is which and parses them all the same. To load a map, the client loads a set of three and treats them as one. adt (root), _tex%d.adt (tex) and _obj%d.adt (obj) with %d being the level of detail (0 or 1). ![]() īeginning with Cataclysm, ADTs are split into multiple files. DB/UIMapAssignment wins with defaulting to -10000000. DB/DungeonMapChunk seems to use -10000 for lower default. DB/ZoneLight appears to be using -6400 as the default if designers didn't put anything. If you don't use MFBO, there are some database files like DB/ZoneLight or world map related ones that also take height into account and may not be using floats depending on game version. The Z (height) limit is only implicit by stuff breaking slowly, like MFBO which is limited by using signed shorts, i.e. The previous section details on X and Y limits only.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |