diff --git a/source/glest_game/world/map.cpp b/source/glest_game/world/map.cpp index 56511110..1d02cf9b 100644 --- a/source/glest_game/world/map.cpp +++ b/source/glest_game/world/map.cpp @@ -188,9 +188,9 @@ Checksum Map::load(const string &path, TechTree *techTree, Tileset *tileset) { //desc = header.description; } else if(header.version==2){ - //desc = header.extension_data.extension_data.version2.short_desc; - if(header.extension_data.version2.cliffLevel>0){ - cliffLevel=static_cast((header.extension_data.version2.cliffLevel)/heightFactor); + //desc = header.version2.short_desc; + if(header.version2.cliffLevel>0){ + cliffLevel=static_cast((header.version2.cliffLevel-0.01f)/(heightFactor)); } else { cliffLevel=0; @@ -1098,7 +1098,7 @@ void Map::smoothSurface(Tileset *tileset) { for (int i = 0; i < getSurfaceCellArraySize(); ++i) { oldHeights[i] = surfaceCells[i].getHeight(); } - printf("argh %f\n",cliffLevel); + for (int i = 1; i < surfaceW - 1; ++i) { for (int j = 1; j < surfaceH - 1; ++j) { float height = 0.f; diff --git a/source/shared_lib/include/map/map_preview.h b/source/shared_lib/include/map/map_preview.h index 3153f7b6..1c6ea11c 100644 --- a/source/shared_lib/include/map/map_preview.h +++ b/source/shared_lib/include/map/map_preview.h @@ -60,19 +60,6 @@ static const int DEFAULT_CLIFF_HEIGHT = 0; static const int MAP_FORMAT_VERSION=2; - -typedef union { - int8 description[MAX_DESCRIPTION_LENGTH]; - - struct { - int8 short_desc[MAX_DESCRIPTION_LENGTH_VERSION2]; - int32 magic; // 0x01020304 for meta - int32 cliffLevel; - int8 meta[120]; - } version2; -} uniondata; - - struct MapFileHeader { int32 version; int32 maxFactions; @@ -82,7 +69,15 @@ struct MapFileHeader { int32 waterLevel; int8 title[MAX_TITLE_LENGTH]; int8 author[MAX_AUTHOR_LENGTH]; - uniondata extension_data; + union { + int8 description[MAX_DESCRIPTION_LENGTH]; + struct { + int8 short_desc[MAX_DESCRIPTION_LENGTH_VERSION2]; + int32 magic; // 0x01020304 for meta + int32 cliffLevel; + int8 meta[120]; + } version2; + }; }; // =============================================== diff --git a/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp b/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp index 27b0f74a..5e575c1d 100644 --- a/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp +++ b/source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp @@ -137,13 +137,13 @@ void ModelRendererGl::renderMesh(Mesh *mesh) { //assertions assertGl(); + glPolygonOffset(0.05f, 0.0f); //set cull face if(mesh->getTwoSided()) { glDisable(GL_CULL_FACE); } else{ glEnable(GL_CULL_FACE); - glPolygonOffset(0.05f, 0.0f); } //set color diff --git a/source/shared_lib/sources/map/map_preview.cpp b/source/shared_lib/sources/map/map_preview.cpp index 150a2381..76fe1b67 100644 --- a/source/shared_lib/sources/map/map_preview.cpp +++ b/source/shared_lib/sources/map/map_preview.cpp @@ -669,11 +669,11 @@ void MapPreview::loadFromFile(const string &path) { author = header.author; cliffLevel = 0; if(header.version==1){ - desc = header.extension_data.description; + desc = header.description; } else if(header.version==2){ - desc = header.extension_data.version2.short_desc; - cliffLevel=header.extension_data.version2.cliffLevel; + desc = header.version2.short_desc; + cliffLevel=header.version2.cliffLevel; } //read start locations @@ -738,9 +738,9 @@ void MapPreview::saveToFile(const string &path) { header.waterLevel = waterLevel; strncpy(header.title, title.c_str(), MAX_TITLE_LENGTH); strncpy(header.author, author.c_str(), MAX_AUTHOR_LENGTH); - strncpy(header.extension_data.version2.short_desc, desc.c_str(), MAX_DESCRIPTION_LENGTH_VERSION2); - header.extension_data.version2.magic= 0x01020304; - header.extension_data.version2.cliffLevel= cliffLevel; + strncpy(header.version2.short_desc, desc.c_str(), MAX_DESCRIPTION_LENGTH_VERSION2); + header.version2.magic= 0x01020304; + header.version2.cliffLevel= cliffLevel; fwrite(&header, sizeof(MapFileHeader), 1, f1);