diff options
| author | Subv <s.v.h21@hotmail.com> | 2012-08-22 18:00:58 -0500 |
|---|---|---|
| committer | Subv <s.v.h21@hotmail.com> | 2012-08-22 18:00:58 -0500 |
| commit | 4c765aad3ddb0e8a890ee163cf3162d14c396d7e (patch) | |
| tree | 6f7bd29d72cba61c83a79665fade90b93df5783a /src/tools/mmaps_generator | |
| parent | c3f75cdf1d8c686a3061ef6c8b63a92bae5954c8 (diff) | |
Core/Maps: Reduce the output map file size in the maps extractor for maps that do not have any hole information
Core/Mmaps: Fixed swimming creatures stuck in water. (Thanks Vlad and @Chevron )
Note: Re-extract maps
Diffstat (limited to 'src/tools/mmaps_generator')
| -rw-r--r-- | src/tools/mmaps_generator/TerrainBuilder.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/tools/mmaps_generator/TerrainBuilder.cpp b/src/tools/mmaps_generator/TerrainBuilder.cpp index e16dd16707b..7ee4dc7f46c 100644 --- a/src/tools/mmaps_generator/TerrainBuilder.cpp +++ b/src/tools/mmaps_generator/TerrainBuilder.cpp @@ -159,9 +159,12 @@ namespace MMAP } // hole data - memset(holes, 0, fheader.holesSize); - fseek(mapFile, fheader.holesOffset, SEEK_SET); - fread(holes, fheader.holesSize, 1, mapFile); + if (fheader.holesSize != 0) + { + memset(holes, 0, fheader.holesSize); + fseek(mapFile, fheader.holesOffset, SEEK_SET); + fread(holes, fheader.holesSize, 1, mapFile); + } int count = meshData.solidVerts.size() / 3; float xoffset = (float(tileX)-32)*GRID_SIZE; @@ -379,7 +382,7 @@ namespace MMAP } // if there is a hole here, don't use the terrain - if (useTerrain) + if (useTerrain && fheader.holesSize != 0) useTerrain = !isHole(i, holes); // we use only one terrain kind per quad - pick higher one |
