17 * @param d base life |
17 * @param d base life |
18 * @param e Bitmask of the climates |
18 * @param e Bitmask of the climates |
19 * @note the 0x80 in parameter b sets the "is carriage bit" |
19 * @note the 0x80 in parameter b sets the "is carriage bit" |
20 * @note the 5 between d and e is the load amount |
20 * @note the 5 between d and e is the load amount |
21 */ |
21 */ |
22 #define MK(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, e, 0, 8, 0, 0 } |
22 #define MK(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, e, 0, 8, 0, 0, 0 } |
23 |
23 |
24 /** Writes the properties of a train carriage into the EngineInfo struct. |
24 /** Writes the properties of a train carriage into the EngineInfo struct. |
25 * @param a Introduction date |
25 * @param a Introduction date |
26 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
26 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
27 * @param c life length |
27 * @param c life length |
28 * @param d base life |
28 * @param d base life |
29 * @param e Bitmask of the climates |
29 * @param e Bitmask of the climates |
30 * @see MK |
30 * @see MK |
31 * @note the 5 between d and e is the load amount |
31 * @note the 5 between d and e is the load amount |
32 */ |
32 */ |
33 #define MW(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b | 0x80, 5, e, 0, 8, 0, 0 } |
33 #define MW(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b | 0x80, 5, e, 0, 8, 0, 0, 0 } |
34 |
34 |
35 /** Writes the properties of a ship into the EngineInfo struct. |
35 /** Writes the properties of a ship into the EngineInfo struct. |
36 * @param a Introduction date |
36 * @param a Introduction date |
37 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
37 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
38 * @param c life length |
38 * @param c life length |
39 * @param d base life |
39 * @param d base life |
40 * @param e Bitmask of the climates |
40 * @param e Bitmask of the climates |
41 * @see MK |
41 * @see MK |
42 * @note the 10 between d and e is the load amount |
42 * @note the 10 between d and e is the load amount |
43 */ |
43 */ |
44 #define MS(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, e, 0, 8, 0, 0 } |
44 #define MS(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, e, 0, 8, 0, 0, 0 } |
45 |
45 |
46 /** Writes the properties of an aeroplane into the EngineInfo struct. |
46 /** Writes the properties of an aeroplane into the EngineInfo struct. |
47 * @param a Introduction date |
47 * @param a Introduction date |
48 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
48 * @param b unk2, flag for carriage(bit 7) and decay speed(bits0..6) |
49 * @param c life length |
49 * @param c life length |
50 * @param d base life |
50 * @param d base life |
51 * @param e Bitmask of the climates |
51 * @param e Bitmask of the climates |
52 * @see MK |
52 * @see MK |
53 * @note the 20 between d and e is the load amount |
53 * @note the 20 between d and e is the load amount |
54 */ |
54 */ |
55 #define MA(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, 0, 8, 0, 0 } |
55 #define MA(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, 0, 8, 0, 0, 0 } |
56 |
56 |
57 // Climates |
57 // Climates |
58 // T = Temperate |
58 // T = Temperate |
59 // A = Arctic |
59 // A = Arctic |
60 // S = Sub-Tropic |
60 // S = Sub-Tropic |