Remove rotation argument from sub_98199C

This commit is contained in:
Michał Janiszewski 2018-02-12 23:06:45 +01:00 committed by Michał Janiszewski
parent 5795810a85
commit acccd0a2c8
42 changed files with 272 additions and 204 deletions

View File

@ -1022,17 +1022,20 @@ paint_struct * sub_98198C(
* @param bound_box_offset_x (0x009DEA52)
* @param bound_box_offset_y (0x009DEA54)
* @param bound_box_offset_z (0x009DEA56)
* @param rotation (ebp)
* @return (ebp) paint_struct on success (CF == 0), nullptr on failure (CF == 1)
*/
paint_struct * sub_98199C(
paint_session * session,
uint32 image_id,
sint8 x_offset, sint8 y_offset,
sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z,
sint16 z_offset,
sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z,
uint32 rotation)
paint_session * session,
uint32 image_id,
sint8 x_offset,
sint8 y_offset,
sint16 bound_box_length_x,
sint16 bound_box_length_y,
sint8 bound_box_length_z,
sint16 z_offset,
sint16 bound_box_offset_x,
sint16 bound_box_offset_y,
sint16 bound_box_offset_z)
{
assert((uint16)bound_box_length_x == (sint16)bound_box_length_x);
assert((uint16)bound_box_length_y == (sint16)bound_box_length_y);

View File

@ -209,7 +209,18 @@ paint_struct * sub_98198C(
sint16 bound_box_offset_x,
sint16 bound_box_offset_y,
sint16 bound_box_offset_z);
paint_struct * sub_98199C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
paint_struct * sub_98199C(
paint_session * session,
uint32 image_id,
sint8 x_offset,
sint8 y_offset,
sint16 bound_box_length_x,
sint16 bound_box_length_y,
sint8 bound_box_length_z,
sint16 z_offset,
sint16 bound_box_offset_x,
sint16 bound_box_offset_y,
sint16 bound_box_offset_z);
paint_struct * sub_98196C_rotated(paint_session * session, uint8 direction, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset);
paint_struct * sub_98197C_rotated(paint_session * session, uint8 direction, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z);

View File

@ -65,9 +65,13 @@ paint_struct * sub_98199C_rotated(
sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z)
{
if (direction & 1) {
return sub_98199C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation());
return sub_98199C(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
} else {
return sub_98199C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation());
return sub_98199C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
}

View File

@ -86,19 +86,19 @@ void peep_paint(paint_session * session, rct_peep * peep, sint32 imageDirection)
if (baseImageId >= 10717 && baseImageId < 10749) {
imageId = (baseImageId + 32) | peep->hat_colour << 19 | IMAGE_TYPE_REMAP;
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5);
return;
}
if (baseImageId >= 10781 && baseImageId < 10813) {
imageId = (baseImageId + 32) | peep->balloon_colour << 19 | IMAGE_TYPE_REMAP;
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5);
return;
}
if (baseImageId >= 11197 && baseImageId < 11229) {
imageId = (baseImageId + 32) | peep->umbrella_colour << 19 | IMAGE_TYPE_REMAP;
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5);
return;
}
}

View File

