public Chunk_MODF(ADTFile file) : base(file, "MODF", Magic) { int entryCount = (int)ChunkSize / 64; entries = new MODFEntry[entryCount]; for (int i = 0; i < entryCount; i++) { MODFEntry entry = new MODFEntry(); entry.entry = file.readUInt32(); entry.uniqueID = file.readUInt32(); float x = Constants.WOW_ADT_MAP_MAX - file.readFloat(); float z = file.readFloat() - Constants.WOW_ADT_MAP_MAX; entry.position = new Position(z, file.readFloat(), x); entry.rotation = Position.Read(file); entry.lowerBound = Position.Read(file); entry.upperBound = Position.Read(file); entry.flags = file.readUInt16(); entry.doodadSet = file.readUInt16(); entry.nameSet = file.readUInt16(); entry.unk = file.readUInt16(); entries[i] = entry; } LogWrite("Loaded " + entryCount + " WMO spawns"); }
public Chunk_MCLY(ADTFile file) : base(file, "MCLY", Magic) { int nLayers = (int)ChunkSize / 16; layers = new MCLYLayer[nLayers]; for (int i = 0; i < nLayers; i++) layers[i] = new MCLYLayer(file.readUInt32(), file.readUInt32(), file.readUInt32(), file.readUInt32()); }
public Chunk_MCLY(ADTFile file) : base(file, "MCLY", Magic) { int nLayers = (int)ChunkSize / 16; layers = new MCLYLayer[nLayers]; for (int i = 0; i < nLayers; i++) { layers[i] = new MCLYLayer(file.readUInt32(), file.readUInt32(), file.readUInt32(), file.readUInt32()); } }
public Chunk_MMID(ADTFile file) : base(file, "MMID", Magic) { int offsetCount = (int)ChunkSize / 4; offsets = new UInt32[offsetCount]; for (int i = 0; i < offsetCount; i++) offsets[i] = file.readUInt32(); }
public Chunk_MVER(ADTFile file) : base(file, "MVER", Magic) { Version = file.readUInt32(); // Ensure we have a v18 ADT chunk. if (Version != 18) throw new ADTException("Unsupported ADT version: " + Version); }
public Chunk_MCRW(ADTFile file) : base(file, "MCRW", Magic) { int nEntry = (int)ChunkSize / 4; entries = new UInt32[nEntry]; for (int i = 0; i < nEntry; i++) entries[i] = file.readUInt32(); }
public Chunk_MDDF(ADTFile file) : base(file, "MDDF", Magic) { int entryCount = (int)ChunkSize / 36; entries = new MDDFEntry[entryCount]; for (int i = 0; i < entryCount; i++) { MDDFEntry entry = new MDDFEntry(); entry.entry = file.readUInt32(); entry.uniqueID = file.readUInt32(); entry.position = Position.Read(file); entry.rotation = Rotation.Read(file); entry.scale = file.readUInt16(); entry.flags = file.readUInt16(); } LogWrite("Loaded " + entryCount + " doodad spawns"); }
public Chunk_MVER(ADTFile file) : base(file, "MVER", Magic) { Version = file.readUInt32(); // Ensure we have a v18 ADT chunk. if (Version != 18) { throw new ADTException("Unsupported ADT version: " + Version); } }
public Chunk_MCRW(ADTFile file) : base(file, "MCRW", Magic) { int nEntry = (int)ChunkSize / 4; entries = new UInt32[nEntry]; for (int i = 0; i < nEntry; i++) { entries[i] = file.readUInt32(); } }
public Chunk_MMID(ADTFile file) : base(file, "MMID", Magic) { int offsetCount = (int)ChunkSize / 4; offsets = new UInt32[offsetCount]; for (int i = 0; i < offsetCount; i++) { offsets[i] = file.readUInt32(); } }