Change sign of var_24. Add missing cable lift data

This commit is contained in:
duncanspumpkin 2015-12-12 11:48:28 +00:00
parent 82683f41fe
commit 90d006232b
5 changed files with 12 additions and 11 deletions

View File

@ -4468,7 +4468,7 @@ bool ride_create_cable_lift(int rideIndex, bool isApplying)
uint16 var_44 = edx & 0xFFFF;
edx = rol32(edx, 10) >> 1;
ebx -= edx;
uint32 var_24 = ebx;
sint32 var_24 = ebx;
ebx -= edx;
rct_vehicle *current = cable_lift_segment_create(rideIndex, x, y, z, direction, var_44, var_24, i == 0);

View File

@ -1309,5 +1309,6 @@ const rct_ride_lift_data RideLiftData[] = {
{ SOUND_LIFT_1, 4, 7 }, // Inverted Impulse Coaster
{ SOUND_LIFT_1, 4, 6 }, // Mini Roller Coaster
{ 255, 5, 5 }, // Mine Ride
{ SOUND_LIFT_6, 4, 6 } // LIM Launched Roller Coaster
{ SOUND_LIFT_6, 4, 6 }, // (none)
{ 255, 4, 6 } // LIM Launched Roller Coaster
};

View File

@ -93,7 +93,7 @@ extern const uint8 AllRideModesAvailable[];
extern const uint8 RideAvailableBreakdowns[];
extern const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_STYLE_COUNT];
extern const rct_ride_lift_data RideLiftData[90];
extern const rct_ride_lift_data RideLiftData[91];
extern const rct_ride_data_4 RideData4[91];

View File

@ -3741,7 +3741,7 @@ static int vehicle_update_scream_sound(rct_vehicle *vehicle)
produceScream:
if (vehicle->scream_sound_id == 255) {
r = scenario_rand();
if (totalNumPeeps >= r % 16) {
if (totalNumPeeps >= (int)(r % 16)) {
switch (vehicleEntry->sound_range) {
case 0:
vehicle->scream_sound_id = byte_9A3A14[r % 2];
@ -3930,7 +3930,7 @@ bool sub_6DF21B_loop(rct_vehicle* vehicle) {
rct_ride* ride = GET_RIDE(vehicle->ride);
rct_xyz16 *unk_F64E20 = RCT2_ADDRESS(0x00F64E20, rct_xyz16);
for (; (sint32)vehicle->var_24 < 0; RCT2_GLOBAL(0x00F64E10, uint32)++) {
for (; vehicle->var_24 < 0; RCT2_GLOBAL(0x00F64E10, uint32)++) {
uint16 trackProgress = vehicle->track_progress - 1;
const rct_vehicle_info *moveInfo;
@ -4005,7 +4005,7 @@ bool sub_6DF21B_loop(rct_vehicle* vehicle) {
vehicle->var_20 = moveInfo->var_08;
vehicle->var_1F = moveInfo->var_07;
if ((sint32)vehicle->var_24 < 0) {
if (vehicle->var_24 < 0) {
vehicle->var_2C += RCT2_ADDRESS(0x009A2970, sint32)[vehicle->var_1F];
}
}
@ -4051,7 +4051,7 @@ int vehicle_update_track_motion_cable_lift(rct_vehicle *cableLift)
invalidate_sprite_2((rct_sprite*)vehicle);
while (true) {
if ((sint32)vehicle->var_24 < 0) {
if (vehicle->var_24 < 0) {
if (sub_6DF21B_loop(vehicle) == true) {
break;
}
@ -4071,7 +4071,7 @@ int vehicle_update_track_motion_cable_lift(rct_vehicle *cableLift)
else {
RCT2_GLOBAL(0x00F64E18, uint32) |= (1 << 5);
RCT2_GLOBAL(0x00F64E0C, uint32) -= vehicle->var_24 + 1;
vehicle->var_24 = (uint32)-1;
vehicle->var_24 = -1;
vehicle->var_2C += RCT2_ADDRESS(0x009A2970, uint32)[vehicle->var_1F];
RCT2_GLOBAL(0x00F64E10, uint32)++;
}
@ -4128,7 +4128,7 @@ int vehicle_update_track_motion_cable_lift(rct_vehicle *cableLift)
//return eax;
}
rct_vehicle *cable_lift_segment_create(int rideIndex, int x, int y, int z, int direction, uint16 var_44, uint32 var_24, bool head)
rct_vehicle *cable_lift_segment_create(int rideIndex, int x, int y, int z, int direction, uint16 var_44, sint32 var_24, bool head)
{
rct_ride *ride = GET_RIDE(rideIndex);
rct_vehicle *current = &(create_sprite(1)->vehicle);

View File

@ -106,7 +106,7 @@ typedef struct {
uint8 var_1F;
uint8 var_20;
uint8 pad_21[3];
uint32 var_24;
sint32 var_24;
sint32 velocity; // 0x28
sint32 var_2C;
uint8 ride; // 0x30
@ -288,7 +288,7 @@ void vehicle_set_map_toolbar(rct_vehicle *vehicle);
int vehicle_is_used_in_pairs(rct_vehicle *vehicle);
rct_vehicle *vehicle_get_head(rct_vehicle *vehicle);
int vehicle_update_track_motion_cable_lift(rct_vehicle *cableLift);
rct_vehicle *cable_lift_segment_create(int rideIndex, int x, int y, int z, int direction, uint16 var_44, uint32 var_24, bool head);
rct_vehicle *cable_lift_segment_create(int rideIndex, int x, int y, int z, int direction, uint16 var_44, sint32 var_24, bool head);
bool sub_6DD365(rct_vehicle *vehicle);
int sub_6DAB4C(rct_vehicle *vehicle, int *outStation);
rct_ride_type_vehicle *vehicle_get_vehicle_entry(rct_vehicle *vehicle);