From 7b63597be189e940cab7054466933798947d4556 Mon Sep 17 00:00:00 2001 From: Per Inge Mathisen Date: Fri, 8 Jan 2010 13:49:23 +0000 Subject: [PATCH] Add (back) fog of war to the other radar modes. Stop radar from changing size when changing mode. Closes ticket:1372 git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9058 4a71c877-e1ca-e34f-864e-861f7616d084 --- src/keybind.c | 2 -- src/radar.c | 42 +++++++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/keybind.c b/src/keybind.c index e5d31b796..5a46a3c53 100644 --- a/src/keybind.c +++ b/src/keybind.c @@ -2678,8 +2678,6 @@ void kf_ToggleRadarTerrain(void) assert(false); break; } - - resetRadarRedraw(); } diff --git a/src/radar.c b/src/radar.c index e50da4408..dfe619cc6 100644 --- a/src/radar.c +++ b/src/radar.c @@ -289,31 +289,30 @@ static PIELIGHT appliedRadarColour(RADAR_DRAW_MODE radarDrawMode, MAPTILE *WTile { PIELIGHT WScr = WZCOL_BLACK; // squelch warning + // draw radar terrain on/off feature + if ((getRevealStatus() || radarDrawMode == RADAR_MODE_TERRAIN_SEEN) && !TEST_TILE_VISIBLE(selectedPlayer, WTile)) + { + return WZCOL_RADAR_BACKGROUND; + } + switch(radarDrawMode) { case RADAR_MODE_TERRAIN: case RADAR_MODE_TERRAIN_SEEN: { - if ((getRevealStatus() || radarDrawMode == RADAR_MODE_TERRAIN_SEEN) && !TEST_TILE_VISIBLE(selectedPlayer, WTile)) - { - WScr = WZCOL_RADAR_BACKGROUND; - } - else - { - // draw radar terrain on/off feature - PIELIGHT col = tileColours[TileNumber_tile(WTile->texture)]; + // draw radar terrain on/off feature + PIELIGHT col = tileColours[TileNumber_tile(WTile->texture)]; - col.byte.r = sqrtf(col.byte.r * WTile->illumination); - col.byte.b = sqrtf(col.byte.b * WTile->illumination); - col.byte.g = sqrtf(col.byte.g * WTile->illumination); - if (!hasSensorOnTile(WTile, selectedPlayer)) - { - col.byte.r /= 2; - col.byte.b /= 2; - col.byte.g /= 2; - } - WScr = col; + col.byte.r = sqrtf(col.byte.r * WTile->illumination); + col.byte.b = sqrtf(col.byte.b * WTile->illumination); + col.byte.g = sqrtf(col.byte.g * WTile->illumination); + if (!hasSensorOnTile(WTile, selectedPlayer)) + { + col.byte.r /= 2; + col.byte.b /= 2; + col.byte.g /= 2; } + WScr = col; } break; case RADAR_MODE_COMBINED: @@ -324,12 +323,17 @@ static PIELIGHT appliedRadarColour(RADAR_DRAW_MODE radarDrawMode, MAPTILE *WTile col.byte.r = sqrtf(col.byte.r * (WTile->illumination + WTile->height) / 2); col.byte.b = sqrtf(col.byte.b * (WTile->illumination + WTile->height) / 2); col.byte.g = sqrtf(col.byte.g * (WTile->illumination + WTile->height) / 2); + if (!hasSensorOnTile(WTile, selectedPlayer)) + { + col.byte.r /= 2; + col.byte.b /= 2; + col.byte.g /= 2; + } WScr = col; } break; case RADAR_MODE_HEIGHT_MAP: { - // draw radar terrain on/off feature WScr.byte.r = WScr.byte.g = WScr.byte.b = WTile->height; } break;