Merge pull request #8427 from Mikroscopic/minimap-fix

Fix #8385: Ghost objects rendered in minimap
This commit is contained in:
Michael Steenbeek 2019-05-14 22:38:26 +02:00 committed by GitHub
commit c9cbe391eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions

View File

@ -12,6 +12,7 @@
- Feature: [#8963] Add missing Czech letters to sprite font, use sprite font for Czech.
- Feature: [#9154] Change map toolbar icon with current viewport rotation.
- Change: [#7877] Files are now sorted in logical rather than dictionary order.
- Change: [#8427] Ghost elements now show up as white on the mini-map.
- Change: [#8688] Move common actions from debug menu into cheats menu.
- Fix: [#2294] Clients crashing the server with invalid object selection.
- Fix: [#5103] OpenGL: ride track preview not rendered.

View File

@ -878,6 +878,7 @@ static void window_map_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_
g1temp.x_offset = -8;
g1temp.y_offset = -8;
gfx_set_g1_element(SPR_TEMP, &g1temp);
drawing_engine_invalidate_image(SPR_TEMP);
gfx_draw_sprite(dpi, SPR_TEMP, 0, 0, 0);
if (w->selected_tab == PAGE_PEEPS)
@ -1551,6 +1552,12 @@ static uint16_t map_window_get_pixel_colour_peep(CoordsXY c)
const int32_t maxSupportedTileElementType = (int32_t)std::size(ElementTypeAddColour);
while (!(tileElement++)->IsLastForTile())
{
if (tileElement->IsGhost())
{
colour = MAP_COLOUR(PALETTE_INDEX_21);
break;
}
int32_t tileElementType = tileElement->GetType() >> 2;
if (tileElementType >= maxSupportedTileElementType)
{
@ -1573,6 +1580,12 @@ static uint16_t map_window_get_pixel_colour_ride(CoordsXY c)
TileElement* tileElement = map_get_surface_element_at(c);
do
{
if (tileElement->IsGhost())
{
colourA = MAP_COLOUR(PALETTE_INDEX_21);
break;
}
switch (tileElement->GetType())
{
case TILE_ELEMENT_TYPE_SURFACE: