// Updated based on BoyC's 010editoer template, looks like some data at the end still isnt parsed - Darklotus public Actor(MpqFile file) { var stream = file.Open(); Header = new Header(stream); this.ActorSNO = stream.ReadInt32(); stream.Position += 8; // pad 2; this.i0 = stream.ReadInt32(); this.type = stream.ReadInt32(); this.ApperanceSNO = stream.ReadInt32(); this.snoPhysMesh = stream.ReadInt32(); this.Cyl = new AxialCylinder(stream); this.s = new Sphere(stream); this.aabbBounds = new AABB_(stream); this.serTagMap = new SerializeData(stream); stream.Position += 8; // pad 2 this.AnimSetSNO = stream.ReadInt32(); this.MonsterSNO = stream.ReadInt32(); this.serMsgTriggeredEvents = new SerializeData(stream); this.i1 = stream.ReadInt32(); stream.Position += 12; // pad 3 int - DarkLotus this.v0 = new Vector3D(stream.ReadFloat(), stream.ReadFloat(), stream.ReadFloat()); this.Looks = new WeightedLook[8]; for (int i = 0; i < 8; i++) { this.Looks[i] = new WeightedLook(stream); } this.PhysicsSNO = stream.ReadInt32(); this.i2 = stream.ReadInt32(); this.i3 = stream.ReadInt32(); this.f0 = stream.ReadFloat(); this.f1 = stream.ReadFloat(); this.f2 = stream.ReadFloat(); this.padActorCollisionData = new int[17]; // Was 68/4 - Darklotus for (int i = 0; i < 17; i++) { this.padActorCollisionData[i] = stream.ReadInt32(); } this.padInventoryImages = new int[10]; //Was 5*8/4 - Darklotus for (int i = 0; i < 10; i++) { this.padInventoryImages[i] = stream.ReadInt32(); } stream.Close(); }
public void Parse(GameBitBuffer buffer) { Field0 = new ActorCollisionFlags(); Field0.Parse(buffer); Field1 = buffer.ReadInt(32); Field2 = new AxialCylinder(); Field2.Parse(buffer); Field3 = new AABB(); Field3.Parse(buffer); Field4 = buffer.ReadFloat32(); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(4); snoAppearance = buffer.ReadInt(32); snoPhysMesh = buffer.ReadInt(32); Field4 = new AxialCylinder(); Field4.Parse(buffer); Field5 = new Sphere(); Field5.Parse(buffer); aabbBounds = new AABB(); aabbBounds.Parse(buffer); serTagMap = new SerializeData(); serTagMap.Parse(buffer); hTagMap = new DT_TAGMAP(); hTagMap.Parse(buffer); snoAnimSet = buffer.ReadInt(32); snoMonster = buffer.ReadInt(32); serMsgTriggeredEvents = new SerializeData(); serMsgTriggeredEvents.Parse(buffer); Field12 = buffer.ReadInt(32); Field13 = new DT_VARIABLEARRAY(); Field13.Parse(buffer); Field14 = new Vector3D(); Field14.Parse(buffer); Field15 = new WeightedLook[8]; for(int i = 0;i < _Field15.Length;i++) { _Field15[i] = new WeightedLook(); _Field15[i].Parse(buffer); } snoPhysics = buffer.ReadInt(32); Field17 = buffer.ReadInt(32); Field18 = buffer.ReadInt(32); Field19 = buffer.ReadFloat32(); Field20 = buffer.ReadFloat32(); Field21 = buffer.ReadFloat32(); Field22 = new ActorCollisionData(); Field22.Parse(buffer); Field23 = new InventoryImages[5]; for(int i = 0;i < _Field23.Length;i++) { _Field23[i] = new InventoryImages(); _Field23[i].Parse(buffer); } Field24 = buffer.ReadInt(32); Field25 = new DT_CSTRING(); Field25.Parse(buffer); serVOCastingNotes = new SerializeData(); serVOCastingNotes.Parse(buffer); Field27 = new DT_CSTRING(); Field27.Parse(buffer); serVORole = new SerializeData(); serVORole.Parse(buffer); }