void readRooms() { int version = getInt(); int count = getInt(); for (var i = 0; i < count; i++) { project.Repository.Rooms.NextIndex = i; if (getInt() != 0) { var room = project.Repository.Rooms.Add(); room.Name = getString(); version = getInt(); room.Caption = getString(); room.Width = getInt(); room.Height = getInt(); room.SnapY = getInt(); room.SnapX = getInt(); room.Isometric = getBool(); room.Speed = getInt(); room.Persistent = getBool(); room.BackgroundColor = getInt(); room.DrawBackgroundColor = getBool(); room.CreationCode = getString(); var backgroundCount = getInt(); room.Backgrounds = new List<RoomBackground>(backgroundCount); for (var j = 0; j < backgroundCount; j++) { var bg = new RoomBackground { VisibleWhenRoomStarts = getBool(), ForegroundImage = getBool(), BackgroundImageIndex = getInt(), X = getInt(), Y = getInt(), TileHorizontally = getBool(), TileVertically = getBool(), HorizontalSpeed = getInt(), VerticalSpeed = getInt(), Stretch = getBool() }; room.Backgrounds.Add(bg); } room.EnableViews = getBool(); room.Views = new List<RoomView>(8); for (int viewc = getInt(), j = 0; j < viewc; j++) { var view = new RoomView(); view.VisibleWhenRoomStarts = getBool(); if (version == 520) { view.Left = getInt(); view.Top = getInt(); view.Width = getInt(); view.Height = getInt(); view.X = getInt(); view.Y = getInt(); } else if (version >= 541) { view.X = getInt(); view.Y = getInt(); view.Width = getInt(); view.Height = getInt(); view.ViewportX = getInt(); view.ViewportY = getInt(); view.ViewportWidth = getInt(); view.ViewportHeight = getInt(); } view.HorizontalBorder = getInt(); view.VerticalBorder = getInt(); view.HorizontalSpeed = getInt(); view.VerticalSpeed = getInt(); view.ObjectFollowing = getInt(); room.Views.Add(view); } room.Instances = new List<RoomInstance>(); for (int instanceCount = getInt(), j = 0; j < instanceCount; j++) { var instance = new RoomInstance { X = getInt(), Y = getInt(), ObjectIndex = getInt(), ID = getInt(), CreationCode = getString(), Locked = getBool() }; room.Instances.Add(instance); } room.Tiles = new List<RoomTile>(); for (int tileCount = getInt(), j = 0; j < tileCount; j++) { var instance = new RoomTile { X = getInt(), Y = getInt(), BackgroundIndex = getInt(), TileX = getInt(), TileY = getInt(), Width = getInt(), Height = getInt(), Layer = getInt(), ID = getInt(), Locked = getBool() }; room.Tiles.Add(instance); } room.RememberRoomEditorInfo = getBool(); room.EditorWidth = getInt(); room.EditorHeight = getInt(); room.ShowGrid = getBool(); room.ShowObjects = getBool(); room.ShowTiles = getBool(); room.ShowBackgrounds = getBool(); room.ShowForegrounds = getBool(); room.ShowViews = getBool(); room.DeleteUnderlyingObjects = getBool(); room.DeleteUnderlyingTiles = getBool(); if (version == 520) { room.TileWidth = getInt(); room.TileHeight = getInt(); room.TileHorizontalSeparation = getInt(); room.TileVerticalSeparation = getInt(); room.TileHorizontalOffset = getInt(); room.TileVerticalOffset = getInt(); } room.CurrentTab = getInt(); room.ScrollbarX = getInt(); room.ScrollbarY = getInt(); } } }