Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Map m = new Map();
- m.Name = reader.ReadString();
- m.ID = reader.ReadInt32();
- m.Left = reader.ReadInt32();
- m.Right = reader.ReadInt32();
- m.Top = reader.ReadInt32();
- m.Bottom = reader.ReadInt32();
- m.MaxTilesY = reader.ReadInt32();
- m.MaxTilesX = reader.ReadInt32();
- m.ClearMap();
- m.SpawnTileX = reader.ReadInt32();
- m.SpawnTileY = reader.ReadInt32();
- m.WorldSurface = reader.ReadDouble();
- m.RockLayer = reader.ReadDouble();
- m.Time = reader.ReadDouble();
- m.DayTime = reader.ReadBoolean();
- m.MoonPhase = reader.ReadInt32();
- m.BloodMoon = reader.ReadBoolean();
- m.DungeonX = reader.ReadInt32();
- m.DungeonY = reader.ReadInt32();
- m.DownedBoss1 = reader.ReadBoolean();
- m.DownedBoss2 = reader.ReadBoolean();
- m.DownedBoss3 = reader.ReadBoolean();
- if (version >= 0x1d)
- {
- m.SavedGoblin = reader.ReadBoolean();
- m.SavedWizard = reader.ReadBoolean();
- if (version >= 0x22)
- {
- m.SavedMech = reader.ReadBoolean();
- }
- m.DownedGoblins = reader.ReadBoolean();
- }
- if (version >= 0x20)
- {
- m.DownedClown = reader.ReadBoolean();
- }
- m.ShadowOrbSmashed = reader.ReadBoolean();
- m.SpawnMeteor = reader.ReadBoolean();
- m.ShadowOrbCount = reader.ReadByte();
- if (version >= 0x17)
- {
- m.AltarCount = reader.ReadInt32();
- m.HardMode = reader.ReadBoolean();
- }
- m.InvasionDelay = reader.ReadInt32();
- m.InvasionSize = reader.ReadInt32();
- m.InvasionType = reader.ReadInt32();
- m.InvasionX = reader.ReadDouble();
- for (int x = 0; x < m.MaxTilesX; x++)
- {
- for (int y = 0; y < m.MaxTilesY; y++)
- {
- m[x, y].m_Active = reader.ReadBoolean();
- if (m[x, y].m_Active)
- {
- m[x, y].m_Type = reader.ReadByte();
- if (m[x, y].m_Type == 0x7f)
- {
- m[x, y].m_Active = false;
- }
- if (m_TileFrameImportant[m[x, y].m_Type])
- {
- if ((version < 28) && (m[x, y].m_Type == 4))
- {
- m[x, y].m_FrameX = 0;
- m[x, y].m_FrameY = 0;
- }
- else
- {
- m[x, y].m_FrameX = reader.ReadInt16();
- m[x, y].m_FrameY = reader.ReadInt16();
- if (m[x, y].m_Type == 0x90)
- {
- m[x, y].m_FrameY = 0;
- }
- }
- }
- else
- {
- m[x, y].m_FrameX = -1;
- m[x, y].m_FrameY = -1;
- }
- }
- if (version <= 0x19)
- {
- reader.ReadBoolean();
- }
- if (reader.ReadBoolean())
- {
- m[x, y].m_Wall = reader.ReadByte();
- }
- if (reader.ReadBoolean())
- {
- m[x, y].m_Liquid = reader.ReadByte();
- m[x, y].m_Lava = reader.ReadBoolean();
- }
- if (version >= 0x21)
- {
- m[x, y].m_Wire = reader.ReadBoolean();
- }
- if (version >= 0x19)
- {
- int num = reader.ReadInt16();
- if (num > 0)
- {
- for (int num7 = y + 1; num7 < ((y + num) ); num7++)
- {
- if (num7 == m.MaxTilesY-1 && x ==m.MaxTilesX-1)
- {
- int derp = 1;
- }
- m[x, num7].m_Active = m[x, y].m_Active;
- m[x, num7].m_Type = m[x, y].m_Type;
- m[x, num7].m_Wall = m[x, y].m_Wall;
- m[x, num7].m_FrameX = m[x, y].m_FrameX;
- m[x, num7].m_FrameY = m[x, y].m_FrameY;
- m[x, num7].m_Liquid = m[x, y].m_Liquid;
- m[x, num7].m_Lava = m[x, y].m_Lava;
- m[x, num7].m_Wire = m[x, y].m_Wire;
- }
- y += (num);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment