Import more fields, correct more vehicles

This commit is contained in:
Gymnasiast 2017-01-07 14:10:28 +01:00 committed by Ted John
parent fc7b03747e
commit dacfba9eda
3 changed files with 280 additions and 262 deletions

View File

@ -1125,10 +1125,18 @@ enum {
STEEL_RC_FRONT = 0, STEEL_RC_FRONT = 0,
STEEL_RC_CARRIAGE = 1, STEEL_RC_CARRIAGE = 1,
WOODEN_RC_TRAIN = 2, WOODEN_RC_TRAIN = 2,
MINIATURE_RAILWAY_TENDER = 15,
MINIATURE_RAILWAY_LOCOMOTIVE = 16,
MINIATURE_RAILWAY_CARRIAGE = 17,
MINE_TRAIN_FRONT = 35, MINE_TRAIN_FRONT = 35,
MINE_TRAIN_CARRIAGE = 36, MINE_TRAIN_CARRIAGE = 36,
CORKSCREW_RC_FRONT = 38, CORKSCREW_RC_FRONT = 38,
CORKSCREW_RC_CARRIAGE = 39, CORKSCREW_RC_CARRIAGE = 39,
TWISTER_RC_SPOILER = 64,
TWISTER_RC_CARRIAGE = 65,
STANDUP_TWISTER_RC_CARRIAGE = 72,
HYPERCOASTER_FRONT = 96,
HYPERCOASTER_CARRIAGE = 97,
}; };
#define RCT1_MAX_STATIONS 4 #define RCT1_MAX_STATIONS 4

View File

