/// <summary> /// Parses SceneSpecification from given GameBitBuffer. /// </summary> /// <param name="buffer">The GameBitBuffer to parse from.</param> public void Parse(GameBitBuffer buffer) { CellZ = buffer.ReadInt(32); Cell = new Vector2D(); Cell.Parse(buffer); SNOLevelAreas = new int /* sno */[4]; for (int i = 0; i < SNOLevelAreas.Length; i++) { SNOLevelAreas[i] = buffer.ReadInt(32); } SNOPrevWorld = buffer.ReadInt(32); Unknown1 = buffer.ReadInt(32); SNOPrevLevelArea = buffer.ReadInt(32); SNONextWorld = buffer.ReadInt(32); Unknown2 = buffer.ReadInt(32); SNONextLevelArea = buffer.ReadInt(32); SNOMusic = buffer.ReadInt(32); SNOCombatMusic = buffer.ReadInt(32); SNOAmbient = buffer.ReadInt(32); SNOReverb = buffer.ReadInt(32); SNOWeather = buffer.ReadInt(32); SNOPresetWorld = buffer.ReadInt(32); Unknown3 = buffer.ReadInt(32); Unknown4 = buffer.ReadInt(32); Unknown5 = buffer.ReadInt(32); ClusterID = buffer.ReadInt(32); SceneCachedValues = new SceneCachedValues(); SceneCachedValues.Parse(buffer); }
/// <summary> /// Reads SceneSpecification from given MPQFileStream. /// </summary> /// <param name="stream">The MPQFileStream to read from.</param> public SceneSpecification(MpqFileStream stream) { CellZ = stream.ReadValueS32(); Cell = new Vector2D(stream); SNOLevelAreas = new int[4]; for (int i = 0; i < SNOLevelAreas.Length; i++) { SNOLevelAreas[i] = stream.ReadValueS32(); } SNOPrevWorld = stream.ReadValueS32(); Unknown1 = stream.ReadValueS32(); SNOPrevLevelArea = stream.ReadValueS32(); SNONextWorld = stream.ReadValueS32(); Unknown2 = stream.ReadValueS32(); SNONextLevelArea = stream.ReadValueS32(); SNOMusic = stream.ReadValueS32(); SNOCombatMusic = stream.ReadValueS32(); SNOAmbient = stream.ReadValueS32(); SNOReverb = stream.ReadValueS32(); SNOWeather = stream.ReadValueS32(); SNOPresetWorld = stream.ReadValueS32(); Unknown3 = stream.ReadValueS32(); Unknown4 = stream.ReadValueS32(); Unknown5 = stream.ReadValueS32(); stream.Position += (9 * 4); ClusterID = stream.ReadValueS32(); SceneCachedValues = new SceneCachedValues(stream); }