public Scene(MpqFile file) { var stream = file.Open(); long pos = 0; // x DEADBEEF = stream.ReadInt32(); snoType = stream.ReadInt32(); unknown1 = stream.ReadInt32(); unknown2 = stream.ReadInt32(); SceneSNO = stream.ReadInt32(); unknown3 = stream.ReadInt32(); unknown4 = stream.ReadInt32(); i0 = stream.ReadInt32(); aabbBounds = new AABB(stream); aabbMarkerSetBounds = new AABB(stream); //load NavMeshDef NavMesh = new NavMeshDef(stream); // end navmeshdef var serExclusions = new SerializeData(stream); stream.Position += 56; var serInclusions = new SerializeData(stream); stream.Position += 56; //MarkerSet Time var serMarkerSets = new SerializeData(stream); pos = stream.Position; stream.Position = serMarkerSets.Offset + 16; MarkerSets = new int[serMarkerSets.Size/4]; for (int i = 0; i < serMarkerSets.Size/4; i++) { MarkerSets[i] = stream.ReadInt32(); } stream.Position = pos + 56; //TODO - parse LookLink /dark LookLink = new char[64]; for (int i = 0; i < 64; i++) { LookLink[i] = (char) stream.ReadByte(); } var sermsgTriggeredEvents = new SerializeData(stream); int i1 = stream.ReadInt32(); stream.Position += 12; //navzonedef NavZone = new NavZoneDef(stream); stream.Close(); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); aabbBounds = new AABB(); aabbBounds.Parse(buffer); aabbMarkerSetBounds = new AABB(); aabbMarkerSetBounds.Parse(buffer); Field3 = new NavMeshDef(); Field3.Parse(buffer); serExclusions = new SerializeData(); serExclusions.Parse(buffer); arExclusions = new DT_VARIABLEARRAY(); arExclusions.Parse(buffer); serInclusions = new SerializeData(); serInclusions.Parse(buffer); arInclusions = new DT_VARIABLEARRAY(); arInclusions.Parse(buffer); serMarkerSets = new SerializeData(); serMarkerSets.Parse(buffer); arMarkerSets = new DT_VARIABLEARRAY(); arMarkerSets.Parse(buffer); Field10 = new LookLink(); Field10.Parse(buffer); serMsgTriggeredEvents = new SerializeData(); serMsgTriggeredEvents.Parse(buffer); Field12 = buffer.ReadInt(32); Field13 = new DT_VARIABLEARRAY(); Field13.Parse(buffer); tNavZoneDef = new NavZoneDefinition(); tNavZoneDef.Parse(buffer); snoAppearance = buffer.ReadInt(32); snoPhysMesh = buffer.ReadInt(32); }