From 5c8700d054f69c46ad8004522754d171ee6579b0 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sat, 2 Sep 2017 22:38:26 +0100 Subject: [PATCH] Pass paint session to banner_paint --- src/openrct2/paint/map_element/banner.c | 8 ++++---- src/openrct2/paint/map_element/map_element.c | 4 ++-- src/openrct2/paint/map_element/map_element.h | 2 +- test/testpaint/compat.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/openrct2/paint/map_element/banner.c b/src/openrct2/paint/map_element/banner.c index 1522db9550..32d4440947 100644 --- a/src/openrct2/paint/map_element/banner.c +++ b/src/openrct2/paint/map_element/banner.c @@ -35,12 +35,12 @@ const rct_xy16 BannerBoundBoxes[][2] = { * * rct2: 0x006B9CC4 */ -void banner_paint(uint8 direction, sint32 height, rct_map_element* map_element) +void banner_paint(paint_session * session, uint8 direction, sint32 height, rct_map_element* map_element) { uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ; - rct_drawpixelinfo* dpi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo* dpi = session->Unk140E9A8; - gPaintSession.InteractionType = VIEWPORT_INTERACTION_ITEM_BANNER; + session->InteractionType = VIEWPORT_INTERACTION_ITEM_BANNER; if (dpi->zoom_level > 1 || gTrackDesignSaveMode) return; @@ -64,7 +64,7 @@ void banner_paint(uint8 direction, sint32 height, rct_map_element* map_element) if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) // if being placed { - gPaintSession.InteractionType = VIEWPORT_INTERACTION_ITEM_NONE; + session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE; image_id |= construction_markers[gConfigGeneral.construction_marker_colour]; } else{ diff --git a/src/openrct2/paint/map_element/map_element.c b/src/openrct2/paint/map_element/map_element.c index 317c836cdf..c4e5bce624 100644 --- a/src/openrct2/paint/map_element/map_element.c +++ b/src/openrct2/paint/map_element/map_element.c @@ -268,7 +268,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y) scenery_multiple_paint(direction, height, map_element); break; case MAP_ELEMENT_TYPE_BANNER: - banner_paint(direction, height, map_element); + banner_paint(session, direction, height, map_element); break; // A corrupt element inserted by OpenRCT2 itself, which skips the drawing of the next element only. case MAP_ELEMENT_TYPE_CORRUPT: @@ -280,7 +280,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y) // An undefined map element is most likely a corrupt element inserted by 8 cars' MOM feature to skip drawing of all elements after it. return; } - gPaintSession.MapPosition = dword_9DE574; + session->MapPosition = dword_9DE574; } while (!map_element_is_last_for_tile(map_element++)); if (!gShowSupportSegmentHeights) { diff --git a/src/openrct2/paint/map_element/map_element.h b/src/openrct2/paint/map_element/map_element.h index 077bf8a0eb..44b98ef246 100644 --- a/src/openrct2/paint/map_element/map_element.h +++ b/src/openrct2/paint/map_element/map_element.h @@ -97,7 +97,7 @@ uint16 paint_util_rotate_segments(uint16 segments, uint8 rotation); void map_element_paint_setup(paint_session * session, sint32 x, sint32 y); void entrance_paint(uint8 direction, sint32 height, rct_map_element* map_element); -void banner_paint(uint8 direction, sint32 height, rct_map_element* map_element); +void banner_paint(paint_session * session, uint8 direction, sint32 height, rct_map_element* map_element); void surface_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement); 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); diff --git a/test/testpaint/compat.c b/test/testpaint/compat.c index 0b4658ce92..2de406ef64 100644 --- a/test/testpaint/compat.c +++ b/test/testpaint/compat.c @@ -81,7 +81,7 @@ rct_xyz16 gMapSelectArrowPosition; uint8 gMapSelectArrowDirection; void entrance_paint(uint8 direction, int height, rct_map_element *map_element) { } -void banner_paint(uint8 direction, int height, rct_map_element *map_element) { } +void banner_paint(paint_session * session, uint8 direction, int height, rct_map_element *map_element) { } void surface_paint(paint_session * session, uint8 direction, uint16 height, rct_map_element *mapElement) { } 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) { }