Subversion Repositories Games.Carmageddon

Rev

Rev 20 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
#ifndef CONSTANTS_H
2
#define CONSTANTS_H
3
 
4
// These names are not part of the symbol dump, so the names in this file are not original, except as noted.
5
 
21 pmbaty 6
// Names derived from DATA/64X48X8/HEADUP.TXT (and context)
7
typedef enum dr_headup_slot
8
{
9
   eHeadupSlot_development = 0,
10
   eHeadupSlot_credits = 1,
11
   eHeadupSlot_ped_kills = 2,
12
   eHeadupSlot_ped_warning = 3,
13
   eHeadupSlot_misc = 4,
14
   eHeadupSlot_countdown = 5,
15
   eHeadupSlot_fancies = 6,
16
   eHeadupSlot_timer = 7,
17
   eHeadupSlot_lap_count = 8,
18
   eHeadupSlot_race_bonus = 9,
19
   eHeadupSlot_time_bonus = 10,
20
   eHeadupSlot_time_award = 11,
21
   eHeadupSlot_cars_out_count = 12,
22
   eHeadupSlot_cash_network = 13,
23
   eHeadupSlot_ped_network = 14,
24
} dr_headup_slot;
25
 
1 pmbaty 26
// Names from `gMem_names`. See also: `CreateStainlessClasses`
27
typedef enum dr_memory_classes {
28
    kMem_intf_pix_copy = 129,                                            //  0x81
29
    kMem_intf_pal_copy = 130,                                            //  0x82
30
    kMem_nodes_array = 131,                                              //  0x83
31
    kMem_sections_array = 132,                                           //  0x84
32
    kMem_key_names = 133,                                                //  0x85
33
    kMem_columns_z = 134,                                                //  0x86
34
    kMem_columns_x = 135,                                                //  0x87
35
    kMem_non_car_list = 136,                                             //  0x88
36
    kMem_simp_level = 137,                                               //  0x89
37
    kMem_crush_data = 138,                                               //  0x8a
38
    kMem_crush_neighbours = 139,                                         //  0x8b
39
    kMem_temp_fs = 140,                                                  //  0x8c
40
    kMem_error_pix_copy = 141,                                           //  0x8d
41
    kMem_error_pal_copy = 142,                                           //  0x8e
42
    kMem_flic_pal = 143,                                                 //  0x8f
43
    kMem_flic_data = 144,                                                //  0x90
44
    kMem_flic_data_2 = 145,                                              //  0x91
45
    kMem_queued_flic = 146,                                              //  0x92
46
    kFlic_panel_pixels = 147,                                            //  0x93
47
    kMem_translations = 148,                                             //  0x94
48
    kMem_translations_text = 149,                                        //  0x95
49
    kMem_cur_pal_pixels = 150,                                           //  0x96
50
    kMem_render_pal_pixels = 151,                                        //  0x97
51
    kMem_scratch_pal_pixels = 152,                                       //  0x98
52
    kMem_shade_table_copy = 153,                                         //  0x99
53
    kMem_rear_screen_pixels = 154,                                       //  0x9a
54
    kMem_rolling_letters = 155,                                          //  0x9b
55
    kMem_intf_copy_areas = 156,                                          //  0x9c
56
    kMem_strip_image = 157,                                              //  0x9d
57
    kMem_strip_image_perm = 158,                                         //  0x9e
58
    kMem_damage_clauses = 159,                                           //  0x9f
59
    kMem_undamaged_vertices = 160,                                       //  0xa0
60
    kMem_race_text_chunk = 161,                                          //  0xa1
61
    kMem_race_text_str = 162,                                            //  0xa2
62
    kMem_oppo_array = 163,                                               //  0xa3
63
    kMem_oppo_text_chunk = 164,                                          //  0xa4
64
    kMem_oppo_text_str = 165,                                            //  0xa5
65
    kMem_br_font = 166,                                                  //  0xa6
66
    kMem_br_font_wid = 167,                                              //  0xa7
67
    kMem_br_font_enc = 168,                                              //  0xa8
68
    kMem_br_font_glyphs = 169,                                           //  0xa9
69
    kMem_oppo_car_spec = 170,                                            //  0xaa
70
    kMem_misc_string = 171,                                              //  0xab
71
    kMem_mac_host_buffer_1 = 172,                                        //  0xac
72
    kMem_mac_host_buffer_2 = 173,                                        //  0xad
73
    kMem_mac_net_details = 174,                                          //  0xae
74
    kMem_back_pixels = 175,                                              //  0xaf
75
    kMem_quit_vfy_pixels = 176,                                          //  0xb0
76
    kMem_quit_vfy_pal = 177,                                             //  0xb1
77
    kMem_net_min_messages = 178,                                         //  0xb2
78
    kMem_net_mid_messages = 179,                                         //  0xb3
79
    kMem_net_max_messages = 180,                                         //  0xb4
80
    kMem_net_pid_details = 181,                                          //  0xb5
81
    kMem_net_car_spec = 182,                                             //  0xb6
82
    kMem_dynamic_message = 183,                                          //  0xb7
83
    kMem_player_list_join = 184,                                         //  0xb8
84
    kMem_player_list_leave = 185,                                        //  0xb9
85
    kMem_oppo_new_nodes = 186,                                           //  0xba
86
    kMem_oppo_new_sections = 187,                                        //  0xbb
87
    kMem_cop_car_spec = 188,                                             //  0xbc
88
    kMem_oppo_bit_per_node = 189,                                        //  0xbd
89
    kMem_ped_action_list = 190,                                          //  0xbe
90
    kMem_ped_sequences = 191,                                            //  0xbf
91
    kMem_ped_array_stain = 192,                                          //  0xc0
92
    kMem_ped_array = 193,                                                //  0xc1
93
    kMem_ped_instructions = 194,                                         //  0xc2
94
    kMem_ped_new_instruc = 195,                                          //  0xc3
95
    kMem_pipe_model_geometry = 196,                                      //  0xc4
96
    kMem_powerup_array = 197,                                            //  0xc5
97
    kMem_powerup_float_parms = 198,                                      //  0xc6
98
    kMem_powerup_int_parms = 199,                                        //  0xc7
99
    kMem_drugs_palette = 200,                                            //  0xc8
100
    kMem_pratcam_flic_array = 201,                                       //  0xc9
101
    kMem_pratcam_flic_data = 202,                                        //  0xca
102
    kMem_pratcam_sequence_array = 203,                                   //  0xcb
103
    kMem_pratcam_pixelmap = 204,                                         //  0xcc
104
    kMem_video_pixels = 205,                                             //  0xcd
105
    kMem_funk_prox_array = 206,                                          //  0xce
106
    kMem_new_mat_id = 207,                                               //  0xcf
107
    kMem_new_mat_id_2 = 208,                                             //  0xd0
108
    kMem_new_mat_id_3 = 209,                                             //  0xd1
109
    kMem_special_volume = 210,                                           //  0xd2
110
    kMem_special_screen = 211,                                           //  0xd3
111
    kMem_new_special_vol = 212,                                          //  0xd4
112
    kMem_saved_game = 213,                                               //  0xd5
113
    kMem_new_save_game = 214,                                            //  0xd6
114
    kMem_stor_space_pix = 215,                                           //  0xd7
115
    kMem_stor_space_tab = 216,                                           //  0xd8
116
    kMem_stor_space_mat = 217,                                           //  0xd9
117
    kMem_stor_space_mod = 218,                                           //  0xda
118
    kMem_stor_space_save = 219,                                          //  0xdb
119
    kMem_funk_spec = 220,                                                //  0xdc
120
    kMem_groove_spec = 221,                                              //  0xdd
121
    kMem_non_car_spec = 222,                                             //  0xde
122
    kMem_S3_scan_name = 223,                                             //  0xdf
123
    kMem_S3_sound_header = 224,                                          //  0xe0
124
    kMem_S3_sample = 225,                                                //  0xe1
125
    kMem_S3_mac_channel = 226,                                           //  0xe2
126
    kMem_S3_mac_path = 227,                                              //  0xe3
127
    kMem_S3_sentinel = 228,                                              //  0xe4
128
    kMem_S3_outlet = 229,                                                //  0xe5
129
    kMem_S3_channel = 230,                                               //  0xe6
130
    kMem_S3_descriptor = 231,                                            //  0xe7
131
    kMem_S3_reverse_buffer = 232,                                        //  0xe8
132
    kMem_S3_source = 233,                                                //  0xe9
133
    kMem_S3_DOS_SOS_channel = 234,                                       //  0xea
134
    kMem_S3_PC_DOS_path = 235,                                           //  0xeb
135
    kMem_S3_DOS_SOS_patch = 236,                                         //  0xec
136
    kMem_S3_DOS_SOS_song_structure = 237,                                //  0xed
137
    kMem_S3_DOS_SOS_song_data = 238,                                     //  0xee
138
    kMem_S3_Windows_95_load_WAV_file = 239,                              //  0xef
139
    kMem_S3_Windows_95_create_temp_buffer_space_to_reverse_sample = 240, //  0xf0
140
    kMem_S3_Windows_95_path = 241,                                       //  0xf1
141
    kMem_DOS_HMI_file_open = 242,                                        //  0xf2
142
    kMem_abuse_text = 243,                                               //  0xf3
143
    kMem_action_replay_buffer = 244,                                     //  0xf4
144
    kMem_misc = 245                                                      //  0xf5
145
} dr_memory_classes;
146
 
