(svn r9760) -Codechange: remove the need for saving some vehicle variables.
This commit is contained in:
@@ -224,6 +224,8 @@ void AfterLoadVehicles()
|
||||
Vehicle *v;
|
||||
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
v->UpdateDeltaXY(v->direction);
|
||||
|
||||
v->first = NULL;
|
||||
if (v->type == VEH_TRAIN) v->u.rail.first_engine = INVALID_ENGINE;
|
||||
}
|
||||
@@ -1443,9 +1445,8 @@ Vehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicle type)
|
||||
v->x_pos = x;
|
||||
v->y_pos = y;
|
||||
v->z_pos = z;
|
||||
v->z_height = v->sprite_width = v->sprite_height = 1;
|
||||
v->x_offs = v->y_offs = 0;
|
||||
v->tile = 0;
|
||||
v->UpdateDeltaXY(INVALID_DIR);
|
||||
v->vehstatus = VS_UNCLICKABLE;
|
||||
|
||||
_effect_init_procs[type](v);
|
||||
@@ -2644,13 +2645,13 @@ extern const SaveLoad _common_veh_desc[] = {
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle, cur_image, SLE_UINT16),
|
||||
SLE_CONDVAR(Vehicle, cur_image, SLE_UINT16, 0, 57),
|
||||
SLE_VAR(Vehicle, spritenum, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_CONDVAR(Vehicle, sprite_width, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, sprite_height, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, z_height, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, x_offs, SLE_INT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, y_offs, SLE_INT8, 0, 57),
|
||||
SLE_VAR(Vehicle, engine_type, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Vehicle, max_speed, SLE_UINT16),
|
||||
@@ -2818,11 +2819,11 @@ static const SaveLoad _special_desc[] = {
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle, cur_image, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_CONDVAR(Vehicle, sprite_width, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, sprite_height, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, z_height, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, x_offs, SLE_INT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, y_offs, SLE_INT8, 0, 57),
|
||||
SLE_VAR(Vehicle, progress, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
||||
|
||||
@@ -2853,11 +2854,11 @@ static const SaveLoad _disaster_desc[] = {
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, x_offs, SLE_INT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, y_offs, SLE_INT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, sprite_width, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, sprite_height, SLE_UINT8, 0, 57),
|
||||
SLE_CONDVAR(Vehicle, z_height, SLE_UINT8, 0, 57),
|
||||
SLE_VAR(Vehicle, owner, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
||||
SLE_CONDVARX(cpp_offsetof(Vehicle, current_order) + cpp_offsetof(Order, dest), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
@@ -3000,3 +3001,13 @@ void Vehicle::LeaveStation()
|
||||
current_order.flags = 0;
|
||||
GetStation(this->last_station_visited)->loading_vehicles.remove(this);
|
||||
}
|
||||
|
||||
|
||||
void SpecialVehicle::UpdateDeltaXY(Direction direction)
|
||||
{
|
||||
this->x_offs = 0;
|
||||
this->y_offs = 0;
|
||||
this->sprite_width = 1;
|
||||
this->sprite_height = 1;
|
||||
this->z_height = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user