*0x30*/ uint32_t runTimeData // This data is explicitly nulled upon loading. *0x24*/ uint32_t texture_3 // offset into MOTX according to CMapObjDef::GetGroundType *0x18*/ uint32_t texture_2 // offset into MOTX *0x14*/ CImVector ⁱ frameSidnColor // sidn emissive color set at runtime gets sidn-manipulated emissive color see below (emissive color) *0x10*/ CImVector ⁱ sidnColor // emissive color see below (emissive color) *0x0C*/ uint32_t texture_1 // offset into MOTX ≥ (8.6) No longer references MOTX but is a filedata id directly. *0x08*/ uint32_t blendMode // Blending: see EGxBlend *0x04*/ uint32_t shader // Index into CMapObj::s_wmoShaderMetaData. *0x00*/ uint32_t F_CLAMP_T : 1 // tex clamp T (force this material's textures to use clamp t addressing) *0x00*/ uint32_t F_CLAMP_S : 1 // tex clamp S (force this material's textures to use clamp s addressing) *0x00*/ uint32_t F_WINDOW : 1 // lighting related (flag checked in CMapObj::UpdateSceneMaterials)
*0x00*/ uint32_t F_SIDN : 1 // (bright at night, unshaded) (used on windows and lamps in Stormwind, for example) (see emissive color) *0x00*/ uint32_t F_EXTLIGHT : 1 // darkened, the intern face of windows are flagged 0x08 *0x00*/ uint32_t F_UNFOGGED : 1 // disable fog shading (rarely used) *0x00*/ uint32_t F_UNLIT : 1 // disable lighting logic in shader (but can still use vertex colors)
Materials used in this map object, 64 bytes per texture ( BLP file).To check if texture references in MOMT are file data ids, simply check if MOTX exist in file As of that version, there is a fallback mode though and some files still use MOTX for sake of avoiding re-export. The texture references in MOMT are file data ids directly. Starting with 8.1, MOTX is no longer used. This section only applies to versions ≥ (8.6). Usually maxLodLevel = -1 but with this flag, numLod. For wotlk+ rendering, it alters the behavior of the said function instead. Alternatively, for the wotlk version of it, the function can be called with MOCV.a being set to 64, whjch will produce the same effect for easier implementation. *03Ch*/ uint16_t flag_do_not_fix_vertex_color_alpha: 1 // In 3.3.5.a (and probably before) it prevents CMapObjGroup::FixColorVertexAlpha function to be executed. *03Ch*/ uint16_t flag_use_liquid_type_dbc_id : 1 // use real liquid type ID from DBCs instead of local one. *03Ch*/ uint16_t flag_use_unified_render_path : 1 // In 3.3.5a this flag switches between classic render path (MOHD color is baked into MOCV values, all three batch types have their own rendering logic) and unified (MOHD color is added to lighting at runtime, int. *03Ch*/ uint16_t flag_do_not_attenuate_vertices_based_on_distance_to_portal : 1 *024h*/ CAaBox ⁱ bounding_box // in the alpha, this bounding box was computed upon loading *01Ch*/ CArgb ⁱ ambColor // Color settings for base (ambient) color. *00Ch*/ uint32_t nLights // Blizzard seems to add one to the MOLT entry count when there are MOLP chunks in the groups (and maybe for MOLS too?) ᵘ There has been no other additional data, rather than just everything being wrapped. Rather than all chunks being top level, they have been wrapped in MOMO. This section only applies to versions ≤ (0.). Only used in v14. There never have been any additional versions after the alpha, even though the format changed a lot.
3.16.1 how to determine LiquidTypeRec to use.2.4.7 void CMapObj::CreateMaterial (unsigned int materialId).