147
typedef enum keycodes {
148
    KEY_SHIFT_ANY = 0,    //  0x0
149
    KEY_ALT_ANY = 1,      //  0x1
150
    KEY_CTRL_ANY = 2,     //  0x2
151
    KEY_CTRL_ANY_2 = 3,   //  0x3
152
    KEY_CAPSLOCK = 4,     //  0x4
153
    KEY_RSHIFT = 5,       //  0x5
154
    KEY_RALT = 6,         //  0x6
155
    KEY_RCTRL = 7,        //  0x7
156
    KEY_LSHIFT = 8,       //  0x8
157
    KEY_LALT = 9,         //  0x9
158
    KEY_LCTRL = 10,       //  0xa
159
    KEY_0 = 11,           //  0xb
160
    KEY_1 = 12,           //  0xc
161
    KEY_2 = 13,           //  0xd
162
    KEY_3 = 14,           //  0xe
163
    KEY_4 = 15,           //  0xf
164
    KEY_5 = 16,           //  0x10
165
    KEY_6 = 17,           //  0x11
166
    KEY_7 = 18,           //  0x12
167
    KEY_8 = 19,           //  0x13
168
    KEY_9 = 20,           //  0x14
169
    KEY_A = 21,           //  0x15
170
    KEY_B = 22,           //  0x16
171
    KEY_C = 23,           //  0x17
172
    KEY_D = 24,           //  0x18
173
    KEY_E = 25,           //  0x19
174
    KEY_F = 26,           //  0x1a
175
    KEY_G = 27,           //  0x1b
176
    KEY_H = 28,           //  0x1c
177
    KEY_I = 29,           //  0x1d
178
    KEY_J = 30,           //  0x1e
179
    KEY_K = 31,           //  0x1f
180
    KEY_L = 32,           //  0x20
181
    KEY_M = 33,           //  0x21
182
    KEY_N = 34,           //  0x22
183
    KEY_O = 35,           //  0x23
184
    KEY_P = 36,           //  0x24
185
    KEY_Q = 37,           //  0x25
186
    KEY_R = 38,           //  0x26
187
    KEY_S = 39,           //  0x27
188
    KEY_T = 40,           //  0x28
189
    KEY_U = 41,           //  0x29
190
    KEY_V = 42,           //  0x2a
191
    KEY_W = 43,           //  0x2b
192
    KEY_X = 44,           //  0x2c
193
    KEY_Y = 45,           //  0x2d
194
    KEY_Z = 46,           //  0x2e
195
    KEY_GRAVE = 47,       //  0x2f
196
    KEY_MINUS = 48,       //  0x30
197
    KEY_EQUALS = 49,      //  0x31
198
    KEY_BACKSPACE = 50,   //  0x32
199
    KEY_RETURN = 51,      //  0x33
200
    KEY_KP_ENTER = 52,    //  0x34
201
    KEY_TAB = 53,         //  0x35
202
    KEY_SLASH = 54,       //  0x36
203
    KEY_UNKNOWN_55 = 55,  //  0x37
204
    KEY_SEMICOLON = 56,   //  0x38
205
    KEY_APOSTROPHE = 57,  //  0x39
206
    KEY_PERIOD = 58,      //  0x3a
207
    KEY_COMMA = 59,       //  0x3b
208
    KEY_LBRACKET = 60,    //  0x3c
209
    KEY_RBRACKET = 61,    //  0x3d
210
    KEY_BACKSLASH = 62,   //  0x3e
211
    KEY_ESCAPE = 63,      //  0x3f
212
    KEY_INSERT = 64,      //  0x40
213
    KEY_DELETE = 65,      //  0x41
214
    KEY_HOME = 66,        //  0x42
215
    KEY_END = 67,         //  0x43
216
    KEY_PAGEUP = 68,      //  0x44
217
    KEY_PAGEDOWN = 69,    //  0x45
218
    KEY_LEFT = 70,        //  0x46
219
    KEY_RIGHT = 71,       //  0x47
220
    KEY_UP = 72,          //  0x48
221
    KEY_DOWN = 73,        //  0x49
222
    KEY_KP_NUMLOCK = 74,  //  0x4a
223
    KEY_KP_DIVIDE = 75,   //  0x4b
224
    KEY_KP_MULTIPLY = 76, //  0x4c
225
    KEY_KP_MINUS = 77,    //  0x4d
226
    KEY_KP_PLUS = 78,     //  0x4e
227
    KEY_KP_PERIOD = 79,   //  0x4f
228
    KEY_KP_EQUALS = 80,   //  0x50
229
    KEY_KP_0 = 81,        //  0x51
230
    KEY_KP_1 = 82,        //  0x52
231
    KEY_KP_2 = 83,        //  0x53
232
    KEY_KP_3 = 84,        //  0x54
233
    KEY_KP_4 = 85,        //  0x55
234
    KEY_KP_5 = 86,        //  0x56
235
    KEY_KP_6 = 87,        //  0x57
236
    KEY_KP_7 = 88,        //  0x58
237
    KEY_KP_8 = 89,        //  0x59
238
    KEY_KP_9 = 90,        //  0x5a
239
    KEY_F1 = 91,          //  0x5b
240
    KEY_F2 = 92,          //  0x5c
241
    KEY_F3 = 93,          //  0x5d
242
    KEY_F4 = 94,          //  0x5e
243
    KEY_F5 = 95,          //  0x5f
244
    KEY_F6 = 96,          //  0x60
245
    KEY_F7 = 97,          //  0x61
246
    KEY_F8 = 98,          //  0x62
247
    KEY_F9 = 99,          //  0x63
248
    KEY_F10 = 100,        //  0x64
249
    KEY_F11 = 101,        //  0x65
250
    KEY_F12 = 102,        //  0x66
251
    KEY_PRTSCN = 103,     //  0x67
252
    KEY_SCRLK = 104,      //  0x68
253
    KEY_PAUSE = 105,      //  0x69
254
    KEY_SPACE = 106,      //  0x6a
255
} keycodes;
256
 