@ -115,5 +115,7 @@ void banner_paint(paint_session * session, uint8 direction, sint32 height, const
uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer);
uint16 scroll = (gCurrentTicks / 2) % string_width;
sub_98199C(session, scrolling_text_setup(session, string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation());
sub_98199C(
session, scrolling_text_setup(session, string_id, scroll, scrollingMode), 0, 0, 1, 1, 0x15, height + 22,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
}

View File

@ -119,7 +119,7 @@ static void ride_entrance_exit_paint(paint_session * session, uint8 direction, s
transparant_image_id |= style->sprite_index + direction + 16;
}
sub_98199C(session, transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation());
sub_98199C(session, transparant_image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height);
}
image_id += 4;
@ -129,7 +129,9 @@ static void ride_entrance_exit_paint(paint_session * session, uint8 direction, s
if (transparant_image_id){
transparant_image_id += 4;
sub_98199C(session, transparant_image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation());
sub_98199C(
session, transparant_image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2,
(direction & 1) ? 2 : 28, height);
}
if (direction & 1) {
@ -168,7 +170,9 @@ static void ride_entrance_exit_paint(paint_session * session, uint8 direction, s
uint16 string_width = gfx_get_string_width(entrance_string);
uint16 scroll = (gCurrentTicks / 2) % string_width;
sub_98199C(session, scrolling_text_setup(session, string_id, scroll, style->scrolling_mode), 0, 0, 0x1C, 0x1C, 0x33, height + style->height, 2, 2, height + style->height, get_current_rotation());
sub_98199C(
session, scrolling_text_setup(session, string_id, scroll, style->scrolling_mode), 0, 0, 0x1C, 0x1C, 0x33,
height + style->height, 2, 2, height + style->height);
}
image_id = _unk9E32BC;
@ -264,7 +268,7 @@ static void park_entrance_paint(paint_session * session, uint8 direction, sint32
sint32 stsetup = scrolling_text_setup(session, park_text_id, scroll, entrance->scrolling_mode + direction / 2);
sint32 text_height = height + entrance->text_height;
sub_98199C(session, stsetup, 0, 0, 0x1C, 0x1C, 0x2F, text_height, 2, 2, text_height, get_current_rotation());
sub_98199C(session, stsetup, 0, 0, 0x1C, 0x1C, 0x2F, text_height, 2, 2, text_height);
}
break;
case 1:

View File

@ -90,7 +90,9 @@ static void fence_paint_door(paint_session * session, uint32 imageId,
ps->tertiary_colour = tertiaryColour;
}
ps = sub_98199C(session, imageId + 1, (sint8) offset.x, (sint8) offset.y, boundsL1.x, boundsL1.y, (sint8) boundsL1.z, offset.z, boundsL1_.x, boundsL1_.y, boundsL1_.z, get_current_rotation());
ps = sub_98199C(
session, imageId + 1, (sint8)offset.x, (sint8)offset.y, boundsL1.x, boundsL1.y, (sint8)boundsL1.z, offset.z,
boundsL1_.x, boundsL1_.y, boundsL1_.z);
if (ps != nullptr) {
ps->tertiary_colour = tertiaryColour;
}
@ -117,7 +119,9 @@ static void fence_paint_wall(paint_session * session, uint32 frameNum, const rct
boundsOffset.y, boundsOffset.z);
if (dword_141F710 == 0) {
imageId = baseImageId + dword_141F718;
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z,
boundsOffset.x, boundsOffset.y, boundsOffset.z);
}
} else {
if (sceneryEntry->wall.flags & WALL_SCENERY_HAS_PRIMARY_COLOUR) {
@ -394,5 +398,7 @@ void fence_paint(paint_session * session, uint8 direction, sint32 height, const
uint16 string_width = gfx_get_string_width(signString);
uint16 scroll = (gCurrentTicks / 2) % string_width;
sub_98199C(session, scrolling_text_setup(session, stringId, scroll, scrollingMode), 0, 0, 1, 1, 13, height + 8, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98199C(
session, scrolling_text_setup(session, stringId, scroll, scrollingMode), 0, 0, 1, 1, 13, height + 8, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
}

View File

@ -379,7 +379,9 @@ void large_scenery_paint(paint_session * session, uint8 direction, uint16 height
uint16 string_width = gfx_get_string_width(signString);
uint16 scroll = (gCurrentTicks / 2) % string_width;
sub_98199C(session, scrolling_text_setup(session, stringId, scroll, scrollMode), 0, 0, 1, 1, 21, height + 25, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation());
sub_98199C(
session, scrolling_text_setup(session, stringId, scroll, scrollMode), 0, 0, 1, 1, 21, height + 25, boxoffset.x,
boxoffset.y, boxoffset.z);
large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile);
}

View File

@ -479,7 +479,9 @@ static void sub_6A4101(
uint16 string_width = gfx_get_string_width(gCommonStringFormatBuffer);
uint16 scroll = (gCurrentTicks / 2) % string_width;
sub_98199C(session, scrolling_text_setup(session, string_id, scroll, scrollingMode), 0, 0, 1, 1, 21, height + 7, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation());
sub_98199C(
session, scrolling_text_setup(session, string_id, scroll, scrollingMode), 0, 0, 1, 1, 21, height + 7,
boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z);
}
session->InteractionType = VIEWPORT_INTERACTION_ITEM_FOOTPATH;
@ -965,7 +967,9 @@ void path_paint_box_support(
if (!footpath_element_is_queue(tileElement) && !(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) {
// don't draw
} else {
sub_98199C(session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98199C(
session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x,
boundBoxOffset.y, height + boundingBoxZOffset);
}
}
@ -1104,7 +1108,9 @@ void path_paint_pole_support(
boundBoxOffset.y, height + boundingBoxZOffset);
if (footpath_element_is_queue(tileElement) || (footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) {
sub_98199C(session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98199C(
session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x,
boundBoxOffset.y, height + boundingBoxZOffset);
}
}

View File

@ -157,7 +157,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
// Draw translucent overlay:
// TODO: Name palette entries
sint32 image_id = (baseImageid & 0x7FFFF) + (GlassPaletteIds[scenery_small_get_primary_colour(tileElement)] << 19) + 0x40000004;
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
}
}
@ -171,7 +173,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
} else
if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_FOUNTAIN_SPRAY_4)) {
// 6E043B:
@ -179,19 +183,25 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
image_id = direction + entry->image + 4;
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
image_id = ((gCurrentTicks / 2) & 0xF) + entry->image + 24;
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
} else
if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_IS_CLOCK)) {
// 6E035C:
@ -213,7 +223,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
image_id = gRealTimeOfDay.minute + (direction * 15);
if (image_id >= 60) {
@ -223,7 +235,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
} else
if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_SWAMP_GOO)) {
// 6E02F6:
@ -235,7 +249,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
if (dword_F64EB0 != 0) {
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
}
else if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_HAS_FRAME_OFFSETS))
{
@ -277,7 +293,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
boxoffset.y, boxoffset.z);
}
else {
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98199C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
}
}
}

View File

@ -273,12 +273,12 @@ void track_paint_util_paint_fences(
if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, rotation))
{
imageId = fenceSprites[3] | colourFlags;
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation);
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2);
}
if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, rotation))
{
imageId = fenceSprites[0] | colourFlags;
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation);
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2);
}
if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation))
{
@ -852,8 +852,9 @@ bool track_paint_util_draw_station_covers_2(paint_session * session, enum edge_t
// weird jump
imageId = (baseImageId | edi) + 0x3800000 + imageOffset + 12;
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z,
boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
return true;
}
@ -2048,11 +2049,11 @@ void track_paint_util_spinning_tunnel_paint(paint_session * session, sint8 thick
uint32 imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][0][frame] | colourFlags;
if (direction == 0 || direction == 2)
{
sub_98199C(session, imageId, 0, 0, 28, 20, thickness, height, 2, 6, height, rotation);
sub_98199C(session, imageId, 0, 0, 28, 20, thickness, height, 2, 6, height);
}
else
{
sub_98199C(session, imageId, 0, 0, 20, 28, thickness, height, 6, 2, height, rotation);
sub_98199C(session, imageId, 0, 0, 20, 28, thickness, height, 6, 2, height);
}
imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][1][frame] | colourFlags;

View File

@ -912,7 +912,6 @@ static void vehicle_sprite_paint(paint_session * session, rct_vehicle * vehicle,
{
baseImage_id += vehicle->animation_frame;
}
uint32 rotation = get_current_rotation();
sint32 image_id =
baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
paint_struct * ps = sub_98197C(
@ -935,8 +934,9 @@ static void vehicle_sprite_paint(paint_session * session, rct_vehicle * vehicle,
{
image_id += (vehicleEntry->no_vehicle_images * vehicle->animation_frame);
}
sub_98199C(session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y,
bb.offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y,
bb.offset_z + z);
baseImage_id += vehicleEntry->no_vehicle_images;
}
}
@ -2880,7 +2880,7 @@ static void vehicle_visual_splash1_effect(paint_session * session, sint32 z, rct
}
sint32 image_id =
29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7);
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation());
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z);
}
/**
@ -2904,7 +2904,7 @@ static void vehicle_visual_splash2_effect(paint_session * session, sint32 z, rct
}
sint32 image_id =
29046 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7);
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation());
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z);
}
/**
@ -2928,7 +2928,7 @@ static void vehicle_visual_splash3_effect(paint_session * session, sint32 z, rct
}
sint32 image_id =
29014 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7);
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z, get_current_rotation());
sub_98199C(session, image_id, 0, 0, 0, 0, 0, z, 0, 0, z);
}
/**
@ -2953,7 +2953,7 @@ static void vehicle_visual_splash4_effect(paint_session * session, sint32 z, rct
}
sint32 image_id =
29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7);
sub_98199C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation());
sub_98199C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z);
}
/**
@ -2982,7 +2982,7 @@ static void vehicle_visual_splash5_effect(paint_session * session, sint32 z, rct
}
sint32 image_id =
29078 + ((((vehicle->sprite_direction / 8) + get_current_rotation()) & 3) * 8) + ((gCurrentTicks / 2) & 7);
sub_98199C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation());
sub_98199C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z);
}
void vehicle_visual_splash_effect(paint_session * session, sint32 z, rct_vehicle * vehicle,

View File

@ -1676,7 +1676,7 @@ void junior_rc_paint_station(
{
imageId = junior_rc_track_pieces_station[false][direction] | session->TrackColours[SCHEME_TRACK];
}
sub_98199C(session, imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 6, 32, 20, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
@ -1698,7 +1698,7 @@ void junior_rc_paint_station(
{
imageId = junior_rc_track_pieces_station[false][direction] | session->TrackColours[SCHEME_TRACK];
}
sub_98199C(session, imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 6, 0, 20, 32, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);

View File

@ -245,7 +245,7 @@ static void paint_reverse_freefall_rc_station(
// height += 2 (height)
imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS],
nullptr);
@ -259,7 +259,7 @@ static void paint_reverse_freefall_rc_station(
// height += 2 (height)
imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS],
nullptr);

View File

@ -220,8 +220,9 @@ void vehicle_visual_virginia_reel(paint_session * session, sint32 x, sint32 imag
{
image_id = (baseImage_id + ((i + 1) * 72)) |
SPRITE_ID_PALETTE_COLOUR_1(riding_peep_sprites[i]);
sub_98199C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z);
}
}
}
@ -478,7 +479,7 @@ static void paint_virginia_reel_station(
sub_98197C(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height);
imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 20, 2, height, 0, 0, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
@ -488,7 +489,7 @@ static void paint_virginia_reel_station(
sub_98197C(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height);
imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 32, 2, height, 0, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}

View File

@ -432,9 +432,9 @@ static void wooden_rc_track_paint_bb(paint_session * session, const sprite_bb_2
sub_98197C(
session, imageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z,
height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z);
sub_98199C(session, railsImageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y,
(sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z,
get_current_rotation());
sub_98199C(
session, railsImageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z,
height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z);
}
/** rct2: 0x008AC568 */

