Label current paint tile max height

This commit is contained in:
duncanspumpkin 2016-02-29 18:04:48 +00:00
parent 433caa2f84
commit 24df65af9d
4 changed files with 33 additions and 29 deletions

View File

@ -497,6 +497,8 @@
#define RCT2_ADDRESS_FONT_CHAR_WIDTH 0x0141E9E8
#define RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT 0x0141E9D8
#define RCT2_ADDRESS_COMMON_STRING_FORMAT_BUFFER 0x0141ED68
// This value is always 4 times the actual type

View File

@ -160,7 +160,7 @@ bool wooden_a_supports_paint_setup(int supportType, int special, int height, uin
return false;
}
int z = floor2(RCT2_GLOBAL(0x00141E9D8, uint16) + 15, 16);
int z = floor2(RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) + 15, 16);
height -= z;
if (height < 0) {
return true;

View File

@ -1394,8 +1394,8 @@ void viewport_ride_entrance_exit_paint_setup(uint8 direction, int height, rct_ma
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += is_exit ? 40 : 56;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height){
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height){
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -1509,8 +1509,8 @@ void viewport_park_entrance_paint_setup(uint8 direction, int height, rct_map_ele
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 80;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height){
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height){
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -1940,7 +1940,8 @@ void sub_68B2B7(int x, int y)
RCT2_GLOBAL(0x0141E9CC, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D0, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D4, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D8, uint32) = 0xFFFF;
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = -1;
RCT2_GLOBAL(0x0141E9DA, uint16) = 0;
RCT2_GLOBAL(0x0141E9DC, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9DB, uint8) |= 2;
@ -1972,7 +1973,8 @@ void map_element_paint_setup(int x, int y)
RCT2_GLOBAL(0x0141E9CC, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D0, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D4, uint32) = 0xFFFF;
RCT2_GLOBAL(0x0141E9D8, uint32) = 0xFFFF;
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = -1;
RCT2_GLOBAL(0x0141E9DA, sint16) = 0;
RCT2_GLOBAL(0x0141E9DC, uint32) = 0xFFFF;
sub_68B3FB(x, y);

View File

@ -58,8 +58,8 @@ static void top_spin_paint_tile_0(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 112;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -399,8 +399,8 @@ static void top_spin_paint_tile_1(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -449,8 +449,8 @@ static void top_spin_paint_tile_2(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -499,8 +499,8 @@ static void top_spin_paint_tile_4(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -568,8 +568,8 @@ static void top_spin_paint_tile_3(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D6, uint16) = 32;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -619,8 +619,8 @@ static void top_spin_paint_tile_5(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 112;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -688,8 +688,8 @@ static void top_spin_paint_tile_6(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -757,8 +757,8 @@ static void top_spin_paint_tile_7(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D6, uint16) = 32;
height += 110;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -808,8 +808,8 @@ static void top_spin_paint_tile_8(uint8 rideIndex, uint8 trackSequence, uint8 di
RCT2_GLOBAL(0x141E9D4, uint16) = 0xFFFF;
height += 112;
if (RCT2_GLOBAL(0x141E9D8, sint16) < height) {
RCT2_GLOBAL(0x141E9D8, sint16) = height;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height;
RCT2_GLOBAL(0x141E9DA, uint8) = 32;
}
}
@ -1037,8 +1037,8 @@ static void shop_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 directi
}
height16 += 48;
if (RCT2_GLOBAL(0x00141E9D8, sint16) < height16) {
RCT2_GLOBAL(0x00141E9D8, sint16) = height16;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height16) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height16;
RCT2_GLOBAL(0x00141E9DA, uint8) = 32;
}
}
@ -1125,8 +1125,8 @@ static void facility_paint_setup(uint8 rideIndex, uint8 trackSequence, uint8 dir
}
height16 += 32;
if (RCT2_GLOBAL(0x00141E9D8, sint16) < height16) {
RCT2_GLOBAL(0x00141E9D8, sint16) = height16;
if (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) < height16) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, sint16) = height16;
RCT2_GLOBAL(0x00141E9DA, uint8) = 32;
}
}