257
typedef enum keymapcodes {
20 pmbaty 258
    KEYMAP_ESCAPE = 0,      // default: ESC
1 pmbaty 259
 
260
    KEYMAP_CONTROL_ANY = 7, // default: LCTRL or RCTRL (any)
261
    KEYMAP_SHIFT_ANY = 8,   // default: LSHIFT or RSHIFT (any)
262
 
263
    //
264
    // The following items are meant to be combined with KEYMAP_CONTROL_ANY
265
    //
266
 
267
    KEYMAP_CTRL_QUIT = 1,           // default: Q
268
    KEYMAP_CTRL_SAVE = 2,           // default: S
269
    KEYMAP_CTRL_LOAD = 3,           // default: L
270
    KEYMAP_CTRL_ABORT_RACE = 4,     // default: A
271
    KEYMAP_CTRL_DRAW_SOME_TEXT = 9, // default: KP0
272
    KEYMAP_CTRL_FLY = 10,           // default: KP1
273
 
274
    //
275
    // The following items are meant to be combined with KEYMAP_SHIFT_ANY
276
    //
277
 
278
    KEYMAP_SHIFT_DUMPSCREEN = 5, // default: D
279
 
280
    //
281
    // The following items are meant to be used standalone
282
    //
283
 
284
    KEYMAP_COCKPIT = 45,        // default C
285
    KEYMAP_SAVE = 28,           // default F2
286
    KEYMAP_LOAD = 29,           // default F3
287
    KEYMAP_MOVE_UP = 30,        // default UP
288
    KEYMAP_MOVE_DOWN = 31,      // default DOWN
289
    KEYMAP_MOVE_LEFT = 32,      // default LEFT
290
    KEYMAP_MOVE_RIGHT = 33,     // default RIGHT
291
    KEYMAP_MIRROR = 34,         // default M
292
    KEYMAP_PRATCAM = 35,        // default P
293
    KEYMAP_LOOK_LEFT = 50,      // default Q
294
    KEYMAP_LOOK_FORWARD = 51,   // default W
295
    KEYMAP_LOOK_RIGHT = 52,     // default E
296
    KEYMAP_SOUND = 36,          // default S
297
    KEYMAP_REPAIR = 44,         // default BACKSPACE
298
    KEYMAP_PEDESTRIANS = 54,    // default KP_MINUS
299
    KEYMAP_F4 = 17,             // default F4
300
    KEYMAP_F5 = 18,             // default F5
301
    KEYMAP_F6 = 19,             // default F6
302
    KEYMAP_F7 = 20,             // default F7
303
    KEYMAP_F8 = 21,             // default F8
304
    KEYMAP_F10 = 22,            // default F10
305
    KEYMAP_F11 = 23,            // default F1
306
    KEYMAP_F12 = 24,            // default F12
307
    KEYMAP_EDITMODE_0 = 14,     // default 0
308
    KEYMAP_EDITMODE_1 = 37,     // default 1
309
    KEYMAP_EDITMODE_2 = 38,     // default 2
310
    KEYMAP_EDITMODE_3 = 39,     // default 3
311
    KEYMAP_EDITMODE_4 = 40,     // default 4
312
    KEYMAP_EDITMODE_5 = 41,     // default 5
313
    KEYMAP_EDITMODE_6 = 42,     // default 6
314
    KEYMAP_EDITMODE_7 = 43,     // default 7
315
    KEYMAP_EDITMODE_8 = 15,     // default 8
316
    KEYMAP_EDITMODE_9 = 16,     // default 9
317
    KEYMAP_SCREEN_SMALLER = 60, // default -
318
    KEYMAP_SCREEN_LARGER = 61,  // default =
319
    KEYMAP_MAP = 56,            // default TAB
320
    KEYMAP_RECOVERY = 59,       // default Insert
321
    KEYMAP_BUY_ARMOUR = 62,     // default Delete
322
    KEYMAP_BUY_POWER = 63,      // default End
323
    KEYMAP_BUY_OFFENSE = 64,    // default PgDn
324
    KEYMAP_VIEW_NETPLAYER = 65, // default Space
325
    KEYMAP_SEND_MESSAGE = 66,   // default `
326
    KEYMAP_ARROW = 25,          // default R
327
    KEYMAP_INFO = 26,           // default I
328
    KEYMAP_REPLAYMODE = 57,     // default KP_ENTER
329
} keymapcodes;
330
 