View File

@ -372,11 +372,11 @@ static void paint_car_ride_station(
imageId = car_ride_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98199C(session, imageId, 0, 6, 32, 20, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 6, 32, 20, 1, height, 0, 0, height);
}
else
{
sub_98199C(session, imageId, 6, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 6, 0, 20, 32, 1, height, 0, 0, height);
}
if (direction == 0 || direction == 2)

View File

@ -100,8 +100,9 @@ static void paint_ferris_wheel_structure(paint_session * session, uint8 rideInde
boundBox.offset_y, height);
imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && ride->vehicles[0] != SPRITE_INDEX_NULL)
{
@ -122,14 +123,16 @@ static void paint_ferris_wheel_structure(paint_session * session, uint8 rideInde
sint32 frameNum = (vehicle->vehicle_sprite_type + i * 4) % 128;
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[i], vehicle->peep_tshirt_colours[i + 1]);
imageId = (baseImageId + 32 + direction * 128 + frameNum) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
}
}
imageId = (22150 + (direction & 1) * 2 + 1) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
session->CurrentlyDrawnItem = savedTileElement;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
@ -172,12 +175,12 @@ static void paint_ferris_wheel(
if (edges & EDGE_NW && track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, rotation))
{
imageId = SPR_FENCE_ROPE_NW | colourFlags;
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, rotation);
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2);
}
if (edges & EDGE_NE && track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, rotation))
{
imageId = SPR_FENCE_ROPE_NE | colourFlags;
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, rotation);
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2);
}
if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation))
{

View File

@ -435,11 +435,11 @@ static void paint_ghost_train_station(
imageId = ghost_train_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98199C(session, imageId, 0, 0, 32, 20, 3, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 20, 3, height, 0, 0, height);
}
else
{
sub_98199C(session, imageId, 0, 0, 20, 32, 3, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 32, 3, height, 0, 0, height);
}
if (direction == 0 || direction == 2)

View File

@ -80,8 +80,9 @@ static void paint_haunted_house_structure(paint_session * session, uint8 rideInd
break;
}
imageId = imageId | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
}
session->CurrentlyDrawnItem = savedTileElement;

View File

@ -100,8 +100,7 @@ static void paint_merry_go_round_structure(paint_session * session, uint8 rideIn
imageColourFlags =
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[peep], vehicle->peep_tshirt_colours[peep + 1]);
imageId = (baseImageId + 32 + imageOffset) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height,
get_current_rotation());
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height);
}
}

View File

