1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 04:23:20 +01:00

add variable macro for gPaintInteractionType

This commit is contained in:
Ted John
2016-05-21 13:23:46 +01:00
parent 9154c9755d
commit 4739eb2716
20 changed files with 44 additions and 42 deletions

View File

@@ -32,7 +32,7 @@ void banner_paint(uint8 direction, int height, rct_map_element* map_element)
uint16 boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ;
rct_drawpixelinfo* dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_BANNER;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_BANNER;
if (dpi->zoom_level > 1 || RCT2_GLOBAL(0x9DEA6F, uint8_t) & 1) return;
@@ -52,7 +52,7 @@ void banner_paint(uint8 direction, int height, rct_map_element* map_element)
if (map_element->flags & MAP_ELEMENT_FLAG_GHOST)//if being placed
{
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
image_id |= construction_markers[gConfigGeneral.construction_marker_colour];
}
else{

View File

@@ -55,11 +55,11 @@ void ride_entrance_exit_paint(uint8 direction, int height, rct_map_element* map_
colour_2 = ride->track_colour_additional[0];
image_id = (colour_1 << 19) | (colour_2 << 24) | 0xA0000000;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
RCT2_GLOBAL(0x009E32BC, uint32) = 0;
if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
image_id = construction_markers[gConfigGeneral.construction_marker_colour];
RCT2_GLOBAL(0x009E32BC, uint32) = image_id;
if (transparant_image_id)
@@ -163,11 +163,11 @@ void park_entrance_paint(uint8 direction, int height, rct_map_element* map_eleme
if (RCT2_GLOBAL(0x9DEA6F, uint8_t) & 1)
return;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_PARK;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK;
RCT2_GLOBAL(0x009E32BC, uint32) = 0;
uint32 image_id, ghost_id = 0;
if (map_element->flags & MAP_ELEMENT_FLAG_GHOST){
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
ghost_id = construction_markers[gConfigGeneral.construction_marker_colour];
RCT2_GLOBAL(0x009E32BC, uint32) = ghost_id;
}
@@ -244,7 +244,7 @@ void park_entrance_paint(uint8 direction, int height, rct_map_element* map_eleme
* rct2: 0x00664FD4
*/
void entrance_paint(uint8 direction, int height, rct_map_element* map_element){
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_LABEL;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_LABEL;
rct_drawpixelinfo* dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*);

View File

@@ -133,7 +133,7 @@ void fence_paint_wall(uint32 frameNum, const rct_scenery_entry * sceneryEntry, u
void fence_paint(uint8 direction, int height, rct_map_element * map_element)
{
rct_drawpixelinfo * dpi = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo *);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_WALL;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_WALL;
rct_scenery_entry * sceneryEntry = gWallSceneryEntries[map_element->properties.fence.type];
uint32 frameNum = 0;
@@ -172,7 +172,7 @@ void fence_paint(uint8 direction, int height, rct_map_element * map_element)
}
if (map_element->flags & MAP_ELEMENT_FLAG_GHOST) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
dword_141F710 = construction_markers[gConfigGeneral.construction_marker_colour];
}

View File

@@ -120,7 +120,7 @@ static void blank_tiles_paint(int x, int y)
if (dx >= dpi->y) return;
RCT2_GLOBAL(0x9DE568, sint16) = x;
RCT2_GLOBAL(0x9DE56C, sint16) = y;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
sub_98196C(3123, 0, 0, 32, 32, -1, 16, get_current_rotation());
}
@@ -181,7 +181,7 @@ static void sub_68B3FB(int x, int y)
RCT2_GLOBAL(0x9DE568, sint16) = x;
RCT2_GLOBAL(0x9DE56C, sint16) = y;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
sub_98197C(imageId, 0, 0, 32, 32, 0xFF, arrowZ, 0, 0, arrowZ + 18, rotation);
}

View File

@@ -31,7 +31,7 @@
*/
void scenery_paint(uint8 direction, int height, rct_map_element* mapElement) {
//RCT2_CALLPROC_X(0x6DFF47, 0, 0, direction, height, (int)mapElement, 0, 0); return;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_SCENERY;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SCENERY;
rct_xyz16 boxlength;
rct_xyz16 boxoffset;
boxoffset.x = 0;
@@ -44,7 +44,7 @@ void scenery_paint(uint8 direction, int height, rct_map_element* mapElement) {
}
}
if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8_t) = VIEWPORT_INTERACTION_ITEM_NONE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
baseImageid = RCT2_ADDRESS(0x993CC4, uint32_t)[gConfigGeneral.construction_marker_colour];
}
uint32 dword_F64EB0 = baseImageid;

View File

