1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Pass paint session to scenery_multiple_paint

This commit is contained in:
Ted John
2017-09-02 22:40:19 +01:00
parent 5c8700d054
commit 00cde34b39
4 changed files with 8 additions and 8 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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;

View File

@@ -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) {