@ -727,7 +727,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(
break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SW_NW | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, 0, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 26, 24, 1, height, 6, 2, height);
break;
@ -736,7 +736,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(
break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NW_NE | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, 0, 0, 26, 26, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 26, 26, 1, height, 0, 0, height);
break;
case 2:
@ -745,7 +745,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(
break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_NE_SE | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, 0, 0, 24, 26, 1, height, 2, 6, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 24, 26, 1, height, 2, 6, height);
break;
case 3:
@ -755,7 +755,7 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(
break;
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_BACK_SE_SW | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, 0, 0, 24, 24, 1, height, 6, 6, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 24, 24, 1, height, 6, 6, height);
break;
}
@ -835,8 +835,7 @@ static void paint_mini_golf_hole_ab(paint_session * session, uint8 trackSequence
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
else
{
@ -930,8 +929,7 @@ static void paint_mini_golf_hole_c(
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
else
{
@ -1024,8 +1022,7 @@ static void paint_mini_golf_hole_d(
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
else
{
@ -1118,8 +1115,7 @@ static void paint_mini_golf_hole_e(
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
else
{

View File

@ -40,7 +40,7 @@ static void paint_mini_helicopters_track_station(
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
@ -52,7 +52,7 @@ static void paint_mini_helicopters_track_station(
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);

View File

@ -211,7 +211,7 @@ static void paint_monorail_cycles_station(
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
@ -223,7 +223,7 @@ static void paint_monorail_cycles_station(
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
metal_a_supports_paint_setup(session, METAL_SUPPORTS_BOXED, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);

View File

@ -178,7 +178,7 @@ static void paint_observation_tower_section(
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)
{
imageId = SPR_OBSERVATION_TOWER_SEGMENT_TOP | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -80,7 +80,7 @@ static void paint_space_rings_structure(paint_session * session, Ride * ride, ui
rct_peep * rider = GET_PEEP(vehicle->peep[0]);
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(rider->tshirt_colour, rider->trousers_colour);
imageId = ((baseImageId & 0x7FFFF) + 352 + frameNum) | imageColourFlags;
sub_98199C(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height);
}
}

View File

@ -192,8 +192,9 @@ static void spiral_slide_paint_tile_front(
image_id = (offset + slide_progress) | (ride->slide_peep_t_shirt_colour << 19) | (1 << 29);
sub_98199C(session, image_id, 16, 16, boundingBox.x, boundingBox.y, boundingBox.z, height, boundingBoxOffset.x,
boundingBoxOffset.y, boundingBoxOffset.z, get_current_rotation());
sub_98199C(
session, image_id, 16, 16, boundingBox.x, boundingBox.y, boundingBox.z, height, boundingBoxOffset.x,
boundingBoxOffset.y, boundingBoxOffset.z);
}
}
}

View File

@ -59,7 +59,6 @@ static void facility_paint_setup(
imageId |= firstVehicleEntry->base_image_id;
imageId += (direction + 2) & 3;
sint32 rotation = get_current_rotation();
sint32 lengthX = (direction & 1) == 0 ? 28 : 2;
sint32 lengthY = (direction & 1) == 0 ? 2 : 28;
if (hasSupports)
@ -71,8 +70,8 @@ static void facility_paint_setup(
height);
// Door image or base
sub_98199C(session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2,
height, rotation);
sub_98199C(
session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height);
}
else
{

View File

@ -63,7 +63,7 @@ static void shop_paint_setup(
((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3];
sub_98197C(session, foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height);
sub_98199C(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height);
}
else
{

View File

@ -75,7 +75,7 @@ static void paint_enterprise_structure(
uint32 peepFrameOffset = ((imageOffset % 4) * 4 + (i * 4) % 15) & 0x0F;
uint32 ax = (imageOffset & 0xFFFFFFFC) << 2;
imageId = (baseImageId + 196 + peepFrameOffset + ax) | SPRITE_ID_PALETTE_COLOUR_1(vehicle->peep_tshirt_colours[i]);
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height);
}
}

View File

@ -44,7 +44,6 @@ void vehicle_visual_launched_freefall(paint_session * session, sint32 x, sint32
sint32 image_id;
sint32 baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2);
const uint8 rotation = get_current_rotation();
// Draw back:
image_id = (baseImage_id + 2) | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1);
@ -65,24 +64,24 @@ void vehicle_visual_launched_freefall(paint_session * session, sint32 x, sint32
}
image_id = (baseImage_id + ((((imageDirection / 8) + 0) & 3) * 3)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[0], vehicle->peep_tshirt_colours[1]);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
if (vehicle->num_peeps > 2)
{
image_id = (baseImage_id + ((((imageDirection / 8) + 1) & 3) * 3)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[2], vehicle->peep_tshirt_colours[3]);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
}
if (vehicle->num_peeps > 4)
{
image_id = (baseImage_id + ((((imageDirection / 8) + 2) & 3) * 3)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[4], vehicle->peep_tshirt_colours[5]);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
}
if (vehicle->num_peeps > 6)
{
image_id = (baseImage_id + ((((imageDirection / 8) + 3) & 3) * 3)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[6], vehicle->peep_tshirt_colours[7]);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
}
}
}
@ -188,7 +187,7 @@ static void paint_launched_freefall_tower_section(
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)
{
imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT_TOP | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -91,8 +91,9 @@ static void paint_magic_carpet_frame(paint_session * session, uint8 plane, uint8
}
else
{
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x,
bbOffset.y, bbOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y,
bbOffset.z);
}
}
@ -113,8 +114,9 @@ static void paint_magic_carpet_pendulum(paint_session * session, uint8 plane, ui
imageId += plane == PLANE_BACK ? SPR_MAGIC_CARPET_PENDULUM_NW : SPR_MAGIC_CARPET_PENDULUM_SE;
}
imageId |= session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y,
bbOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y,
bbOffset.z);
}
static void paint_magic_carpet_vehicle(paint_session * session, Ride * ride, uint8 direction, uint32 swingImageId,
@ -149,8 +151,9 @@ static void paint_magic_carpet_vehicle(paint_session * session, Ride * ride, uin
}
offset.z += MagicCarpetOscillationZ[swingImageId];
sub_98199C(session, vehicleImageId | imageColourFlags, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z,
bbOffset.x, bbOffset.y, bbOffset.z, get_current_rotation());
sub_98199C(
session, vehicleImageId | imageColourFlags, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z,
bbOffset.x, bbOffset.y, bbOffset.z);
// Riders
rct_drawpixelinfo * dpi = session->Unk140E9A8;
@ -165,8 +168,9 @@ static void paint_magic_carpet_vehicle(paint_session * session, Ride * ride, uin
uint32 imageId = baseImageId + (peepIndex * 2);
imageId |= (vehicle->peep_tshirt_colours[peepIndex + 0] << 19);
imageId |= (vehicle->peep_tshirt_colours[peepIndex + 1] << 24);
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x,
bbOffset.y, bbOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x,
bbOffset.y, bbOffset.z);
}
}
}

View File

@ -79,7 +79,6 @@ static void paint_motionsimulator_vehicle(
sint16 offsetZ = height + 2;
uint32 imageId;
uint8 currentRotation = get_current_rotation();
switch (direction)
{
case 0:
@ -88,7 +87,7 @@ static void paint_motionsimulator_vehicle(
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ);
@ -99,7 +98,7 @@ static void paint_motionsimulator_vehicle(
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ);
@ -113,7 +112,7 @@ static void paint_motionsimulator_vehicle(
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ);
// Simulator
imageId = simulatorImageId;
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation);
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ);
break;
case 3:
// Stairs (rail)
@ -124,7 +123,7 @@ static void paint_motionsimulator_vehicle(
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ);
// Simulator
imageId = simulatorImageId;
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation);
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ);
break;
}

