diff --git a/src/openrct2/paint/map_element/map_element.c b/src/openrct2/paint/map_element/map_element.c index c4e5bce624..e99397e39f 100644 --- a/src/openrct2/paint/map_element/map_element.c +++ b/src/openrct2/paint/map_element/map_element.c @@ -265,7 +265,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y) fence_paint(direction, height, map_element); break; case MAP_ELEMENT_TYPE_SCENERY_MULTIPLE: - scenery_multiple_paint(direction, height, map_element); + scenery_multiple_paint(session, direction, height, map_element); break; case MAP_ELEMENT_TYPE_BANNER: banner_paint(session, direction, height, map_element); diff --git a/src/openrct2/paint/map_element/map_element.h b/src/openrct2/paint/map_element/map_element.h index 44b98ef246..b2244e88fe 100644 --- a/src/openrct2/paint/map_element/map_element.h +++ b/src/openrct2/paint/map_element/map_element.h @@ -102,7 +102,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, rct_ void path_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement); void scenery_paint(uint8 direction, sint32 height, rct_map_element* mapElement); void fence_paint(uint8 direction, sint32 height, rct_map_element* mapElement); -void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *mapElement); +void scenery_multiple_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement); void track_paint(uint8 direction, sint32 height, rct_map_element *mapElement); #endif diff --git a/src/openrct2/paint/map_element/scenery_multiple.c b/src/openrct2/paint/map_element/scenery_multiple.c index 66f7ccb4ce..88a7fd9d48 100644 --- a/src/openrct2/paint/map_element/scenery_multiple.c +++ b/src/openrct2/paint/map_element/scenery_multiple.c @@ -183,9 +183,9 @@ static const boundbox s98E3C4[] = { * * rct2: 0x006B7F0C */ -void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *mapElement) { +void scenery_multiple_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement) { //RCT2_CALLPROC_X(0x6B7F0C, 0, 0, direction, height, (sint32)mapElement, 0, 0); return; - gPaintSession.InteractionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; + session->InteractionType = VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY; uint32 ebp = mapElement->properties.scenerymultiple.type >> 10; rct_scenery_entry *entry = get_large_scenery_entry(mapElement->properties.scenerymultiple.type & 0x3FF); if (entry == (void*)-1) @@ -206,7 +206,7 @@ void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *map } } if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) { - gPaintSession.InteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE; ebp = construction_markers[gConfigGeneral.construction_marker_colour]; image_id &= 0x7FFFF; dword_F4387C = ebp; @@ -243,7 +243,7 @@ void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *map return; } } - rct_drawpixelinfo* dpi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo* dpi = session->Unk140E9A8; if (dpi->zoom_level > 1) { scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); return; @@ -324,7 +324,7 @@ void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *map } return; } - rct_drawpixelinfo* dpi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo* dpi = session->Unk140E9A8; if (dpi->zoom_level > 0) { scenery_multiple_paint_supports(direction, height, mapElement, dword_F4387C, tile); return; diff --git a/test/testpaint/compat.c b/test/testpaint/compat.c index 2de406ef64..0a7308301b 100644 --- a/test/testpaint/compat.c +++ b/test/testpaint/compat.c @@ -86,7 +86,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, rct_ void path_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement) { } void scenery_paint(uint8 direction, int height, rct_map_element *mapElement) { } void fence_paint(uint8 direction, int height, rct_map_element *mapElement) { } -void scenery_multiple_paint(uint8 direction, uint16 height, rct_map_element *mapElement) { } +void scenery_multiple_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement) { } rct_ride *get_ride(int index) { if (index < 0 || index >= MAX_RIDES) {