331
enum {
332
    kFancyHeadupSplatterBonus = 0,
333
    kFancyHeadupPileDriverBonus = 1,
334
    kFancyHeadupExtraStyleBonus = 2,
335
    kFancyHeadupBonusForArtisticImpression = 3,
336
    kFancyHeadup2xComboBonus = 4,
337
    kFancyHeadup3xComboBonus = 5,
338
    kFancyHeadup4xComboBonus = 6,
339
    kFancyHeadup5xComboBonus = 7,
340
    kFancyHeadupNiceShotSir = 8,
341
    kFancyHeadupCunningStuntBonus = 9,
342
    kFancyHeadupHeadOnBonus = 10,
343
    kFancyHeadupYouWastedEm = 11,
344
    kFancyHeadupCheckpoint = 12,
345
    kFancyHeadupOutOfTime = 13,
346
    kFancyHeadupRaceCompleted = 14,
20 pmbaty 347
 
348
    // FIXME: missing network fancy head-ups#define FONT_TYPEABLE 0
349
 
1 pmbaty 350
#define FONT_BLUEHEAD 2
351
#define FONT_GREENHED 3
352
#define FONT_MEDIUMHD 4
353
#define FONT_TIMER 5
354
#define FONT_NEWHITE 6
355
 
356
#define FONT_NEWBIGGR 8
357
#define FONT_GRNDK 9
358
#define FONT_GRNLIT 10
359
#define FONT_GRYDK 11
360
#define FONT_GRYLIT 12
361
#define FONT_BUTTIN 13
362
#define FONT_BUTTOUT 14
363
#define FONT_LITPLAQ 15
364
#define FONT_DRKPLAQ 16
365
#define FONT_BUTTIN1 17
366
#define FONT_BUTTOUT1 18
367
#define FONT_LITPLAQ1 19
368
#define FONT_DRKPLAQ1 20
369
370
#define MAX_PATH_LENGTH 1024
371
372
#define ROLLING_LETTER_LOOP_RANDOM 96
373
#define PLAYER_NAME_MAX_LENGTH 13
374
#define DAMAGE_UNIT_PERIODS 5
375
376
#define GROOVE_FUNK_MAX_PER_CAR 24
377
378
#define NONCAR_UNUSED_SLOTS 5
379
380
#define DR_PI 3.141592653589793
381
#define DR_PI_OVER_2 1.570796326794897
382
#define DR_3PI_OVER_2 4.71238898038469
383
384
#define TIME_CONV_THING 0.0005f
385
386
#define OPPONENT_COUNT 5
387
388
#define WORLD_SCALE 6.9f
389
390
#define SHADOW_MAX_RENDER_DISTANCE 36.0f
391
392
#define DOUBLESIDED_USER_FLAG (void*)12345
393
394
// average frame time in carm95
395
#define MUNGE_ENGINE_INTERVAL 50
396
397
#endif
398
 
399