Remove rotation argument from sub_98196C

This commit is contained in:
Michał Janiszewski 2018-02-12 22:46:12 +01:00 committed by Michał Janiszewski
parent 0bf250d8b8
commit c420fb56f5
21 changed files with 221 additions and 272 deletions

View File

@ -749,16 +749,17 @@ void paint_session_free(paint_session * session)
* @param bound_box_length_y (si)
* @param bound_box_length_z (ah)
* @param z_offset (dx)
* @param rotation (ebp)
* @return (ebp) paint_struct on success (CF == 0), nullptr on failure (CF == 1)
*/
paint_struct * sub_98196C(
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,
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)
{
assert((uint16)bound_box_length_x == (sint16)bound_box_length_x);
assert((uint16)bound_box_length_y == (sint16)bound_box_length_y);
@ -794,7 +795,7 @@ paint_struct * sub_98196C(
bound_box_length_z,
};
switch (rotation)
switch (session->CurrentRotation)
{
case 0:
rotate_map_coordinates(&coord_3d.x, &coord_3d.y, TILE_ELEMENT_DIRECTION_WEST);
@ -834,7 +835,7 @@ paint_struct * sub_98196C(
ps->bounds.z = coord_3d.z;
ps->bounds.z_end = (boundBox.z + coord_3d.z);
LocationXY16 map = coordinate_3d_to_2d(&coord_3d, rotation);
LocationXY16 map = coordinate_3d_to_2d(&coord_3d, session->CurrentRotation);
ps->x = map.x;
ps->y = map.y;
@ -866,7 +867,7 @@ paint_struct * sub_98196C(
session->UnkF1AD28 = ps;
sint32 positionHash = 0;
switch (rotation)
switch (session->CurrentRotation)
{
case 0:
positionHash = coord_3d.y + coord_3d.x;

View File

@ -176,7 +176,15 @@ extern uint8 gClipHeight;
extern bool gShowDirtyVisuals;
extern bool gPaintBoundingBoxes;
paint_struct * sub_98196C(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, uint32 rotation);
paint_struct * sub_98196C(
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);
paint_struct * sub_98197C(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_98198C(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, uint32 rotation);

View File

@ -27,9 +27,11 @@ paint_struct * sub_98196C_rotated(
sint16 z_offset)
{
if (direction & 1) {
return sub_98196C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, get_current_rotation());
return sub_98196C(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset);
} else {
return sub_98196C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, get_current_rotation());
return sub_98196C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset);
}
}

View File

@ -425,7 +425,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
// Draw flat base support
if (drawFlatPiece) {
sint32 imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags;
sub_98196C(session, imageId, 0, 0, 32, 32, 0, z - 2, rotation);
sub_98196C(session, imageId, 0, 0, 32, 32, 0, z - 2);
hasSupports = true;
}
@ -435,7 +435,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
// Full support
sint32 imageId = WoodenSupportImageIds[supportType].full | imageColourFlags;
uint8 ah = height == 2 ? 23 : 28;
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z, rotation);
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z);
hasSupports = true;
z += 32;
height -= 2;
@ -443,7 +443,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
// Half support
sint32 imageId = WoodenSupportImageIds[supportType].half | imageColourFlags;
uint8 ah = height == 1 ? 7 : 12;
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z, rotation);
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z);
hasSupports = true;
z += 16;
height -= 1;
@ -587,13 +587,7 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
if (heightSteps == 0) {
skipTo663004 = true;
} else {
sub_98196C(session,
WoodenSupportImageIds[supportType].flat | imageColourFlags,
0, 0,
32, 32, 0,
baseHeight - 2,
get_current_rotation()
);
sub_98196C(session, WoodenSupportImageIds[supportType].flat | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2);
_9E32B1 = true;
}
}
@ -601,24 +595,16 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
if (!skipTo663004) {
while (heightSteps > 0) {
if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == session->WaterHeight) {
sub_98196C(session,
WoodenSupportImageIds[supportType].half | imageColourFlags,
0, 0,
32, 32, ((heightSteps == 1) ? 7 : 12),
baseHeight,
get_current_rotation()
);
sub_98196C(
session, WoodenSupportImageIds[supportType].half | imageColourFlags, 0, 0, 32, 32,
((heightSteps == 1) ? 7 : 12), baseHeight);
heightSteps -= 1;
baseHeight += 16;
_9E32B1 = true;
} else {
sub_98196C(session,
WoodenSupportImageIds[supportType].full | imageColourFlags,
0, 0,
32, 32, ((heightSteps == 2) ? 23 : 28),
baseHeight,
get_current_rotation()
);
sub_98196C(
session, WoodenSupportImageIds[supportType].full | imageColourFlags, 0, 0, 32, 32,
((heightSteps == 2) ? 23 : 28), baseHeight);
heightSteps -= 2;
baseHeight += 32;
_9E32B1 = true;
@ -732,7 +718,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
uint32 image_id = _metalSupportTypeToCrossbeamImages[supportType][ebp];
image_id |= imageColourFlags;
sub_98196C(session, image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height, rotation);
sub_98196C(session, image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height);
segment = newSegment;
}
@ -751,7 +737,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
image_id += metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
image_id |= imageColourFlags;
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, 5, supportSegments[segment].height, rotation);
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, 5, supportSegments[segment].height);
height = supportSegments[segment].height + 6;
}
@ -774,8 +760,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
image_id += heightDiff - 1;
image_id |= imageColourFlags;
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height, rotation);
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height);
}
height += heightDiff;
@ -804,7 +789,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
if (count == 3 && z == 0x10)
image_id++;
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, z - 1, height, rotation);
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, z - 1, height);
height += z;
}
@ -917,13 +902,10 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
return true; // STC
}
sub_98196C(session,
_metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags,
sub_98196C(
session, _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags,
loc_97AF20[originalSegment].x + loc_97B052[ebp].x, loc_97AF20[originalSegment].y + loc_97B052[ebp].y,
_97B062[ebp].x, _97B062[ebp].y, 1,
baseHeight,
get_current_rotation()
);
_97B062[ebp].x, _97B062[ebp].y, 1, baseHeight);
}
sint32 si = baseHeight;
@ -936,13 +918,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
uint32 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
uint32 imageId = _97B15C[supportType].base_id + imageOffset;
sub_98196C(session,
imageId | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, 5,
supportSegments[segment].height,
get_current_rotation()
);
sub_98196C(
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, 5,
supportSegments[segment].height);
baseHeight = supportSegments[segment].height + 6;
}
@ -954,13 +932,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
heightDiff -= baseHeight;
if (heightDiff > 0) {
sub_98196C(session,
(_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, heightDiff - 1,
baseHeight,
get_current_rotation()
);
sub_98196C(
session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, loc_97AF20[segment].x,
loc_97AF20[segment].y, 0, 0, heightDiff - 1, baseHeight);
}
baseHeight += heightDiff;
@ -991,13 +965,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
}
}
sub_98196C(session,
imageId | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, beamLength - 1,
baseHeight,
get_current_rotation()
);
sub_98196C(
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, beamLength - 1,
baseHeight);
baseHeight += beamLength;
i++;
@ -1076,13 +1046,7 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
if (session->Support.slope & 0x20) {
//save dx2
sub_98196C(session,
(pathEntry->bridge_image + 48) | imageColourFlags,
0, 0,
32, 32, 0,
baseHeight - 2,
get_current_rotation()
);
sub_98196C(session, (pathEntry->bridge_image + 48) | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2);
hasSupports = true;
} else if (session->Support.slope & 0x10) {
heightSteps -= 2;
@ -1142,26 +1106,14 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 23;
sub_98196C(session,
imageId | imageColourFlags,
0, 0,
32, 32, ((heightSteps == 1) ? 7 : 12),
baseHeight,
get_current_rotation()
);
sub_98196C(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 1) ? 7 : 12), baseHeight);
heightSteps -= 1;
baseHeight += 16;
hasSupports = true;
} else {
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 22;
sub_98196C(session,
imageId | imageColourFlags,
0, 0,
32, 32, ((heightSteps == 2) ? 23 : 28),
baseHeight,
get_current_rotation()
);
sub_98196C(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 2) ? 23 : 28), baseHeight);
heightSteps -= 2;
baseHeight += 32;
hasSupports = true;
@ -1246,13 +1198,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
uint8 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
baseHeight = supportSegments[segment].height;
sub_98196C(session,
(pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, 5,
baseHeight,
get_current_rotation()
);
sub_98196C(
session, (pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags, loc_97AF20[segment].x,
loc_97AF20[segment].y, 0, 0, 5, baseHeight);
baseHeight += 6;
}
@ -1267,13 +1215,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
heightDiff -= baseHeight;
if (heightDiff > 0) {
sub_98196C(session,
(pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, heightDiff - 1,
baseHeight,
get_current_rotation()
);
sub_98196C(
session, (pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, loc_97AF20[segment].x,
loc_97AF20[segment].y, 0, 0, heightDiff - 1, baseHeight);
}
baseHeight += heightDiff;
@ -1299,13 +1243,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
break;
}
sub_98196C(session,
(pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, (z - 1),
baseHeight,
get_current_rotation()
);
sub_98196C(
session, (pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, loc_97AF20[segment].x,
loc_97AF20[segment].y, 0, 0, (z - 1), baseHeight);
baseHeight += z;
}
@ -1319,13 +1259,8 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
imageId += 1;
}
sub_98196C(session,
imageId | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, (z - 1),
baseHeight,
get_current_rotation()
);
sub_98196C(
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, (z - 1), baseHeight);
baseHeight += z;
}

View File

@ -43,7 +43,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
case SPRITE_MISC_STEAM_PARTICLE: // 0
{
uint32 imageId = 22637 + (misc->steam_particle.frame / 256);
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
break;
}
@ -69,14 +69,14 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
rct_crashed_vehicle_particle particle = misc->crashed_vehicle_particle;
uint32 imageId = vehicle_particle_base_sprites[particle.crashed_sprite_base] + particle.frame / 256;
imageId = imageId | (particle.colour[0] << 19) | (particle.colour[1] << 24) | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS;
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
break;
}
case SPRITE_MISC_EXPLOSION_CLOUD: // 3
{
uint32 imageId = 22878 + (misc->unknown.frame / 256);
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
break;
}
@ -84,7 +84,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
{
rct_crash_splash crashSplash = misc->crash_splash;
uint32 imageId = 22927 + (crashSplash.frame / 256);
sub_98196C(session, imageId, 0, 0, 1, 1, 0, crashSplash.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, crashSplash.z);
break;
}
@ -92,7 +92,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
{
// Like a flare
uint32 imageId = 22896 + (misc->unknown.frame / 256);
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
break;
}
@ -170,7 +170,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
}
imageId = imageId | (balloon.colour << 19) | IMAGE_TYPE_REMAP;
sub_98196C(session, imageId, 0, 0, 1, 1, 0, balloon.z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, balloon.z);
break;
}
@ -179,7 +179,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
rct_duck * duck = &misc->duck;
uint32 imageId = duck_get_frame_image(&misc->duck, imageDirection);
if (imageId != 0) {
sub_98196C(session, imageId, 0, 0, 1, 1, 0, duck->z, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 1, 1, 0, duck->z);
}
}
break;

View File

@ -833,7 +833,7 @@ void path_paint(paint_session * session, uint8 direction, uint16 height, const r
height2 += 16;
}
sub_98196C(session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, height2 + 2, get_current_rotation());
sub_98196C(session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, height2 + 2);
}
}
@ -846,7 +846,7 @@ void path_paint(paint_session * session, uint8 direction, uint16 height, const r
uint32 imageId = (SPR_HEIGHT_MARKER_BASE + height2 / 16) | COLOUR_GREY << 19 | IMAGE_TYPE_REMAP;
imageId += get_height_marker_offset();
imageId -= gMapBaseZ;
sub_98196C(session, imageId, 16, 16, 1, 1, 0, height2, get_current_rotation());
sub_98196C(session, imageId, 16, 16, 1, 1, 0, height2);
}
uint8 pathType = footpath_element_get_type(tile_element);

View File

@ -660,7 +660,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
if (curHeight != regs.al && curHeight != regs.cl)
{
uint32 image_id = base_image_id + image_offset;
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
curHeight++;
}
}
@ -684,7 +684,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
}
const uint32 image_id = base_image_id + image_offset;
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
return;
}
@ -699,7 +699,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
if (isWater == true || curHeight != tunnelArray[tunnelIndex].height)
{
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
curHeight++;
continue;
@ -854,7 +854,6 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
base_image_id = _terrainEdgeSpriteIds[terrain][1] + (edge == EDGE_TOPLEFT ? 5 : 0); // var_04
}
const uint8 rotation = get_current_rotation();
uint8 cur_height = Math::Min(regs.ch, regs.ah);
if (regs.ch != regs.ah)
{
@ -868,7 +867,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
if (cur_height != regs.al && cur_height != regs.cl)
{
const uint32 image_id = base_image_id + image_offset;
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
cur_height++;
}
}
@ -882,7 +881,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
while (cur_height < regs.al && cur_height < regs.ah)
{
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
cur_height++;
}
@ -898,7 +897,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
}
const uint32 image_id = base_image_id + image_offset;
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
}
/**
@ -1003,7 +1002,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
image_id += get_height_marker_offset();
image_id -= gMapBaseZ;
sub_98196C(session, image_id, 16, 16, 1, 1, 0, height, rotation);
sub_98196C(session, image_id, 16, 16, 1, 1, 0, height);
}
bool has_surface = false;
@ -1093,7 +1092,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
break;
}
sub_98196C(session, image_id, 0, 0, 32, 32, -1, height, rotation);
sub_98196C(session, image_id, 0, 0, 32, 32, -1, height);
has_surface = true;
}
@ -1138,11 +1137,11 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
{
if ((spawn.x & 0xFFE0) == pos.x && (spawn.y & 0xFFE0) == pos.y)
{
sub_98196C(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z * 16, rotation);
sub_98196C(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z * 16);
const sint32 offset = ((spawn.direction ^ 2) + rotation) & 3;
const uint32 image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000;
sub_98196C(session, image_id, 0, 0, 32, 32, 19, spawn.z * 16, rotation);
sub_98196C(session, image_id, 0, 0, 32, 32, 19, spawn.z * 16);
}
}
}
@ -1160,7 +1159,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
const LocationXY16& pos = session->MapPosition;
const sint32 height2 = (tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF) + 3;
paint_struct * backup = session->UnkF1AD28;
sub_98196C(session, SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2, rotation);
sub_98196C(session, SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2);
session->UnkF1AD28 = backup;
}
}
@ -1178,7 +1177,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
const LocationXY16& pos = session->MapPosition;
const sint32 height2 = tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF;
paint_struct * backup = session->UnkF1AD28;
sub_98196C(session, SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3, rotation);
sub_98196C(session, SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3);
session->UnkF1AD28 = backup;
}
}
@ -1258,7 +1257,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
const sint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[local_surfaceShape]) | 0x21300000;
paint_struct * backup = session->UnkF1AD28;
sub_98196C(session, image_id, 0, 0, 32, 32, 1, local_height, rotation);
sub_98196C(session, image_id, 0, 0, 32, 32, 1, local_height);
session->UnkF1AD28 = backup;
}
}
@ -1359,7 +1358,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
}
const sint32 image_id = (SPR_WATER_MASK + image_offset) | IMAGE_TYPE_REMAP | IMAGE_TYPE_TRANSPARENT | PALETTE_WATER << 19;
sub_98196C(session, image_id, 0, 0, 32, 32, -1, waterHeight, rotation);
sub_98196C(session, image_id, 0, 0, 32, 32, -1, waterHeight);
paint_attach_to_previous_ps(session, SPR_WATER_OVERLAY + image_offset, 0, 0);

View File

@ -129,7 +129,7 @@ static void blank_tiles_paint(paint_session * session, sint32 x, sint32 y)
session->SpritePosition.x = x;
session->SpritePosition.y = y;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
sub_98196C(session, 3123, 0, 0, 32, 32, -1, 16, get_current_rotation());
sub_98196C(session, 3123, 0, 0, 32, 32, -1, 16);
}
bool gShowSupportSegmentHeights = false;

View File

@ -401,7 +401,7 @@ static void track_paint_util_draw_station_impl(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + fenceOffsetA, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + fenceOffsetA);
// height -= 5 (height)
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, coverHeight);
// height += 5 (height + 5)
@ -419,7 +419,7 @@ static void track_paint_util_draw_station_impl(
{
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + fenceOffsetA, get_current_rotation());
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + fenceOffsetA);
// height += 2 (height + 7)
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
@ -437,19 +437,19 @@ static void track_paint_util_draw_station_impl(
{
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
{
// Addition: draw only small fence if there is an entrance/exit at the beginning
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
{
// Addition: draw only small fence if there is an entrance/exit at the end
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB);
}
// height -= 7 (height)
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, coverHeight);
@ -458,12 +458,12 @@ static void track_paint_util_draw_station_impl(
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
{
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
{
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB);
}
}
else if (direction == 1 || direction == 3)
@ -496,7 +496,7 @@ static void track_paint_util_draw_station_impl(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + fenceOffsetA);
// height -= 5 (height)
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, coverHeight);
// height += 5 (height + 5)
@ -514,7 +514,7 @@ static void track_paint_util_draw_station_impl(
{
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + fenceOffsetA);
// height += 2 (height + 7)
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
@ -532,19 +532,19 @@ static void track_paint_util_draw_station_impl(
{
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
{
// Addition: draw only small fence if there is an entrance/exit at the beginning
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
{
// Addition: draw only small fence if there is an entrance/exit at the end
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB);
}
// height -= 7 (height)
@ -554,12 +554,12 @@ static void track_paint_util_draw_station_impl(
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
{
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
{
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB);
}
}
}
@ -611,7 +611,7 @@ void track_paint_util_draw_station_inverted(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + 6, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + 6);
// height -= 5 (height)
track_paint_util_draw_station_covers_2(session, EDGE_NW, hasFence, entranceStyle, direction, height, stationVariant);
// height += 5 (height + 5)
@ -629,7 +629,7 @@ void track_paint_util_draw_station_inverted(
{
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 6, get_current_rotation());
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 6);
// height += 2 (height + 7)
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
@ -647,19 +647,19 @@ void track_paint_util_draw_station_inverted(
{
imageId = SPR_STATION_INVERTED_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
{
// Addition: draw only small fence if there is an entrance/exit at the beginning
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
{
// Addition: draw only small fence if there is an entrance/exit at the end
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8);
}
// height -= 7 (height)
track_paint_util_draw_station_covers_2(session, EDGE_SE, hasFence, entranceStyle, direction, height, stationVariant);
@ -668,12 +668,12 @@ void track_paint_util_draw_station_inverted(
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
{
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
{
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8);
}
}
else if (direction == 1 || direction == 3)
@ -706,7 +706,7 @@ void track_paint_util_draw_station_inverted(
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + 6, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + 6);
// height -= 5 (height)
track_paint_util_draw_station_covers_2(session, EDGE_NE, hasFence, entranceStyle, direction, height, stationVariant);
// height += 5 (height + 5)
@ -724,7 +724,7 @@ void track_paint_util_draw_station_inverted(
{
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 6, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 6);
// height += 2 (height + 7)
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
@ -742,19 +742,19 @@ void track_paint_util_draw_station_inverted(
{
imageId = SPR_STATION_INVERTED_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
{
// Addition: draw only small fence if there is an entrance/exit at the beginning
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
{
// Addition: draw only small fence if there is an entrance/exit at the end
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8);
}
// height -= 7 (height)
@ -764,12 +764,12 @@ void track_paint_util_draw_station_inverted(
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
{
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8);
}
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
{
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8);
}
}
}
@ -872,17 +872,17 @@ void track_paint_util_draw_station_platform(
bool hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, get_current_rotation());
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE) |
session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + zOffset, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + zOffset);
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_NARROW_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + zOffset, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + zOffset);
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
if (hasFence)
{
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + zOffset + 2, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + zOffset + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
}
@ -891,17 +891,17 @@ void track_paint_util_draw_station_platform(
bool hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, get_current_rotation());
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW) |
session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + zOffset, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + zOffset);
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_NARROW_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + zOffset, get_current_rotation());
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + zOffset);
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
if (hasFence)
{
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + zOffset + 2, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + zOffset + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
}
@ -929,13 +929,13 @@ void track_paint_util_draw_pier(
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_PIER_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height);
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
if (hasFence)
{
imageId = SPR_STATION_PIER_FENCE_SW | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 2, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
}
@ -948,13 +948,13 @@ void track_paint_util_draw_pier(
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_PIER_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height, rotation);
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height);
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation);
if (hasFence)
{
imageId = SPR_STATION_PIER_FENCE_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 2, rotation);
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
}
@ -1522,8 +1522,9 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_3(paint_session * session
const sprite_bb * spriteBB = &sprites[direction][sprite];
uint32 imageId = spriteBB->sprite_id | colourFlags;
sub_98196C(session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z, rotation);
sub_98196C(
session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z);
}
void track_paint_util_right_quarter_turn_5_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
@ -1772,8 +1773,9 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_4(paint_session * session
const sprite_bb * spriteBB = &sprites[direction][sprite];
uint32 imageId = spriteBB->sprite_id | colourFlags;
sub_98196C(session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z, rotation);
sub_98196C(
session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z);
}
void track_paint_util_right_quarter_turn_3_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
@ -2068,24 +2070,24 @@ void track_paint_util_onride_photo_small_paint(
switch (direction)
{
case 0:
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height);
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height);
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height);
break;
case 1:
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height);
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height);
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height);
break;
case 2:
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height);
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height);
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height);
break;
case 3:
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height);
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height);
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height);
break;
}
}
@ -2106,24 +2108,24 @@ void track_paint_util_onride_photo_paint(
switch (direction)
{
case 0:
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height);
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height);
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height);
break;
case 1:
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height);
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height);
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height);
break;
case 2:
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height);
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height);
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height);
break;
case 3:
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height);
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height);
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height);
break;
}
}

View File

@ -2851,11 +2851,11 @@ static void junior_rc_s_bend_left_paint_setup(
LocationXY16 bounds = boundsList[trackSequence];
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height);
}
else
{
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height);
}
if (direction == 0 || direction == 2)
@ -2956,11 +2956,11 @@ static void junior_rc_s_bend_right_paint_setup(
LocationXY16 bounds = boundsList[trackSequence];
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height);
}
else
{
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height);
}
if (direction == 0 || direction == 2)
@ -3831,13 +3831,13 @@ static void junior_rc_brake_paint_setup(
image_id = junior_rc_track_pieces_brake[direction] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height, get_current_rotation());
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
else
{
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height, get_current_rotation());
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}
@ -3872,13 +3872,13 @@ static void junior_rc_block_brake_paint_setup(
image_id = junior_rc_track_pieces_block_brake[isBraked][direction] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height, get_current_rotation());
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
else
{
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height, get_current_rotation());
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}
@ -6083,15 +6083,17 @@ static void junior_rc_booster_paint_setup(
if (direction & 1)
{
sub_98196C(session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32,
1, height, get_current_rotation());
sub_98196C(
session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32, 1,
height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
else
{
sub_98196C(session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20,
1, height, get_current_rotation());
sub_98196C(
session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20, 1,
height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}

View File

@ -658,9 +658,9 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_down(
{
sint32 part = trackSequence == 0 ? 0 : 1;
const sprite_bb * sbb = &imageIds[direction][part];
sub_98196C(session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z,
get_current_rotation());
sub_98196C(
session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z);
}
track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(session, height, direction, trackSequence, TUNNEL_2,
@ -734,9 +734,9 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_up(
{
sint32 part = trackSequence == 0 ? 0 : 1;
const sprite_bb * sbb = &imageIds[direction][part];
sub_98196C(session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z,
get_current_rotation());
sub_98196C(
session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z);
}
track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2);
@ -820,7 +820,7 @@ static void wild_mouse_track_left_quarter_turn_1(
sub_98197C(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height, get_current_rotation());
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 2, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 26, 26, 2, height);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height, get_current_rotation());

View File

@ -640,13 +640,13 @@ static void wooden_wild_mouse_track_left_quarter_turn_1(
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
break;
case 2:
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
break;
case 3:
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height, get_current_rotation());
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);
break;
}
wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);

View File

@ -163,11 +163,11 @@ static void paint_car_ride_track_flat(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
}
if (direction == 0 || direction == 2)
@ -476,13 +476,13 @@ static void paint_car_ride_track_left_quarter_turn_1_tile(
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
break;
case 2:
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
break;
case 3:
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height, get_current_rotation());
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);
break;
}
@ -519,11 +519,11 @@ static void paint_car_ride_track_spinning_tunnel(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
}
track_paint_util_spinning_tunnel_paint(session, 1, height, direction, get_current_rotation());
@ -771,11 +771,11 @@ static void paint_car_ride_track_log_bumps(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
}
if (direction == 0 || direction == 2)

View File

@ -37,7 +37,7 @@ static constexpr const uint32 dodgems_fence_sprites[] = { SPR_DODGEMS_FENCE_TOP_
static void paint_dodgems_roof(paint_session * session, sint32 height, sint32 offset)
{
uint32 image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, image_id, 0, 0, 32, 32, 2, height, get_current_rotation());
sub_98196C(session, image_id, 0, 0, 32, 32, 2, height);
image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (PALETTE_DARKEN_3 << 19) | IMAGE_TYPE_TRANSPARENT;
paint_attach_to_previous_ps(session, image_id, 0, 0);

View File

@ -65,7 +65,7 @@ static void maze_paint_setup(
uint32 rotation = get_current_rotation();
// draw ground
sint32 image_id = SPR_TERRAIN_DIRT | session->TrackColours[SCHEME_MISC];
sub_98196C(session, image_id, 0, 0, 32, 32, 0, height, rotation);
sub_98196C(session, image_id, 0, 0, 32, 32, 0, height);
wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3], nullptr);

View File

@ -235,7 +235,7 @@ static void paint_magic_carpet(
}
uint32 imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
break;
}

View File

@ -192,7 +192,7 @@ static void paint_pirate_ship(
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
imageId = SPR_STATION_BASE_A_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
}
else
{
@ -200,7 +200,7 @@ static void paint_pirate_ship(
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
imageId = SPR_STATION_BASE_A_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -224,7 +224,7 @@ static void paint_pirate_ship(
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9);
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
if (relativeTrackSequence == 3)
@ -232,21 +232,21 @@ static void paint_pirate_ship(
if (hasFence)
{
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11);
}
else
{
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 11);
}
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 11);
}
else if (hasFence)
{
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11);
}
}
}
@ -269,7 +269,7 @@ static void paint_pirate_ship(
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation());
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9);
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
if (relativeTrackSequence == 3)
@ -277,21 +277,21 @@ static void paint_pirate_ship(
if (hasFence)
{
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11);
}
else
{
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 11);
}
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 11);
}
else if (hasFence)
{
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation());
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11);
}
}
}

View File

@ -151,17 +151,17 @@ static void paint_swinging_inverter_ship(
}
imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
switch (direction)
{
case 0:
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation());
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9);
break;
case 1:
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation());
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9);
break;
case 2:
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];

View File

@ -439,11 +439,11 @@ static void paint_monorail_track_flat(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
}
if (direction == 0 || direction == 2)
@ -538,11 +538,11 @@ static void paint_monorail_track_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
}
switch (direction)
@ -586,11 +586,11 @@ static void paint_monorail_track_flat_to_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
}
switch (direction)
@ -634,11 +634,11 @@ static void paint_monorail_track_25_deg_up_to_flat(
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
}
else
{
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
}
switch (direction)
@ -816,11 +816,11 @@ static void paint_monorail_track_s_bend_left(
LocationXY16 bounds = boundsList[trackSequence];
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height);
}
else
{
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height);
}
if (direction == 0 || direction == 2)
@ -918,11 +918,11 @@ static void paint_monorail_track_s_bend_right(
LocationXY16 bounds = boundsList[trackSequence];
if (direction == 0 || direction == 2)
{
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height);
}
else
{
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height, get_current_rotation());
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height);
}
if (direction == 0 || direction == 2)

View File

@ -212,7 +212,7 @@ static void paint_log_flume_track_station(
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
}
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
if (direction & 1)
{
@ -811,7 +811,7 @@ static void paint_log_flume_track_on_ride_photo(
const rct_tile_element * tileElement)
{
uint32 imageId = SPR_STATION_BASE_D | IMAGE_TYPE_REMAP;
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
if (direction & 1)
{

View File

@ -853,7 +853,7 @@ static void paint_splash_boats_station(
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3, get_current_rotation());
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
}
else
{
@ -862,7 +862,7 @@ static void paint_splash_boats_station(
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3, get_current_rotation());
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);