diff --git a/src/paint/paint.h b/src/paint/paint.h index e12b7b0891..d72d07b526 100644 --- a/src/paint/paint.h +++ b/src/paint/paint.h @@ -158,9 +158,12 @@ paint_struct * sub_98197C(uint32 image_id, sint8 x_offset, sint8 y_offset, sint1 paint_struct * sub_98198C(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(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_98196C_rotated(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(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); paint_struct * sub_98199C_rotated(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); +void paint_util_push_tunnel_rotated(uint8 direction, uint16 height, uint8 type); + bool paint_attach_to_previous_attach(uint32 image_id, uint16 x, uint16 y); bool paint_attach_to_previous_ps(uint32 image_id, uint16 x, uint16 y); void sub_685EBC(money32 amount, rct_string_id string_id, sint16 y, sint16 z, sint8 y_offsets[], sint16 offset_x, uint32 rotation); diff --git a/src/paint/paint_helpers.c b/src/paint/paint_helpers.c index 15ca445c54..41ddcc188b 100644 --- a/src/paint/paint_helpers.c +++ b/src/paint/paint_helpers.c @@ -15,8 +15,23 @@ #pragma endregion #include "../interface/viewport.h" +#include "../ride/track_paint.h" #include "paint.h" +paint_struct * sub_98196C_rotated( + 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) +{ + if (direction & 1) { + return sub_98196C(image_id, x_offset, y_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, get_current_rotation()); + } else { + return sub_98196C(image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, get_current_rotation()); + } +} + paint_struct * sub_98197C_rotated( uint8 direction, uint32 image_id, @@ -46,3 +61,12 @@ paint_struct * sub_98199C_rotated( return sub_98199C(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()); } } + +void paint_util_push_tunnel_rotated(uint8 direction, uint16 height, uint8 type) +{ + if (direction & 1) { + paint_util_push_tunnel_right(height, type); + } else { + paint_util_push_tunnel_left(height, type); + } +}