diff --git a/src/drawing/supports.c b/src/drawing/supports.c index f2200a3539..6e3570e581 100644 --- a/src/drawing/supports.c +++ b/src/drawing/supports.c @@ -288,7 +288,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin hasSupports = true; } else { hasSupports = true; - if (!sub_98198C(imageId, 0, 0, lengthX, lengthY, ah, z, rotation)) { + if (!sub_98198C(imageId, 0, 0, lengthX, lengthY, ah, z, rotation, byte_97B23C[special].var_0, byte_97B23C[special].var_1, byte_97B23C[special].var_2 + z)) { int edi = RCT2_GLOBAL(0x009DEA58, uint32); RCT2_GLOBAL(edi + 0x20, uint32) = imageColourFlags; } diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 0d07c41c79..8fc599186c 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -1089,10 +1089,17 @@ int sub_98197C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, si * @param z_offset (ah) * @param height (edx) * @param rotation + * @param word_52 (0x009DEA52) + * @param word_54 (0x009DEA54) + * @param word_56 (0x009DEA56) * @return ?? */ -int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation) +int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation, uint16 word_52, uint16 word_54, uint16 word_56) { + RCT2_GLOBAL(0x009DEA52, uint16) = word_52; + RCT2_GLOBAL(0x009DEA54, uint16) = word_54; + RCT2_GLOBAL(0x009DEA56, uint16) = word_56; + RCT2_CALLPROC_X(RCT2_ADDRESS(0x0098198C, uint32)[get_current_rotation()], x_offset | (z_offset << 8), image_id, diff --git a/src/interface/viewport.h b/src/interface/viewport.h index 55086127c3..d2f1e41c4e 100644 --- a/src/interface/viewport.h +++ b/src/interface/viewport.h @@ -133,7 +133,7 @@ void sub_688217(); int sub_98196C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); int sub_98197C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); -int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); +int sub_98198C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation, uint16 word_52, uint16 word_54, uint16 word_56); int sub_98199C(int image_id, sint8 x_offset, sint8 y_offset, sint16 length_x, sint16 length_y, sint8 z_offset, int height, uint32 rotation); void viewport_invalidate(rct_viewport *viewport, int left, int top, int right, int bottom);