1 /*
2  * This file is part of OpenTTD.
3  * 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.
4  * 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.
5  * 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/>.
6  */
7 
8 /** @file company_sl_compat.h Loading of company chunks before table headers were added. */
9 
10 #ifndef SAVELOAD_COMPAT_COMPANY_H
11 #define SAVELOAD_COMPAT_COMPANY_H
12 
13 #include "../saveload.h"
14 
15 /** Original field order for SlCompanyOldAIBuildRec. */
16 const SaveLoadCompat _company_old_ai_buildrec_compat[] = {
17 	SLC_NULL(2, SL_MIN_VERSION, SLV_6),
18 	SLC_NULL(4, SLV_6, SLV_107),
19 	SLC_NULL(2, SL_MIN_VERSION, SLV_6),
20 	SLC_NULL(4, SLV_6, SLV_107),
21 	SLC_NULL(8, SL_MIN_VERSION, SLV_107),
22 };
23 
24 /** Original field order for SlCompanyOldAI. */
25 const SaveLoadCompat _company_old_ai_compat[] = {
26 	SLC_NULL(2,  SL_MIN_VERSION, SLV_107),
27 	SLC_NULL(2,  SL_MIN_VERSION, SLV_13),
28 	SLC_NULL(4, SLV_13, SLV_107),
29 	SLC_NULL(8,  SL_MIN_VERSION, SLV_107),
30 	SLC_VAR("num_build_rec"),
31 	SLC_NULL(3,  SL_MIN_VERSION, SLV_107),
32 
33 	SLC_NULL(2,  SL_MIN_VERSION,  SLV_6),
34 	SLC_NULL(4,  SLV_6, SLV_107),
35 	SLC_NULL(2,  SL_MIN_VERSION,  SLV_6),
36 	SLC_NULL(4,  SLV_6, SLV_107),
37 	SLC_NULL(2,  SL_MIN_VERSION, SLV_107),
38 
39 	SLC_NULL(2,  SL_MIN_VERSION,  SLV_6),
40 	SLC_NULL(4,  SLV_6, SLV_107),
41 	SLC_NULL(2,  SL_MIN_VERSION,  SLV_6),
42 	SLC_NULL(4,  SLV_6, SLV_107),
43 	SLC_NULL(2,  SL_MIN_VERSION, SLV_107),
44 
45 	SLC_NULL(2,  SL_MIN_VERSION, SLV_69),
46 	SLC_NULL(4,  SLV_69, SLV_107),
47 
48 	SLC_NULL(18, SL_MIN_VERSION, SLV_107),
49 	SLC_NULL(20, SL_MIN_VERSION, SLV_107),
50 	SLC_NULL(32, SL_MIN_VERSION, SLV_107),
51 
52 	SLC_NULL(64, SLV_2, SLV_107),
53 	SLC_VAR("buildrec"),
54 };
55 
56 /** Original field order for SlCompanySettings. */
57 const SaveLoadCompat _company_settings_compat[] = {
58 	SLC_NULL(512, SLV_16, SLV_19),
59 	SLC_VAR("engine_renew_list"),
60 	SLC_VAR("settings.engine_renew"),
61 	SLC_VAR("settings.engine_renew_months"),
62 	SLC_VAR("settings.engine_renew_money"),
63 	SLC_VAR("settings.renew_keep_length"),
64 	SLC_VAR("settings.vehicle.servint_ispercent"),
65 	SLC_VAR("settings.vehicle.servint_trains"),
66 	SLC_VAR("settings.vehicle.servint_roadveh"),
67 	SLC_VAR("settings.vehicle.servint_aircraft"),
68 	SLC_VAR("settings.vehicle.servint_ships"),
69 	SLC_NULL(63, SLV_2, SLV_144),
70 };
71 
72 /** Original field order for SlCompanyEconomy. */
73 const SaveLoadCompat _company_economy_compat[] = {
74 	SLC_VAR("income"),
75 	SLC_VAR("expenses"),
76 	SLC_VAR("company_value"),
77 	SLC_VAR("delivered_cargo[NUM_CARGO - 1]"),
78 	SLC_VAR("delivered_cargo"),
79 	SLC_VAR("performance_history"),
80 };
81 
82 /** Original field order for SlCompanyLiveries. */
83 const SaveLoadCompat _company_liveries_compat[] = {
84 	SLC_VAR("in_use"),
85 	SLC_VAR("colour1"),
86 	SLC_VAR("colour2"),
87 };
88 
89 /** Original field order for company_desc. */
90 const SaveLoadCompat _company_sl_compat[] = {
91 	SLC_VAR("name_2"),
92 	SLC_VAR("name_1"),
93 	SLC_VAR("name"),
94 	SLC_VAR("president_name_1"),
95 	SLC_VAR("president_name_2"),
96 	SLC_VAR("president_name"),
97 	SLC_VAR("face"),
98 	SLC_VAR("money"),
99 	SLC_VAR("current_loan"),
100 	SLC_VAR("colour"),
101 	SLC_VAR("money_fraction"),
102 	SLC_NULL(1, SL_MIN_VERSION, SLV_58),
103 	SLC_VAR("block_preview"),
104 	SLC_NULL(2, SL_MIN_VERSION, SLV_94),
105 	SLC_NULL(4, SLV_94, SLV_170),
106 	SLC_VAR("location_of_HQ"),
107 	SLC_VAR("last_build_coordinate"),
108 	SLC_VAR("inaugurated_year"),
109 	SLC_VAR("share_owners"),
110 	SLC_VAR("num_valid_stat_ent"),
111 	SLC_VAR("months_of_bankruptcy"),
112 	SLC_VAR("bankrupt_asked"),
113 	SLC_VAR("bankrupt_timeout"),
114 	SLC_VAR("bankrupt_value"),
115 	SLC_VAR("yearly_expenses"),
116 	SLC_VAR("is_ai"),
117 	SLC_NULL(1, SLV_107, SLV_112),
118 	SLC_NULL(1, SLV_4, SLV_100),
119 	SLC_VAR("terraform_limit"),
120 	SLC_VAR("clear_limit"),
121 	SLC_VAR("tree_limit"),
122 	SLC_VAR("settings"),
123 	SLC_VAR("old_ai"),
124 	SLC_VAR("cur_economy"),
125 	SLC_VAR("old_economy"),
126 	SLC_VAR("liveries"),
127 };
128 
129 #endif /* SAVELOAD_COMPAT_COMPANY_H */
130