View File

@ -117,8 +117,9 @@ static void paint_pirate_ship_structure(paint_session * session, Ride * ride, ui
height);
imageId = baseImageId | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y,
height);
rct_drawpixelinfo * dpi = session->Unk140E9A8;
@ -137,8 +138,9 @@ static void paint_pirate_ship_structure(paint_session * session, Ride * ride, ui
imageColourFlags =
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[peep], vehicle->peep_tshirt_colours[peep + 1]);
imageId = (baseImageId + frameNum) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height);
peep += 2;
@ -151,8 +153,9 @@ static void paint_pirate_ship_structure(paint_session * session, Ride * ride, ui
imageColourFlags =
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[peep], vehicle->peep_tshirt_colours[peep + 1]);
imageId = (baseImageId + frameNum) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height);
peep += 2;
offset += 2;
@ -160,8 +163,9 @@ static void paint_pirate_ship_structure(paint_session * session, Ride * ride, ui
}
imageId = pirate_ship_frame_sprites[(direction & 1)][1] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height, get_current_rotation());
sub_98199C(
session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y,
height);
session->CurrentlyDrawnItem = savedTileElement;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
@ -221,7 +225,7 @@ static void paint_pirate_ship(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
session->TrackColours[SCHEME_TRACK];
}
sub_98199C(session, imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height + 9, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height + 9);
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
session->TrackColours[SCHEME_TRACK];
@ -266,7 +270,7 @@ static void paint_pirate_ship(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
session->TrackColours[SCHEME_TRACK];
}
sub_98199C(session, imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height + 9, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height + 9);
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
session->TrackColours[SCHEME_TRACK];

View File

