# HG changeset patch # User truelight # Date 1185219036 0 # Node ID a36dc43afcb59adae9f8206943e0b55cd2119dd7 # Parent 9e89be4bc9a26e38714d5c449b9139dc916dd633 (svn r10665) -Codechange: replace magic 15 with MAX_TILE_HEIGHT (bilbo) -Codechange: replace magic 13 with MAX_SNOWLINE_HEIGHT (bilbo) -Codechange: assure _map_height_bits is always of correct size (Rubidium) diff -r 9e89be4bc9a2 -r a36dc43afcb5 src/clear_cmd.cpp --- a/src/clear_cmd.cpp Mon Jul 23 19:24:32 2007 +0000 +++ b/src/clear_cmd.cpp Mon Jul 23 19:30:36 2007 +0000 @@ -179,7 +179,7 @@ _error_message = STR_1004_TOO_HIGH; - if (height > 15) return false; + if (height > MAX_TILE_HEIGHT) return false; nh = TerraformGetHeightOfTile(ts, tile); if (nh < 0 || height == nh) return false; diff -r 9e89be4bc9a2 -r a36dc43afcb5 src/genworld_gui.cpp --- a/src/genworld_gui.cpp Mon Jul 23 19:24:32 2007 +0000 +++ b/src/genworld_gui.cpp Mon Jul 23 19:30:36 2007 +0000 @@ -255,7 +255,7 @@ SetWindowWidgetDisabledState(w, GLAND_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); SetWindowWidgetDisabledState(w, GLAND_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_DOWN, _patches_newgame.snow_line_height <= 2 || _opt_newgame.landscape != LT_ARCTIC); - SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= 13 || _opt_newgame.landscape != LT_ARCTIC); + SetWindowWidgetDisabledState(w, GLAND_SNOW_LEVEL_UP, _patches_newgame.snow_line_height >= MAX_SNOWLINE_HEIGHT || _opt_newgame.landscape != LT_ARCTIC); SetWindowWidgetLoweredState(w, GLAND_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); SetWindowWidgetLoweredState(w, GLAND_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); @@ -402,7 +402,7 @@ HandleButtonClick(w, e->we.click.widget); SetWindowDirty(w); - _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, 13); + _patches_newgame.snow_line_height = clamp(_patches_newgame.snow_line_height + e->we.click.widget - GLAND_SNOW_LEVEL_TEXT, 2, MAX_SNOWLINE_HEIGHT); } _left_button_clicked = false; break; @@ -498,7 +498,7 @@ break; case GLAND_SNOW_LEVEL_TEXT: InvalidateWidget(w, GLAND_SNOW_LEVEL_TEXT); - _patches_newgame.snow_line_height = clamp(value, 2, 13); + _patches_newgame.snow_line_height = clamp(value, 2, MAX_SNOWLINE_HEIGHT); break; } @@ -611,7 +611,7 @@ SetWindowWidgetDisabledState(w, CSCEN_START_DATE_DOWN, _patches_newgame.starting_year <= MIN_YEAR); SetWindowWidgetDisabledState(w, CSCEN_START_DATE_UP, _patches_newgame.starting_year >= MAX_YEAR); SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_DOWN, _patches_newgame.se_flat_world_height <= 0); - SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= 15); + SetWindowWidgetDisabledState(w, CSCEN_FLAT_LAND_HEIGHT_UP, _patches_newgame.se_flat_world_height >= MAX_TILE_HEIGHT); SetWindowWidgetLoweredState(w, CSCEN_TEMPERATE, _opt_newgame.landscape == LT_TEMPERATE); SetWindowWidgetLoweredState(w, CSCEN_ARCTIC, _opt_newgame.landscape == LT_ARCTIC); @@ -672,7 +672,7 @@ HandleButtonClick(w, e->we.click.widget); SetWindowDirty(w); - _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, 15); + _patches_newgame.se_flat_world_height = clamp(_patches_newgame.se_flat_world_height + e->we.click.widget - CSCEN_FLAT_LAND_HEIGHT_TEXT, 0, MAX_TILE_HEIGHT); } _left_button_clicked = false; break; @@ -703,7 +703,7 @@ break; case CSCEN_FLAT_LAND_HEIGHT_TEXT: InvalidateWidget(w, CSCEN_FLAT_LAND_HEIGHT_TEXT); - _patches_newgame.se_flat_world_height = clamp(value, 0, 15); + _patches_newgame.se_flat_world_height = clamp(value, 0, MAX_TILE_HEIGHT); break; } diff -r 9e89be4bc9a2 -r a36dc43afcb5 src/smallmap_gui.cpp --- a/src/smallmap_gui.cpp Mon Jul 23 19:24:32 2007 +0000 +++ b/src/smallmap_gui.cpp Mon Jul 23 19:30:36 2007 +0000 @@ -193,8 +193,10 @@ #define MKCOLOR(x) TO_LE32X(x) -/* Height encodings; 16 levels XXX - needs updating for more/finer heights! */ -static const uint32 _map_height_bits[16] = { +/** + * Height encodings; MAX_TILE_HEIGHT + 1 levels, from 0 to MAX_TILE_HEIGHT + */ +static const uint32 _map_height_bits[] = { MKCOLOR(0x5A5A5A5A), MKCOLOR(0x5A5B5A5B), MKCOLOR(0x5B5B5B5B), @@ -212,6 +214,7 @@ MKCOLOR(0x27272727), MKCOLOR(0x27272727), }; +assert_compile(lengthof(_map_height_bits) == MAX_TILE_HEIGHT + 1); struct AndOr { uint32 mor; diff -r 9e89be4bc9a2 -r a36dc43afcb5 src/tile.h --- a/src/tile.h Mon Jul 23 19:24:32 2007 +0000 +++ b/src/tile.h Mon Jul 23 19:30:36 2007 +0000 @@ -10,6 +10,12 @@ #include "map.h" #include "slope.h" +/** Maximum allowed tile height */ +#define MAX_TILE_HEIGHT 15 + +/** Maximum allowed snowline height */ +#define MAX_SNOWLINE_HEIGHT (MAX_TILE_HEIGHT - 2) + enum TileType { MP_CLEAR, MP_RAILWAY,