public static Int64 BGI_charGetPitchAndRoll(Int32 uid, ref Int16 thetaX, ref Int16 thetaZ) { Actor activeActorByUID = PersistenSingleton <EventEngine> .Instance.getActiveActorByUID(uid); if (activeActorByUID != null) { Int16 index = (Int16)activeActorByUID.fieldMapActorController.activeTri; BGI_TRI_DEF bgi_TRI_DEF = PersistenSingleton <EventEngine> .Instance.fieldmap.bgi.triList[(Int32)index]; thetaX = (Int16)(-bgi_TRI_DEF.thetaZ); thetaZ = bgi_TRI_DEF.thetaX; } return(1L); }
public void ReadData(BinaryReader reader) { reader.BaseStream.Seek(4L, SeekOrigin.Begin); this.dataSize = reader.ReadUInt16(); this.orgPos.ReadData(reader); this.curPos.ReadData(reader); this.minPos.ReadData(reader); this.maxPos.ReadData(reader); this.charPos.ReadData(reader); this.activeFloor = reader.ReadInt16(); this.activeTri = reader.ReadInt16(); this.triCount = reader.ReadUInt16(); this.triOffset = reader.ReadUInt16(); this.edgeCount = reader.ReadUInt16(); this.edgeOffset = reader.ReadUInt16(); this.anmCount = reader.ReadUInt16(); this.anmOffset = reader.ReadUInt16(); this.floorCount = reader.ReadUInt16(); this.floorOffset = reader.ReadUInt16(); this.normalCount = reader.ReadUInt16(); this.normalOffset = reader.ReadUInt16(); this.vertexCount = reader.ReadUInt16(); this.vertexOffset = reader.ReadUInt16(); reader.BaseStream.Seek((Int64)(4 + this.triOffset), SeekOrigin.Begin); for (UInt16 num = 0; num < this.triCount; num = (UInt16)(num + 1)) { BGI_TRI_DEF bgi_TRI_DEF = new BGI_TRI_DEF(); bgi_TRI_DEF.ReadData(reader); bgi_TRI_DEF.triIdx = (Int32)num; this.triList.Add(bgi_TRI_DEF); } reader.BaseStream.Seek((Int64)(4 + this.edgeOffset), SeekOrigin.Begin); for (UInt16 num2 = 0; num2 < this.edgeCount; num2 = (UInt16)(num2 + 1)) { BGI_EDGE_DEF bgi_EDGE_DEF = new BGI_EDGE_DEF(); bgi_EDGE_DEF.ReadData(reader); this.edgeList.Add(bgi_EDGE_DEF); } reader.BaseStream.Seek((Int64)(4 + this.anmOffset), SeekOrigin.Begin); for (UInt16 num3 = 0; num3 < this.anmCount; num3 = (UInt16)(num3 + 1)) { BGI_ANM_DEF bgi_ANM_DEF = new BGI_ANM_DEF(); bgi_ANM_DEF.ReadData(reader); this.anmList.Add(bgi_ANM_DEF); } for (Int32 i = 0; i < (Int32)this.anmCount; i++) { BGI_ANM_DEF bgi_ANM_DEF2 = this.anmList[i]; bgi_ANM_DEF2.frameList = new List <BGI_FRAME_DEF>(); reader.BaseStream.Seek((Int64)((UInt64)(4u + bgi_ANM_DEF2.frameOffset)), SeekOrigin.Begin); for (Int32 j = 0; j < (Int32)bgi_ANM_DEF2.frameCount; j++) { BGI_FRAME_DEF bgi_FRAME_DEF = new BGI_FRAME_DEF(); bgi_FRAME_DEF.ReadData(reader); bgi_ANM_DEF2.frameList.Add(bgi_FRAME_DEF); } } for (Int32 k = 0; k < (Int32)this.anmCount; k++) { BGI_ANM_DEF bgi_ANM_DEF3 = this.anmList[k]; for (Int32 l = 0; l < (Int32)bgi_ANM_DEF3.frameCount; l++) { BGI_FRAME_DEF bgi_FRAME_DEF2 = bgi_ANM_DEF3.frameList[l]; reader.BaseStream.Seek((Int64)(4 + bgi_FRAME_DEF2.triNdxOffset), SeekOrigin.Begin); bgi_FRAME_DEF2.triIdxList = new List <Int32>(); for (Int32 m = 0; m < (Int32)bgi_FRAME_DEF2.triCount; m++) { Int32 item = reader.ReadInt32(); bgi_FRAME_DEF2.triIdxList.Add(item); } } } reader.BaseStream.Seek((Int64)(4 + this.floorOffset), SeekOrigin.Begin); for (UInt16 num4 = 0; num4 < this.floorCount; num4 = (UInt16)(num4 + 1)) { BGI_FLOOR_DEF bgi_FLOOR_DEF = new BGI_FLOOR_DEF(); bgi_FLOOR_DEF.ReadData(reader); this.floorList.Add(bgi_FLOOR_DEF); } reader.BaseStream.Seek((Int64)(4 + this.normalOffset), SeekOrigin.Begin); for (UInt16 num5 = 0; num5 < this.normalCount; num5 = (UInt16)(num5 + 1)) { BGI_FVEC_DEF bgi_FVEC_DEF = new BGI_FVEC_DEF(); bgi_FVEC_DEF.ReadData(reader); this.normalList.Add(bgi_FVEC_DEF); } reader.BaseStream.Seek((Int64)(4 + this.vertexOffset), SeekOrigin.Begin); for (UInt16 num6 = 0; num6 < this.vertexCount; num6 = (UInt16)(num6 + 1)) { BGI_VEC_DEF bgi_VEC_DEF = new BGI_VEC_DEF(); bgi_VEC_DEF.ReadData(reader); this.vertexList.Add(bgi_VEC_DEF); } }