mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-27 06:04:25 +01:00
Codechange: Remove CLEAR_SNOW. (#15136)
Remove CLEAR_SNOW which is no longer used on the map and causes confusion. IsSnowTile() is checked instead.
This commit is contained in:
@@ -115,10 +115,20 @@ static void DrawClearLandFence(const TileInfo *ti)
|
||||
|
||||
static void DrawTile_Clear(TileInfo *ti)
|
||||
{
|
||||
ClearGround real_ground = GetClearGround(ti->tile);
|
||||
ClearGround ground = IsSnowTile(ti->tile) ? CLEAR_SNOW : real_ground;
|
||||
if (IsSnowTile(ti->tile)) {
|
||||
uint8_t density = GetClearDensity(ti->tile);
|
||||
DrawGroundSprite(_clear_land_sprites_snow_desert[density] + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||
if (GetClearGround(ti->tile) == CLEAR_ROCKS) {
|
||||
/* There 4 levels of snowy overlay rocks, each with 19 sprites. */
|
||||
++density;
|
||||
DrawGroundSprite(SPR_OVERLAY_ROCKS_BASE + (density * 19) + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||
}
|
||||
|
||||
switch (ground) {
|
||||
DrawBridgeMiddle(ti, {});
|
||||
return;
|
||||
}
|
||||
|
||||
switch (GetClearGround(ti->tile)) {
|
||||
case CLEAR_GRASS:
|
||||
DrawClearLandTile(ti, GetClearDensity(ti->tile));
|
||||
break;
|
||||
@@ -141,17 +151,6 @@ static void DrawTile_Clear(TileInfo *ti)
|
||||
DrawClearLandFence(ti);
|
||||
break;
|
||||
|
||||
case CLEAR_SNOW: {
|
||||
uint8_t density = GetClearDensity(ti->tile);
|
||||
DrawGroundSprite(_clear_land_sprites_snow_desert[density] + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||
if (real_ground == CLEAR_ROCKS) {
|
||||
/* There 4 levels of snowy overlay rocks, each with 19 sprites. */
|
||||
++density;
|
||||
DrawGroundSprite(SPR_OVERLAY_ROCKS_BASE + (density * 19) + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CLEAR_DESERT:
|
||||
DrawGroundSprite(_clear_land_sprites_snow_desert[GetClearDensity(ti->tile)] + SlopeToSpriteOffset(ti->tileh), PAL_NONE);
|
||||
break;
|
||||
@@ -376,7 +375,7 @@ static void GetTileDesc_Clear(TileIndex tile, TileDesc &td)
|
||||
{STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND, STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROUGH_LAND},
|
||||
{STR_LAI_CLEAR_DESCRIPTION_ROCKS, STR_LAI_CLEAR_DESCRIPTION_SNOWY_ROCKS},
|
||||
{STR_LAI_CLEAR_DESCRIPTION_FIELDS, STR_EMPTY},
|
||||
{STR_EMPTY, STR_EMPTY}, // CLEAR_SNOW does not appear in the map.
|
||||
{STR_EMPTY, STR_EMPTY}, // unused entry does not appear in the map.
|
||||
{STR_LAI_CLEAR_DESCRIPTION_DESERT, STR_EMPTY},
|
||||
};
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ enum ClearGround : uint8_t {
|
||||
CLEAR_ROUGH = 1, ///< 3
|
||||
CLEAR_ROCKS = 2, ///< 3
|
||||
CLEAR_FIELDS = 3, ///< 3
|
||||
CLEAR_SNOW = 4, ///< 0-3 (Not stored in map.)
|
||||
CLEAR_DESERT = 5, ///< 1,3
|
||||
};
|
||||
|
||||
|
||||
@@ -2433,7 +2433,7 @@ bool AfterLoadGame()
|
||||
if (IsSavegameVersionBefore(SLV_135)) {
|
||||
for (auto t : Map::Iterate()) {
|
||||
if (IsTileType(t, MP_CLEAR)) {
|
||||
if (GetClearGround(t) == CLEAR_SNOW) { // CLEAR_SNOW becomes CLEAR_GRASS with IsSnowTile() set.
|
||||
if (GetClearGround(t) == ClearGround{4}) { // CLEAR_SNOW becomes CLEAR_GRASS with IsSnowTile() set.
|
||||
SetClearGroundDensity(t, CLEAR_GRASS, GetClearDensity(t));
|
||||
SetBit(t.m3(), 4);
|
||||
} else {
|
||||
|
||||
@@ -531,7 +531,7 @@ static const uint32_t _vegetation_clear_bits[] = {
|
||||
MKCOLOUR_XXXX(PC_ROUGH_LAND), ///< rough land
|
||||
MKCOLOUR_XXXX(PC_GREY), ///< rocks
|
||||
MKCOLOUR_XXXX(PC_FIELDS), ///< fields
|
||||
MKCOLOUR_XXXX(PC_LIGHT_BLUE), ///< snow
|
||||
MKCOLOUR_XXXX(PC_GRASS_LAND), ///< unused
|
||||
MKCOLOUR_XXXX(PC_ORANGE), ///< desert
|
||||
MKCOLOUR_XXXX(PC_GRASS_LAND), ///< unused
|
||||
MKCOLOUR_XXXX(PC_GRASS_LAND), ///< unused
|
||||
@@ -548,11 +548,12 @@ static inline uint32_t GetSmallMapVegetationPixels(TileIndex tile, TileType t)
|
||||
{
|
||||
switch (t) {
|
||||
case MP_CLEAR:
|
||||
if (IsSnowTile(tile)) return MKCOLOUR_XXXX(PC_LIGHT_BLUE);
|
||||
if (IsClearGround(tile, CLEAR_GRASS)) {
|
||||
if (GetClearDensity(tile) < 3) return MKCOLOUR_XXXX(PC_BARE_LAND);
|
||||
if (GetTropicZone(tile) == TROPICZONE_RAINFOREST) return MKCOLOUR_XXXX(PC_RAINFOREST);
|
||||
}
|
||||
return _vegetation_clear_bits[IsSnowTile(tile) ? CLEAR_SNOW : GetClearGround(tile)];
|
||||
return _vegetation_clear_bits[GetClearGround(tile)];
|
||||
|
||||
case MP_INDUSTRY:
|
||||
return IsTileForestIndustry(tile) ? MKCOLOUR_XXXX(PC_GREEN) : MKCOLOUR_XXXX(PC_DARK_RED);
|
||||
|
||||
Reference in New Issue
Block a user