public void Deserialize(BinaryReader reader) { ObjectID = reader.ReadInt16(); GUID = reader.ReadUInt32(); MasterGUID = reader.ReadUInt32(); Position = new LotTilePos(); Position.Deserialize(reader); Direction = (Direction)reader.ReadByte(); Graphic = reader.ReadInt16(); DynamicSpriteFlags = reader.ReadUInt64(); DynamicSpriteFlags2 = reader.ReadUInt64(); var contC = reader.ReadInt32(); Contained = new short[contC]; for (int i = 0; i < contC; i++) { Contained[i] = reader.ReadInt16(); } Container = reader.ReadInt16(); ContainerSlot = reader.ReadInt16(); Flags = reader.ReadInt16(); Flags2 = reader.ReadInt16(); WallPlacementFlags = reader.ReadInt16(); PlacementFlags = reader.ReadInt16(); AllowedHeightFlags = reader.ReadInt16(); }
public void Deserialize(BinaryReader reader) { RadianDirection = reader.ReadSingle(); Position = new LotTilePos(); Position.Deserialize(reader); Score = reader.ReadDouble(); FaceAnywhere = reader.ReadBoolean(); Chair = reader.ReadInt16(); RouteEntryFlags = (SLOTFlags)reader.ReadInt32(); }
public virtual void Deserialize(BinaryReader reader) { ObjectID = reader.ReadInt16(); PersistID = reader.ReadUInt32(); if (this is VMGameObjectMarshal) { PlatformState = new VMTSOObjectState(Version); } else { PlatformState = new VMTSOAvatarState(Version); } PlatformState.Deserialize(reader); var datas = reader.ReadInt32(); ObjectData = new short[datas]; for (int i = 0; i < datas; i++) { ObjectData[i] = reader.ReadInt16(); } var listLen = reader.ReadInt32(); MyList = new short[listLen]; for (int i = 0; i < listLen; i++) { MyList[i] = reader.ReadInt16(); } if (reader.ReadBoolean()) { Headline = new VMRuntimeHeadlineMarshal(); Headline.Deserialize(reader); } GUID = reader.ReadUInt32(); MasterGUID = reader.ReadUInt32(); MainParam = reader.ReadInt16(); MainStackOBJ = reader.ReadInt16(); var contN = reader.ReadInt32(); Contained = new short[contN]; for (int i = 0; i < contN; i++) { Contained[i] = reader.ReadInt16(); } Container = reader.ReadInt16(); ContainerSlot = reader.ReadInt16(); var attrN = reader.ReadInt32(); Attributes = new short[attrN]; for (int i = 0; i < attrN; i++) { Attributes[i] = reader.ReadInt16(); } var relN = reader.ReadInt32(); MeToObject = new VMEntityRelationshipMarshal[relN]; for (int i = 0; i < relN; i++) { MeToObject[i] = new VMEntityRelationshipMarshal(); MeToObject[i].Deserialize(reader); } if (Version > 7) { var prelN = reader.ReadInt32(); MeToPersist = new VMEntityPersistRelationshipMarshal[prelN]; for (int i = 0; i < prelN; i++) { MeToPersist[i] = new VMEntityPersistRelationshipMarshal(); MeToPersist[i].Deserialize(reader); } } else { MeToPersist = new VMEntityPersistRelationshipMarshal[0]; } DynamicSpriteFlags = reader.ReadUInt64(); if (Version > 2) { DynamicSpriteFlags2 = reader.ReadUInt64(); } Position = new LotTilePos(); Position.Deserialize(reader); if (Version > 16) { TimestampLockoutCount = reader.ReadUInt32(); } if (Version > 19) { LightColor = new Color(reader.ReadUInt32()); } }
public override void Deserialize(BinaryReader reader) { base.Deserialize(reader); var roomN = reader.ReadInt32(); Rooms = new VMRoomPortal[roomN]; for (int i = 0; i < roomN; i++) { Rooms[i] = new VMRoomPortal(reader); } if (reader.ReadBoolean()) { CurrentPortal = new VMRoomPortal(reader); } var wtLen = reader.ReadInt32(); if (wtLen > -1) { WalkTo = new Point[wtLen]; for (int i = 0; i < wtLen; i++) { WalkTo[i] = new Point(reader.ReadInt32(), reader.ReadInt32()); } } WalkDirection = reader.ReadDouble(); TargetDirection = reader.ReadDouble(); IgnoreRooms = reader.ReadBoolean(); State = (VMRoutingFrameState)reader.ReadByte(); PortalTurns = reader.ReadInt32(); WaitTime = reader.ReadInt32(); Timeout = reader.ReadInt32(); Retries = reader.ReadInt32(); AttemptedChair = reader.ReadBoolean(); TurnTweak = reader.ReadSingle(); TurnFrames = reader.ReadInt32(); MoveTotalFrames = reader.ReadInt32(); MoveFrames = reader.ReadInt32(); Velocity = reader.ReadInt32(); CallFailureTrees = reader.ReadBoolean(); var igrN = reader.ReadInt32(); IgnoredRooms = new VMRoomPortal[igrN]; for (int i = 0; i < igrN; i++) { IgnoredRooms[i] = new VMRoomPortal(reader); } var avaN = reader.ReadInt32(); AvatarsToConsider = new short[avaN]; for (int i = 0; i < avaN; i++) { AvatarsToConsider[i] = reader.ReadInt16(); } PreviousPosition.Deserialize(reader); CurrentWaypoint.Deserialize(reader); RoomRouteInvalid = reader.ReadBoolean(); if (reader.ReadBoolean()) { Slot = SLOTItemSerializer.Deserialize(reader); } Target = reader.ReadInt16(); var chLen = reader.ReadInt32(); if (chLen > -1) { Choices = new VMFindLocationResultMarshal[chLen]; for (int i = 0; i < chLen; i++) { Choices[i] = new VMFindLocationResultMarshal(); Choices[i].Deserialize(reader); } } if (reader.ReadBoolean()) { CurRoute = new VMFindLocationResultMarshal(); CurRoute.Deserialize(reader); } if (Version > 29) { LastWalkStyle = reader.ReadInt16(); } }
public override void Deserialize(BinaryReader reader) { base.Deserialize(reader); var bezierRouting = (Version > 31); var roomN = reader.ReadInt32(); Rooms = new VMRoomPortal[roomN]; for (int i = 0; i < roomN; i++) { Rooms[i] = new VMRoomPortal(reader); } if (reader.ReadBoolean()) { CurrentPortal = new VMRoomPortal(reader); } var wtLen = reader.ReadInt32(); Point[] points = null; if (wtLen > -1) { WalkTo = new VMIPathSegment[wtLen]; if (bezierRouting) { for (int i = 0; i < wtLen; i++) { WalkTo[i] = ReadGenericSegment(reader); } } else { //old point list. convert to line segments. points = new Point[wtLen]; for (int i = 0; i < wtLen; i++) { points[i] = new Point(reader.ReadInt32(), reader.ReadInt32()); } } } WalkDirection = reader.ReadDouble(); TargetDirection = reader.ReadDouble(); IgnoreRooms = reader.ReadBoolean(); State = (VMRoutingFrameState)reader.ReadByte(); PortalTurns = reader.ReadInt32(); WaitTime = reader.ReadInt32(); Timeout = reader.ReadInt32(); Retries = reader.ReadInt32(); AttemptedChair = reader.ReadBoolean(); TurnTweak = reader.ReadSingle(); TurnFrames = reader.ReadInt32(); MoveTotalFrames = reader.ReadInt32(); MoveFrames = reader.ReadInt32(); Velocity = reader.ReadInt32(); CallFailureTrees = reader.ReadBoolean(); var igrN = reader.ReadInt32(); IgnoredRooms = new VMRoomPortal[igrN]; for (int i = 0; i < igrN; i++) { IgnoredRooms[i] = new VMRoomPortal(reader); } var avaN = reader.ReadInt32(); AvatarsToConsider = new short[avaN]; for (int i = 0; i < avaN; i++) { AvatarsToConsider[i] = reader.ReadInt16(); } LotTilePos CurrentWaypoint = new LotTilePos(); PreviousPosition.Deserialize(reader); if (bezierRouting) { CurrentPath = ReadGenericSegment(reader); } else { //convert old format into new CurrentWaypoint.Deserialize(reader); CurrentPath = new VMPathLineSegment( new Point(PreviousPosition.x * 0x8000, PreviousPosition.y * 0x8000), new Point(CurrentWaypoint.x * 0x8000, CurrentWaypoint.y * 0x8000)); if (points != null) { if (points.Length > 0) { WalkTo = new VMIPathSegment[points.Length]; WalkTo[0] = new VMPathLineSegment( new Point(CurrentWaypoint.x * 0x8000, CurrentWaypoint.y * 0x8000), new Point(points[0].X * 0x8000, points[0].Y * 0x8000)); for (int i = 1; i < WalkTo.Length; i++) { WalkTo[i] = new VMPathLineSegment( new Point(points[i - 1].X * 0x8000, points[i - 1].Y * 0x8000), new Point(points[i].X * 0x8000, points[i].Y * 0x8000)); } } else { WalkTo = new VMIPathSegment[0]; } } else { WalkTo = null; } } CurrentPath.CalculateTotalFrames(); CurrentPath.UpdateTotalFrames(MoveTotalFrames); CurrentPath.ResetToFrame(MoveFrames); RoomRouteInvalid = reader.ReadBoolean(); if (reader.ReadBoolean()) { Slot = SLOTItemSerializer.Deserialize(reader); } Target = reader.ReadInt16(); var chLen = reader.ReadInt32(); if (chLen > -1) { Choices = new VMFindLocationResultMarshal[chLen]; for (int i = 0; i < chLen; i++) { Choices[i] = new VMFindLocationResultMarshal(); Choices[i].Deserialize(reader); } } if (reader.ReadBoolean()) { CurRoute = new VMFindLocationResultMarshal(); CurRoute.Deserialize(reader); } if (Version > 29) { LastWalkStyle = reader.ReadInt16(); } }
public virtual void Deserialize(BinaryReader reader) { ObjectID = reader.ReadInt16(); PersistID = reader.ReadUInt32(); var datas = reader.ReadInt32(); ObjectData = new short[datas]; for (int i = 0; i < datas; i++) { ObjectData[i] = reader.ReadInt16(); } var listLen = reader.ReadInt32(); MyList = new short[listLen]; for (int i = 0; i < listLen; i++) { MyList[i] = reader.ReadInt16(); } if (reader.ReadBoolean()) { Headline = new VMRuntimeHeadlineMarshal(); Headline.Deserialize(reader); } GUID = reader.ReadUInt32(); MasterGUID = reader.ReadUInt32(); MainParam = reader.ReadInt16(); MainStackOBJ = reader.ReadInt16(); var contN = reader.ReadInt32(); Contained = new short[contN]; for (int i = 0; i < contN; i++) { Contained[i] = reader.ReadInt16(); } Container = reader.ReadInt16(); ContainerSlot = reader.ReadInt16(); var attrN = reader.ReadInt32(); Attributes = new short[attrN]; for (int i = 0; i < attrN; i++) { Attributes[i] = reader.ReadInt16(); } var relN = reader.ReadInt32(); MeToObject = new VMEntityRelationshipMarshal[relN]; for (int i = 0; i < relN; i++) { MeToObject[i] = new VMEntityRelationshipMarshal(); MeToObject[i].Deserialize(reader); } DynamicSpriteFlags = reader.ReadUInt32(); Position = new LotTilePos(); Position.Deserialize(reader); }