2007-06-14 12:40:25 +00:00
|
|
|
|
|
|
|
//**************************************************************************
|
|
|
|
//**
|
|
|
|
//** zdefs.acs
|
|
|
|
//**
|
|
|
|
//** Common definitions for use when compiling ACS scripts for ZDoom
|
|
|
|
//**
|
|
|
|
//**************************************************************************
|
|
|
|
|
|
|
|
#define TRUE 1
|
|
|
|
#define FALSE 0
|
|
|
|
#define ON 1
|
|
|
|
#define OFF 0
|
|
|
|
#define YES 1
|
|
|
|
#define NO 0
|
|
|
|
|
|
|
|
#define LINE_FRONT 0
|
|
|
|
#define LINE_BACK 1
|
|
|
|
|
|
|
|
#define SIDE_FRONT 0
|
|
|
|
#define SIDE_BACK 1
|
|
|
|
|
|
|
|
#define TEXTURE_TOP 0
|
|
|
|
#define TEXTURE_MIDDLE 1
|
|
|
|
#define TEXTURE_BOTTOM 2
|
|
|
|
|
2008-10-26 21:50:41 +00:00
|
|
|
// same information as combinable bit flags
|
|
|
|
#define TEXFLAG_TOP 1
|
|
|
|
#define TEXFLAG_MIDDLE 2
|
|
|
|
#define TEXFLAG_BOTTOM 4
|
|
|
|
|
2007-06-14 12:40:25 +00:00
|
|
|
#define GAME_SINGLE_PLAYER 0
|
|
|
|
#define GAME_NET_COOPERATIVE 1
|
|
|
|
#define GAME_NET_DEATHMATCH 2
|
|
|
|
#define GAME_TITLE_MAP 3
|
|
|
|
|
|
|
|
// Classes are only useful with Hexen
|
|
|
|
#define CLASS_FIGHTER 0
|
|
|
|
#define CLASS_CLERIC 1
|
|
|
|
#define CLASS_MAGE 2
|
|
|
|
|
|
|
|
#define SKILL_VERY_EASY 0
|
|
|
|
#define SKILL_EASY 1
|
|
|
|
#define SKILL_NORMAL 2
|
|
|
|
#define SKILL_HARD 3
|
|
|
|
#define SKILL_VERY_HARD 4
|
|
|
|
|
|
|
|
#define BLOCK_NOTHING 0
|
|
|
|
#define BLOCK_CREATURES 1
|
|
|
|
#define BLOCK_EVERYTHING 2
|
|
|
|
#define BLOCK_RAILING 3
|
2008-10-26 21:50:41 +00:00
|
|
|
#define BLOCK_PLAYERS 4
|
2007-06-14 12:40:25 +00:00
|
|
|
|
|
|
|
#define SCROLL 0
|
|
|
|
#define CARRY 1
|
|
|
|
#define SCROLL_AND_CARRY 2
|
|
|
|
|
|
|
|
// Means-of-death for Sector_SetDamage --------------------------------------
|
|
|
|
|
|
|
|
#define MOD_UNKNOWN 0
|
|
|
|
#define MOD_ROCKET 5
|
|
|
|
#define MOD_R_SPLASH 6
|
|
|
|
#define MOD_PLASMARIFLE 7
|
|
|
|
#define MOD_BFG_BOOM 8
|
|
|
|
#define MOD_BFG_SPLASH 9
|
|
|
|
#define MOD_CHAINSAW 10
|
|
|
|
#define MOD_SSHOTGUN 11
|
|
|
|
#define MOD_WATER 12
|
|
|
|
#define MOD_SLIME 13
|
|
|
|
#define MOD_LAVA 14
|
|
|
|
#define MOD_CRUSH 15
|
|
|
|
#define MOD_TELEFRAG 16
|
|
|
|
#define MOD_FALLING 17
|
|
|
|
#define MOD_SUICIDE 18
|
|
|
|
#define MOD_BARREL 19
|
|
|
|
#define MOD_EXIT 20
|
|
|
|
#define MOD_SPLASH 21
|
|
|
|
#define MOD_HIT 22
|
|
|
|
#define MOD_RAILGUN 23
|
|
|
|
#define MOD_ICE 24
|
|
|
|
#define MOD_DISINTEGRATE 25
|
|
|
|
#define MOD_POISON 26
|
|
|
|
#define MOD_ELECTRIC 27
|
|
|
|
|
|
|
|
// Return values for PlayMovie ----------------------------------------------
|
|
|
|
|
|
|
|
#define MOVIE_Played 0
|
|
|
|
#define MOVIE_Played_NoVideo 1
|
|
|
|
#define MOVIE_Played_Aborted 2
|
|
|
|
#define MOVIE_Failed -1
|
|
|
|
|
|
|
|
|
|
|
|
// Player properties --------------------------------------------------------
|
|
|
|
|
|
|
|
#define PROP_FROZEN 0
|
|
|
|
#define PROP_NOTARGET 1
|
|
|
|
#define PROP_INSTANTWEAPONSWITCH 2
|
|
|
|
#define PROP_FLY 3
|
|
|
|
#define PROP_TOTALLYFROZEN 4
|
|
|
|
|
|
|
|
// The following properties correspond to powers given by certain items
|
|
|
|
#define PROP_INVULNERABILITY 5
|
|
|
|
#define PROP_STRENGTH 6
|
|
|
|
#define PROP_INVISIBILITY 7
|
|
|
|
#define PROP_RADIATIONSUIT 8
|
|
|
|
#define PROP_ALLMAP 9
|
|
|
|
#define PROP_INFRARED 10
|
|
|
|
#define PROP_WEAPONLEVEL2 11
|
|
|
|
#define PROP_FLIGHT 12
|
|
|
|
#define PROP_SPEED 15
|
|
|
|
|
2008-10-26 21:50:41 +00:00
|
|
|
// Player input -------------------------------------------------------------
|
|
|
|
|
|
|
|
// These are the original inputs sent by the player.
|
|
|
|
#define INPUT_OLDBUTTONS 0
|
|
|
|
#define INPUT_BUTTONS 1
|
|
|
|
#define INPUT_PITCH 2
|
|
|
|
#define INPUT_YAW 3
|
|
|
|
#define INPUT_ROLL 4
|
|
|
|
#define INPUT_FORWARDMOVE 5
|
|
|
|
#define INPUT_SIDEMOVE 6
|
|
|
|
#define INPUT_UPMOVE 7
|
|
|
|
|
|
|
|
// These are the inputs, as modified by P_PlayerThink().
|
|
|
|
// Most of the time, these will match the original inputs, but
|
|
|
|
// they can be different if a player is frozen or using a
|
|
|
|
// chainsaw.
|
|
|
|
#define MODINPUT_OLDBUTTONS 8
|
|
|
|
#define MODINPUT_BUTTONS 9
|
|
|
|
#define MODINPUT_PITCH 10
|
|
|
|
#define MODINPUT_YAW 11
|
|
|
|
#define MODINPUT_ROLL 12
|
|
|
|
#define MODINPUT_FORWARDMOVE 13
|
|
|
|
#define MODINPUT_SIDEMOVE 14
|
|
|
|
#define MODINPUT_UPMOVE 15
|
|
|
|
|
|
|
|
// Player buttons -----------------------------------------------------------
|
|
|
|
|
|
|
|
#define BT_ATTACK 1
|
|
|
|
#define BT_USE 2
|
|
|
|
#define BT_JUMP 4
|
|
|
|
#define BT_CROUCH 8
|
|
|
|
#define BT_TURN180 16
|
|
|
|
#define BT_ALTATTACK 32
|
|
|
|
#define BT_RELOAD 64
|
|
|
|
#define BT_ZOOM 128
|
|
|
|
|
|
|
|
#define BT_SPEED 256
|
|
|
|
#define BT_STRAFE 512
|
|
|
|
|
|
|
|
#define BT_MOVERIGHT 1024
|
|
|
|
#define BT_MOVELEFT 2048
|
|
|
|
#define BT_BACK 4096
|
|
|
|
#define BT_FORWARD 8192
|
|
|
|
#define BT_RIGHT 16384
|
|
|
|
#define BT_LEFT 32768
|
|
|
|
#define BT_LOOKUP 65536
|
|
|
|
#define BT_LOOKDOWN 131072
|
|
|
|
#define BT_MOVEUP 262144
|
|
|
|
#define BT_MOVEDOWN 524288
|
|
|
|
#define BT_SHOWSCORES 1048576
|
|
|
|
|
|
|
|
// Do whatever you want with these.
|
|
|
|
#define BT_USER1 2097152
|
|
|
|
#define BT_USER2 4194304
|
|
|
|
#define BT_USER3 8388608
|
|
|
|
#define BT_USER4 16777216
|
|
|
|
|
2007-06-14 12:40:25 +00:00
|
|
|
// Text colors --------------------------------------------------------------
|
|
|
|
|
|
|
|
#define CR_UNTRANSLATED -1
|
|
|
|
#define CR_BRICK 0
|
|
|
|
#define CR_TAN 1
|
|
|
|
#define CR_GRAY 2
|
|
|
|
#define CR_GREY 2
|
|
|
|
#define CR_GREEN 3
|
|
|
|
#define CR_BROWN 4
|
|
|
|
#define CR_GOLD 5
|
|
|
|
#define CR_RED 6
|
|
|
|
#define CR_BLUE 7
|
|
|
|
#define CR_ORANGE 8
|
|
|
|
#define CR_WHITE 9
|
|
|
|
#define CR_YELLOW 10
|
|
|
|
#define CR_BLACK 12
|
|
|
|
#define CR_LIGHTBLUE 13
|
|
|
|
#define CR_CREAM 14
|
|
|
|
#define CR_OLIVE 15
|
|
|
|
#define CR_DARKGREEN 16
|
|
|
|
#define CR_DARKRED 17
|
|
|
|
#define CR_DARKBROWN 18
|
|
|
|
#define CR_PURPLE 19
|
|
|
|
#define CR_DARKGRAY 20
|
|
|
|
#define CR_DARKGREY 20
|
|
|
|
|
|
|
|
// HUD message types --------------------------------------------------------
|
|
|
|
|
|
|
|
#define HUDMSG_PLAIN 0
|
|
|
|
#define HUDMSG_FADEOUT 1
|
|
|
|
#define HUDMSG_TYPEON 2
|
|
|
|
#define HUDMSG_FADEINOUT 3
|
|
|
|
|
|
|
|
// OR this with one of the above to log the hudmessage to the console.
|
|
|
|
// i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG
|
|
|
|
#define HUDMSG_LOG 0x80000000
|
|
|
|
|
|
|
|
// OR this with one of the above if the color you passed is a string
|
|
|
|
// instead of one of the CR_ constants.
|
|
|
|
#define HUDMSG_COLORSTRING 0x40000000
|
|
|
|
|
|
|
|
// "Scripted" Marine weapon types -------------------------------------------
|
|
|
|
|
|
|
|
#define MARINEWEAPON_Dummy 0
|
|
|
|
#define MARINEWEAPON_Fist 1
|
|
|
|
#define MARINEWEAPON_BerserkFist 2
|
|
|
|
#define MARINEWEAPON_Chainsaw 3
|
|
|
|
#define MARINEWEAPON_Pistol 4
|
|
|
|
#define MARINEWEAPON_Shotgun 5
|
|
|
|
#define MARINEWEAPON_SuperShotgun 6
|
|
|
|
#define MARINEWEAPON_Chaingun 7
|
|
|
|
#define MARINEWEAPON_RocketLauncher 8
|
|
|
|
#define MARINEWEAPON_PlasmaRifle 9
|
|
|
|
#define MARINEWEAPON_Railgun 10
|
|
|
|
#define MARINEWEAPON_BFG 11
|
|
|
|
|
|
|
|
// Actor properties you can get/set -----------------------------------------
|
|
|
|
|
|
|
|
#define APROP_Health 0
|
|
|
|
#define APROP_Speed 1
|
|
|
|
#define APROP_Damage 2
|
|
|
|
#define APROP_Alpha 3
|
|
|
|
#define APROP_RenderStyle 4
|
|
|
|
#define APROP_Ambush 10
|
|
|
|
#define APROP_Invulnerable 11
|
|
|
|
#define APROP_JumpZ 12
|
|
|
|
#define APROP_ChaseGoal 13
|
|
|
|
#define APROP_Frightened 14
|
2008-10-26 21:50:41 +00:00
|
|
|
#define APROP_Gravity 15
|
|
|
|
#define APROP_Friendly 16
|
|
|
|
#define APROP_SpawnHealth 17
|
2007-06-14 12:40:25 +00:00
|
|
|
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
|
|
|
|
#define APROP_AttackSound 6
|
|
|
|
#define APROP_PainSound 7
|
|
|
|
#define APROP_DeathSound 8
|
|
|
|
#define APROP_ActiveSound 9
|
|
|
|
|
|
|
|
// Render Styles ------------------------------------------------------------
|
|
|
|
|
|
|
|
#define STYLE_None 0 // Do not draw
|
|
|
|
#define STYLE_Normal 1 // Normal; just copy the image to the screen
|
|
|
|
#define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
|
|
|
|
#define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
|
|
|
|
#define STYLE_OptFuzzy 4 // Draw as fuzzy or translucent, based on user preference
|
|
|
|
#define STYLE_Translucent 64 // Draw translucent
|
|
|
|
#define STYLE_Add 65 // Draw additive
|
|
|
|
|
|
|
|
// Properties you can use with GetLevelInfo() -------------------------------
|
|
|
|
|
|
|
|
#define LEVELINFO_PAR_TIME 0
|
|
|
|
#define LEVELINFO_CLUSTERNUM 1
|
|
|
|
#define LEVELINFO_LEVELNUM 2
|
|
|
|
#define LEVELINFO_TOTAL_SECRETS 3
|
|
|
|
#define LEVELINFO_FOUND_SECRETS 4
|
|
|
|
#define LEVELINFO_TOTAL_ITEMS 5
|
|
|
|
#define LEVELINFO_FOUND_ITEMS 6
|
|
|
|
#define LEVELINFO_TOTAL_MONSTERS 7
|
|
|
|
#define LEVELINFO_KILLED_MONSTERS 8
|
|
|
|
#define LEVELINFO_SUCK_TIME 9
|
|
|
|
|
|
|
|
// Properties you can use with GetPlayerInfo() ------------------------------
|
|
|
|
|
|
|
|
#define PLAYERINFO_TEAM 0
|
|
|
|
#define PLAYERINFO_AIMDIST 1
|
|
|
|
#define PLAYERINFO_COLOR 2
|
|
|
|
#define PLAYERINFO_GENDER 3
|
|
|
|
#define PLAYERINFO_NEVERSWITCH 4
|
|
|
|
#define PLAYERINFO_MOVEBOB 5
|
|
|
|
#define PLAYERINFO_STILLBOB 6
|
|
|
|
#define PLAYERINFO_PLAYERCLASS 7
|
|
|
|
|
|
|
|
|
|
|
|
// Flags for ReplaceTextures ------------------------------------------------
|
|
|
|
|
|
|
|
#define NOT_BOTTOM 1
|
|
|
|
#define NOT_MIDDLE 2
|
|
|
|
#define NOT_TOP 4
|
|
|
|
#define NOT_FLOOR 8
|
|
|
|
#define NOT_CEILING 16
|
|
|
|
|
|
|
|
// Flags for SectorDamage ---------------------------------------------------
|
|
|
|
|
|
|
|
#define DAMAGE_PLAYERS 1
|
|
|
|
#define DAMAGE_NONPLAYERS 2
|
|
|
|
#define DAMAGE_IN_AIR 4
|
|
|
|
#define DAMAGE_SUBCLASSES_PROTECT 8
|
|
|
|
|
2008-10-26 21:50:41 +00:00
|
|
|
// Flags for MorphActor -----------------------------------------------------
|
|
|
|
|
|
|
|
#define MRF_OLDEFFECTS 0x00000000
|
|
|
|
#define MRF_ADDSTAMINA 0x00000001
|
|
|
|
#define MRF_FULLHEALTH 0x00000002
|
|
|
|
#define MRF_UNDOBYTOMEOFPOWER 0x00000004
|
|
|
|
#define MRF_UNDOBYCHAOSDEVICE 0x00000008
|
|
|
|
#define MRF_FAILNOTELEFRAG 0x00000010
|
|
|
|
#define MRF_FAILNOLAUGH 0x00000020
|
|
|
|
#define MRF_WHENINVULNERABLE 0x00000040
|
|
|
|
#define MRF_LOSEACTUALWEAPON 0x00000080
|
|
|
|
#define MRF_NEWTIDBEHAVIOUR 0x00000100
|
|
|
|
#define MRF_UNDOBYDEATH 0x00000200
|
|
|
|
#define MRF_UNDOBYDEATHFORCED 0x00000400
|
|
|
|
#define MRF_UNDOBYDEATHSAVES 0x00000800
|
|
|
|
|
2007-06-14 12:40:25 +00:00
|
|
|
// Shared spawnable things from Hexen. You can spawn these in the other -----
|
|
|
|
// games if you provide sprites for them, otherwise they'll be invisible. ---
|
|
|
|
|
|
|
|
#define T_ROCK1 41
|
|
|
|
#define T_ROCK2 42
|
|
|
|
#define T_ROCK3 43
|
|
|
|
#define T_DIRT1 44
|
|
|
|
#define T_DIRT2 45
|
|
|
|
#define T_DIRT3 46
|
|
|
|
#define T_DIRT4 47
|
|
|
|
#define T_DIRT5 48
|
|
|
|
#define T_DIRT6 49
|
|
|
|
#define T_STAINEDGLASS1 54
|
|
|
|
#define T_STAINEDGLASS2 55
|
|
|
|
#define T_STAINEDGLASS3 56
|
|
|
|
#define T_STAINEDGLASS4 57
|
|
|
|
#define T_STAINEDGLASS5 58
|
|
|
|
#define T_STAINEDGLASS6 59
|
|
|
|
#define T_STAINEDGLASS7 60
|
|
|
|
#define T_STAINEDGLASS8 61
|
|
|
|
#define T_STAINEDGLASS9 62
|
|
|
|
#define T_STAINEDGLASS0 63
|
|
|
|
|
|
|
|
// Doom Spawnable things (used for thingcount() and thing spawners) ---------
|
|
|
|
|
|
|
|
#define T_NONE 0
|
|
|
|
#define T_SHOTGUY 1
|
|
|
|
#define T_CHAINGUY 2
|
|
|
|
#define T_BARON 3
|
|
|
|
#define T_ZOMBIE 4
|
|
|
|
#define T_IMP 5
|
|
|
|
#define T_ARACHNOTRON 6
|
|
|
|
#define T_SPIDERMASTERMIND 7
|
|
|
|
#define T_DEMON 8
|
|
|
|
#define T_SPECTRE 9
|
|
|
|
#define T_IMPFIREBALL 10
|
|
|
|
#define T_CLIP 11
|
|
|
|
#define T_SHELLS 12
|
|
|
|
#define T_CACODEMON 19
|
|
|
|
#define T_REVENANT 20
|
|
|
|
#define T_BRIDGE 21
|
|
|
|
#define T_ARMORBONUS 22
|
|
|
|
#define T_STIMPACK 23
|
|
|
|
#define T_MEDKIT 24
|
|
|
|
#define T_SOULSPHERE 25
|
|
|
|
#define T_SHOTGUN 27
|
|
|
|
#define T_CHAINGUN 28
|
|
|
|
#define T_ROCKETLAUNCHER 29
|
|
|
|
#define T_PLASMAGUN 30
|
|
|
|
#define T_BFG 31
|
|
|
|
#define T_CHAINSAW 32
|
|
|
|
#define T_SUPERSHOTGUN 33
|
|
|
|
#define T_PLASMABOLT 51
|
|
|
|
#define T_TRACER 53
|
|
|
|
#define T_GREENARMOR 68
|
|
|
|
#define T_BLUEARMOR 69
|
|
|
|
#define T_CELL 75
|
|
|
|
#define T_BLUEKEYCARD 85
|
|
|
|
#define T_REDKEYCARD 86
|
|
|
|
#define T_YELLOWKEYCARD 87
|
|
|
|
#define T_YELLOWSKULLKEY 88
|
|
|
|
#define T_REDSKULLKEY 89
|
|
|
|
#define T_BLUESKULLKEY 90
|
|
|
|
#define T_TEMPLARGEFLAME 98
|
|
|
|
#define T_STEALTHBARON 100
|
|
|
|
#define T_STEALTHKNIGHT 101
|
|
|
|
#define T_STEALTHZOMBIE 102
|
|
|
|
#define T_STEALTHSHOTGUY 103
|
|
|
|
|
|
|
|
#define T_LOSTSOUL 110
|
|
|
|
#define T_VILE 111
|
|
|
|
#define T_MANCUBUS 112
|
|
|
|
#define T_HELLKNIGHT 113
|
|
|
|
#define T_CYBERDEMON 114
|
|
|
|
#define T_PAINELEMENTAL 115
|
|
|
|
#define T_WOLFSS 116
|
|
|
|
#define T_STEALTHARACHNOTRON 117
|
|
|
|
#define T_STEALTHVILE 118
|
|
|
|
#define T_STEALTHCACODEMON 119
|
|
|
|
#define T_STEALTHCHAINGUY 120
|
|
|
|
#define T_STEALTHSERGEANT 121
|
|
|
|
#define T_STEALTHIMP 122
|
|
|
|
#define T_STEALTHMANCUBUS 123
|
|
|
|
#define T_STEALTHREVENANT 124
|
|
|
|
#define T_BARREL 125
|
|
|
|
#define T_CACODEMONSHOT 126
|
|
|
|
#define T_ROCKET 127
|
|
|
|
#define T_BFGSHOT 128
|
|
|
|
#define T_ARACHNOTRONPLASMA 129
|
|
|
|
#define T_BLOOD 130
|
|
|
|
#define T_PUFF 131
|
|
|
|
#define T_MEGASPHERE 132
|
|
|
|
#define T_INVULNERABILITY 133
|
|
|
|
#define T_BERSERK 134
|
|
|
|
#define T_INVISIBILITY 135
|
|
|
|
#define T_IRONFEET 136
|
|
|
|
#define T_COMPUTERMAP 137
|
|
|
|
#define T_LIGHTAMP 138
|
|
|
|
#define T_AMMOBOX 139
|
|
|
|
#define T_ROCKETAMMO 140
|
|
|
|
#define T_ROCKETBOX 141
|
|
|
|
#define T_BATTERY 142
|
|
|
|
#define T_SHELLBOX 143
|
|
|
|
#define T_BACKPACK 144
|
|
|
|
#define T_GUTS 145
|
|
|
|
#define T_BLOODPOOL 146
|
|
|
|
#define T_BLOODPOOL1 147
|
|
|
|
#define T_BLOODPOOL2 148
|
|
|
|
#define T_FLAMINGBARREL 149
|
|
|
|
#define T_BRAINS 150
|
|
|
|
#define T_SCRIPTEDMARINE 151
|
|
|
|
#define T_HEALTHBONUS 152
|
|
|
|
#define T_MANCUBUSSHOT 153
|
|
|
|
#define T_BARONBALL 154
|
|
|
|
|
|
|
|
// Heretic Spawnable things (used for thingcount() and thing spawners) ------
|
|
|
|
|
|
|
|
#define T_CLINK 1
|
|
|
|
#define T_MUMMYLEADER 2
|
|
|
|
#define T_BEAST 3
|
|
|
|
#define T_MUMMY 4
|
|
|
|
//#define T_IMP 5 // Defined above
|
|
|
|
#define T_KNIGHT 6
|
|
|
|
#define T_IMPLEADER 7
|
|
|
|
#define T_MUMMYGHOST 8
|
|
|
|
#define T_MUMMYLEADERGHOST 9
|
|
|
|
//#define T_IMPFIREBALL 10
|
|
|
|
#define T_WIMPYWANDAMMO 11
|
|
|
|
#define T_HEFTYWANDAMMO 12
|
|
|
|
#define T_ITEMEGG 14
|
|
|
|
#define T_ITEMFLIGHT 15
|
|
|
|
#define T_ITEMTELEPORT 18
|
|
|
|
#define T_WIZARD 19
|
|
|
|
#define T_IRONLICH 20
|
|
|
|
#define T_ITEMHEALTHPOTION 23
|
2008-10-26 21:50:41 +00:00
|
|
|
#define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility
|
|
|
|
#define T_ITEMHEALTHFLASK 24
|
2007-06-14 12:40:25 +00:00
|
|
|
#define T_ITEMHEALTHFULL 25
|
|
|
|
#define T_CROSSBOW 27
|
|
|
|
#define T_BLASTER 28
|
|
|
|
#define T_PHOENIXROD 29
|
|
|
|
#define T_SKULLROD 30
|
|
|
|
#define T_MACE 31
|
|
|
|
#define T_GAUNTLETS 32
|
|
|
|
#define T_WIMPYCROSSBOWAMMO 33
|
|
|
|
#define T_HEFTYCROSSBOWAMMO 34
|
|
|
|
#define T_WIMPYMACEAMMO 35
|
|
|
|
#define T_HEFTYMACEAMMO 36
|
|
|
|
#define T_WIMPYBLASTERAMMO 37
|
|
|
|
#define T_HEFTYBLASTERAMMO 38
|
|
|
|
#define T_MORPHBLAST 40
|
|
|
|
#define T_SHIELD1 68
|
|
|
|
#define T_SHIELD2 69
|
|
|
|
#define T_ITEMTIMEBOMB 72
|
|
|
|
#define T_ITEMTORCH 73
|
|
|
|
#define T_BLUEKEY 85
|
|
|
|
#define T_GREENKEY 86
|
|
|
|
#define T_YELLOWKEY 87
|
|
|
|
|
|
|
|
#define T_SOUND_WIND 110
|
|
|
|
#define T_SOUND_WATERFALL 111
|
|
|
|
|
|
|
|
#define T_BEASTBALL 120
|
|
|
|
#define T_FEATHER 121
|
|
|
|
#define T_CHICKEN 122
|
|
|
|
#define T_VOLCANOBALL 123
|
|
|
|
#define T_TINYVOLCANOBALL 124
|
|
|
|
#define T_POD 125
|
|
|
|
#define T_PODGENERATOR 126
|
|
|
|
#define T_KNIGHTAXE 127
|
|
|
|
#define T_KNIGHTBLOODAXE 128
|
|
|
|
#define T_KNIGHTGHOST 129
|
|
|
|
#define T_MUMMYHEAD 131
|
|
|
|
#define T_SNAKE 132
|
|
|
|
#define T_ITEMINVULNERABILITY 133
|
|
|
|
#define T_ITEMTOME 134
|
|
|
|
#define T_ITEMINVISIBILITY 135
|
|
|
|
#define T_ITEMBAGOFHOLDING 136
|
|
|
|
#define T_ITEMALLMAP 137
|
|
|
|
#define T_SNAKEPROJECTILE 138
|
|
|
|
#define T_SNAKEPROJECTILEBIG 139
|
|
|
|
#define T_WIZARDSHOT 140
|
|
|
|
|
|
|
|
// All D'Sparil teleport destinations must be spawned before D'Sparil alone.
|
|
|
|
// D'Sparil can be spawned alone manually, and he is also spawned automatically
|
|
|
|
// when he "dies" on his serpent.
|
|
|
|
#define T_DSPARILTELEPORTDEST 141
|
|
|
|
#define T_DSPARILONSERPENT 142
|
|
|
|
#define T_DSPARILALONE 143
|
|
|
|
#define T_SERPENTFIREBALL 144
|
|
|
|
#define T_DSPARILBLUESHOT 145
|
|
|
|
#define T_DSPARILWIZARDSPAWNER 146
|
|
|
|
|
|
|
|
#define T_CROSSBOWMAINBLAST 147
|
|
|
|
#define T_CROSSBOWMINIBLAST 148
|
|
|
|
#define T_CROSSBOWPOWERBLAST 149
|
|
|
|
#define T_VOLCANO 150
|
|
|
|
#define T_POWERWANDMINIBLAST 151
|
|
|
|
#define T_POWERWANDBIGGERBLAST 152
|
|
|
|
#define T_DEATHBALL 153
|
|
|
|
#define T_NOGRAVITYMACEBALL 154
|
|
|
|
#define T_BOUNCYMACEBALL 155
|
|
|
|
#define T_HEAVYMACEBALL 156
|
|
|
|
#define T_RIPPER 157
|
|
|
|
#define T_WIMPYSKULLRODAMMO 158
|
|
|
|
#define T_HEFTYSKULLRODAMMO 159
|
|
|
|
#define T_SKULLRODBLAST 160
|
|
|
|
#define T_WIMPYPHOENIXRODAMMO 161
|
|
|
|
#define T_HEFTYPHOENIXRODAMMO 162
|
|
|
|
#define T_PHOENIXSHOT 163
|
|
|
|
#define T_IRONLICHBLUESHOT 164
|
|
|
|
#define T_WHIRLWIND 165
|
|
|
|
#define T_REDTELEGLITTER 166
|
|
|
|
#define T_BLUETELEGLITTER 167
|
|
|
|
|
2008-10-26 21:50:41 +00:00
|
|
|
// Hexen Spawnable things (used for thingcount() and thing spawners) ------
|
|
|
|
|
|
|
|
#define T_CENTAUR 1
|
|
|
|
#define T_CENTAURLEADER 2
|
|
|
|
#define T_DEMON1 3
|
|
|
|
#define T_ETTIN 4
|
|
|
|
#define T_FIREGARGOYLE 5
|
|
|
|
#define T_WATERLURKER 6
|
|
|
|
#define T_WATERLURKERLEADER 7
|
|
|
|
#define T_WRAITH 8
|
|
|
|
#define T_WRAITHBURIED 9
|
|
|
|
#define T_FIREBALL1 10
|
|
|
|
#define T_MANA1 11
|
|
|
|
#define T_MANA2 12
|
|
|
|
#define T_ITEMBOOTS 13
|
|
|
|
#define T_ITEMPORK 14
|
|
|
|
#define T_ITEMSUMMON 16
|
|
|
|
#define T_ITEMTPORTOTHER 17
|
|
|
|
#define T_BISHOP 19
|
|
|
|
#define T_ICEGOLEM 20
|
|
|
|
#define T_DRAGONSKINBRACERS 22
|
|
|
|
#define T_ITEMBOOSTMANA 26
|
|
|
|
#define T_FIGHTERAXE 27
|
|
|
|
#define T_FIGHTERHAMMER 28
|
|
|
|
#define T_FIGHTERSWORD1 29
|
|
|
|
#define T_FIGHTERSWORD2 30
|
|
|
|
#define T_FIGHTERSWORD3 31
|
|
|
|
#define T_CLERICSTAFF 32
|
|
|
|
#define T_CLERICHOLY1 33
|
|
|
|
#define T_CLERICHOLY2 34
|
|
|
|
#define T_CLERICHOLY3 35
|
|
|
|
#define T_MAGESHARDS 36
|
|
|
|
#define T_MAGESTAFF1 37
|
|
|
|
#define T_MAGESTAFF2 38
|
|
|
|
#define T_MAGESTAFF3 39
|
|
|
|
#define T_ARROW 50
|
|
|
|
#define T_DART 51
|
|
|
|
#define T_POISONDART 52
|
|
|
|
#define T_RIPPERBALL 53
|
|
|
|
#define T_BLADE 64
|
|
|
|
#define T_ICESHARD 65
|
|
|
|
#define T_FLAME_SMALL 66
|
|
|
|
#define T_FLAME_LARGE 67
|
|
|
|
#define T_MESHARMOR 68
|
|
|
|
#define T_FALCONSHIELD 69
|
|
|
|
#define T_PLATINUMHELM 70
|
|
|
|
#define T_AMULETOFWARDING 71
|
|
|
|
#define T_ITEMFLECHETTE 72
|
|
|
|
#define T_ITEMREPULSION 74
|
|
|
|
#define T_MANA3 75
|
|
|
|
#define T_PUZZSKULL 76
|
|
|
|
#define T_PUZZGEMBIG 77
|
|
|
|
#define T_PUZZGEMRED 78
|
|
|
|
#define T_PUZZGEMGREEN1 79
|
|
|
|
#define T_PUZZGEMGREEN2 80
|
|
|
|
#define T_PUZZGEMBLUE1 81
|
|
|
|
#define T_PUZZGEMBLUE2 82
|
|
|
|
#define T_PUZZBOOK1 83
|
|
|
|
#define T_PUZZBOOK2 84
|
|
|
|
#define T_METALKEY 85
|
|
|
|
#define T_SMALLMETALKEY 86
|
|
|
|
#define T_AXEKEY 87
|
|
|
|
#define T_FIREKEY 88
|
|
|
|
#define T_EMERALDKEY 89
|
|
|
|
#define T_MACEKEY 90
|
|
|
|
#define T_SILVERKEY 91
|
|
|
|
#define T_RUSTYKEY 92
|
|
|
|
#define T_HORNKEY 93
|
|
|
|
#define T_SERPENTKEY 94
|
|
|
|
#define T_WATERDRIP 95
|
|
|
|
#define T_TEMPSMALLFLAME 96
|
|
|
|
#define T_PERMSMALLFLAME 97
|
|
|
|
#define T_PERMLARGEFLAME 99
|
|
|
|
#define T_DEMON_MASH 100
|
|
|
|
#define T_DEMON2_MASH 101
|
|
|
|
#define T_ETTIN_MASH 102
|
|
|
|
#define T_CENTAUR_MASH 103
|
|
|
|
#define T_THRUSTSPIKEUP 104
|
|
|
|
#define T_THRUSTSPIKEDOWN 105
|
|
|
|
#define T_FLESH_DRIP1 106
|
|
|
|
#define T_FLESH_DRIP2 107
|
|
|
|
#define T_SPARK_DRIP 108
|
|
|
|
|
|
|
|
|
2009-01-04 21:57:27 +00:00
|
|
|
// Flags returned by ClassifyActor
|
|
|
|
|
|
|
|
#define ACTOR_NONE 0
|
|
|
|
#define ACTOR_WORLD 1
|
|
|
|
#define ACTOR_PLAYER 2
|
|
|
|
#define ACTOR_BOT 4
|
|
|
|
#define ACTOR_VOODOODOLL 8
|
|
|
|
#define ACTOR_MONSTER 16
|
|
|
|
#define ACTOR_ALIVE 32
|
|
|
|
#define ACTOR_DEAD 64
|
|
|
|
#define ACTOR_MISSILE 128
|
|
|
|
#define ACTOR_GENERIC 256
|
|
|
|
|
|
|
|
|
2007-06-14 12:40:25 +00:00
|
|
|
// Events when you have input grabbed
|
|
|
|
|
|
|
|
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
|
|
|
|
#define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
|
|
|
|
#define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
|
|
|
|
#define EV_Char 4 // data1: translated character for text input
|
|
|
|
#define EV_MouseMove 5 // data1: x, data2: y
|
|
|
|
#define EV_LButtonDown 6
|
|
|
|
#define EV_LButtonUp 7
|
|
|
|
#define EV_LButtonDblClick 8
|
|
|
|
#define EV_MButtonDown 9
|
|
|
|
#define EV_MButtonUp 10
|
|
|
|
#define EV_MButtonDblClick 11
|
|
|
|
#define EV_RButtonDown 12
|
|
|
|
#define EV_RButtonUp 13
|
|
|
|
#define EV_RButtonDblClick 14
|
|
|
|
#define EV_WheelDown 15
|
|
|
|
#define EV_WheelUp 16
|
|
|
|
|
|
|
|
// Key modifiers (or'd with event type)
|
|
|
|
|
|
|
|
#define GKM_SHIFT 256
|
|
|
|
#define GKM_CTRL 512
|
|
|
|
#define GKM_ALT 1024
|
|
|
|
|
|
|
|
// Button modifiers are only valid for EV_MouseMove events
|
|
|
|
|
|
|
|
#define GKM_LBUTTON 2048
|
|
|
|
#define GKM_MBUTTON 4096
|
|
|
|
#define GKM_RBUTTON 8192
|
|
|
|
|
|
|
|
// Special codes for some GUI keys, including a few real ASCII codes.
|
|
|
|
|
|
|
|
#define GK_PGDN 1
|
|
|
|
#define GK_PGUP 2
|
|
|
|
#define GK_HOME 3
|
|
|
|
#define GK_END 4
|
|
|
|
#define GK_LEFT 5
|
|
|
|
#define GK_RIGHT 6
|
|
|
|
#define GK_ALERT 7 // ASCII bell
|
|
|
|
#define GK_BACKSPACE 8 // ASCII
|
|
|
|
#define GK_TAB 9 // ASCII
|
|
|
|
#define GK_LINEFEED 10 // ASCII
|
|
|
|
#define GK_DOWN 10
|
|
|
|
#define GK_VTAB 11 // ASCII
|
|
|
|
#define GK_UP 11
|
|
|
|
#define GK_FORMFEED 12 // ASCII
|
|
|
|
#define GK_RETURN 13 // ASCII
|
|
|
|
#define GK_F1 14
|
|
|
|
#define GK_F2 15
|
|
|
|
#define GK_F3 16
|
|
|
|
#define GK_F4 17
|
|
|
|
#define GK_F5 18
|
|
|
|
#define GK_F6 19
|
|
|
|
#define GK_F7 20
|
|
|
|
#define GK_F8 21
|
|
|
|
#define GK_F9 22
|
|
|
|
#define GK_F10 23
|
|
|
|
#define GK_F11 24
|
|
|
|
#define GK_F12 25
|
|
|
|
#define GK_DEL 26
|
|
|
|
#define GK_ESCAPE 27 // ASCII
|
|
|
|
#define GK_FREE1 28
|
|
|
|
#define GK_FREE2 29
|
|
|
|
#define GK_FREE3 30
|
|
|
|
#define GK_CESCAPE 31 // color escape
|
|
|
|
|
|
|
|
#define CHANGELEVEL_KEEPFACING 1
|
|
|
|
#define CHANGELEVEL_RESETINVENTORY 2
|
|
|
|
#define CHANGELEVEL_NOMONSTERS 4
|
|
|
|
#define CHANGELEVEL_CHANGESKILL 8
|
|
|
|
#define CHANGELEVEL_NOINTERMISSION 16
|
2008-10-26 21:50:41 +00:00
|
|
|
|
|
|
|
#define NO_CHANGE -32767.0
|
|
|
|
|
|
|
|
#define SECF_SILENT 1
|
|
|
|
#define SECF_NOFALLINGDAMAGE 2
|