@@ -972,7 +972,7 @@ void viewport_surface_draw_water_side_bottom(enum edge edge, uint8 height, uint8
void surface_paint(uint8 direction, uint16 height, rct_map_element * mapElement)
{
rct_drawpixelinfo * dpi = RCT2_GLOBAL(0x0140E9A8, rct_drawpixelinfo*);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_TERRAIN;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN;
RCT2_GLOBAL(0x9DE57C, uint16) |= 1; // Probably a boolean indicating 'above surface'
RCT2_GLOBAL(0x9E3250, rct_map_element *) = mapElement;
@@ -1342,7 +1342,7 @@ void surface_paint(uint8 direction, uint16 height, rct_map_element * mapElement)
RCT2_GLOBAL(0x009E3298, uint16) = 0;
if (mapElement->properties.surface.terrain & 0x1F) {
// loc_6615A9: (water height)
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_WATER;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_WATER;
uint16 localHeight = height + 16;
uint16 waterHeight = (mapElement->properties.surface.terrain & 0x1F) * 16;
@@ -1384,7 +1384,7 @@ void surface_paint(uint8 direction, uint16 height, rct_map_element * mapElement)
if (mapElement->properties.surface.ownership & 0x0F
&& !(RCT2_GLOBAL(0x009DEA6F, uint8) & 1)) {
// Owned land boundary fences
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_PARK;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_PARK;
registers regs = { 0 };
regs.al = mapElement->properties.surface.ownership & 0x0F;
@@ -1503,7 +1503,7 @@ void surface_paint(uint8 direction, uint16 height, rct_map_element * mapElement)
}
}
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_TERRAIN;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_TERRAIN;
RCT2_GLOBAL(0x0141E9DB, uint8) |= 1;
switch (surfaceShape) {

View File

@@ -130,7 +130,7 @@ paint_struct * sub_9819_c(uint32 image_id, rct_xyz16 offset, rct_xyz16 boundBoxS
ps->bound_box_y = boundBoxOffset.y + RCT2_GLOBAL(0x009DE56C, sint16);
ps->attached_ps = NULL;
ps->var_20 = NULL;
ps->sprite_type = RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8);
ps->sprite_type = gPaintInteractionType;
ps->var_29 = RCT2_GLOBAL(0x9DE571, uint8);
ps->map_x = RCT2_GLOBAL(0x9DE574, uint16);
ps->map_y = RCT2_GLOBAL(0x9DE576, uint16);
@@ -254,7 +254,7 @@ paint_struct * sub_98196C(
ps->bound_box_y = coord_3d.y;
ps->attached_ps = NULL;
ps->var_20 = NULL;
ps->sprite_type = RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8);
ps->sprite_type = gPaintInteractionType;
ps->var_29 = RCT2_GLOBAL(0x9DE571, uint8);
ps->map_x = RCT2_GLOBAL(0x9DE574, uint16);
ps->map_y = RCT2_GLOBAL(0x9DE576, uint16);

View File

@@ -87,6 +87,8 @@ enum PAINT_STRUCT_FLAGS {
PAINT_STRUCT_FLAG_IS_MASKED = (1 << 0)
};
#define gPaintInteractionType RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8)
/** rct2: 0x00993CC4 */
extern const uint32 construction_markers[];

View File

@@ -61,7 +61,7 @@ void sprite_paint_setup(const uint16 eax, const uint16 ecx) {
RCT2_GLOBAL(0x9DE578, uint32) = (uint32)spr;
RCT2_GLOBAL(0x9DE568, sint16) = spr->unknown.x;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x9DE56C, sint16) = spr->unknown.y;
switch (spr->unknown.sprite_identifier) {

View File

@@ -31,7 +31,7 @@ static void paint_circus_show_tent(uint8 rideIndex, uint8 direction, sint8 al, s
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = GET_VEHICLE(ride->vehicles[0]);
}
@@ -44,7 +44,7 @@ static void paint_circus_show_tent(uint8 rideIndex, uint8 direction, sint8 al, s
sub_98197C(imageId, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3, get_current_rotation());
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/**
* rct2: 0x0076FAD4

View File

@@ -61,7 +61,7 @@ static void sub_88ABA4(uint8 direction, uint8 x_offset, uint8 y_offset, uint32 s
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK) {
if (ride->vehicles[0] != (uint16)-1) {
rct_sprite *sprite = &g_sprite_list[ride->vehicles[0]];
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x9DE578, rct_sprite *) = sprite;
}
}

View File

@@ -81,7 +81,7 @@ static void paint_ferris_wheel_structure(uint8 rideIndex, uint8 direction, sint8
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
}
@@ -127,7 +127,7 @@ static void paint_ferris_wheel_structure(uint8 rideIndex, uint8 direction, sint8
sub_98199C(imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}

View File

@@ -54,7 +54,7 @@ static void paint_haunted_house_structure(uint8 rideIndex, uint8 direction, sint
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
rct_vehicle * vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
frameNum = vehicle->vehicle_sprite_type;
@@ -77,7 +77,7 @@ static void paint_haunted_house_structure(uint8 rideIndex, uint8 direction, sint
}
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/**

View File

@@ -45,7 +45,7 @@ static void paint_merry_go_round_structure(uint8 rideIndex, uint8 direction, sin
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
@@ -96,7 +96,7 @@ static void paint_merry_go_round_structure(uint8 rideIndex, uint8 direction, sin
}
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/**

View File

@@ -52,7 +52,7 @@ static void paint_space_rings_structure(rct_ride * ride, uint8 direction, uint3
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
vehicle = GET_VEHICLE(ride->vehicles[vehicleIndex]);
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
frameNum += (sint8) vehicle->vehicle_sprite_type * 4;
@@ -79,7 +79,7 @@ static void paint_space_rings_structure(rct_ride * ride, uint8 direction, uint3
}
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/** rct2: 0x00767C40 */

View File

@@ -31,7 +31,7 @@ static void paint_3d_cinema_structure(uint8 rideIndex, uint8 direction, sint8 xO
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = GET_VEHICLE(ride->vehicles[0]);
}
@@ -44,7 +44,7 @@ static void paint_3d_cinema_structure(uint8 rideIndex, uint8 direction, sint8 xO
sub_98197C(imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3, get_current_rotation());
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}

View File

@@ -33,7 +33,7 @@ static void paint_enterprise_structure(rct_ride * ride, sint8 xOffset, sint8 yOf
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
}
@@ -70,7 +70,7 @@ static void paint_enterprise_structure(rct_ride * ride, sint8 xOffset, sint8 yOf
}
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/** rct2: 0x008A1584 */

View File

@@ -83,7 +83,7 @@ static void paint_pirate_ship_structure(rct_ride * ride, uint8 direction, sint8
&& ride->vehicles[0] != SPRITE_INDEX_NULL) {
vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
}
@@ -153,7 +153,7 @@ static void paint_pirate_ship_structure(rct_ride * ride, uint8 direction, sint8
sub_98199C(imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, height, get_current_rotation());
RCT2_GLOBAL(0x009DE578, rct_map_element*) = savedMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/** rct2: 0x008A85C4 */

View File

@@ -62,7 +62,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di
ride->vehicles[0] != SPRITE_INDEX_NULL) {
vehicle = GET_VEHICLE(ride->vehicles[0]);
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_SPRITE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_SPRITE;
RCT2_GLOBAL(0x009DE578, rct_vehicle*) = vehicle;
armRotation = vehicle->vehicle_sprite_type;
@@ -248,7 +248,7 @@ static void top_spin_paint_vehicle(sint8 al, sint8 cl, uint8 rideIndex, uint8 di
sub_98199C(image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
RCT2_GLOBAL(0x009DE578, rct_map_element*) = curMapElement;
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = VIEWPORT_INTERACTION_ITEM_RIDE;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
}
/**

View File

@@ -465,7 +465,7 @@ void track_paint(uint8 direction, int height, rct_map_element *mapElement)
trackColourScheme = mapElement->properties.track.colour & 3;
if ((gCurrentViewportFlags & VIEWPORT_FLAG_TRACK_HEIGHTS) && dpi->zoom_level == 0) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = 0;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
if (RCT2_ADDRESS(0x00999694, uint32)[trackType] & (1 << trackSequence)) {
uint16 ax = RideData5[ride->type].z_offset;
uint32 ebx = 0x20381689 + (height + 8) / 16;
@@ -475,7 +475,7 @@ void track_paint(uint8 direction, int height, rct_map_element *mapElement)
}
}
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = 3;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
RCT2_GLOBAL(0x00F44198, uint32) = (ride->track_colour_main[trackColourScheme] << 19) | (ride->track_colour_additional[trackColourScheme] << 24) | 0xA0000000;
RCT2_GLOBAL(0x00F441A0, uint32) = 0x20000000;
RCT2_GLOBAL(0x00F441A4, uint32) = 0x20C00000;
@@ -488,7 +488,7 @@ void track_paint(uint8 direction, int height, rct_map_element *mapElement)
}
if (mapElement->flags & MAP_ELEMENT_FLAG_GHOST) {
uint32 ghost_id = construction_markers[gConfigGeneral.construction_marker_colour];
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = 0;
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
RCT2_GLOBAL(0x00F44198, uint32) = ghost_id;
RCT2_GLOBAL(0x00F4419C, uint32) = ghost_id;
RCT2_GLOBAL(0x00F441A0, uint32) = ghost_id;