From 9018120c179691d588fcb611be42f2d5423b031b Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Fri, 25 Mar 2016 18:22:46 +0000 Subject: [PATCH] Change order of parameters in image setup code. --- src/drawing/supports.c | 16 +++--- src/interface/viewport.c | 106 ++++++++++++++++++++++++++------------- src/interface/viewport.h | 8 +-- src/ride/track_paint.c | 100 ++++++++++++++++++------------------ 4 files changed, 134 insertions(+), 96 deletions(-) diff --git a/src/drawing/supports.c b/src/drawing/supports.c index fe06291c32..f2200a3539 100644 --- a/src/drawing/supports.c +++ b/src/drawing/supports.c @@ -204,12 +204,12 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = z + 2; - sub_98197C(0, 11, imageId, 0, z, 32, 32, rotation); + sub_98197C(imageId, 0, 0, 32, 32, 11, z, rotation); RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = z + 16 + 2; - sub_98197C(0, 11, imageId + 4, 0, z + 16, 32, 32, rotation); + sub_98197C(imageId + 4, 0, 0, 32, 32, 11, z + 16, rotation); hasSupports = true; } @@ -234,7 +234,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = z + 2; - sub_98196C(0, 11, imageId, 0, z, 32, 32, rotation); + sub_98196C(imageId, 0, 0, 32, 32, 11, z, rotation); hasSupports = true; } z += 16; @@ -243,7 +243,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin // Draw flat base support if (drawFlatPiece) { int imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags; - sub_98196C(0, 0, imageId, 0, z - 2, 32, 32, rotation); + sub_98196C(imageId, 0, 0, 32, 32, 0, z - 2, rotation); hasSupports = true; } @@ -253,7 +253,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin // Full support int imageId = WoodenSupportImageIds[supportType].full | imageColourFlags; uint8 ah = special == 2 ? 23 : 28; - sub_98196C(0, ah, imageId, 0, z, 32, 32, rotation); + sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); hasSupports = true; z += 32; height -= 2; @@ -261,7 +261,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin // Half support int imageId = WoodenSupportImageIds[supportType].half | imageColourFlags; uint8 ah = special == 1 ? 7 : 12; - sub_98196C(0, ah, imageId, 0, z, 32, 32, rotation); + sub_98196C(imageId, 0, 0, 32, 32, ah, z, rotation); hasSupports = true; z += 16; height -= 1; @@ -284,11 +284,11 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin uint16 lengthX = byte_97B23C[special].var_4; uint8 ah = byte_97B23C[special].var_5; if (byte_97B23C[special].var_6 == 0 || RCT2_GLOBAL(0x009DEA58, uint32) == 0) { - sub_98197C(0, ah, imageId, 0, z, lengthY, lengthX, rotation); + sub_98197C(imageId, 0, 0, lengthX, lengthY, ah, z, rotation); hasSupports = true; } else { hasSupports = true; - if (!sub_98198C(0, ah, imageId, 0, z, lengthY, lengthX, rotation)) { + if (!sub_98198C(imageId, 0, 0, lengthX, lengthY, ah, z, rotation)) { int edi = RCT2_GLOBAL(0x009DEA58, uint32); RCT2_GLOBAL(edi + 0x20, uint32) = imageColourFlags; } diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 46165c3e24..11e78c37ac 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -859,12 +859,22 @@ void sub_688485(){ /** * * rct2: 0x006874B0, 0x00687618, 0x0068778C, 0x00687902, 0x0098199C + * + * @param image_id (ebx) + * @param x_offset (al) + * @param y_offset (cl) + * @param length_x (di) + * @param length_y (si) + * @param z_offset (ah) + * @param height (edx) + * @param rotation + * @return ?? */ -int sub_98199C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation){ +int sub_98199C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation) { RCT2_CALLPROC_X(RCT2_ADDRESS(0x98199C, uint32_t)[get_current_rotation()], - al | (ah << 8), - image_id, - cl, + x_offset | (z_offset << 8), + image_id, + y_offset, height, length_y, length_x, @@ -873,15 +883,24 @@ int sub_98199C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 le } /** - * * rct2: 0x006861AC, 0x00686337, 0x006864D0, 0x0068666B, 0x0098196C + * + * @param image_id (ebx) + * @param x_offset (al) + * @param y_offset (cl) + * @param length_x (di) + * @param length_y (si) + * @param z_offset (ah) + * @param height (edx) + * @param rotation + * @return ?? */ -int sub_98196C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation) +int sub_98196C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation) { RCT2_CALLPROC_X(RCT2_ADDRESS(0x0098196C, uint32)[get_current_rotation()], - al | (ah << 8), - image_id, - cl, + x_offset | (z_offset << 8), + image_id, + y_offset, height, length_y, length_x, @@ -891,11 +910,20 @@ int sub_98196C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 le } /** - * * rct2: 0x00686806, 0x006869B2, 0x00686B6F, 0x00686D31, 0x0098197C + * + * @param image_id (ebx) + * @param x_offset (al) + * @param y_offset (cl) + * @param length_x (di) + * @param length_y (si) + * @param z_offset (ah) + * @param height (edx) + * @param rotation + * @return ?? */ -int sub_98197C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation){ - int ebp = ah + RCT2_GLOBAL(0x9DEA56, sint16); +int sub_98197C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation){ + int ebp = z_offset + RCT2_GLOBAL(0x9DEA56, sint16); RCT2_GLOBAL(0xF1AD28, paint_struct*) = 0; RCT2_GLOBAL(0xF1AD2C, uint32) = 0; @@ -918,8 +946,8 @@ int sub_98197C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 le } rct_xyz16 coord_3d = { - .x = al, - .y = cl, + .x = x_offset, + .y = y_offset, .z = height }; @@ -1059,13 +1087,23 @@ int sub_98197C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 le /** * * rct2: 0x00686EF0, 0x00687056, 0x006871C8, 0x0068733C, 0x0098198C + * + * @param image_id (ebx) + * @param x_offset (al) + * @param y_offset (cl) + * @param length_x (di) + * @param length_y (si) + * @param z_offset (ah) + * @param height (edx) + * @param rotation + * @return ?? */ -int sub_98198C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation) +int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation) { RCT2_CALLPROC_X(RCT2_ADDRESS(0x0098196C, uint32)[get_current_rotation()], - al | (ah << 8), + x_offset | (z_offset << 8), image_id, - cl, + y_offset, height, length_y, length_x, @@ -1092,7 +1130,7 @@ void viewport_vehicle_paint_setup(rct_vehicle *vehicle, int imageDirection) RCT2_GLOBAL(0x9DEA52, uint16) = 0; RCT2_GLOBAL(0x9DEA54, uint16) = 0; RCT2_GLOBAL(0x9DEA56, uint16) = z + 2; - sub_98197C(0, 0, ebx, 0, z, 1, 1, get_current_rotation()); + sub_98197C(ebx, 0, 0, 1, 1, 0, z, get_current_rotation()); return; } @@ -1171,7 +1209,7 @@ void viewport_litter_paint_setup(rct_litter *litter, int imageDirection) RCT2_GLOBAL(0x9DEA54, uint16) = 0xFFFC; RCT2_GLOBAL(0x9DEA56, uint16) = litter->z + 2; - sub_98197C(0, 0xFF, image_id, 0, litter->z, 4, 4, get_current_rotation()); + sub_98197C(image_id, 0, 0, 4, 4, 0xFF, litter->z, get_current_rotation()); } @@ -1298,7 +1336,7 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma sint16 lengthY = (direction & 1) ? 28 : 2; sint16 lengthX = (direction & 1) ? 2 : 28; - sub_98197C(0, ah, image_id, 0, height, lengthY, lengthX, get_current_rotation()); + sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, get_current_rotation()); if (transparant_image_id){ if (is_exit){ @@ -1311,7 +1349,7 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98199C(0, ah, transparant_image_id, 0, height, lengthY, lengthX, 0); + sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 0); } image_id += 4; @@ -1320,7 +1358,7 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma RCT2_GLOBAL(0x009DEA54, uint16) = (direction & 1) ? 2 : 28; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, ah, image_id, 0, height, lengthY, lengthX, get_current_rotation()); + sub_98197C(image_id, 0, 0, lengthX, lengthY, ah, height, get_current_rotation()); if (transparant_image_id){ transparant_image_id += 4; @@ -1328,7 +1366,7 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma RCT2_GLOBAL(0x009DEA54, uint16) = (direction & 1) ? 2 : 28; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98199C(0, ah, transparant_image_id, 0, height, lengthY, lengthX, 0); + sub_98199C(transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 0); } uint32 eax = 0xFFFF0600 | ((height / 16) & 0xFF); @@ -1374,7 +1412,7 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma RCT2_GLOBAL(0x009DEA52, uint16) = 2; RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + style->height; - sub_98199C(0, 0x33, scrolling_text_setup(string_id, scroll, style->scrolling_mode), 0, height + style->height, 0x1C, 0x1C, 0); + sub_98199C(scrolling_text_setup(string_id, scroll, style->scrolling_mode), 0, 0, 0x1C, 0x1C, 0x33, height + style->height, 0); } image_id = RCT2_GLOBAL(0x009E32BC, uint32); @@ -1432,7 +1470,7 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height; - sub_98197C(0, 0, image_id, 0, height, 0x1C, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 0x1C, 0, height, get_current_rotation()); entrance = (rct_entrance_type*)object_entry_groups[OBJECT_TYPE_PARK_ENTRANCE].chunks[0]; image_id = (entrance->image_id + direction * 3) | ghost_id; @@ -1441,7 +1479,7 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height + 32; - sub_98197C(0, 0x2F, image_id, 0, height, 0x1C, 0x1C, get_current_rotation()); + sub_98197C(image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, get_current_rotation()); if ((direction + 1) & (1 << 1)) break; @@ -1477,7 +1515,7 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height + entrance->text_height; - sub_98199C(0, 0x2F, scrolling_text_setup(park_text_id, scroll, entrance->scrolling_mode + direction / 2), 0, height + entrance->text_height, 0x1C, 0x1C, 0); + sub_98199C(scrolling_text_setup(park_text_id, scroll, entrance->scrolling_mode + direction / 2), 0, 0, 0x1C, 0x1C, 0x2F, height + entrance->text_height, 0); break; case 1: case 2: @@ -1488,7 +1526,7 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele RCT2_GLOBAL(0x009DEA54, uint16) = 3; RCT2_GLOBAL(0x009DEA56, sint16) = height; - sub_98197C(0, 0x4F, image_id, 0, height, di, 0x1A, get_current_rotation()); + sub_98197C(image_id, 0, 0, 0x1A, di, 0x4F, height, get_current_rotation()); break; } @@ -1554,7 +1592,7 @@ void viewport_track_paint_setup(uint8 direction, int height, rct_map_element *ma RCT2_GLOBAL(0x009DEA52, uint16) = 1000; RCT2_GLOBAL(0x009DEA54, uint16) = 1000; RCT2_GLOBAL(0x009DEA56, uint16) = 2047; - sub_98197C(16, 0, ebx, 16, height + ax + 3, 1, 1, get_current_rotation()); + sub_98197C(ebx, 16, 16, 1, 1, 0, height + ax + 3, get_current_rotation()); } } @@ -1638,7 +1676,7 @@ void viewport_entrance_paint_setup(uint8 direction, int height, rct_map_element* RCT2_GLOBAL(0x009DEA56, sint16) = z; RCT2_GLOBAL(0x009DEA56, uint16) += 64; - sub_98197C(16, 0, image_id, 16, height, 1, 1, get_current_rotation()); + sub_98197C(image_id, 16, 16, 1, 1, 0, height, get_current_rotation()); } } @@ -1690,11 +1728,11 @@ void viewport_banner_paint_setup(uint8 direction, int height, rct_map_element* m 0x20000000; } - sub_98197C(0, 0x15, image_id, 0, height, 1, 1, get_current_rotation()); + sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, get_current_rotation()); RCT2_GLOBAL(0x9DEA52, uint32) = RCT2_ADDRESS(0x98D888, uint32)[direction * 2]; image_id++; - sub_98197C(0, 0x15, image_id, 0, height, 1, 1, get_current_rotation()); + sub_98197C(image_id, 0, 0, 1, 1, 0x15, height, get_current_rotation()); // Opposite direction direction ^= 2; @@ -1725,7 +1763,7 @@ void viewport_banner_paint_setup(uint8 direction, int height, rct_map_element* m uint16 string_width = gfx_get_string_width(RCT2_ADDRESS(RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER, char)); uint16 scroll = (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TICKS, uint32) / 2) % string_width; - sub_98199C(0, 0x15, scrolling_text_setup(string_id, scroll, scrollingMode), 0, height + 22, 1, 1, 0); + sub_98199C(scrolling_text_setup(string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22, 0); } /** @@ -1790,7 +1828,7 @@ static void sub_68B3FB(int x, int y) RCT2_GLOBAL(0x9DEA54, uint16) = 0; RCT2_GLOBAL(0x9DEA56, uint16) = arrowZ + 18; - sub_98197C(0, 0xFF, imageId, 0, arrowZ, 32, 32, rotation); + sub_98197C(imageId, 0, 0, 32, 32, 0xFF, arrowZ, rotation); } int bx = dx + 52; diff --git a/src/interface/viewport.h b/src/interface/viewport.h index be4ab85a81..55086127c3 100644 --- a/src/interface/viewport.h +++ b/src/interface/viewport.h @@ -131,10 +131,10 @@ void painter_setup(); void sub_688485(); void sub_688217(); -int sub_98196C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation); -int sub_98197C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation); -int sub_98198C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation); -int sub_98199C(sint8 al, sint8 ah, int image_id, sint8 cl, int height, sint16 length_y, sint16 length_x, uint32 rotation); +int sub_98196C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); +int sub_98197C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); +int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); +int sub_98199C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); void viewport_invalidate(rct_viewport *viewport, int left, int top, int right, int bottom); diff --git a/src/ride/track_paint.c b/src/ride/track_paint.c index b15e3eff12..81af58209b 100644 --- a/src/ride/track_paint.c +++ b/src/ride/track_paint.c @@ -45,7 +45,7 @@ static void top_spin_paint_tile_0(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); RCT2_GLOBAL(0x141E9B4, uint16) = 0xFFFF; RCT2_GLOBAL(0x141E9B8, uint16) = 0xFFFF; @@ -144,7 +144,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di // Left back bottom support image_id += 572; - sub_98197C(al, 90, image_id, cl, height, lengthY, lengthX, get_current_rotation()); + sub_98197C(image_id, al, cl, lengthX, lengthY, 90, height, get_current_rotation()); image_id = RCT2_GLOBAL(0x00F441A0, uint32); if (image_id == 0x20000000) { @@ -167,13 +167,13 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 380; sub_98199C( - al, - 90, image_id, + al, cl, - height, - lengthY, lengthX, + lengthY, + 90, + height, 0); uint32 seatImageId; @@ -231,13 +231,13 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di RCT2_GLOBAL(0x014280BA, sint16) = seatCoords.z; sub_98199C( - (sint8)seatCoords.x, - 90, image_id, + (sint8)seatCoords.x, (sint8)seatCoords.y, - seatCoords.z, - lengthY, lengthX, + lengthY, + 90, + seatCoords.z, 0); rct_drawpixelinfo* dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*); @@ -249,7 +249,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 0xA0000000; image_id += 76; - sub_98199C((sint8)seatCoords.x, 90, image_id, (sint8)seatCoords.y, seatCoords.z, lengthY, lengthX, 0); + sub_98199C(image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, 0); if (vehicle->num_peeps > 2) { image_id = @@ -259,7 +259,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 0xA0000000; image_id += 152; - sub_98199C((sint8)seatCoords.x, 90, image_id, (sint8)seatCoords.y, seatCoords.z, lengthY, lengthX, 0); + sub_98199C(image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, 0); } if (vehicle->num_peeps > 4) { @@ -270,7 +270,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 0xA0000000; image_id += 228; - sub_98199C((sint8)seatCoords.x, 90, image_id, (sint8)seatCoords.y, seatCoords.z, lengthY, lengthX, 0); + sub_98199C(image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, 0); } if (vehicle->num_peeps > 6) { @@ -281,7 +281,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 0xA0000000; image_id += 304; - sub_98199C((sint8)seatCoords.x, 90, image_id, (sint8)seatCoords.y, seatCoords.z, lengthY, lengthX, 0); + sub_98199C(image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, 0); } } @@ -300,13 +300,13 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 476; sub_98199C( - al, - 90, image_id, + al, cl, - height, - lengthY, lengthX, + lengthY, + 90, + height, 0); image_id = RCT2_GLOBAL(0x00F441A0, uint32); @@ -323,13 +323,13 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di image_id += 573; sub_98199C( - al, - 90, image_id, + al, cl, - height, - lengthY, lengthX, + lengthY, + height, + 90, 0); RCT2_GLOBAL(0x009DE578, rct_map_element*) = curMapElement; @@ -349,7 +349,7 @@ static void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint16 entranceLoc = @@ -366,7 +366,7 @@ static void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 1, 32, 0); + sub_98199C(image_id, 0, 0, 32, 1, 7, height, 0); } entranceLoc = @@ -380,7 +380,7 @@ static void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 32, 1, 0); + sub_98199C(image_id, 0, 0, 1, 32, 7, height, 0); } top_spin_paint_vehicle(32, 32, rideIndex, direction, height, mapElement); @@ -418,7 +418,7 @@ static void top_spin_paint_tile_2(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint16 entranceLoc = @@ -435,7 +435,7 @@ static void top_spin_paint_tile_2(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 32, 1, 0); + sub_98199C(image_id, 0, 0, 1, 32, 7, height, 0); } RCT2_GLOBAL(0x141E9B4, uint16) = 0xFFFF; @@ -468,7 +468,7 @@ static void top_spin_paint_tile_4(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint16 entranceLoc = @@ -485,7 +485,7 @@ static void top_spin_paint_tile_4(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 1, 32, 0); + sub_98199C(image_id, 0, 0, 32, 1, 7, height, 0); } RCT2_GLOBAL(0x141E9B4, uint16) = 0xFFFF; @@ -518,7 +518,7 @@ static void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint16 entranceLoc = @@ -535,7 +535,7 @@ static void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 32, 1, 0); + sub_98199C(image_id, 0, 0, 1, 32, 7, height, 0); } entranceLoc = @@ -549,7 +549,7 @@ static void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 30; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98197C(0, 7, image_id, 0, height, 1, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 1, 7, height, get_current_rotation()); } top_spin_paint_vehicle(32, -32, rideIndex, direction, height, mapElement); @@ -587,7 +587,7 @@ static void top_spin_paint_tile_5(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint8 entranceId = (mapElement->properties.track.sequence & 0x70) >> 4; @@ -603,7 +603,7 @@ static void top_spin_paint_tile_5(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 30; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98197C(0, 7, image_id, 0, height, 1, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 1, 7, height, get_current_rotation()); } top_spin_paint_vehicle(0, -32, rideIndex, direction, height, mapElement); @@ -638,7 +638,7 @@ static void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint16 entranceLoc = @@ -655,7 +655,7 @@ static void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98199C(0, 7, image_id, 0, height, 1, 32, 0); + sub_98199C(image_id, 0, 0, 32, 1, 7, height, 0); } entranceLoc = @@ -669,7 +669,7 @@ static void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98197C(0, 7, image_id, 0, height, 32, 1, get_current_rotation()); + sub_98197C(image_id, 0, 0, 1, 32, 7, height, get_current_rotation()); } top_spin_paint_vehicle(-32, 32, rideIndex, direction, height, mapElement); @@ -707,7 +707,7 @@ static void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint8 entranceId = (mapElement->properties.track.sequence & 0x70) >> 4; @@ -724,7 +724,7 @@ static void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 29; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height + 3; - sub_98197C(0, 7, image_id, 0, height, 28, 1, get_current_rotation()); + sub_98197C(image_id, 0, 0, 1, 28, 7, height, get_current_rotation()); } entranceLoc = @@ -738,7 +738,7 @@ static void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 29; RCT2_GLOBAL(0x009DEA56, uint16) = height + 3; - sub_98197C(0, 7, image_id, 0, height, 1, 28, get_current_rotation()); + sub_98197C(image_id, 0, 0, 28, 1, 7, height, get_current_rotation()); } top_spin_paint_vehicle(-32, -32, rideIndex, direction, height, mapElement); @@ -776,7 +776,7 @@ static void top_spin_paint_tile_8(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA52, uint16) = 0; RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height; - sub_98197C(0, 1, image_id, 0, height, 32, 32, get_current_rotation()); + sub_98197C(image_id, 0, 0, 32, 32, 1, height, get_current_rotation()); sint16 x = RCT2_GLOBAL(0x009DE56A, sint16), y = RCT2_GLOBAL(0x009DE56E, sint16); uint8 entranceId = (mapElement->properties.track.sequence & 0x70) >> 4; @@ -793,7 +793,7 @@ static void top_spin_paint_tile_8(uint8 rideIndex, uint8 trackSequence, uint8 di RCT2_GLOBAL(0x009DEA54, uint16) = 0; RCT2_GLOBAL(0x009DEA56, uint16) = height + 2; - sub_98197C(0, 7, image_id, 0, height, 32, 1, get_current_rotation()); + sub_98197C(image_id, 0, 0, 1, 32, 7, height, get_current_rotation()); } top_spin_paint_vehicle(-32, 0, rideIndex, direction, height, mapElement); @@ -1023,17 +1023,17 @@ static void shop_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 directi RCT2_GLOBAL(0x009DEA52, uint16) = 2; RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 45, foundationImageId, 0, height, 28, 28, rotation); + sub_98197C(foundationImageId, 0, 0, 28, 28, 45, height, rotation); RCT2_GLOBAL(0x009DEA52, uint16) = 2; RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98199C(0, 45, imageId, 0, height, 28, 28, rotation); + sub_98199C(imageId, 0, 0, 28, 28, 45, height, rotation); } else { RCT2_GLOBAL(0x009DEA52, uint16) = 2; RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 45, imageId, 0, height, 28, 28, rotation); + sub_98197C(imageId, 0, 0, 28, 28, 45, height, rotation); } height16 += 48; @@ -1093,20 +1093,20 @@ static void facility_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 dir RCT2_GLOBAL(0x009DEA52, uint16) = direction == 3 ? 28 : 2; RCT2_GLOBAL(0x009DEA54, uint16) = direction == 0 ? 28 : 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 29, foundationImageId, 0, height, lengthY, lengthX, rotation); + sub_98197C(foundationImageId, 0, 0, lengthX, lengthY, 29, height, rotation); // Door image or base RCT2_GLOBAL(0x009DEA52, uint16) = direction == 3 ? 28 : 2; RCT2_GLOBAL(0x009DEA54, uint16) = direction == 0 ? 28 : 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98199C(0, 29, imageId, 0, height, lengthY, lengthX, rotation); + sub_98199C(imageId, 0, 0, lengthX, lengthY, 29, height, rotation); } else { // Door image or base RCT2_GLOBAL(0x009DEA52, uint16) = direction == 3 ? 28 : 2; RCT2_GLOBAL(0x009DEA54, uint16) = direction == 0 ? 28 : 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 29, imageId, 0, height, lengthY, lengthX, rotation); + sub_98197C(imageId, 0, 0, lengthX, lengthY, 29, height, rotation); } // Base image if door was drawn @@ -1115,13 +1115,13 @@ static void facility_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 dir RCT2_GLOBAL(0x009DEA52, uint16) = 28; RCT2_GLOBAL(0x009DEA54, uint16) = 2; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 29, imageId, 0, height, 28, 2, rotation); + sub_98197C(imageId, 0, 0, 2, 28, 29, height, rotation); } else if (direction == 2) { imageId += 4; RCT2_GLOBAL(0x009DEA52, uint16) = 2; RCT2_GLOBAL(0x009DEA54, uint16) = 28; RCT2_GLOBAL(0x009DEA56, sint16) = height16; - sub_98197C(0, 29, imageId, 0, height, 2, 28, rotation); + sub_98197C(imageId, 0, 0, 28, 2, 29, height, rotation); } height16 += 32;