@ -47,7 +47,6 @@ void vehicle_visual_roto_drop(paint_session * session, sint32 x, sint32 imageDir
baseImage_id += (vehicle->restraints_position / 64);
}
const uint8 rotation = get_current_rotation();
// Draw back:
image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1);
@ -81,7 +80,7 @@ void vehicle_visual_roto_drop(paint_session * session, sint32 x, sint32 imageDir
baseImage_id += vehicle->restraints_position / 64;
}
image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_1(riding_peep_sprites[i]);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98199C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
}
};
@ -193,7 +192,7 @@ static void paint_roto_drop_tower_section(
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)
{
imageId = SPR_ROTO_DROP_TOWER_SEGMENT_TOP | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -108,16 +108,18 @@ static void paint_swinging_inverter_ship_structure(paint_session * session, Ride
sub_98197C(
session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
sub_98199C(session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
}
else
{
sub_98197C(
session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
sub_98199C(session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
sub_98199C(
session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
}
session->CurrentlyDrawnItem = savedTileElement;
@ -167,11 +169,11 @@ static void paint_swinging_inverter_ship(
break;
case 2:
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 8, 1, height + 9, -2, 0, height);
break;
case 3:
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 8, 32, 1, height + 9, 0, -2, height);
break;
}
}

View File

@ -96,7 +96,6 @@ static void top_spin_paint_vehicle(
image_id = SPRITE_ID_PALETTE_COLOUR_2(ride->track_colour_main[0], ride->track_colour_supports[0]);
}
const uint8 rotation = get_current_rotation();
image_id += (direction & 1) << 1;
image_id += rideEntry->vehicles[0].base_image_id;
// Left back bottom support
@ -122,8 +121,7 @@ static void top_spin_paint_vehicle(
// Left hand arm
image_id += 380;
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ,
rotation);
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
uint32 seatImageId;
@ -176,8 +174,9 @@ static void top_spin_paint_vehicle(
break;
}
sub_98199C(session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX,
boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98199C(
session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX,
boundBoxOffsetY, boundBoxOffsetZ);
rct_drawpixelinfo * dpi = session->Unk140E9A8;
if (dpi->zoom_level < 2 && vehicle != nullptr && vehicle->num_peeps != 0)
@ -185,16 +184,18 @@ static void top_spin_paint_vehicle(
image_id = (seatImageId + (1 * 76)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[0], vehicle->peep_tshirt_colours[1]);
sub_98199C(session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98199C(
session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z, boundBoxOffsetX,
boundBoxOffsetY, boundBoxOffsetZ);
if (vehicle->num_peeps > 2)
{
image_id = (seatImageId + (2 * 76)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[2], vehicle->peep_tshirt_colours[3]);
sub_98199C(session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98199C(
session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
}
if (vehicle->num_peeps > 4)
@ -202,8 +203,9 @@ static void top_spin_paint_vehicle(
image_id = (seatImageId + (3 * 76)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[4], vehicle->peep_tshirt_colours[5]);
sub_98199C(session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98199C(
session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
}
if (vehicle->num_peeps > 6)
@ -211,8 +213,9 @@ static void top_spin_paint_vehicle(
image_id = (seatImageId + (4 * 76)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[6], vehicle->peep_tshirt_colours[7]);
sub_98199C(session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98199C(
session, image_id, (sint8)seatCoords.x, (sint8)seatCoords.y, lengthX, lengthY, 90, seatCoords.z,
boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
}
}
@ -228,8 +231,7 @@ static void top_spin_paint_vehicle(
// Right hand arm
image_id += 476;
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ,
rotation);
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
image_id = session->TrackColours[SCHEME_MISC];
if (image_id == IMAGE_TYPE_REMAP)
@ -242,8 +244,7 @@ static void top_spin_paint_vehicle(
// Right back bottom support
image_id += 573;
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ,
rotation);
sub_98199C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
session->CurrentlyDrawnItem = curTileElement;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;

View File

@ -76,8 +76,7 @@ static void paint_twist_structure(paint_session * session, Ride * ride, uint8 di
uint32 peepFrameNum = (frameNum + i * 12) % 216;
imageId = (baseImageId + 24 + peepFrameNum) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height,
get_current_rotation());
sub_98199C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height);
}
}

View File

@ -212,14 +212,14 @@ static void chairlift_paint_station_ne_sw(
if (hasFence)
{
imageId = SPR_FENCE_METAL_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 1, 7, height, 0, 2, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
if ((direction == 2 && isStart) || (direction == 0 && isEnd))
{
imageId = SPR_FENCE_METAL_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 1, 28, 7, height, 2, 2, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 28, 7, height, 2, 2, height + 4);
}
hasFence = track_paint_util_has_fence(EDGE_SE, pos, tileElement, ride, get_current_rotation());
@ -241,7 +241,7 @@ static void chairlift_paint_station_ne_sw(
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
drawFrontColumn = false;
}
@ -251,7 +251,7 @@ static void chairlift_paint_station_ne_sw(
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_SW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
drawBackColumn = false;
}
@ -307,14 +307,14 @@ static void chairlift_paint_station_se_nw(
if (hasFence)
{
imageId = SPR_FENCE_METAL_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 32, 7, height, 2, 0, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
if ((direction == 1 && isStart) || (direction == 3 && isEnd))
{
imageId = SPR_FENCE_METAL_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 28, 1, 7, height, 2, 2, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 28, 1, 7, height, 2, 2, height + 4);
}
hasFence = track_paint_util_has_fence(EDGE_SW, pos, tileElement, ride, get_current_rotation());
@ -333,7 +333,7 @@ static void chairlift_paint_station_se_nw(
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
drawLeftColumn = false;
}
@ -346,7 +346,7 @@ static void chairlift_paint_station_se_nw(
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
drawRightColumn = false;
}

View File

@ -976,8 +976,9 @@ static void paint_miniature_railway_track_right_quarter_turn_5_tiles(
LocationXY16 boundsLength = miniature_railway_right_quarter_turn_5_tiles_bound_lengths[direction][index];
LocationXYZ16 boundsOffset = { offset.x, offset.y, 0 };
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 2, height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 2, height, boundsOffset.x,
boundsOffset.y, height + boundsOffset.z);
}
}
if (direction == 0 && trackSequence == 0)
@ -1332,8 +1333,9 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles(
LocationXY16 boundsLength = defaultRightQuarterTurn3TilesBoundLengths[direction][index];
LocationXYZ16 boundsOffset = { offset.x, offset.y, 0 };
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 3, height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, get_current_rotation());
sub_98199C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 3, height, boundsOffset.x,
boundsOffset.y, height + boundsOffset.z);
}
track_paint_util_right_quarter_turn_3_tiles_tunnel(session, height, direction, trackSequence, TUNNEL_6);
@ -1493,8 +1495,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag(
imageId = miniature_railway_track_pieces_left_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK];
offset = miniature_railway_track_pieces_left_eight_to_diag_offset[direction][index];
bounds = miniature_railway_track_pieces_left_eight_to_diag_bounds[direction][index];
sub_98199C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
}
}
@ -1637,8 +1638,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag(
miniature_railway_track_pieces_right_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK];
offset = miniature_railway_track_pieces_right_eight_to_diag_offset[direction][index];
bounds = miniature_railway_track_pieces_right_eight_to_diag_bounds[direction][index];
sub_98199C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98199C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
}
}
@ -1763,8 +1763,7 @@ static void miniature_railway_track_diag_flat(
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
}
else if (drawRail)
@ -1860,8 +1859,9 @@ static void miniature_railway_track_diag_25_deg_up(
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + offsetB[direction], get_current_rotation());
sub_98199C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + offsetB[direction]);
}
}
else if (drawRail)
@ -1915,8 +1915,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up(
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
}
else if (drawRail)
@ -1992,8 +1991,9 @@ static void miniature_railway_track_diag_25_deg_up_to_flat(
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98199C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
}
else if (drawRail)
@ -2070,8 +2070,9 @@ static void miniature_railway_track_diag_25_deg_down(
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98199C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
}
else if (drawRail)
@ -2147,8 +2148,9 @@ static void miniature_railway_track_diag_flat_to_25_deg_down(
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98199C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
}
else if (drawRail)
@ -2200,8 +2202,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat(
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
}
else if (drawRail)

