1 /* $Id$ */ |
|
2 |
|
3 #include "sprites.h" |
|
4 |
|
5 typedef struct CargoTypesValues { |
|
6 StringID names[NUM_CARGO]; |
|
7 StringID units_volume[NUM_CARGO]; |
|
8 byte weights[NUM_CARGO]; |
|
9 SpriteID sprites[NUM_CARGO]; |
|
10 |
|
11 uint16 initial_cargo_payment[NUM_CARGO]; |
|
12 byte transit_days_table_1[NUM_CARGO]; |
|
13 byte transit_days_table_2[NUM_CARGO]; |
|
14 } CargoTypesValues; |
|
15 |
|
16 |
|
17 static const CargoTypesValues _cargo_types_base_values[4] = { |
|
18 { |
|
19 /* normal names */ |
|
20 { |
|
21 STR_000F_PASSENGERS, |
|
22 STR_0010_COAL, |
|
23 STR_0011_MAIL, |
|
24 STR_0012_OIL, |
|
25 STR_0013_LIVESTOCK, |
|
26 STR_0014_GOODS, |
|
27 STR_0015_GRAIN, |
|
28 STR_0016_WOOD, |
|
29 STR_0017_IRON_ORE, |
|
30 STR_0018_STEEL, |
|
31 STR_0019_VALUABLES, |
|
32 STR_000E, |
|
33 }, |
|
34 |
|
35 { /* normal units of volume */ |
|
36 STR_PASSENGERS, |
|
37 STR_TONS, |
|
38 STR_BAGS, |
|
39 STR_LITERS, |
|
40 STR_ITEMS, |
|
41 STR_CRATES, |
|
42 STR_TONS, |
|
43 STR_TONS, |
|
44 STR_TONS, |
|
45 STR_TONS, |
|
46 STR_BAGS, |
|
47 STR_RES_OTHER |
|
48 }, |
|
49 |
|
50 /* normal weights */ |
|
51 { |
|
52 1, 16, 4, 16, 3, 8, 16, 16, 16, 16, 2, 0, |
|
53 }, |
|
54 |
|
55 /* normal sprites */ |
|
56 { |
|
57 SPR_CARGO_PASSENGER, SPR_CARGO_COAL, SPR_CARGO_MAIL, SPR_CARGO_OIL, SPR_CARGO_LIVESTOCK, |
|
58 SPR_CARGO_GOODS, SPR_CARGO_GRAIN, SPR_CARGO_WOOD, SPR_CARGO_IRON_ORE, SPR_CARGO_STEEL, |
|
59 SPR_CARGO_VALUES_GOLD, SPR_ASCII_SPACE |
|
60 }, |
|
61 |
|
62 /* normal initial cargo payment */ |
|
63 { |
|
64 3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5688, 7509, 5688 |
|
65 }, |
|
66 |
|
67 /* normal transit days table 1 */ |
|
68 { |
|
69 0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 1, 0, |
|
70 }, |
|
71 |
|
72 /* normal transit days table 2 */ |
|
73 { |
|
74 24, 255, 90, 255, 18, 28, 40, 255, 255, 255, 32, 30, |
|
75 }, |
|
76 }, |
|
77 |
|
78 { |
|
79 /* hilly names */ |
|
80 { |
|
81 STR_000F_PASSENGERS, |
|
82 STR_0010_COAL, |
|
83 STR_0011_MAIL, |
|
84 STR_0012_OIL, |
|
85 STR_0013_LIVESTOCK, |
|
86 STR_0014_GOODS, |
|
87 STR_0022_WHEAT, |
|
88 STR_0016_WOOD, |
|
89 STR_000E, |
|
90 STR_001F_PAPER, |
|
91 STR_0020_GOLD, |
|
92 STR_001E_FOOD, |
|
93 }, |
|
94 |
|
95 { /* hilly units of volume */ |
|
96 STR_PASSENGERS, |
|
97 STR_TONS, |
|
98 STR_BAGS, |
|
99 STR_LITERS, |
|
100 STR_ITEMS, |
|
101 STR_CRATES, |
|
102 STR_TONS, |
|
103 STR_TONS, |
|
104 STR_RES_OTHER, |
|
105 STR_TONS, |
|
106 STR_BAGS, |
|
107 STR_TONS |
|
108 }, |
|
109 |
|
110 /* hilly weights */ |
|
111 { |
|
112 1, 16, 4, 16, 3, 8, 16, 16, 0, 16, 8, 16 |
|
113 }, |
|
114 |
|
115 /* hilly sprites */ |
|
116 { |
|
117 SPR_CARGO_PASSENGER, SPR_CARGO_COAL, SPR_CARGO_MAIL, SPR_CARGO_OIL, SPR_CARGO_LIVESTOCK, |
|
118 SPR_CARGO_GOODS, SPR_CARGO_GRAIN, SPR_CARGO_WOOD, SPR_ASCII_SPACE, SPR_CARGO_PAPER, |
|
119 SPR_CARGO_VALUES_GOLD, SPR_CARGO_FOOD |
|
120 }, |
|
121 |
|
122 /* hilly initial cargo payment */ |
|
123 { |
|
124 3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5461, 5802, 5688 |
|
125 }, |
|
126 |
|
127 /* hilly transit days table 1 */ |
|
128 { |
|
129 0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 10, 0, |
|
130 }, |
|
131 |
|
132 /* hilly transit days table 2 */ |
|
133 { |
|
134 24, 255, 90, 255, 18, 28, 40, 255, 255, 60, 40, 30 |
|
135 }, |
|
136 }, |
|
137 |
|
138 { |
|
139 /* desert names */ |
|
140 { |
|
141 STR_000F_PASSENGERS, |
|
142 STR_0023_RUBBER, |
|
143 STR_0011_MAIL, |
|
144 STR_0012_OIL, |
|
145 STR_001C_FRUIT, |
|
146 STR_0014_GOODS, |
|
147 STR_001B_MAIZE, |
|
148 STR_0016_WOOD, |
|
149 STR_001A_COPPER_ORE, |
|
150 STR_0021_WATER, |
|
151 STR_001D_DIAMONDS, |
|
152 STR_001E_FOOD |
|
153 }, |
|
154 |
|
155 { /* desert units of volume */ |
|
156 STR_PASSENGERS, |
|
157 STR_LITERS, |
|
158 STR_BAGS, |
|
159 STR_LITERS, |
|
160 STR_TONS, |
|
161 STR_CRATES, |
|
162 STR_TONS, |
|
163 STR_TONS, |
|
164 STR_TONS, |
|
165 STR_LITERS, |
|
166 STR_BAGS, |
|
167 STR_TONS |
|
168 }, |
|
169 |
|
170 /* desert weights */ |
|
171 { |
|
172 1, 16, 4, 16, 16, 8, 16, 16, 16, 16, 2, 16, |
|
173 }, |
|
174 |
|
175 /* desert sprites */ |
|
176 { |
|
177 SPR_CARGO_PASSENGER, SPR_CARGO_RUBBER, SPR_CARGO_MAIL, SPR_CARGO_OIL, SPR_CARGO_FRUIT, |
|
178 SPR_CARGO_GOODS, SPR_CARGO_GRAIN, SPR_CARGO_WOOD, SPR_CARGO_COPPER_ORE, SPR_CARGO_WATERCOLA, |
|
179 SPR_CARGO_DIAMONDS, SPR_CARGO_FOOD |
|
180 }, |
|
181 |
|
182 /* desert initial cargo payment */ |
|
183 { |
|
184 3185, 4437, 4550, 4892, 4209, 6144, 4322, 7964, 4892, 4664, 5802, 5688 |
|
185 }, |
|
186 |
|
187 /* desert transit days table 1 */ |
|
188 { |
|
189 0, 2, 20, 25, 0, 5, 4, 15, 12, 20, 10, 0 |
|
190 }, |
|
191 |
|
192 /* desert transit days table 2 */ |
|
193 { |
|
194 24, 20, 90, 255, 15, 28, 40, 255, 255, 80, 255, 30 |
|
195 }, |
|
196 }, |
|
197 |
|
198 { |
|
199 /* candy names */ |
|
200 { |
|
201 STR_000F_PASSENGERS, |
|
202 STR_0024_SUGAR, |
|
203 STR_0011_MAIL, |
|
204 STR_0025_TOYS, |
|
205 STR_002B_BATTERIES, |
|
206 STR_0026_CANDY, |
|
207 STR_002A_TOFFEE, |
|
208 STR_0027_COLA, |
|
209 STR_0028_COTTON_CANDY, |
|
210 STR_0029_BUBBLES, |
|
211 STR_002C_PLASTIC, |
|
212 STR_002D_FIZZY_DRINKS, |
|
213 }, |
|
214 |
|
215 { /* candy unitrs of volume */ |
|
216 STR_PASSENGERS, |
|
217 STR_TONS, |
|
218 STR_BAGS, |
|
219 STR_NOTHING, |
|
220 STR_NOTHING, |
|
221 STR_TONS, |
|
222 STR_TONS, |
|
223 STR_LITERS, |
|
224 STR_TONS, |
|
225 STR_NOTHING, |
|
226 STR_LITERS, |
|
227 STR_NOTHING |
|
228 }, |
|
229 |
|
230 /* candy weights */ |
|
231 { |
|
232 1, 16, 4, 2, 4, 5, 16, 16, 16, 1, 16, 2 |
|
233 }, |
|
234 |
|
235 /* candy sprites */ |
|
236 { |
|
237 SPR_CARGO_PASSENGER, SPR_CARGO_SUGAR, SPR_CARGO_MAIL, SPR_CARGO_TOYS, SPR_CARGO_BATTERIES, |
|
238 SPR_CARGO_CANDY, SPR_CARGO_TOFFEE, SPR_CARGO_WATERCOLA, SPR_CARGO_COTTONCANDY, SPR_CARGO_BUBBLES, |
|
239 SPR_CARGO_PLASTIC, SPR_CARGO_FIZZYDRINK |
|
240 }, |
|
241 |
|
242 /* candy initial cargo payment */ |
|
243 { |
|
244 3185, 4437, 4550, 5574, 4322, 6144, 4778, 4892, 5005, 5077, 4664, 6250 |
|
245 }, |
|
246 |
|
247 /* candy transit days table 1 */ |
|
248 { |
|
249 0, 20, 20, 25, 2, 8, 14, 5, 10, 20, 30, 30, |
|
250 }, |
|
251 |
|
252 /* candy transit days table 2 */ |
|
253 { |
|
254 24, 255, 90, 255, 30, 40, 60, 75, 25, 80, 255, 50 |
|
255 }, |
|
256 } |
|
257 }; |
|