From 13285ae257d916b4423a1f48c355b2d6b3559485 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Thu, 24 Nov 2016 10:16:10 +1100 Subject: [PATCH] Map: Fix spawn and cloud height for .dat format --- MCGalaxy/Levels/IO/Importers/DatImporter.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/MCGalaxy/Levels/IO/Importers/DatImporter.cs b/MCGalaxy/Levels/IO/Importers/DatImporter.cs index 4e797fa09..7b05e1191 100644 --- a/MCGalaxy/Levels/IO/Importers/DatImporter.cs +++ b/MCGalaxy/Levels/IO/Importers/DatImporter.cs @@ -66,10 +66,6 @@ namespace MCGalaxy.Levels.IO { ReadHeader(data, ref pointer, ref headerEnd, i); ReadFields(data, ref pointer, ref headerEnd, lvl); - lvl.spawnx = (ushort)(lvl.Width / 1.3); - lvl.spawny = (ushort)(lvl.Height / 1.3); - lvl.spawnz = (ushort)(lvl.Length / 1.3); - // find the start of the block array int offset = Array.IndexOf(data, 0x00, headerEnd); while (offset != -1 && offset < data.Length - 2) { @@ -117,8 +113,15 @@ namespace MCGalaxy.Levels.IO { } else if (MemCmp(data, pointer, "depth")) { lvl.Height = (ushort)NetUtils.ReadI32(data, valueOffset); lvl.EdgeLevel = lvl.Height / 2; + lvl.CloudsHeight = lvl.Height + 2; } else if (MemCmp(data, pointer, "height")) { lvl.Length = (ushort)NetUtils.ReadI32(data, valueOffset); + } else if (MemCmp(data, pointer, "xSpawn")) { + lvl.spawnx = (ushort)NetUtils.ReadI32(data, valueOffset); + } else if (MemCmp(data, pointer, "ySpawn")) { + lvl.spawny = (ushort)NetUtils.ReadI32(data, valueOffset); + } else if (MemCmp(data, pointer, "zSpawn")) { + lvl.spawnz = (ushort)NetUtils.ReadI32(data, valueOffset); } pointer += nameLen; }