perfect_dark/src/include/constants.h

2608 lines
101 KiB
C

#include "files.h"
#define FALSE 0
#define TRUE 1
#define false 0
#define true 1
#define osSyncPrintf
#define U32_MAX 4294967295
#define ABS(val) (val > 0 ? val : -val)
#define ALIGN16(val) ((val + 0xf | 0xf) ^ 0xf)
#define ARRAYCOUNT(a) (s32)(sizeof(a) / sizeof(a[0]))
#define CHRRACE(chr) (chr ? chr->race : RACE_HUMAN)
#define FRAMEDURATION (1 / 60.0f)
#define PLAYERCOUNT() ((g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0) + (g_Vars.players[3] ? 1 : 0))
#define PLAYERCOUNT3012() ((g_Vars.players[3] ? 1 : 0) + (g_Vars.players[0] ? 1 : 0) + (g_Vars.players[1] ? 1 : 0) + (g_Vars.players[2] ? 1 : 0))
#define SECSTOFRAMES240(secs) (secs * 240)
#define TEXT(bankid, index) ((bankid << 9) | index)
// These actions are assigned to chr->actiontype
#define ACT_INIT 0
#define ACT_STAND 1
#define ACT_KNEEL 2
#define ACT_ANIM 3
#define ACT_DIE 4
#define ACT_DEAD 5
#define ACT_ARGH 6
#define ACT_PREARGH 7
#define ACT_ATTACK 8
#define ACT_ATTACKWALK 9
#define ACT_ATTACKROLL 10
#define ACT_SIDESTEP 11
#define ACT_JUMPOUT 12
#define ACT_RUNPOS 13
#define ACT_PATROL 14
#define ACT_GOPOS 15
#define ACT_SURRENDER 16
#define ACT_LOOKATTARGET 17
#define ACT_SURPRISED 18
#define ACT_STARTALARM 19
#define ACT_THROWGRENADE 20
#define ACT_TURNDIR 21
#define ACT_TEST 22
#define ACT_BONDINTRO 23
#define ACT_BONDDIE 24
#define ACT_BONDMULTI 25
#define ACT_NULL 26
#define ACT_BOT_ATTACKSTAND 27
#define ACT_BOT_ATTACKKNEEL 28
#define ACT_BOT_ATTACKSTRAFE 29
#define ACT_DRUGGEDDROP 30
#define ACT_DRUGGEDKO 31
#define ACT_DRUGGEDCOMINGUP 32
#define ACT_ATTACKAMOUNT 33
#define ACT_ROBOTATTACK 34
#define ACT_SKJUMP 35
#define ACT_PUNCH 36
#define ACT_CUTFIRE 37
#define AIBOTCMD_FOLLOW 0
#define AIBOTCMD_ATTACK 1
#define AIBOTCMD_DEFEND 2
#define AIBOTCMD_HOLD 3
#define AIBOTCMD_NORMAL 4
#define AIBOTCMD_DOWNLOAD 5
#define AIBOTCMD_GETCASE 6
#define AIBOTCMD_TAGBOX 7
#define AIBOTCMD_SAVECASE 8
#define AIBOTCMD_DEFHILL 9
#define AIBOTCMD_HOLDHILL 10
#define AIBOTCMD_GETCASE2 11
#define AIBOTCMD_POPCAP 12
#define AIBOTCMD_PROTECT 13
#define AIMCONTROL_HOLD 0
#define AIMCONTROL_TOGGLE 1
#define AMMOTYPE_PISTOL 0x01
#define AMMOTYPE_SMG 0x02
#define AMMOTYPE_CROSSBOW 0x03
#define AMMOTYPE_RIFLE 0x04
#define AMMOTYPE_SHOTGUN 0x05
#define AMMOTYPE_FARSIGHT 0x06
#define AMMOTYPE_GRENADE 0x07
#define AMMOTYPE_ROCKET 0x08
#define AMMOTYPE_KNIFE 0x09
#define AMMOTYPE_MAGNUM 0x0a
#define AMMOTYPE_DEVASTATOR 0x0b
#define AMMOTYPE_REMOTE_MINE 0x0c
#define AMMOTYPE_PROXY_MINE 0x0d
#define AMMOTYPE_TIMED_MINE 0x0e
#define AMMOTYPE_REAPER 0x0f
#define AMMOTYPE_HOMINGROCKET 0x10
#define AMMOTYPE_DART 0x11
#define AMMOTYPE_NBOMB 0x12
#define AMMOTYPE_SEDATIVE 0x13
#define AMMOTYPE_CLOAK 0x14
#define AMMOTYPE_BOOST 0x15
#define AMMOTYPE_PSYCHOSIS 0x16
#define AMMOTYPE_17 0x17
#define AMMOTYPE_BUG 0x18
#define AMMOTYPE_MICROCAMERA 0x19
#define AMMOTYPE_PLASTIQUE 0x1a
#define AMMOTYPE_1B 0x1b
#define AMMOTYPE_1C 0x1c
#define AMMOTYPE_1D 0x1d
#define AMMOTYPE_TOKEN 0x1e
#define AMMOTYPE_1F 0x1f
#define AMMOTYPE_ECM_MINE 0x20
// Active menu slots
#define AMSLOTFLAG_CURRENT 0x02 // black, eg. current equipped weapon
#define AMSLOTFLAG_ACTIVE 0x08 // pulsates slightly, eg. cloak/xray when active
#define AMSLOTFLAG_HIDDEN 0x10
#define ANIM_IDLE 0x0000
#define ANIM_TWO_GUN_HOLD 0x0001
#define ANIM_KNEEL_TWO_HANDED_GUN 0x0008
#define ANIM_RUNNING_TWOHANDGUN 0x002a
#define ANIM_SURRENDER_002E 0x002e
#define ANIM_SURRENDER_002F 0x002f
#define ANIM_DEATH_STOMACH_LONG 0x0039
#define ANIM_003C 0x003c
#define ANIM_TALKING_003D 0x003d
#define ANIM_THROWGRENADE_STANDING 0x003e
#define ANIM_KNEEL_SHOOT_RIGHT_HAND 0x004b
#define ANIM_RUNNING_ONEHANDGUN 0x0059
#define ANIM_TALKING_0098 0x0098
#define ANIM_YAWN 0x009a
#define ANIM_SCRATCH_HEAD 0x009b
#define ANIM_ROLL_HEAD 0x009c
#define ANIM_GRAB_CROTCH 0x009d
#define ANIM_GRAB_BUTT 0x009e
#define ANIM_SNEEZE 0x009f
#define ANIM_TALKING_00A0 0x00a0
#define ANIM_TALKING_00A3 0x00a3
#define ANIM_PUSH_BUTTON 0x00ac
#define ANIM_STANDING_TYPE_ONE_HAND 0x00af
#define ANIM_COWER_01F5 0x01f5
#define ANIM_STAND_UP_FROM_SITTING 0x01fa
#define ANIM_SITTING_TYPING 0x01fb
#define ANIM_RELOAD 0x01ff
#define ANIM_DONT_SHOOT 0x0201
#define ANIM_SURPRISED_0202 0x0202
#define ANIM_OPERATE_0204 0x0204
#define ANIM_OPERATE_0205 0x0205
#define ANIM_OPERATE_0206 0x0206
#define ANIM_SMOKE_CIGARETTE 0x0207
#define ANIM_RELOAD_0209 0x0209
#define ANIM_OPERATE_0221 0x0221
#define ANIM_OPERATE_0222 0x0222
#define ANIM_OPERATE_0223 0x0223
#define ANIM_WALK_BACKWARDS 0x0226
#define ANIM_SITTING_DORMANT 0x0227
#define ANIM_BLINDED 0x0228
#define ANIM_COWER_0229 0x0229
#define ANIM_TALKING_0231 0x0231
#define ANIM_TALKING_0232 0x0232
#define ANIM_TALKING_0233 0x0233
#define ANIM_TALKING_0234 0x0234
#define ANIM_HEAD_ROLL 0x023b
#define ANIM_PICK_UP_GUN 0x023d
#define ANIM_BIG_SNEEZE 0x023f
#define ANIM_THROWGRENADE_NOPIN 0x0242
#define ANIM_THROWGRENADE_CROUCHING 0x0244
#define ANIM_DRAW_PISTOL_0245 0x0245
#define ANIM_LOOK_AROUND_025B 0x025b
#define ANIM_LOOK_AROUND_025C 0x025c
#define ANIM_LOOK_AROUND_025D 0x025d
#define ANIM_LOOK_AROUND_025E 0x025e
#define ANIM_LOOK_AROUND_FRANTIC 0x025f
#define ANIM_SITTING_0265 0x0265
#define ANIM_SNIPING_0269 0x0269
#define ANIM_SNIPING_026A 0x026a
#define ANIM_SNIPING_026B 0x026b
#define ANIM_DRAW_PISTOL_0288 0x0288
#define ANIM_DRAW_PISTOL_0289 0x0289
#define ANIM_FIX_GUN_JAM_EASY 0x0299
#define ANIM_FIX_GUN_JAM_HARD 0x029a
#define ANIM_SKEDAR_COLLAPSE 0x0352
#define ANIM_SKEDAR_JUMPSTART 0x0384
#define ANIM_SKEDAR_JUMPAIR 0x0385
#define ANIM_SKEDAR_RUNNING 0x0394
#define BANK_0 0
#define BANK_1 1
#define BANK_2 2
#define BANK_3 3
#define CAMERAMODE_0 0
#define CAMERAMODE_CUTSCENE 1
#define CAMERAMODE_2 2
#define CASING_NONE -1
#define CASING_STANDARD 0
#define CASING_REAPER 1
#define CASING_RIFLE 2
#define CASING_SHOTGUN 3
// Challenge numbers don't appear to be a 1:1 mapping :(
#define CHALLENGE_7 30
#define CHALLENGE_UNK64 64
#define CHANNEL_0 0
#define CHANNEL_1 1
#define CHANNEL_2 2
#define CHANNEL_3 3
#define CHANNEL_4 4
#define CHANNEL_5 5
#define CHANNEL_6 6
#define CHANNEL_7 7
#define CHANNEL_8 8
#define CHANNEL_9 9
#define CHANNEL_10 10
#define CHEAT_HURRICANEFISTS 0
#define CHEAT_CLOAKINGDEVICE 1
#define CHEAT_INVINCIBLE 2
#define CHEAT_ALLGUNS 3
#define CHEAT_UNLIMITEDAMMO 4
#define CHEAT_UNLIMITEDAMMONORELOADS 5
#define CHEAT_SLOMO 6
#define CHEAT_DKMODE 7
#define CHEAT_TRENTSMAGNUM 8
#define CHEAT_FARSIGHT 9
#define CHEAT_SMALLJO 10
#define CHEAT_SMALLCHARACTERS 11
#define CHEAT_ENEMYSHIELDS 12
#define CHEAT_JOSHIELD 13
#define CHEAT_SUPERSHIELD 14
#define CHEAT_CLASSICSIGHT 15
#define CHEAT_TEAMHEADSONLY 16
#define CHEAT_PLAYASELVIS 17
#define CHEAT_ENEMYROCKETS 18
#define CHEAT_UNLIMITEDAMMOLAPTOP 19
#define CHEAT_MARQUIS 20
#define CHEAT_PERFECTDARKNESS 21
#define CHEAT_PUGILIST 22
#define CHEAT_HOTSHOT 23
#define CHEAT_HITANDRUN 24
#define CHEAT_ALIEN 25
#define CHEAT_RTRACKER 26
#define CHEAT_ROCKETLAUNCHER 27
#define CHEAT_SNIPERRIFLE 28
#define CHEAT_XRAYSCANNER 29
#define CHEAT_SUPERDRAGON 30
#define CHEAT_LAPTOPGUN 31
#define CHEAT_PHOENIX 32
#define CHEAT_PSYCHOSISGUN 33
#define CHEAT_PP9I 34
#define CHEAT_CC13 35
#define CHEAT_KL01313 36
#define CHEAT_KF7SPECIAL 37
#define CHEAT_ZZT 38
#define CHEAT_DMC 39
#define CHEAT_AR53 40
#define CHEAT_RCP45 41
#define CHEATFLAG_TIMED 0
#define CHEATFLAG_ALWAYSON 1
#define CHEATFLAG_TRANSFERPAK 2
#define CHEATFLAG_COMPLETION 4
#define CHEATFLAG_FIRINGRANGE 8
#define CHR_P1P2_OPPOSITE 0xf1
#define CHR_P1P2 0xf2
#define CHR_ANY 0xf3 // Only supported by if_chr_activated_object command
#define CHR_ANTI 0xf4
#define CHR_COOP 0xf5
#define CHR_TARGET 0xf6
#define CHR_BOND 0xf8
#define CHR_CLONE 0xf9
#define CHR_SEESHOT 0xfa
#define CHR_SEEDIE 0xfb
#define CHR_PRESET 0xfc
#define CHR_SELF 0xfd
// chr->flags
#define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware
#define CHRFLAG0_00000002 0x00000002 // Not used in scripts
#define CHRFLAG0_00000004 0x00000004 // Can search for player when heard?
#define CHRFLAG0_CAN_EXAMINE_BODY 0x00000008
#define CHRFLAG0_00000010 0x00000010 // Globals, Skedar Ruins
#define CHRFLAG0_SAID_INJURY_QUIP 0x00000020
#define CHRFLAG0_00000040 0x00000040 // Globals - related to cover?
#define CHRFLAG0_00000080 0x00000080 // Globals, Chicago, Air Base
#define CHRFLAG0_CAN_BACKOFF 0x00000100
#define CHRFLAG0_CAN_RETREAT 0x00000200
#define CHRFLAG0_UNSURPRISABLE 0x00000400 // may also be "can uncover disguise"
#define CHRFLAG0_CAN_THROW_GRENADES 0x00000800
#define CHRFLAG0_CAN_FLANK 0x00001000
#define CHRFLAG0_00002000 0x00002000 // Used quite a lot
#define CHRFLAG0_00004000 0x00004000 // Patroller - if set, overrides the 00002000 flag (interprets 00002000 as off)
#define CHRFLAG0_00008000 0x00008000 // Something to do with breaking cover or grenades?
#define CHRFLAG0_AIVSAI 0x00010000
#define CHRFLAG0_CAN_TRAP 0x00020000
#define CHRFLAG0_CAN_RUN_FOR_ALARM 0x00040000
#define CHRFLAG0_SQUADALERTANYDIST 0x00080000
#define CHRFLAG0_00100000 0x00100000 // Become alert when hearing player and never on screen
#define CHRFLAG0_00200000 0x00200000 // Globals, Villa hostage takers
#define CHRFLAG0_00400000 0x00400000 // Not used in scripts
#define CHRFLAG0_CAN_HEAR_ALARMS 0x00800000
#define CHRFLAG0_01000000 0x01000000 // Globals
#define CHRFLAG0_02000000 0x02000000 // Globals - set when ambushing
#define CHRFLAG0_04000000 0x04000000 // If set, chr can't follow player (ie. stays)?
#define CHRFLAG0_08000000 0x08000000 // Globals, Villa, Infiltration, Pelagic
#define CHRFLAG0_10000000 0x10000000 // If set, "IM GOING TO POP"
#define CHRFLAG0_CAN_HEARSPAWN 0x20000000
#define CHRFLAG0_NOHEAR 0x40000000 // Globals, Villa
#define CHRFLAG0_80000000 0x80000000 // Globals, Villa, Chicago, CI Training
// chr->flags2
#define CHRFLAG1_00000001 0x00000001 // Globals, Extraction, Air Base, Deep Sea
#define CHRFLAG1_00000002 0x00000002 // Globals
#define CHRFLAG1_00000004 0x00000004 // Globals - If set, avoids cmd0184
#define CHRFLAG1_00000008 0x00000008 // Only used in WAR. If set, chr waits 2 seconds before attacking while defending
#define CHRFLAG1_00000010 0x00000010 // Globals - If set, avoids cmd0184
#define CHRFLAG1_00000020 0x00000020 // Globals, AF1, Defense - related to reload animation
#define CHRFLAG1_CAN_SNIPE 0x00000040
#define CHRFLAG1_00000080 0x00000080 // Not used in scripts
#define CHRFLAG1_DOINGIDLEANIMATION 0x00000100
#define CHRFLAG1_WARNED 0x00000200
#define CHRFLAG1_00000400 0x00000400 // Globals
#define CHRFLAG1_00000800 0x00000800 // Globals - related to punch damage
#define CHRFLAG1_00001000 0x00001000 // Globals, Chicago, Infiltration
#define CHRFLAG1_00002000 0x00002000 // Globals - triggers grenade throw
#define CHRFLAG1_00004000 0x00004000 // Globals - related to cover
#define CHRFLAG1_LONG_CAMSPY_OBSERVATION 0x00008000
#define CHRFLAG1_00010000 0x00010000 // Globals - if set, prevents setting of chrflag0_00100000
#define CHRFLAG1_00020000 0x00020000 // Globals
#define CHRFLAG1_00040000 0x00040000 // Globals - seems related to 00020000
#define CHRFLAG1_00080000 0x00080000 // Set in many places, read in globals and AF1
#define CHRFLAG1_00100000 0x00100000 // Globals
#define CHRFLAG1_00200000 0x00200000 // Deep Sea (Elvis)
#define CHRFLAG1_PUNCH_THEN_GENERAL_COMBAT 0x00400000 // If unset, return after punching. If set, assign general combat
#define CHRFLAG1_DONE_SEARCH_ANIM 0x00800000
#define CHRFLAG1_01000000 0x01000000 // Can search for player when heard?
#define CHRFLAG1_02000000 0x02000000 // Globals
#define CHRFLAG1_CAN_LOOK_AROUND 0x04000000
#define CHRFLAG1_DISSPEE 0x08000000
#define CHRFLAG1_10000000 0x10000000 // Some kind of param for searching
#define CHRFLAG1_CAN_DRAW_PISTOL 0x20000000
#define CHRFLAG1_40000000 0x40000000 // Globals
#define CHRFLAG1_80000000 0x80000000 // Globals
// chr->hidden
#define CHRHFLAG_00000001 0x00000001 // Set when chr drops weapon
#define CHRHFLAG_00000002 0x00000002 // Not used in scripts
#define CHRHFLAG_00000004 0x00000004 // Related to firing - hand 1
#define CHRHFLAG_00000008 0x00000008 // Related to firing - hand 0
#define CHRHFLAG_00000010 0x00000010 // Not used in scripts
#define CHRHFLAG_00000020 0x00000020 // Not used in scripts
#define CHRHFLAG_TIMER_RUNNING 0x00000040
#define CHRHFLAG_00000080 0x00000080 // Not used in scripts
#define CHRHFLAG_00000100 0x00000100 // Not used in scripts
#define CHRHFLAG_00000200 0x00000200 // Not used in scripts
#define CHRHFLAG_PASSIVE 0x00000400
#define CHRHFLAG_KEEP_CORPSE 0x00000800
#define CHRHFLAG_BUDDY_PLACED 0x00001000
#define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
#define CHRHFLAG_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
#define CHRHFLAG_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
#define CHRHFLAG_00040000 0x00040000 // Not used in scripts
#define CHRHFLAG_DISGUISED 0x00080000
#define CHRHFLAG_00100000 0x00100000 // Set before warping to pad, never unset or read
#define CHRHFLAG_00200000 0x00200000 // Not used in scripts
#define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
#define CHRHFLAG_00800000 0x00800000 // Not used in scripts
#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
#define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection
#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5
#define CHRHFLAG_10000000 0x10000000 // Related to invincible flag
#define CHRHFLAG_CLOAKED 0x20000000
#define CHRHFLAG_40000000 0x40000000 // Air Base and AF1
#define CHRHFLAG_PSYCHOSISED 0x80000000
// chr->hidden2
#define CHRH2FLAG_0001 0x0001
#define CHRH2FLAG_0040 0x0040
#define CHRH2FLAG_1000 0x1000
// chr->chrflags
#define CHRCFLAG_00000001 0x00000001 // Villa takers, Attack Ship Cass and skedar - both set at end of intros
#define CHRCFLAG_00000002 0x00000002 // Seems to be set on guards who can spawn clones?
#define CHRCFLAG_NEAR_MISS 0x00000004
#define CHRCFLAG_NEVER_BEEN_ON_SCREEN 0x00000008
#define CHRCFLAG_INVINCIBLE_TO_GUNFIRE 0x00000010
#define CHRCFLAG_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
#define CHRCFLAG_00000040 0x00000040 // Used quite a lot
#define CHRCFLAG_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
#define CHRCFLAG_JUST_INJURED 0x00000100
#define CHRCFLAG_00000200 0x00000200 // Set on clones
#define CHRCFLAG_HIDDEN 0x00000400
#define CHRCFLAG_NOAUTOAIM 0x00000800
#define CHRCFLAG_UNEXPLODABLE 0x00001000
#define CHRCFLAG_00002000 0x00002000 // Not used in scripts
#define CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
#define CHRCFLAG_00008000 0x00008000 // Not used in scripts
#define CHRCFLAG_00010000 0x00010000 // Related to dead people in intro cutscenes
#define CHRCFLAG_00020000 0x00020000 // Chicago, Crash Site, Deep Sea, Defense, Ruins
#define CHRCFLAG_00040000 0x00040000 // Used a lot
#define CHRCFLAG_00080000 0x00080000
#define CHRCFLAG_KILLCOUNTABLE 0x00100000
#define CHRCFLAG_00200000 0x00200000 // Unset by cmd 00fd
#define CHRCFLAG_00400000 0x00400000 // Not used in scripts
#define CHRCFLAG_UNPLAYABLE 0x00800000
#define CHRCFLAG_01000000 0x01000000 // Typically set on allies during init
#define CHRCFLAG_02000000 0x02000000 // can be unset by cmd0168
#define CHRCFLAG_04000000 0x04000000 // Set by aiChrKill command
#define CHRCFLAG_CONSIDER_DODGE 0x08000000
#define CHRCFLAG_10000000 0x10000000 // Not used in scripts
#define CHRCFLAG_20000000 0x20000000 // Not used in scripts
#define CHRCFLAG_40000000 0x40000000 // Not used in scripts
#define CHRCFLAG_INJURED 0x80000000
#define CIROOM_FIRINGRANGE 0x0a
#define CIROOM_HOLOSTART 0x16
#define CIROOM_HOLOEND 0x19
#define CIROOM_DEVICEROOM 0x1e
#define CMD_LABEL 0x0002
#define CMD_END 0x0004
#define CMD_PRINT 0x00b5
#define COLOR_00_GREEN 0x00
#define COLOR_02_WHITE 0x02
#define COLOR_03_RED 0x03
#define COLOR_04_ORANGE 0x04
#define COLOR_05_GREEN 0x05
#define COLOR_06_WHITE 0x06
#define COLOR_07_RED 0x07
#define COLOR_08_RED 0x08
#define COLOR_09_BLUE 0x09
#define CONTROLMODE_SINGLE 0
#define CONTROLMODE_DOUBLE 1
#define COVERFLAG_0001 0x0001
#define COVERFLAG_0002 0x0002
#define COVERFLAG_0020 0x0020
#define COVERFLAG_0040 0x0040
#define COVERFLAG_0080 0x0080
// L/C/R = left/centered/right
// big/med/sml is the font size
#define CREDITSTYLE_R_BIG_R_MED 1
#define CREDITSTYLE_C_BIG 2
#define CREDITSTYLE_C_MED 3
#define CREDITSTYLE_C_SML 5
#define CREDITSTYLE_L_BIG 7
#define CREDITSTYLE_R_MED 9
#define CREDITSTYLE_C_BIG_C_BIG 10
#define CREDITSTYLE_TERMINATOR 20
#define CROUCH_SQUAT 0
#define CROUCH_HALF 1
#define CROUCH_STAND 2
#define DIFF_A 0x00
#define DIFF_SA 0x01
#define DIFF_PA 0x02
#define DIFF_PD 0x03
// These difficulties are for briefings, which can be bitwise ORed
#define DIFFBIT_A 0x01
#define DIFFBIT_SA 0x02
#define DIFFBIT_PA 0x04
#define DIFFBIT_PD 0x08
#define DOORFLAG_WINDOWED 0x0002
#define DOORFLAG_0004 0x0004
#define DOORFLAG_0008 0x0008 // Changes the angle at which one-way doors can be opened
#define DOORFLAG_0010 0x0010 // Rescue door bottoms, training doors in Defense
#define DOORFLAG_0200 0x0200 // dataDyne secret door near lobby elevator
#define DOORFLAG_DAMAGEONCONTACT 0x0400 // Lasers
#define DOORFLAG_0800 0x0800 // Non-CI lasers, and floor grates
#define DOORFLAG_4000 0x4000 // Two Investigation vertical doors after lasers
#define DOORMODE_IDLE 0
#define DOORMODE_OPENING 1
#define DOORMODE_CLOSING 2
#define DOORMODE_3 3
// For AI commands - bitwise ORable
#define DOORSTATE_CLOSED 1
#define DOORSTATE_OPEN 2
#define DOORSTATE_CLOSING 4
#define DOORSTATE_OPENING 8
#define DOORTYPE_SLIDING 0
#define DOORTYPE_VERTICAL 4
#define DOORTYPE_SWINGING 5
#define DOORTYPE_8 8
#define DOORTYPE_HULL 10
#define DOORTYPE_LASER 11
#define DRCAROLLIMAGE_EYESDEFAULT 0
#define DRCAROLLIMAGE_HEARTRATE 1
#define DRCAROLLIMAGE_EYESFROWNING 2
#define DRCAROLLIMAGE_X 3
#define DRCAROLLIMAGE_STATIC 4
#define DRCAROLLIMAGE_BINARY 5
#define DRCAROLLIMAGE_EYESSLEEPY 6
#define DRCAROLLIMAGE_RANDOM25 7
#define DRCAROLLIMAGE_RANDOM 8
#define ENTITYTYPE_CHR 0x0004
#define ENTITYTYPE_PAD 0x0008
#define ENTITYTYPE_DIRECTION 0x0010
#define ENTITYTYPE_TARGET 0x0200
#define EYESPYMODE_CAMSPY 0
#define EYESPYMODE_DRUGSPY 1
#define EYESPYMODE_BOMBSPY 2
#define FLOORFLAG_0100 0x0100
#define FLOORFLAG_4000 0x4000
#define FRFAILREASON_NOTFAILED 0
#define FRFAILREASON_OUTOFAMMO 1
#define FRFAILREASON_TIMEOVER 2
#define FRFAILREASON_SCOREUNATTAINABLE 3
#define FRFAILREASON_INACCURATE 4
#define FRZONE_RING3 1
#define FRZONE_RING2 2
#define FRZONE_RING1 5
#define FRZONE_BULLSEYE 10
#define FRZONE_EXPLODE 11
// Weapon functions
#define FUNC_PRIMARY 0
#define FUNC_SECONDARY 1
#define GAILIST_IDLE 0x0000
#define GAILIST_UNALERTED_0001 0x0001
#define GAILIST_UNALERTED_0002 0x0002
#define GAILIST_STOP_UNALERTED 0x0003 // unused
#define GAILIST_UNALERTED_0004 0x0004
#define GAILIST_END_CINEMA 0x0005
#define GAILIST_UNALERTED 0x0006
#define GAILIST_ALERTED 0x0007
#define GAILIST_WAKEUP 0x0008
#define GAILIST_IDLE_0009 0x0009
#define GAILIST_BUSY 0x000a
#define GAILIST_CHOOSE_TARGET 0x000b
#define GAILIST_COMBAT_WITH_TARGET 0x000c
#define GAILIST_INIT_COMBAT 0x000d // unused
#define GAILIST_SEE_THEN_ATTACK 0x000e // unused
#define GAILIST_HAND_COMBAT 0x000f
#define GAILIST_CIVILIAN_SAY_COMMENT 0x0010
#define GAILIST_FLEE_FROM_GRENADE 0x0011
#define GAILIST_INIT_COOP_100 0x0012 // unused
#define GAILIST_INIT_COOP_200 0x0013 // unused
#define GAILIST_COOP_BUDDY 0x0014
#define GAILIST_AIBUDDY_STEALTH 0x0015
#define GAILIST_SHOW_OBJ_FAILED_MSG 0x0016
#define GAILIST_REBUILD_GROUPS 0x0017
#define GAILIST_DO_BORED_ANIMATION 0x0018
#define GAILIST_DO_SITTING_ANIMATION 0x0019
#define GAILIST_DISGUISE_DETECTION 0x001a
#define GAILIST_OBSERVE_CAMSPY 0x001b
#define GAILIST_SURPRISED 0x001c
#define GAILIST_SEARCH_FOR_PLAYER 0x001d
#define GAILIST_LOOK_AROUND 0x001e
#define GAILIST_RELATED_TO_SPAWNING 0x001f
#define GAILIST_PLACE_COOP_BUDDY 0x0020
#define GAILIST_STOP_AND_IDLE 0x0021
#define GAILIST_COMMENT_ON_PLAYER_DEAD 0x0022 // unused
#define GAILIST_DODGE 0x0023
#define GAILIST_FOLLOW_BOND 0x0024
#define GAILIST_POINTLESS 0x0025 // unused
#define GAILIST_INIT_PSYCHOSIS 0x0026
#define GAILIST_PSYCHOSISED 0x0027
#define GAILIST_AI_BOT_DEAD 0x0028 // unused
#define GAILIST_AI_BOT_INIT 0x0029 // unused
#define GAILIST_AI_BOT_ALIVE 0x002a // unused
#define GAILIST_DO_SOMETHING_AND_WAIT 0x002b // unused
#define GAILIST_INIT_SEARCH 0x002c // unused
#define GAILIST_INVINCIBLE_AND_IDLE 0x002d
#define HANGARBIO_INSTITUTE 0
#define HANGARBIO_DDTOWER 1
#define HANGARBIO_LABBASEMENT 2
#define HANGARBIO_VILLA 3
#define HANGARBIO_CHICAGO 4
#define HANGARBIO_G5 5
#define HANGARBIO_AREA51 6
#define HANGARBIO_AIRBASE 7
#define HANGARBIO_AIRFORCEONE 8
#define HANGARBIO_CRASHSITE 9
#define HANGARBIO_PELAGIC 10
#define HANGARBIO_DEEPSEA 11
#define HANGARBIO_ATTACKSHIP 12
#define HANGARBIO_SKEDARRUINS 13
#define HANGARBIO_JUMPSHIP 14
#define HANGARBIO_HOVERCRATE 15
#define HANGARBIO_HOVERBIKE 16
#define HANGARBIO_HOVERBOT 17
#define HANGARBIO_HOVERCOPTER 18
#define HANGARBIO_G5ROBOT 19
#define HANGARBIO_A51INTERCEPTOR 20
#define HANGARBIO_MAIANVESSEL 21
#define HANGARBIO_SKEDARSHUTTLE 22
#define HUDMSGFLAG_ONLYIFALIVE 0x1
#define HUDMSGFLAG_2 0x2
#define HUDMSGFLAG_4 0x4
#define HUDMSGFLAG_ALLOWDUPES 0x8
#define HUDMSGSTATE_FREE 0
#define HUDMSGSTATE_QUEUED 1
#define HUDMSGSTATE_ONSCREEN 5
#define HUDMSGTYPE_DEFAULT 0
#define HUDMSGTYPE_OBJECTIVECOMPLETE 1
#define HUDMSGTYPE_OBJECTIVEFAILED 2
#define HUDMSGTYPE_3 3
#define HUDMSGTYPE_4 4
#define HUDMSGTYPE_SUBTITLE 6
#define IDLEACTION_STANDING 0x01
#define IDLEACTION_SITTING_TYPING 0x02
#define IDLEACTION_SITTING_DORMANT 0x03
#define IDLEACTION_OPERATING 0x04
#define IDLEACTION_OPERATING_PAD 0x05
#define INTROTYPE_SPAWN 0
#define INTROTYPE_WEAPON 1
#define INTROTYPE_AMMO 2
#define INTROTYPE_3 3
#define INTROTYPE_4 4
#define INTROTYPE_OUTFIT 5
#define INTROTYPE_6 6
#define INTROTYPE_WATCHTIME 7
#define INTROTYPE_CREDITOFFSET 8
#define INTROTYPE_CASE 9
#define INTROTYPE_CASERESPAWN 10
#define INTROTYPE_HILL 11
#define INTROTYPE_END 12
#define INVENTORYFUNCTYPE_NONE 0x0000
#define INVENTORYFUNCTYPE_SHOOT_SINGLE 0x0001
#define INVENTORYFUNCTYPE_SHOOT_AUTOMATIC 0x0101
#define INVENTORYFUNCTYPE_SHOOT_PROJECTILE 0x0201
#define INVENTORYFUNCTYPE_THROW 0x0002
#define INVENTORYFUNCTYPE_CLOSE 0x0003
#define INVENTORYFUNCTYPE_SPECIAL 0x0004
#define INVENTORYFUNCTYPE_VISUAL 0x0005
#define INVITEMTYPE_WEAP 1
#define INVITEMTYPE_PROP 2
#define INVITEMTYPE_DUAL 3
#define LANGBANK_AME 0x01
#define LANGBANK_ARCH 0x02
#define LANGBANK_ARK 0x03
#define LANGBANK_ASH 0x04
#define LANGBANK_AZT 0x05
#define LANGBANK_CAT 0x06
#define LANGBANK_CAVE 0x07
#define LANGBANK_AREC 0x08
#define LANGBANK_CRAD 0x09
#define LANGBANK_CRYP 0x0a
#define LANGBANK_DAM 0x0b
#define LANGBANK_DEPO 0x0c
#define LANGBANK_DEST 0x0d
#define LANGBANK_DISH 0x0e
#define LANGBANK_EAR 0x0f
#define LANGBANK_ELD 0x10
#define LANGBANK_IMP 0x11
#define LANGBANK_JUN 0x12
#define LANGBANK_LEE 0x13
#define LANGBANK_LEN 0x14
#define LANGBANK_LIP 0x15
#define LANGBANK_LUE 0x16
#define LANGBANK_OAT 0x17
#define LANGBANK_PAM 0x18
#define LANGBANK_PETE 0x19
#define LANGBANK_REF 0x1a
#define LANGBANK_RIT 0x1b
#define LANGBANK_RUN 0x1c
#define LANGBANK_SEVB 0x1d
#define LANGBANK_SEV 0x1e
#define LANGBANK_SEVX 0x1f
#define LANGBANK_SEVXB 0x20
#define LANGBANK_SHO 0x21
#define LANGBANK_SILO 0x22
#define LANGBANK_STAT 0x23
#define LANGBANK_TRA 0x24
#define LANGBANK_WAX 0x25
#define LANGBANK_GUN 0x26
#define LANGBANK_TITLE 0x27
#define LANGBANK_MPMENU 0x28
#define LANGBANK_PROPOBJ 0x29
#define LANGBANK_MPWEAPONS 0x2a
#define LANGBANK_OPTIONS 0x2b
#define LANGBANK_MISC 0x2c
#define LANGBANK_UFF 0x2d
#define LANGBANK_OLD 0x2e
#define LANGBANK_ATE 0x2f
#define LANGBANK_LAM 0x30
#define LANGBANK_MP1 0x31
#define LANGBANK_MP2 0x32
#define LANGBANK_MP3 0x33
#define LANGBANK_MP4 0x34
#define LANGBANK_MP5 0x35
#define LANGBANK_MP6 0x36
#define LANGBANK_MP7 0x37
#define LANGBANK_MP8 0x38
#define LANGBANK_MP9 0x39
#define LANGBANK_MP10 0x3a
#define LANGBANK_MP11 0x3b
#define LANGBANK_MP12 0x3c
#define LANGBANK_MP13 0x3d
#define LANGBANK_MP14 0x3e
#define LANGBANK_MP15 0x3f
#define LANGBANK_MP16 0x40
#define LANGBANK_MP17 0x41
#define LANGBANK_MP18 0x42
#define LANGBANK_MP19 0x43
#define LANGBANK_MP20 0x44
#define L_AME(index) TEXT(LANGBANK_AME, index)
#define L_ARCH(index) TEXT(LANGBANK_ARCH, index)
#define L_ARK(index) TEXT(LANGBANK_ARK, index)
#define L_ASH(index) TEXT(LANGBANK_ASH, index)
#define L_AZT(index) TEXT(LANGBANK_AZT, index)
#define L_CAT(index) TEXT(LANGBANK_CAT, index)
#define L_CAVE(index) TEXT(LANGBANK_CAVE, index)
#define L_AREC(index) TEXT(LANGBANK_AREC, index)
#define L_CRAD(index) TEXT(LANGBANK_CRAD, index)
#define L_CRYP(index) TEXT(LANGBANK_CRYP, index)
#define L_DAM(index) TEXT(LANGBANK_DAM, index)
#define L_DEPO(index) TEXT(LANGBANK_DEPO, index)
#define L_DEST(index) TEXT(LANGBANK_DEST, index)
#define L_DISH(index) TEXT(LANGBANK_DISH, index)
#define L_EAR(index) TEXT(LANGBANK_EAR, index)
#define L_ELD(index) TEXT(LANGBANK_ELD, index)
#define L_IMP(index) TEXT(LANGBANK_IMP, index)
#define L_JUN(index) TEXT(LANGBANK_JUN, index)
#define L_LEE(index) TEXT(LANGBANK_LEE, index)
#define L_LEN(index) TEXT(LANGBANK_LEN, index)
#define L_LIP(index) TEXT(LANGBANK_LIP, index)
#define L_LUE(index) TEXT(LANGBANK_LUE, index)
#define L_OAT(index) TEXT(LANGBANK_OAT, index)
#define L_PAM(index) TEXT(LANGBANK_PAM, index)
#define L_PETE(index) TEXT(LANGBANK_PETE, index)
#define L_REF(index) TEXT(LANGBANK_REF, index)
#define L_RIT(index) TEXT(LANGBANK_RIT, index)
#define L_RUN(index) TEXT(LANGBANK_RUN, index)
#define L_SEVB(index) TEXT(LANGBANK_SEVB, index)
#define L_SEV(index) TEXT(LANGBANK_SEV, index)
#define L_SEVX(index) TEXT(LANGBANK_SEVX, index)
#define L_SEVXB(index) TEXT(LANGBANK_SEVXB, index)
#define L_SHO(index) TEXT(LANGBANK_SHO, index)
#define L_SILO(index) TEXT(LANGBANK_SILO, index)
#define L_STAT(index) TEXT(LANGBANK_STAT, index)
#define L_TRA(index) TEXT(LANGBANK_TRA, index)
#define L_WAX(index) TEXT(LANGBANK_WAX, index)
#define L_GUN(index) TEXT(LANGBANK_GUN, index)
#define L_TITLE(index) TEXT(LANGBANK_TITLE, index)
#define L_MPMENU(index) TEXT(LANGBANK_MPMENU, index)
#define L_PROPOBJ(index) TEXT(LANGBANK_PROPOBJ, index)
#define L_MPWEAPONS(index) TEXT(LANGBANK_MPWEAPONS, index)
#define L_OPTIONS(index) TEXT(LANGBANK_OPTIONS, index)
#define L_MISC(index) TEXT(LANGBANK_MISC, index)
#define L_UFF(index) TEXT(LANGBANK_UFF, index)
#define L_OLD(index) TEXT(LANGBANK_OLD, index)
#define L_ATE(index) TEXT(LANGBANK_ATE, index)
#define L_LAM(index) TEXT(LANGBANK_LAM, index)
#define L_MP1(index) TEXT(LANGBANK_MP1, index)
#define L_MP2(index) TEXT(LANGBANK_MP2, index)
#define L_MP3(index) TEXT(LANGBANK_MP3, index)
#define L_MP4(index) TEXT(LANGBANK_MP4, index)
#define L_MP5(index) TEXT(LANGBANK_MP5, index)
#define L_MP6(index) TEXT(LANGBANK_MP6, index)
#define L_MP7(index) TEXT(LANGBANK_MP7, index)
#define L_MP8(index) TEXT(LANGBANK_MP8, index)
#define L_MP9(index) TEXT(LANGBANK_MP9, index)
#define L_MP10(index) TEXT(LANGBANK_MP10, index)
#define L_MP11(index) TEXT(LANGBANK_MP11, index)
#define L_MP12(index) TEXT(LANGBANK_MP12, index)
#define L_MP13(index) TEXT(LANGBANK_MP13, index)
#define L_MP14(index) TEXT(LANGBANK_MP14, index)
#define L_MP15(index) TEXT(LANGBANK_MP15, index)
#define L_MP16(index) TEXT(LANGBANK_MP16, index)
#define L_MP17(index) TEXT(LANGBANK_MP17, index)
#define L_MP18(index) TEXT(LANGBANK_MP18, index)
#define L_MP19(index) TEXT(LANGBANK_MP19, index)
#define L_MP20(index) TEXT(LANGBANK_MP20, index)
#define LANGUAGE_ENGLISH 0
#define LANGUAGE_JAPANESE 1
// These actions are assigned to chr->myaction
#define MA_NONE 0
#define MA_NORMAL 1
#define MA_COVERWAIT 2
#define MA_GRENADEWAIT 3
#define MA_WAITING 4
#define MA_COVERGOTO 5
#define MA_COVERBREAK 6
#define MA_COVERSEEN 7
#define MA_FLANKLEFT 8
#define MA_FLANKRIGHT 9
#define MA_DODGE 10
#define MA_GRENADE 11
#define MA_WAITSEEN 12
#define MA_WITHDRAW 13
#define MA_SHOOTING 14
#define MA_SYNCSHOOT 15
#define MA_WAITTIMEOUT 16
#define MA_COVERTIMEOUT 17
#define MA_TRACKING 18
#define MA_RETREAT 19
#define MA_SURRENDER 20
#define MA_TALKING 21
#define MA_LISTENING 22
#define MA_GOTOALARM 23
#define MA_BOTFRIENDFOLLOW 24
#define MA_BOTHIDE 25
#define MA_BOTPATH 26
#define MA_BOTINJURED 27
#define MA_BOTNORMAL 28
#define MA_BOTSHOOTING 29
#define MA_DRUGGED 30
#define MA_PANIC 31
#define MA_RUNFROMGRENADE 32
#define MA_UNARMEDATTACK 33
#define MA_SKJUMP_START 34
#define MA_SKJUMP_AIR 35
#define MA_SKJUMP_LAND 36
#define MA_SKJUMP_LANDLOOP 37
#define MA_SKJUMP_SHOT 38
#define MA_AIBOTDEADLIST 39
#define MA_AIBOTINIT 40
#define MA_AIBOTMAINLOOP 41
#define MA_AIBOTGETITEM 42
#define MA_AIBOTGOTOPOS 43
#define MA_AIBOTGOTOPROP 44
#define MA_AIBOTRUNAWAY 45
#define MA_AIBOTDOWNLOAD 46
#define MA_AIBOTATTACK 47
#define MA_UNUSED1 48
#define MA_UNUSED2 49
#define MA_AIBOTFOLLOW 50
#define MA_AIBOTDEFEND 51
#define MA_FLANKBEST 52
#define MA_FACING 53
#define MA_PUNCHING 54
#define MA_END 55
#define MAX_CHRWAYPOINTS 6
#define MAX_DANGEROUSPROPS 12
#define MAX_GUNHELD 10
#define MAX_LIFTS 10
#define MAX_MPCHRS (4 + MAX_SIMULANTS)
#define MAX_OBJECTIVES 10
#define MAX_SIMULANTS 8
#define MAX_SPAWNPOINTS 24
#define MAX_SQUADRONS 16
#define MAX_TEAMS 8
#define MENUDIALOGTYPE_DEFAULT 1
#define MENUDIALOGTYPE_DANGER 2
#define MENUDIALOGTYPE_SUCCESS 3
#define MENUITEMTYPE_LABEL 0x01
#define MENUITEMTYPE_CUSTOM 0x02
#define MENUITEMTYPE_SELECTABLE 0x04
#define MENUITEMTYPE_SCROLLABLE 0x05
#define MENUITEMTYPE_OBJECTIVES 0x06
#define MENUITEMTYPE_07 0x07
#define MENUITEMTYPE_SLIDER 0x08
#define MENUITEMTYPE_CHECKBOX 0x09
#define MENUITEMTYPE_SEPARATOR 0x0b
#define MENUITEMTYPE_DROPDOWN 0x0c
#define MENUITEMTYPE_KEYBOARD 0x0d
#define MENUITEMTYPE_RANKING 0x0e
#define MENUITEMTYPE_PLAYERSTATS 0x0f
#define MENUITEMTYPE_CAROUSEL 0x11
#define MENUITEMTYPE_MODEL 0x12
#define MENUITEMTYPE_15 0x15
#define MENUITEMTYPE_MARQUEE 0x17
#define MENUITEMTYPE_CONTROLLER 0x19
#define MENUITEMTYPE_END 0x1a
#define MENUOP_GETOPTIONCOUNT 1
#define MENUOP_GETOPTGROUPCOUNT 2
#define MENUOP_GETOPTIONTEXT 3
#define MENUOP_GETOPTGROUPTEXT 4
#define MENUOP_GETGROUPSTARTINDEX 5
#define MENUOP_SET 6
#define MENUOP_GETOPTIONVALUE 7
#define MENUOP_GET 8
#define MENUOP_GETSLIDER 9
#define MENUOP_GETSLIDERLABEL 10
#define MENUOP_CHECKDISABLED 12
#define MENUOP_13 13
#define MENUOP_CHECKPREFOCUSED 15
#define MENUOP_16 16
#define MENUOP_GETTEXT 17
#define MENUOP_SETTEXT 18
#define MENUOP_CHECKHIDDEN 24
#define MENUOP_100 100
#define MENUOP_101 101
#define MENUOP_102 102
#define MENUROOT_SOLOENDSCREEN 1
#define MENUROOT_SOLOPAUSE 2
#define MENUROOT_COMBATSIM 3
#define MENUROOT_MPPAUSE 4
#define MENUROOT_MPENDSCREEN 5
#define MENUROOT_FILESELECT 6
#define MENUROOT_BOOTPAKMGR 7
#define MENUROOT_9 9
#define MENUROOT_10 10
#define MENUROOT_4MBMAINMENU 11
#define MENUROOT_TRAINING 13
#define MISCBIO_MAIANS 0
#define MISCBIO_SKEDAR 1
#define MISCBIO_BACKGROUND 2
#define MISCBIO_STORY 3
// Models
#define MODEL_ROOFGUN 0x0000
#define MODEL_GROUNDGUN 0x0001
#define MODEL_TVSCREEN 0x0002
#define MODEL_BORG_CRATE 0x0003
#define MODEL_WINDOW 0x0004
#define MODEL_A51_CRATE1_0005 0x0005
#define MODEL_A51_CRATE1_0006 0x0006
#define MODEL_A51_CRATE1_0007 0x0007
#define MODEL_A51_CRATE1_0008 0x0008
#define MODEL_A51_CRATE1_0009 0x0009
#define MODEL_A51_CRATE1_000a 0x000a
#define MODEL_A51_CRATE1_000b 0x000b
#define MODEL_A51_CRATE1_000c 0x000c
#define MODEL_A51_CRATE1_000d 0x000d
#define MODEL_A51_CRATE1_000e 0x000e
#define MODEL_A51_CRATE1_000f 0x000f
#define MODEL_CRYPTDOOR1B 0x0010
#define MODEL_CHRBRIEFCASE 0x0011
#define MODEL_CHRBUG 0x0012
#define MODEL_CHRDATATHIEF 0x0013
#define MODEL_NINTENDOLOGO 0x0014
#define MODEL_DOOR_ROLLERTRAIN 0x0015
#define MODEL_FLAG 0x0016
#define MODEL_MODEMBOX 0x0017
#define MODEL_DOORCONSOLE 0x0018
#define MODEL_A51_HORIZ_DOOR_TOP 0x0019
#define MODEL_A51_HORIZ_DOOR_BOT 0x001a
#define MODEL_A51_VERT_DOOR_LEFT 0x001b
#define MODEL_A51_VERT_DOOR_RIGHT 0x001c
#define MODEL_A51_VERT_DOOR_ST 0x001d
#define MODEL_A51_HORIZ_DOOR_GL 0x001e
#define MODEL_A51_HORIZ_DOOR_SECRET 0x001f
#define MODEL_A51_CRATE1 0x0020
#define MODEL_A51_CRATE2 0x0021
#define MODEL_A51_CRATE3 0x0022
#define MODEL_A51_EXP1 0x0023
#define MODEL_A51_UNEXP1 0x0024
#define MODEL_A51_EXP2 0x0025
#define MODEL_A51_UNEXP2 0x0026
#define MODEL_A51_UNEXP3 0x0027
#define MODEL_AIVILLADOOR1 0x0028
#define MODEL_AIVILLADOOR2A 0x0029
#define MODEL_AIVILLADOOR4 0x002a
#define MODEL_A51_LIFT_HANGAR 0x002b
#define MODEL_A51_LIFT_CONTROL 0x002c
#define MODEL_A51_LIFT_STORE 0x002d
#define MODEL_A51_LIFT_THINWALL 0x002e
#define MODEL_AIVILLABOT1 0x002f
#define MODEL_AIVILLABOT2 0x0030
#define MODEL_AIVILLABOT3 0x0031
#define MODEL_AIVILLAWINDMILL 0x0032
#define MODEL_HOVERBED 0x0033
#define MODEL_MARKER 0x0034
#define MODEL_ALDOOR_R 0x0035
#define MODEL_ALDOOR_L 0x0036
#define MODEL_DD_LIFTR 0x0037
#define MODEL_DD_FANROOF 0x0038
#define MODEL_DD_FANWALL 0x0039
#define MODEL_HOVBIKE 0x003a
#define MODEL_DD_OFFICEDOOR 0x003b
#define MODEL_DD_PLANTRUBBER 0x003c
#define MODEL_DD_PLANTSPIKE 0x003d
#define MODEL_DD_PLANTSPIDER 0x003e
#define MODEL_DD_WINDOW 0x003f
#define MODEL_DD_REDSOFA 0x0040
#define MODEL_DD_REDARM 0x0041
#define MODEL_DD_SERVICEDOOR 0x0042
#define MODEL_DD_WINDDOOR 0x0043
#define MODEL_DD_LIFTDOOR 0x0044
#define MODEL_DD_VERTBLIND 0x0045
#define MODEL_DD_DESK 0x0046
#define MODEL_DD_CHAIR 0x0047
#define MODEL_NLOGO 0x0048
#define MODEL_NLOGO2 0x0049
#define MODEL_NLOGO3 0x004a
#define MODEL_PERFECTDARK 0x004b
#define MODEL_PDONE 0x004c
#define MODEL_PDTWO 0x004d
#define MODEL_PDTHREE 0x004e
#define MODEL_PDFOUR 0x004f
#define MODEL_DD_HOVCOP 0x0050
#define MODEL_DD_HOVMOTO 0x0051
#define MODEL_DD_HOVTRUCK 0x0052
#define MODEL_DD_HOVCAR 0x0053
#define MODEL_DD_HOVCAB 0x0054
#define MODEL_DD_AC_UNEXP 0x0055
#define MODEL_DD_AC_EXP 0x0056
#define MODEL_DD_ACBOT_UNEXP 0x0057
#define MODEL_DD_ACBOT_EXP 0x0058
#define MODEL_PC1 0x0059
#define MODEL_HOVERCRATE1 0x005a
#define MODEL_DROPSHIP 0x005b
#define MODEL_AL_AIRLOCK 0x005c
#define MODEL_AL_DOCKLIFT 0x005d
#define MODEL_CASE 0x005e
#define MODEL_DD_STONEDESK 0x005f
#define MODEL_MEDLABWIN1 0x0060
#define MODEL_MEDLABWIN2 0x0061
#define MODEL_A51TABLE 0x0062
#define MODEL_A51CHAIR 0x0063
#define MODEL_A51SCREEN 0x0064
#define MODEL_A51WASTEBIN 0x0065
#define MODEL_A51DESKENT 0x0066
#define MODEL_A51TROLLEY 0x0067
#define MODEL_A51DIVIDE 0x0068
#define MODEL_A51BOARD 0x0069
#define MODEL_SKCREV_EXP1 0x006a
#define MODEL_SKCREV_UNEXP1 0x006b
#define MODEL_SKTNL_EXP1 0x006c
#define MODEL_SKTNL_UNEXP1 0x006d
#define MODEL_SK_DOOR1 0x006e
#define MODEL_SK_SHIP_DOOR1 0x006f
#define MODEL_SK_SHIP_HOLO1 0x0070
#define MODEL_SK_SHIP_HOLO2 0x0071
#define MODEL_SK_SHIP_HULLDOOR1 0x0072
#define MODEL_SK_SHIP_HULLDOOR2 0x0073
#define MODEL_SK_SHIP_HULLDOOR3 0x0074
#define MODEL_SK_SHIP_HULLDOOR4 0x0075
#define MODEL_SK_FIGHTER1 0x0076
#define MODEL_SK_CRYOPOD1_TOP 0x0077
#define MODEL_SK_CRYOPOD1_BOT 0x0078
#define MODEL_SK_UNDER_GENERATOR 0x0079
#define MODEL_SK_UNDER_TRANS 0x007a
#define MODEL_SK_HANGARDOOR_TOP 0x007b
#define MODEL_SK_HANGARDOOR_BOT 0x007c
#define MODEL_DOOR2_G5 0x007d
#define MODEL_DOOR1A_G5 0x007e
#define MODEL_DOOR1B_G5 0x007f
#define MODEL_DOOR1ATRI_G5 0x0080
#define MODEL_DOOR2A_G5 0x0081
#define MODEL_DD_DECODOOR 0x0082
#define MODEL_DD_SECRETDOOR 0x0083
#define MODEL_DD_SECRETDOOR2 0x0084
#define MODEL_DDJUMPSHIP 0x0085
#define MODEL_TAXICAB 0x0086
#define MODEL_POLICECAR 0x0087
#define MODEL_RAVINELIFT 0x0088
#define MODEL_DD_LAB_DOOR_BS 0x0089
#define MODEL_DD_LAB_DOOR_SEC 0x008a
#define MODEL_DD_LAB_DOOR_WIND 0x008b
#define MODEL_HOOVERBOT 0x008c
#define MODEL_TESTERBOT 0x008d
#define MODEL_DD_LAB_SECTOR2BOT 0x008e
#define MODEL_DD_LAB_SECTOR2TOP 0x008f
#define MODEL_DD_LAB_CAUTIONTOP 0x0090
#define MODEL_DD_LAB_HAZARD 0x0091
#define MODEL_DD_LAB_CAUTION 0x0092
#define MODEL_DR_CAROLL_DOOR 0x0093
#define MODEL_DD_LAB_SECTOR3TOP 0x0094
#define MODEL_DD_LAB_SECTOR3 0x0095
#define MODEL_DD_LAB_SECTOR3WIND 0x0096
#define MODEL_DD_HOVERCOPTER 0x0097
#define MODEL_DD_LAB_SECTOR4TOP 0x0098
#define MODEL_DD_LAB_RESTRICTED 0x0099
#define MODEL_DOOR4A_G5 0x009a
#define MODEL_DOOR4B_G5 0x009b
#define MODEL_LASDOOR 0x009c
#define MODEL_G5SAFEDOOR 0x009d
#define MODEL_ROPE 0x009e
#define MODEL_G5_MAINFRAME 0x009f
#define MODEL_DR_CAROLL_DOOR_BASE 0x00a0
#define MODEL_DR_CAROLL_DOOR_MAIN 0x00a1
#define MODEL_DR_CAROLL_DOOR_LEFT 0x00a2
#define MODEL_DR_CAROLL_DOOR_RIGHT 0x00a3
#define MODEL_DR_CAROLL_DOOR_BMAIN 0x00a4
#define MODEL_DR_CAROLL_DOOR_BLEFT 0x00a5
#define MODEL_DR_CAROLL_DOOR_BRIGHT 0x00a6
#define MODEL_DD_BANNER 0x00a7
#define MODEL_G5_ESCDOORUP 0x00a8
#define MODEL_G5_ESCDOORUPBOOM 0x00a9
#define MODEL_G5_ESCDOORDOWN 0x00aa
#define MODEL_G5_ESCDOORDOWNBOOM 0x00ab
#define MODEL_DUMPSTER 0x00ac
#define MODEL_G5CARLIFTDOOR 0x00ad
#define MODEL_CH_SHUTTER1 0x00ae
#define MODEL_CCTV_PD 0x00af
#define MODEL_COMHUB 0x00b0
#define MODEL_QUADPOD 0x00b1
#define MODEL_PD_CONSOLE 0x00b2
#define MODEL_DD_GRATE 0x00b3
#define MODEL_LIFT_PLATFORM 0x00b4
#define MODEL_LIGHTSWITCH 0x00b5
#define MODEL_BLASTSHIELD 0x00b6
#define MODEL_LIGHTSWITCH2 0x00b7
#define MODEL_DD_ACCESSDOORUP 0x00b8
#define MODEL_DD_ACCESSDOORDN 0x00b9
#define MODEL_LAB_CONTAINER 0x00ba
#define MODEL_LAB_CHAIR 0x00bb
#define MODEL_LAB_TABLE 0x00bc
#define MODEL_LAB_MICROSCOPE 0x00bd
#define MODEL_LAB_MAINFRAME 0x00be
#define MODEL_DD_LABDOOR 0x00bf
#define MODEL_DD_LAB_DOORTOP 0x00c0
#define MODEL_MULTI_AMMO_CRATE 0x00c1
#define MODEL_CHRCHAIN 0x00c2
#define MODEL_TDOOR 0x00c3
#define MODEL_CI_SOFA 0x00c4
#define MODEL_CI_LIFT 0x00c5
#define MODEL_CI_LIFTDOOR 0x00c6
#define MODEL_LASERCUT 0x00c7
#define MODEL_SK_SHUTTLE 0x00c8
#define MODEL_NEWVILLADOOR 0x00c9
#define MODEL_SK_PILLARLEFT 0x00ca
#define MODEL_SK_PILLARRIGHT 0x00cb
#define MODEL_SK_PLINTH_T 0x00cc
#define MODEL_SK_PLINTH_ML 0x00cd
#define MODEL_SK_PLINTH_MR 0x00ce
#define MODEL_SK_PLINTH_BL 0x00cf
#define MODEL_SK_PLINTH_BR 0x00d0
#define MODEL_SK_FL_SHAD_T 0x00d1
#define MODEL_SK_FL_SHAD_ML 0x00d2
#define MODEL_SK_FL_SHAD_MR 0x00d3
#define MODEL_SK_FL_SHAD_BL 0x00d4
#define MODEL_SK_FL_SHAD_BR 0x00d5
#define MODEL_SK_FL_NOSHAD_T 0x00d6
#define MODEL_SK_FL_NOSHAD_ML 0x00d7
#define MODEL_SK_FL_NOSHAD_MR 0x00d8
#define MODEL_SK_FL_NOSHAD_BL 0x00d9
#define MODEL_SK_FL_NOSHAD_BR 0x00da
#define MODEL_SK_TEMPLECOLUMN1 0x00db
#define MODEL_SK_TEMPLECOLUMN2 0x00dc
#define MODEL_SK_TEMPLECOLUMN3 0x00dd
#define MODEL_SK_SUNSHAD1 0x00de
#define MODEL_SK_SUNSHAD2 0x00df
#define MODEL_SK_SUNNOSHAD1 0x00e0
#define MODEL_SK_SUNNOSHAD2 0x00e1
#define MODEL_BARREL 0x00e2
#define MODEL_GLASS_FLOOR 0x00e3
#define MODEL_ESCA_STEP 0x00e4
#define MODEL_MATRIX_LIFT 0x00e5
#define MODEL_RUBBLE1 0x00e6
#define MODEL_RUBBLE2 0x00e7
#define MODEL_RUBBLE3 0x00e8
#define MODEL_RUBBLE4 0x00e9
#define MODEL_CABLE_CAR 0x00ea
#define MODEL_ELVIS_SAUCER 0x00eb
#define MODEL_STEWARDESS_TROLLEY 0x00ec
#define MODEL_AIRBASE_LIFT_ENCLOSED 0x00ed
#define MODEL_AIRBASE_LIFT_ANGLE 0x00ee
#define MODEL_AIRBASE_SAFEDOOR 0x00ef
#define MODEL_AF1_PILOTCHAIR 0x00f0
#define MODEL_AF1_PASSCHAIR 0x00f1
#define MODEL_TESTOBJ 0x00f2
#define MODEL_CHRNIGHTSIGHT 0x00f3
#define MODEL_CHRSHIELD 0x00f4
#define MODEL_CHRFALCON2 0x00f5
#define MODEL_CHRLEEGUN1 0x00f6
#define MODEL_CHRMAULER 0x00f7
#define MODEL_CHRDY357 0x00f8
#define MODEL_CHRDY357TRENT 0x00f9
#define MODEL_CHRMAIANPISTOL 0x00fa
#define MODEL_CHRFALCON2SIL 0x00fb
#define MODEL_CHRFALCON2SCOPE 0x00fc
#define MODEL_CHRCMP150 0x00fd
#define MODEL_CHRAR34 0x00fe
#define MODEL_CHRDRAGON 0x00ff
#define MODEL_CHRSUPERDRAGON 0x0100
#define MODEL_CHRAVENGER 0x0101
#define MODEL_CHRCYCLONE 0x0102
#define MODEL_CHRMAIANSMG 0x0103
#define MODEL_CHRRCP120 0x0104
#define MODEL_CHRPCGUN 0x0105
#define MODEL_CHRSHOTGUN 0x0106
#define MODEL_CHRSKMINIGUN 0x0107
#define MODEL_CHRDYROCKET 0x0108
#define MODEL_CHRDEVASTATOR 0x0109
#define MODEL_CHRSKROCKET 0x010a
#define MODEL_CHRZ2020 0x010b
#define MODEL_CHRSNIPERRIFLE 0x010c
#define MODEL_CHRCROSSBOW 0x010d
#define MODEL_CHRDRUGGUN 0x010e
#define MODEL_CHRKNIFE 0x010f
#define MODEL_CHRNBOMB 0x0110
#define MODEL_CHRFLASHBANG 0x0111
#define MODEL_CHRGRENADE 0x0112
#define MODEL_CHRTIMEDMINE 0x0113
#define MODEL_CHRPROXIMITYMINE 0x0114
#define MODEL_CHRREMOTEMINE 0x0115
#define MODEL_CHRECMMINE 0x0116
#define MODEL_CHRWPPK 0x0117
#define MODEL_CHRTT33 0x0118
#define MODEL_CHRSKORPION 0x0119
#define MODEL_CHRKALASH 0x011a
#define MODEL_CHRUZI 0x011b
#define MODEL_CHRMP5K 0x011c
#define MODEL_CHRM16 0x011d
#define MODEL_CHRFNP90 0x011e
#define MODEL_CHRDYROCKETMIS 0x011f
#define MODEL_CHRSKROCKETMIS 0x0120
#define MODEL_CHRCROSSBOLT 0x0121
#define MODEL_CHRDEVGRENADE 0x0122
#define MODEL_CHRDRAGGRENADE 0x0123
#define MODEL_A51_TURRET 0x0124
#define MODEL_PELAGICDOOR 0x0125
#define MODEL_AUTOSURGEON 0x0126
#define MODEL_LIMO 0x0127
#define MODEL_A51INTERCEPTOR 0x0128
#define MODEL_A51DISH 0x0129
#define MODEL_A51RADARCONSOLE 0x012a
#define MODEL_A51LOCKERDOOR 0x012b
#define MODEL_G5GENERATOR 0x012c
#define MODEL_G5DUMPSTER 0x012d
#define MODEL_CHRCLOAKER 0x012e
#define MODEL_CHRSPEEDPILL 0x012f
#define MODEL_BIGPELAGICDOOR 0x0130
#define MODEL_SK_JONRUBBLE3 0x0131
#define MODEL_SK_JONRUBBLE4 0x0132
#define MODEL_SK_JONRUBBLE5 0x0133
#define MODEL_SK_JONRUBBLE6 0x0134
#define MODEL_BAGGAGECARRIER 0x0135
#define MODEL_MINESIGN 0x0136
#define MODEL_CHAMBER 0x0137
#define MODEL_ISOTOPEEXPERIMENT 0x0138
#define MODEL_ISOTOPE 0x0139
#define MODEL_REACTORDOOR 0x013a
#define MODEL_SAUCERINSIDE 0x013b
#define MODEL_VILLASTOOL 0x013c
#define MODEL_CETANWINDOW1 0x013d
#define MODEL_CETANWINDOW2 0x013e
#define MODEL_CETANWINDOW3 0x013f
#define MODEL_BINOCULARS 0x0140
#define MODEL_SUBMARINE 0x0141
#define MODEL_AIRFORCE1 0x0142
#define MODEL_ENGINEPART 0x0143
#define MODEL_CETROOFGUN 0x0144
#define MODEL_CETANSMALLDOOR 0x0145
#define MODEL_POWERNODE 0x0146
#define MODEL_CETANBLUEGREENL 0x0147
#define MODEL_CETANBLUEGREENR 0x0148
#define MODEL_SKEDARCONSOLE 0x0149
#define MODEL_SKEDARCONSOLEPANEL 0x014a
#define MODEL_WEAPONCDOOR 0x014b
#define MODEL_TARGET 0x014c
#define MODEL_DEVICESECRETDOOR 0x014d
#define MODEL_CARRINGTONSECRETDOOR 0x014e
#define MODEL_SINISTERPC 0x014f
#define MODEL_SINISTERSTATION 0x0150
#define MODEL_KEYPADLOCK 0x0151
#define MODEL_THUMBPRINTSCANNER 0x0152
#define MODEL_RETINALOCK 0x0153
#define MODEL_CARDLOCK 0x0154
#define MODEL_GOODSTATION 0x0155
#define MODEL_GOODPC 0x0156
#define MODEL_CHRAUTOGUN 0x0157
#define MODEL_G5BIGCHAIR 0x0158
#define MODEL_G5SMALLCHAIR 0x0159
#define MODEL_KINGSCEPTRE 0x015a
#define MODEL_LABCOAT 0x015b
#define MODEL_CIDOOR1 0x015c
#define MODEL_G5_CHAIR 0x015d
#define MODEL_G5_CHAIR2 0x015e
#define MODEL_DD_WINDOW_FOYER 0x015f
#define MODEL_CI_CABINET 0x0160
#define MODEL_CI_DESK 0x0161
#define MODEL_CI_CARR_DESK 0x0162
#define MODEL_CI_F_CHAIR 0x0163
#define MODEL_CI_LOUNGER 0x0164
#define MODEL_CI_F_SOFA 0x0165
#define MODEL_CI_TABLE 0x0166
#define MODEL_CV_COFFEE_TABLE 0x0167
#define MODEL_CV_CHAIR1 0x0168
#define MODEL_CV_CHAIR2 0x0169
#define MODEL_CV_SOFA 0x016a
#define MODEL_CV_CHAIR4 0x016b
#define MODEL_CV_LAMP 0x016c
#define MODEL_CV_CABINET 0x016d
#define MODEL_CV_F_BED 0x016e
#define MODEL_PEL_CHAIR1 0x016f
#define MODEL_SK_CONSOLE2 0x0170
#define MODEL_DD_EAR_TABLE 0x0171
#define MODEL_DD_EAR_CHAIR 0x0172
#define MODEL_AIRBASE_TABLE2 0x0173
#define MODEL_AIRBASE_CHAIR2 0x0174
#define MODEL_MISC_CRATE 0x0175
#define MODEL_A51_CRATE1_0175 0x0176
#define MODEL_MISC_IRSPECS 0x0177
#define MODEL_A51_ROOFGUN 0x0178
#define MODEL_SK_DRONE_GUN 0x0179
#define MODEL_CI_ROOFGUN 0x017a
#define MODEL_CV_TABLE 0x017b
#define MODEL_CIDOOR1_REF 0x017c
#define MODEL_ALASKADOOR_OUT 0x017d
#define MODEL_ALASKADOOR_IN 0x017e
#define MODEL_WIREFENCE 0x017f
#define MODEL_RARELOGO 0x0180
#define MODEL_KEYCARD 0x0181
#define MODEL_BODYARMOUR 0x0182
#define MODEL_A51GATE_R 0x0183
#define MODEL_A51GATE_L 0x0184
#define MODEL_AF1_LAMP 0x0185
#define MODEL_AF1_TOILET 0x0186
#define MODEL_AF1_DOORBIG2 0x0187
#define MODEL_AF1_PHONE 0x0188
#define MODEL_AF1_CARGODOOR 0x0189
#define MODEL_G5_ALARM 0x018a
#define MODEL_G5_LASER_SWITCH 0x018b
#define MODEL_SK_TEMPLECOLUMN4 0x018c
#define MODEL_COREHATCH 0x018d
#define MODEL_A51GRATE 0x018e
#define MODEL_AF1ESCAPEDOOR 0x018f
#define MODEL_PRESCAPSULE 0x0190
#define MODEL_SKEDARBRIDGE 0x0191
#define MODEL_PELAGICDOOR2 0x0192
#define MODEL_TTB_BOX 0x0193
#define MODEL_INSTFRONTDOOR 0x0194
#define MODEL_CHRLASER 0x0195
#define MODEL_BAFTA 0x0196
#define MODEL_CHRSONICSCREWER 0x0197
#define MODEL_CHRLUMPHAMMER 0x0198
#define MODEL_EXPLOSIVEBRICK 0x0199
#define MODEL_SKEDARBOMB 0x019a
#define MODEL_ZIGGYCARD 0x019b
#define MODEL_SAFEITEM 0x019c
#define MODEL_RUSSDAR 0x019d
#define MODEL_XRAYSPECS 0x019e
#define MODEL_CHRLUMPHAMMER2 0x019f
#define MODEL_CHREYESPY 0x01a0
#define MODEL_CHRDOORDECODER 0x01a1
#define MODEL_AF1_TABLE 0x01a2
#define MODEL_SHUTTLEDOOR 0x01a3
#define MODEL_RUINBRIDGE 0x01a4
#define MODEL_SECRETINDOOR 0x01a5
#define MODEL_SENSITIVEINFO 0x01a6
#define MODEL_SUITCASE 0x01a7
#define MODEL_SKPUZZLEOBJECT 0x01a8
#define MODEL_A51LIFTDOOR 0x01a9
#define MODEL_CIHUB 0x01aa
#define MODEL_SK_SHIP_DOOR2 0x01ab
#define MODEL_SK_WINDOW1 0x01ac
#define MODEL_SK_HANGARDOORB_TOP 0x01ad
#define MODEL_SK_HANGARDOORB_BOT 0x01ae
#define MODEL_AF1_INNERDOOR 0x01af
#define MODEL_LASER_POST 0x01b0
#define MODEL_TARGETAMP 0x01b1
#define MODEL_SK_LIFT 0x01b2
#define MODEL_KNOCKKNOCK 0x01b3
#define MODEL_CETANDOOR 0x01b4
#define MODEL_AF1RUBBLE 0x01b5
#define MODEL_DD_DR_NONREF 0x01b6
#define MODEL_CETANDOORSIDE 0x01b7
#define MODEL_BUDDYBRIDGE 0x01b8
#define MOVEMODE_WALK 0
#define MOVEMODE_BIKE 3
#define MOVEMODE_GRAB 4
#define MOVEMODE_CUTSCENE 5
#define MPCONFIG_TEMPLE 0x00
#define MPCONFIG_PISTOLS 0x01
#define MPCONFIG_FARSIGHT 0x02
#define MPCONFIG_DRUGGUN 0x03
#define MPCONFIG_SLAYER 0x04
#define MPCONFIG_CLOAKING 0x05
#define MPCONFIG_SLOWMO 0x06
#define MPCONFIG_NOSHIELD 0x07
#define MPCONFIG_BRIEFCASE 0x08
#define MPCONFIG_SKEDARKING 0x09
#define MPCONFIG_FLAGS 0x0a
#define MPCONFIG_SIMULANTS 0x0b
#define MPCONFIG_AUTOMATICS 0x0c
#define MPCONFIG_ROCKETS 0x0d
#define MPCONFIG_CHALLENGE01 0x0e
#define MPCONFIG_CHALLENGE02 0x0f
#define MPCONFIG_CHALLENGE03 0x10
#define MPCONFIG_CHALLENGE04 0x11
#define MPCONFIG_CHALLENGE05 0x12
#define MPCONFIG_CHALLENGE06 0x13
#define MPCONFIG_CHALLENGE07 0x14
#define MPCONFIG_CHALLENGE08 0x15
#define MPCONFIG_CHALLENGE09 0x16
#define MPCONFIG_CHALLENGE10 0x17
#define MPCONFIG_CHALLENGE11 0x18
#define MPCONFIG_CHALLENGE12 0x19
#define MPCONFIG_CHALLENGE13 0x1a
#define MPCONFIG_CHALLENGE14 0x1b
#define MPCONFIG_CHALLENGE15 0x1c
#define MPCONFIG_CHALLENGE16 0x1d
#define MPCONFIG_CHALLENGE17 0x1e
#define MPCONFIG_CHALLENGE18 0x1f
#define MPCONFIG_CHALLENGE19 0x20
#define MPCONFIG_CHALLENGE20 0x21
#define MPCONFIG_CHALLENGE21 0x22
#define MPCONFIG_CHALLENGE22 0x23
#define MPCONFIG_CHALLENGE23 0x24
#define MPCONFIG_CHALLENGE24 0x25
#define MPCONFIG_CHALLENGE25 0x26
#define MPCONFIG_CHALLENGE26 0x27
#define MPCONFIG_CHALLENGE27 0x28
#define MPCONFIG_CHALLENGE28 0x29
#define MPCONFIG_CHALLENGE29 0x2a
#define MPCONFIG_CHALLENGE30 0x2b
#define MPLOCKTYPE_NONE 0
#define MPLOCKTYPE_LASTWINNER 1
#define MPLOCKTYPE_LASTLOSER 2
#define MPLOCKTYPE_RANDOM 3
#define MPLOCKTYPE_PLAYER 4
#define MPLOCKTYPE_CHALLENGE 5
#define MPOPTION_TEAMSENABLED 0x00000002
#define MPOPTION_NORADAR 0x00000004
#define MPOPTION_NOAUTOAIM 0x00000008
#define MPOPTION_NOPLAYERHIGHLIGHT 0x00000010
#define MPOPTION_NOPICKUPHIGHLIGHT 0x00000020
#define MPOPTION_SLOWMOTION_ON 0x00000040
#define MPOPTION_SLOWMOTION_SMART 0x00000080
#define MPOPTION_NOPICKUPHIGHLIGHT 0x00000020
#define MPOPTION_FASTMOVEMENT 0x00000100
#define MPOPTION_KILLSSCORE 0x00000400
#define MPOPTION_HIGHLIGHTBRIEFCASE 0x00000800
#define MPOPTION_SHOWONRADAR1 0x00001000
#define MPOPTION_SHOWONRADAR2 0x00002000
#define MPOPTION_HILLONRADAR 0x00004000
#define MPOPTION_MOBILEHILL 0x00008000
#define MPOPTION_HIGHLIGHTTERMINAL 0x00020000
#define MPOPTION_SHOWONRADAR3 0x00040000
#define MPOPTION_HIGHLIGHTTARGET 0x00080000
#define MPOPTION_SHOWONRADAR4 0x00100000
#define MPPLAYERTITLE_BEGINNER 0
#define MPPLAYERTITLE_TRAINEE 1
#define MPPLAYERTITLE_AMATEUR 2
#define MPPLAYERTITLE_ROOKIE 3
#define MPPLAYERTITLE_NOVICE 4
#define MPPLAYERTITLE_TROOPER 5
#define MPPLAYERTITLE_AGENT 6
#define MPPLAYERTITLE_STARAGENT 7
#define MPPLAYERTITLE_SPECIALAGENT 8
#define MPPLAYERTITLE_EXPERT 9
#define MPPLAYERTITLE_VETERAN 10
#define MPPLAYERTITLE_PROFESSIONAL 11
#define MPPLAYERTITLE_DANGEROUS 12
#define MPPLAYERTITLE_DEADLY 13
#define MPPLAYERTITLE_KILLER 14
#define MPPLAYERTITLE_ASSASSIN 15
#define MPPLAYERTITLE_LETHAL 16
#define MPPLAYERTITLE_ELITE 17
#define MPPLAYERTITLE_INVINCIBLE 18
#define MPPLAYERTITLE_NEARPERFECT 19
#define MPPLAYERTITLE_PERFECT 20
#define MPQUICKTEAM_PLAYERSONLY 0
#define MPQUICKTEAM_PLAYERSANDSIMS 1
#define MPQUICKTEAM_PLAYERSTEAMS 2
#define MPQUICKTEAM_PLAYERSVSSIMS 3
#define MPQUICKTEAM_PLAYERSIMTEAMS 4
#define MPQUICKTEAM_5 5
#define MPSCENARIO_COMBAT 0
#define MPSCENARIO_HOLDTHEBRIEFCASE 1
#define MPSCENARIO_HACKERCENTRAL 2
#define MPSCENARIO_POPACAP 3
#define MPSCENARIO_KINGOFTHEHILL 4
#define MPSCENARIO_CAPTURETHECASE 5
#define MUSIC_NONE 0x00
#define MUSIC_TITLE2 0x01
#define MUSIC_EXTRACTION 0x02
#define MUSIC_PAUSEMENU 0x03
#define MUSIC_DEFENSE 0x04
#define MUSIC_INVESTIGATION_SFX 0x05
#define MUSIC_ESCAPE 0x06
#define MUSIC_DEEPSEA 0x07
#define MUSIC_DDTOWER_SFX 0x08
#define MUSIC_DEFECTION 0x09
#define MUSIC_DEATH_SOLO 0x0a
#define MUSIC_DEFECTION_INTRO_SFX 0x0b
#define MUSIC_VILLA 0x0c
#define MUSIC_CI 0x0d
#define MUSIC_CHICAGO 0x0e
#define MUSIC_G5 0x0f
#define MUSIC_DEFECTION_X 0x10
#define MUSIC_EXTRACTION_X 0x11
#define MUSIC_INVESTIGATION 0x12
#define MUSIC_INVESTIGATION_X 0x13
#define MUSIC_INFILTRATION 0x14
#define MUSIC_DEATH_BETA 0x15
#define MUSIC_RESCUE 0x16
#define MUSIC_AIRBASE 0x17
#define MUSIC_AIRFORCEONE 0x18
#define MUSIC_DEATH_MP 0x19
#define MUSIC_EXTRACTION_OUTRO_SFX 0x1a
#define MUSIC_MISSION_UNKNOWN 0x1b
#define MUSIC_PELAGIC 0x1c
#define MUSIC_CRASHSITE 0x1d
#define MUSIC_CRASHSITE_X 0x1e
#define MUSIC_ATTACKSHIP 0x1f
#define MUSIC_ATTACKSHIP_X 0x20
#define MUSIC_SKEDARRUINS 0x21
#define MUSIC_DEFECTION_INTRO 0x22
#define MUSIC_DEFECTION_OUTRO 0x23
#define MUSIC_DEFENSE_X 0x24
#define MUSIC_INVESTIGATION_INTRO 0x25
#define MUSIC_INVESTIGATION_OUTRO 0x26
#define MUSIC_VILLA_X 0x27
#define MUSIC_CHICAGO_X 0x28
#define MUSIC_G5_X 0x29
#define MUSIC_INFILTRATION_X 0x2a
#define MUSIC_CHICAGO_OUTRO 0x2b
#define MUSIC_EXTRACTION_OUTRO 0x2c
#define MUSIC_EXTRACTION_INTRO 0x2d
#define MUSIC_G5_INTRO 0x2e
#define MUSIC_CHICAGO_INTRO 0x2f
#define MUSIC_VILLA_INTRO1 0x30
#define MUSIC_INFILTRATION_INTRO 0x31
#define MUSIC_RESCUE_X 0x32
#define MUSIC_ESCAPE_X 0x33
#define MUSIC_AIRBASE_X 0x34
#define MUSIC_AIRFORCEONE_X 0x35
#define MUSIC_PELAGIC_X 0x36
#define MUSIC_DEEPSEA_X 0x37
#define MUSIC_SKEDARRUINS_X 0x38
#define MUSIC_AIRBASE_OUTRO_LONG 0x39
#define MUSIC_DARK_COMBAT 0x3a
#define MUSIC_SKEDAR_MYSTERY 0x3b
#define MUSIC_DEEPSEA_BETA 0x3c
#define MUSIC_CI_OPERATIVE 0x3d
#define MUSIC_DATADYNE_ACTION 0x3e
#define MUSIC_MAIAN_TEARS 0x3f
#define MUSIC_ALIEN_CONFLICT 0x40
#define MUSIC_ESCAPE_INTRO 0x41
#define MUSIC_RESCUE_OUTRO 0x42
#define MUSIC_VILLA_INTRO2 0x43
#define MUSIC_VILLA_INTRO3 0x44
#define MUSIC_G5_OUTRO 0x45
#define MUSIC_G5_MIDCUTSCENE 0x46
#define MUSIC_MISSION_FAILED 0x47
#define MUSIC_COMBATSIM_MENU 0x48
#define MUSIC_MISSION_SUCCESS 0x49
#define MUSIC_CRASHSITE_INTRO 0x4a
#define MUSIC_AIRBASE_INTRO 0x4b
#define MUSIC_ATTACKSHIP_INTRO 0x4c
#define MUSIC_DEEPSEA_MIDCUTSCENE 0x4d
#define MUSIC_AIRFORCEONE_INTRO 0x4e
#define MUSIC_ATTACKSHIP_OUTRO 0x4f
#define MUSIC_ESCAPE_MIDCUTSCENE 0x50
#define MUSIC_RESCUE_INTRO 0x51
#define MUSIC_DEEPSEA_INTRO 0x52
#define MUSIC_INFILTRATION_OUTRO 0x53
#define MUSIC_PELAGIC_INTRO 0x54
#define MUSIC_ESCAPE_OUTRO_LONG 0x55
#define MUSIC_DEFENSE_INTRO 0x56
#define MUSIC_CRASHSITE_OUTRO 0x57
#define MUSIC_CREDITS 0x58
#define MUSIC_MAINMENU 0x59
#define MUSIC_DEEPSEA_OUTRO 0x5a
#define MUSIC_AIRFORCEONE_MIDCUTSCENE 0x5b
#define MUSIC_PELAGIC_OUTRO 0x5c
#define MUSIC_AIRFORCEONE_OUTRO 0x5d
#define MUSIC_SKEDARRUINS_INTRO 0x5e
#define MUSIC_BETA_NOTE 0x5f
#define MUSIC_AIRBASE_OUTRO 0x60
#define MUSIC_DEFENSE_OUTRO 0x61
#define MUSIC_SKEDARRUINS_OUTRO 0x62
#define MUSIC_VILLA_OUTRO 0x63
#define MUSIC_SKEDARRUINS_KING 0x64
#define MUSIC_CI_TRAINING 0x65
#define MUSIC_CRASHSITE_WIND 0x66
#define MUSIC_COMBATSIM_COMPLETE 0x67
#define MUSIC_OCEAN 0x68
#define MUSIC_WIND 0x69
#define MUSIC_TRAFFIC 0x6a
#define MUSIC_TITLE1 0x6b
#define MUSIC_CI_INTRO 0x6c
#define MUSIC_INFILTRATION_SFX 0x6d
#define MUSIC_DEEPSEA_SFX 0x6e
#define MUSIC_AIRFORCEONE_SFX 0x6f
#define MUSIC_ATTACKSHIP_SFX 0x70
#define MUSIC_SKEDAR_WIND 0x71
#define MUSIC_ESCAPE_OUTRO_SFX 0x72
#define MUSIC_A51_LOUDSPEAKER1 0x73
#define MUSIC_A51_LOUDSPEAKER2 0x74
#define MUSIC_BETA_MELODY 0x75
#define MUSIC_ESCAPE_OUTRO_SHORT 0x76
#define NUM_AICOMMANDS 481
#define NUM_BODIES 151
#define NUM_CHALLENGES 30
#define NUM_CHEATS 42
#define NUM_EXPLOSIONTYPES 26
#define NUM_FILES 2014
#define NUM_FIRESLOTS 20
#define NUM_MPBEAUHEADS 5
#define NUM_MPBOTCOMMANDS 14
#define NUM_MPBODIES 61
#define NUM_MPHEADS 75
#define NUM_MPPRESETS 14
#define NUM_MPTRACKS 42
#define NUM_RACES 5
#define NUM_SMOKETYPES 23
#define NUM_SOLONORMALSTAGES 17
#define NUM_SOLOSTAGES 21
#define NUM_STAGES 90
#define NUM_TEXTURES 3504
#define NUM_WEAPONS 94
// obj->flags
#define OBJFLAG_00000001 0x00000001 // Editor: "Fall to Ground"
#define OBJFLAG_00000002 0x00000002 // Editor: "In Air Rotated 90 Deg Upside-Down"
#define OBJFLAG_00000004 0x00000004 // Editor: "In Air Upside-Down"
#define OBJFLAG_00000008 0x00000008 // Editor: "In Air"
#define OBJFLAG_00000010 0x00000010 // Editor: "Scale to Pad Bounds"
#define OBJFLAG_00000020 0x00000020 // Editor: "X to Pad Bounds"
#define OBJFLAG_00000040 0x00000040 // Editor: "Y to Pad Bounds"
#define OBJFLAG_00000080 0x00000080 // Editor: "Z to Pad Bounds"
#define OBJFLAG_00000100 0x00000100 // G5 mines, Air Base brown door, AF1 grate and escape door, Defense shuttle, Ruins mines, MBR lift door. Editor suggests "Force Collisions" but this seems wrong
#define OBJFLAG_00000200 0x00000200 // Editor: "Special Environment Mapping"
#define OBJFLAG_ILLUMINATED 0x00000400
#define OBJFLAG_00000800 0x00000800 // Editor: "Free Standing Glass"
#define OBJFLAG_00001000 0x00001000 // Editor: "Absolute Position"
#define OBJFLAG_00002000 0x00002000 // AF1 commhubs. Editor suggests "Weapon Not Dropped"
#define OBJFLAG_00004000 0x00004000 // Editor: "Assigned to Actor"
#define OBJFLAG_00008000 0x00008000 // Editor: "Embedded Object"
#define OBJFLAG_00010000 0x00010000 // Not used in scripts
#define OBJFLAG_INVINCIBLE 0x00020000
#define OBJFLAG_COLLECTABLE 0x00040000
#define OBJFLAG_00080000 0x00080000 // Thrown laptop?
#define OBJFLAG_UNCOLLECTABLE 0x00100000
#define OBJFLAG_00200000 0x00200000 // Editor: "Bounce and Destroy If Shot"
#define OBJFLAG_00400000 0x00400000 // Not used in scripts
#define OBJFLAG_00800000 0x00800000 // Not used in scripts
#define OBJFLAG_01000000 0x01000000 // Editor: "Embedded Object"
#define OBJFLAG_CANNOT_ACTIVATE 0x02000000 // Makes it do nothing if player presses B on object. Used mostly for doors.
#define OBJFLAG_04000000 0x04000000 // Editor: "AI Sees Through Door/Object"
#define OBJFLAG_08000000 0x08000000 // Not used in scripts
#define OBJFLAG_DEACTIVATED 0x10000000
#define OBJFLAG_20000000 0x20000000 // Editor: "Door Opens Backwards/Special Function/Conceal Weapon"
#define OBJFLAG_40000000 0x40000000 // Editor: "Door open by default/Empty weapon"
#define OBJFLAG_INTERCEPTOR_DISABLED 0x80000000
// obj->flags2
#define OBJFLAG2_00000001 0x00000001 // Used only in CI Training
#define OBJFLAG2_00000002 0x00000002 // Ruins spikes
#define OBJFLAG2_00000004 0x00000004 // Defense hostage doors - openable by AI?
#define OBJFLAG2_00000008 0x00000008 // Editor: "Don't load in Multiplayer"
#define OBJFLAG2_00000010 0x00000010 // Editor: "Don't Load on Agent Mode"
#define OBJFLAG2_00000020 0x00000020 // Editor: "Don't Load on Secret Agent Mode"
#define OBJFLAG2_00000040 0x00000040 // Editor: "Don't Load on Perfect Agent Mode"
#define OBJFLAG2_00000080 0x00000080 // Not used in scripts
#define OBJFLAG2_00000100 0x00000100 // Editor: "Immobile"
#define OBJFLAG2_00000200 0x00000200 // Editor: "Mines"
#define OBJFLAG2_00000400 0x00000400 // Not used in scripts
#define OBJFLAG2_00000800 0x00000800 // Editor: "Don't activate if clipping gap Jo/Object"
#define OBJFLAG2_00001000 0x00001000 // Investigation CMP150s, Air Base safe item and shield
#define OBJFLAG2_00002000 0x00002000 // Ruins commhub - used as a "shown message" flag
#define OBJFLAG2_00004000 0x00004000 // Editor: "Immune to Gunfire"
#define OBJFLAG2_SHOOTTHROUGH 0x00008000
#define OBJFLAG2_DRAWONTOP 0x00010000
#define OBJFLAG2_00020000 0x00020000 // G5 mine, Air Base mine
#define OBJFLAG2_00040000 0x00040000 // Only used in CI training
#define OBJFLAG2_INVISIBLE 0x00080000
#define OBJFLAG2_00100000 0x00100000 // Editor: "Bulletproof Glass"
#define OBJFLAG2_00200000 0x00200000 // Editor: "Immune to Explosions" (Ruins spikes)
#define OBJFLAG2_00400000 0x00400000 // Editor: "Don't load on 2P (coop/anti)"
#define OBJFLAG2_00800000 0x00800000 // Editor: "Don't load on 3P"
#define OBJFLAG2_01000000 0x01000000 // Editor: "Don't load on 4P"
#define OBJFLAG2_THROWTHROUGH 0x02000000 // Rockets/mines/grenades etc pass through object
#define OBJFLAG2_04000000 0x04000000 // Used quite a lot - gravity?
#define OBJFLAG2_LOCKEDFRONT 0x08000000 // One-way door lock
#define OBJFLAG2_LOCKEDBACK 0x10000000 // One-way door lock
#define OBJFLAG2_AICANNOTUSE 0x20000000
#define OBJFLAG2_40000000 0x40000000 // Used by doors
#define OBJFLAG2_80000000 0x80000000 // Attack Ship glass
// obj->flags3
#define OBJFLAG3_PUSHABLE 0x00000001
#define OBJFLAG3_GRABBABLE 0x00000002
#define OBJFLAG3_DOOR_STICKY 0x00000004 // eg. Skedar Ruins
#define OBJFLAG3_00000008 0x00000008 // Not used in scripts
#define OBJFLAG3_00000010 0x00000010 // Used heaps
#define OBJFLAG3_00000020 0x00000020 // Not used in scripts
#define OBJFLAG3_RTRACKED_YELLOW 0x00000040
#define OBJFLAG3_00000080 0x00000080 // Not used in scripts
#define OBJFLAG3_00000100 0x00000100 // Not used in scripts
#define OBJFLAG3_00000200 0x00000200 // Not used in scripts
#define OBJFLAG3_WALKTRHOUGH 0x00000400
#define OBJFLAG3_RTRACKED_BLUE 0x00000800
#define OBJFLAG3_SHOWSHIELD 0x00001000 // Show shield effect around object (always)
#define OBJFLAG3_00002000 0x00002000 // Not used in scripts
#define OBJFLAG3_00004000 0x00004000 // Not used in scripts
#define OBJFLAG3_00008000 0x00008000 // Not used in scripts
#define OBJFLAG3_00010000 0x00010000 // Editor: "Can be activated"
#define OBJFLAG3_00020000 0x00020000 // Not used in scripts
#define OBJFLAG3_00040000 0x00040000 // Not used in scripts
#define OBJFLAG3_00080000 0x00080000 // Not used in scripts
#define OBJFLAG3_00100000 0x00100000 // Ruins spikes
#define OBJFLAG3_00200000 0x00200000 // Not used in scripts
#define OBJFLAG3_00400000 0x00400000 // Investigation tech items
#define OBJFLAG3_00800000 0x00800000 // Not used in scripts
#define OBJFLAG3_01000000 0x01000000 // Not used in scripts
#define OBJFLAG3_02000000 0x02000000 // Not used in scripts
#define OBJFLAG3_04000000 0x04000000 // Not used in scripts
#define OBJFLAG3_08000000 0x08000000 // Not used in scripts
#define OBJFLAG3_10000000 0x10000000 // Editor: "Keep Collisions After Fully Destroyed"
#define OBJFLAG3_20000000 0x20000000 // Not used in scripts
#define OBJFLAG3_40000000 0x40000000 // Editor: "Door Highlighted IR Scanner"
#define OBJFLAG3_80000000 0x80000000 // Not used in scripts
// obj->hidden
#define OBJHFLAG_00000004 0x00000004
#define OBJHFLAG_00000080 0x00000080
#define OBJHFLAG_00000200 0x00000200
#define OBJHFLAG_00000400 0x00000400
#define OBJHFLAG_00000800 0x00000800
#define OBJHFLAG_ACTIVATED_BY_BOND 0x00004000
#define OBJHFLAG_ACTIVATED_BY_COOP 0x00040000
#define OBJHFLAG_00100000 0x00100000
#define OBJHFLAG_00200000 0x00200000
#define OBJHFLAG_00400000 0x00400000
#define OBJHFLAG_04000000 0x04000000
#define OBJHFLAG_GRABBED 0x08000000
// obj->hidden2
#define OBJH2FLAG_04 0x04
#define OBJH2FLAG_08 0x08
#define OBJH2FLAG_40 0x40
#define OBJTYPE_DOOR 0x01
#define OBJTYPE_DOORSCALE 0x02
#define OBJTYPE_BASIC 0x03
#define OBJTYPE_KEY 0x04
#define OBJTYPE_ALARM 0x05
#define OBJTYPE_CAMERA 0x06
#define OBJTYPE_AMMOCRATE 0x07
#define OBJTYPE_WEAPON 0x08
#define OBJTYPE_CHR 0x09
#define OBJTYPE_SINGLEMONITOR 0x0a
#define OBJTYPE_MULTIMONITOR 0x0b
#define OBJTYPE_0C 0x0c
#define OBJTYPE_AUTOGUN 0x0d
#define OBJTYPE_LINKGUNS 0x0e
#define OBJTYPE_DEBRIS 0x0f
#define OBJTYPE_10 0x10
#define OBJTYPE_11 0x11
#define OBJTYPE_12 0x12
#define OBJTYPE_LINKOBJS 0x13
#define OBJTYPE_MULTIAMMOCRATE 0x14
#define OBJTYPE_SHIELD 0x15
#define OBJTYPE_TAG 0x16
#define OBJTYPE_BEGINOBJECTIVE 0x17
#define OBJTYPE_ENDOBJECTIVE 0x18
#define OBJECTIVETYPE_DESTROYOBJ 0x19
#define OBJECTIVETYPE_COMPFLAGS 0x1a
#define OBJECTIVETYPE_FAILFLAGS 0x1b
#define OBJECTIVETYPE_COLLECTOBJ 0x1c
#define OBJECTIVETYPE_THROWOBJ 0x1d
#define OBJECTIVETYPE_HOLOGRAPH 0x1e
#define OBJECTIVETYPE_1F 0x1f
#define OBJECTIVETYPE_ENTERROOM 0x20
#define OBJECTIVETYPE_ATTACHOBJ 0x21
#define OBJTYPE_22 0x22
#define OBJTYPE_BRIEFING 0x23
#define OBJTYPE_24 0x24
#define OBJTYPE_RENAMEOBJ 0x25
#define OBJTYPE_26 0x26
#define OBJTYPE_TRUCK 0x27
#define OBJTYPE_HELI 0x28
#define OBJTYPE_29 0x29
#define OBJTYPE_GLASS 0x2a
#define OBJTYPE_2B 0x2b
#define OBJTYPE_2C 0x2c
#define OBJTYPE_2D 0x2d
#define OBJTYPE_CAMERA2 0x2e
#define OBJTYPE_TINTEDGLASS 0x2f
#define OBJTYPE_LIFT 0x30
#define OBJTYPE_LINKSCENERY 0x31
#define OBJTYPE_LINKPATHS 0x32
#define OBJTYPE_HOVERBIKE 0x33
#define OBJTYPE_END 0x34
#define OBJTYPE_HOVERPROP 0x35
#define OBJTYPE_VENTFAN 0x36
#define OBJTYPE_HOVERCAR 0x37
#define OBJTYPE_PADEFFECT 0x38
#define OBJTYPE_CHOPPER 0x39
#define OBJTYPE_MINE 0x3a
#define OBJTYPE_ESCALATOR 0x3b
#define OBJECTIVE_INCOMPLETE 0
#define OBJECTIVE_COMPLETE 1
#define OBJECTIVE_FAILED 2
#define OPERATOR_LESS_THAN 0
#define OPERATOR_GREATER_THAN 1
#define OPTION_FORWARDPITCH 0x0001
#define OPTION_LOOKAHEAD 0x0002
#define OPTION_SIGHTONSCREEN 0x0004
#define OPTION_AUTOAIM 0x0008
#define OPTION_AIMCONTROL 0x0010
#define OPTION_AMMOONSCREEN 0x0020
#define OPTION_SHOWGUNFUNCTION 0x0040
#define OPTION_HEADROLL 0x0080
#define OPTION_ALWAYSSHOWTARGET 0x0200
#define OPTION_SHOWZOOMRANGE 0x0400
#define OPTION_PAINTBALL 0x0800
#define OPTION_ASKEDSAVEPLAYER 0x4000
#define OPTION_SHOWMISSIONTIME 0x8000
#define OUTFIT_DEFAULT 0x00
#define OUTFIT_ELVIS 0x01
#define OUTFIT_TRENT 0x02 // unused
#define OUTFIT_TRENCH 0x03
#define OUTFIT_FROCK_RIPPED 0x04
#define OUTFIT_FROCK 0x05
#define OUTFIT_LEATHER 0x06
#define OUTFIT_DEEPSEA 0x07
#define OUTFIT_WETSUIT 0x08
#define OUTFIT_SNOW 0x09
#define OUTFIT_LAB 0x0a
#define OUTFIT_STEWARDESS 0x0b
#define OUTFIT_MRBLONDE 0x0c
#define OUTFIT_MAIAN 0x0d
#define OUTFIT_NEGOTIATOR 0x0e // unused by scripts
#define PAD_PRESET 9000
#define PADEFFECT_SPARKS 0x00
#define PADEFFECT_01 0x01 // used only in Escape on a pad containing nothing
#define PADEFFECT_SPLASH 0x02
#define PADEFFECT_SPARKS2 0x03
#define PADEFFECT_SMOKE 0x04
#define PADEFFECT_SMOKE_TEMPORARY 0x05
#define PADFIELD_POS 0x0002
#define PADFIELD_LOOK 0x0004
#define PADFIELD_UP 0x0008
#define PADFIELD_NORMAL 0x0010
#define PADFIELD_BBOX 0x0020
#define PADFIELD_ROOM 0x0040
#define PADFIELD_FLAGS 0x0080
#define PADFIELD_LIFT 0x0100
#define PADFLAG_INTPOS 0x0001
#define PADFLAG_UPALIGNTOX 0x0002
#define PADFLAG_UPALIGNTOY 0x0004
#define PADFLAG_UPALIGNTOZ 0x0008
#define PADFLAG_UPALIGNINVERT 0x0010
#define PADFLAG_LOOKALIGNTOX 0x0020
#define PADFLAG_LOOKALIGNTOY 0x0040
#define PADFLAG_LOOKALIGNTOZ 0x0080
#define PADFLAG_LOOKALIGNINVERT 0x0100
#define PADFLAG_HASBBOXDATA 0x0200
#define PADFLAG_AIWAITLIFT 0x0400
#define PADFLAG_AIONLIFT 0x0800
#define PADFLAG_AIWALKDIRECT 0x1000
#define PADFLAG_AIDROP 0x2000
#define PADFLAG_AIDUCK 0x4000
#define PATHTYPE_BACKANDFORTH 0
#define PATHTYPE_CIRCULAR 1
#define PATHTYPE_FLYING 2
#define PATHTYPE_4 4
#define PAUSEMODE_0 0
#define PAUSEMODE_1 1
#define PAUSEMODE_3 3
#define PDMODEPROP_REACTION 0
#define PDMODEPROP_HEALTH 1
#define PDMODEPROP_DAMAGE 2
#define PDMODEPROP_ACCURACY 3
#define PLAYERFLAG_NOCONTROL 0x00000002
#define PORTALCMD_END 0x00
#define PORTALCMD_PUSH 0x01
#define PORTALCMD_POP 0x02
#define PORTALCMD_AND 0x03
#define PORTALCMD_OR 0x04
#define PORTALCMD_NOT 0x05
#define PORTALCMD_XOR 0x06
#define PORTALCMD_14 0x14
#define PORTALCMD_SETMODEVIS 0x1e
#define PORTALCMD_1F 0x1f
#define PORTALCMD_20 0x20
#define PORTALCMD_SETMODEINVIS 0x21
#define PORTALCMD_22 0x22
#define PORTALCMD_23 0x23
#define PORTALCMD_DISABLEROOM 0x24
#define PORTALCMD_DISABLEROOMRANGE 0x25
#define PORTALCMD_LOADROOM 0x26
#define PORTALCMD_LOADROOMRANGE 0x27
#define PORTALCMD_28 0x28
#define PORTALCMD_29 0x29
#define PORTALCMD_2A 0x2a
#define PORTALCMD_50 0x50
#define PORTALCMD_51 0x51
#define PORTALCMD_ENABLEPARENTEXEC 0x52
#define PORTALCMD_IF 0x5a
#define PORTALCMD_TOGGLEEXEC 0x5b
#define PORTALCMD_ENDIF 0x5c
#define PORTALCMD_TRAILER 0x65
#define PORTALFLAG_ENABLED 0x01
#define PORTALFLAG_04 0x04
#define PORTALMODE_SHOW 0
#define PORTALMODE_HIDE 1
#define PROPFLAG_02 0x02
#define PROPFLAG_HIDDEN 0x04
#define PROPFLAG_40 0x40
#define PROPFLAG_80 0x80
#define PROPTYPE_OBJ 1
#define PROPTYPE_DOOR 2
#define PROPTYPE_CHR 3
#define PROPTYPE_WEAPON 4
#define PROPTYPE_EYESPY 5
#define PROPTYPE_PLAYER 6
#define PROPTYPE_EXPLOSION 7
#define PROPTYPE_EFFECT 8
#define RACE_HUMAN 0
#define RACE_SKEDAR 1
#define RACE_DRCAROLL 2
#define RACE_EYESPY 3
#define RACE_ROBOT 4
#define ROOMFLAG_DISABLED 0x0001
#define ROOMFLAG_VISIBLEBYPLAYER 0x0004
#define ROOMFLAG_VISIBLEBYAIBOT 0x0008
#define ROOMFLAG_4000 0x4000
#define ROOMFLAG_8000 0x8000
#define SAVEFILEFLAG_P1_FORWARDPITCH 0x00
#define SAVEFILEFLAG_P1_AUTOAIM 0x01
#define SAVEFILEFLAG_P1_AIMCONTROL 0x02
#define SAVEFILEFLAG_P1_SIGHTONSCREEN 0x03
#define SAVEFILEFLAG_P1_LOOKAHEAD 0x04
#define SAVEFILEFLAG_P1_AMMOONSCREEN 0x05
#define SAVEFILEFLAG_SCREENSIZE_WIDE 0x06
#define SAVEFILEFLAG_SCREENRATIO 0x07
#define SAVEFILEFLAG_SCREENSIZE_CINEMA 0x08
#define SAVEFILEFLAG_P1_HEADROLL 0x09
#define SAVEFILEFLAG_P1_SHOWGUNFUNCTION 0x0a
#define SAVEFILEFLAG_INGAMESUBTITLES 0x0b
#define SAVEFILEFLAG_P2_FORWARDPITCH 0x0c
#define SAVEFILEFLAG_P2_AUTOAIM 0x0d
#define SAVEFILEFLAG_P2_AIMCONTROL 0x0e
#define SAVEFILEFLAG_P2_SIGHTONSCREEN 0x0f
#define SAVEFILEFLAG_P2_LOOKAHEAD 0x10
#define SAVEFILEFLAG_P2_AMMOONSCREEN 0x11
#define SAVEFILEFLAG_P2_HEADROLL 0x12
#define SAVEFILEFLAG_P2_SHOWGUNFUNCTION 0x13
#define SAVEFILEFLAG_CUTSCENESUBTITLES 0x14
#define SAVEFILEFLAG_P1_ALWAYSSHOWTARGET 0x15
#define SAVEFILEFLAG_P2_ALWAYSSHOWTARGET 0x16
#define SAVEFILEFLAG_P1_SHOWZOOMRANGE 0x17
#define SAVEFILEFLAG_P2_SHOWZOOMRANGE 0x18
#define SAVEFILEFLAG_SCREENSPLIT 0x19
#define SAVEFILEFLAG_P1_SHOWMISSIONTIME 0x1a
#define SAVEFILEFLAG_P2_SHOWMISSIONTIME 0x1b
#define SAVEFILEFLAG_COOPRADARON 0x1c
#define SAVEFILEFLAG_COOPFRIENDLYFIRE 0x1d
#define SAVEFILEFLAG_ANTIRADARON 0x1e
#define SAVEFILEFLAG_ANTIPLAYERNUM 0x1f
#define SAVEFILEFLAG_P1_PAINTBALL 0x20
#define SAVEFILEFLAG_P2_PAINTBALL 0x21
#define SAVEFILEFLAG_HIRES 0x22
#define SAVEFILEFLAG_USED_TRANSFERPAK 0x23
#define SAVEFILEFLAG_CI_TOUR_DONE 0x24
#define SAVEFILEFLAG_CI_HOLO7_DONE 0x29
#define SAVEFILEFLAG_CI_HOLO6_DONE 0x2a
#define SAVEFILEFLAG_CI_HOLO5_DONE 0x2b
#define SAVEFILEFLAG_CI_HOLO4_DONE 0x2c
#define SAVEFILEFLAG_CI_HOLO3_DONE 0x2d
#define SAVEFILEFLAG_CI_HOLO2_DONE 0x2e
#define SAVEFILEFLAG_CI_HOLO1_DONE 0x2f
#define SAVEFILEFLAG_CI_CLOAK_DONE 0x30
#define SAVEFILEFLAG_CI_DISGUISE_DONE 0x31
#define SAVEFILEFLAG_CI_XRAY_DONE 0x32
#define SAVEFILEFLAG_CI_IR_DONE 0x33
#define SAVEFILEFLAG_CI_RTRACKER_DONE 0x34
#define SAVEFILEFLAG_CI_DOORDECODER_DONE 0x35
#define SAVEFILEFLAG_CI_NIGHTVISION_DONE 0x36
#define SAVEFILEFLAG_CI_CAMSPY_DONE 0x37
#define SAVEFILEFLAG_CI_ECMMINE_DONE 0x38
#define SAVEFILEFLAG_CI_UPLINK_DONE 0x39
#define SAVEFILEFLAG_CI_TOUR_STARTED 0x3a
#define SAVEFILEFLAG_CRASHSITE_BIKE 0x3b
#define SAVEFILEFLAG_DEFENSE_JON 0x3c
#define SAVEFILEFLAG_AF1_ENTRY 0x3d
#define SAVEFILEFLAG_RESCUE_MECHANIC_DEAD 0x3e
#define SAVEFILEFLAG_G5_MINE 0x3f // true if thrown on top door
#define SAVEFILEFLAG_LANGFILTERON 0x40
#define SAVEFILEFLAG_41 0x41
#define SAVEFILEFLAG_42 0x42
#define SAVEFILEFLAG_43 0x43
#define SAVEFILEFLAG_HOWTO_HOVERCRATE 0x47
#define SAVEFILEFLAG_HOWTO_HOVERBIKE 0x48
#define SAVEFILEFLAG_HOWTO_DOORS 0x49
#define SAVEFILEFLAG_HOWTO_ELEVATORS 0x4a
#define SAVEFILEFLAG_HOWTO_TERMINALS 0x4b
#define SCREENRATIO_NORMAL 0
#define SCREENRATIO_16_9 1
#define SCREENSIZE_FULL 0
#define SCREENSIZE_WIDE 1
#define SCREENSIZE_CINEMA 2
#define SCREENSPLIT_HORIZONTAL 0
#define SCREENSPLIT_VERTICAL 1
#define SHOTCOUNT_TOTAL 0
#define SHOTCOUNT_HEAD 1
#define SHOTCOUNT_BODY 2
#define SHOTCOUNT_LIMB 3
#define SHOTCOUNT_GUN 4
#define SHOTCOUNT_5 5 // hat?
#define SHOTCOUNT_OBJECT 6
#define SIGHT_DEFAULT 0
#define SIGHT_CLASSIC 1
#define SIGHT_EMPTYBOX 3
#define SIGHT_SKEDAR 4
#define SIGHT_ZOOM 5
#define SIGHT_MAIAN 6
#define SIGHT_NONE 7
#define SIMTYPE_GENERAL 0
#define SIMTYPE_PEACE 1
#define SIMTYPE_SHIELD 2
#define SIMTYPE_ROCKET 3
#define SIMTYPE_KAZE 4
#define SIMTYPE_FIST 5
#define SIMTYPE_PREY 6
#define SIMTYPE_COWARD 7
#define SIMTYPE_JUDGE 8
#define SIMTYPE_FEUD 9
#define SIMTYPE_SPEED 10
#define SIMTYPE_TURTLE 11
#define SIMTYPE_VENGE 12
#define SKJUMPSTATE_TAKEOFF 0
#define SKJUMPSTATE_AIRBORNE 1
#define SLOWMOTION_OFF 0
#define SLOWMOTION_ON 1
#define SLOWMOTION_SMART 2
#define SMOKETYPE_0 0
#define SMOKETYPE_1 1
#define SMOKETYPE_2 2
#define SMOKETYPE_3 3
#define SMOKETYPE_4 4
#define SMOKETYPE_5 5
#define SMOKETYPE_6 6
#define SMOKETYPE_7 7
#define SOLOSTAGEINDEX_DEFECTION 0
#define SOLOSTAGEINDEX_INVESTIGATION 1
#define SOLOSTAGEINDEX_EXTRACTION 2
#define SOLOSTAGEINDEX_VILLA 3
#define SOLOSTAGEINDEX_CHICAGO 4
#define SOLOSTAGEINDEX_G5BUILDING 5
#define SOLOSTAGEINDEX_INFILTRATION 6
#define SOLOSTAGEINDEX_RESCUE 7
#define SOLOSTAGEINDEX_ESCAPE 8
#define SOLOSTAGEINDEX_AIRBASE 9
#define SOLOSTAGEINDEX_AIRFORCEONE 10
#define SOLOSTAGEINDEX_CRASHSITE 11
#define SOLOSTAGEINDEX_PELAGIC 12
#define SOLOSTAGEINDEX_DEEPSEA 13
#define SOLOSTAGEINDEX_DEFENSE 14
#define SOLOSTAGEINDEX_ATTACKSHIP 15
#define SOLOSTAGEINDEX_SKEDARRUINS 16
#define SOLOSTAGEINDEX_MBR 17
#define SOLOSTAGEINDEX_MAIANSOS 18
#define SOLOSTAGEINDEX_WAR 19
#define SOLOSTAGEINDEX_DUEL 20
#define SOUNDMODE_MONO 0
#define SOUNDMODE_STEREO 1
#define SOUNDMODE_HEADPHONE 2
#define SOUNDMODE_SURROUND 3
#define SPECIALDIE_NONE 0
#define SPECIALDIE_1 1
#define SPECIALDIE_2 2
#define SPECIALDIE_3 3
#define SPECIALDIE_4 4
#define SPECIALDIE_OVERRAILING 5
#define SPECIALDIE_ONCHAIR 6
#define SPEED_WALK 0
#define SPEED_JOG 1
#define SPEED_RUN 2
#define SQUADRON_00 0x00
#define SQUADRON_01 0x01
#define SQUADRON_02 0x02
#define SQUADRON_03 0x03
#define SQUADRON_04 0x04
#define SQUADRON_05 0x05
#define SQUADRON_06 0x06
#define SQUADRON_07 0x07
#define SQUADRON_08 0x08
#define SQUADRON_09 0x09
#define SQUADRON_0A 0x0a
#define SQUADRON_0B 0x0b
#define SQUADRON_0C 0x0c
#define SQUADRON_0D 0x0d
#define SQUADRON_0E 0x0e
#define SQUADRON_0F 0x0f
#define STAGE_MAIANSOS 0x09
#define STAGE_TEST_SILO 0x14
#define STAGE_WAR 0x16
#define STAGE_MP_RAVINE 0x17
#define STAGE_TEST_ARCH 0x18
#define STAGE_ESCAPE 0x19
#define STAGE_TEST_DEST 0x1a
#define STAGE_RETAKING 0x1b
#define STAGE_CRASHSITE 0x1c
#define STAGE_CHICAGO 0x1d
#define STAGE_G5BUILDING 0x1e
#define STAGE_MP_COMPLEX 0x1f
#define STAGE_MP_G5BUILDING 0x20
#define STAGE_PELAGIC 0x21
#define STAGE_EXTRACTION 0x22
#define STAGE_TEST_RUN 0x23
#define STAGE_24 0x24
#define STAGE_MP_TEMPLE 0x25
#define STAGE_CITRAINING 0x26
#define STAGE_AIRBASE 0x27
#define STAGE_28 0x28
#define STAGE_MP_PIPES 0x29
#define STAGE_SKEDARRUINS 0x2a
#define STAGE_2B 0x2b
#define STAGE_VILLA 0x2c
#define STAGE_DEFENSE 0x2d
#define STAGE_TEST_ASH 0x2e
#define STAGE_INFILTRATION 0x2f
#define STAGE_DEFECTION 0x30
#define STAGE_AIRFORCEONE 0x31
#define STAGE_MP_SKEDAR 0x32
#define STAGE_INVESTIGATION 0x33
#define STAGE_ATTACKSHIP 0x34
#define STAGE_RESCUE 0x35
#define STAGE_TEST_LEN 0x36
#define STAGE_MBR 0x37
#define STAGE_DEEPSEA 0x38
#define STAGE_MP_BASE 0x39
#define STAGE_TEST_MP2 0x3a
#define STAGE_MP_AREA52 0x3b
#define STAGE_MP_WAREHOUSE 0x3c
#define STAGE_MP_CARPARK 0x3d
#define STAGE_TEST_MP6 0x3e
#define STAGE_TEST_MP7 0x3f
#define STAGE_TEST_MP8 0x40
#define STAGE_MP_RUINS 0x41
#define STAGE_MP_SEWERS 0x42
#define STAGE_MP_FELICITY 0x43
#define STAGE_MP_FORTRESS 0x44
#define STAGE_MP_VILLA 0x45
#define STAGE_TEST_MP14 0x46
#define STAGE_MP_GRID 0x47
#define STAGE_TEST_MP16 0x48
#define STAGE_TEST_MP17 0x49
#define STAGE_TEST_MP18 0x4a
#define STAGE_TEST_MP19 0x4b
#define STAGE_TEST_MP20 0x4c
#define STAGE_TEST_UFF 0x4d
#define STAGE_TEST_OLD 0x4e
#define STAGE_DUEL 0x4f
#define STAGE_TEST_LAM 0x50
#define STAGE_TITLE 0x5a
#define STAGE_BOOTPAKMENU 0x5b
#define STAGE_CREDITS 0x5c
#define STAGE_4MBMENU 0x5d
#define STAGEFLAG_CI_IN_TRAINING 0x00000001
#define STAGEFLAG_CI_HOLO_FAILED 0x00000002
#define STAGEFLAG_CI_DEVICE_ABORTING 0x00000004
#define STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS 0x00000008
#define STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE 0x00000010
#define STAGEFLAG_CI_HOLO_ABORTING 0x00000020
#define STAGEFLAG_CI_TRIGGER_HOLO_SUCCESS 0x00000040
#define STAGEFLAG_CI_TRIGGER_HOLO_FAILURE 0x00000080
#define STAGEFLAG_CI_TRIGGER_UPLINK 0x00000100
#define STAGEFLAG_CI_TRIGGER_ECMMINE 0x00000200
#define STAGEFLAG_CI_TRIGGER_CAMSPY 0x00000400
#define STAGEFLAG_CI_TRIGGER_NIGHTVISION 0x00000800
#define STAGEFLAG_CI_TRIGGER_DOORDECODER 0x00001000
#define STAGEFLAG_CI_TRIGGER_RTRACKER 0x00002000
#define STAGEFLAG_CI_TRIGGER_IR 0x00004000
#define STAGEFLAG_CI_TRIGGER_XRAY 0x00008000
#define STAGEFLAG_CI_TRIGGER_DISGUISE 0x00010000
#define STAGEFLAG_CI_TRIGGER_CLOAK 0x00020000
#define STAGEFLAG_CI_IN_HOLO1 0x00040000
#define STAGEFLAG_CI_IN_HOLO2 0x00080000
#define STAGEFLAG_CI_IN_HOLO3 0x00100000
#define STAGEFLAG_CI_IN_HOLO4 0x00200000
#define STAGEFLAG_CI_IN_HOLO5 0x00400000
#define STAGEFLAG_CI_IN_HOLO6 0x00800000
#define STAGEFLAG_CI_IN_HOLO7 0x01000000
#define STAGEFLAG_CI_GENERAL_PURPOSE 0x02000000
#define STAGEINDEX_MAIANSOS 0x00
#define STAGEINDEX_TEST_SILO 0x01
#define STAGEINDEX_WAR 0x02
#define STAGEINDEX_MP_RAVINE 0x03
#define STAGEINDEX_TEST_ARCH 0x04
#define STAGEINDEX_ESCAPE 0x05
#define STAGEINDEX_TEST_DEST 0x06
#define STAGEINDEX_RETAKING 0x07
#define STAGEINDEX_CRASHSITE 0x08
#define STAGEINDEX_CHICAGO 0x09
#define STAGEINDEX_G5BUILDING 0x0a
#define STAGEINDEX_MP_COMPLEX 0x0b
#define STAGEINDEX_MP_G5BUILDING 0x0c
#define STAGEINDEX_PELAGIC 0x0d
#define STAGEINDEX_EXTRACTION 0x0e
#define STAGEINDEX_TEST_RUN 0x0f
#define STAGEINDEX_MP_TEMPLE 0x11
#define STAGEINDEX_CITRAINING 0x12
#define STAGEINDEX_AIRBASE 0x13
#define STAGEINDEX_MP_PIPES 0x15
#define STAGEINDEX_SKEDARRUINS 0x16
#define STAGEINDEX_VILLA 0x18
#define STAGEINDEX_DEFENSE 0x19
#define STAGEINDEX_TEST_ASH 0x1a
#define STAGEINDEX_INFILTRATION 0x1b
#define STAGEINDEX_DEFECTION 0x1c
#define STAGEINDEX_AIRFORCEONE 0x1d
#define STAGEINDEX_MP_SKEDAR 0x1e
#define STAGEINDEX_INVESTIGATION 0x1f
#define STAGEINDEX_ATTACKSHIP 0x20
#define STAGEINDEX_RESCUE 0x21
#define STAGEINDEX_TEST_LEN 0x22
#define STAGEINDEX_MBR 0x23
#define STAGEINDEX_DEEPSEA 0x24
#define STAGEINDEX_TEST_UFF 0x25
#define STAGEINDEX_TEST_OLD 0x26
#define STAGEINDEX_DUEL 0x27
#define STAGEINDEX_TEST_LAM 0x28
#define STAGEINDEX_MP_BASE 0x29
#define STAGEINDEX_TEST_MP2 0x2a
#define STAGEINDEX_MP_AREA52 0x2b
#define STAGEINDEX_MP_WAREHOUSE 0x2c
#define STAGEINDEX_MP_CARPARK 0x2d
#define STAGEINDEX_TEST_MP6 0x2e
#define STAGEINDEX_TEST_MP7 0x2f
#define STAGEINDEX_TEST_MP8 0x30
#define STAGEINDEX_MP_RUINS 0x31
#define STAGEINDEX_MP_SEWERS 0x32
#define STAGEINDEX_MP_FELICITY 0x33
#define STAGEINDEX_MP_FORTRESS 0x34
#define STAGEINDEX_MP_VILLA 0x35
#define STAGEINDEX_TEST_MP14 0x36
#define STAGEINDEX_MP_GRID 0x37
#define STAGEINDEX_TEST_MP16 0x38
#define STAGEINDEX_TEST_MP17 0x39
#define STAGEINDEX_TEST_MP18 0x3a
#define STAGEINDEX_TEST_MP19 0x3b
#define STAGEINDEX_TEST_MP20 0x3c
#define TEAM_00 0x00
#define TEAM_01 0x01
#define TEAM_ENEMY 0x02
#define TEAM_04 0x04
#define TEAM_ALLY 0x10
#define TEAM_20 0x20
#define TEAM_22 0x22
#define TEAM_32 0x32
#define TEAM_NONCOMBAT 0x80
#define TICKMODE_0 0
#define TICKMODE_1 1
#define TICKMODE_3 3
#define TICKMODE_4 4
#define TICKMODE_6 6
#define TICKMODE_AUTOWALK 7
#define TELEPORTSTATE_0 0
#define TELEPORTSTATE_STARTING 1
#define TELEPORTSTATE_3 3
#define TELEPORTSTATE_4 4
#define VISIONMODE_NORMAL 0
#define VISIONMODE_XRAY 1
#define VISIONMODE_SLAYERROCKET 2
#define WEAPON_NONE 0x00
#define WEAPON_UNARMED 0x01
#define WEAPON_FALCON2 0x02
#define WEAPON_FALCON2_SILENCER 0x03
#define WEAPON_FALCON2_SCOPE 0x04
#define WEAPON_MAGSEC4 0x05
#define WEAPON_MAULER 0x06
#define WEAPON_PHOENIX 0x07
#define WEAPON_DY357MAGNUM 0x08
#define WEAPON_DY357LX 0x09
#define WEAPON_CMP150 0x0a
#define WEAPON_CYCLONE 0x0b
#define WEAPON_CALLISTONTG 0x0c
#define WEAPON_RCP120 0x0d
#define WEAPON_LAPTOPGUN 0x0e
#define WEAPON_DRAGON 0x0f
#define WEAPON_K7AVENGER 0x10
#define WEAPON_AR34 0x11
#define WEAPON_SUPERDRAGON 0x12
#define WEAPON_SHOTGUN 0x13
#define WEAPON_REAPER 0x14
#define WEAPON_SNIPERRIFLE 0x15
#define WEAPON_FARSIGHTXR20 0x16
#define WEAPON_DEVASTATOR 0x17
#define WEAPON_ROCKETLAUNCHER 0x18
#define WEAPON_SLAYER 0x19
#define WEAPON_COMBATKNIFE 0x1a
#define WEAPON_CROSSBOW 0x1b
#define WEAPON_TRANQUILIZER 0x1c
#define WEAPON_LASER 0x1d
#define WEAPON_GRENADE 0x1e
#define WEAPON_NBOMB 0x1f
#define WEAPON_TIMEDMINE 0x20
#define WEAPON_PROXIMITYMINE 0x21
#define WEAPON_REMOTEMINE 0x22
#define WEAPON_COMBATBOOST 0x23
#define WEAPON_PP9I 0x24
#define WEAPON_CC13 0x25
#define WEAPON_KL01313 0x26
#define WEAPON_KF7SPECIAL 0x27
#define WEAPON_ZZT 0x28
#define WEAPON_DMC 0x29
#define WEAPON_AR53 0x2a
#define WEAPON_RCP45 0x2b
#define WEAPON_PSYCHOSISGUN 0x2c
#define WEAPON_NIGHTVISION 0x2d
#define WEAPON_CAMSPY 0x2e
#define WEAPON_XRAYSCANNER 0x2f
#define WEAPON_IRSCANNER 0x30
#define WEAPON_CLOAKINGDEVICE 0x31
#define WEAPON_HORIZONSCANNER 0x32
#define WEAPON_TESTER 0x33
#define WEAPON_ROCKETLAUNCHER_34 0x34
#define WEAPON_ECMMINE 0x35
#define WEAPON_DATAUPLINK 0x36
#define WEAPON_RTRACKER 0x37
#define WEAPON_PRESIDENTSCANNER 0x38
#define WEAPON_DOORDECODER 0x39
#define WEAPON_AUTOSURGEON 0x3a
#define WEAPON_EXPLOSIVES 0x3b
#define WEAPON_SKEDARBOMB 0x3c
#define WEAPON_COMMSRIDER 0x3d
#define WEAPON_TRACERBUG 0x3e
#define WEAPON_TARGETAMPLIFIER 0x3f
#define WEAPON_DISGUISE40 0x40
#define WEAPON_DISGUISE41 0x41
#define WEAPON_FLIGHTPLANS 0x42
#define WEAPON_RESEARCHTAPE 0x43
#define WEAPON_BACKUPDISK 0x44
#define WEAPON_KEYCARD45 0x45
#define WEAPON_KEYCARD46 0x46
#define WEAPON_KEYCARD47 0x47
#define WEAPON_KEYCARD48 0x48
#define WEAPON_KEYCARD49 0x49
#define WEAPON_KEYCARD4A 0x4a
#define WEAPON_KEYCARD4B 0x4b
#define WEAPON_KEYCARD4C 0x4c
#define WEAPON_SUITCASE 0x4d
#define WEAPON_BRIEFCASE 0x4e
#define WEAPON_SHIELD 0x4f
#define WEAPON_NECKLACE 0x50
#define WEAPON_HAMMER 0x51
#define WEAPON_52 0x52
#define WEAPON_ROCKET 0x53
#define WEAPON_HOMINGROCKET 0x54
#define WEAPON_GRENADEROUND 0x55
#define WEAPON_BOLT 0x56
#define WEAPON_BRIEFCASE2 0x57
#define WEAPON_ROCKET2 0x58
#define WEAPON_59 0x59
#define WEAPON_5A 0x5a
#define WEAPON_5B 0x5b
#define WEAPON_5C 0x5c
#define WEAPON_SUICIDEPILL 0x5d
#define WEAPONFLAG_00000010 0x00000010
#define WEAPONFLAG_TRACKTIMEUSED 0x00000200
#define WEAPONFLAG_DUALWIELD 0x00001000
#define WEAPONFLAG_00040000 0x00040000
#define WEAPONFLAG_DETERMINER_S_AN 0x00200000
#define WEAPONFLAG_DETERMINER_F_AN 0x00400000
#define WEAPONFLAG_DETERMINER_S_THE 0x00800000
#define WEAPONFLAG_DETERMINER_F_THE 0x01000000
#define WEAPONFLAG_DETERMINER_S_SOME 0x10000000
#define WEAPONFLAG_DETERMINER_F_SOME 0x20000000
#define WEATHERTYPE_RAIN 0
#define WEATHERTYPE_SNOW 1
// Heads and bodies
#define HEAD_RANDOM -1
#define BODY_DJBOND 0x00
#define BODY_CONNERY 0x01
#define BODY_DALTON 0x02
#define BODY_MOORE 0x03
#define HEAD_DARK_COMBAT 0x04
#define HEAD_ELVIS 0x05
#define HEAD_ROSS 0x06
#define HEAD_CARRINGTON 0x07
#define HEAD_MRBLONDE 0x08
#define HEAD_TRENT 0x09
#define HEAD_DDSHOCK 0x0a
#define HEAD_GRAHAM 0x0b
#define HEAD_DARK_FROCK 0x0c
#define HEAD_SECRETARY 0x0d
#define HEAD_CASSANDRA 0x0e
#define HEAD_THEKING 0x0f
#define HEAD_FEM_GUARD 0x10
#define HEAD_JON 0x11
#define HEAD_MARK2 0x12
#define HEAD_CHRIST 0x13
#define HEAD_RUSS 0x14
#define HEAD_GREY 0x15
#define HEAD_DARLING 0x16
#define HEAD_ROBERT 0x17
#define HEAD_BEAU1 0x18
#define HEAD_FEM_GUARD2 0x19
#define HEAD_BRIAN 0x1a
#define HEAD_JAMIE 0x1b
#define HEAD_DUNCAN2 0x1c
#define HEAD_BIOTECH 0x1d
#define HEAD_NEIL2 0x1e
#define HEAD_EDMCG 0x1f
#define HEAD_ANKA 0x20
#define HEAD_LESLIE_S 0x21
#define HEAD_MATT_C 0x22
#define HEAD_PEER_S 0x23
#define HEAD_EILEEN_T 0x24
#define HEAD_ANDY_R 0x25
#define HEAD_BEN_R 0x26
#define HEAD_STEVE_K 0x27
#define HEAD_JONATHAN 0x28
#define HEAD_MAIAN_S 0x29
#define HEAD_SHAUN 0x2a
#define HEAD_BEAU2 0x2b
#define HEAD_EILEEN_H 0x2c
#define HEAD_SCOTT_H 0x2d
#define HEAD_SANCHEZ 0x2e
#define HEAD_DARKAQUA 0x2f
#define HEAD_DDSNIPER 0x30
#define HEAD_BEAU3 0x31
#define HEAD_BEAU4 0x32
#define HEAD_BEAU5 0x33
#define HEAD_BEAU6 0x34
#define HEAD_GRIFFEY 0x35
#define HEAD_MOTO 0x36
#define HEAD_KEITH 0x37
#define HEAD_WINNER 0x38
#define HEAD_A51FACEPLATE 0x39
#define HEAD_ELVIS_GOGS 0x3a
#define HEAD_STEVEM 0x3b
#define HEAD_DARK_SNOW 0x3c
#define HEAD_PRESIDENT 0x3d
#define HEAD_VD 0x3e
#define HEAD_KEN 0x3f
#define HEAD_JOEL 0x40
#define HEAD_TIM 0x41
#define HEAD_GRANT 0x42
#define HEAD_PENNY 0x43
#define HEAD_ROBIN 0x44
#define HEAD_ALEX 0x45
#define HEAD_JULIANNE 0x46
#define HEAD_LAURA 0x47
#define HEAD_DAVEC 0x48
#define HEAD_COOK 0x49
#define HEAD_PRYCE 0x4a
#define HEAD_SILKE 0x4b
#define HEAD_SMITH 0x4c
#define HEAD_GARETH 0x4d
#define HEAD_MURCHIE 0x4e
#define HEAD_WONG 0x4f
#define HEAD_CARTER 0x50
#define HEAD_TINTIN 0x51
#define HEAD_MUNTON 0x52
#define HEAD_STAMPER 0x53
#define HEAD_JONES 0x54
#define HEAD_PHELPS 0x55
#define BODY_DARK_COMBAT 0x56
#define BODY_ELVIS1 0x57
#define BODY_AREA51GUARD 0x58
#define BODY_OVERALL 0x59
#define BODY_CARRINGTON 0x5a
#define BODY_MRBLONDE 0x5b
#define BODY_SKEDAR 0x5c
#define BODY_TRENT 0x5d
#define BODY_DDSHOCK 0x5e
#define BODY_LABTECH 0x5f
#define BODY_STRIPES 0x60
#define BODY_DARK_FROCK 0x61
#define BODY_DARK_TRENCH 0x62
#define BODY_OFFICEWORKER 0x63
#define BODY_OFFICEWORKER2 0x64
#define BODY_SECRETARY 0x65
#define BODY_CASSANDRA 0x66
#define BODY_THEKING 0x67
#define BODY_FEM_GUARD 0x68
#define BODY_DD_LABTECH 0x69
#define BODY_DD_SECGUARD 0x6a
#define BODY_DRCAROLL 0x6b
#define BODY_EYESPY 0x6c
#define BODY_DARK_RIPPED 0x6d
#define BODY_DD_GUARD 0x6e
#define BODY_DD_SHOCK_INF 0x6f
#define BODY_TESTCHR 0x70
#define BODY_BIOTECH 0x71
#define BODY_FBIGUY 0x72
#define BODY_CIAGUY 0x73
#define BODY_A51TROOPER 0x74
#define BODY_A51AIRMAN 0x75
#define BODY_CHICROB 0x76
#define BODY_STEWARD 0x77
#define BODY_STEWARDESS 0x78
#define BODY_PRESIDENT 0x79
#define BODY_STEWARDESS_COAT 0x7a
#define BODY_MINISKEDAR 0x7b
#define BODY_NSA_LACKEY 0x7c
#define BODY_PRES_SECURITY 0x7d
#define BODY_NEGOTIATOR 0x7e
#define BODY_G5_GUARD 0x7f
#define BODY_PELAGIC_GUARD 0x80
#define BODY_G5_SWAT_GUARD 0x81
#define BODY_ALASKAN_GUARD 0x82
#define BODY_MAIAN_SOLDIER 0x83
#define BODY_PRESIDENT_CLONE 0x84
#define BODY_PRESIDENT_CLONE2 0x85
#define BODY_DARK_AF1 0x86
#define BODY_DARKWET 0x87
#define BODY_DARKAQUALUNG 0x88
#define BODY_DARKSNOW 0x89
#define BODY_DARKLAB 0x8a
#define BODY_FEMLABTECH 0x8b
#define BODY_DDSNIPER 0x8c
#define BODY_PILOTAF1 0x8d
#define BODY_CILABTECH 0x8e
#define BODY_CIFEMTECH 0x8f
#define BODY_CARREVENINGSUIT 0x90
#define BODY_JONATHAN 0x91
#define BODY_CISOLDIER 0x92
#define BODY_SKEDARKING 0x93
#define BODY_ELVISWAISTCOAT 0x94
#define BODY_DARK_LEATHER 0x95
#define BODY_DARK_NEGOTIATOR 0x96
#define VERSION_NTSC_BETA 0
#define VERSION_NTSC_1_0 1
#define VERSION_NTSC_FINAL 2
#define VERSION_PAL_BETA 3
#define VERSION_PAL_FINAL 4
#define VERSION_JAP_FINAL 5
#if VERSION == VERSION_NTSC_1_0
#define CHECKSUM_7F0225CC 0x5874fe3a
#define CHECKSUM_7F02DC00 0x27be1bf0
#define CHECKSUM_7F03B7B4 0x1cc65d52
#define CHECKSUM_7F15C9AC 0x2c7b42f8
#define CHECKSUM_7F168500 0xfa4221b2
#elif VERSION == VERSION_NTSC_FINAL
#define CHECKSUM_7F0225CC 0x5874f34e
#define CHECKSUM_7F02DC00 0xa7be1bf0
#define CHECKSUM_7F03B7B4 0x860badfe
#define CHECKSUM_7F15C9AC 0x2c7b82c8
#define CHECKSUM_7F168500 0xfa4223f2
#else
#define CHECKSUM_7F0225CC 0
#define CHECKSUM_7F02DC00 0
#define CHECKSUM_7F03B7B4 0
#define CHECKSUM_7F15C9AC 0
#define CHECKSUM_7F168500 0
#endif