Populous: The Beginning Script 3  1.0.0
Documentation for Populous Script 3 engine
Module_Defines.h
Go to the documentation of this file.
1 /*
2  Populous: The Beginning - Script Language Header
3  Brandan Tyler Lasley 2019
4  INTERNAL USE ONLY --- DO NOT DISTRIBUTE
5 */
6 
8 
9 void import(enum modules); // (0x19AE1C)
10 void exit(); // (0x19B06B)
11 bool include(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >); // (0x19B07C)
12 
13 
15 
16 
17 
19 
20 extern int TRIBE_NEUTRAL;
21 extern int TRIBE_BLUE;
22 extern int TRIBE_RED;
23 extern int TRIBE_YELLOW;
24 extern int TRIBE_GREEN;
25 extern int TRIBE_CYAN;
26 extern int TRIBE_PINK;
27 extern int TRIBE_BLACK;
28 extern int TRIBE_ORANGE;
29 extern int TRIBE_HOSTBOT;
30 
31 
33 
34 #define POP3_VOLUME_NAME "POPTB"
35 #define GAME_DIRECTORY_HARD_DRIVE "C:"
36 #define GAME_DIRECTORY_MAIN ".Populous"
37 #define GAME_DIRECTORY_SHOTS "shots"
38 #define GAME_DIRECTORY_SAVE "save"
39 #define GAME_DIRECTORY_ATTRIBS "attribs"
40 #define GAME_DIRECTORY_EDITOR "editor"
41 #define GAME_DIRECTORY_LEVELS "levels"
42 #define GAME_DIRECTORY_SOUND "sound"
43 #define GAME_DIRECTORY_OBJECTS "objects"
44 #define GAME_DIRECTORY_MORPH "data"
45 #define GAME_DIRECTORY_HD_LANGUAGE "language"
46 #define GAME_DIRECTORY_DATA "data"
47 #define GAME_DIRECTORY_LANGUAGE "language"
48 #define GAME_DIRECTORY_HD_LEVELS "levels"
49 #define GAME_DIRECTORY_HD_DATA "data"
50 #define GAME_DIRECTORY_RDDATA "rddata"
51 #define GAME_DIRECTORY_MODS "mods"
52 #define OOS_STASH_DIR "oos-stash"
53 #define USER_NAME_ENV_VARIABLE "USERID"
54 #define SEARCH_DATA_FILE_NAME "data/MWSEARCH.DAT"
55 #define SHAPES_DATA_FILE_NAME_OLD "data/SHAPES.DAT"
56 #define MORPH_FILE_NAME "Interp.dat"
57 #define OBJECTIVES_DATA_FILE_NAME "levels/OBJECTIV.DAT"
58 #define OBJECTIVES_FILE_NAME "OBJECTIV.DAT"
59 #define LEVELS_DATA_FILE_NAME "levels/LEVLSPEC.DAT"
60 #define LEVELS_DATA_FILE_NAME2 "levels/LEVLSPC2.DAT"
61 #define LEVELS_FILE_NAME2 "LEVLSPC2.DAT"
62 #define CONSTANTS_FILE_NAME "constant.dat"
63 #define LANGUAGE_FILE_NAME "language.dat"
64 #define BRIDGES_DATA_FILE_NAME "data/bridges.dat"
65 #define ALPHA_TABLE_FILE_NAME "data/alpha.dat"
66 #define VERSION_EXTENSION "VER"
67 #define SCRSHOT_PREFIX "SCR"
68 #define SCRSHOT_EXTENSION "BMP"
69 #define FLC_PREFIX "POP3"
70 #define FLC_EXTENSION "FLC"
71 #define QSAVE_PREFIX "GAM0"
72 #define QSAVE_EXTENSION "DAT"
73 #define CONFIG_PREFIX "CONFIG00"
74 #define CONFIG_EXTENSION "DAT"
75 #define ATTR_PREFIX "ATTR"
76 #define ATTR_EXTENSION "DAT"
77 #define ATTR_INFO_EXTENSION "INF"
78 #define EDITOR_PREFIX "EDITOR"
79 #define EDITOR_EXTENSION "DAT"
80 #define LEVEL_PREFIX "LEVEL"
81 #define LEVEL_PREFIX2 "LEVL2"
82 #define LEVEL_EXTENSION "DAT"
83 #define QSAVE_NET_PREFIX "GAMN0"
84 #define QSAVE_NET_TEMP_PREFIX "GAMNT"
85 #define QSAVE_NET_EXTENSION "DAT"
86 #define OE_CONFIG_PREFIX "CONFOE"
87 #define OE_CONFIG_EXTENSION "DAT"
88 #define MESSAGE_INFO_EXTENSION "INF"
89 #define SAVE_GAME_PREFIX "SAVGAM"
90 #define SAVE_GAME_HEADER_EXTENSION "HDR"
91 #define SAVE_GAME_LEVEL_EXTENSION "L"
92 #define LEVEL_HEADER_EXTENSION "HDR"
93 #define CP_DATA_PREFIX "CPATR"
94 #define CP_DATA_EXTENSION "DAT"
95 #define CP_SCRIPT_PREFIX "CPSCR"
96 #define CP_SCRIPT_EXTENSION "DAT"
97 #define VCONFIG_PREFIX "VCONFIG0"
98 #define VCONFIG_EXTENSION "DAT"
99 #define RDSAVE_PREFIX "GM"
100 #define RDCAM_PREFIX "CP"
101 #define RDMON_PREFIX "MN"
102 #define RD_EXTENSION "DAT"
103 #define FILE_INFO_LENGTH 80
104 #define MAX_NUM_EDITOR_FILES 256
105 #define MAX_NUM_ATTR_FILES 256
106 #define MAX_NUM_LEVEL_FILES 256
107 #define LFF_SPRITE_DATA (1<<0)
108 #define LFF_KANJI_DATA (1<<1)
109 #define FILE_FOUND_NONE (0)
110 #define FILE_FOUND_HD (1)
111 #define FILE_FOUND_LOCAL (2)
112 #define VERSION_NUM_LOAD_SAVE 107
113 #define VERSION_NUM_CONFIG 48
114 #define VERSION_NUM_VCONFIG 2
115 #define ATTR_VERSION_NUM 3
116 #define EDITOR_VERSION_NUM 10
117 #define LEVEL_VERSION2_NUM 11
118 #define LEVEL_VERSION2_CUTOFF 10
119 #define OBJECTS_VERSION_NUM 5
120 #define SHAPES_VERSION_NUM 2
121 #define MAX_TID_THINGS (16)
122 #define MAX_NUM_SPECTATORS 1
123 #define MAX_NUM_PLAYERS (8+1+1)
124 #define MAX_NUM_REAL_PLAYERS ((8+1+1)-1-1)
125 #define HOSTBOT_PLAYER_NUM ((8+1+1)-1-1)
126 #define HOSTBOT_DELEGATE_PLAYER_NUM 0
127 #define MAX_PLAYER_BUILDING_LIMIT (160)
128 #define MAX_BUILDING_LIMIT ((160)*(((8+1+1)-1-1)))
129 #define MAX_NUM_LEVEL_THINGS 2000
130 #define MAX_NUM_BLOCKS 256
131 #define MAX_NUM_PERS_N_STATES 4
132 #define MAX_NUM_SEARCHES 120
133 #define MAX_PATH_NAME_LEN 270
134 #define MAX_PLAYER_NAME_LEN (32+1)
135 #define MAX_NUM_FLASH_COUNTS 8
136 #define MAX_NUM_COMPUTER_STATES 5
137 #define MAX_MSG_STR_LEN (80)
138 #define MAX_VIEW_SIZE_CODE 32
139 #define MAX_ENV_USER_NAME 32
140 #define MAX_NUM_RES_VIEW_SETUPS 10
141 #define MAX_NUM_GAME_VIEWS 5
142 #define WORLD_NUM_VIEWS 6
143 #define VIEW_TWEEN_COUNT 8
144 #define ANGLE_TWEEN_COUNT 8
145 #define POS_TWEEN_COUNT 8
146 #define MAX_NUM_SCENERY 4000
147 #define MAX_NUM_ANIM_BLOCKS 24
148 #define MAX_NUM_ANIM_BLOCK_FRAMES 12
149 #define MAX_NUM_ANIM_OBJECTS 24
150 #define MAX_NUM_ANIM_OBJECT_FRAMES 8
151 #define MAX_NUM_PEOPLE_PER_PLAYER 200
152 #define MAX_NUM_LATENCY_FRAMES (100)
153 #define MAX_NUM_MAP_MARKERS (4)
154 #define MAX_NUM_CMD_GROUPS (4)
155 #define MAX_NUM_SERIAL_PLAYERS 2
156 #define MAX_SCREEN_MODES 255
157 #define MAX_NUM_TRIGGER_THINGS 10
158 #define PLAYER_MAINTAINED_MAX_PEOPLE 300
159 #define NUM_LEVEL_STAT_TYPES (12)
160 #define MAX_NUM_ONE_SHOTS_PER_SPELL 5
161 #define MAX_DISPLAY_MESSAGES 3
162 #define SECOND_IN_MILISECONDS 1000
163 #define HOST_WAIT_TIMEOUT 30*1000
164 #define CHAI_SCRIPT_LOAD_TIMEOUT 24
165 #define MAX_REGISTERS 8000
166 #define GAME_NUMBER_SPECTATORS (0)
167 #define GAME_NUMBER_PLAYERS ((8+1+1))
168 #define NETWORK_NUMBER_PLAYERS (((8+1+1)) + (0))
169 #define NETWORK_NUMBER_CHAT (8)
170 #define MORPH_TABLE_WIDTH (10)
171 #define MORPH_TABLE_HEIGHT (4)
172 #define MAX_NUM_KEYFRAMES ((4)*((10)/2))
173 #define MAX_NUM_MORPH_OBJECTS (25)
174 #define NUM_PEOPLE_GUI_STATES (5)
175 #define NUM_GUI_PEOPLE_TYPES (5)
176 #define NUM_SKY_COLOURS (16)
177 #define RAISE 0
178 #define LOWER 1
179 #define SCROLL_MARGIN 1
180 #define DEFAULT_CAMERA_HEIGHT 576
181 #define MIN_GAME_SPEED 0
182 #define MAX_GAME_SPEED 4
183 #define OWNER_NONE ((8+1+1)-1-1)
184 #define NO_PLAYER_NUM (-1)
185 #define PLAYER_DEAD_COUNT_MAX (64)
186 #define DEFAULT_NUM_PEOPLE (5)
187 #define INPUT_PROCESSED (0)
188 #define INPUT_ACCEPTED (1)
189 #define INPUT_CANCELLED (2)
190 #define MAX_NUM_FONTS (12)
191 #define SMALL_FONT (0)
192 #define LARGE_FONT (1)
193 #define V_SMALL_FONT (2)
194 #define P3_LARGE_FONT (3)
195 #define P3_SMALL_FONT_NORMAL (4)
196 #define P3_SMALL_FONT_GREEN (5)
197 #define P3_V_SMALL_FONT_NORMAL (6)
198 #define P3_V_SMALL_FONT_GREEN (7)
199 #define SMALL_FONT_2 (8)
200 #define P3_V_LARGE_FONT (9)
201 #define P3_ENCYC_FONT_GREEN (10)
202 #define P3_ENCYC_FONT_RED (11)
203 #define NO_PLAYER (0)
204 #define COMPUTER_PLAYER (1)
205 #define HUMAN_PLAYER (2)
206 #define UNMARK (0)
207 #define MARK (1)
208 #define MARK_NONE (2)
209 #define MARK_SINGLE (3)
210 #define UNMARK_ALT_CHANGE (4)
211 #define START (0)
212 #define PROCESS (1)
213 #define STOP (2)
214 #define SINGLE (3)
215 #define PRE_CONFIG_LOAD (1)
216 #define POST_CONFIG_LOAD (2)
217 #define MODE_ADD (0)
218 #define MODE_REMOVE (1)
219 #define MODE_CHECK (2)
220 #define MODE_ADD_VEHICLE_BUILD (3)
221 #define MODE_ADD_TRAINING (4)
222 #define OFFSETS_TO_PTRS (0)
223 #define PTRS_TO_OFFSETS (1)
224 #define MIN_MOMENTUM (1)
225 #define MAX_MOMENTUM (16)
226 #define MOMENTUM_DIVISOR (256)
227 #define MOMENTUM_FACTOR (8)
228 #define MOMENTUM_OFFSET (120)
229 #define SPRITE_DATA_CODE_LORES (0)
230 #define SPRITE_DATA_CODE_HIRES (1)
231 #define PLAYER_DRUM_TOWER_CHANGE_FLAG (14)
232 #define PLF_RS_PREPARE_IN_PROGRESS (1<<0)
233 #define PLF_INITIAL_RS_PREPARE_DONE (1<<1)
234 #define PLF_ONLY_GHOSTS_SELECTED (1<<2)
235 #define PLF_PLAYER_HAS_FREE_SPELLS (1<<3)
236 #define PLF_IN_COMMAND_MODE (1<<4)
237 #define PLF_AUTO_USE_VEHICLES (1<<5)
238 #define PLF_VEHICLE_PEOPLE_SELECTED (1<<6)
239 #define PLF_LOCAL_GUI_SELECTION_MODE (1<<7)
240 #define PLF_ALL_ARMAGEDDON_PEOPLE_PROCESSED (1<<8)
241 #define PLF_CP_BLUE_HAS_KILLED_A_GHOST (1<<9)
242 #define PLF_CP_BLUE_HAS_BEEN_IN_ENCYC (1<<10)
243 #define PLF_CP_SHAMAN_ICON_LEFT_CLICKED (1<<11)
244 #define PLF_CP_SHAMAN_ICON_RIGHT_CLICKED (1<<12)
245 #define PLF_CP_THING_INFO_ON_HOUSE_SHOWN (1<<13)
246 #define PLF_PEOPLE_CURRENTLY_TRAINING (1<<14)
247 #define PLF_FIGHT_JUMP_INITIALISED (1<<15)
248 #define PLF_NO_REINC_SITE (1<<16)
249 #define PLF_SCRIPT_LOSE_LEVEL (1<<17)
250 #define PLF_SCRIPT_WIN_LEVEL (1<<18)
251 #define PLF_SHAMAN_OMNIPRESENCE (1<<19)
252 #define PLF_NO_BLDG_MENU_WITH_NO_BRAVES (1<<21)
253 #define PLF_BUILD_ERROR_TOO_FAR (1<<22)
254 #define PLF_BUILD_ERROR_TOO_CLOSE (1<<23)
255 #define PLF_BUILD_ERROR_ON_WATER (1<<24)
256 #define PLF_BUILD_ERROR_NEAR_COAST (1<<25)
257 #define PLF_BUILD_ERROR_ON_REINC_SITE (1<<26)
258 #define PLF_BUILD_ERROR_DESTROYED_LAND (1<<27)
259 #define PLF_BUILD_ERROR_NOT_FLAT (1<<28)
260 #define PLF_BUILD_ERROR_OBSTACLE (1<<29)
261 #define PLF_BUILD_ERROR_FOG (1<<30)
262 #define PLF_CP_PERSON_BEING_PREACHED (1<<31)
263 #define PLF2_VICTORY_DANCE_STARTED (1<<0)
264 #define PLF2_MARVELLOUS_HOUSE_DEATH (1<<1)
265 #define PLF2_ZOOM_OFFSET (2)
266 #define PLF2_ZOOM_1_SET (1<<2)
267 #define PLF2_ZOOM_2_SET (1<<3)
268 #define PLF2_ZOOM_3_SET (1<<4)
269 #define PLF2_ZOOM_4_SET (1<<5)
270 #define PLF2_PLAYER_SUBMIT_MODE (1<<6)
271 #define PLF2_SUBMIT_TARGETTING_SHAMAN (1<<7)
272 #define PLF2_PLAYER_HAS_OWNED_BOATS (1<<8)
273 #define PLF2_PLAYER_HAS_OWNED_BALLOONS (1<<9)
274 #define PLF2_SET_SUBMIT_CMD_PENDING (1<<10)
275 #define PLF_ALL_BUILDING_ERROR_FLAGS ((1<<22) | (1<<23) | (1<<24) | (1<<25) | (1<<26) | (1<<27) | (1<<28) | (1<<29) | (1<<30))
276 #define SEARCH_MAX_RADIUS (32)
277 #define SEARCH_MAX_DIAM (2*(32))
278 #define SEARCH_MAX_AREA ((2*(32))*(2*(32)))
279 #define SQUARE (1)
280 #define CIRCULAR (2)
281 #define MAX_NUM_TID_ITEMS (32)
282 #define MAX_NUM_BMA_SLOTS (64)
283 #define BIT_MASK_HEAP_SIZE (32*1024)
284 #define TID_MODE_OPEN (0)
285 #define TID_MODE_DISPLAY (1)
286 #define TID_MODE_CLOSE (2)
287 #define TID_MODE_LAST (2)
288 #define TID_DISP_TYPE_STANDARD (0)
289 #define TID_DISP_TYPE_BIT_MASKED (1)
290 #define TID_HARMONY_NUM_ICONS (6)
291 #define TID_HARMONY_NUM_LINES (2)
292 #define TID_LIFE_NUM_LINES (2)
293 #define TID_ENERGY_NUM_LINES (2)
294 #define TID_MAX_BAR_COUNT (512)
295 #define TID_TRAINING_NUM_LINES (2)
296 #define TID_TRAINING_WIDTH (40)
297 #define BMA_TYPE_DEBUG (0)
298 #define BMA_TYPE_CIRCLE_EXPAND (99)
299 #define BMA_TYPE_RADIAL_SWEEP (98)
300 #define BMA_TYPE_L_R_SLIDE (97)
301 #define BMA_TYPE_SHUT_CURTAINS (96)
302 #define BMA_TYPE_OPEN_CURTAINS (95)
303 #define BMA_TYPE_DOUBLE_RADIAL_SWEEP (94)
304 #define BMA_TYPE_FLASH (93)
305 #define BMA_TYPE_JAGGED_L_R_SLIDE (92)
306 #define BMA_TYPE_OPEN_JAGGED_CURTAINS (91)
307 #define BMA_TYPE_V_BLINDS (90)
308 #define BMA_TYPE_OCTO_RADIAL_SWEEP (89)
309 #define BMA_TYPE_SLIDING_BLINDS (88)
310 #define BMA_TYPE_RANDOM_1 (1)
311 #define BMA_TYPE_SMALL_SWEEPS (2)
312 #define BMA_TYPE_EXPAND_SQUARES (3)
313 #define BMA_TYPE_SHUT_COMB_CURTAINS (4)
314 #define BMA_TYPE_SMALL_DOUBLE_RADIAL_SWEEPS (5)
315 #define BMA_TYPE_SMALL_DISSOLVE (6)
316 #define BMA_TYPE_SMALL_FLASHES (7)
317 #define BMA_TYPE_JAGGED_DIAGONAL_V_BLINDS (8)
318 #define BMA_TYPE_SMALL_EXPANDING_CIRCLES (9)
319 #define BMA_TYPE_MOVING_V_BLINDS (10)
320 #define BMA_TYPE_SIDE_JAWS (11)
321 #define BMA_TYPE_SMALL_OPPOSITE_RADIAL_SWEEP (12)
322 #define BMA_TYPE_SMALL_PENTA_RADIAL_SWEEPS (13)
323 #define BMA_NUM_TYPES (14)
324 #define SOUND_BUF_SIZE (1024*1024)
325 #define MAX_NUM_SAMPLE_ENTRIES (10)
326 #define MAX_SAMPLE_PRIORITY (255)
327 #define MIN_SAMPLE_PRIORITY (0)
328 #define NO_MUSIC 0
329 #define STREAMED_MUSIC 1
330 #define CD_MUSIC 2
331 #define SEF_FIXED_VARS (1<<0)
332 #define SEF_LOOPED (1<<1)
333 #define SEF_AMBIENT (1<<2)
334 #define SEF_PLAY_ME (1<<3)
335 #define SEF_MULTI_ANIM (1<<4)
336 #define SEF_DELETE_ME (1<<5)
337 #define SEF_SENTENCE (1<<6)
338 #define SEF_STOP_SENTENCE (1<<7)
339 #define SEF_LOCK_DELAY (1<<8)
340 #define SEF_STOPPING (1<<9)
341 #define SEF_DELETE_ME_ANIM (1<<10)
342 #define SEF_PLAY_PAUSED (1<<11)
343 #define AMBIENT_FLAG_LOW_LAND (1<<0)
344 #define AMBIENT_FLAG_HIGH_LAND (1<<1)
345 #define AMBIENT_FLAG_WATER (1<<2)
346 #define AMBIENT_FLAG_SPACE (1<<3)
347 #define PA_NONE 0
348 #define PA_QUIT_GAME 1
349 #define PA_PLAYER_MOVE 2
350 #define PA_ADJUST_CAMERA_ZOOM 3
351 #define PA_ADJUST_CAMERA_LENS 4
352 #define PA_ADJUST_CAMERA_POS_X 5
353 #define PA_ADJUST_CAMERA_POS_Y 6
354 #define PA_ADJUST_CAMERA_POS_Z 7
355 #define PA_ADJUST_CAMERA_ANGLE 8
356 #define PA_ADJUST_CAMERA_TILT 9
357 #define PA_ADJUST_CAMERA_ROLL 10
358 #define PA_ADJUST_CAMERA_SCALE 11
359 #define PA_EXIT_GAME 12
360 #define PA_SET_CAMERA_CLS_LINES 13
361 #define PA_PLACE_BLDG_MARKER 14
362 #define PA_SET_CAMERA_CENTRE_X 15
363 #define PA_SET_CAMERA_CENTRE_Y 16
364 #define PA_REMOVE_BLDG_MARKER 17
365 #define PA_SET_PLAYER_START_POSITION 18
366 #define PA_SET_DEBUG_POSITION 19
367 #define PA_NET_RESYNC_ALL 20
368 #define PA_ADJUST_GAME_SPEED 21
369 #define PA_PLAYER_JUMP 22
370 #define PA_ADJUST_GAME_PARAM 23
371 #define PA_JOIN_GAME 24
372 #define PA_JOIN_NET_GAME 25
373 #define PA_WAITING_FOR_PLAYERS 26
374 #define PA_GEN_NET_LEVEL 27
375 #define PA_EXIT_NET 28
376 #define PA_PAUSE 29
377 #define PA_PLAYER_COMMAND_ABORT 30
378 #define PA_STEP_PAUSE_RUN 31
379 #define PA_STEP_PAUSE_STOP 32
380 #define PA_ADJUST_VIEW_CELLS 33
381 #define PA_ADJUST_CURVE_RADIUS 34
382 #define PA_PLAYER_DRAG_START 35
383 #define PA_PLAYER_DRAG_PROCESS 36
384 #define PA_PLAYER_DRAG_END 37
385 #define PA_UPDATE_PLAYER_CURR_COMMAND 38
386 #define PA_PLAYER_COMMAND_ACCEPT 39
387 #define PA_NET_QUICK_SAVE 40
388 #define PA_NET_QUICK_LOAD 41
389 #define PA_TOGGLE_PERSON_AWAITING_CMD_STATE 42
390 #define PA_DWELLER_LEAVE_BLDG 43
391 #define PA_RESET_SEED 44
392 #define PA_USER_INPUT_START 45
393 #define PA_USER_INPUT_BODY_RECEIVE 46
394 #define PA_USER_INPUT_CONTROL_RECEIVE 47
395 #define PA_USER_INPUT_END 48
396 #define PA_CHEAT_MORE_MANA 49
397 #define PA_NET_QUICK_LOAD_CHECKSUM 50
398 #define PA_NET_QUICK_LOAD_CHECKSUM_AUTO 51
399 #define PA_TOGGLE_CAMERA_GAMUT_TYPE 52
400 #define PA_ADJUST_PERSPECTIVE_TRANSLATE 53
401 #define PA_ADJUST_PERSPECTIVE_SCALE 54
402 #define PA_UPDATE_PLAYER_COMMAND_1 55
403 #define PA_UPDATE_PLAYER_COMMAND_2 56
404 #define PA_UPDATE_PLAYER_COMMAND_3 57
405 #define PA_UPDATE_PLAYER_COMMAND_4 58
406 #define PA_UPDATE_PLAYER_COMMAND_5 59
407 #define PA_UPDATE_PLAYER_COMMAND_6 60
408 #define PA_UPDATE_PLAYER_COMMAND_7 61
409 #define PA_UPDATE_PLAYER_COMMAND_8 62
410 #define PA_TURN_OFF_PEOPLE_TYPE_AWAITING_CMD 63
411 #define PA_SET_BLDG_DISMANTLE_STATUS 64
412 #define PA_CHEAT_FREE_SPELLS 65
413 #define PA_SPELL_GRAB_A_SOUL 66
414 #define PA_SPECIFIC_DWELLER_LEAVE_BLDG 67
415 #define PA_CHEAT_ALL_SPELLS 68
416 #define PA_CHEAT_ALL_BUILDINGS 69
417 #define PA_SET_CMD_GROUP_FROM_LAST 70
418 #define PA_SELECT_PEOPLE_IN_CMD_GROUP 71
419 #define PA_SELECT_PEOPLE 72
420 #define PA_TOGGLE_ALLIANCE 73
421 #define PA_TRANSPORT_LEVEL 74
422 #define PA_PURIFY_LAND 75
423 #define PA_UNPURIFY_LAND 76
424 #define PA_PLAYER_JUMP_DIRECT 77
425 #define PA_UNMASK_SPY 78
426 #define PA_CAST_A_SPELL_PERM 79
427 #define PA_CAST_A_SPELL_LEVEL_TMP 80
428 #define PA_CAST_A_SPELL_ONCE 81
429 #define PA_PLAYER_DRAG_ONCE 82
430 #define PA_SELECT_ALL_OF_MODEL 83
431 #define PA_SELECT_ALL_IN_GUI_STATE 84
432 #define PA_SELECT_MODEL_IN_GUI_STATE 85
433 #define PA_SET_SPELL_ON_STATUS 86
434 #define PA_UPDATE_PLAYER_COMMAND_1_ACCEPT 87
435 #define PA_UPDATE_PLAYER_COMMAND_2_ACCEPT 88
436 #define PA_UPDATE_PLAYER_COMMAND_3_ACCEPT 89
437 #define PA_UPDATE_PLAYER_COMMAND_4_ACCEPT 90
438 #define PA_UPDATE_PLAYER_COMMAND_5_ACCEPT 91
439 #define PA_UPDATE_PLAYER_COMMAND_6_ACCEPT 92
440 #define PA_UPDATE_PLAYER_COMMAND_7_ACCEPT 93
441 #define PA_UPDATE_PLAYER_COMMAND_8_ACCEPT 94
442 #define PA_SET_PLAYERS_SEL_LG_MODE 95
443 #define PA_OCCUPANT_LEAVE_VEHICLE 96
444 #define PA_SELECT_ALL_IN_BUILDING 97
445 #define PA_PLACE_GUARD_POST 98
446 #define PA_RAISE_LAND 99
447 #define PA_LOWER_LAND 100
448 #define PA_SMOOTH_LAND 101
449 #define PA_SELECT_ALL_USING_GUARD_POINT 102
450 #define PA_SELECT_ALL_IN_VEHICLE 103
451 #define PA_RELEASE_WAITERS 104
452 #define PA_REMOVE_BLDG_MARKER_MULTI 105
453 #define PA_PLAYER_DRAG2_START 106
454 #define PA_PLAYER_DRAG2_PROCESS 107
455 #define PA_PLAYER_DRAG2_END 108
456 #define PA_PLAYER_DRAG2_ONCE 109
457 #define PA_SHAMAN_GOTO_SPELL_CAST_POINT 110
458 #define PA_CANCEL_SPELL_MODE 111
459 #define PA_INVOKE_ARMAGEDDON 112
460 #define PA_SELECT_ALL_PRAYING 113
461 #define PA_SELECT_MULTIPLE_OF_MODEL 114
462 #define PA_SET_TRAINING_MANA_ON_STATUS 115
463 #define PA_SET_ALL_SPELLS_ON_STATUS 116
464 #define PA_SET_INTEL_SPELLS_ON_STATUS 117
465 #define PA_CHEAT_MAX_MANA 118
466 #define PA_SELECT_ALL_ATTACKING_BUILDING 119
467 #define PA_REMOVE_SWAMP 120
468 #define PA_PLAYER_DRAG2_ONCE_ADD 121
469 #define PA_RESET_BLDG_PLACE_AUTO_CMD_NUM 122
470 #define PA_SET_PERSON_AWAITING_CMD_STATE 123
471 #define PA_CHECK_CALL_TO_ARMS 124
472 #define PA_SELECT_INDIVIDUAL_PERSON 125
473 #define PA_SCATTER_SELECTED 126
474 #define PA_GUI_SELECT_VEHICLE_ALL 127
475 #define PA_GUI_SELECT_VEHICLE_MULTIPLE 128
476 #define PA_GUI_SELECT_VEHICLE_SINGLE 129
477 #define PA_GUARD_SHAMAN_TOGGLE 130
478 #define PA_TOGGLE_LEVEL_START_MAP_EDIT 131
479 #define PA_LSME_CAST_SPELL 132
480 #define PA_LSME_RAISE_LOWER 133
481 #define PA_CHEAT_PLACE_THING 134
482 #define PA_SCRIPT_PLACE_THING 135
483 #define PA_SET_COMPUTER_PLAYERS 136
484 #define PA_FEATURES_CONFIG 135
485 #define PA_GSI_RESYNC 136
486 #define PA_CHECK_CHAI_SCRIPT 137
487 #define PA_STOP_CHAI_SCRIPTS 138
488 #define PA_START_OOS_LOGGING 139
489 #define PA_STOP_OOS_LOGGING 140
490 #define PA_LOAD_OOS_LOG 141
491 #define PA_SEND_CHAI_CHECKSUM 142
492 #define PA_GSI_DUMP 143
493 #define PA_GSI_LOAD 144
494 #define PA_RECORD 145
495 #define PA_STOP 146
496 #define PA_PLAYBACK 147
497 #define EM_INIT 1
498 #define EM_INIT_SET_MSG 1
499 #define EM_NET_STOP 2
500 #define EM_DO_EXIT 3
501 #define EM_NET_DROPOUT 4
502 #define CNFM_MODE_EXIT_GAME 1
503 #define CNFM_MODE_QUICK_LOAD 2
504 #define CNFM_MODE_QUICK_SAVE 3
505 #define CNFM_MODE_RESYNC 4
506 #define SEL_FLAG_NO_AUTO_EXIT_VEHICLE (1<<0)
507 #define SEL_FLAG_NO_VEHICLE_SELECT_ALL (1<<1)
508 #define SEL_FLAG_CMDS_DONE_EXIT_VEHICLE (1<<2)
509 #define SM_NORMAL 0
510 #define SM_LEVEL 1
511 #define SM_HOSTING 2
512 #define SM_JOINING 3
513 #define GNS_FLAG_SHOW_MOUSE_GRID (1<<0)
514 #define GNS_PAUSED (1<<1)
515 #define GNS_HIDE_PANEL (1<<2)
516 #define GNS_NETWORK (1<<3)
517 #define GNS_NETWORK_RESYNC (1<<4)
518 #define GNS_NET_DROPOUT (1<<5)
519 #define GNS_SERVER_QUITTING (1<<6)
520 #define GNS_ALLOW_ISOLATED_ZERO_ALTS (1<<7)
521 #define GNS_NO_PACKET_CLEAR (1<<8)
522 #define GNS_NO_NET_AUTO_SAVE (1<<9)
523 #define GNS_GAME_PARAMS_MODE (1<<10)
524 #define GNS_PACKET_LOCK (1<<11)
525 #define GNS_OUT_OF_SYNC (1<<12)
526 #define GNS_HIDE_SCANNER_MAP (1<<13)
527 #define GNS_SCROLLING (1<<14)
528 #define GNS_CHEAT_MODE (1<<15)
529 #define GNS_SHOW_VERSION_INFO (1<<16)
530 #define GNS_VIEW_LOCKED (1<<17)
531 #define GNS_CONFIG_ITEM_CHANGE (1<<18)
532 #define GNS_NO_MOUSE_SCROLL (1<<19)
533 #define GNS_VIEW_TWEENING_MODE (1<<20)
534 #define GNS_TMP_SHAPE_ERROR (1<<21)
535 #define GNS_MOUSE_TRACK_MODE (1<<22)
536 #define GNS_QUITTING (1<<23)
537 #define GNS_CMD_SELECT_MENU_SWAPPED (1<<24)
538 #define GNS_LEVEL_COMPLETE (1<<25)
539 #define GNS_LEVEL_FAILED (1<<26)
540 #define GNS_DRAW_SYNC_MSG (1<<27)
541 #define GNS_POLY_POOL_HAS_BEEN_USED (1<<28)
542 #define GNS_NO_CONFIG_LOAD (1<<29)
543 #define GNS_SPARE_SPARE_SPARE_SPARE_SPARE (1<<30)
544 #define GNS_CONFIRM_MODE (1<<31)
545 #define GNS2_SP_SYNC_RECORD (1<<0)
546 #define GNS2_SP_SYNC_CHECK (1<<1)
547 #define GNS2_DISGUISE_PANEL_ON (1<<2)
548 #define GNS2_DISGUISE_PANEL_PEOPLE_SHOWN (1<<3)
549 #define GNS2_SELECT_A_DISGUISE (1<<4)
550 #define GNS2_SHAKE_MODE (1<<5)
551 #define GNS2_TURN_SHAKE_ON (1<<6)
552 #define GNS2_INPUT_SCREEN_RES (1<<7)
553 #define GNS2_FRONTEND (1<<8)
554 #define GNS2_PLAYING_THE_SELECTION_LEVEL (1<<9)
555 #define GNS2_OBJECTIVE_1_DONE (1<<10)
556 #define GNS2_OBJECTIVE_1_SHIFT (10)
557 #define GNS2_OBJECTIVE_2_DONE (1<<11)
558 #define GNS2_OBJECTIVE_3_DONE (1<<12)
559 #define GNS2_OBJECTIVE_4_DONE (1<<13)
560 #define GNS2_DISC_OBJECTIVE_1_DONE (1<<14)
561 #define GNS2_DISC_OBJECTIVE_1_SHIFT (14)
562 #define GNS2_DISC_OBJECTIVE_2_DONE (1<<15)
563 #define GNS2_DISC_OBJECTIVE_3_DONE (1<<16)
564 #define GNS2_CONTEXT_COMMAND_MODE (1<<17)
565 #define GNS2_TMP_NO_CMD_CONTEXT (1<<18)
566 #define GNS2_CONTINUE_IS_INVALID (1<<19)
567 #define GNS2_SPARE_2 (1<<20)
568 #define GNS2_SPARE_3 (1<<21)
569 #define GNS2_NO_CONSTANTS_LOAD (1<<22)
570 #define GNS2_MANA_BAR_OFF (1<<23)
571 #define GNS2_SHOW_FINGER_PRINT (1<<24)
572 #define GNS2_CONTINUOUS_SCREEN_SHOTS (1<<25)
573 #define GNS2_IN_TUTORIAL (1<<26)
574 #define GNS2_TRANSPORTING (1<<27)
575 #define GNS2_FULL_LEVEL (1<<28)
576 #define GNS2_VCONFIG_ITEM_CHANGE (1<<29)
577 #define GNS2_VIEW_EDITOR_DRAWN (1<<30)
578 #define GNS2_SPECIFIC_LEVEL_GIVEN (1<<31)
579 #define GNS3_PALETTE_UPDATE_PENDING (1<<0)
580 #define GNS3_SPARE_1 (1<<1)
581 #define GNS3_NO_PALETTE_CYCLE (1<<2)
582 #define GNS3_LIGHTNING_BOLT (1<<3)
583 #define GNS3_NO_SOUND (1<<4)
584 #define GNS3_DISPLAY_LEVEL_STATS (1<<5)
585 #define GNS3_IN_MAIN_THING_STATE_LOOP (1<<6)
586 #define GNS3_SCALING_SPRITES_ALWAYS (1<<7)
587 #define GNS3_SCALING_SPRITES_RES_SETUP (1<<8)
588 #define GNS3_SCALING_SPRITES_TEMP (1<<9)
589 #define GNS3_DO_MEM_SEG_ANALYSIS (1<<10)
590 #define GNS3_SHOW_ATTACK_AREAS (1<<11)
591 #define GNS3_CHECK_MAPWHO_INTEGRITY (1<<12)
592 #define GNS3_SHOW_WOOD_SEARCH_INFO (1<<13)
593 #define GNS3_USE_BLDG_ENTRANCE_ALT (1<<14)
594 #define GNS3_USE_640_480_DEFAULT_RES (1<<15)
595 #define GNS3_USE_WAD_LOADING (1<<16)
596 #define GNS3_CHECK_ANIM_FILE_CHECKSUMS (1<<17)
597 #define GNS3_DRAG_SELECT_ADD_MODE (1<<18)
598 #define GNS3_HIDE_MOUSE_POINTER (1<<19)
599 #define GNS3_SCROLL_SPEED_ADJUST_ON (1<<20)
600 #define GNS3_SCANNER_ZOOM (1<<21)
601 #define GNS3_GAME_RECORD (1<<22)
602 #define GNS3_GAME_PLAYBACK (1<<23)
603 #define GNS3_MESSAGES_OFF (1<<24)
604 #define GNS3_AUTO_DSELECT_PREFERRED (1<<25)
605 #define GNS3_INPUT_ENABLE_PENDING (1<<26)
606 #define GNS3_INPUT_DISABLE_PENDING (1<<27)
607 #define GNS3_INPUT_DISABLED (1<<28)
608 #define GNS3_INPUT_DISABLED_BY_SCRIPT (1<<29)
609 #define GNS3_BSCREEN_MEMORY_LOCKED (1<<30)
610 #define GNS3_INGAME_OPTIONS (1<<31)
611 #define GNS4_PLAYER_WASTING_MANA (1<<0)
612 #define GNS4_NETWORK_PLAYBACK_NO_DISPLAY (1<<1)
613 #define GNS4_ENUMERATE_ALL_RES (1<<2)
614 #define GNS4_AUTO_DROP_MESSAGES_OFF (1<<3)
615 #define GNS4_USE_DEMO_LEVELS (1<<4)
616 #define GNS4_CHECK_VOL_NAME (1<<5)
617 #define GNS4_HD_DATA_PATH_SET (1<<6)
618 #define GNS4_DISPLAY_FLYBY_INFO (1<<7)
619 #define GNS4_ENCRYPT_CONST_FILE (1<<8)
620 #define GNS4_BUGGERED_NETWORK_GAME (1<<9)
621 #define GNS4_D3D_DEBUG_FILE (1<<10)
622 #define GNS4_DISABLE_SPELLS (1<<11)
623 #define GNS4_DISABLE_FRAMERATE_CAP (1<<12)
624 #define GNS4_MULTI (1<<13)
625 #define GNS4_OLDLANG (1<<14)
626 #define GNS4_NOTRACE (1<<15)
627 #define GNS4_AUTORESYNC (1<<16)
628 #define GNS4_RECORDAUTOCAM (1<<17)
629 #define GNS4_HOTPATCH (1<<18)
630 #define GS_SINGLE_LEVEL (1<<0)
631 #define GS_ARMAGEDDON_IN_PROGRESS (1<<1)
632 #define GS_NO_AUTO_BUILD (1<<2)
633 #define GS_NO_AUTO_HOUSE (1<<3)
634 #define GS_DONT_HOUSE_SPECIALISTS (1<<4)
635 #define GS_LEVEL_START_MAP_EDIT_MODE (1<<5)
636 #define GS_FIGHT_NO_PUSHING (1<<6)
637 #define GS_AOD_STATUE_SHAMAN_PROTECT (1<<7)
638 #define GS_GUEST_SPELLS_CHARGE (1<<8)
639 #define GS_VIEW_NUM_OFFSET (9)
640 #define GS_VIEW_NUM_0 (1<<9)
641 #define GS_VIEW_NUM_1 (1<<10)
642 #define GS_VIEW_NUM_2 (1<<11)
643 #define GS_VIEW_NUM_3 (1<<12)
644 #define GS_VIEW_NUM_4 (1<<13)
645 #define CI_NET_GAME_ONLY (1<<0)
646 #define CI_SINGLE_GAME_ONLY (1<<1)
647 #define CI_ALL_GAME_TYPES (1<<2)
648 #define CI_SET_DEFAULT_VALUE (1<<3)
649 #define CI_CHECK_START_VALUE (1<<4)
650 #define CI_TYPE_LIST_END (-1)
651 #define CI_TYPE_NONE (0)
652 #define CI_TYPE_BYTE_VALUE (1)
653 #define CI_TYPE_WORD_VALUE (2)
654 #define CI_TYPE_LONG_VALUE (3)
655 #define CI_TYPE_LONG_FLAGS (4)
656 #define CI_TYPE_RAW_MEMORY (5)
657 #define CLI_PER100_TO_PER256 (1<<0)
658 #define CLI_UPDATE_MAX_SLOPE_ENTRIES (1<<1)
659 #define CLI_LOADED (1<<2)
660 #define PKT_CHK_SEED 0
661 #define PKT_CHK_PLAYER_COUNTS 1
662 #define PKT_CHK_NUM_PEOPLE_AND_BLDGS 2
663 #define PKT_CHK_THINGS_DATA 3
664 #define PKT_CHK_SCRIPT3_DATA 4
665 #define PKT_CHK_CHEATER 5
666 #define PKT_CHK_MAP_DATA 6
667 #define PKT_CHK_GENERAL_1 7
668 #define MAX_NUM_CHECKSUMS 8
669 #define DT_NONE (0)
670 #define DT_SPRITE (1)
671 #define DT_OBJECT (2)
672 #define DT_OBJECT2 (3)
673 #define DT_OBJECT2_CONSTR (4)
674 #define DT_DEBUG_BOX (5)
675 #define DT_SCALED_SPRITE (6)
676 #define DT_SPR_CIRCLES (7)
677 #define DT_TID (8)
678 #define DT_SOUL_CONVERT (9)
679 #define DT_SPRITE_ANIM (10)
680 #define DT_BEACON_DISPLAY (11)
681 #define DT_OBJECT_FACE (12)
682 #define DT_FLY_THINGUMMY (13)
683 #define DT_BRIDGE_CONTROL (14)
684 #define DT_OBJECT2_UPLIT (15)
685 #define DT_WALL_PIECE (16)
686 #define DT_MANUAL_SCALED_SPRITE (17)
687 #define DT_LIGHTNING_STRAND (18)
688 #define DT_SWAMP (19)
689 #define DF_NO_ANIMATE (1<<1)
690 #define DF_OMNI_DIR (1<<2)
691 #define DF_MORPH (1<<3)
692 #define DF_THING_NO_DRAW (1<<4)
693 #define DF_NO_ROLL_TILT (1<<5)
694 #define DF_SCALABLE_SPECIAL (1<<6)
695 #define DF_POINTABLE (1<<7)
696 #define DF_DRAW_INFO_SET (1<<8)
697 #define DF_USE_SCALE (1<<9)
698 #define DF_MORPH_STOP_AT_FRAME (1<<10)
699 #define DF_MORPH_NOT_OK_TO_STOP (1<<11)
700 #define DF_MORPH_JUMP_TO_NEW_OBJECT (1<<12)
701 #define DF_NO_SPRITE_ANIM_SHADOW (1<<13)
702 #define DF_GLASS (1<<14)
703 #define DF_USE_ENGINE_SHADOW (1<<15)
704 #define SPRITE_FRAME_FACTOR (4)
705 #define SPRITE_FRAME_SHIFT (2)
706 #define FDF_BANK_FLIPPED (1<<0)
707 #define FDF_NO_SPRITE_ANIM_SHADOW (1<<1)
708 #define FDF_GLASS_ALL (1<<2)
709 #define TDI_SPRITE_F1_D1 (0)
710 #define TDI_SPRITE_F4_D1 (1)
711 #define TDI_OBJECT_GENERIC (2)
712 #define TDI_OBJECT_GENERIC_ANIM (3)
713 #define TDI_OBJECT_GENERIC_MORPH (4)
714 #define TDI_OBJECT_BLDG (5)
715 #define TDI_DEBUG_BOX (6)
716 #define TDI_NO_DRAW (7)
717 #define TDI_SPRITE_CIRCLES (8)
718 #define TDI_TID (9)
719 #define TDI_BLDG_CONSTRUCTION (10)
720 #define TDI_SOUL_CONVERT (11)
721 #define TDI_BEACON_DISPLAY (12)
722 #define TDI_SPR_ANIM (13)
723 #define TDI_SPR_ANIM_BRAVE (14)
724 #define TDI_SPR_ANIM_WARRIOR (15)
725 #define TDI_SPR_ANIM_RELIGIOUS (16)
726 #define TDI_SPR_ANIM_SPY (17)
727 #define TDI_SPR_ANIM_SUPER (18)
728 #define TDI_SPR_ANIM_BRAVE_2 (19)
729 #define TDI_SPR_ANIM_WARRIOR_2 (20)
730 #define TDI_SPR_ANIM_RELIGIOUS_2 (21)
731 #define TDI_SPR_ANIM_SPY_2 (22)
732 #define TDI_SPR_ANIM_SUPER_2 (23)
733 #define TDI_SPRITE_F8_D1 (24)
734 #define TDI_OBJECT_FACE (25)
735 #define TDI_FLY_THINGUMMY (26)
736 #define TDI_BRIDGE_CONTROL (27)
737 #define TDI_OBJECT_UPLIT (28)
738 #define TDI_SPRITE_F4_D1_ALPHA (29)
739 #define TDI_SPRITE_F9_D1_ALPHA (30)
740 #define TDI_SPRITE_F12_D1_ALPHA (31)
741 #define TDI_SPRITE_F8_D1_ALPHA_MIXED (32)
742 #define TDI_WALL_PIECE (33)
743 #define TDI_SPRITE_WW (34)
744 #define TDI_LIGHTNING_STRAND (35)
745 #define TDI_OBJECT_ROLLTILT (36)
746 #define TDI_SPRITE_F20_D1_ALPHA_TINTABLE (37)
747 #define TDI_SPRITE_F9_D1 (38)
748 #define TDI_SPRITE_F14_D1_ALPHA (39)
749 #define TDI_SPRITE_F16_D1_ALPHA (40)
750 #define TDI_SPRITE_F8_D1_ALPHA (41)
751 #define TDI_SPRITE_F6_D1_ALPHA (42)
752 #define TDI_SPRITE_F14_D1_ALPHA_TINTABLE (43)
753 #define TDI_SPRITE_F16_D1_ALPHA_TINTABLE (44)
754 #define TDI_SPRITE_F8_D1_ALPHA_TINTABLE (45)
755 #define TDI_SPRITE_F6_D1_ALPHA_TINTABLE (46)
756 #define TDI_SPRITE_F4_D1_ALPHA_TINTABLE (47)
757 #define TDI_DAMAGED_BLDG_SMOKE (48)
758 #define TDI_OBJECT_ADD_ON (49)
759 #define TDI_OBJECT_ADD_MORPH (50)
760 #define TDI_SPRITE_F10_D1_ALPHA (51)
761 #define TDI_SWAMP (52)
762 #define TDI_SCENERY_GENERIC (0)
763 #define SPY_TO_BRAVE_TDI_OFFSET ((14)-(17))
764 #define AT_NONE (0)
765 #define AT_SPR_NORMAL (1)
766 #define AT_SPR_ANIM (2)
767 #define AT_OBJ_NORMAL (3)
768 #define AT_OBJ_MORPH (4)
769 #define SPRITE_FLAG_NORMAL (0)
770 #define SPRITE_FLAG_XFLIP (1 << 0)
771 #define SPRITE_FLAG_YFLIP (1 << 1)
772 #define SPRITE_FLAG_GLASS (1 << 2)
773 #define SPRITE_FLAG_SCALE (1 << 3)
774 #define SPRITE_FLAG_HEIGHT (1 << 4)
775 #define SPRITE_FLAG_ZOOM (1 << 5)
776 #define SPRITE_FLAG_ONE_COLOR (1 << 6)
777 #define SPRITE_FLAG_SPECIAL (1 << 7)
778 #define PTAI_NONE (-1)
779 #define PTAI_STANDING 0
780 #define PTAI_RUNNING 1
781 #define PTAI_LOST_CONTROL 2
782 #define PTAI_PRAYING 3
783 #define PTAI_STANDING_WOOD 4
784 #define PTAI_RUNNING_WOOD 5
785 #define PTAI_WORKING 6
786 #define PTAI_JUMPING 7
787 #define PTAI_PUNCHING 8
788 #define PTAI_FLINCHING 9
789 #define PTAI_PUSHING 10
790 #define PTAI_PUSHED 11
791 #define PTAI_LOST_CONTROL_FLY 12
792 #define PTAI_SITTING 13
793 #define PTAI_SETTING_FIRE 14
794 #define PTAI_FIRING_MISSILE 15
795 #define PTAI_KICKING 16
796 #define PTAI_FLYING 17
797 #define PTAI_LAYING 18
798 #define PTAI_FALLING 19
799 #define PTAI_RISING 20
800 #define PTAI_CHEERING_A 21
801 #define PTAI_CHEERING_B 22
802 #define PTAI_CHEERING_C 23
803 #define PTAI_PADDLING 24
804 #define PTAI_FLEEING 25
805 #define PTAI_DROWNING 26
806 #define PTAI_FRYING 27
807 #define ODF_OUTLINE_POLYS (1<<0)
808 #define ODF_SINGLE_COLOUR (1<<1)
809 #define ODF_NOT_AVAILABLE_YET (1<<2)
810 #define QUIT_NORMAL (1<<0)
811 #define ERR_NONE 0
812 #define ERR_NO_MOUSE 1
813 #define ERR_PERS_STATE_POP 2
814 #define ERR_PERS_STATE_PUSH 3
815 #define ERR_NO_SEARCH 4
816 #define ERR_CREATING_HD_DIRS 5
817 #define ERR_INVALID_CMD_LINE 6
818 #define ERR_INVALID_FIGHT_IDX 7
819 #define ERR_INVALID_THING_LIST 8
820 #define ERR_LARGE_PERSON_LIFE 9
821 #define ERR_NO_MORPH_FILE 10
822 #define ERR_NO_SCREEN 11
823 #define ERR_NO_CMD_ENTRY 12
824 #define ERR_NO_ANIM_INFO 13
825 #define ERR_TIP_STACK_OVERFLOW 14
826 #define ERR_TIP_STACK_UNDERFLOW 15
827 #define ERR_TIP_NO_INIT_PUSH 16
828 #define ERR_TIP_NO_STATE_INIT_PUSH 17
829 #define ERR_DIV_BY_ZERO_IN_WORLD_CALC 18
830 #define ERR_BLDG_SHAPE_MEM_ALLOC 19
831 #define ERR_MAPWHO_ADDITION_EXISTS 20
832 #define ERR_MAPWHO_DELETION_NOT_EXIST 21
833 #define ERR_NO_JNAV_ENTRY 22
834 #define ERR_SHAPE_INVALID_OWNER 24
835 #define ERR_SHAPE_INVALID_IDX 25
836 #define ERR_FILE_LOAD_PROBLEM 26
837 #define ERR_CANNOT_SET_DISPLAYMODE 27
838 #define ERR_CANNOT_LOAD_LANGUAGE_FILE 28
839 #define ERR_CHEATING 29
840 #define MOVE_POS_FORWARDS (1<<0)
841 #define MOVE_POS_BACKWARDS (1<<1)
842 #define MOVE_POS_LEFT (1<<2)
843 #define MOVE_POS_RIGHT (1<<3)
844 #define MOVE_ANGLE_LEFT (1<<4)
845 #define MOVE_ANGLE_RIGHT (1<<5)
846 #define MOVE_DOUBLE_VALUE (1<<6)
847 #define NETWORK_WAITING (1<<7)
848 #define MOVE_POS_INCR (get_move_pos_incr())
849 #define MOVE_POS_Y_INCR (get_move_pos_y_incr())
850 #define MOVE_ANGLE_INCR (get_move_angle_incr())
851 #define FRICTION_ON_GROUND (28)
852 #define FRICTION_ON_SEA (72)
853 #define FRICTION_IN_AIR (2)
854 #define COAST_ALLOWED (1)
855 #define COAST_DISALLOWED (0)
856 #define OPT_CHANGE_RESOLUTION 1
857 #define OPT_SET_RESOLUTION 2
858 #define OPT_INCR_SCREEN_SIZE 3
859 #define OPT_DECR_SCREEN_SIZE 4
860 #define OPT_TOGGLE_PAUSE 5
861 #define OPT_QUICK_LOAD 6
862 #define OPT_QUICK_SAVE 7
863 #define OPT_TOGGLE_PANEL 8
864 #define OPT_TOGGLE_GAME_PARAMS_MODE 9
865 #define OPT_SET_PAUSE 10
866 #define OPT_TOGGLE_VERSION_INFO 11
867 #define OPT_SET_VIEW_NUM 12
868 #define OPT_RESET_VIEW_NUM 13
869 #define OPT_SET_RES_SETUP_NUM 14
870 #define OPT_VIEW_ZOOM_IN_OUT 15
871 #define MAX_NUM_COLOURS 32
872 #define CLR_WHITE 0
873 #define CLR_BLACK 1
874 #define CLR_RED 2
875 #define CLR_GREEN 3
876 #define CLR_BLUE 4
877 #define CLR_YELLOW 5
878 #define CLR_PINK 6
879 #define CLR_TURQUOISE 7
880 #define CLR_DARK_BLUE 8
881 #define CLR_LIGHT_GREY 9
882 #define CLR_DARK_GREY 10
883 #define CLR_DARK_PURPLE 11
884 #define CLR_DARK_RED 12
885 #define CLR_VDARK_RED 13
886 #define DEBUG_SHOW_FADE_TABLE (1<<0)
887 #define DEBUG_SHOW_BLOCKS (1<<1)
888 #define DEBUG_SHOW_PALETTE (1<<2)
889 #define DEBUG_SHOW_FRAME_RATE (1<<3)
890 #define DEBUG_SHOW_POLY_OUTLINES (1<<4)
891 #define DEBUG_SHOW_INFO (1<<5)
892 #define DEBUG_POLY_SHADE (1<<6)
893 #define DEBUG_SHOW_THING_INFO (1<<7)
894 #define DEBUG_SHOW_SIZES (1<<8)
895 #define DEBUG_GARY (1<<9)
896 #define DEBUG_SHOW_BLOCK_COLISION (1<<10)
897 #define DEBUG_SHOW_GHOST_TABLE (1<<11)
898 #define DEBUG_SHOW_GAMUT (1<<12)
899 #define DEBUG_SHOW_ALPHA_TABLES (1<<13)
900 #define DEBUG_SHOW_SOUND_INFO (1<<14)
901 #define DEBUG_SHOW_CYCLES (1<<15)
902 #define DEBUG_SHOW_WS_INFO (1<<16)
903 #define DEBUG_SHOW_THING_JNAV_POINTS (1<<17)
904 #define DEBUG_SHOW_TIMING_INFO (1<<18)
905 #define DEBUG_SHOW_SCANNER_ZOOM (1<<19)
906 #define DEBUG_SHOW_PLAYER_AREAS (1<<20)
907 #define DEBUG_SHOW_PERFORMANCE_STATS (1<<21)
908 #define DEBUG_MAX_DEBUG_DEFINES (22)
909 #define CYCLES_ITEM_GAME 0
910 #define CYCLES_ITEM_DRAW 1
911 #define CYCLES_ITEM_ENGINE 2
912 #define GAMUT_NUM_POINTS (4)
913 #define GAMUT_TYPE_CIRCULAR (0)
914 #define GAMUT_TYPE_POINT (1)
915 #define GG_MODE_NORMAL (0)
916 #define GG_MODE_SET_MAP_ALTS (1)
917 #define GG_MODE_RESET_MAP (2)
918 #define GG_MODE_RESET_GAMUT (3)
919 #define GG_MODE_GENERATE_GAMUT_INIT (4)
920 #define GG_MODE_GENERATE_GAMUT (5)
921 #define GG_MODE_GENERATE_HORIZON_INIT (6)
922 #define GG_MODE_GENERATE_HORIZON (7)
923 #define MA_MODE_LOAD_ALL (1)
924 #define MA_MODE_LOAD_SINGLE (2)
925 #define MA_MODE_LOAD_DOUBLE (3)
926 #define MA_MODE_LOAD_TRIPLE (4)
927 #define MA_MODE_ALLOC (5)
928 #define MA_MODE_CLEAR_ENTRY (6)
929 #define MA_MODE_CLEAR_ALL (7)
930 #define MA_MODE_GET_CODE_AND_DATA (8)
931 #define MA_FLAG_INCLUDE_IN_TOTAL (1<<0)
932 #define MA_IDX_FONT_PAL_PTRS (0)
933 #define MA_IDX_GRAPHICS (1)
934 #define MA_IDX_EDITOR (2)
935 #define MA_IDX_OBJECTS (3)
936 #define MA_IDX_OLD_OBJECTS (4)
937 #define MA_IDX_TEXTURES (5)
938 #define MA_IDX_GHOST_FADE_ALPHA (6)
939 #define MA_IDX_SOUND (7)
940 #define MA_IDX_MUSIC (8)
941 #define MA_IDX_CODE (9)
942 #define MA_IDX_DATA (10)
943 #define MA_IDX_ANI_FILES (11)
944 #define MA_IDX_SPRITES (12)
945 #define MA_IDX_SKY (13)
946 #define MA_IDX_SHADOWS (14)
947 #define MA_IDX_WSCREEN (15)
948 #define MA_IDX_BSCREEN (16)
949 #define MA_IDX_POLY_POOL (17)
950 #define DMAI_MAX_ENTRIES (8000)
951 #define DEBUG_BLOCK_NUM (1)
952 #define BLOCK_NUM_PLAYER_WOOD (2)
953 #define BLOCK_NUM_ALL_WATER (24)
954 #define BLOCK_NUM_ALL_GRASS (25)
955 #define BLOCK_NUM_ALL_BEACH (26)
956 #define BLOCK_NUM_ALL_CLIFF (27)
957 #define BLOCK_NUM_GRASS_FLAT (32)
958 #define BLOCK_NUM_WALL_DOOR (30)
959 #define BLOCK_NUM_WALL_WINDOW (31)
960 #define BLOCK_NUM_WALL_PLAIN (29)
961 #define BLOCK_NUM_ROOF (28)
962 #define BLOCK_NUM_WALL2_PLAIN (33)
963 #define BLOCK_NUM_WALL2_DOOR (34)
964 #define BLOCK_NUM_WALL2_WINDOW (35)
965 #define BLOCK_NUM_WALL_TYPE_0 (208)
966 #define BLOCK_NUM_BLDG_MARKERS (251)
967 #define BLOCK_NUM_BLDG_MARKER_ERROR (255)
968 #define BLOCK_NUM_BLDG_FRAME (250)
969 #define BLOCK_NUM_TREE (248)
970 #define BLOCK_NUM_DOORWAY (242)
971 #define ABF_END_LIST (1<<0)
972 #define AOF_END_LIST (1<<0)
973 #define ABIDX_FIRE (1)
974 #define BI_PLAYER_OWNED (1<<0)
975 #define BI_FIRE_ANIM (1<<1)
976 #define MAX_NUM_BLOCK_COLLIDE_CELLS_X (8)
977 #define BCM_IN_CELL_POS_DIVISOR (256/(8))
978 #define BCM_COLLIDE_CELL_SIZE ((256/(8)))
979 #define BCM_IN_CELL_POS_SHIFT (5)
980 #define BCMF_ALL_LAND (1<<0)
981 #define BCMF_ALL_SEA (1<<1)
982 #define BCMF_SIDE (1<<2)
983 #define BCMF_CORNER (1<<3)
984 #define BCMF_BAY (1<<4)
985 #define BCMF_OPPOSITE (1<<5)
986 #define BCMF_COAST ((1<<2)|(1<<3)|(1<<4)|(1<<5))
987 #define BCM_DRINK_POINT_TYPE_NONE (0)
988 #define BCM_DRINK_POINT_TYPE_NORMAL (1)
989 #define BCM_DRINK_POINT_TYPE_SPECIAL (2)
990 #define GM_MAIN_MENU (1)
991 #define GM_MAIN_GAME (2)
992 #define GM_EDITOR (3)
993 #define GM_OBJECT_EDITOR (4)
994 #define GM_GAMUT_GENERATION (5)
995 #define GM_NETWORK_INTERFACE_2 (6)
996 #define GM_FRONTEND (7)
997 #define GM_LANGUAGE_TEST (8)
998 #define GM_FE_NET (9)
999 #define GM_PLANETARY_LEVEL_SELECT (10)
1000 #define GM_KEY_DEFINE_TEST (11)
1001 #define GM_CREDITS (12)
1002 #define GM_STATE_INIT (1)
1003 #define GM_STATE_POST_INIT (2)
1004 #define GM_STATE_NORMAL (3)
1005 #define GM_STATE_DEINIT (4)
1006 #define GM_STATE_PRE_DEINIT (5)
1007 #define GCM_NONE (-1)
1008 #define GCM_NORMAL (0)
1009 #define GCM_SPARE (1)
1010 #define GCM_ALTER_SLIDER (2)
1011 #define GCM_SPARE_1 (3)
1012 #define GCM_INPUT (4)
1013 #define GCM_AIM_SHOT_BLAST (5)
1014 #define GCM_BLDG_MENU (6)
1015 #define GCM_BLDG_POSITION (7)
1016 #define GCM_BLDG_MENU_2 (8)
1017 #define GCM_PLAYER_DRAG (9)
1018 #define GCM_PLAYER_COMMAND (10)
1019 #define GCM_PLAYER_COMMAND_SELECT (11)
1020 #define GCM_PLAYER_COMMAND_2 (12)
1021 #define GCM_SPELL_CASTING (13)
1022 #define GCM_PLAYER_SMOOTH_LAND (14)
1023 #define GCM_PLAYER_DRAG_PENDING_NORMAL (15)
1024 #define GCM_PLAYER_DRAG_PENDING_CMD (16)
1025 #define GCM_CONTEXT_SENSITIVE_HELP (17)
1026 #define GCSM_NORMAL (0)
1027 #define GCSM_CMD_MENU_WAIT_INPUT (0)
1028 #define GCSM_CMD_MENU_SINGLE (1)
1029 #define GCSM_CMD_MENU_DRAG (2)
1030 #define GCSM_CMD_MENU_FULL (3)
1031 #define GCSM_CMD_MENU_SELECT (4)
1032 #define GCSM_INPUT_PASSWORD (5)
1033 #define GCSM_INPUT_TEAM (6)
1034 #define DM_NORMAL_VIEW (0)
1035 #define DM_PLAN_VIEW (1)
1036 #define DM_WORLD_VIEW (2)
1037 #define POP3_SESSION_NAME "POP3_"
1038 #define MAX_NUM_SESSIONS (16)
1039 #define MAX_IP_ADDRESS_LENGTH (64)
1040 #define MAX_PHONE_NUM_LENGTH (32)
1041 #define MAX_COM_PORTS (4)
1042 #define MAX_BAUD_RATES (10)
1043 #define MAX_PARITY (4)
1044 #define MAX_FLOW_CONTROL (5)
1045 #define MAX_STOP_BITS (3)
1046 #define MAX_MODEM_NAME_LENGTH (64)
1047 #define MAX_NUM_MODEMS (4)
1048 #define MAX_CHAT_BUFFER_LENGTH (64)
1049 #define MAX_LEVEL_NAME_LENGTH (32)
1050 #define MAX_PORT_NUM_LENGTH (6)
1051 #define MAX_NUM_IP_ADDRESS (8)
1052 #define MAX_IP_ADDRESS_NAME (12)
1053 #define MAX_NETWORK_CHATBUFFERS (6)
1054 #define MAX_NETWORK_CHATBUFFER_LENGTH ((64) + (32+1) + 3)
1055 #define NET_NORMAL_MODE (0)
1056 #define NET_PHONE_NUMBER_MODE (1)
1057 #define PA_NET_JOIN_WAIT_FOR_JOINERS (1)
1058 #define PA_NET_JOIN_START_GAME (2)
1059 #define PA_NET_JOIN_ABORT_JOIN (3)
1060 #define PA_NET_JOIN_CREATE_SESSION (4)
1061 #define PA_NET_JOIN_JOIN_SESSION (5)
1062 #define PA_NET_JOIN_SET_LEVEL_NUM (6)
1063 #define FE_NET_STATE_NOT_CONNECTED 0
1064 #define FE_NET_STATE_CREATING 1
1065 #define FE_NET_STATE_LOOKING 2
1066 #define FE_NET_STATE_JOINING 3
1067 #define FE_NET_STATE_CONNECTED 4
1068 #define FE_NET_STATE_STARTING 5
1069 #define PAL_TYPE_STATIC 0
1070 #define PAL_TYPE_FADE_NORMAL 1
1071 #define PAL_TYPE_FADE_TO_PALETTE 2
1072 #define PAL_TYPE_FADE_TO_BLACK 3
1073 #define PAL_TYPE_FADE_TO_WHITE 4
1074 #define PAL_TYPE_FADE_TO_RED 5
1075 #define PAL_TYPE_FADE_TO_GREEN 6
1076 #define PAL_TYPE_FADE_TO_BLUE 7
1077 #define PAL_DATA_NUM_STEPS_NORMAL 4
1078 #define PAL_BYTE_SIZE (sizeof(TbPalette))
1079 #define PAL_MAX_RGB (255)
1080 #define ORI_SIMPLE_N (0)
1081 #define ORI_SIMPLE_E (1)
1082 #define ORI_SIMPLE_S (2)
1083 #define ORI_SIMPLE_W (3)
1084 #define DIR_CODE_NONE (-1)
1085 #define DIR_CODE_N (0)
1086 #define DIR_CODE_NE (1)
1087 #define DIR_CODE_E (2)
1088 #define DIR_CODE_SE (3)
1089 #define DIR_CODE_S (4)
1090 #define DIR_CODE_SW (5)
1091 #define DIR_CODE_W (6)
1092 #define DIR_CODE_NW (7)
1093 #define BLDG_DIR_N (1<<0)
1094 #define BLDG_DIR_E (1<<1)
1095 #define BLDG_DIR_S (1<<2)
1096 #define BLDG_DIR_W (1<<3)
1097 #define NORTH 1
1098 #define SOUTH 2
1099 #define EAST 3
1100 #define WEST 4
1101 #define NORTH_BIT (1<<0)
1102 #define SOUTH_BIT (1<<1)
1103 #define EAST_BIT (1<<2)
1104 #define WEST_BIT (1<<3)
1105 #define MAX_NUM_COMMANDS (800)
1106 #define NUM_COMMANDS_PER_PERSON (8)
1107 #define NUM_CMD_TYPES_PER_CONTEXT (24)
1108 #define CMD_NONE (0)
1109 #define CMD_EXIT_MENU_ACCEPT (1)
1110 #define CMD_EXIT_MENU_ABORT (2)
1111 #define CMD_GOTO_POINT (3)
1112 #define CMD_FOLLOW_PERSON (4)
1113 #define CMD_CREATE_BEACON (5)
1114 #define CMD_BUILD_BUILDING (6)
1115 #define CMD_GET_WOOD (7)
1116 #define CMD_GO_IN_BLDG (8)
1117 #define CMD_DROP_WOOD (9)
1118 #define CMD_DISMANTLE_BUILDING (10)
1119 #define CMD_GUARD_AREA (11)
1120 #define CMD_SPARE (12)
1121 #define CMD_SPY_BURN_WOOD (13)
1122 #define CMD_SPY_INTERROGATE (14)
1123 #define CMD_SPY_SABOTAGE (15)
1124 #define CMD_SPY_DISGUISE (16)
1125 #define CMD_RELIGIOUS_PREACH (17)
1126 #define CMD_MOVE_REINCARN_SITE (18)
1127 #define CMD_ATTACK_AREA_2 (19)
1128 #define CMD_ENTER_PORTAL (20)
1129 #define CMD_AUTO_ATTACK_AREA (21)
1130 #define CMD_GET_INTO_VEHICLE (22)
1131 #define CMD_GET_OUT_OF_VEHICLE (23)
1132 #define CMD_CONVERT_WILD (24)
1133 #define CMD_GUARD_AREA_PATROL (25)
1134 #define CMD_FLATTEN (26)
1135 #define CMD_HEAD_PRAY (27)
1136 #define CMD_ATTACK_TARGET (28)
1137 #define CMD_GET_DISCOVERY (29)
1138 #define CMD_GUARD_SHAMAN (30)
1139 #define CMD_RELIGIOUS_BLDG_PREACH (31)
1140 #define CMD_AUTO_RELIGIOUS_PREACH (32)
1141 #define CMD_LIBRARY_PRAY (33)
1142 #define CMD_SEEK_NEAREST_BLDGS (34)
1143 #define NUM_COMMAND_TYPES (34)
1144 #define CMD_FLAG_INVALID (1<<0)
1145 #define CMD_FLAG_ATTACK_BLDGS (1<<1)
1146 #define CMD_FLAG_WOOD_TREE (1<<2)
1147 #define CMD_FLAG_SPECIAL_BLDG_ATTACK (1<<2)
1148 #define CMD_FLAG_WOOD_PILE (1<<3)
1149 #define CMD_FLAG_NO_SHAMAN_TARGETS (1<<3)
1150 #define CMD_FLAG_ALLOW_FULL_FIGHTS (1<<4)
1151 #define CMD_FLAG_AUTO_CMD (1<<5)
1152 #define CMD_FLAG_FORCED_CMD (1<<6)
1153 #define CMD_FLAG_CONTINUE_CMD (1<<7)
1154 #define CMD_CONTEXT_ON_MAP (1<<0)
1155 #define CMD_CONTEXT_ON_SHAPE (1<<1)
1156 #define CMD_CONTEXT_ON_TARGET (1<<2)
1157 #define CMD_CONTEXT_ON_WOOD_SOURCE (1<<3)
1158 #define CMD_CONTEXT_ON_CELL_TARGET (1<<4)
1159 #define CMD_CONTEXT_ON_BLDG (1<<5)
1160 #define CMD_CONTEXT_ON_BLDG_CONSTRUCTION (1<<6)
1161 #define CMD_CONTEXT_OWNED_MAP_ELEM (1<<7)
1162 #define CMD_CONTEXT_STATIC_ENEMY_ON_CELL (1<<8)
1163 #define CMD_CONTEXT_ON_PORTAL (1<<9)
1164 #define CMD_CONTEXT_ON_VEHICLE (1<<10)
1165 #define CMD_CONTEXT_ON_HEAD (1<<11)
1166 #define CMD_CONTEXT_ON_GUARD_POST (1<<12)
1167 #define CMD_CONTEXT_ON_DISGUISE_PANEL (1<<13)
1168 #define CMD_CONTEXT_NEAR_WILD_PEOPLE (1<<14)
1169 #define CMD_CONTEXT_BLDG_DISMANTLE_MODE (1<<15)
1170 #define CMD_CONTEXT_ENEMY_ON_SHAPE (1<<16)
1171 #define CMD_CONTEXT_ON_DISCOVERY (1<<17)
1172 #define CMD_CONTEXT_ON_OWN_SHAMAN (1<<18)
1173 #define CMD_CONTEXT_ON_LIBRARY (1<<19)
1174 #define CMD_CONTEXT_SPECIAL_CMD_MODE (1<<20)
1175 #define CMD_CONTEXT_ON_PRISON (1<<21)
1176 #define CMD_CONTEXT_ON_BLDG_PANEL (1<<22)
1177 #define CMD_CONTEXT_VALID_GUARD_POST_POS (1<<23)
1178 #define CMD_CONTEXT_VALID_PREACHER_FIGHT_TARGET (1<<24)
1179 #define CMDTI_TARGET_COORD (1<<0)
1180 #define CMDTI_TARGET_IDX (1<<1)
1181 #define CMDTI_TARGET_AND_MAP_IDX (1<<2)
1182 #define CMDTI_PROCESS_COLISION (1<<3)
1183 #define CMDTI_USE_FORMATION (1<<4)
1184 #define CMDTI_USE_TGT_COORD_BASE_POS (1<<5)
1185 #define CMDTI_CELL_TARGET_IDX (1<<6)
1186 #define CMDTI_HARMONY_AFFECTING (1<<7)
1187 #define CMDTI_NO_POST_CMD_BASE_POS_RESET (1<<8)
1188 #define CMDTI_GENERAL_ENEMY_TARGET (1<<9)
1189 #define CMDTI_SPY_DISGUISE_OWNER (1<<10)
1190 #define CMDTI_MAP_IDX_AND_SIZE (1<<11)
1191 #define CMDTI_NO_INITIAL_JNAV (1<<12)
1192 #define CMDTI_SINGLE_COMMAND (1<<13)
1193 #define CMDTI_STAY_IN_VEHICLE (1<<14)
1194 #define CMDTI_LOOP (1<<15)
1195 #define CMDTI_ALLOW_COASTAL_TARGET (1<<16)
1196 #define CMDTI_DISALLOW_BLDG_TARGET (1<<17)
1197 #define CMDTI_NO_VEHICLE_USE (1<<18)
1198 #define CMDTI_CHECK_BLDG_DISMANTLE (1<<19)
1199 #define CMDTI_STAY_IN_VEHICLE_SW (1<<20)
1200 #define CMDTI_NO_FIRST_GOTO (1<<21)
1201 #define CMDTI_ALLOW_SUPER_RETURN_FIRE (1<<22)
1202 #define CMDTI_NO_CALL_TO_ARMS (1<<23)
1203 #define CMDTI_TARGET_BLDG_MODEL (1<<24)
1204 #define CMDTI_BATCH_COMMAND (1<<25)
1205 #define CMDTI_OK_FOR_GHOSTS (1<<26)
1206 #define CGF_IN_LAST_SELECTED_GROUP (1<<0)
1207 #define CGF_IN_GROUP_1 (1<<1)
1208 #define CGF_IN_GROUP_2 (1<<2)
1209 #define CGF_IN_GROUP_3 (1<<3)
1210 #define CGF_IN_GROUP_4 (1<<4)
1211 #define CGF_IN_GROUP_5 (1<<5)
1212 #define CGF_IN_GROUP_6 (1<<6)
1213 #define CGF_CURRENTLY_SELECTED (1<<7)
1214 #define CMDAI_VIEW_SET (1<<0)
1215 #define CMDAI_CMD_ACCEPTED (1<<1)
1216 #define FRM_MAX_MEMBER_ROWS (4)
1217 #define FRM_MAX_MEMBER_COLS (3)
1218 #define FRM_MAX_MEMBERS ((4)*(3))
1219 #define FRM_CHECK_ANGLE ((((20)*(2048))/360))
1220 #define FRM_CHECK_COUNT (24)
1221 #define FRM_NEAR_FRM_W_RADIUS (4*(((256))<<1))
1222 #define FRM_POS_OFFSET_SHIFT (4)
1223 #define FRM_PERSON_BEHIND_DIST_SQ (((4)<<1)*((4)<<1))
1224 #define FRM_NEAR_PEOPLE_CELL_RADIUS (3)
1225 #define FRM_ROW_SEPARATION (18)
1226 #define FRM_COL_SEPARATION (18)
1227 #define FRM_NEAR_DEST_W_DIST (((((16*(256))/16))<<1))
1228 #define FRM_LOCK_W_DIST (((8)<<1))
1229 #define FRM_RECENT_LAST_NAV_COUNT (24)
1230 #define FRM_TOO_FAR_OUT_W_DIST (((4*(256))<<1))
1231 #define FRM_TOO_FAR_OUT_W_DIST_SQ ((((4*(256))<<1))*(((4*(256))<<1)))
1232 #define FSPACE_SEARCH_CELL_RADIUS (16)
1233 #define FSPACE_MAX_NUM_PEOPLE (8)
1234 #define FSPACE_USE_MAX_NUM_PEOPLE (6)
1235 #define FSPACE_REORG_PENDING_COUNT (10)
1236 #define FSPACE_NUM_POSITIONS (8+1 +7+1 +6+1 +5+1 +4+1 +3+1 +2+1 +1+1)
1237 #define RESOURCE_TYPE_WOOD (0)
1238 #define WOOD_CARRYING_FACTOR (100)
1239 #define WOOD_PILE_RESOURCE_UNITS ((100))
1240 #define WPU ((100))
1241 #define SPM_NORMAL (0)
1242 #define SPM_INIT (1)
1243 #define T_TYPE_NONE (0)
1244 #define T_MODEL_NONE (0)
1245 #define T_STATE_NONE (0)
1246 #define T_PERSON (1)
1247 #define T_BUILDING (2)
1248 #define T_CREATURE (3)
1249 #define T_VEHICLE (4)
1250 #define T_SCENERY (5)
1251 #define T_GENERAL (6)
1252 #define T_EFFECT (7)
1253 #define T_SHOT (8)
1254 #define T_SHAPE (9)
1255 #define T_INTERNAL (10)
1256 #define T_SPELL (11)
1257 #define NUM_THING_TYPES (11)
1258 #define M_PERSON_NONE (0)
1259 #define M_PERSON_WILD (1)
1260 #define M_PERSON_BRAVE (2)
1261 #define M_PERSON_WARRIOR (3)
1262 #define M_PERSON_RELIGIOUS (4)
1263 #define M_PERSON_SPY (5)
1264 #define M_PERSON_SUPER_WARRIOR (6)
1265 #define M_PERSON_MEDICINE_MAN (7)
1266 #define M_PERSON_ANGEL (8)
1267 #define NUM_PEOPLE_TYPES (8)
1268 #define PERSON_FIRST_GUI_MODEL (2)
1269 #define PERSON_LAST_GUI_MODEL (6)
1270 #define M_BUILDING_TEPEE (1)
1271 #define M_BUILDING_TEPEE_2 (2)
1272 #define M_BUILDING_HUT (2)
1273 #define M_BUILDING_TEPEE_3 (3)
1274 #define M_BUILDING_FARM (3)
1275 #define M_BUILDING_DRUM_TOWER (4)
1276 #define M_BUILDING_TEMPLE (5)
1277 #define M_BUILDING_SPY_TRAIN (6)
1278 #define M_BUILDING_WARRIOR_TRAIN (7)
1279 #define M_BUILDING_SUPER_TRAIN (8)
1280 #define M_BUILDING_RECONVERSION (9)
1281 #define M_BUILDING_WALL_PIECE (10)
1282 #define M_BUILDING_GATE (11)
1283 #define M_BUILDING_CURR_OE_SLOT (12)
1284 #define M_BUILDING_BOAT_HUT_1 (13)
1285 #define M_BUILDING_BOAT_HUT_2 (14)
1286 #define M_BUILDING_AIRSHIP_HUT_1 (15)
1287 #define M_BUILDING_AIRSHIP_HUT_2 (16)
1288 #define M_BUILDING_GUARD_POST (17)
1289 #define M_BUILDING_LIBRARY (18)
1290 #define M_BUILDING_PRISON (19)
1291 #define NUM_BUILDING_TYPES (19)
1292 #define M_CREATURE_BEAR (1)
1293 #define M_CREATURE_BUFFALO (2)
1294 #define M_CREATURE_WOLF (3)
1295 #define M_CREATURE_EAGLE (4)
1296 #define M_CREATURE_RABBIT (5)
1297 #define M_CREATURE_BEAVER (6)
1298 #define M_CREATURE_FISH (7)
1299 #define NUM_CREATURE_TYPES (7)
1300 #define M_VEHICLE_BOAT_1 (1)
1301 #define M_VEHICLE_BOAT_2 (2)
1302 #define M_VEHICLE_AIRSHIP_1 (3)
1303 #define M_VEHICLE_AIRSHIP_2 (4)
1304 #define NUM_VEHICLE_TYPES (4)
1305 #define M_SCENERY_TREE_1 (1)
1306 #define M_SCENERY_TREE_2 (2)
1307 #define M_SCENERY_TREE_3 (3)
1308 #define M_SCENERY_TREE_4 (4)
1309 #define M_SCENERY_TREE_5 (5)
1310 #define M_SCENERY_TREE_6 (6)
1311 #define M_SCENERY_PLANT_1 (7)
1312 #define M_SCENERY_PLANT_2 (8)
1313 #define M_SCENERY_HEAD (9)
1314 #define M_SCENERY_FIRE (10)
1315 #define M_SCENERY_WOOD_PILE (11)
1316 #define M_SCENERY_RS_PILLAR (12)
1317 #define M_SCENERY_ROCK (13)
1318 #define M_SCENERY_PORTAL (14)
1319 #define M_SCENERY_ISLAND (15)
1320 #define M_SCENERY_BRIDGE (16)
1321 #define M_SCENERY_DORMANT_TREE (17)
1322 #define M_SCENERY_TOP_LEVEL_SCENERY (18)
1323 #define M_SCENERY_SUB_LEVEL_SCENERY (19)
1324 #define NUM_SCENERY_TYPES (19)
1325 #define M_GENERAL_LIGHT (1)
1326 #define M_GENERAL_DISCOVERY (2)
1327 #define M_GENERAL_DEBUG_STATIC (3)
1328 #define M_GENERAL_DEBUG_FLYING (4)
1329 #define M_GENERAL_DEBUG_FLAG (5)
1330 #define M_GENERAL_TRIGGER (6)
1331 #define M_GENERAL_VEHICLE_CONSTRUCTION (7)
1332 #define M_GENERAL_MAPWHO_THING (8)
1333 #define M_GENERAL_BUILDING_ADD_ON (9)
1334 #define M_GENERAL_DISCOVERY_MARKER (10)
1335 #define NUM_GENERAL_TYPES (10)
1336 #define M_EFFECT_SIMPLE_BLAST (1)
1337 #define M_EFFECT_SPRITE_CIRCLES (2)
1338 #define M_EFFECT_SMOKE (3)
1339 #define M_EFFECT_LIGHTNING_ELEM (4)
1340 #define M_EFFECT_BURN_CELL_OBSTACLES (5)
1341 #define M_EFFECT_FLATTEN_LAND (6)
1342 #define M_EFFECT_MOVE_RS_PILLAR (7)
1343 #define M_EFFECT_PREPARE_RS_LAND (8)
1344 #define M_EFFECT_SPHERE_EXPLODE_1 (9)
1345 #define M_EFFECT_FIREBALL (10)
1346 #define M_EFFECT_FIRECLOUD (11)
1347 #define M_EFFECT_GHOST_ARMY (12)
1348 #define M_EFFECT_INVISIBILITY (13)
1349 #define M_EFFECT_EXPLODE_BLDG_PARTIAL (14)
1350 #define M_EFFECT_VOLCANO (15)
1351 #define M_EFFECT_HYPNOTISM (16)
1352 #define M_EFFECT_LIGHTNING_BOLT (17)
1353 #define M_EFFECT_SWAMP (18)
1354 #define M_EFFECT_ANGEL_OF_DEATH (19)
1355 #define M_EFFECT_WHIRLWIND (20)
1356 #define M_EFFECT_INSECT_PLAGUE (21)
1357 #define M_EFFECT_FIRESTORM (22)
1358 #define M_EFFECT_EROSION (23)
1359 #define M_EFFECT_LAND_BRIDGE (24)
1360 #define M_EFFECT_WRATH_OF_GOD (25)
1361 #define M_EFFECT_EARTHQUAKE (26)
1362 #define M_EFFECT_FLY_THINGUMMY (27)
1363 #define M_EFFECT_SPHERE_EXPLODE_AND_FIRE (28)
1364 #define M_EFFECT_BIG_FIRE (29)
1365 #define M_EFFECT_LIGHTNING (30)
1366 #define M_EFFECT_FLATTEN (31)
1367 #define M_EFFECT_GENERAL (32)
1368 #define M_EFFECT_SHAPE_SPARKLE (33)
1369 #define M_EFFECT_LAVA_FLOW (34)
1370 #define M_EFFECT_VOLCANO_EXPLOSIONS (35)
1371 #define M_EFFECT_PURIFY_LAND (36)
1372 #define M_EFFECT_UNPURIFY_LAND (37)
1373 #define M_EFFECT_EXPLOSION_1 (38)
1374 #define M_EFFECT_EXPLOSION_2 (39)
1375 #define M_EFFECT_LAVA_SQUARE (40)
1376 #define M_EFFECT_WW_ELEMENT (41)
1377 #define M_EFFECT_LIGHTNING_STRAND (42)
1378 #define M_EFFECT_WW_DUST (43)
1379 #define M_EFFECT_RAISE_LAND (44)
1380 #define M_EFFECT_LOWER_LAND (45)
1381 #define M_EFFECT_HILL (46)
1382 #define M_EFFECT_VALLEY (47)
1383 #define M_EFFECT_PLACE_TREE (48)
1384 #define M_EFFECT_RISE (49)
1385 #define M_EFFECT_DIP (50)
1386 #define M_EFFECT_REIN_ROCK_DEBRIS (51)
1387 #define M_EFFECT_CLEAR_MAPWHO (52)
1388 #define M_EFFECT_PLACE_SHAMAN (53)
1389 #define M_EFFECT_PLACE_WILD (54)
1390 #define M_EFFECT_BLDG_SMOKE (55)
1391 #define M_EFFECT_MUCH_SIMPLER_BLAST (56)
1392 #define M_EFFECT_TUMBLING_BRANCH (57)
1393 #define M_EFFECT_CONVERSION_FLASH (58)
1394 #define M_EFFECT_HYPNOSIS_FLASH (59)
1395 #define M_EFFECT_SPARKLE (60)
1396 #define M_EFFECT_SMALL_SPARKLE (61)
1397 #define M_EFFECT_EXPLOSION_3 (62)
1398 #define M_EFFECT_ROCK_EXPLOSION (63)
1399 #define M_EFFECT_LAVA_GLOOP (64)
1400 #define M_EFFECT_SPLASH (65)
1401 #define M_EFFECT_SMOKE_CLOUD (66)
1402 #define M_EFFECT_SMOKE_CLOUD_CONSTANT (67)
1403 #define M_EFFECT_FIREBALL_2 (68)
1404 #define M_EFFECT_GROUND_SHOCKWAVE (69)
1405 #define M_EFFECT_ORBITER (70)
1406 #define M_EFFECT_BIG_SPARKLE (71)
1407 #define M_EFFECT_METEOR (72)
1408 #define M_EFFECT_CONVERT_WILD (73)
1409 #define M_EFFECT_BLDG_SMOKE_2_FULL (74)
1410 #define M_EFFECT_BLDG_SMOKE_2_PARTIAL (75)
1411 #define M_EFFECT_BLDG_DAMAGED_SMOKE (76)
1412 #define M_EFFECT_DELETE_RS_PILLARS (77)
1413 #define M_EFFECT_SPELL_BLAST (78)
1414 #define M_EFFECT_FIRESTORM_SMOKE (79)
1415 #define M_EFFECT_PLAYER_DEAD (80)
1416 #define M_EFFECT_REVEAL_FOG_AREA (81)
1417 #define M_EFFECT_SHIELD (82)
1418 #define M_EFFECT_BOAT_HUT_REPAIR (83)
1419 #define M_EFFECT_REEDY_GRASS (84)
1420 #define M_EFFECT_SWAMP_MIST (85)
1421 #define M_EFFECT_ARMAGEDDON (86)
1422 #define M_EFFECT_BLOODLUST (87)
1423 #define M_EFFECT_TELEPORT (88)
1424 #define M_EFFECT_ATLANTIS_SET (89)
1425 #define M_EFFECT_ATLANTIS_INVOKE (90)
1426 #define M_EFFECT_STATUE_TO_AOD (91)
1427 #define M_EFFECT_FILL_ONE_SHOTS (92)
1428 #define M_EFFECT_FIRE_ROLL_ELEM (93)
1429 #define M_EFFECT_ARMA_ARENA (94)
1430 #define NUM_EFFECT_TYPES (95)
1431 #define M_SHOT_STANDARD (1)
1432 #define M_SHOT_STANDARD_2 (2)
1433 #define M_SHOT_STANDARD_3 (3)
1434 #define M_SHOT_FIREBALL (4)
1435 #define M_SHOT_LIGHTNING (5)
1436 #define M_SHOT_SUPER_WARRIOR (6)
1437 #define M_SHOT_VOLCANO_FIREBALL_1 (7)
1438 #define M_SHOT_VOLCANO_FIREBALL_2 (8)
1439 #define NUM_SHOT_TYPES (8)
1440 #define M_SHAPE_GENERAL (1)
1441 #define NUM_SHAPE_TYPES (1)
1442 #define M_INTERNAL_FORMATION (1)
1443 #define M_INTERNAL_BEACON (2)
1444 #define M_INTERNAL_THING_INFO_DISPLAY (3)
1445 #define M_INTERNAL_SOUL_CONVERT (4)
1446 #define M_INTERNAL_SOUL_MAN (5)
1447 #define M_INTERNAL_MED_MAN_ATTRACT (6)
1448 #define M_INTERNAL_OBJ_FACE (7)
1449 #define M_INTERNAL_FIGHT (8)
1450 #define M_INTERNAL_PRE_FIGHT (9)
1451 #define M_INTERNAL_GUARD_CONTROL (10)
1452 #define M_INTERNAL_BRIDGE_CONTROL (11)
1453 #define M_INTERNAL_SOUL_CONVERT_2 (12)
1454 #define M_INTERNAL_DT_BEACON (13)
1455 #define M_INTERNAL_PLAYER_RAISE (14)
1456 #define M_INTERNAL_PLAYER_LOWER (15)
1457 #define M_INTERNAL_GUARD_POST_DISPLAY (16)
1458 #define M_INTERNAL_PLAYER_SMOOTH (17)
1459 #define M_INTERNAL_WOOD_DISTRIB (18)
1460 #define M_INTERNAL_SINKING_BLDG (19)
1461 #define NUM_INTERNAL_TYPES (19)
1462 #define M_SPELL_NONE (0)
1463 #define M_SPELL_BURN (1)
1464 #define M_SPELL_BLAST (2)
1465 #define M_SPELL_LIGHTNING_BOLT (3)
1466 #define M_SPELL_WHIRLWIND (4)
1467 #define M_SPELL_INSECT_PLAGUE (5)
1468 #define M_SPELL_INVISIBILITY (6)
1469 #define M_SPELL_HYPNOTISM (7)
1470 #define M_SPELL_FIRESTORM (8)
1471 #define M_SPELL_GHOST_ARMY (9)
1472 #define M_SPELL_EROSION (10)
1473 #define M_SPELL_SWAMP (11)
1474 #define M_SPELL_LAND_BRIDGE (12)
1475 #define M_SPELL_ANGEL_OF_DEATH (13)
1476 #define M_SPELL_EARTHQUAKE (14)
1477 #define M_SPELL_FLATTEN (15)
1478 #define M_SPELL_VOLCANO (16)
1479 #define M_SPELL_CONVERT_WILD (17)
1480 #define M_SPELL_ARMAGEDDON (18)
1481 #define M_SPELL_SHIELD (19)
1482 #define M_SPELL_BLOODLUST (20)
1483 #define M_SPELL_TELEPORT (21)
1484 #define NUM_SPELL_TYPES (21)
1485 #define MAX_NUM_NORMAL_SPELLS (32)
1486 #define M_LANDSCAPE_SPELL_NONE ((21)+1)
1487 #define M_SPELL_HILL ((21)+2)
1488 #define M_SPELL_RISE ((21)+3)
1489 #define M_SPELL_VALLEY ((21)+4)
1490 #define M_SPELL_DIP ((21)+5)
1491 #define M_SPELL_PLACE_TREE ((21)+6)
1492 #define M_SPELL_CLEAR_MAPWHO ((21)+7)
1493 #define M_SPELL_PLACE_SHAMAN ((21)+8)
1494 #define M_SPELL_PLACE_WILD ((21)+9)
1495 #define NUM_LANDSCAPE_SPELL_TYPES ((21)+9)
1496 #define S_PERSON_NONE (0)
1497 #define S_PERSON_STAND_FOR_TIME (1)
1498 #define S_PERSON_DROWNING (2)
1499 #define S_PERSON_DYING (3)
1500 #define S_PERSON_WANDER (4)
1501 #define S_PERSON_GOTO_AND_EAT (5)
1502 #define S_PERSON_GOTO_AND_DRINK (6)
1503 #define S_PERSON_GOTO_DEBUG_POINT (7)
1504 #define S_PERSON_WILD_ROAM (8)
1505 #define S_PERSON_SUMMONED (9)
1506 #define S_PERSON_UNDER_COMMAND (10)
1507 #define S_PERSON_SELECTED (11)
1508 #define S_PERSON_RESELECT_WAIT (12)
1509 #define S_PERSON_BASE_WANDER (13)
1510 #define S_PERSON_AWAITING_COMMAND (14)
1511 #define S_PERSON_WILD_EAT (15)
1512 #define S_PERSON_WILD_DRINK (16)
1513 #define S_PERSON_GOTO_BASE_AND_WAIT (17)
1514 #define S_PERSON_GOTO_POINT (18)
1515 #define S_PERSON_WAIT_AT_POINT (19)
1516 #define S_PERSON_SPARE (20)
1517 #define S_PERSON_WAIT_IN_BLDG (21)
1518 #define S_PERSON_SPELL_TRANCE (22)
1519 #define S_PERSON_BEING_PREACHED (23)
1520 #define S_PERSON_IN_WHIRLWIND (24)
1521 #define S_PERSON_FIGHT_PERSON_2 (25)
1522 #define S_PERSON_RUN_AWAY (26)
1523 #define S_PERSON_SWAMP_DROWNING (27)
1524 #define S_PERSON_ANGEL_ROAM (28)
1525 #define S_PERSON_PRE_FIGHT_PERSON_2 (29)
1526 #define S_PERSON_WAIT_IN_VEHICLE (30)
1527 #define S_PERSON_ON_FIRE (31)
1528 #define S_PERSON_WILD_REPOPULATE (32)
1529 #define S_PERSON_NAVIGATION_FAILED (33)
1530 #define S_PERSON_WILD_STARE_AT_THING (34)
1531 #define S_PERSON_SUPRISED_BY_PLAYER (35)
1532 #define S_PERSON_SUPER_RETURN_FIRE (36)
1533 #define S_PERSON_WAIT_FIRST_APPEAR (37)
1534 #define S_PERSON_GOTO_SPELL_CAST_POINT (38)
1535 #define S_PERSON_ARMAGEDDON_ATTACK_READY (39)
1536 #define S_PERSON_AOD2_VICTIM (40)
1537 #define S_PERSON_VICTORY_DANCE (41)
1538 #define S_PERSON_SHAMAN_IN_PRISON (42)
1539 #define S_PERSON_SCATTER (43)
1540 #define S_PERSON_ELECTROCUTED (44)
1541 #define NUM_PEOPLE_STATES (45)
1542 #define S_BUILDING_UNDER_CONSTRUCTION (1)
1543 #define S_BUILDING_STAND (2)
1544 #define S_BUILDING_DYING (3)
1545 #define S_BUILDING_ON_FIRE (4)
1546 #define S_BUILDING_LIBRARY_SINK (5)
1547 #define S_BUILDING_CONTROLLED_RAISE (6)
1548 #define S_CREATURE_DROWNING (1)
1549 #define S_CREATURE_GLOBAL (2)
1550 #define S_CREATURE_GOTO_AND_DRINK (3)
1551 #define S_CREATURE_DRINK (4)
1552 #define S_CREATURE_STAND_FOR_TIME (5)
1553 #define S_CREATURE_GOTO_AND_EAT (6)
1554 #define S_CREATURE_EAT (7)
1555 #define S_CREATURE_REPRODUCING (8)
1556 #define S_CREATURE_WAITING_FOR_PARTNER (9)
1557 #define S_CREATURE_GOTO_AND_MATE (10)
1558 #define S_CREATURE_GOTO_AND_GRAZE (11)
1559 #define S_CREATURE_GRAZE (12)
1560 #define S_CREATURE_GOTO_AND_CATCH_FISH (13)
1561 #define S_CREATURE_CATCH_FISH (14)
1562 #define S_CREATURE_RUN_AWAY (15)
1563 #define S_CREATURE_CHASE_AND_EAT (16)
1564 #define S_CREATURE_EAT_MOVING_THING (17)
1565 #define S_CREATURE_EAGLE_WANDER (18)
1566 #define S_CREATURE_EAGLE_GLOBAL (19)
1567 #define S_CREATURE_EAGLE_GOTO_AND_REST (20)
1568 #define S_CREATURE_EAGLE_REST (21)
1569 #define S_CREATURE_EAGLE_CRASHED (22)
1570 #define S_CREATURE_DYING (23)
1571 #define S_VEHICLE_BOAT_STAND (1)
1572 #define S_VEHICLE_AIRSHIP_STAND (2)
1573 #define S_VEHICLE_BOAT_TRAVEL (3)
1574 #define S_VEHICLE_AIRSHIP_TRAVEL (4)
1575 #define S_VEHICLE_BOAT_DYING (5)
1576 #define S_VEHICLE_AIRSHIP_DYING (6)
1577 #define S_VEHICLE_DRIFT_TO_SHORE (7)
1578 #define S_VEHICLE_BOAT_STRANDED (8)
1579 #define S_VEHICLE_BLAST_EXPLODING (9)
1580 #define S_SCENERY_STAND (1)
1581 #define S_SCENERY_SINK (2)
1582 #define S_SCENERY_FIRE (3)
1583 #define S_SCENERY_WOOD_PILE (4)
1584 #define S_SCENERY_ON_FIRE (5)
1585 #define S_SCENERY_RS_PILLAR (6)
1586 #define S_SCENERY_ROLLING (7)
1587 #define S_SCENERY_DO_NOTHING (8)
1588 #define S_SCENERY_DORMANT_TREE (9)
1589 #define S_SCENERY_GROUNDED (10)
1590 #define S_SCENERY_HEAD_RAISE (11)
1591 #define S_SCENERY_HEAD_LOWER (12)
1592 #define S_SCENERY_CONTROLLED_RAISE (13)
1593 #define S_GENERAL_NORMAL (1)
1594 #define S_GENERAL_DEBUG (2)
1595 #define S_GENERAL_DEBUG_FLAG (3)
1596 #define S_GENERAL_DISCOVERY (4)
1597 #define S_GENERAL_TRIGGER (5)
1598 #define S_GENERAL_VEHICLE_CONSTRUCTION (6)
1599 #define S_GENERAL_BUILDING_ADD_ON (7)
1600 #define S_GENERAL_DISCOVERY_MARKER (8)
1601 #define S_GENERAL_MAPWHO_THING (9)
1602 #define S_GENERAL_CONTROLLED_RAISE (10)
1603 #define S_EFFECT_NONE (0)
1604 #define S_EFFECT_SIMPLE_BLAST (1)
1605 #define S_EFFECT_SPRITE_CIRCLES (2)
1606 #define S_EFFECT_SMOKE (3)
1607 #define S_EFFECT_GENERAL_DIE (4)
1608 #define S_EFFECT_LIGHTNING_ELEM (5)
1609 #define S_EFFECT_BURN_CELL_OBSTACLES (6)
1610 #define S_EFFECT_PREPARE_RS_LAND (7)
1611 #define S_EFFECT_SPHERE_EXPLODE_1 (8)
1612 #define S_EFFECT_FIREBALL (9)
1613 #define S_EFFECT_FIRECLOUD (10)
1614 #define S_EFFECT_LINK_THING (11)
1615 #define S_EFFECT_FLATTEN_LAND (12)
1616 #define S_EFFECT_GHOST_ARMY (13)
1617 #define S_EFFECT_INVISIBILITY (14)
1618 #define S_EFFECT_EARTHQUAKE (15)
1619 #define S_EFFECT_VOLCANO (16)
1620 #define S_EFFECT_HYPNOTISM (17)
1621 #define S_EFFECT_LIGHTNING_BOLT (18)
1622 #define S_EFFECT_SWAMP (19)
1623 #define S_EFFECT_ANGEL_OF_DEATH (20)
1624 #define S_EFFECT_WHIRLWIND (21)
1625 #define S_EFFECT_INSECT_PLAGUE (22)
1626 #define S_EFFECT_FIRESTORM (23)
1627 #define S_EFFECT_EROSION (24)
1628 #define S_EFFECT_LAND_BRIDGE (25)
1629 #define S_EFFECT_WRATH_OF_GOD (26)
1630 #define S_EFFECT_EXPLODE_BLDG_PARTIAL (27)
1631 #define S_EFFECT_SPHERE_EXPLODE_AND_FIRE (28)
1632 #define S_EFFECT_BIG_FIRE (29)
1633 #define S_EFFECT_LIGHTNING (30)
1634 #define S_EFFECT_FLATTEN (31)
1635 #define S_EFFECT_SHAPE_SPARKLE (32)
1636 #define S_EFFECT_LAVA_FLOW (33)
1637 #define S_EFFECT_VOLCANO_EXPLOSIONS (34)
1638 #define S_EFFECT_PURIFY_LAND (35)
1639 #define S_EFFECT_EXPLOSION_1 (36)
1640 #define S_EFFECT_EXPLOSION_2 (37)
1641 #define S_EFFECT_LAVA_SQUARE (38)
1642 #define S_EFFECT_LIGHTNING_STRAND (39)
1643 #define S_EFFECT_WW_DUST (40)
1644 #define S_EFFECT_HILL (41)
1645 #define S_EFFECT_REIN_ROCK_DEBRIS (42)
1646 #define S_EFFECT_MUCH_SIMPLER_BLAST (43)
1647 #define S_EFFECT_TUMBLING_BRANCH (44)
1648 #define S_EFFECT_CONVERSION_FLASH (45)
1649 #define S_EFFECT_HYPNOSIS_FLASH (46)
1650 #define S_EFFECT_SPARKLE (47)
1651 #define S_EFFECT_SMALL_SPARKLE (48)
1652 #define S_EFFECT_EXPLOSION_3 (49)
1653 #define S_EFFECT_ROCK_EXPLOSION (50)
1654 #define S_EFFECT_LAVA_GLOOP (51)
1655 #define S_EFFECT_SPLASH (52)
1656 #define S_EFFECT_SMOKE_CLOUD (53)
1657 #define S_EFFECT_SMOKE_CLOUD_CONSTANT (54)
1658 #define S_EFFECT_FIREBALL_2 (55)
1659 #define S_EFFECT_GROUND_SHOCKWAVE (56)
1660 #define S_EFFECT_ORBITER (57)
1661 #define S_EFFECT_BIG_SPARKLE (58)
1662 #define S_EFFECT_METEOR (59)
1663 #define S_EFFECT_CONVERT_WILD (60)
1664 #define S_EFFECT_BLDG_SMOKE_2 (61)
1665 #define S_EFFECT_BLDG_DAMAGED_SMOKE (62)
1666 #define S_EFFECT_DELETE_RS_PILLARS (63)
1667 #define S_EFFECT_FIRESTORM_SMOKE (64)
1668 #define S_EFFECT_PLAYER_DEAD (65)
1669 #define S_EFFECT_REVEAL_FOG_AREA (66)
1670 #define S_EFFECT_FLY_THINGUMMY (67)
1671 #define S_EFFECT_SHIELD (68)
1672 #define S_EFFECT_BOAT_HUT_REPAIR (69)
1673 #define S_EFFECT_REEDY_GRASS (70)
1674 #define S_EFFECT_ARMAGEDDON (71)
1675 #define S_EFFECT_BLOODLUST (72)
1676 #define S_EFFECT_TELEPORT (73)
1677 #define S_EFFECT_ATLANTIS_SET (74)
1678 #define S_EFFECT_ATLANTIS_INVOKE (75)
1679 #define S_EFFECT_STATUE_TO_AOD (76)
1680 #define S_EFFECT_FILL_ONE_SHOTS (77)
1681 #define S_EFFECT_FIRE_ROLL (78)
1682 #define S_EFFECT_ARMA_ARENA (79)
1683 #define S_EFFECT_FOW_SHOW_MAP (80)
1684 #define S_SHOT_STANDARD (1)
1685 #define S_SHOT_STANDARD_2 (2)
1686 #define S_SHOT_STANDARD_3 (3)
1687 #define S_SHOT_FIREBALL (4)
1688 #define S_SHOT_LIGHTNING (5)
1689 #define S_SHOT_SUPER_WARRIOR (6)
1690 #define S_SHOT_VOLCANO_FIREBALL (7)
1691 #define S_SHAPE_NORMAL (1)
1692 #define S_SHAPE_CONSTRUCTION (2)
1693 #define S_INTERNAL_FORMATION (1)
1694 #define S_INTERNAL_BEACON (2)
1695 #define S_INTERNAL_THING_INFO_DISPLAY (3)
1696 #define S_INTERNAL_SOUL_CONVERT (4)
1697 #define S_INTERNAL_SOUL_MAN (5)
1698 #define S_INTERNAL_MED_MAN_ATTRACT (6)
1699 #define S_INTERNAL_OBJ_FACE (7)
1700 #define S_INTERNAL_FIGHT (8)
1701 #define S_INTERNAL_PRE_FIGHT (9)
1702 #define S_INTERNAL_GUARD_CONTROL (10)
1703 #define S_INTERNAL_BRIDGE_CONTROL (11)
1704 #define S_INTERNAL_SOUL_CONVERT_2 (12)
1705 #define S_INTERNAL_DT_BEACON (13)
1706 #define S_INTERNAL_PLAYER_RAISE_LOWER (14)
1707 #define S_INTERNAL_GUARD_POST_DISPLAY (15)
1708 #define S_INTERNAL_PLAYER_SMOOTH (16)
1709 #define S_INTERNAL_WOOD_DISTRIB (17)
1710 #define S_INTERNAL_SINKING_BLDG (18)
1711 #define S_SPELL_NONE (0)
1712 #define S_SPELL_BURN (1)
1713 #define S_SPELL_BLAST (2)
1714 #define S_SPELL_LIGHTNING_BOLT (3)
1715 #define S_SPELL_SWAMP (4)
1716 #define S_SPELL_ANGEL_OF_DEATH (5)
1717 #define S_SPELL_WHIRLWIND (6)
1718 #define S_SPELL_INSECT_PLAGUE (7)
1719 #define S_SPELL_INVISIBILITY (8)
1720 #define S_SPELL_FIRESTORM (9)
1721 #define S_SPELL_HYPNOTISM (10)
1722 #define S_SPELL_GHOST_ARMY (11)
1723 #define S_SPELL_EROSION (12)
1724 #define S_SPELL_LAND_BRIDGE (13)
1725 #define S_SPELL_EARTHQUAKE (14)
1726 #define S_SPELL_VOLCANO (15)
1727 #define S_SPELL_CONVERT_WILD (16)
1728 #define S_SPELL_ARMAGEDDON (17)
1729 #define S_SPELL_FLATTEN (18)
1730 #define S_SPELL_SHIELD (19)
1731 #define S_SPELL_BLOODLUST (20)
1732 #define S_SPELL_TELEPORT (21)
1733 #define S_SPELL_LANDSCAPE_NONE (80)
1734 #define S_SPELL_HILL (81)
1735 #define S_SPELL_RISE (82)
1736 #define S_SPELL_VALLEY (83)
1737 #define S_SPELL_DIP (84)
1738 #define S_SPELL_PLACE_TREE (85)
1739 #define S_SPELL_CLEAR_MAPWHO (86)
1740 #define S_SPELL_PLACE_SHAMAN (87)
1741 #define S_SPELL_RAISE_POINT (88)
1742 #define S_SPELL_LOWER_POINT (89)
1743 #define S_SPELL_PLACE_WILD (90)
1744 #define ADD_ON_TYPE_NONE (0)
1745 #define ADD_ON_TYPE_WINDMIL (1)
1746 #define ADD_ON_TYPE_WOODHUT (2)
1747 #define ADD_ON_TYPE_WELL (3)
1748 #define NUM_ADD_ON_TYPES (3)
1749 #define SS_INIT (0)
1750 #define SS_DEINIT (1)
1751 #define SS_NORMAL (2)
1752 #define SS_SPKL_GO_NORTH (0)
1753 #define SS_SPKL_GO_EAST (1)
1754 #define SS_SPKL_GO_SOUTH (2)
1755 #define SS_SPKL_GO_WEST (3)
1756 #define ARMA_SS_PREPARE_LAND (0)
1757 #define ARMA_SS_PREPARE_FIGHTERS (1)
1758 #define ARMA_SS_FIGHTING (2)
1759 #define SS_P_WAIT_FIND_FREE_SPACE (0)
1760 #define SS_P_WAIT_GOTO_FREE_SPACE_INIT (1)
1761 #define SS_P_WAIT_GOTO_FREE_SPACE (2)
1762 #define SS_P_WAIT_IN_FREE_SPACE_INIT (3)
1763 #define SS_P_WAIT_IN_FSPACE_REORG_PENDING (4)
1764 #define SS_P_WAIT_IN_FREE_SPACE (5)
1765 #define SS_P_WAIT_IN_FREE_SPACE_TURN_INIT (6)
1766 #define SS_P_WAIT_IN_FREE_SPACE_TURN (7)
1767 #define SS_P_WAIT_IN_FREE_SPACE_STATIC (8)
1768 #define SS_P_WAIT_IN_FREE_SPACE_SHAMAN_PRAY (9)
1769 #define SS_P_WAIT_IN_FREE_SPACE_IDLE_ACTION (10)
1770 #define SS_BB_INIT_COMMANDEE (0)
1771 #define SS_BB_GOTO_SHAPE_COORD (1)
1772 #define SS_BB_WAIT_SHAPE_COMMAND (2)
1773 #define SS_BB_CLEAR_OBSTACLES (3)
1774 #define SS_BB_CLEAR_OWNED_PEOPLE (4)
1775 #define SS_BB_CLEAR_ENEMY_PEOPLE (5)
1776 #define SS_BB_CLEAR_CREATURES (6)
1777 #define SS_BB_COLLECT_WOOD (7)
1778 #define SS_BB_FLATTEN_LAND (8)
1779 #define SS_BB_VACATE_SHAPE_AND_WAIT (9)
1780 #define SS_BB_NUM_SUB_STATES (10)
1781 #define SS_CB_GOTO (1)
1782 #define SS_CB_AT_BEACON_POINT (2)
1783 #define SS_CW_GOTO (0)
1784 #define SS_CW_AT_BEACON_POINT (1)
1785 #define SS_DB_INIT_COMMANDEE (0)
1786 #define SS_DB_GOTO_ENTRANCE (1)
1787 #define SS_DB_GOTO_CENTRE (2)
1788 #define SS_DB_GOTO_DISMANTLE (3)
1789 #define SS_DB_GOTO_EXIT (4)
1790 #define SS_DB_GOTO_AROUND_SHAPE_CENTRE (5)
1791 #define SS_BD_NONE (0)
1792 #define SS_BD_PROCESS (1)
1793 #define SS_PF_NONE (0)
1794 #define SS_PF_BOTH_GOTO_TO_CENTRE (1)
1795 #define SS_PF_WAIT_AT_CENTRE (2)
1796 #define SS_PF_BOTH_EXIT_BLDG (3)
1797 #define SS_PF_WAIT_FOR_ATTACKER (4)
1798 #define SS_PF_RUN_TO_DEFENDER (5)
1799 #define SS_PF_FIRST_PUSH (6)
1800 #define SS_PF_FIRST_RECOIL (7)
1801 #define SS_PF_RUN_TO_FIGHT (8)
1802 #define SS2_GOTO_SHAPE_ENTRANCE (1)
1803 #define SS2_GOTO_SHAPE_EXIT (2)
1804 #define SS2_GOTO_SHAPE_CENTRE (3)
1805 #define SS2_WAIT_FOR_TIME (4)
1806 #define SS2_WAIT_FOR_TIME2 (5)
1807 #define SS2_WAIT_FOR_EVER (6)
1808 #define SS2_GOTO_NEXT_JUMP_POINT (7)
1809 #define SS2_JUMP_UP (8)
1810 #define SS2_JUMP_DOWN (9)
1811 #define SS2_FIND_OBSTACLE (10)
1812 #define SS2_GOTO_STATIC_TARGET (11)
1813 #define SS2_WAIT_BURN_OBSTACLE (12)
1814 #define SS2_BACK_AWAY_FOR_TIME (13)
1815 #define SS2_FIND_OWNED_PEOPLE (14)
1816 #define SS2_GOTO_DESTINATION (15)
1817 #define SS2_FIND_OFF_SHAPE_SPACE (16)
1818 #define SS2_FIND_WOOD (17)
1819 #define SS2_WANDER_FOR_TIME (18)
1820 #define SS2_EXIT_SHAPE (19)
1821 #define SS2_BURN_OBSTACLE (20)
1822 #define SS2_FREEZE_FOR_TIME (21)
1823 #define SS2_SPREAD_OFF_SHAPE (22)
1824 #define SS2_GOTO_AROUND_SHAPE_CENTRE (23)
1825 #define SS2_GOTO_TARGET_FOR_TIME (24)
1826 #define SS2_GOTO_TARGET_FOR_TIME2 (25)
1827 #define SS2_WAIT_FOR_TIME3 (26)
1828 #define SS2_GOTO_DESTINATION_FOR_TIME (27)
1829 #define SS2_JUMP_UP2 (28)
1830 #define SS2_REMOVE_WOOD_PILE (29)
1831 #define SS2_GOTO_BLDG_ENTRANCE (30)
1832 #define SS2_GOTO_BLDG_CENTRE (31)
1833 #define SS2_GOTO_FIGHT_TARGET_FOR_TIME (32)
1834 #define SS2_FORCE_OPPONENT_FROM_BLDG (33)
1835 #define SS2_GOTO_FIGHT_FOR_TIME (34)
1836 #define SS2_GOTO_PERSON_TARGET_FOR_TIME (35)
1837 #define SS2_GOTO_BLDG_TARGET_FOR_TIME (36)
1838 #define SS2_BLDG_RUMMAGE (37)
1839 #define SS2_GOTO_FIGHT_WAIT_POINT (38)
1840 #define SS2_SEARCH_WAIT_FOR_TIME (39)
1841 #define SS2_WAIT_WATCHING_FIGHT (40)
1842 #define SS2_GOTO_SEARCH_POINT (41)
1843 #define SS2_WAIT_WATCHING_FIGHT_2 (42)
1844 #define SS2_GOTO_SPECIAL_FIRING_POINT (43)
1845 #define SS2_SPECIAL_FIRE_MISSILE (44)
1846 #define SS2_SPECIAL_WAIT_MISSILE_CHARGE (45)
1847 #define SS2_BLDG_ATTACK_AND_DAMAGE (46)
1848 #define SS2_GOTO_VEHICLE_WORK_POINT (47)
1849 #define SS2_SPREAD_AROUND_WORK_POINT (48)
1850 #define SS2_WORK_FOREVER (49)
1851 #define SS2_RETURN_TO_SEARCH_SITE (50)
1852 #define SS2_REMOVE_TREE (51)
1853 #define SS2_GOTO_PRISON_ATTACK_POINT (52)
1854 #define SS2_DAMAGE_PRISON (53)
1855 #define SS2_GOTO_NEAR_SHAPE_ENTRANCE (54)
1856 #define SS2_RET_CODE_NOT_DONE (0)
1857 #define SS2_RET_CODE_DONE_VALID (1)
1858 #define SS2_RET_CODE_DONE_INVALID (2)
1859 #define SS2_RET_CODE_DONE_NAV_FAIL (3)
1860 #define SS3_GA_PROCESS_ATTACK (0)
1861 #define SS3_GA_GOTO_GUARD_POSITION (1)
1862 #define SS3_GA_WAIT_FOR_EVER (2)
1863 #define SS3_GA_DO_JUMP (3)
1864 #define SS_AA_GOTO_CELL (0)
1865 #define SS_AA_GOTO_TRG_FIGHT (1)
1866 #define SS_AA_GOTO_TRG_PERSON (2)
1867 #define SS_AA_GOTO_TRG_BLDG (3)
1868 #define SS_AA_GOTO_TRG_SHAPE (4)
1869 #define SS_AA_REMOVE_SHAPE (5)
1870 #define SS_AA_GOTO_TRG_PERSON_BLDG (6)
1871 #define SS_AA_WAIT_A_WHILE (7)
1872 #define SS_AA_WAIT_OUT_PRE_FIGHT (8)
1873 #define SS_AA_PROCESS_TRG_FIGHT_SPECIAL (9)
1874 #define SS_AA_PROCESS_TRG_PERSON_SPECIAL (10)
1875 #define SS_AA_PROCESS_TRG_BLDG_SPECIAL (11)
1876 #define SS_AA_WAIT_TARGET_LAND (12)
1877 #define SS_GB_GOTO_ENTRANCE_INIT (0)
1878 #define SS_GB_GOTO_ENTRANCE (1)
1879 #define SS_GB_WAIT_IN_QUEUE_INIT (2)
1880 #define SS_GB_WAIT_IN_QUEUE (3)
1881 #define SS_GB_GOTO_CENTRE_INIT (4)
1882 #define SS_GB_GOTO_CENTRE (5)
1883 #define SS_GB_GOTO_ENTRANCE_POST_Q_INIT (6)
1884 #define SS_GB_GOTO_ENTRANCE_POST_Q (7)
1885 #define SS_GB_EXIT_INIT (8)
1886 #define SS_GB_EXIT (9)
1887 #define SS_GB_BUILD_VEHICLE_INIT (10)
1888 #define SS_GB_BUILD_VEHICLE (11)
1889 #define SS_GB_WAIT_FOREVER_INIT (12)
1890 #define SS_GB_WAIT_FOREVER (13)
1891 #define SS_BV_GOTO_BUILDING (0)
1892 #define SS_BV_WORKING (1)
1893 #define SS_BV_COLLECTING_WOOD (2)
1894 #define SS_RS_PILLAR_STAND (0)
1895 #define SS_RS_PILLAR_RISING (1)
1896 #define SS_RS_PILLAR_SINKING (2)
1897 #define SS_BUILDING_NONE (0)
1898 #define SS_BUILDING_EXPLODE (1)
1899 #define SS_BUILDING_SINK (2)
1900 #define SS_RP_INIT (0)
1901 #define SS_RP_GOTO_POINT (1)
1902 #define SS_RP_TAKE_OUT_BOOK (2)
1903 #define SS_RP_PREACH (3)
1904 #define SS_RP_CLEAN_UP (4)
1905 #define SS_RP_INSTANT_PREACH (5)
1906 #define TGTF_PEOPLE (1<<0)
1907 #define TGTF_FIGHTS (1<<1)
1908 #define TGTF_BUILDING (1<<2)
1909 #define TGTF_ALL (0xff)
1910 #define AOD2_FLAG_EXPLODE_PENDING (1<<0)
1911 #define AOD2_FLAG_WHIRLWIND_AFFECTED (1<<1)
1912 #define MAX_WALKABLE_ALT_DIFF ((12*(8*128))/32)
1913 #define MAX_BUILDABLE_ALT_DIFF 160
1914 #define MAX_BOAT_HUT_ALT_DIFF 160
1915 #define PERSON_MAGNET_RADIUS (6)
1916 #define PERSON_SPEED_DEFAULT ((256)/8)
1917 #define PERSON_MIN_SPEED (3)
1918 #define PERSON_MAX_SPEED (((256)/8)*6)
1919 #define PERSON_WAIT_TIME_DEFAULT (16)
1920 #define PERSON_WANDER_TIME_DEFAULT (10)
1921 #define PERSON_FIGHT_WON_TIME (16)
1922 #define PERSON_CELEBRATE_JUMP_ALT (64)
1923 #define PERSON_LOST_FIGHT_TIME (10)
1924 #define PERSON_PLOT_SEARCH_START_RADIUS (4)
1925 #define PERSON_PLOT_SEARCH_END_RADIUS ((6))
1926 #define PERSON_FIGHT_SEARCH_RADIUS ((6)+1)
1927 #define PERSON_NEAR_FIGHT_SEARCH_RADIUS (4)
1928 #define PERSON_W_RADIUS (56)
1929 #define PERSON_MAGNET_W_RADIUS (((6)*(256))<<1)
1930 #define PERSON_POINT_W_RADIUS (((48))<<1)
1931 #define PERSON_SHOW_DOWN_RADIUS ((((6)+1)-4)*(256))
1932 #define PERSON_SINK_RATE (-((256)/16))
1933 #define PERSON_DRINKING_POINT_RADIUS (((1))<<1)
1934 #define PERSON_DROWNED_ALT (-(1*(256)))
1935 #define PERSON_DIE_ASCEND_RATE ((256)/8)
1936 #define PERSON_DEAD_ALT (20*(256))
1937 #define PERSON_THROWN_SPEED_Y (4*96)
1938 #define PERSON_THROWN_SPEED_XZ (64)
1939 #define PERSON_MAX_GRADIENT ((((60)*(2048))/360))
1940 #define PERSON_MAX_VELOCITY_XZ ((((256)/8)*6))
1941 #define PERSON_MAX_VELOCITY_Y (512)
1942 #define PERSON_MAX_EXT_VELOCITY_XZ (6*(((256)/8)*6))
1943 #define PERSON_MAX_EXT_VELOCITY_Y (512)
1944 #define PERSON_MAGNET_CHASE_RADIUS ((24*((((6)*(256))<<1)))/8)
1945 #define PERSON_DEBUG_GOTO_COUNT (50)
1946 #define PERSON_DEFAULT_STAND_TIME (100)
1947 #define WILD_PERSON_NO_SUMMON_TIME (256)
1948 #define MAX_FIGHTERS_PER_FIGHT (6)
1949 #define B_SUMMON_MAX_CELL_RADIUS (16)
1950 #define B_SUMMON_STAGGER_START_VALUE (16-1)
1951 #define B_SUMMON_SHAKE_HEIGHT (12)
1952 #define B_SUMMON_TS_VAL ((1<<3)-1)
1953 #define B_SUMMON_FLAG_PEOPLE_TS_VAL ((1<<7)-1)
1954 #define B_SUMMON_CONVERT_RADIUS ((((16*(256))/8)<<1))
1955 #define BLOW_TYPE_SUPRISE (0)
1956 #define BLOW_TYPE_NORMAL (1)
1957 #define FIGHT_MODE_NORMAL (0)
1958 #define FIGHT_MODE_EXPEL_DWELLER (1)
1959 #define FIGHT_MODE_ESCORT_WORKER (2)
1960 #define FIGHT_AREA_COORD_NONE (0)
1961 #define FIGHT_AREA_COORD_NORMAL (1)
1962 #define FIGHT_AREA_COORD_BLDG (2)
1963 #define SWF_RADIUS_START (6)
1964 #define SWF_RADIUS_END (10)
1965 #define SWF_RADIUS_MID (((6)+(10))/2)
1966 #define SWF_NEAR_AREA_DIST ((((((6)+(10))/2)+3)<<1)*(256))
1967 #define THING_GRAVITY (32)
1968 #define OBJECT_SINK_RATE (-((256)/32))
1969 #define OBJECT_SUNK_ALT (-((12*(256))/16))
1970 #define SHOT_DT_NONE (0)
1971 #define SHOT_DT_BLAST_CIRCLES (1)
1972 #define MAX_NUM_BLAST_CIRCLES (16)
1973 #define CREATURE_DEFAULT_LIFE (32)
1974 #define FOOD_W_RADIUS (64)
1975 #define AFFECT_ALTITUDE (1<<0)
1976 #define AFFECT_FIRE (1<<1)
1977 #define AFFECT_RAISE_LOWER (1<<2)
1978 #define PERSON_DI_STANDING (0)
1979 #define PERSON_DI_WALKING (1)
1980 #define PERSON_DI_ROLLING (2)
1981 #define TF_DELETED (1<<0)
1982 #define TF_DROWNING (1<<1)
1983 #define TF_AFFECTED_BY_ALTITUDE (1<<2)
1984 #define TF_AFFECTED_BY_FIRE (1<<3)
1985 #define TF_RESET_STATE (1<<4)
1986 #define TF_NO_FACING_ANGLE_UPDATE (1<<5)
1987 #define TF_THING_HAS_MAP_SHADOW (1<<6)
1988 #define TF_DEST_ANGLE_MODE (1<<7)
1989 #define TF_PROCESS_WIND_AFFECT (1<<8)
1990 #define TF_EXACT_DIST_CHECKING (1<<9)
1991 #define TF_TIP_STACK_USED (1<<10)
1992 #define TF_NAVIGATING (1<<11)
1993 #define TF_UPDATE_DEST_INFO (1<<12)
1994 #define TF_EXTERNAL_FORCE (1<<13)
1995 #define TF_NO_MOVE_PROCESS (1<<14)
1996 #define TF_BACKWARDS_MOTION (1<<15)
1997 #define TF_NOT_TARGETABLE (1<<16)
1998 #define TF_ON_MAPWHO (1<<17)
1999 #define TF_NO_GRAVITY (1<<18)
2000 #define TF_LOST_CONTROL (1<<19)
2001 #define TF_STATE_LOCKED (1<<20)
2002 #define TF_NO_ANGLE_CHANGE_LIMIT (1<<21)
2003 #define TF_RESET_NAVIGATION (1<<22)
2004 #define TF_BLDG_DWELLER (1<<23)
2005 #define TF_UNDER_PLAYER_CONTROL (1<<24)
2006 #define TF_USE_JNAVIGATION (1<<25)
2007 #define TF_NO_BLDG_AFFECT (1<<25)
2008 #define TF_I_AM_A_LIGHT (1<<26)
2009 #define TF_BLDG_NOT_SETUP_ON_MAP (1<<27)
2010 #define TF_FORCE_STAY_IN_BOAT (1<<27)
2011 #define TF_DRAW_IN_EDITOR_ONLY (1<<28)
2012 #define TF_NAVIGATING_BLDG (1<<29)
2013 #define TF_SUB_STATE_INIT (1<<30)
2014 #define TF_REGENERATE_JNAV_PATH (1<<31)
2015 #define TF_EXTERNAL_CHANGE ((1<<2)|(1<<13))
2016 #define TF2_SPECIAL_MOVE_BLDG_WORKER (1<<0)
2017 #define TF2_SPECIAL_MOVE_BLDG_DWELLER (1<<1)
2018 #define TF2_SPECIAL_MOVE_BLDG_USER (1<<2)
2019 #define TF2_CURR_COMMAND_NOT_USE_VEHICLES (1<<3)
2020 #define TF2_THING_HAS_AN_ASSOCIATED_SOUND (1<<4)
2021 #define TF2_THING_IS_A_PERSON_AND_A_SPY (1<<5)
2022 #define TF2_CP_PERSON_HAS_STARTED_ATTACK (1<<6)
2023 #define TF2_PERSON_NOT_SELECTABLE (1<<7)
2024 #define TF2_EXTERNALLY_MOVEABLE (1<<8)
2025 #define TF2_EFFECT_NO_DIE_SEQUENCE (1<<9)
2026 #define TF2_FORCE_STAY_IN_BOAT_PENDING (1<<9)
2027 #define TF2_THING_IN_AIR (1<<10)
2028 #define TF2_THING_IS_A_GHOST_PERSON (1<<11)
2029 #define TF2_THING_IS_AN_INVISIBLE_PERSON (1<<12)
2030 #define TF2_NO_REGAIN_CONTROL_STATE_RESET (1<<13)
2031 #define TF2_THING_IS_A_HYPNOTISED_PERSON (1<<14)
2032 #define TF2_VISITED_TARGET_ENTRANCE (1<<15)
2033 #define TF2_SPECIAL_MOVE_FIGHT_TARGET (1<<16)
2034 #define TF2_DONT_DRAW_IN_WORLD_VIEW (1<<17)
2035 #define TF2_JUST_BEEN_ATTRACTED (1<<18)
2036 #define TF2_USE_ATTACK_AREA_FINAL_COORD (1<<19)
2037 #define TF2_REACHED_MAX_ATTACKERS (1<<20)
2038 #define TF2_HAS_SPECIAL_ATTACKER (1<<21)
2039 #define TF2_DUCK_FLAG (1<<22)
2040 #define TF2_CAN_USE_VEHICLES_EVER (1<<23)
2041 #define TF2_CAN_TMP_WALK_ON_SEA (1<<24)
2042 #define TF2_IN_AIRSHIP (1<<25)
2043 #define TF2_JNAV_TRUNCATION (1<<26)
2044 #define TF2_LAST_CMD_STAY_IN_VEHICLE (1<<27)
2045 #define TF2_LAST_JNAV_FAILED (1<<28)
2046 #define TF2_THING_INITED (1<<29)
2047 #define TF2_THING_IS_TRIGGERED (1<<30)
2048 #define TF2_KILLED_BY_STATUE_AOD (1<<31)
2049 #define TF3_CP_AUTO_COMMAND (1<<0)
2050 #define TF3_CP_PREACHER_SPECIAL (1<<1)
2051 #define TF3_FIRST_INIT_DONE (1<<2)
2052 #define TF3_INITIAL_BLAST_AFFECT (1<<3)
2053 #define TF3_TEMP_PROCESS_FLAG_1 (1<<4)
2054 #define TF3_IN_BLDG_QUEUE (1<<5)
2055 #define TF3_REACHED_MAX_DWELLERS (1<<6)
2056 #define TF3_TEMP_DELETE_FLAG (1<<6)
2057 #define TF3_TRIGGER_DELETION (1<<6)
2058 #define TF3_AUTO_EXIT_VEHICLE (1<<7)
2059 #define TF3_BLDG_NO_ATTACK_DAMAGE (1<<7)
2060 #define TF3_INTERPOLATE_ME (1<<8)
2061 #define TF3_I_DO_MY_OWN_INTERPOLATION (1<<9)
2062 #define TF3_USE_BUCKET_OFFSET (1<<10)
2063 #define TF3_CHECK_AUTO_GUARD (1<<11)
2064 #define TF3_LIFE_CRITICAL (1<<12)
2065 #define TF3_SUPPLY_CRITICAL (1<<12)
2066 #define TF3_PERSON_DONT_USE_VEHICLES (1<<13)
2067 #define TF3_UNDER_CONTROLLED_RAISE (1<<14)
2068 #define TF3_SHIELD_ACTIVE (1<<15)
2069 #define TF3_RETURN_FIRE_PENDING (1<<16)
2070 #define TF3_NOT_DAMAGABLE (1<<17)
2071 #define TF3_RESTRICT_ANIM_SPEED (1<<18)
2072 #define TF3_BLOODLUST_ACTIVE (1<<19)
2073 #define TF3_NO_ALT_AFFECT_OBJECT_DISTORT (1<<20)
2074 #define TF3_SINKING_OBJECT_WATER (1<<21)
2075 #define TF3_SINKING_OBJECT_LAND (1<<22)
2076 #define TF3_HAS_AUTO_TID (1<<23)
2077 #define TF3_MARVELLOUS_HOUSE_DEATH (1<<24)
2078 #define TF3_PRE_AUTO_CMD_MAP_IDX_LOCKED (1<<25)
2079 #define TF3_AFFECTED_OBJECT_NO_GROUND_HUG (1<<26)
2080 #define TF3_LOST_CONTROL_FIGHT (1<<27)
2081 #define TF3_CMDS_DONE_EXIT_VEHICLE (1<<28)
2082 #define TF3_LOCAL (1<<29)
2083 #define TF3_IN_A_TORNADO (1<<30)
2084 #define TF3_NO_AUTOGUARD (1<<31)
2085 #define TF3_SINKING_OBJECTS ((1<<21)|(1<<22))
2086 #define TF2_CLR_SPECIAL_MOVE_CASES ((1<<0)|(1<<1)|(1<<2)|(1<<16))
2087 #define TF2_ALL_SPECIAL_MOVE_CASES ((1<<0)|(1<<1)|(1<<2)|(1<<16))
2088 #define PF_IN_FS_WAIT_STATE (1<<0)
2089 #define PF_RESET_WAIT_SUB_STATE (1<<1)
2090 #define PF_UNDER_TRAINING (1<<2)
2091 #define PF_USE_FORMATION (1<<3)
2092 #define PF_CMD_SUB_STATE2_INIT (1<<4)
2093 #define PF_UNDER_FORMATION (1<<5)
2094 #define PF_PREACHER_HAS_LISTENERS (1<<6)
2095 #define PF_IN_JUMPING_STATE (1<<7)
2096 #define PF_CMD_SUB_STATE3_INIT (1<<8)
2097 #define PF_SUPER_FIRING (1<<9)
2098 #define PF_CHECK_AUTO_GUARD (1<<10)
2099 #define PF_ON_WAY_TO_TRAINING (1<<11)
2100 #define PF_CP_GROUPING_A (1<<12)
2101 #define PF_CP_GROUPING_B (1<<13)
2102 #define PF_CP_GROUPING_C (1<<14)
2103 #define PF_LAST_CMD_GET_WOOD (1<<15)
2104 #define PF_CMD_SUB_STATE4_INIT (1<<16)
2105 #define SHF_SHAMAN_ON_BLDG (1<<0)
2106 #define SHF_GUARD_AT_CELL_CENTRE (1<<1)
2107 #define SHF_REGEN_STATIC_GUARD_POS (1<<2)
2108 #define PRF_PREACHER_IN_ANIM (1<<0)
2109 #define PRF_PREACHER_HAS_FEW_LISTENERS (1<<1)
2110 #define PF_CP_GROUPING_OFFSET (12)
2111 #define PF_CP_GROUP ((1<<12) | (1<<13) | (1<<14))
2112 #define PF2_CP_SET_AS_DRIVER (1<<0)
2113 #define PF2_WILD_STAYS_FIXED (1<<1)
2114 #define SF_SHAPE_TASK_COMPLETED (1<<0)
2115 #define BF_CHANGE_OWNER_MODE (1<<0)
2116 #define BF_ROCK_MODE (1<<1)
2117 #define BF_ALLOW_DWELLER_REMOVAL (1<<2)
2118 #define BF_CAN_HOUSE_DWELLERS (1<<3)
2119 #define BF_UNDER_ATTACK (1<<4)
2120 #define BF_VEHICLE_WOOD_REQUIRING (1<<5)
2121 #define BF_DYING_MODE (1<<6)
2122 #define BF_TRAINING_IN_PROGRESS (1<<7)
2123 #define BF_SPARE_4 (1<<8)
2124 #define BF_TMP_PROCESS (1<<9)
2125 #define BF_JUST_TRAINED (1<<10)
2126 #define BF_CP_FLATTENED_AROUND (1<<11)
2127 #define BF_CP_WALLED_AROUND (1<<12)
2128 #define BF_RESET_QUEUE_POSITIONS (1<<13)
2129 #define BF_DO_A_SPROGG (1<<14)
2130 #define BF_DISMANTLE_MODE (1<<15)
2131 #define SHOTF_USE_TRAIL_SMOKE_1 (1<<0)
2132 #define SHOTF_USE_TRAIL_SMOKE_2 (1<<1)
2133 #define SHOTF_USE_TARGET_THING (1<<2)
2134 #define SCF_FIRE_NO_SMOKE (1<<0)
2135 #define SCF_FIRE_PARTIAL_BURN (1<<1)
2136 #define SCF_ON_FIRE (1<<2)
2137 #define SCF_PORTAL_OPEN (1<<3)
2138 #define SCF_CREATE_POST_FIRE_SMOKE (1<<4)
2139 #define VF_IN_LANDING_STAGE (1<<0)
2140 #define VF_REPOS_OCCUPANTS (1<<1)
2141 #define VF_EXITING_BUILDING (1<<2)
2142 #define VF_PROCESSED_BY_PLAYER_1 (1<<3)
2143 #define VF_PROCESSED_BIT (3)
2144 #define VF_PROCESSED_BY_PLAYER_2 (1<<4)
2145 #define VF_PROCESSED_BY_PLAYER_3 (1<<5)
2146 #define VF_PROCESSED_BY_PLAYER_4 (1<<6)
2147 #define VF_JUST_CREATED (1<<7)
2148 #define VF_ENTERED_LANDING_CELL (1<<8)
2149 #define VF_CLOSE_TO_BASE (1<<9)
2150 #define VF_PROCESSED_LOST_BY_PLAYER_1 (1<<10)
2151 #define VF_PROCESSED_LOST_BIT (10)
2152 #define VF_PROCESSED_LOST_BY_PLAYER_2 (1<<11)
2153 #define VF_PROCESSED_LOST_BY_PLAYER_3 (1<<12)
2154 #define VF_PROCESSED_LOST_BY_PLAYER_4 (1<<13)
2155 #define VF_CHECK_DRIFT_TO_SHORE_TARGET (1<<14)
2156 #define VF_PROCESS_VEHICLE_ALTITUDE (1<<15)
2157 #define VF_VEHICLE_OUT_OF_SERVICE (1<<16)
2158 #define VF_VEHICLE_TO_BLAST_EXPLODE (1<<17)
2159 #define VF_NO_ALT_AFFECT (1<<18)
2160 #define VF_JUST_COLLIDED (1<<19)
2161 #define VF_VALID_DISEMBARK_POSITION (1<<20)
2162 #define VF_NO_FIND_INITIAL_LANDING_POS (1<<21)
2163 #define VF_STRANDED_EXPLODE (1<<22)
2164 #define TRF_ACTIVE (1<<0)
2165 #define TRF_TRIGGER (1<<1)
2166 #define TRF_FIRST_TRIGGER_DONE (1<<2)
2167 #define TRF_ENOUGH_PRAYERS (1<<3)
2168 #define TRF_DISCOVERY_PERMANENT (1<<4)
2169 #define TRF_DISCOVERY_ONE_SHOT (1<<5)
2170 #define TRF_MSG_ICON_CREATED (1<<6)
2171 #define CTI_FLYING (1<<0)
2172 #define VTI_FLYING (1<<0)
2173 #define VTI_PLAYER_1_CAN_BUILD (1<<1)
2174 #define VTI_PLAYER_2_CAN_BUILD (1<<2)
2175 #define VTI_PLAYER_3_CAN_BUILD (1<<3)
2176 #define VTI_PLAYER_4_CAN_BUILD (1<<4)
2177 #define VTI_ALL_PLAYERS_CAN_BUILD ((1<<1) | (1<<2) | (1<<3) | (1<<4))
2178 #define STI_FOOD (1<<0)
2179 #define STI_FLY_THROUGH (1<<1)
2180 #define STI_WOOD (1<<2)
2181 #define STI_EAGLE_CAN_SIT_ON (1<<3)
2182 #define STI_TREE (1<<4)
2183 #define STI_BURNABLE (1<<5)
2184 #define STI_SHAPE_REMOVABLE (1<<6)
2185 #define STI_SHAPE_BURNABLE (1<<7)
2186 #define STI_CREATE_MAP_SHADOW (1<<8)
2187 #define STI_ALLOWED_ON_RS (1<<9)
2188 #define STI_NO_RS_CHECK (1<<10)
2189 #define STI_CHECK_LOSE_CONTROL (1<<11)
2190 #define STI_CREATE_ENGINE_SHADOW (1<<12)
2191 #define STI_POS_DRAW_NUM (1<<13)
2192 #define STI_ALPHA (1<<14)
2193 #define STI_POINTABLE (1<<15)
2194 #define STI_NON_OBJECT_DRAW (1<<16)
2195 #define STI_CREATE_FOW_SEEN_CELLS (1<<17)
2196 #define STI_BLAST_AFFECTED (1<<18)
2197 #define STI_OBSTACLE_GENERAL (1<<19)
2198 #define STI_OBSTACLE_NON_WALK (1<<20)
2199 #define STI_OBSTACLE_SHAPE (1<<21)
2200 #define STI_NO_CONTROLLED_RAISE (1<<22)
2201 #define STI_NON_SINKABLE (1<<23)
2202 #define STI_DYNAMIC_RESOURCE ((1<<0)|(1<<2))
2203 #define PTI_POINTABLE (1<<0)
2204 #define PTI_COMMANDABLE (1<<1)
2205 #define PTI_HARMONIC (1<<2)
2206 #define PTI_LIFE (1<<3)
2207 #define PTI_NOT_TRAINABLE (1<<4)
2208 #define PTI_PREACHABLE (1<<5)
2209 #define PTI_JOIN_FIGHT_SPECIAL (1<<6)
2210 #define PTI_DUCK (1<<7)
2211 #define PTI_NO_RUN_AWAY (1<<8)
2212 #define PTI_SW_BLAST_STEEL_BOOTS (1<<9)
2213 #define PTI_NO_ORG_WAIT (1<<10)
2214 #define PTI_NO_AUTO_GUARD_ON_FORCED_CMD (1<<11)
2215 #define PTI_SW_SPECIAL_TARGET (1<<12)
2216 #define PTI_TARGETS_IN_ALLOWED_VEHICLES (1<<13)
2217 #define PTI_NO_SHAMAN_GUARD_BLDG_ATTACK (1<<14)
2218 #define TTI_USE_BELOW_256_ALWAYS (1<<0)
2219 #define TTI_USE_BELOW_256_ON_NEAR_FULL (1<<1)
2220 #define TTI_USE_BELOW_256_ON_FULL (1<<2)
2221 #define TTI_ALLOWED_IN_EDITOR (1<<3)
2222 #define TTI_NO_TSLICE_INCR (1<<4)
2223 #define TTI_NO_ATLANTIS_STORE (1<<5)
2224 #define PSI_NO_AFFECT (1<<0)
2225 #define PSI_ALLOW_AUTO_EMPLOYMENT (1<<1)
2226 #define PSI_RESET_FSPACE (1<<2)
2227 #define PSI_WAIT_CMD (1<<3)
2228 #define PSI_VALID_IN_FIGHT (1<<4)
2229 #define PSI_NOT_PREACHABLE (1<<5)
2230 #define PSI_NO_AUTO_GUARD (1<<6)
2231 #define PSI_NO_CLEAR_DOING_TIME (1<<7)
2232 #define PSI_EXIT_STATE_CHECK_AUTO_GUARD (1<<8)
2233 #define PSI_NO_INIT_STATE_SPEED_SET (1<<9)
2234 #define PSI_FIGHT_NON_TARGETABLE (1<<10)
2235 #define PSI_ALLOW_SUPER_RETURN_FIRE (1<<11)
2236 #define PSI_ALLOW_CALL_TO_ARMS (1<<12)
2237 #define PSI_NO_SUBMIT_MODE_ATTACK_CMD (1<<13)
2238 #define TMI_PERSON_GENERIC (0)
2239 #define TMI_CREATURE_GENERIC (1)
2240 #define TMI_PERSON_BRAVE (2)
2241 #define TMI_CREATURE_BEAR (3)
2242 #define TMI_CREATURE_BUFFALO (4)
2243 #define TMI_CREATURE_WOLF (5)
2244 #define TMI_CREATURE_EAGLE (6)
2245 #define TMI_CREATURE_RABBIT (7)
2246 #define TMI_CREATURE_BEAVER (8)
2247 #define TMI_CREATURE_FISH (9)
2248 #define TMI_EFFECT_GENERAL (10)
2249 #define TMI_ROLLING_THING (11)
2250 #define TMI_BOAT_1 (12)
2251 #define TMI_AIRSHIP_1 (13)
2252 #define TMI_PERSON_WARRIOR (14)
2253 #define TMI_PERSON_RELIGIOUS (15)
2254 #define TMI_PERSON_SPY (16)
2255 #define TMI_PERSON_SUPER_WARRIOR (17)
2256 #define TMI_PERSON_MEDICINE_MAN (18)
2257 #define TMI_ANGEL_OF_DEATH (19)
2258 #define TMI_FLAG_MAX_SLOPE_UPDATABLE (1<<0)
2259 #define TMI_FLAG_NON_DROWNABLE (1<<1)
2260 #define TMI_NO_EXT_FORCE_BLDG_CHECK (1<<2)
2261 #define TMI_USE_OWN_MAX_SLOPE_CHECK (1<<3)
2262 #define BDI_CONTROLLED_STEP (1<<0)
2263 #define BTI_TRAINING_ALLOWED (1<<0)
2264 #define BTI_PLAYER_1_CAN_BUILD (1<<1)
2265 #define BTI_PLAYER_2_CAN_BUILD (1<<2)
2266 #define BTI_PLAYER_3_CAN_BUILD (1<<3)
2267 #define BTI_PLAYER_4_CAN_BUILD (1<<4)
2268 #define BTI_ALL_PLAYERS_CAN_BUILD ((1<<1) | (1<<2) | (1<<3) | (1<<4))
2269 #define BTI_NORMAL_HOME (1<<5)
2270 #define BTI_VEHICLE_PRODUCING (1<<6)
2271 #define BTI_DT_AFFECTING (1<<7)
2272 #define BTI_UPGRADE_BLDG (1<<8)
2273 #define BTI_BOAT_TYPE (1<<9)
2274 #define BTI_SPROGGING (1<<10)
2275 #define BTI_QUEUEING (1<<11)
2276 #define BTI_SMOKE_PRODUCING (1<<12)
2277 #define BTI_DRAW_IDX_RELATIVE (1<<13)
2278 #define BTI_DIFFERENT_CP_BLDGS (1<<14)
2279 #define BTI_PERMANENT_BLDG (1<<15)
2280 #define BTI_NON_BURNABLE (1<<16)
2281 #define BTI_INIT_USE_AVE_ALT (1<<17)
2282 #define BTI_INIT_WIDE_FLAT_AREA (1<<18)
2283 #define BTI_DESTROY_AT_1ST_DAMAGE_STAGE (1<<19)
2284 #define BTI_NON_OWNER_DWELLERS (1<<20)
2285 #define BTI_NOT_AVAILABLE_IN_DEMO (1<<21)
2286 #define DROWNING_ON_GOING (0)
2287 #define DROWNING_SAVED (1)
2288 #define DROWNING_DROWNED (2)
2289 #define THING_DEL_COUNT (3)
2290 #define RECENT_LAST_NAVIGATION_COUNT (640)
2291 #define MAX_NAVIGATION_WANDER_FACTOR (480)
2292 #define MAX_LAST_NAVIGATION_COUNT (800)
2293 #define MAX_JNAV_PATH_TABLE_ENTRIES (2400)
2294 #define NUM_SPROG_BANDS (20)
2295 #define MAX_JNAV_FAILED_PATH_TABLE_ENTRIES (320)
2296 #define NUM_RECENT_BOAT_SEA_DESTS (16)
2297 #define MAX_NUM_VEHICLE_OCCUPANTS (12)
2298 #define VEHICLE_GET_ON_FRAMES (4)
2299 #define MC_CAN_MOVE (0)
2300 #define MC_INSIDE_BLDG (1)
2301 #define MC_NO_ENTRY (2)
2302 #define MC_TOO_STEEP (3)
2303 #define MC_NON_LAND (4)
2304 #define MC_NON_SEA (5)
2305 #define MC_OTHER_VEHICLES (6)
2306 #define NAV_FLAG_BOATS_USED (1<<0)
2307 #define NAV_FLAG_AIRSHIPS_USED (1<<1)
2308 #define NAV_FLAG_SLOT_RESERVED (1<<2)
2309 #define NAV_FLAG_SPARE_2 (1<<3)
2310 #define NAV_FLAG_SPARE_3 (1<<4)
2311 #define NAV_FLAG_SPARE_4 (1<<5)
2312 #define NAV_FLAG_SPARE_5 (1<<6)
2313 #define NAV_FLAG_SPARE_6 (1<<7)
2314 #define LAC_NORTH (0)
2315 #define LAC_NORTH_EAST (1)
2316 #define LAC_EAST (2)
2317 #define LAC_SOUTH_EAST (3)
2318 #define LAC_SOUTH (4)
2319 #define LAC_SOUTH_WEST (5)
2320 #define LAC_WEST (6)
2321 #define LAC_NORTH_WEST (7)
2322 #define NUM_LAC_ANGLES (8)
2323 #define PGA_RADIUS ((((38*(256))/32)<<1))
2324 #define PGA_MAX_PEOPLE (100)
2325 #define ALT_QUANTISATION (1<<6)
2326 #define TISP_STACK_SIZE (0)
2327 #define HARMONY_VALUE_SHELTERED (+2)
2328 #define HARMONY_VALUE_UNSHELTERED (-1)
2329 #define HARMONY_VALUE_EMPLOYED (+1)
2330 #define HARMONY_VALUE_UNEMPLOYED (-1)
2331 #define HARMONY_VALUE_UNIT_FARM (+4)
2332 #define HARMONY_VALUE_UNIT_DRUM_TOWER (+4)
2333 #define HV_FARM (+4)
2334 #define HV_TOWER (+4)
2335 #define MIN_HARMONY (-(1<<10))
2336 #define MAX_HARMONY (+(1<<10))
2337 #define MIN_HARMONY_INCR (-127)
2338 #define MAX_HARMONY_INCR (+127)
2339 #define MAX_FIGHT_ENERGY (128)
2340 #define MAX_AA_INFO_THINGS (64)
2341 #define MAX_AA_DIAM (8)
2342 #define MAX_REINCARNATION_LEVEL (8)
2343 #define RS_CELL_RADIUS (5)
2344 #define RS_MAX_POINTS_IN_SITE ((2*(5))*(2*(5)))
2345 #define RS_NUM_PILLARS (8)
2346 #define RS_SITE_ALT_OFFSET (10)
2347 #define RS_EFFECT_ALT_OFFSET (700)
2348 #define TRAINING_MANA_IDX (0)
2349 #define MANA_ADJUST_MODE_NONE (0)
2350 #define MANA_ADJUST_MODE_TRAINING (1)
2351 #define MANA_FACTOR_PERCENT_TRAINING (50)
2352 #define MANA_FACTOR_PERCENT_HOUSED (100)
2353 #define MANA_FACTOR_PERCENT_WORKING (100)
2354 #define NUM_SPECIAL_MANA_COST_BANDS (6)
2355 #define MANA_UPDATE_FREQ (0x03)
2356 #define BLDG_DAMAGED_SMOKE_DIE_COUNT (16)
2357 #define MANUAL_SCALE_SHIFT (8)
2358 #define DEFAULT_MANUAL_SCALE_FACTOR (1<<((8)))
2359 #define DEBUG_MAX_NUM_OBJECTS (16)
2360 #define DEBUG_MAX_NUM_FACES (512)
2361 #define DEBUG_MAX_NUM_POINTS (2048)
2362 #define DEBUG_OBJECTS_MEM ((16)*sizeof(struct E2ObjectInfo))
2363 #define DEBUG_FACES_MEM ((512)*sizeof(struct E2ObjectFace))
2364 #define DEBUG_POINTS_MEM ((2048)*sizeof(struct E2ObjectPoint))
2365 #define FACE_TYPE_QUAD (0)
2366 #define FACE_TYPE_TRI (1)
2367 #define BP_MERGEABLE (1<<0)
2368 #define AVAILABLE_NOT (0)
2369 #define AVAILABLE_PERM (1)
2370 #define AVAILABLE_LEVEL (2)
2371 #define AVAILABLE_ONCE (3)
2372 #define AVAILABLE_DISCOVERY (4)
2373 #define BLDG_MAX_ALT_DIFF ((5*(8*128))/32)
2374 #define MAX_NUM_SHAPES (64)
2375 #define BLDG_MAX_DIAM (10)
2376 #define BLDG_SHAPE_MAX_DIAM ((10)+2)
2377 #define MAX_BLDG_CELL_RADIUS (((10)+1)/2)
2378 #define BLDG_MAX_AREA ((10)*(10))
2379 #define BLDG_SHAPE_MAX_AREA (((10)+2)*((10)+2))
2380 #define BLDG_MAX_REQD_BUILDERS (20)
2381 #define BLDG_CONSTRUCT_MAX_STAGES (4)
2382 #define BLDG_MARKER_NUM_ORIENTS (4)
2383 #define BLDG_SHAPE_POSITIONS_PER_CELL (8)
2384 #define SHAPE_MARKER_POSITIONS_PER_CELL (16)
2385 #define BLDG_MAX_DWELLERS (6)
2386 #define BLDG_MAX_POSSIBLE_NEAR_BLDGS (4*((((10)+2)/2)+1))
2387 #define BLDG_TOWER_TOO_CLOSE_RADIUS_ENEMY (5)
2388 #define SHAPE_MARKER_SMOKE_STAGE_1 (0)
2389 #define SHAPE_MARKER_SMOKE_STAGE_2 (1)
2390 #define SHAPE_MARKER_SMOKE_STAGE_3 (2)
2391 #define SHAPE_MARKER_ADD_ON_1 (3)
2392 #define SHAPE_MARKER_ADD_ON_2 (4)
2393 #define SHAPE_MARKER_ADD_ON_3 (5)
2394 #define SHAPE_MARKER_FIRE_1 (6)
2395 #define SHAPE_MARKER_FIRE_2 (7)
2396 #define SHAPE_MARKER_FIRE_3 (8)
2397 #define SHAPE_MARKER_FIRE_4 (9)
2398 #define SHAPE_MARKER_FIRE_5 (10)
2399 #define SHAPE_MARKER_FIRE_6 (11)
2400 #define SHAPE_NUM_MARKERS (12)
2401 #define SHAPE_NUM_FIRE_MARKERS (6)
2402 #define SHAPE_NUM_ADD_ON_MARKERS (3)
2403 #define MAX_NUM_WOOD_DISTRIB_ITEMS (16)
2404 #define WOOD_REQD_ABSOLUTE (0)
2405 #define WOOD_REQD_OUTSTANDING (1)
2406 #define WOOD_REQD_PRIO_IMMEDIATE (1)
2407 #define WOOD_REQD_PRIO_LATER (3)
2408 #define BB_TASK_WOOD (0)
2409 #define BB_TASK_FLATTEN (1)
2410 #define BB_TASK_OBSTACLES (2)
2411 #define BB_TASK_OWNED (3)
2412 #define BB_TASK_ENEMY (4)
2413 #define BB_TASK_CREATURES (5)
2414 #define BB_TASK_VACATE_SHAPE (6)
2415 #define BB_NUM_TASKS (7)
2416 #define BLDG_SHAPE_INSIDE_CH ('#')
2417 #define BLDG_SHAPE_CENTRE_CH ('@')
2418 #define BLDG_SHAPE_FLAG_INSIDE (1<<0)
2419 #define BLDG_SHAPE_FLAG_FLAT (1<<1)
2420 #define BLDG_SHAPE_FLAG_OUTSIDE (1<<2)
2421 #define BLDG_SHAPE_FLAG_SPECIAL_1 (1<<3)
2422 #define BLDG_SHAPE_FLAG_SPECIAL_2 (1<<4)
2423 #define BLDG_SHAPE_FLAG_SPECIAL_3 (1<<5)
2424 #define BLDG_SHAPE_FLAG_SPECIAL_4 (1<<6)
2425 #define BLDG_SHAPE_FLAG_SPECIAL_5 (1<<7)
2426 #define BLDG_SHAPE_FLAG_ALL_SPECIALS ((1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7))
2427 #define SHME_MODE_SET_TMP (0)
2428 #define SHME_MODE_REMOVE_TMP (1)
2429 #define SHME_MODE_SET_PERM (2)
2430 #define SHME_MODE_REMOVE_PERM (3)
2431 #define SHME_MODE_CONVERT_TO_BLDG (4)
2432 #define BIF_END_LIST (1<<0)
2433 #define BLDG_MENU_MODE_STATIC (0)
2434 #define BLDG_MENU_MODE_ROTATE_R_INIT (1)
2435 #define BLDG_MENU_MODE_ROTATE_R (2)
2436 #define BLDG_MENU_MODE_ROTATE_L_INIT (3)
2437 #define BLDG_MENU_MODE_ROTATE_L (4)
2438 #define BLDG_MENU_MODE_INIT (5)
2439 #define MAX_NUM_EFFECTS_PER_SPELL 5
2440 #define SPAC_OFF 0
2441 #define SPAC_NORMAL 1
2442 #define SPAC_GUEST 2
2443 #define SPAC_SPECIAL 3
2444 #define LSME_WRANGE (14*512)
2445 #define CS_TEST 0
2446 #define CS_INACTIVE 1
2447 #define CS_RED 2
2448 #define CS_PURPLE 3
2449 #define CS_YELLOW 4
2450 #define CS_SLIDER_1 5
2451 #define CS_SLIDER_2 6
2452 #define CS_SLIDER_3 7
2453 #define CS_SLIDER_BG 8
2454 #define MF_FLASH (1<<0)
2455 #define MF_PERM (1<<1)
2456 #define MF_LEFT_SIDE (1<<2)
2457 #define MA_FLASHING (1<<0)
2458 #define MA_PRIVATE (1<<1)
2459 #define MAX_NUM_MSGS (32)
2460 #define MAX_NUM_RECENT_FIGHTS (16)
2461 #define MSG_ID_NONE (-1)
2462 #define DIALOG_STATUS_CLOSED (0)
2463 #define DIALOG_STATUS_NORMAL_OPEN (1)
2464 #define DIALOG_STATUS_MODAL_OPEN (2)
2465 #define DIALOG_STATUS_MODAL_ZOOMING_OPEN (3)
2466 #define DIALOG_STATUS_MODAL_ZOOMING_CLOSE (4)
2467 #define DIALOG_STATUS_SCRIPT_OPEN (5)
2468 #define DIALOG_MAX_NUM_BUTTONS (3)
2469 #define DIALOG_TYPE_STANDARD_OK (0)
2470 #define DIALOG_TYPE_OK_SAVE_EXIT (1)
2471 #define DIALOG_TYPE_OK_DELETE (2)
2472 #define DIALOG_CLOSE_CODE_NONE (0)
2473 #define DIALOG_CLOSE_CODE_OK (1)
2474 #define DIALOG_CLOSE_CODE_EXIT (2)
2475 #define DIALOG_CLOSE_CODE_DELETE (3)
2476 #define DIALOG_BUTTON_TYPE_OK (0)
2477 #define DIALOG_BUTTON_TYPE_SAVE (1)
2478 #define DIALOG_BUTTON_TYPE_EXIT (2)
2479 #define DIALOG_BUTTON_TYPE_DELETE (3)
2480 #define FLYBY_MAX_NUM_EVENTS (32)
2481 #define FLYBY_EVENT_TYPE_NONE (0)
2482 #define FLYBY_EVENT_TYPE_POSITION (1)
2483 #define FLYBY_EVENT_TYPE_ANGLE (2)
2484 #define FLYBY_EVENT_TYPE_ZOOM (3)
2485 #define FLYBY_EVENT_TYPE_INTEREST_POINT (4)
2486 #define FLYBY_EVENT_TYPE_TOOLTIP (5)
2487 #define FLYBY_EVENT_TYPE_DIALOG (6)
2488 #define FLYBY_EVENT_NUM_TYPES (7)
2489 #define FLYBY_TM_ACTIVE_POSITION (1<<(1))
2490 #define FLYBY_TM_ACTIVE_ANGLE (1<<(2))
2491 #define FLYBY_TM_ACTIVE_ZOOM (1<<(3))
2492 #define FLYBY_TM_ACTIVE_INTEREST_POINT (1<<(4))
2493 #define FLYBY_TM_ACTIVE_TOOLTIP (1<<(5))
2494 #define FLYBY_TM_ACTIVE_DIALOG (1<<(6))
2495 #define FLYBY_FLAGS_IN_PROGRESS (1<<0)
2496 #define FLYBY_FLAGS_INTERUPTED (1<<1)
2497 #define FLYBY_FLAGS_END_TARGETS_SET (1<<2)
2498 #define FLYBY_FLAGS_NO_MORE_EVENTS (1<<3)
2499 #define FLYBY_FLAGS_INTERUPTABLE (1<<4)
2500 #define FLYBY_FLAGS_INPUTS_PREV_DISABLED (1<<5)
2501 #define FLYBY_FLAGS_IN_END_ZOOM_MODE (1<<6)
2502 #define FLYBY_FLAGS_END_ZOOM_INPUTS_ENABLED (1<<7)
2503 #define DFRATE_LIMIT_FLYBY (1<<0)
2504 #define DFRATE_LIMIT_RDEMO (1<<1)
2505 #define DFRATE_LIMIT_SWIRLY (1<<2)
2506 #define DFRATE_LIMIT_ALL (0xff)
2507 #define AE_MAP_XZ_SIZE (25)
2508 #define AE_MAP_SIZE ((25)*(25))
2509 #define AE_MAX_NUM_THINGS (50)
2510 #define AAM_RAISE_LOWER (0)
2511 #define AAM_FLATTEN (1)
2512 #define FLATTEN_RADIUS 4
2513 #define ALT_CHANGE_AMT 128
2514 #define MIN_ALT (0*128)
2515 #define MAX_ALT (8*128)
2516 #define MIN_FLEX_DIST (0*128)
2517 #define MAX_FLEX_DIST (6*128)
2518 #define DRAG_REGION_CELL_RADIUS (12)
2519 #define DRAG_REGION_CELL_DIAM (2*(12))
2520 #define DRAG_REGION_CELL_AREA ((2*(12))*(2*(12)))
2521 #define NUM_ALT_BANDS (8)
2522 #define ALT_BAND_SIZE ((8*128)/(8))
2523 #define DME_MAX_NUM_ENTRIES (100)
2524 #define DME_TYPE_NONE (0)
2525 #define DME_TYPE_SHAPE (1)
2526 #define DME_TYPE_REGION (2)
2527 #define DME_STATE_COUNTING (1)
2528 #define DME_STATE_RESTORING (2)
2529 #define DME_STATE_DELETE_PENDING (3)
2530 #define DME_RESTORE_MODE_FULL (1)
2531 #define DME_RESTORE_MODE_INCR (2)
2532 #define GPF_ANIMATING_WATER_OFF (1<<0)
2533 #define GPF_DO_SYNC_CHECKING (1<<1)
2534 #define GPF_NO_ENGINE_DRAW (1<<2)
2535 #define GPF_NO_SPRITE_DRAW (1<<3)
2536 #define GPF_PAUSE_ON_OOS (1<<4)
2537 #define GPF_NON_TEXTURE_MAPPED (1<<5)
2538 #define GPF_NO_POLY_DRAW (1<<6)
2539 #define GPF_NO_OBJECTS_DRAW (1<<7)
2540 #define GPF_PLAN_HIDE_PEOPLE (1<<8)
2541 #define GPF_PLAN_HIDE_BLDGS (1<<9)
2542 #define GPF_MOVE_MOMENTUM (1<<10)
2543 #define GPF_AMBIENT_LIGHT (1<<11)
2544 #define GPF_POINT_LIGHT (1<<12)
2545 #define GPF_AMBIENT_SHADOWS (1<<13)
2546 #define GPF_POINT_SHADOWS (1<<14)
2547 #define GPF_SKY_ON (1<<15)
2548 #define GPF_FOOTSTEPS_OFF (1<<16)
2549 #define GPF_SCALING_SPRITES_UNUSED (1<<17)
2550 #define GPF_NO_FORMATIONS (1<<18)
2551 #define GPF_SHOW_FRM_POINTS (1<<19)
2552 #define GPF_COMPUTER_PLAYER_OFF (1<<20)
2553 #define GPF_SHOW_PEOPLE_PANEL (1<<21)
2554 #define GPF_NO_JNAVIGATION (1<<22)
2555 #define GPF_FULL_MAP_CHECKSUM (1<<23)
2556 #define GPF_SHOW_JNAV_POINTS (1<<24)
2557 #define GPF_AUTO_GUARD_OFF (1<<25)
2558 #define GPF_BLOW_DAMAGE_OFF (1<<26)
2559 #define GPF_SPARE (1<<27)
2560 #define GPF_CAMERA_ZOOM_ON (1<<28)
2561 #define GPF_SEA_ON (1<<29)
2562 #define GPF_HIRES_TEXTURES_OFF (1<<30)
2563 #define GPF_USE_32X32_HIRES (1<<31)
2564 #define GPF2_LOCAL_DRAG_OFF (1<<0)
2565 #define GPF2_FOG_OF_WAR (1<<1)
2566 #define GPF2_USE_FOG_OF_WAR (1<<2)
2567 #define GPF2_ISLAND_LEVEL (1<<3)
2568 #define GPF2_AUTO_QUICK_SAVE (1<<4)
2569 #define GPF2_AUTO_USE_VEHICLES (1<<5)
2570 #define GPF2_KEEP_MIN_POPULATION (1<<6)
2571 #define GPF2_CONTIN_RAISE_LOWER (1<<7)
2572 #define GPF2_ALLOW_CURSOR_SNAP (1<<8)
2573 #define GPF2_FLAT_LAND_DARK (1<<9)
2574 #define GPF2_TIP_OF_THE_DAY (1<<10)
2575 #define GPF2_TOOLTIPS_ON (1<<11)
2576 #define GPF2_AUTO_CAMERA_ADJUST (1<<12)
2577 #define GPF2_LENS_FLARE (1<<13)
2578 #define GPF2_PANEL_SOUNDS_OFF (1<<14)
2579 #define GPF2_HUMAN_SHAMAN_OMNIPRESENCE (1<<15)
2580 #define GPF2_OWNED_TARGET_SELECT (1<<16)
2581 #define GPF2_AUTO_CAST_SPELL (1<<17)
2582 #define GPF2_SCROLLING_TOOLTIPS (1<<18)
2583 #define GPF2_FLIP_ROTATION (1<<19)
2584 #define GPF2_DESELECT (1<<20)
2585 #define GPF2_SWAP_ROTATE_MOVE (1<<21)
2586 #define GPF2_BEEN_IN_TUTORIAL (1<<22)
2587 #define GPF2_RIGHT_CLICKED_ON_A_SPELL (1<<23)
2588 #define GPF2_RIGHT_CLICKED_NO_WASTE (1<<24)
2589 #define GPF2_LETTERBOX (1<<25)
2590 #define GPF2_MARVELLOUS_SOUND (1<<26)
2591 #define GPF2_NEW_PATH2 (1<<27)
2592 #define GPF2_GAME_TIPS (1<<28)
2593 #define GPF2_GAME_TIPS_FORCE (1<<29)
2594 #define GPF2_GAME_NO_WIN (1<<30)
2595 #define GPT_NONE 0
2596 #define GPT_YES_NO 1
2597 #define GPT_NUMERIC 2
2598 #define GPVT_CHAR 0
2599 #define GPVT_WORD 1
2600 #define GPVT_LONG 2
2601 #define GPVT_LONG_FLAGS 3
2602 #define GPIF_MYPLAYER_ONLY (1<<0)
2603 #define GPIF_LIST_END (1<<1)
2604 #define WORLD_WIDTH 64
2605 #define WORLD_HALF_WIDTH (64 >> 1)
2606 #define WORLD_WIDTH_MOD (64*16)
2607 #define WORLD_HALF_WIDTH_MOD ((64*16) >> 1)
2608 #define WORLD_HEIGHT 64
2609 #define WORLD_HALF_HEIGHT (64 >> 1)
2610 #define WORLD_HEIGHT_MOD (64*8)
2611 #define WORLD_HALF_HEIGHT_MOD ((64*8) >> 1)
2612 #define NO_STAGE 0
2613 #define OUT_IN_ONE_STAGE_START 11
2614 #define OUT_IN_ONE_STAGE 12
2615 #define OUT_IN_ONE_STAGE_END 13
2616 #define IN_IN_ONE_STAGE_START 14
2617 #define IN_IN_ONE_STAGE 15
2618 #define IN_IN_ONE_STAGE_END 16
2619 #define ONE_STAGE_DIST 100000
2620 #define VIEW_STANDARD 0
2621 #define VIEW_ISLAND 1
2622 #define VIEW_PLAN 2
2623 #define VIEW_ZOOMED_IN 3
2624 #define VIEW_WORLD_STAGE 4
2625 #define SCENERY_TREE1 ((2))
2626 #define SCENERY_TREE2 ((3))
2627 #define SCENERY_SHEEP ((4))
2628 #define SCENERY_LIGHT ((14))
2629 #define CONT_FRACT 0
2630 #define MOD_FRACT 1
2631 #define HYBRID_FRACT 2
2632 #define LO_HYBRID 3
2633 #define MID_HYBRID 4
2634 #define HI_HYBRID 5
2635 #define LANDGEN_ERODE 6
2636 #define MAX_NUM_LIGHT_SOURCES 50
2637 #define LIGHT_DIAMETER 7
2638 #define LIGHT_AREA (7*7)
2639 #define MAX_SHADE_INCR 31
2640 #define MAX_SHADE_VALUE 31
2641 #define MIN_SHADE_VALUE 0
2642 #define LIGHT_SRC_FADE_OUT (1<<0)
2643 #define MAX_ILLUMINATION_VALUE 128
2644 #define MAX_FLICKER_VALUE 64
2645 #define LIGHT_BITS 5
2646 #define LIGHT_MASK 31
2647 #define LIGHT_ENTRIES 1024
2648 #define LIGHT_STEP 64
2649 #define TRIGGER_TYPE_PROXIMITY (0)
2650 #define TRIGGER_TYPE_TIMED (1)
2651 #define TRIGGER_TYPE_PLAYER_DEATH (2)
2652 #define TRIGGER_TYPE_SHAMAN_PROXIMITY (3)
2653 #define TRIGGER_TYPE_LIBRARY (4)
2654 #define TRIGGER_TYPE_SHAMAN_AOD (5)
2655 #define NUM_TRIGGER_TYPES (6)
2656 #define TRIGGER_PRAY_TIME (192)
2657 #define TRIGGER_REACTIVATE_TIME (768)
2658 #define DISCOVERY_TRIGGER_NORMAL (0)
2659 #define DISCOVERY_TRIGGER_IMMEDIATE (1)
2660 #define HEAD_TYPE_NONE (0)
2661 #define HEAD_TYPE_SHAMAN_TOTEM (1)
2662 #define HEAD_TYPE_ONE_SHOT (2)
2663 #define HEAD_TYPE_PERMANENT (3)
2664 #define HEAD_TYPE_TRIGGER_EVENT (4)
2665 #define HEAD_TYPE_AOD_STATUE (5)
2666 #define DIF_FORCE_ENABLE (1<<0)
2667 #define DIF_AOD2_STATUE (1<<1)
2668 #define DIF_PLAYER_JUST_DIED (1<<2)
2669 #define DIF_LEVEL_START_ZOOM_IN (1<<3)
2670 #define DIF_MODAL_DIALOG (1<<4)
2671 #define DIF_ROLLING_DEMO (1<<5)
2672 #define DIF_FLYBY (1<<6)
2673 #define DIF_SCRIPT (1<<7)
2674 #define DIF_ARMAGEDDON (1<<8)
2675 #define DFLT_PERSP_OFFSET 6500
2676 #define DFLT_PERSP_SCALE 11
2677 #define NUM_SAVE_THINGS 100
2678 #define NUM_ACCESS_THINGS 50
2679 #define SHADOW_DEPTH 9
2680 #define LEVEL_FLAGS_USE_FOG (1<<0)
2681 #define LEVEL_FLAGS_HUMAN_SHAMAN_OMNI (1<<1)
2682 #define LEVEL_FLAGS_LEVEL_EDIT (1<<3)
2683 #define LEVEL_FLAGS_NO_GUEST (1<<4)
2684 #define LEVEL_NO_REINCARNATE_TIME (1<<5)
2685 #define CF_PERSON_NEAR (1<<0)
2686 #define CF_BEAR_NEAR (1<<1)
2687 #define CF_BUFFALO_NEAR (1<<2)
2688 #define CF_WOLF_NEAR (1<<3)
2689 #define CF_EAGLE_NEAR (1<<4)
2690 #define CF_RABBIT_NEAR (1<<5)
2691 #define CF_BEAVER_NEAR (1<<6)
2692 #define CF_CREATURE_NEAR ((1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6))
2693 #define CF_IN_HEAT (1<<7)
2694 #define CF_WANT_IN_GROUP (1<<8)
2695 #define CF_IN_GROUP (1<<9)
2696 #define CF_SEARCHING_FOR_FOOD (1<<10)
2697 #define CF_SEARCHING_FOR_WATER (1<<11)
2698 #define CF_LOOKED_FOR_RABBIT (1<<12)
2699 #define CF_LOOKED_FOR_BEAVER (1<<13)
2700 #define CF_LOOKED_FOR_FISH (1<<14)
2701 #define CF_LOOKED_FOR_VEG (1<<15)
2702 #define CF_LOOKED_FOR_HUMANS (1<<16)
2703 #define CF_NO_HEIGHT_CHECK (1<<17)
2704 #define CREATURE_W_RADIUS (56)
2705 #define CREATURE_DRINK_RADIUS (2)
2706 #define CREATURE_EAT_RADIUS (10)
2707 #define CREATURE_DEFAULT_STAND_TIME (30)
2708 #define CREATURE_LIFE_SCALE (2)
2709 #define CREATURE_ADULT_OFFSET (1200)
2710 #define CREATURE_OLD_AGE_OFFSET (1200)
2711 #define CREATURE_GROUP_DIVISOR (100)
2712 #define CREATURE_TEMP_EAT (1+(14))
2713 #define CREATURE_TEMP_DRINK (2+(14))
2714 #define CREATURE_TEMP_MATE (3+(14))
2715 #define CREATURE_TEMP_RUN (4+(14))
2716 #define EAGLE_MIN_ALT (50)
2717 #define EAGLE_ALT_INCR (16)
2718 #define EAGLE_ALT_DECR (8)
2719 #define EAGLE_ALT_CHANGE (24)
2720 #define EAGLE_BASE_DIR_MIN ((((2)*(2048))/360))
2721 #define EAGLE_BASE_DIR_LIMIT ((((8)*(2048))/360))
2722 #define EAGLE_BASE_MOVE_COUNT (20)
2723 #define EAGLE_BASE_SPEED ((5*(256))/32)
2724 #define EAGLE_COLLIDE_RADIUS ((32*(256))/32)
2725 #define EAGLE_HOME_RADIUS ((48*(256))/32)
2726 #define EAGLE_MM_HEAD_HOME_INIT (0)
2727 #define EAGLE_MM_HEAD_HOME (1)
2728 #define EAGLE_MM_MOVE_AWAY_INIT (2)
2729 #define EAGLE_MM_MOVE_AWAY (3)
2730 #define EAGLE_FRAME_AT_REST (1)
2731 #define EAGLE_FRAME_OUTSTRETCHED_WINGS (1)
2732 #define MOUSE_NAV_NOTHING (0)
2733 #define MOUSE_NAV_MOVE (1)
2734 #define MOUSE_NAV_ROTATE (2)
2735 #define MOUSE_NAV_ROTATE_RADIUS (200)
2736 #define CREATURE_COLOUR (137)
2737 #define SCENERY_COLOUR (168)
2738 #define SCENERY_ON_FIRE_DURATION (40)
2739 #define SPY_START_FIRE_DURATION (16)
2740 #define SPY_INTERROGATE_WAIT (30)
2741 #define SPY_INTERROGATE_TID_DURATION (30)
2742 #define SPY_SABOTAGE_WAIT (30)
2743 #define RELIGIOUS_LOOK_AROUND_TIME (40)
2744 #define RELIGIOUS_PREACH_TIME (840)
2745 #define RELIGIOUS_PREACH_DIAM (3)
2746 #define MAX_NUM_PREACH_POSITIONS (48)
2747 #define MAX_NUM_PRAY_POSITIONS (50)
2748 #define SPF_ACTIVE (1<<0)
2749 #define SPF_PLAYER_1_CAN_CAST (1<<1)
2750 #define SPF_PLAYER_2_CAN_CAST (1<<2)
2751 #define SPF_PLAYER_3_CAN_CAST (1<<3)
2752 #define SPF_PLAYER_4_CAN_CAST (1<<4)
2753 #define SPF_ALL_PLAYERS_CAN_CAST ((1<<1) | (1<<2) | (1<<3) | (1<<4))
2754 #define SPF_CP_OFFENSIVE (1<<5)
2755 #define SPF_CP_MAX_BLDGS (1<<6)
2756 #define SPF_CP_MULTIPLE_CAST (1<<7)
2757 #define SPF_CP_BLDG_TARGET (1<<8)
2758 #define SPF_CP_TREE_TARGET (1<<9)
2759 #define SPF_CP_PEOPLE_VALID (1<<10)
2760 #define SPF_DRAWN (1<<11)
2761 #define SPF_EOG_REWARD (1<<12)
2762 #define SPF_24 (1<<13)
2763 #define SPF_USE_TARGET_THING (1<<14)
2764 #define SPF_NO_RANGE_INDICATION (1<<15)
2765 #define SPF_NOT_AVAILABLE_IN_DEMO (1<<16)
2766 #define MED_MAN_SPELL_PANEL_RADIUS (11)
2767 #define MED_MAN_SPELL_RADIUS (20)
2768 #define MAX_NUM_GHOSTS_PER_PLAYER (60)
2769 #define NUM_PEOPLE_IN_GHOST_ARMY (6)
2770 #define EARTHQUAKE_DURATION (120)
2771 #define EARTHQUAKE_START_DELAY (20)
2772 #define EARTHQUAKE_END_DELAY (20)
2773 #define EARTHQUAKE_RADIUS (8)
2774 #define EARTHQUAKE_MAX_DROP (600)
2775 #define MAX_EARTH_SHAKE_VAL (256)
2776 #define VOLCANO_DURATION (100+60)
2777 #define VOLCANO_START_DELAY (20+60)
2778 #define VOLCANO_END_DELAY (20)
2779 #define VOLCANO_HEIGHT (1024)
2780 #define VOLCANO_RADIUS (5)
2781 #define VOLCANO_SMOKE_START_NUM (10)
2782 #define MAX_VOLCANO_SHAKE_VAL (128)
2783 #define WHIRLWIND_DURATION (200)
2784 #define EROSION_DURATION (64)
2785 #define EROSION_RADIUS (4)
2786 #define INVISIBLE_COUNT (300)
2787 #define INSECT_PLAGUE_DURATION (200)
2788 #define INSECT_PLAGUE_NUM_FLYS (60)
2789 #define INSECT_PLAGUE_SPEED (80)
2790 #define IP_STATE_INIT (0)
2791 #define IP_STATE_MOVE_AROUND (1)
2792 #define IP_STATE_ENTER_BUILDING (2)
2793 #define IP_STATE_CHASE_PERSON (3)
2794 #define FLY_X_ACCEL (32)
2795 #define FLY_Y_ACCEL (32)
2796 #define FLY_Z_ACCEL (32)
2797 #define FLY_X_VEL (128)
2798 #define FLY_Y_VEL (128)
2799 #define FLY_Z_VEL (128)
2800 #define FLY_NUM_FRIENDS (5)
2801 #define FLY_RADIUS (6)
2802 #define FLY_NUM_ATTACKS (10)
2803 #define FLY_FRIEND_MAX_OFFSET (256)
2804 #define FLY_NORMAL (0)
2805 #define FLY_GOTO_WAYPOINT_1 (1)
2806 #define FLY_GOTO_WAYPOINT_2 (2)
2807 #define FLY_GOTO_WAYPOINT_3 (3)
2808 #define FLY_IN_WHIRLWIND (4)
2809 #define FLY_NO_CHEAT (0)
2810 #define FLY_CHEAT (1)
2811 #define SWAMP_DURATION (450)
2812 #define NUM_SWAMP_THINGS_PER_TURN (2)
2813 #define MAX_SWAMP_THINGS_PER_PLAYER (30)
2814 #define FIRESTORM_DURATION (300)
2815 #define FIRESTORM_RADIUS (3)
2816 #define FIRESTORM_CLOUD_RADIUS (2)
2817 #define FIRESTORM_NUM_ROCKS (2)
2818 #define FIRESTORM_NUM_FIREBALLS (1)
2819 #define FS_STATE_INIT (0)
2820 #define FS_STATE_STORM (1)
2821 #define BIG_FIRE_DURATION (127)
2822 #define BUILDING_BURN_TIME (127)
2823 #define BUILDING_BURN_RUN_AWAY_DELAY (8)
2824 #define BUILDING_BURN_STAGE1_DELAY (48)
2825 #define BUILDING_BURN_STAGE2_DELAY (90)
2826 #define LIGHTNING_DURATION (3)
2827 #define LIGHTNING_TOP_RADIUS (200)
2828 #define LIGHTNING_BOTTOM_RADIUS (0)
2829 #define LIGHTNING_RADIUS_CHANGE ((200) - (0))
2830 #define LIGHTNING_STAGES (9)
2831 #define LIGHTNING_HEIGHT (1024)
2832 #define LIGHTNING_SPR_PER_STAGE (10)
2833 #define ANGEL_HOVER_COUNT (300)
2834 #define ANGEL_HOVER_ALT (300)
2835 #define ANGEL_LOWER_COUNT (10)
2836 #define ANGEL_SEARCH_PER_TURN (10)
2837 #define ANGEL_LOCAL_SEARCH_RAD (3)
2838 #define ANGEL_WIDE_SEARCH_RAD (13)
2839 #define ANGEL_WAIT_TIME (10)
2840 #define ANGEL_KILL_LIMIT (10)
2841 #define BLAST_LIFE_REDUCTION (25)
2842 #define SPELL_FLATTEN_RADIUS (5)
2843 #define MAX_MANA_VALUE (1000000)
2844 #define SPELL_GRAB_A_SOUL_MANA_COST (30000)
2845 #define CONVERT_PERSON_MANA_COST (6000)
2846 #define START_MANA_VALUE (7*(6000))
2847 #define RAISE_LOWER_MANA_COST (1000)
2848 #define ADD_WALL (0)
2849 #define REMOVE_WALL (1)
2850 #define WALL_TYPE_0 (0)
2851 #define WALL_TYPE_1 ((1<<19))
2852 #define WALL_TYPE_2 ((1<<20))
2853 #define WALL_TYPE_3 (((1<<19) | (1<<20)))
2854 #define WALL_ORIENT_0 (0)
2855 #define WALL_ORIENT_1 ((1<<21))
2856 #define WALL_ORIENT_2 ((1<<22))
2857 #define WALL_ORIENT_3 (((1<<21) | (1<<22)))
2858 #define WALL_HERE 1
2859 #define OTHER_BUILDING_HERE 2
2860 #define SS_SC_BEAM_DOWN (0)
2861 #define SS_SC_BEAM_DOWN2 (1)
2862 #define SS_SC_SOUL_UP (2)
2863 #define SS_SC_SOUL_AND_BEAM_UP (3)
2864 #define SS_SC_SOUL_CONVERT (4)
2865 #define SS_SC_SOUL_AND_BEAM_DOWN (5)
2866 #define SS_SC_SOUL_TO_PERSON (6)
2867 #define SS_SC_BEAM_UP (7)
2868 #define SS_SC_SOUL_IN_LIMBO (8)
2869 #define SS_SC2_FALL_DOWN (0)
2870 #define SS_SC2_WAIT_LYING (1)
2871 #define SS_SC2_START_RISE (2)
2872 #define SS_SC2_RISE (3)
2873 #define SS_SC2_SOUL_IN_LIMBO (4)
2874 #define SS_SC2_SOUL_RETURN (5)
2875 #define SS_SC2_SOUL_RETURN_POPULATION (6)
2876 #define SOUL_MAN_LIMBO_TIME (300)
2877 #define SOUL_MEDICINE_MAN_LIMBO_TIME (300)
2878 #define WILD_SS_WANDER (0)
2879 #define WILD_SS_STAND (1)
2880 #define WILD_SS_WANDER_FOR_TIME (2)
2881 #define WILD_SS_WAIT_CONVERSION (3)
2882 #define MAX_SPIN_SPEED 16
2883 #define ITEM_SPIN_SPEED 16
2884 #define TEXT_PAD_X 25
2885 #define TEXT_PAD_Y 4
2886 #define BOX_GAP_Y 10
2887 #define FE_STATE_NORMAL (0)
2888 #define FE_STATE_TEXT_ENTRY (1)
2889 #define FE_SCREEN_3D_TOP (0)
2890 #define FE_SCREEN_MENUS (1)
2891 #define FE_SCREEN_LEVEL_OPTIONS (2)
2892 #define FE_SCREEN_GAME_OPTIONS (3)
2893 #define FE_LEVEL_OPTION_SPELLS (0)
2894 #define FE_LEVEL_OPTION_BUILDINGS (1)
2895 #define FE_LEVEL_OPTION_VEHICLES (2)
2896 #define PA_FRONTEND_NOTHING (0)
2897 #define PA_FRONTEND_EXIT (1)
2898 #define PA_FRONTEND_DO_OPTION (2)
2899 #define PA_FRONTEND_NEXT_OPTION (3)
2900 #define PA_FRONTEND_PREV_OPTION (4)
2901 #define PA_FRONTEND_CHAR (5)
2902 #define PA_FRONTEND_START_SINGLE_LEVEL (6)
2903 #define PA_FRONTEND_PREV_SINGLE_LEVEL (7)
2904 #define PA_FRONTEND_NEXT_SINGLE_LEVEL (8)
2905 #define PA_FRONTEND_TOGGLE_SPELL (9)
2906 #define PA_FRONTEND_TOGGLE_BUILDING (10)
2907 #define PA_FRONTEND_TOGGLE_VEHICLE (11)
2908 #define PA_FRONTEND_LEVEL_OPTION_PREV (12)
2909 #define PA_FRONTEND_LEVEL_OPTION_NEXT (13)
2910 #define PA_FRONTEND_LEVEL_PLAYER_PREV (14)
2911 #define PA_FRONTEND_LEVEL_PLAYER_NEXT (15)
2912 #define PA_FRONTEND_TOGGLE_GAME_OPTION (16)
2913 #define PA_FRONTEND_CHANGE_GAME_OPTION (17)
2914 #define PA_FRONTEND_PREV_GAME_OPTION (18)
2915 #define PA_FRONTEND_NEXT_GAME_OPTION (19)
2916 #define PA_FRONTEND_OPTION_UP (20)
2917 #define PA_FRONTEND_OPTION_DOWN (21)
2918 #define PA_FRONTEND_PREV_SESSION (22)
2919 #define PA_FRONTEND_NEXT_SESSION (23)
2920 #define FE_PAGE_MAIN (0)
2921 #define FE_PAGE_GAME (1)
2922 #define FE_PAGE_DISK (2)
2923 #define FE_PAGE_NET (3)
2924 #define FE_PAGE_OPTIONS (4)
2925 #define FE_PAGE_LOAD_GAME_SLOTS (5)
2926 #define FE_PAGE_NEW_GAME_SLOTS (6)
2927 #define FE_PAGE_SAVE_GAME_SLOTS (7)
2928 #define FE_PAGE_OBJECTIVES (8)
2929 #define FE_PAGE_MAIN_GAME (0)
2930 #define FE_PAGE_MAIN_DISK (1)
2931 #define FE_PAGE_MAIN_NET (2)
2932 #define FE_PAGE_MAIN_OPTIONS (3)
2933 #define FE_PAGE_MAIN_QUIT (4)
2934 #define FE_PAGE_GAME_CONTINUE (0)
2935 #define FE_PAGE_GAME_NEW_COMPLETE (1)
2936 #define FE_PAGE_GAME_NEW_SINGLE (2)
2937 #define FE_PAGE_GAME_TUTORIAL (3)
2938 #define FE_PAGE_DISK_LOAD (0)
2939 #define FE_PAGE_DISK_SAVE (1)
2940 #define FE_PAGE_NET_DPLAY_IPX (0)
2941 #define FE_PAGE_NET_IPX (1)
2942 #define FE_PAGE_NET_SERIAL (2)
2943 #define FE_PAGE_NET_MODEM (3)
2944 #define FE_PAGE_NET_IP (4)
2945 #define FE_PAGE_NEW_GAME_SLOTS_1 (0)
2946 #define FE_PAGE_NEW_GAME_SLOTS_2 (1)
2947 #define FE_PAGE_NEW_GAME_SLOTS_3 (2)
2948 #define FE_PAGE_NEW_GAME_SLOTS_4 (3)
2949 #define FE_PAGE_NEW_GAME_SLOTS_5 (4)
2950 #define FE_PAGE_NEW_GAME_SLOTS_6 (5)
2951 #define FE_PAGE_NEW_GAME_SLOTS_7 (6)
2952 #define FE_PAGE_NEW_GAME_SLOTS_8 (7)
2953 #define FE_PAGE_LOAD_GAME_INTERNAL (0)
2954 #define FE_PAGE_LOAD_GAME_SLOTS_1 (1)
2955 #define FE_PAGE_LOAD_GAME_SLOTS_2 (2)
2956 #define FE_PAGE_LOAD_GAME_SLOTS_3 (3)
2957 #define FE_PAGE_LOAD_GAME_SLOTS_4 (4)
2958 #define FE_PAGE_LOAD_GAME_SLOTS_5 (5)
2959 #define FE_PAGE_LOAD_GAME_SLOTS_6 (6)
2960 #define FE_PAGE_LOAD_GAME_SLOTS_7 (7)
2961 #define FE_PAGE_LOAD_GAME_SLOTS_8 (8)
2962 #define FE_PAGE_SAVE_GAME_SLOTS_1 (0)
2963 #define FE_PAGE_SAVE_GAME_SLOTS_2 (1)
2964 #define FE_PAGE_SAVE_GAME_SLOTS_3 (2)
2965 #define FE_PAGE_SAVE_GAME_SLOTS_4 (3)
2966 #define FE_PAGE_SAVE_GAME_SLOTS_5 (4)
2967 #define FE_PAGE_SAVE_GAME_SLOTS_6 (5)
2968 #define FE_PAGE_SAVE_GAME_SLOTS_7 (6)
2969 #define FE_PAGE_SAVE_GAME_SLOTS_8 (7)
2970 #define FE_PAGE_OBJECTIVES_CONTINUE (0)
2971 #define TOP_LEVEL_MAP_NUM (54)
2972 #define PORTAL_STATUS_WAITING_OPEN (0)
2973 #define PORTAL_STATUS_OPEN (1)
2974 #define PORTAL_STATUS_CLOSED (2)
2975 #define MAX_PORTAL_TYPES (5)
2976 #define MAX_NUM_LEVELS (31)
2977 #define OBJECTIVES_PER_LEVEL (4)
2978 #define MAX_LENGTH_SAVE_NAMEv2 (32)
2979 #define INTERNAL_SAVE_SLOT (0)
2980 #define MAX_NUM_SCRIPT3 10
2981 #define MAX_NUM_LEVEL_MARKERS (13)
2982 #define MAX_NUM_LEVEL_MARKERSv2 (256)
2983 #define NO_MARKER (-1)
2984 #define MAX_NUM_LEVELSv2 (30)
2985 #define LSI_TOP_LEVEL_INDEX (99)
2986 #define LSI_ACCESS_LEVEL_INDEX (1)
2987 #define LSI_SUB_LEVEL_INDEX (7)
2988 #define NUM_ACCESS_LEVELS (6)
2989 #define LEVEL_DETAILS (0)
2990 #define PLAYER_DETAILS (1)
2991 #define CP_NAME (1)
2992 #define CP_WALLS (2)
2993 #define CP_THINGS (3)
2994 #define CP_ATTRIBS (4)
2995 #define LH_THINGS (1)
2996 #define LH_ALLIES (2)
2997 #define LH_NAME (3)
2998 #define LH_PLAYERS (4)
2999 #define LH_TYPE (5)
3000 #define LH_START_POS (6)
3001 #define LH_START_ANGLE (7)
3002 #define LH_OBJ_BANK (8)
3003 #define LH_OBJ_FOG (9)
3004 #define LH_SHAMAN_OMNI (10)
3005 #define LH_NO_GUEST (11)
3006 #define LH_CP (12)
3007 #define OD_FLAG_COMPLETED (1<<0)
3008 #define OD_FLAG_IN_PROGRESS (1<<1)
3009 #define OD_FLAG_ABLE_TO_PLAY (1<<2)
3010 #define OD_FLAG_FIGHTING_PERFORMED (1<<3)
3011 #define OD_FLAG_DISC_OBJECTIVE_1_DONE (1<<9)
3012 #define OD_FLAG_DISC_OBJECTIVE_1_SHIFT (9)
3013 #define OD_FLAG_DISC_OBJECTIVE_2_DONE (1<<10)
3014 #define OD_FLAG_DISC_OBJECTIVE_3_DONE (1<<11)
3015 #define OD_FLAG_OBJECTIVE_1_DONE (1<<12)
3016 #define OD_FLAG_OBJECTIVE_1_SHIFT (12)
3017 #define OD_FLAG_OBJECTIVE_2_DONE (1<<13)
3018 #define OD_FLAG_OBJECTIVE_3_DONE (1<<14)
3019 #define OD_FLAG_OBJECTIVE_4_DONE (1<<15)
3020 #define MAX_NUM_OBJECTIVES (48)
3021 #define OBJECTIVE_NOTHING (0)
3022 #define OBJECTIVE_KILL_SIDE (1)
3023 #define OBJECTIVE_KILL_OPPOSITION (2)
3024 #define OBJECTIVE_KILL_NUM_PEOPLE (3)
3025 #define OBJECTIVE_OCCUPY_SITE (4)
3026 #define OBJECTIVE_CONTROL_ALL_PEOPLE (5)
3027 #define OBJECTIVE_CONTROL_NUM_PEOPLE (6)
3028 #define OBJECTIVE_NO_FIGHTING (7)
3029 #define OBJECTIVE_NUM_BUILDINGS (8)
3030 #define NUM_OBJECTIVE_TYPES (9)
3031 #define NUM_INVENTION_TYPES (4)
3032 #define MAX_DISCOVERIES_PER_LEVEL (3)
3033 #define DISC_TYPE_NONE (0)
3034 #define DISC_TYPE_SPELL (1)
3035 #define DISC_TYPE_BUILDING (2)
3036 #define DISC_TYPE_VEHICLE (3)
3037 #define NUM_DISC_TYPES (3)
3038 #define DISCOVERY_CHECK_MODE_ALL (0)
3039 #define DISCOVERY_CHECK_MODE_SPELLS (1)
3040 #define DISCOVERY_CHECK_MODE_BLDGS (2)
3041 #define FOLDER_TUTORIAL (0)
3042 #define FOLDER_BUILDINGS (1)
3043 #define FOLDER_COMMANDS (2)
3044 #define FOLDER_PEOPLE (3)
3045 #define FOLDER_PANELS (4)
3046 #define FOLDER_SPELLS (5)
3047 #define FOLDER_BUILDINGS_IF (6)
3048 #define FOLDER_COMMANDS_IF (7)
3049 #define PAGE_TUTORIAL_MAIN (0)
3050 #define PAGE_TUTORIAL_SUB1 (1)
3051 #define PAGE_TUTORIAL_SUB2 (2)
3052 #define PAGE_TUTORIAL_SUB3 (3)
3053 #define PAGE_BUILDINGS_TEPEE (0)
3054 #define PAGE_BUILDINGS_TEPEE_2 (1)
3055 #define PAGE_BUILDINGS_TEPEE_3 (2)
3056 #define PAGE_BUILDINGS_DRUM_TOWER (3)
3057 #define PAGE_BUILDINGS_TEMPLE (4)
3058 #define PAGE_BUILDINGS_SPY_TRAIN (5)
3059 #define PAGE_BUILDINGS_WARRIOR_TRAIN (6)
3060 #define PAGE_BUILDINGS_SUPER_TRAIN (7)
3061 #define PAGE_BUILDINGS_WALL (8)
3062 #define PAGE_BUILDINGS_GATE (9)
3063 #define PAGE_BUILDINGS_BOAT_HUT_1 (10)
3064 #define PAGE_BUILDINGS_AIRSHIP_HUT_1 (11)
3065 #define PAGE_COMMANDS_ACCEPT (0)
3066 #define PAGE_COMMANDS_ABORT (1)
3067 #define PAGE_COMMANDS_GOTO (2)
3068 #define PAGE_COMMANDS_FOLLOW (3)
3069 #define PAGE_COMMANDS_CREATE_BEACON (4)
3070 #define PAGE_COMMANDS_BUILD_BUILDING (5)
3071 #define PAGE_COMMANDS_GET_WOOD (6)
3072 #define PAGE_COMMANDS_ENTER_BLDG (7)
3073 #define PAGE_COMMANDS_DROP_WOOD (8)
3074 #define PAGE_COMMANDS_DISMANTLE_BUILDING (9)
3075 #define PAGE_COMMANDS_GUARD_AREA (10)
3076 #define PAGE_COMMANDS_SPY_BURN_WOOD (11)
3077 #define PAGE_COMMANDS_SPY_INTERROGATE (12)
3078 #define PAGE_COMMANDS_SPY_SABOTAGE (13)
3079 #define PAGE_COMMANDS_SPY_DISGUISE (14)
3080 #define PAGE_COMMANDS_RELIGIOUS_PREACH (15)
3081 #define PAGE_COMMANDS_ATTACK (16)
3082 #define PAGE_COMMANDS_ENTER_PORTAL (17)
3083 #define PAGE_PEOPLE_WILD (0)
3084 #define PAGE_PEOPLE_BRAVE (1)
3085 #define PAGE_PEOPLE_WARRIOR (2)
3086 #define PAGE_PEOPLE_RELIGIOUS (3)
3087 #define PAGE_PEOPLE_SPY (4)
3088 #define PAGE_PEOPLE_SUPER_WARRIOR (5)
3089 #define PAGE_PEOPLE_MEDICINE_MAN (6)
3090 #define PAGE_PEOPLE_ANGEL (7)
3091 #define PAGE_PANELS_PEOPLE (0)
3092 #define PAGE_PANELS_MAP (1)
3093 #define PAGE_PANELS_SCORE (2)
3094 #define PAGE_PANELS_SPELLS (3)
3095 #define PAGE_PANELS_BUILDING (4)
3096 #define PAGE_PANELS_ALLIES (5)
3097 #define PAGE_PANELS_FILOFAX (6)
3098 #define PAGE_SPELLS_BURN (0)
3099 #define PAGE_SPELLS_BLAST (1)
3100 #define PAGE_SPELLS_LIGHTNING_BOLT (2)
3101 #define PAGE_SPELLS_WHIRLWIND (3)
3102 #define PAGE_SPELLS_INSECT_PLAGUE (4)
3103 #define PAGE_SPELLS_INVISIBILITY (5)
3104 #define PAGE_SPELLS_HYPNOTISM (6)
3105 #define PAGE_SPELLS_FIRESTORM (7)
3106 #define PAGE_SPELLS_GHOST_ARMY (8)
3107 #define PAGE_SPELLS_EROSION (9)
3108 #define PAGE_SPELLS_SWAMP (10)
3109 #define PAGE_SPELLS_LAND_BRIDGE (11)
3110 #define PAGE_SPELLS_ANGEL_OF_DEATH (12)
3111 #define PAGE_SPELLS_EARTHQUAKE (13)
3112 #define PAGE_SPELLS_FLATTEN (14)
3113 #define PAGE_SPELLS_VOLCANO (15)
3114 #define PAGE_SPELLS_WILD_CONVERT (16)
3115 #define PAGE_SPELLS_WRATH_OF_GOD (17)
3116 #define PAGE_SPELLS_SHIELD (18)
3117 #define PAGE_BUILDINGS_IF_HOW_TO_USE (0)
3118 #define PAGE_COMMANDS_IF_HOW_TO_USE (0)
3119 #define TOOL_TIP_TURNS_TIME (10)
3120 #define TOOL_TIP_MAX_WIDTH (80)
3121 #define STRING_TYPE_NORMAL (0)
3122 #define STRING_TYPE_PLAYER_NAMED (1)
3123 #define STRING_TYPE_OTHER_PLAYER_NAMED (2)
3124 #define STRING_TYPE_MAX_POP (3)
3125 #define MAX_NUM_ISLANDS (20)
3126 #define MAX_NUM_BRIDGES (10)
3127 #define BRIDGE_FLAG_CAN_SEE (1<<0)
3128 #define ON (1)
3129 #define OFF (0)
3130 #define GET_THERE_BY_LAND (0)
3131 #define GET_THERE_BY_WATER (1)
3132 #define GET_THERE_BY_AIR (2)
3133 #define DEMO_LEVEL_NUMBER_1 (28)
3134 #define DEMO_LEVEL_NUMBER_2 (29)
3135 #define DEMO_LEVEL_NUMBER_3 (30)
3136 #define DEMO_LEVEL_MULTI_NUMBER_1 (134)
3137 #define CGDF_BUILD_ERROR_TOO_FAR (1<<0)
3138 #define CGDF_BUILD_ERROR_TOO_CLOSE (1<<1)
3139 #define CGDF_BUILD_ERROR_ON_WATER (1<<2)
3140 #define CGDF_BUILD_ERROR_NEAR_COAST (1<<3)
3141 #define CGDF_BUILD_ERROR_ON_REINC_SITE (1<<4)
3142 #define CGDF_BUILD_ERROR_DESTROYED_LAND (1<<5)
3143 #define CGDF_BUILD_ERROR_NOT_FLAT (1<<6)
3144 #define CGDF_BUILD_ERROR_OBSTACLE (1<<7)
3145 #define CGDF_SINGLE_LEVEL (1<<8)
3146 #define CGDF_SPELL_ERROR_NO_MANA_MSG (1<<9)
3147 #define CGDF_ENEMY_SHAMAN_DEAD_MSG (1<<10)
3148 #define CGDF_BUILD_ERROR_FOG (1<<11)
3149 #define CGDF_YOUR_SHAMAN_DEAD (1<<12)
3150 #define CGDF_YOUR_BLDG_DISMANTLE (1<<13)
3151 #define CGDF_YOUR_BLDG_DESTROYED (1<<14)
3152 #define CGDF_NO_LANDBRIDGE_ON_WATER (1<<15)
3153 #define CGDF_NO_LANDBRIDGE_ON_SELF (1<<16)
3154 #define CGDF_NO_SHAMAN_SHIELD (1<<17)
3155 #define CGDF_NO_SHAMAN_INVIS (1<<18)
3156 #define CGDF_NO_SHAMAN_HYPNO_ON_WILD (1<<19)
3157 #define CGDF_NO_SHAMAN_BLOODLUST (1<<20)
3158 #define CGDF_SOME_CANT_WALK_HERE (1<<21)
3159 #define CGDF_ALL_CANT_WALK_HERE (1<<22)
3160 #define CGDF_MANA_INCOME_LOW (1<<23)
3161 #define CGDF_REACHED_MAX_POP (1<<24)
3162 #define CGDF_SAVED_IN_PLS (1<<25)
3163 #define CGDF_WASTING_MANA (1<<26)
3164 #define CGDF_NO_LANDBRIDGE_FROM_BALLOON (1<<27)
3165 #define SCRIPT_MAX_NUM_USER_VARS (1024)
3166 #define SCRIPT_MAX_NUM_INTERNAL_VARS (1088)
3167 #define SCRIPT_MAX_NUM_CODES (4096)
3168 #define SCRIPT_MAX_NUM_FIELDS (512)
3169 #define FE_OPT_NULL 0
3170 #define FE_OPT_YES_NO 1
3171 #define FE_OPT_NUMERIC 2
3172 #define FE_OPT_AUDIO 0
3173 #define FE_OPT_SOUND (0+1)
3174 #define FE_OPT_SOUND_VOL (0+2)
3175 #define FE_OPT_MUSIC (0+3)
3176 #define FE_OPT_MUSIC_VOL (0+4)
3177 #define FE_OPT_MUSIC_TYPE (0+5)
3178 #define FE_OPT_STREAM_TRACK (0+6)
3179 #define FE_OPT_CD_TRACK (0+7)
3180 #define FE_OPT_DETAIL (0+8)
3181 #define FE_OPT_RESOLUTION ((0+8)+1)
3182 #define FE_OPT_FOOTSTEPS ((0+8)+2)
3183 #define FE_OPT_WATER ((0+8)+3)
3184 #define SCR2T_TRIGGERD 0
3185 #define SCR2T_INJURED 1
3186 #define NUMBER_OF_ACTIONS (ACTION_NULL)
3187 #define MULTIFLAG_FOG (1<<0)
3188 #define MULTIFLAG_GUEST_TELE (1<<1)
3189 #define MULTIFLAG_GUEST_BLOOD (1<<2)
3190 #define MULTIFLAG_GUEST_ARMA (1<<3)
3191 #define MULTIFLAG_GUEST_RANDOM (1<<4)
3192 #define MULTIFLAG_SHAMAN_LIVES (1<<5)
3193 #define MULTIFLAG_LEVEL_EDIT (1<<7)
3194 #define MAX_NUMBER_DEVICES (16)
3195 #define DisplayMLeftButton (Pop3Input::IS_KEY_DOWN(LB_KEY_MOUSE0))
3196 #define DisplayMRightButton (Pop3Input::IS_KEY_DOWN(LB_KEY_MOUSE1))
3197 #define DisplayMMiddleButton (Pop3Input::IS_KEY_DOWN(LB_KEY_MOUSE2))
3198 #define TRUE 1
3199 #define FALSE 0
3200 #define LIST_NONE -1
3201 #define PEOPLELIST 0
3202 #define BUILDINGLIST 1
3203 #define BUILDINGMARKERLIST 2
3204 #define FORMATIONSLIST 3
3205 #define BEACONSLIST 4
3206 #define WILDLIST 5
3207 #define FIGHTLIST 6
3208 #define PREFIGHTLIST 7
3209 #define SPECIALLIST 8
3210 #define AIRSHIPSLIST 9
3211 #define BOATLIST 10
3212 #define TRIGGERLIST 11
3213 #define TRIGGERHEADLIST 12
3214 #define SWAMPLIST 13
3215 #define WOODLIST 14
3216 #define LB_DRAW_FLAG_XFLIP LB_DRAW_FLAG_XFLIP
3217 #define LB_DRAW_FLAG_YFLIP LB_DRAW_FLAG_YFLIP
3218 #define LB_DRAW_FLAG_OUTLINE LB_DRAW_FLAG_OUTLINE
3219 #define LB_DRAW_FLAG_GLASS LB_DRAW_FLAG_GLASS
3220 #define LB_DRAW_FLAG_INVERT_GLASS LB_DRAW_FLAG_INVERT_GLASS
3221 #define LB_DRAW_FLAG_FADE LB_DRAW_FLAG_FADE
int TRIBE_BLACK
int TRIBE_NEUTRAL
int TRIBE_YELLOW
int TRIBE_GREEN
int TRIBE_RED
int TRIBE_BLUE
int TRIBE_ORANGE
int TRIBE_CYAN
bool include(class std::basic_string< char, struct std::char_traits< char >, class std::allocator< char > >)
int TRIBE_HOSTBOT
void exit()
int TRIBE_PINK