@ -862,8 +862,8 @@ private:
uint8 vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type); uint8 vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type);
rct_ride * ride = get_ride(src->ride); rct_ride * ride = get_ride(src->ride);
rct_ride_entry * rideEntry = get_ride_entry_by_ride(ride); //rct_ride_entry * rideEntry = get_ride_entry_by_ride(ride);
rct_ride_entry_vehicle * vehicleEntry = &rideEntry->vehicles[vehicleEntryIndex]; //rct_ride_entry_vehicle * vehicleEntry = &rideEntry->vehicles[vehicleEntryIndex];
dst->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE; dst->sprite_identifier = SPRITE_IDENTIFIER_VEHICLE;
dst->ride = src->ride; dst->ride = src->ride;
@ -871,7 +871,7 @@ private:
dst->vehicle_type = vehicleEntryIndex; dst->vehicle_type = vehicleEntryIndex;
dst->is_child = src->is_child; dst->is_child = src->is_child;
dst->var_44 = ror32(vehicleEntry->spacing, 10) & 0xFFFF; dst->var_44 = src->var_44; //ror32(vehicleEntry->spacing, 10) & 0xFFFF;
dst->remaining_distance = src->remaining_distance; dst->remaining_distance = src->remaining_distance;
// Properties from vehicle entry // Properties from vehicle entry
@ -889,6 +889,7 @@ private:
dst->num_seats = src->num_seats; //vehicleEntry->num_seats; dst->num_seats = src->num_seats; //vehicleEntry->num_seats;
dst->speed = src->speed; //vehicleEntry->powered_max_speed; dst->speed = src->speed; //vehicleEntry->powered_max_speed;
dst->powered_acceleration = src->powered_acceleration; //vehicleEntry->powered_acceleration; dst->powered_acceleration = src->powered_acceleration; //vehicleEntry->powered_acceleration;
dst->brake_speed = src->brake_speed;
dst->velocity = src->velocity; dst->velocity = src->velocity;
dst->acceleration = src->acceleration; dst->acceleration = src->acceleration;
@ -897,13 +898,18 @@ private:
dst->var_4E = src->var_4E; dst->var_4E = src->var_4E;
dst->restraints_position = src->restraints_position; dst->restraints_position = src->restraints_position;
dst->var_BA = src->var_BA; dst->var_BA = src->var_BA;
dst->var_BF = src->var_BF;
dst->var_B6 = src->var_B6; dst->var_B6 = src->var_B6;
dst->var_B8 = src->var_B8; dst->var_B8 = src->var_B8;
dst->sound1_id = 0xFF; dst->sound1_id = 0xFF;
dst->sound2_id = 0xFF; dst->sound2_id = 0xFF;
dst->var_C0 = src->var_C0;
dst->var_C4 = src->var_C4; dst->var_C4 = src->var_C4;
dst->var_C5 = src->var_C5; dst->var_C5 = src->var_C5;
dst->var_C8 = src->var_C8; dst->var_C8 = src->var_C8;
dst->var_CA = src->var_CA;
dst->var_CE = src->var_CE;
dst->var_D3 = src->var_D3;
dst->scream_sound_id = 255; dst->scream_sound_id = 255;
dst->vehicle_sprite_type = src->vehicle_sprite_type; dst->vehicle_sprite_type = src->vehicle_sprite_type;
dst->bank_rotation = src->bank_rotation; dst->bank_rotation = src->bank_rotation;
@ -931,13 +937,16 @@ private:
dst->current_station = src->current_station; dst->current_station = src->current_station;
dst->track_type = src->track_type; dst->track_type = src->track_type;
dst->track_progress = src->track_progress; dst->track_progress = src->track_progress;
dst->vertical_drop_countdown = src->vertical_drop_countdown;
dst->lost_time_out = src->lost_time_out;
dst->status = src->status; dst->status = src->status;
dst->sub_state = src->sub_state; dst->sub_state = src->sub_state;
dst->update_flags = src->update_flags; dst->update_flags = src->update_flags;
dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour); dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour);
dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour); dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour);
dst->colours_extended = RCT1::GetColour(src->colours_extended); dst->colours_extended = RCT1::GetColour(src->colours_extended);
dst->mini_golf_current_animation = src->mini_golf_current_animation;
dst->mini_golf_flags = src->mini_golf_flags;
sprite_move(src->x, src->y, src->z, (rct_sprite *)dst); sprite_move(src->x, src->y, src->z, (rct_sprite *)dst);
invalidate_sprite_2((rct_sprite *)dst); invalidate_sprite_2((rct_sprite *)dst);
@ -1090,7 +1099,7 @@ private:
dst->time_on_ride = src->time_on_ride; dst->time_on_ride = src->time_on_ride;
dst->days_in_queue = src->days_in_queue; dst->days_in_queue = src->days_in_queue;
dst->interactionRideIndex = 0xFF; dst->interactionRideIndex = src->interactionRideIndex;
dst->id = src->id; dst->id = src->id;
dst->cash_in_pocket = src->cash_in_pocket; dst->cash_in_pocket = src->cash_in_pocket;
@ -1129,7 +1138,8 @@ private:
dst->thoughts[i] = src->thoughts[i]; dst->thoughts[i] = src->thoughts[i];
} }
dst->previous_ride = 0xFF; dst->previous_ride = src->previous_ride;
dst->previous_ride_time_out = src->previous_ride_time_out;
dst->var_C4 = 0; dst->var_C4 = 0;
dst->guest_heading_to_ride_id = src->guest_heading_to_ride_id; dst->guest_heading_to_ride_id = src->guest_heading_to_ride_id;

View File

@ -318,262 +318,262 @@ namespace RCT1
{ {
static const uint8 map[] = static const uint8 map[] =
{ {
0, // STEEL_RC_FRONT 0, // STEEL_RC_FRONT
1, // STEEL_RC_CARRIAGE 1, // STEEL_RC_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 1, // MINIATURE_RAILWAY_TENDER
0, 0, // MINIATURE_RAILWAY_LOCOMOTIVE
0, 2, // MINIATURE_RAILWAY_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, // MINE_TRAIN_FRONT 0, // MINE_TRAIN_FRONT
1, // MINE_TRAIN_CARRIAGE 1, // MINE_TRAIN_CARRIAGE
0, 0,
0, // CORKSCREW_RC_FRONT 0, // CORKSCREW_RC_FRONT
1, // CORKSCREW_RC_CARRIAGE 1, // CORKSCREW_RC_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 1, // TWISTER_RC_SPOILER
0, 0, // TWISTER_RC_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0, // STANDUP_TWISTER_RC_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0, // HYPERCOASTER_FRONT
0, 1, // HYPERCOASTER_CARRIAGE
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
}; };
return map[vehicleSubEntry]; return map[vehicleSubEntry];
} }