mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
refactor ride type flags
This commit is contained in:
@@ -290,7 +290,7 @@ static int award_is_deserved_best_food(int awardType, int activeAwardTypes)
|
||||
FOR_ALL_RIDES(i, ride) {
|
||||
if (ride->status != RIDE_STATUS_OPEN)
|
||||
continue;
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_23))
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD))
|
||||
continue;
|
||||
|
||||
shops++;
|
||||
@@ -336,7 +336,7 @@ static int award_is_deserved_worst_food(int awardType, int activeAwardTypes)
|
||||
FOR_ALL_RIDES(i, ride) {
|
||||
if (ride->status != RIDE_STATUS_OPEN)
|
||||
continue;
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_23))
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD))
|
||||
continue;
|
||||
|
||||
shops++;
|
||||
|
||||
@@ -4386,7 +4386,7 @@ void peep_problem_warnings_update()
|
||||
break;
|
||||
}
|
||||
ride = &g_ride_list[peep->guest_heading_to_ride_id];
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD))
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE))
|
||||
hunger_counter++;
|
||||
break;
|
||||
|
||||
|
||||
@@ -821,7 +821,7 @@ int sub_6C683D(int* x, int* y, int* z, int direction, int type, uint16 extra_par
|
||||
rct_ride* ride = GET_RIDE(map_element->properties.track.ride_index);
|
||||
rct_preview_track *trackBlock;
|
||||
|
||||
if (RCT2_ADDRESS(RCT2_ADDRESS_RIDE_FLAGS, uint32)[ride->type * 2] & RIDE_TYPE_FLAG_SELLS_FOOD){
|
||||
if (RCT2_ADDRESS(RCT2_ADDRESS_RIDE_FLAGS, uint32)[ride->type * 2] & RIDE_TYPE_FLAG_FLAT_RIDE){
|
||||
trackBlock = RCT2_ADDRESS(0x00994A38, rct_preview_track*)[type];
|
||||
}
|
||||
else{
|
||||
@@ -2467,7 +2467,7 @@ static void ride_shop_connected(rct_ride* ride, int ride_idx)
|
||||
uint16 entrance_directions = 0;
|
||||
uint8 track_type = mapElement->properties.track.type;
|
||||
ride = &g_ride_list[mapElement->properties.track.ride_index];
|
||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_SELLS_FOOD)) {
|
||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
|
||||
entrance_directions = RCT2_ADDRESS(0x0099CA64, uint8)[track_type * 16];
|
||||
} else {
|
||||
entrance_directions = RCT2_ADDRESS(0x0099BA64, uint8)[track_type * 16];
|
||||
|
||||
@@ -708,30 +708,30 @@ enum {
|
||||
RIDE_TYPE_FLAG_3 = 1 << 3,
|
||||
RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION = 1 << 4,
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS = 1 << 5,
|
||||
RIDE_TYPE_FLAG_6 = 1 << 6,
|
||||
RIDE_TYPE_FLAG_6 = 1 << 6, // used only by boat ride and submarine ride
|
||||
RIDE_TYPE_FLAG_HAS_G_FORCES = 1 << 7,
|
||||
RIDE_TYPE_FLAG_8 = 1 << 8, // something to do with track, maybe whether it can have gaps
|
||||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING = 1 << 9,
|
||||
RIDE_TYPE_FLAG_HAS_DROPS = 1 << 10,
|
||||
RIDE_TYPE_FLAG_NO_TEST_MODE = 1 << 11,
|
||||
RIDE_TYPE_FLAG_12 = 1 << 12,
|
||||
RIDE_TYPE_FLAG_13 = 1 << 13, // something to do with stations or vehicles
|
||||
RIDE_TYPE_FLAG_12 = 1 << 12, // used only by dinghy slide and water coaster
|
||||
RIDE_TYPE_FLAG_13 = 1 << 13, // used only by maze, spiral slide and shops
|
||||
RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS = 1 << 14,
|
||||
RIDE_TYPE_FLAG_15 = 1 << 15, // something to do with station, price and viewport zoom
|
||||
RIDE_TYPE_FLAG_16 = 1 << 16, // something to do with vehicle colour scheme
|
||||
RIDE_TYPE_FLAG_IS_SHOP = 1 << 17,
|
||||
RIDE_TYPE_FLAG_18 = 1 << 18,
|
||||
RIDE_TYPE_FLAG_SELLS_FOOD = 1 << 19,
|
||||
RIDE_TYPE_FLAG_FLAT_RIDE = 1 << 19,
|
||||
RIDE_TYPE_FLAG_20 = 1 << 20,
|
||||
RIDE_TYPE_FLAG_21 = 1 << 21,
|
||||
RIDE_TYPE_FLAG_21 = 1 << 21, // used only by toilets and first aid
|
||||
RIDE_TYPE_FLAG_IN_RIDE = 1 << 22, // peeps are "IN" (ride) rather than "ON" (ride)
|
||||
RIDE_TYPE_FLAG_23 = 1 << 23, // sells food?, seems to be used for food awards...
|
||||
RIDE_TYPE_FLAG_SELLS_FOOD = 1 << 23,
|
||||
RIDE_TYPE_FLAG_SELLS_DRINKS = 1 << 24,
|
||||
RIDE_TYPE_FLAG_IS_BATHROOM = 1 << 25,
|
||||
RIDE_TYPE_FLAG_26 = 1 << 26, // something to do with vehicle colours
|
||||
RIDE_TYPE_FLAG_27 = 1 << 27,
|
||||
RIDE_TYPE_FLAG_HAS_TRACK = 1 << 28,
|
||||
RIDE_TYPE_FLAG_29 = 1 << 29,
|
||||
RIDE_TYPE_FLAG_29 = 1 << 29, // used only by lift
|
||||
RIDE_TYPE_FLAG_30 = 1 << 30,
|
||||
RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR = 1 << 31,
|
||||
};
|
||||
|
||||
@@ -172,7 +172,7 @@ void window_new_campaign_open(sint16 campaignType)
|
||||
numApplicableRides = 0;
|
||||
window_new_campaign_rides[0] = 255;
|
||||
FOR_ALL_RIDES(i, ride) {
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_23 | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_IS_BATHROOM))
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_SELLS_FOOD | RIDE_TYPE_FLAG_SELLS_DRINKS | RIDE_TYPE_FLAG_IS_BATHROOM))
|
||||
window_new_campaign_rides[numApplicableRides++] = i;
|
||||
}
|
||||
|
||||
|
||||
@@ -898,7 +898,7 @@ static void window_new_ride_paint_ride_information(rct_window *w, rct_drawpixeli
|
||||
// Get price of ride
|
||||
int unk2 = RCT2_GLOBAL(0x0097CC68 + (item.type * 2), uint8);
|
||||
money32 price = RCT2_GLOBAL(0x0097DD78 + (item.type * 4), uint16);
|
||||
if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_SELLS_FOOD)) {
|
||||
if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
|
||||
price *= RCT2_ADDRESS(0x0099DE34, uint32)[unk2];
|
||||
} else {
|
||||
price *= RCT2_ADDRESS(0x0099DA34, uint32)[unk2];
|
||||
|
||||
Reference in New Issue
Block a user