View File

@ -490,11 +490,11 @@ static void paint_monorail_station(
imageId = monorail_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98199C(session, imageId, 0, 6, 32, 20, 2, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 6, 32, 20, 2, height, 0, 0, height);
}
else
{
sub_98199C(session, imageId, 6, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation());
sub_98199C(session, imageId, 6, 0, 20, 32, 2, height, 0, 0, height);
}
if (direction == 0 || direction == 2)

View File

@ -238,31 +238,34 @@ void vehicle_visual_river_rapids(paint_session * session, sint32 x, sint32 image
sint32 peeps = ((ecx / 8) + 0) & 3;
image_id = (baseImage_id + ((peeps + 1) * 72)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[0], vehicle->peep_tshirt_colours[1]);
sub_98199C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z);
if (vehicle->num_peeps > 2)
{
peeps = ((ecx / 8) + 2) & 3;
image_id = (baseImage_id + ((peeps + 1) * 72)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[2], vehicle->peep_tshirt_colours[3]);
sub_98199C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z);
}
if (vehicle->num_peeps > 4)
{
peeps = ((ecx / 8) + 1) & 3;
image_id = (baseImage_id + ((peeps + 1) * 72)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[4], vehicle->peep_tshirt_colours[5]);
sub_98199C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z);
}
if (vehicle->num_peeps > 6)
{
peeps = ((ecx / 8) + 3) & 3;
image_id = (baseImage_id + ((peeps + 1) * 72)) |
SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[6], vehicle->peep_tshirt_colours[7]);
sub_98199C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98199C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z);
}
}
@ -724,7 +727,7 @@ static void paint_river_rapids_track_waterfall(
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 4, 0, height + 17);
@ -734,7 +737,7 @@ static void paint_river_rapids_track_waterfall(
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17);
}
else
{
@ -743,7 +746,7 @@ static void paint_river_rapids_track_waterfall(
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 4, height + 17);
@ -753,7 +756,7 @@ static void paint_river_rapids_track_waterfall(
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
@ -850,7 +853,7 @@ static void paint_river_rapids_track_whirlpool(
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) |
session->TrackColours[SCHEME_TRACK];
@ -863,7 +866,7 @@ static void paint_river_rapids_track_whirlpool(
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) |
session->TrackColours[SCHEME_TRACK];