mirror of https://github.com/OpenRCT2/OpenRCT2.git
Integrate track pricing
This commit is contained in:
parent
ba4df424cb
commit
897fc0591b
|
@ -1395,8 +1395,8 @@ static money32 track_place(int rideIndex, int type, int originX, int originY, in
|
|||
|
||||
money32 price = RideTrackCosts[ride->type].track_price;
|
||||
price *= (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ?
|
||||
RCT2_ADDRESS(0x0099DE34, money32)[type] :
|
||||
RCT2_ADDRESS(0x0099DA34, money32)[type];
|
||||
FlatRideTrackPricing[type] :
|
||||
TrackPricing[type];
|
||||
|
||||
price >>= 16;
|
||||
price = cost + ((price / 2) * 10);
|
||||
|
@ -1675,10 +1675,10 @@ static money32 track_remove(uint8 type, uint8 sequence, sint16 originX, sint16 o
|
|||
|
||||
money32 price = RideTrackCosts[ride->type].track_price;
|
||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
|
||||
price *= RCT2_ADDRESS(0x0099DE34, money32)[type];
|
||||
price *= FlatRideTrackPricing[type];
|
||||
}
|
||||
else {
|
||||
price *= RCT2_ADDRESS(0x0099DA34, money32)[type];
|
||||
price *= TrackPricing[type];
|
||||
}
|
||||
price >>= 16;
|
||||
price = (price + cost) / 2;
|
||||
|
@ -1833,7 +1833,7 @@ static money32 set_maze_track(uint16 x, uint8 flags, uint8 direction, uint16 y,
|
|||
|
||||
rct_ride *ride = get_ride(rideIndex);
|
||||
|
||||
money32 price = (((RideTrackCosts[ride->type].track_price * RCT2_GLOBAL(0x0099DBC8, money32)) >> 16));
|
||||
money32 price = (((RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE]) >> 16));
|
||||
RCT2_GLOBAL(0x00F4413E, money32) = price / 2 * 10;
|
||||
|
||||
if (!(flags & GAME_COMMAND_FLAG_APPLY)) {
|
||||
|
|
|
@ -30439,3 +30439,520 @@ const sint16 AlternativeTrackTypes[256] = {
|
|||
-1,
|
||||
-1,
|
||||
};
|
||||
|
||||
/** rct2: 0x0099DA34 */
|
||||
const money32 TrackPricing[] = {
|
||||
65536, // TRACK_ELEM_FLAT
|
||||
98304, // TRACK_ELEM_END_STATION
|
||||
98304, // TRACK_ELEM_BEGIN_STATION
|
||||
98304, // TRACK_ELEM_MIDDLE_STATION
|
||||
79872, // TRACK_ELEM_25_DEG_UP
|
||||
114688, // TRACK_ELEM_60_DEG_UP
|
||||
73728, // TRACK_ELEM_FLAT_TO_25_DEG_UP
|
||||
96256, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP
|
||||
96256, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP
|
||||
73728, // TRACK_ELEM_25_DEG_UP_TO_FLAT
|
||||
79872, // TRACK_ELEM_25_DEG_DOWN
|
||||
114688, // TRACK_ELEM_60_DEG_DOWN
|
||||
73728, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN
|
||||
96256, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
96256, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
73728, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT
|
||||
257359, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES
|
||||
257359, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES
|
||||
69632, // TRACK_ELEM_FLAT_TO_LEFT_BANK
|
||||
69632, // TRACK_ELEM_FLAT_TO_RIGHT_BANK
|
||||
69632, // TRACK_ELEM_LEFT_BANK_TO_FLAT
|
||||
69632, // TRACK_ELEM_RIGHT_BANK_TO_FLAT
|
||||
273443, // TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES
|
||||
273443, // TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES
|
||||
78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP
|
||||
78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP
|
||||
78336, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK
|
||||
78336, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK
|
||||
78336, // TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN
|
||||
78336, // TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
78336, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK
|
||||
78336, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
69632, // TRACK_ELEM_LEFT_BANK
|
||||
69632, // TRACK_ELEM_RIGHT_BANK
|
||||
313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP
|
||||
313656, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
313656, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN
|
||||
229376, // TRACK_ELEM_S_BEND_LEFT
|
||||
229376, // TRACK_ELEM_S_BEND_RIGHT
|
||||
491520, // TRACK_ELEM_LEFT_VERTICAL_LOOP
|
||||
491520, // TRACK_ELEM_RIGHT_VERTICAL_LOOP
|
||||
154415, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES
|
||||
154415, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES
|
||||
164065, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK
|
||||
164065, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK
|
||||
270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN
|
||||
51471, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE
|
||||
51471, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE
|
||||
212992, // TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP
|
||||
212992, // TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP
|
||||
212992, // TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN
|
||||
212992, // TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN
|
||||
294912, // TRACK_ELEM_HALF_LOOP_UP
|
||||
294912, // TRACK_ELEM_HALF_LOOP_DOWN
|
||||
229376, // TRACK_ELEM_LEFT_CORKSCREW_UP
|
||||
229376, // TRACK_ELEM_RIGHT_CORKSCREW_UP
|
||||
229376, // TRACK_ELEM_LEFT_CORKSCREW_DOWN
|
||||
229376, // TRACK_ELEM_RIGHT_CORKSCREW_DOWN
|
||||
98304, // TRACK_ELEM_FLAT_TO_60_DEG_UP
|
||||
98304, // TRACK_ELEM_60_DEG_UP_TO_FLAT
|
||||
98304, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN
|
||||
98304, // TRACK_ELEM_60_DEG_DOWN_TO_FLAT
|
||||
524288, // TRACK_ELEM_TOWER_BASE
|
||||
65536, // TRACK_ELEM_TOWER_SECTION
|
||||
69632, // TRACK_ELEM_FLAT_COVERED
|
||||
83968, // TRACK_ELEM_25_DEG_UP_COVERED
|
||||
118784, // TRACK_ELEM_60_DEG_UP_COVERED
|
||||
77824, // TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED
|
||||
100352, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED
|
||||
100352, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED
|
||||
77824, // TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED
|
||||
83968, // TRACK_ELEM_25_DEG_DOWN_COVERED
|
||||
118784, // TRACK_ELEM_60_DEG_DOWN_COVERED
|
||||
77824, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED
|
||||
100352, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED
|
||||
100352, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED
|
||||
77824, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED
|
||||
261455, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED
|
||||
261455, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED
|
||||
233472, // TRACK_ELEM_S_BEND_LEFT_COVERED
|
||||
233472, // TRACK_ELEM_S_BEND_RIGHT_COVERED
|
||||
158511, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED
|
||||
158511, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED
|
||||
328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL
|
||||
328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL
|
||||
328192, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
328192, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL
|
||||
547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE
|
||||
547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE
|
||||
547072, // TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
547072, // TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE
|
||||
126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP
|
||||
126976, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
126976, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN
|
||||
90112, // TRACK_ELEM_BRAKES
|
||||
77824, // TRACK_ELEM_ROTATION_CONTROL_TOGGLE
|
||||
65536, // TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP / TRACK_ELEM_MAZE
|
||||
273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP
|
||||
273539, // TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
273539, // TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP
|
||||
273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP
|
||||
273539, // TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN
|
||||
273539, // TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN
|
||||
83968, // TRACK_ELEM_25_DEG_UP_LEFT_BANKED
|
||||
83968, // TRACK_ELEM_25_DEG_UP_RIGHT_BANKED
|
||||
143360, // TRACK_ELEM_WATERFALL
|
||||
118784, // TRACK_ELEM_RAPIDS
|
||||
196608, // TRACK_ELEM_ON_RIDE_PHOTO
|
||||
83968, // TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED
|
||||
83968, // TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED
|
||||
393216, // TRACK_ELEM_WATER_SPLASH
|
||||
376832, // TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE
|
||||
376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE
|
||||
126976, // TRACK_ELEM_WHIRLPOOL
|
||||
376832, // TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE
|
||||
376832, // TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122
|
||||
643072, // TRACK_ELEM_CABLE_LIFT_HILL
|
||||
491520, // TRACK_ELEM_REVERSE_WHOA_BELLY_SLOPE
|
||||
65536, // TRACK_ELEM_REVERSE_WHOA_BELLY_VERTICAL
|
||||
69632, // TRACK_ELEM_90_DEG_UP
|
||||
69632, // TRACK_ELEM_90_DEG_DOWN
|
||||
114688, // TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP
|
||||
114688, // TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN
|
||||
114688, // TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP
|
||||
114688, // TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN
|
||||
147456, // TRACK_ELEM_BRAKE_FOR_DROP
|
||||
180151, // TRACK_ELEM_LEFT_EIGHTH_TO_DIAG
|
||||
180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG
|
||||
180151, // TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL
|
||||
180151, // TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL
|
||||
190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG
|
||||
190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG
|
||||
190960, // TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
190960, // TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL
|
||||
92681, // TRACK_ELEM_DIAG_FLAT
|
||||
111820, // TRACK_ELEM_DIAG_25_DEG_UP
|
||||
147456, // TRACK_ELEM_DIAG_60_DEG_UP
|
||||
102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP
|
||||
129024, // TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP
|
||||
129024, // TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP
|
||||
102400, // TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT
|
||||
111820, // TRACK_ELEM_DIAG_25_DEG_DOWN
|
||||
147456, // TRACK_ELEM_DIAG_60_DEG_DOWN
|
||||
102400, // TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN
|
||||
129024, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||
129024, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||
102400, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT
|
||||
107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP
|
||||
107008, // TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT
|
||||
107008, // TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN
|
||||
107008, // TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT
|
||||
96777, // TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK
|
||||
96777, // TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK
|
||||
96777, // TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT
|
||||
96777, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT
|
||||
106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP
|
||||
106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP
|
||||
106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK
|
||||
106496, // TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK
|
||||
106496, // TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN
|
||||
106496, // TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN
|
||||
106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK
|
||||
106496, // TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
96777, // TRACK_ELEM_DIAG_LEFT_BANK
|
||||
96777, // TRACK_ELEM_DIAG_RIGHT_BANK
|
||||
282624, // TRACK_ELEM_LOG_FLUME_REVERSER
|
||||
217088, // TRACK_ELEM_SPINNING_TUNNEL
|
||||
221184, // TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN
|
||||
221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN
|
||||
221184, // TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP
|
||||
221184, // TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP
|
||||
270226, // TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
270226, // TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP
|
||||
270226, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK
|
||||
270226, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK
|
||||
96384, // TRACK_ELEM_POWERED_LIFT
|
||||
884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP
|
||||
884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP
|
||||
884736, // TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN
|
||||
884736, // TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN
|
||||
221184, // TRACK_ELEM_LEFT_FLYER_TWIST_UP
|
||||
221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_UP
|
||||
221184, // TRACK_ELEM_LEFT_FLYER_TWIST_DOWN
|
||||
221184, // TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN
|
||||
294912, // TRACK_ELEM_FLYER_HALF_LOOP_UP
|
||||
294912, // TRACK_ELEM_FLYER_HALF_LOOP_DOWN
|
||||
229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP
|
||||
229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP
|
||||
229376, // TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN
|
||||
229376, // TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN
|
||||
294912, // TRACK_ELEM_HEARTLINE_TRANSFER_UP
|
||||
294912, // TRACK_ELEM_HEARTLINE_TRANSFER_DOWN
|
||||
417792, // TRACK_ELEM_LEFT_HEARTLINE_ROLL
|
||||
417792, // TRACK_ELEM_RIGHT_HEARTLINE_ROLL
|
||||
159744, // TRACK_ELEM_MINI_GOLF_HOLE_A
|
||||
167936, // TRACK_ELEM_MINI_GOLF_HOLE_B
|
||||
172032, // TRACK_ELEM_MINI_GOLF_HOLE_C
|
||||
184320, // TRACK_ELEM_MINI_GOLF_HOLE_D
|
||||
184320, // TRACK_ELEM_MINI_GOLF_HOLE_E
|
||||
360448, // TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN
|
||||
360448, // TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP
|
||||
360448, // TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN
|
||||
270226, // TRACK_ELEM_LEFT_CURVED_LIFT_HILL
|
||||
270226, // TRACK_ELEM_RIGHT_CURVED_LIFT_HILL
|
||||
393216, // TRACK_ELEM_LEFT_REVERSER
|
||||
393216, // TRACK_ELEM_RIGHT_REVERSER
|
||||
65536, // TRACK_ELEM_AIR_THRUST_TOP_CAP
|
||||
65536, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN
|
||||
491520, // TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL
|
||||
94208, // TRACK_ELEM_BLOCK_BRAKES
|
||||
287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP
|
||||
287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_UP
|
||||
287115, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN
|
||||
287115, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_3_TILE_25_DEG_DOWN
|
||||
333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP
|
||||
333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_UP
|
||||
333259, // TRACK_ELEM_LEFT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN
|
||||
333259, // TRACK_ELEM_RIGHT_BANKED_QUARTER_TURN_5_TILE_25_DEG_DOWN
|
||||
83968, // TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP
|
||||
83968, // TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP
|
||||
83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP
|
||||
83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP
|
||||
83968, // TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN
|
||||
83968, // TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN
|
||||
83968, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN
|
||||
83968, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT
|
||||
77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP
|
||||
77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT
|
||||
77824, // TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN
|
||||
77824, // TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN
|
||||
77824, // TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT
|
||||
77824, // TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT
|
||||
151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_UP
|
||||
151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_UP
|
||||
151552, // TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_90_DEG_DOWN
|
||||
151552, // TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_90_DEG_DOWN
|
||||
360448, // TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUARTER_LOOP
|
||||
360448, // TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUARTER_LOOP
|
||||
360448, //
|
||||
};
|
||||
|
||||
/** rct2: 0x0099DE34 */
|
||||
const money32 FlatRideTrackPricing[] = {
|
||||
65536,
|
||||
98304,
|
||||
98304,
|
||||
98304,
|
||||
79872,
|
||||
114688,
|
||||
73728,
|
||||
96256,
|
||||
96256,
|
||||
73728,
|
||||
79872,
|
||||
114688,
|
||||
73728,
|
||||
96256,
|
||||
96256,
|
||||
73728,
|
||||
257359,
|
||||
257359,
|
||||
69632,
|
||||
69632,
|
||||
69632,
|
||||
69632,
|
||||
273443,
|
||||
273443,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
78336,
|
||||
69632,
|
||||
69632,
|
||||
313656,
|
||||
313656,
|
||||
313656,
|
||||
313656,
|
||||
229376,
|
||||
229376,
|
||||
491520,
|
||||
491520,
|
||||
154415,
|
||||
154415,
|
||||
164065,
|
||||
164065,
|
||||
270226,
|
||||
270226,
|
||||
270226,
|
||||
270226,
|
||||
51471,
|
||||
51471,
|
||||
212992,
|
||||
212992,
|
||||
212992,
|
||||
212992,
|
||||
294912,
|
||||
294912,
|
||||
229376,
|
||||
229376,
|
||||
229376,
|
||||
229376,
|
||||
98304,
|
||||
98304,
|
||||
98304,
|
||||
98304,
|
||||
524288,
|
||||
65536,
|
||||
69632,
|
||||
83968,
|
||||
118784,
|
||||
77824,
|
||||
100352,
|
||||
100352,
|
||||
77824,
|
||||
83968,
|
||||
118784,
|
||||
77824,
|
||||
100352,
|
||||
100352,
|
||||
77824,
|
||||
261455,
|
||||
261455,
|
||||
233472,
|
||||
233472,
|
||||
158511,
|
||||
158511,
|
||||
328192,
|
||||
328192,
|
||||
328192,
|
||||
328192,
|
||||
547072,
|
||||
547072,
|
||||
547072,
|
||||
547072,
|
||||
262144, // FLAT_TRACK_ELEM_1_X_4_A
|
||||
126976,
|
||||
126976,
|
||||
126976,
|
||||
90112,
|
||||
77824,
|
||||
65536,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
273539,
|
||||
262144, // FLAT_TRACK_ELEM_2_X_2
|
||||
1048576, // FLAT_TRACK_ELEM_4_X_4
|
||||
143360,
|
||||
118784,
|
||||
196608,
|
||||
524288,
|
||||
327680, // FLAT_TRACK_ELEM_1_X_5
|
||||
393216,
|
||||
65536, // FLAT_TRACK_ELEM_1_X_1_A
|
||||
262144, // FLAT_TRACK_ELEM_1_X_4_B
|
||||
126976,
|
||||
65536, // FLAT_TRACK_ELEM_1_X_1_B
|
||||
262144, // FLAT_TRACK_ELEM_1_X_4_C
|
||||
524288, // FLAT_TRACK_ELEM_3_X_3
|
||||
491520,
|
||||
65536,
|
||||
69632,
|
||||
69632,
|
||||
114688,
|
||||
114688,
|
||||
114688,
|
||||
114688,
|
||||
147456,
|
||||
180151,
|
||||
180151,
|
||||
180151,
|
||||
180151,
|
||||
190960,
|
||||
190960,
|
||||
190960,
|
||||
190960,
|
||||
92681,
|
||||
111820,
|
||||
147456,
|
||||
102400,
|
||||
129024,
|
||||
129024,
|
||||
102400,
|
||||
111820,
|
||||
147456,
|
||||
102400,
|
||||
129024,
|
||||
129024,
|
||||
102400,
|
||||
107008,
|
||||
107008,
|
||||
107008,
|
||||
107008,
|
||||
96777,
|
||||
96777,
|
||||
96777,
|
||||
96777,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
106496,
|
||||
96777,
|
||||
96777,
|
||||
282624,
|
||||
217088,
|
||||
221184,
|
||||
221184,
|
||||
221184,
|
||||
221184,
|
||||
270226,
|
||||
270226,
|
||||
270226,
|
||||
270226,
|
||||
96384,
|
||||
884736,
|
||||
884736,
|
||||
884736,
|
||||
884736,
|
||||
221184,
|
||||
221184,
|
||||
221184,
|
||||
221184,
|
||||
294912,
|
||||
294912,
|
||||
229376,
|
||||
229376,
|
||||
229376,
|
||||
229376,
|
||||
294912,
|
||||
294912,
|
||||
417792,
|
||||
417792,
|
||||
159744,
|
||||
167936,
|
||||
172032,
|
||||
184320,
|
||||
184320,
|
||||
159744,
|
||||
159744,
|
||||
159744,
|
||||
270226,
|
||||
270226,
|
||||
393216,
|
||||
393216,
|
||||
65536,
|
||||
65536,
|
||||
491520,
|
||||
94208,
|
||||
287115,
|
||||
287115,
|
||||
287115,
|
||||
287115,
|
||||
333259,
|
||||
333259,
|
||||
333259,
|
||||
333259,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
83968,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
77824,
|
||||
151552,
|
||||
151552,
|
||||
151552,
|
||||
151552,
|
||||
};
|
||||
|
|
|
@ -60,3 +60,6 @@ typedef struct {
|
|||
extern const rct_vehicle_info_list **gTrackVehicleInfo[17];
|
||||
|
||||
extern const sint16 AlternativeTrackTypes[256];
|
||||
|
||||
extern const money32 TrackPricing[256];
|
||||
extern const money32 FlatRideTrackPricing[256];
|
||||
|
|
|
@ -1582,7 +1582,7 @@ static money32 place_maze_design(uint8 flags, uint8 rideIndex, uint16 mazeEntry,
|
|||
// Calculate price
|
||||
money32 price = 0;
|
||||
if (!(gParkFlags & PARK_FLAGS_NO_MONEY)) {
|
||||
price = RideTrackCosts[ride->type].track_price * RCT2_GLOBAL(0x0099DBC8, money32);
|
||||
price = RideTrackCosts[ride->type].track_price * TrackPricing[TRACK_ELEM_MAZE];
|
||||
price = (price >> 17) * 10;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "../world/scenery.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "../sprites.h"
|
||||
#include "../ride/track_data.h"
|
||||
|
||||
#define _window_new_ride_current_tab RCT2_GLOBAL(RCT2_ADDRESS_WINDOW_RIDE_LIST_SELECTED_TAB, uint8)
|
||||
|
||||
|
@ -912,9 +913,9 @@ static void window_new_ride_paint_ride_information(rct_window *w, rct_drawpixeli
|
|||
int unk2 = RideConstructionDefaultTrackType[item.type];
|
||||
money32 price = RideTrackCosts[item.type].track_price;
|
||||
if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
|
||||
price *= RCT2_ADDRESS(0x0099DE34, uint32)[unk2];
|
||||
price *= FlatRideTrackPricing[unk2];
|
||||
} else {
|
||||
price *= RCT2_ADDRESS(0x0099DA34, uint32)[unk2];
|
||||
price *= TrackPricing[unk2];
|
||||
}
|
||||
price = (price >> 17) * 10 * RideData5[item.type].price;
|
||||
|
||||
|
|
Loading…
Reference in New Issue