diff options
author | Patric Stout <truebrain@openttd.org> | 2021-06-07 11:35:21 +0200 |
---|---|---|
committer | Patric Stout <github@truebrain.nl> | 2021-07-02 22:21:58 +0200 |
commit | 3826703bc3807c8af7372b550760fcd8286b9a6c (patch) | |
tree | fdb2aa3b283050d4f9f94325e5df5794d851c124 /src/saveload/compat/vehicle_sl_compat.h | |
parent | cdb3dd0493749dd5c62378f318ea61bcb85f988f (diff) | |
download | openttd-3826703bc3807c8af7372b550760fcd8286b9a6c.tar.xz |
Add: store headers for chunks with SL_STRUCTLIST
Diffstat (limited to 'src/saveload/compat/vehicle_sl_compat.h')
-rw-r--r-- | src/saveload/compat/vehicle_sl_compat.h | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/src/saveload/compat/vehicle_sl_compat.h b/src/saveload/compat/vehicle_sl_compat.h new file mode 100644 index 000000000..524ff1a3b --- /dev/null +++ b/src/saveload/compat/vehicle_sl_compat.h @@ -0,0 +1,207 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. + */ + +/** @file vehicle_sl_compat.h Loading of vehicle chunks before table headers were added. */ + +#ifndef SAVELOAD_COMPAT_VEHICLE_H +#define SAVELOAD_COMPAT_VEHICLE_H + +#include "../saveload.h" + +/** Original field order for SlVehicleCommon. */ +const SaveLoadCompat _vehicle_common_sl_compat[] = { + SLC_VAR("subtype"), + SLC_VAR("next"), + SLC_VAR("name"), + SLC_VAR("unitnumber"), + SLC_VAR("owner"), + SLC_VAR("tile"), + SLC_VAR("dest_tile"), + SLC_VAR("x_pos"), + SLC_VAR("y_pos"), + SLC_VAR("z_pos"), + SLC_VAR("direction"), + SLC_NULL(2, SL_MIN_VERSION, SLV_58), + SLC_VAR("spritenum"), + SLC_NULL(5, SL_MIN_VERSION, SLV_58), + SLC_VAR("engine_type"), + SLC_NULL(2, SL_MIN_VERSION, SLV_152), + SLC_VAR("cur_speed"), + SLC_VAR("subspeed"), + SLC_VAR("acceleration"), + SLC_VAR("motion_counter"), + SLC_VAR("progress"), + SLC_VAR("vehstatus"), + SLC_VAR("last_station_visited"), + SLC_VAR("last_loading_station"), + SLC_VAR("cargo_type"), + SLC_VAR("cargo_subtype"), + SLC_VAR("cargo_days"), + SLC_VAR("cargo_source"), + SLC_VAR("cargo_source_xy"), + SLC_VAR("cargo_cap"), + SLC_VAR("refit_cap"), + SLC_VAR("cargo_count"), + SLC_VAR("cargo.packets"), + SLC_VAR("cargo.action_counts"), + SLC_VAR("cargo_age_counter"), + SLC_VAR("day_counter"), + SLC_VAR("tick_counter"), + SLC_VAR("running_ticks"), + SLC_VAR("cur_implicit_order_index"), + SLC_VAR("cur_real_order_index"), + SLC_NULL(1, SL_MIN_VERSION, SLV_105), + SLC_VAR("current_order.type"), + SLC_VAR("current_order.flags"), + SLC_VAR("current_order.dest"), + SLC_VAR("current_order.refit_cargo"), + SLC_NULL(1, SLV_36, SLV_182), + SLC_VAR("current_order.wait_time"), + SLC_VAR("current_order.travel_time"), + SLC_VAR("current_order.max_speed"), + SLC_VAR("timetable_start"), + SLC_VAR("orders"), + SLC_VAR("age"), + SLC_VAR("max_age"), + SLC_VAR("date_of_last_service"), + SLC_VAR("service_interval"), + SLC_VAR("reliability"), + SLC_VAR("reliability_spd_dec"), + SLC_VAR("breakdown_ctr"), + SLC_VAR("breakdown_delay"), + SLC_VAR("breakdowns_since_last_service"), + SLC_VAR("breakdown_chance"), + SLC_VAR("build_year"), + SLC_VAR("load_unload_ticks"), + SLC_VAR("cargo_paid_for"), + SLC_VAR("vehicle_flags"), + SLC_VAR("profit_this_year"), + SLC_VAR("profit_last_year"), + SLC_VAR("cargo_feeder_share"), + SLC_VAR("cargo_loaded_at_xy"), + SLC_VAR("value"), + SLC_VAR("random_bits"), + SLC_VAR("waiting_triggers"), + SLC_VAR("next_shared"), + SLC_NULL(2, SLV_2, SLV_69), + SLC_NULL(4, SLV_69, SLV_101), + SLC_VAR("group_id"), + SLC_VAR("current_order_time"), + SLC_VAR("lateness_counter"), + SLC_NULL(10, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleTrain. */ +const SaveLoadCompat _vehicle_train_sl_compat[] = { + SLC_VAR("common"), + SLC_VAR("crash_anim_pos"), + SLC_VAR("force_proceed"), + SLC_VAR("railtype"), + SLC_VAR("track"), + SLC_VAR("flags"), + SLC_NULL(2, SLV_2, SLV_60), + SLC_VAR("wait_counter"), + SLC_NULL(2, SLV_2, SLV_20), + SLC_VAR("gv_flags"), + SLC_NULL(11, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleRoadVeh. */ +const SaveLoadCompat _vehicle_roadveh_sl_compat[] = { + SLC_VAR("common"), + SLC_VAR("state"), + SLC_VAR("frame"), + SLC_VAR("blocked_ctr"), + SLC_VAR("overtaking"), + SLC_VAR("overtaking_ctr"), + SLC_VAR("crashed_ctr"), + SLC_VAR("reverse_ctr"), + SLC_VAR("path.td"), + SLC_VAR("path.tile"), + SLC_NULL(2, SLV_6, SLV_69), + SLC_VAR("gv_flags"), + SLC_NULL(4, SLV_69, SLV_131), + SLC_NULL(2, SLV_6, SLV_131), + SLC_NULL(16, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleShip. */ +const SaveLoadCompat _vehicle_ship_sl_compat[] = { + SLC_VAR("common"), + SLC_VAR("state"), + SLC_VAR("path"), + SLC_VAR("rotation"), + SLC_NULL(16, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleAircraft. */ +const SaveLoadCompat _vehicle_aircraft_sl_compat[] = { + SLC_VAR("common"), + SLC_VAR("crashed_counter"), + SLC_VAR("pos"), + SLC_VAR("targetairport"), + SLC_VAR("state"), + SLC_VAR("previous_pos"), + SLC_VAR("last_direction"), + SLC_VAR("number_consecutive_turns"), + SLC_VAR("turn_counter"), + SLC_VAR("flags"), + SLC_NULL(13, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleEffect. */ +const SaveLoadCompat _vehicle_effect_sl_compat[] = { + SLC_VAR("subtype"), + SLC_VAR("tile"), + SLC_VAR("x_pos"), + SLC_VAR("y_pos"), + SLC_VAR("z_pos"), + SLC_VAR("sprite_cache.sprite_seq.seq[0].sprite"), + SLC_NULL(5, SL_MIN_VERSION, SLV_59), + SLC_VAR("progress"), + SLC_VAR("vehstatus"), + SLC_VAR("animation_state"), + SLC_VAR("animation_substate"), + SLC_VAR("spritenum"), + SLC_NULL(15, SLV_2, SLV_144), +}; + +/** Original field order for SlVehicleDisaster. */ +const SaveLoadCompat _vehicle_disaster_sl_compat[] = { + SLC_VAR("next"), + SLC_VAR("subtype"), + SLC_VAR("tile"), + SLC_VAR("dest_tile"), + SLC_VAR("x_pos"), + SLC_VAR("y_pos"), + SLC_VAR("z_pos"), + SLC_VAR("direction"), + SLC_NULL(5, SL_MIN_VERSION, SLV_58), + SLC_VAR("owner"), + SLC_VAR("vehstatus"), + SLC_VAR("current_order.dest"), + SLC_VAR("sprite_cache.sprite_seq.seq[0].sprite"), + SLC_VAR("age"), + SLC_VAR("tick_counter"), + SLC_VAR("image_override"), + SLC_VAR("big_ufo_destroyer_target"), + SLC_VAR("flags"), + SLC_NULL(16, SLV_2, SLV_144), +}; + +/** Original field order for vehicle_desc. */ +const SaveLoadCompat _vehicle_sl_compat[] = { + SLC_VAR("type"), + SLC_VAR("train"), + SLC_VAR("roadveh"), + SLC_VAR("ship"), + SLC_VAR("aircraft"), + SLC_VAR("effect"), + SLC_VAR("disaster"), +}; + +#endif /* SAVELOAD_COMPAT_VEHICLE_H */ |