mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-19 21:13:05 +01:00
Started implementing get g forces
This commit is contained in:
@@ -3850,6 +3850,300 @@ produceScream:
|
||||
*/
|
||||
void vehicle_get_g_forces(rct_vehicle *vehicle, int *verticalG, int *lateralG)
|
||||
{
|
||||
int _eax = (((sint64)0x280000) * RCT2_ADDRESS(0x009A37E4, sint32)[vehicle->var_1F]) >> 32;
|
||||
_eax = (((sint64)_eax) * RCT2_ADDRESS(0x009A39C4, sint32)[vehicle->var_20]) >> 32;
|
||||
|
||||
switch (vehicle->track_type >> 2) {
|
||||
TRACK_ELEM_FLAT:
|
||||
TRACK_ELEM_END_STATION:
|
||||
TRACK_ELEM_BEGIN_STATION:
|
||||
TRACK_ELEM_MIDDLE_STATION:
|
||||
TRACK_ELEM_25_DEG_UP:
|
||||
TRACK_ELEM_60_DEG_UP: //
|
||||
TRACK_ELEM_25_DEG_DOWN:
|
||||
TRACK_ELEM_60_DEG_DOWN: //
|
||||
TRACK_ELEM_FLAT_TO_LEFT_BANK:
|
||||
TRACK_ELEM_FLAT_TO_RIGHT_BANK:
|
||||
TRACK_ELEM_LEFT_BANK_TO_FLAT:
|
||||
TRACK_ELEM_RIGHT_BANK_TO_FLAT://
|
||||
TRACK_ELEM_LEFT_BANK:
|
||||
TRACK_ELEM_RIGHT_BANK:
|
||||
TRACK_ELEM_TOWER_BASE:
|
||||
TRACK_ELEM_TOWER_SECTION:
|
||||
TRACK_ELEM_FLAT_COVERED:
|
||||
TRACK_ELEM_25_DEG_UP_COVERED:
|
||||
TRACK_ELEM_60_DEG_UP_COVERED:
|
||||
TRACK_ELEM_25_DEG_DOWN_COVERED:
|
||||
TRACK_ELEM_60_DEG_DOWN_COVERED:
|
||||
TRACK_ELEM_BRAKES:
|
||||
TRACK_ELEM_ROTATION_CONTROL_TOGGLE:
|
||||
TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP:
|
||||
TRACK_ELEM_25_DEG_UP_LEFT_BANKED:
|
||||
TRACK_ELEM_25_DEG_UP_RIGHT_BANKED:
|
||||
TRACK_ELEM_WATERFALL:
|
||||
TRACK_ELEM_RAPIDS:
|
||||
TRACK_ELEM_ON_RIDE_PHOTO:
|
||||
TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED:
|
||||
TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED:
|
||||
TRACK_ELEM_WHIRLPOOL:
|
||||
TRACK_ELEM_REVERSE_WHOA_BELLY_VERTICAL:
|
||||
TRACK_ELEM_90_DEG_UP:
|
||||
TRACK_ELEM_90_DEG_DOWN:
|
||||
TRACK_ELEM_DIAG_FLAT:
|
||||
TRACK_ELEM_DIAG_25_DEG_UP:
|
||||
TRACK_ELEM_DIAG_60_DEG_UP:
|
||||
TRACK_ELEM_DIAG_25_DEG_DOWN:
|
||||
TRACK_ELEM_DIAG_60_DEG_DOWN:
|
||||
TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK:
|
||||
TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK:
|
||||
TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT:
|
||||
TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT:
|
||||
TRACK_ELEM_DIAG_LEFT_BANK:
|
||||
TRACK_ELEM_DIAG_RIGHT_BANK:
|
||||
TRACK_ELEM_LOG_FLUME_REVERSER:
|
||||
TRACK_ELEM_SPINNING_TUNNEL:
|
||||
TRACK_ELEM_POWERED_LIFT:
|
||||
//6d73FF
|
||||
break;
|
||||
TRACK_ELEM_FLAT_TO_25_DEG_UP://
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_FLAT://
|
||||
TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP:
|
||||
TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP:
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK:
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK:
|
||||
TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED:
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED:
|
||||
//6d7509
|
||||
break;
|
||||
TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP://
|
||||
TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN://
|
||||
TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED:
|
||||
TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED:
|
||||
//6d7545
|
||||
break;
|
||||
TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP://
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN://
|
||||
TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED:
|
||||
TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED:
|
||||
//6d7551
|
||||
break;
|
||||
TRACK_ELEM_25_DEG_UP_TO_FLAT://
|
||||
TRACK_ELEM_FLAT_TO_25_DEG_DOWN://
|
||||
TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK:
|
||||
TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK:
|
||||
TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN:
|
||||
TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN:
|
||||
TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED:
|
||||
TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED:
|
||||
TRACK_ELEM_CABLE_LIFT_HILL:
|
||||
//6d7569
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES://
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN:
|
||||
TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP:
|
||||
TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED:
|
||||
TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP:
|
||||
TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN:
|
||||
//6d7590
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES://
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN:
|
||||
TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP:
|
||||
TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED:
|
||||
TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP:
|
||||
TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN:
|
||||
//6d75B7
|
||||
break;
|
||||
TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES:
|
||||
TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE:
|
||||
TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE:
|
||||
TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP:
|
||||
TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN:
|
||||
//6d75E1
|
||||
break;
|
||||
TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES:
|
||||
TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE:
|
||||
TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE:
|
||||
TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP:
|
||||
TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN:
|
||||
//6d75F0
|
||||
break;
|
||||
TRACK_ELEM_S_BEND_LEFT:
|
||||
TRACK_ELEM_S_BEND_LEFT_COVERED:
|
||||
//6d75FF
|
||||
break;
|
||||
TRACK_ELEM_S_BEND_RIGHT:
|
||||
TRACK_ELEM_S_BEND_RIGHT_COVERED:
|
||||
//6d7608
|
||||
break;
|
||||
TRACK_ELEM_LEFT_VERTICAL_LOOP:
|
||||
TRACK_ELEM_RIGHT_VERTICAL_LOOP:
|
||||
//6d7690
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED:
|
||||
//6d7704
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED:
|
||||
//6d7710
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK:
|
||||
TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL:
|
||||
TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL:
|
||||
//6d7782
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK:
|
||||
TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL:
|
||||
TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL:
|
||||
//6d778E
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE:
|
||||
//6d779A
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE:
|
||||
//6d77A3
|
||||
break;
|
||||
TRACK_ELEM_HALF_LOOP_UP:
|
||||
//6d763E
|
||||
break;
|
||||
TRACK_ELEM_HALF_LOOP_DOWN:
|
||||
//6d7656
|
||||
break;
|
||||
TRACK_ELEM_LEFT_CORKSCREW_UP:
|
||||
TRACK_ELEM_RIGHT_CORKSCREW_DOWN:
|
||||
//6d76AA
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_CORKSCREW_UP:
|
||||
TRACK_ELEM_LEFT_CORKSCREW_DOWN:
|
||||
//6d76B9
|
||||
break;
|
||||
TRACK_ELEM_FLAT_TO_60_DEG_UP:
|
||||
TRACK_ELEM_60_DEG_DOWN_TO_FLAT:
|
||||
//6d747C
|
||||
break;
|
||||
TRACK_ELEM_60_DEG_UP_TO_FLAT:
|
||||
TRACK_ELEM_FLAT_TO_60_DEG_DOWN:
|
||||
TRACK_ELEM_BRAKE_FOR_DROP:
|
||||
//6d7488
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP:
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN:
|
||||
//6d7770
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP:
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN:
|
||||
//6d7779
|
||||
break;
|
||||
TRACK_ELEM_WATER_SPLASH:
|
||||
//6d7408
|
||||
break;
|
||||
TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE:
|
||||
TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE:
|
||||
//6d74F1
|
||||
break;
|
||||
TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE:
|
||||
TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122:
|
||||
//6d74FD
|
||||
break;
|
||||
TRACK_ELEM_REVERSE_WHOA_BELLY_SLOPE:
|
||||
//6d7458
|
||||
break;
|
||||
TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP:
|
||||
TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN:
|
||||
//6d7515
|
||||
break;
|
||||
TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP:
|
||||
TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN:
|
||||
//6d7521
|
||||
break;
|
||||
TRACK_ELEM_LEFT_EIGHTH_TO_DIAG:
|
||||
TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL:
|
||||
//6d7575
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG:
|
||||
TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL:
|
||||
//6d759C
|
||||
break;
|
||||
TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG:
|
||||
TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL:
|
||||
//6d75C3
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG:
|
||||
TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL:
|
||||
//6d75D2
|
||||
break;
|
||||
TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP:
|
||||
TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT:
|
||||
TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP:
|
||||
TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP:
|
||||
TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK:
|
||||
TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK:
|
||||
//6d7494
|
||||
break;
|
||||
TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP:
|
||||
TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN:
|
||||
//6D752D
|
||||
break;
|
||||
TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP:
|
||||
TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN:
|
||||
//6D7539
|
||||
break;
|
||||
TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT:
|
||||
TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN:
|
||||
TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK:
|
||||
TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK:
|
||||
TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN:
|
||||
TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN:
|
||||
//6d755D
|
||||
break;
|
||||
TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP:
|
||||
TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT:
|
||||
//6D7464
|
||||
break;
|
||||
TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT:
|
||||
TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN:
|
||||
//6d7470
|
||||
break;
|
||||
TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN:
|
||||
TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP:
|
||||
//6d7581
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN:
|
||||
TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP:
|
||||
//6d75A8
|
||||
break;
|
||||
TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP:
|
||||
//6d771C
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP:
|
||||
//6D7746
|
||||
break;
|
||||
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK:
|
||||
//6D7731
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK:
|
||||
//6D775B
|
||||
break;
|
||||
TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP:
|
||||
TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP:
|
||||
//6d7666
|
||||
break;
|
||||
TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN:
|
||||
TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN:
|
||||
//6d767F
|
||||
break;
|
||||
//187 - 255
|
||||
}
|
||||
|
||||
int eax, ebx, ecx, edx, esi, edi, ebp;
|
||||
|
||||
esi = (int)vehicle;
|
||||
@@ -4200,10 +4494,6 @@ int vehicle_update_track_motion_cable_lift(rct_vehicle *cableLift)
|
||||
|
||||
cableLift->var_2C = ecx;
|
||||
return RCT2_GLOBAL(0x00F64E18, uint32);
|
||||
|
||||
//int eax = 0, ebx = 0, ecx = 0, edx = 0, ebp = 0, edi = 0;
|
||||
//RCT2_CALLFUNC_X(0x006DEF56, &eax, &ebx, &ecx, &edx, (int*)&cableLift, &edi, &ebp);
|
||||
//return eax;
|
||||
}
|
||||
|
||||
/* rct2: 0x006DA44E */
|
||||
|
||||
Reference in New Issue
Block a user