2 //**************************************************************************
\r
6 //** Common definitions for use when compiling ACS scripts for ZDoom
\r
8 //**************************************************************************
\r
17 #define LINE_FRONT 0
\r
20 #define SIDE_FRONT 0
\r
23 #define TEXTURE_TOP 0
\r
24 #define TEXTURE_MIDDLE 1
\r
25 #define TEXTURE_BOTTOM 2
\r
27 // same information as combinable bit flags
\r
28 #define TEXFLAG_TOP 1
\r
29 #define TEXFLAG_MIDDLE 2
\r
30 #define TEXFLAG_BOTTOM 4
\r
31 #define TEXFLAG_ADDOFFSET 8
\r
33 #define GAME_SINGLE_PLAYER 0
\r
34 #define GAME_NET_COOPERATIVE 1
\r
35 #define GAME_NET_DEATHMATCH 2
\r
36 #define GAME_TITLE_MAP 3
\r
38 // Classes are only useful with Hexen
\r
39 #define CLASS_FIGHTER 0
\r
40 #define CLASS_CLERIC 1
\r
41 #define CLASS_MAGE 2
\r
43 #define SKILL_VERY_EASY 0
\r
44 #define SKILL_EASY 1
\r
45 #define SKILL_NORMAL 2
\r
46 #define SKILL_HARD 3
\r
47 #define SKILL_VERY_HARD 4
\r
49 #define BLOCK_NOTHING 0
\r
50 #define BLOCK_CREATURES 1
\r
51 #define BLOCK_EVERYTHING 2
\r
52 #define BLOCK_RAILING 3
\r
53 #define BLOCK_PLAYERS 4
\r
57 #define SCROLL_AND_CARRY 2
\r
59 // Means-of-death for Sector_SetDamage --------------------------------------
\r
61 #define MOD_UNKNOWN 0
\r
62 #define MOD_ROCKET 5
\r
63 #define MOD_R_SPLASH 6
\r
64 #define MOD_PLASMARIFLE 7
\r
65 #define MOD_BFG_BOOM 8
\r
66 #define MOD_BFG_SPLASH 9
\r
67 #define MOD_CHAINSAW 10
\r
68 #define MOD_SSHOTGUN 11
\r
69 #define MOD_WATER 12
\r
70 #define MOD_SLIME 13
\r
72 #define MOD_CRUSH 15
\r
73 #define MOD_TELEFRAG 16
\r
74 #define MOD_FALLING 17
\r
75 #define MOD_SUICIDE 18
\r
76 #define MOD_BARREL 19
\r
78 #define MOD_SPLASH 21
\r
80 #define MOD_RAILGUN 23
\r
82 #define MOD_DISINTEGRATE 25
\r
83 #define MOD_POISON 26
\r
84 #define MOD_ELECTRIC 27
\r
86 // Return values for PlayMovie ----------------------------------------------
\r
88 #define MOVIE_Played 0
\r
89 #define MOVIE_Played_NoVideo 1
\r
90 #define MOVIE_Played_Aborted 2
\r
91 #define MOVIE_Failed -1
\r
94 // Player properties --------------------------------------------------------
\r
96 #define PROP_FROZEN 0
\r
97 #define PROP_NOTARGET 1
\r
98 #define PROP_INSTANTWEAPONSWITCH 2
\r
100 #define PROP_TOTALLYFROZEN 4
\r
101 #define PROP_BUDDHA 16
\r
103 // The following properties correspond to powers given by certain items
\r
104 #define PROP_INVULNERABILITY 5
\r
105 #define PROP_STRENGTH 6
\r
106 #define PROP_INVISIBILITY 7
\r
107 #define PROP_RADIATIONSUIT 8
\r
108 #define PROP_ALLMAP 9
\r
109 #define PROP_INFRARED 10
\r
110 #define PROP_WEAPONLEVEL2 11
\r
111 #define PROP_FLIGHT 12
\r
112 #define PROP_SPEED 15
\r
114 // Player input -------------------------------------------------------------
\r
116 // These are the original inputs sent by the player.
\r
117 #define INPUT_OLDBUTTONS 0
\r
118 #define INPUT_BUTTONS 1
\r
119 #define INPUT_PITCH 2
\r
120 #define INPUT_YAW 3
\r
121 #define INPUT_ROLL 4
\r
122 #define INPUT_FORWARDMOVE 5
\r
123 #define INPUT_SIDEMOVE 6
\r
124 #define INPUT_UPMOVE 7
\r
126 // These are the inputs, as modified by P_PlayerThink().
\r
127 // Most of the time, these will match the original inputs, but
\r
128 // they can be different if a player is frozen or using a
\r
130 #define MODINPUT_OLDBUTTONS 8
\r
131 #define MODINPUT_BUTTONS 9
\r
132 #define MODINPUT_PITCH 10
\r
133 #define MODINPUT_YAW 11
\r
134 #define MODINPUT_ROLL 12
\r
135 #define MODINPUT_FORWARDMOVE 13
\r
136 #define MODINPUT_SIDEMOVE 14
\r
137 #define MODINPUT_UPMOVE 15
\r
139 // Player buttons -----------------------------------------------------------
\r
141 #define BT_ATTACK 1
\r
144 #define BT_CROUCH 8
\r
145 #define BT_TURN180 16
\r
146 #define BT_ALTATTACK 32
\r
147 #define BT_RELOAD 64
\r
148 #define BT_ZOOM 128
\r
150 #define BT_SPEED 256
\r
151 #define BT_STRAFE 512
\r
153 #define BT_MOVERIGHT 1024
\r
154 #define BT_MOVELEFT 2048
\r
155 #define BT_BACK 4096
\r
156 #define BT_FORWARD 8192
\r
157 #define BT_RIGHT 16384
\r
158 #define BT_LEFT 32768
\r
159 #define BT_LOOKUP 65536
\r
160 #define BT_LOOKDOWN 131072
\r
161 #define BT_MOVEUP 262144
\r
162 #define BT_MOVEDOWN 524288
\r
163 #define BT_SHOWSCORES 1048576
\r
165 // Do whatever you want with these.
\r
166 #define BT_USER1 2097152
\r
167 #define BT_USER2 4194304
\r
168 #define BT_USER3 8388608
\r
169 #define BT_USER4 16777216
\r
171 // Text colors --------------------------------------------------------------
\r
173 #define CR_UNTRANSLATED -1
\r
183 #define CR_ORANGE 8
\r
185 #define CR_YELLOW 10
\r
186 #define CR_BLACK 12
\r
187 #define CR_LIGHTBLUE 13
\r
188 #define CR_CREAM 14
\r
189 #define CR_OLIVE 15
\r
190 #define CR_DARKGREEN 16
\r
191 #define CR_DARKRED 17
\r
192 #define CR_DARKBROWN 18
\r
193 #define CR_PURPLE 19
\r
194 #define CR_DARKGRAY 20
\r
195 #define CR_DARKGREY 20
\r
197 // HUD message types --------------------------------------------------------
\r
199 #define HUDMSG_PLAIN 0
\r
200 #define HUDMSG_FADEOUT 1
\r
201 #define HUDMSG_TYPEON 2
\r
202 #define HUDMSG_FADEINOUT 3
\r
204 // OR this with one of the above to log the hudmessage to the console.
\r
205 // i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG
\r
206 #define HUDMSG_LOG 0x80000000
\r
208 // OR this with one of the above if the color you passed is a string
\r
209 // instead of one of the CR_ constants.
\r
210 #define HUDMSG_COLORSTRING 0x40000000
\r
212 // "Scripted" Marine weapon types -------------------------------------------
\r
214 #define MARINEWEAPON_Dummy 0
\r
215 #define MARINEWEAPON_Fist 1
\r
216 #define MARINEWEAPON_BerserkFist 2
\r
217 #define MARINEWEAPON_Chainsaw 3
\r
218 #define MARINEWEAPON_Pistol 4
\r
219 #define MARINEWEAPON_Shotgun 5
\r
220 #define MARINEWEAPON_SuperShotgun 6
\r
221 #define MARINEWEAPON_Chaingun 7
\r
222 #define MARINEWEAPON_RocketLauncher 8
\r
223 #define MARINEWEAPON_PlasmaRifle 9
\r
224 #define MARINEWEAPON_Railgun 10
\r
225 #define MARINEWEAPON_BFG 11
\r
227 // Actor properties you can get/set -----------------------------------------
\r
229 #define APROP_Health 0
\r
230 #define APROP_Speed 1
\r
231 #define APROP_Damage 2
\r
232 #define APROP_Alpha 3
\r
233 #define APROP_RenderStyle 4
\r
234 #define APROP_SeeSound 5 // Sounds can only be set, not gotten
\r
235 #define APROP_AttackSound 6
\r
236 #define APROP_PainSound 7
\r
237 #define APROP_DeathSound 8
\r
238 #define APROP_ActiveSound 9
\r
239 #define APROP_Ambush 10
\r
240 #define APROP_Invulnerable 11
\r
241 #define APROP_JumpZ 12
\r
242 #define APROP_ChaseGoal 13
\r
243 #define APROP_Frightened 14
\r
244 #define APROP_Gravity 15
\r
245 #define APROP_Friendly 16
\r
246 #define APROP_SpawnHealth 17
\r
247 #define APROP_Dropped 18
\r
248 #define APROP_Notarget 19
\r
249 #define APROP_Species 20
\r
250 #define APROP_Nametag 21
\r
251 #define APROP_Score 22
\r
252 #define APROP_Notrigger 23
\r
253 #define APROP_DamageFactor 24
\r
254 #define APROP_MasterTID 25
\r
255 #define APROP_TargetTID 26
\r
256 #define APROP_TracerTID 27
\r
257 #define APROP_Waterlevel 28
\r
258 #define APROP_ScaleX 29
\r
259 #define APROP_ScaleY 30
\r
260 #define APROP_Dormant 31
\r
261 #define APROP_Mass 32
\r
263 // Render Styles ------------------------------------------------------------
\r
265 #define STYLE_None 0 // Do not draw
\r
266 #define STYLE_Normal 1 // Normal; just copy the image to the screen
\r
267 #define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
\r
268 #define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
\r
269 #define STYLE_OptFuzzy 4 // Draw as fuzzy or translucent, based on user preference
\r
270 #define STYLE_Translucent 64 // Draw translucent
\r
271 #define STYLE_Add 65 // Draw additive
\r
273 // Properties you can use with GetLevelInfo() -------------------------------
\r
275 #define LEVELINFO_PAR_TIME 0
\r
276 #define LEVELINFO_CLUSTERNUM 1
\r
277 #define LEVELINFO_LEVELNUM 2
\r
278 #define LEVELINFO_TOTAL_SECRETS 3
\r
279 #define LEVELINFO_FOUND_SECRETS 4
\r
280 #define LEVELINFO_TOTAL_ITEMS 5
\r
281 #define LEVELINFO_FOUND_ITEMS 6
\r
282 #define LEVELINFO_TOTAL_MONSTERS 7
\r
283 #define LEVELINFO_KILLED_MONSTERS 8
\r
284 #define LEVELINFO_SUCK_TIME 9
\r
286 // Properties you can use with GetPlayerInfo() ------------------------------
\r
288 #define PLAYERINFO_TEAM 0
\r
289 #define PLAYERINFO_AIMDIST 1
\r
290 #define PLAYERINFO_COLOR 2
\r
291 #define PLAYERINFO_GENDER 3
\r
292 #define PLAYERINFO_NEVERSWITCH 4
\r
293 #define PLAYERINFO_MOVEBOB 5
\r
294 #define PLAYERINFO_STILLBOB 6
\r
295 #define PLAYERINFO_PLAYERCLASS 7
\r
298 // Flags for ReplaceTextures ------------------------------------------------
\r
300 #define NOT_BOTTOM 1
\r
301 #define NOT_MIDDLE 2
\r
303 #define NOT_FLOOR 8
\r
304 #define NOT_CEILING 16
\r
306 // Flags for SectorDamage ---------------------------------------------------
\r
308 #define DAMAGE_PLAYERS 1
\r
309 #define DAMAGE_NONPLAYERS 2
\r
310 #define DAMAGE_IN_AIR 4
\r
311 #define DAMAGE_SUBCLASSES_PROTECT 8
\r
313 // Flags for MorphActor -----------------------------------------------------
\r
315 #define MRF_OLDEFFECTS 0x00000000
\r
316 #define MRF_ADDSTAMINA 0x00000001
\r
317 #define MRF_FULLHEALTH 0x00000002
\r
318 #define MRF_UNDOBYTOMEOFPOWER 0x00000004
\r
319 #define MRF_UNDOBYCHAOSDEVICE 0x00000008
\r
320 #define MRF_FAILNOTELEFRAG 0x00000010
\r
321 #define MRF_FAILNOLAUGH 0x00000020
\r
322 #define MRF_WHENINVULNERABLE 0x00000040
\r
323 #define MRF_LOSEACTUALWEAPON 0x00000080
\r
324 #define MRF_NEWTIDBEHAVIOUR 0x00000100
\r
325 #define MRF_UNDOBYDEATH 0x00000200
\r
326 #define MRF_UNDOBYDEATHFORCED 0x00000400
\r
327 #define MRF_UNDOBYDEATHSAVES 0x00000800
\r
329 // Shared spawnable things from Hexen. You can spawn these in the other -----
\r
330 // games if you provide sprites for them, otherwise they'll be invisible. ---
\r
341 #define T_STAINEDGLASS1 54
\r
342 #define T_STAINEDGLASS2 55
\r
343 #define T_STAINEDGLASS3 56
\r
344 #define T_STAINEDGLASS4 57
\r
345 #define T_STAINEDGLASS5 58
\r
346 #define T_STAINEDGLASS6 59
\r
347 #define T_STAINEDGLASS7 60
\r
348 #define T_STAINEDGLASS8 61
\r
349 #define T_STAINEDGLASS9 62
\r
350 #define T_STAINEDGLASS0 63
\r
352 // Doom Spawnable things (used for thingcount() and thing spawners) ---------
\r
355 #define T_SHOTGUY 1
\r
356 #define T_CHAINGUY 2
\r
360 #define T_ARACHNOTRON 6
\r
361 #define T_SPIDERMASTERMIND 7
\r
363 #define T_SPECTRE 9
\r
364 #define T_IMPFIREBALL 10
\r
366 #define T_SHELLS 12
\r
367 #define T_CACODEMON 19
\r
368 #define T_REVENANT 20
\r
369 #define T_BRIDGE 21
\r
370 #define T_ARMORBONUS 22
\r
371 #define T_STIMPACK 23
\r
372 #define T_MEDKIT 24
\r
373 #define T_SOULSPHERE 25
\r
374 #define T_SHOTGUN 27
\r
375 #define T_CHAINGUN 28
\r
376 #define T_ROCKETLAUNCHER 29
\r
377 #define T_PLASMAGUN 30
\r
379 #define T_CHAINSAW 32
\r
380 #define T_SUPERSHOTGUN 33
\r
381 #define T_PLASMABOLT 51
\r
382 #define T_TRACER 53
\r
383 #define T_GREENARMOR 68
\r
384 #define T_BLUEARMOR 69
\r
386 #define T_BLUEKEYCARD 85
\r
387 #define T_REDKEYCARD 86
\r
388 #define T_YELLOWKEYCARD 87
\r
389 #define T_YELLOWSKULLKEY 88
\r
390 #define T_REDSKULLKEY 89
\r
391 #define T_BLUESKULLKEY 90
\r
392 #define T_TEMPLARGEFLAME 98
\r
393 #define T_STEALTHBARON 100
\r
394 #define T_STEALTHKNIGHT 101
\r
395 #define T_STEALTHZOMBIE 102
\r
396 #define T_STEALTHSHOTGUY 103
\r
398 #define T_LOSTSOUL 110
\r
400 #define T_MANCUBUS 112
\r
401 #define T_HELLKNIGHT 113
\r
402 #define T_CYBERDEMON 114
\r
403 #define T_PAINELEMENTAL 115
\r
404 #define T_WOLFSS 116
\r
405 #define T_STEALTHARACHNOTRON 117
\r
406 #define T_STEALTHVILE 118
\r
407 #define T_STEALTHCACODEMON 119
\r
408 #define T_STEALTHCHAINGUY 120
\r
409 #define T_STEALTHSERGEANT 121
\r
410 #define T_STEALTHIMP 122
\r
411 #define T_STEALTHMANCUBUS 123
\r
412 #define T_STEALTHREVENANT 124
\r
413 #define T_BARREL 125
\r
414 #define T_CACODEMONSHOT 126
\r
415 #define T_ROCKET 127
\r
416 #define T_BFGSHOT 128
\r
417 #define T_ARACHNOTRONPLASMA 129
\r
418 #define T_BLOOD 130
\r
420 #define T_MEGASPHERE 132
\r
421 #define T_INVULNERABILITY 133
\r
422 #define T_BERSERK 134
\r
423 #define T_INVISIBILITY 135
\r
424 #define T_IRONFEET 136
\r
425 #define T_COMPUTERMAP 137
\r
426 #define T_LIGHTAMP 138
\r
427 #define T_AMMOBOX 139
\r
428 #define T_ROCKETAMMO 140
\r
429 #define T_ROCKETBOX 141
\r
430 #define T_BATTERY 142
\r
431 #define T_SHELLBOX 143
\r
432 #define T_BACKPACK 144
\r
434 #define T_BLOODPOOL 146
\r
435 #define T_BLOODPOOL1 147
\r
436 #define T_BLOODPOOL2 148
\r
437 #define T_FLAMINGBARREL 149
\r
438 #define T_BRAINS 150
\r
439 #define T_SCRIPTEDMARINE 151
\r
440 #define T_HEALTHBONUS 152
\r
441 #define T_MANCUBUSSHOT 153
\r
442 #define T_BARONBALL 154
\r
444 // Heretic Spawnable things (used for thingcount() and thing spawners) ------
\r
447 #define T_MUMMYLEADER 2
\r
450 //#define T_IMP 5 // Defined above
\r
452 #define T_IMPLEADER 7
\r
453 #define T_MUMMYGHOST 8
\r
454 #define T_MUMMYLEADERGHOST 9
\r
455 //#define T_IMPFIREBALL 10
\r
456 #define T_WIMPYWANDAMMO 11
\r
457 #define T_HEFTYWANDAMMO 12
\r
458 #define T_ITEMEGG 14
\r
459 #define T_ITEMFLIGHT 15
\r
460 #define T_ITEMTELEPORT 18
\r
461 #define T_WIZARD 19
\r
462 #define T_IRONLICH 20
\r
463 #define T_ITEMHEALTHPOTION 23
\r
464 #define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility
\r
465 #define T_ITEMHEALTHFLASK 24
\r
466 #define T_ITEMHEALTHFULL 25
\r
467 #define T_CROSSBOW 27
\r
468 #define T_BLASTER 28
\r
469 #define T_PHOENIXROD 29
\r
470 #define T_SKULLROD 30
\r
472 #define T_GAUNTLETS 32
\r
473 #define T_WIMPYCROSSBOWAMMO 33
\r
474 #define T_HEFTYCROSSBOWAMMO 34
\r
475 #define T_WIMPYMACEAMMO 35
\r
476 #define T_HEFTYMACEAMMO 36
\r
477 #define T_WIMPYBLASTERAMMO 37
\r
478 #define T_HEFTYBLASTERAMMO 38
\r
479 #define T_MORPHBLAST 40
\r
480 #define T_SHIELD1 68
\r
481 #define T_SHIELD2 69
\r
482 #define T_ITEMTIMEBOMB 72
\r
483 #define T_ITEMTORCH 73
\r
484 #define T_BLUEKEY 85
\r
485 #define T_GREENKEY 86
\r
486 #define T_YELLOWKEY 87
\r
488 #define T_SOUND_WIND 110
\r
489 #define T_SOUND_WATERFALL 111
\r
491 #define T_BEASTBALL 120
\r
492 #define T_FEATHER 121
\r
493 #define T_CHICKEN 122
\r
494 #define T_VOLCANOBALL 123
\r
495 #define T_TINYVOLCANOBALL 124
\r
497 #define T_PODGENERATOR 126
\r
498 #define T_KNIGHTAXE 127
\r
499 #define T_KNIGHTBLOODAXE 128
\r
500 #define T_KNIGHTGHOST 129
\r
501 #define T_MUMMYHEAD 131
\r
502 #define T_SNAKE 132
\r
503 #define T_ITEMINVULNERABILITY 133
\r
504 #define T_ITEMTOME 134
\r
505 #define T_ITEMINVISIBILITY 135
\r
506 #define T_ITEMBAGOFHOLDING 136
\r
507 #define T_ITEMALLMAP 137
\r
508 #define T_SNAKEPROJECTILE 138
\r
509 #define T_SNAKEPROJECTILEBIG 139
\r
510 #define T_WIZARDSHOT 140
\r
512 #define T_DSPARILTELEPORTDEST 141
\r
513 #define T_DSPARILONSERPENT 142
\r
514 #define T_DSPARILALONE 143
\r
515 #define T_SERPENTFIREBALL 144
\r
516 #define T_DSPARILBLUESHOT 145
\r
517 #define T_DSPARILWIZARDSPAWNER 146
\r
519 #define T_CROSSBOWMAINBLAST 147
\r
520 #define T_CROSSBOWMINIBLAST 148
\r
521 #define T_CROSSBOWPOWERBLAST 149
\r
522 #define T_VOLCANO 150
\r
523 #define T_POWERWANDMINIBLAST 151
\r
524 #define T_POWERWANDBIGGERBLAST 152
\r
525 #define T_DEATHBALL 153
\r
526 #define T_NOGRAVITYMACEBALL 154
\r
527 #define T_BOUNCYMACEBALL 155
\r
528 #define T_HEAVYMACEBALL 156
\r
529 #define T_RIPPER 157
\r
530 #define T_WIMPYSKULLRODAMMO 158
\r
531 #define T_HEFTYSKULLRODAMMO 159
\r
532 #define T_SKULLRODBLAST 160
\r
533 #define T_WIMPYPHOENIXRODAMMO 161
\r
534 #define T_HEFTYPHOENIXRODAMMO 162
\r
535 #define T_PHOENIXSHOT 163
\r
536 #define T_IRONLICHBLUESHOT 164
\r
537 #define T_WHIRLWIND 165
\r
538 #define T_REDTELEGLITTER 166
\r
539 #define T_BLUETELEGLITTER 167
\r
541 // Hexen Spawnable things (used for thingcount() and thing spawners) ------
\r
543 #define T_CENTAUR 1
\r
544 #define T_CENTAURLEADER 2
\r
547 #define T_FIREGARGOYLE 5
\r
548 #define T_WATERLURKER 6
\r
549 #define T_WATERLURKERLEADER 7
\r
551 #define T_WRAITHBURIED 9
\r
552 #define T_FIREBALL1 10
\r
555 #define T_ITEMBOOTS 13
\r
556 #define T_ITEMPORK 14
\r
557 #define T_ITEMSUMMON 16
\r
558 #define T_ITEMTPORTOTHER 17
\r
559 #define T_BISHOP 19
\r
560 #define T_ICEGOLEM 20
\r
561 #define T_DRAGONSKINBRACERS 22
\r
562 #define T_ITEMBOOSTMANA 26
\r
563 #define T_FIGHTERAXE 27
\r
564 #define T_FIGHTERHAMMER 28
\r
565 #define T_FIGHTERSWORD1 29
\r
566 #define T_FIGHTERSWORD2 30
\r
567 #define T_FIGHTERSWORD3 31
\r
568 #define T_CLERICSTAFF 32
\r
569 #define T_CLERICHOLY1 33
\r
570 #define T_CLERICHOLY2 34
\r
571 #define T_CLERICHOLY3 35
\r
572 #define T_MAGESHARDS 36
\r
573 #define T_MAGESTAFF1 37
\r
574 #define T_MAGESTAFF2 38
\r
575 #define T_MAGESTAFF3 39
\r
578 #define T_POISONDART 52
\r
579 #define T_RIPPERBALL 53
\r
581 #define T_ICESHARD 65
\r
582 #define T_FLAME_SMALL 66
\r
583 #define T_FLAME_LARGE 67
\r
584 #define T_MESHARMOR 68
\r
585 #define T_FALCONSHIELD 69
\r
586 #define T_PLATINUMHELM 70
\r
587 #define T_AMULETOFWARDING 71
\r
588 #define T_ITEMFLECHETTE 72
\r
589 #define T_ITEMREPULSION 74
\r
591 #define T_PUZZSKULL 76
\r
592 #define T_PUZZGEMBIG 77
\r
593 #define T_PUZZGEMRED 78
\r
594 #define T_PUZZGEMGREEN1 79
\r
595 #define T_PUZZGEMGREEN2 80
\r
596 #define T_PUZZGEMBLUE1 81
\r
597 #define T_PUZZGEMBLUE2 82
\r
598 #define T_PUZZBOOK1 83
\r
599 #define T_PUZZBOOK2 84
\r
600 #define T_METALKEY 85
\r
601 #define T_SMALLMETALKEY 86
\r
602 #define T_AXEKEY 87
\r
603 #define T_FIREKEY 88
\r
604 #define T_EMERALDKEY 89
\r
605 #define T_MACEKEY 90
\r
606 #define T_SILVERKEY 91
\r
607 #define T_RUSTYKEY 92
\r
608 #define T_HORNKEY 93
\r
609 #define T_SERPENTKEY 94
\r
610 #define T_WATERDRIP 95
\r
611 #define T_TEMPSMALLFLAME 96
\r
612 #define T_PERMSMALLFLAME 97
\r
613 #define T_PERMLARGEFLAME 99
\r
614 #define T_DEMON_MASH 100
\r
615 #define T_DEMON2_MASH 101
\r
616 #define T_ETTIN_MASH 102
\r
617 #define T_CENTAUR_MASH 103
\r
618 #define T_THRUSTSPIKEUP 104
\r
619 #define T_THRUSTSPIKEDOWN 105
\r
620 #define T_FLESH_DRIP1 106
\r
621 #define T_FLESH_DRIP2 107
\r
622 #define T_SPARK_DRIP 108
\r
625 // Flags returned by ClassifyActor
\r
627 #define ACTOR_NONE 0
\r
628 #define ACTOR_WORLD 1
\r
629 #define ACTOR_PLAYER 2
\r
630 #define ACTOR_BOT 4
\r
631 #define ACTOR_VOODOODOLL 8
\r
632 #define ACTOR_MONSTER 16
\r
633 #define ACTOR_ALIVE 32
\r
634 #define ACTOR_DEAD 64
\r
635 #define ACTOR_MISSILE 128
\r
636 #define ACTOR_GENERIC 256
\r
639 // Physical volumes for SoundSequenceOnSector
\r
641 #define SECSEQ_FLOOR 1
\r
642 #define SECSEQ_CEILING 2
\r
643 #define SECSEQ_FULLHEIGHT 3
\r
644 #define SECSEQ_INTERIOR 4
\r
646 // Actor pointer selectors
\r
648 #DEFINE AAPTR_DEFAULT 0
\r
649 #DEFINE AAPTR_NULL 0x1
\r
650 #DEFINE AAPTR_TARGET 0x2
\r
651 #DEFINE AAPTR_MASTER 0x4
\r
652 #DEFINE AAPTR_TRACER 0x8
\r
654 #DEFINE AAPTR_PLAYER_GETTARGET 0x10
\r
655 #DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
\r
657 #DEFINE AAPTR_PLAYER1 0x40
\r
658 #DEFINE AAPTR_PLAYER2 0x80
\r
659 #DEFINE AAPTR_PLAYER3 0x100
\r
660 #DEFINE AAPTR_PLAYER4 0x200
\r
661 #DEFINE AAPTR_PLAYER5 0x400
\r
662 #DEFINE AAPTR_PLAYER6 0x800
\r
663 #DEFINE AAPTR_PLAYER7 0x1000
\r
664 #DEFINE AAPTR_PLAYER8 0x2000
\r
666 #DEFINE AAPTR_FRIENDPLAYER 0x4000
\r
668 // Actor pointer operation flags
\r
670 #DEFINE PTROP_UNSAFETARGET 1
\r
671 #DEFINE PTROP_UNSAFEMASTER 2
\r
672 #DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
\r
674 // ==========================================================================
\r
675 // Skulltag Definitions
\r
676 // ==========================================================================
\r
678 // Skulltag Teams -----------------------------------------------------------
\r
679 #define TEAM_BLUE 0
\r
683 // Skulltag Invasion --------------------------------------------------------
\r
684 #define IS_WAITINGFORPLAYERS 0
\r
685 #define IS_FIRSTCOUNTDOWN 1
\r
686 #define IS_INPROGRESS 2
\r
687 #define IS_BOSSFIGHT 3
\r
688 #define IS_WAVECOMPLETE 4
\r
689 #define IS_COUNTDOWN 5
\r
692 #define T_GRENADE 216
\r
693 #define T_BFG10KSHOT 217
\r
694 #define T_DARKIMPFIREBALL 218
\r
695 #define T_CACOLANTERNSHOT 219
\r
696 #define T_ABADDONSHOT 221
\r
698 // Skulltag Monsters --------------------------------------------------------
\r
699 #define T_DARKIMP 155
\r
700 #define T_BLOODDEMON 156
\r
701 #define T_SSGGUY 157
\r
702 #define T_HECTEBUS 158
\r
703 #define T_CACOLANTERN 159
\r
704 #define T_BELPHEGOR 215
\r
705 #define T_ABADDON 220
\r
707 // Skulltag Weapons ---------------------------------------------------------
\r
708 #define T_PISTOL 162
\r
709 #define T_GRENADELAUNCHER 163
\r
710 #define T_RAILGUN 164
\r
711 #define T_BFG10000 165
\r
712 #define T_MINIGUN 214
\r
714 // Skulltag Armor/Health Items ----------------------------------------------
\r
715 #define T_MAXHEALTHBONUS 166
\r
716 #define T_MASARMORBONUS 167
\r
717 #define T_REDARMOR 168
\r
719 // Skulltag Powerups --------------------------------------------------------
\r
720 #define T_TURBOSPHERE 169
\r
721 #define T_ANTIGRAVBELT 170
\r
722 #define T_TIMEFREEZER 171
\r
723 #define T_INFRAGOGGLES 172
\r
724 #define T_INFRATRACKER 173
\r
725 #define T_TRANSLUCENCY 174
\r
726 #define T_DOOMSPHERE 175
\r
727 #define T_RANDOMPOWERUP 176
\r
729 // Skulltag Flags -----------------------------------------------------------
\r
730 #define T_BLUEFLAG 177
\r
731 #define T_REDFLAG 178
\r
732 #define T_WHITEFLAG 179
\r
734 // Skulltag Runes -----------------------------------------------------------
\r
735 #define T_STRENGTH 180
\r
737 #define T_DRAIN 182
\r
738 #define T_SPREAD 183
\r
739 #define T_RESISTANCE 184
\r
740 #define T_REGENERATION 185
\r
741 #define T_PROSPERITY 186
\r
742 #define T_REFLECTION 187
\r
743 #define T_HIGHJUMP 188
\r
744 #define T_HASTE 189
\r
747 // Events when you have input grabbed
\r
749 #define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
\r
750 #define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
\r
751 #define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
\r
752 #define EV_Char 4 // data1: translated character for text input
\r
753 #define EV_MouseMove 5 // data1: x, data2: y
\r
754 #define EV_LButtonDown 6
\r
755 #define EV_LButtonUp 7
\r
756 #define EV_LButtonDblClick 8
\r
757 #define EV_MButtonDown 9
\r
758 #define EV_MButtonUp 10
\r
759 #define EV_MButtonDblClick 11
\r
760 #define EV_RButtonDown 12
\r
761 #define EV_RButtonUp 13
\r
762 #define EV_RButtonDblClick 14
\r
763 #define EV_WheelDown 15
\r
764 #define EV_WheelUp 16
\r
766 // Key modifiers (or'd with event type)
\r
768 #define GKM_SHIFT 256
\r
769 #define GKM_CTRL 512
\r
770 #define GKM_ALT 1024
\r
772 // Button modifiers are only valid for EV_MouseMove events
\r
774 #define GKM_LBUTTON 2048
\r
775 #define GKM_MBUTTON 4096
\r
776 #define GKM_RBUTTON 8192
\r
778 // Special codes for some GUI keys, including a few real ASCII codes.
\r
786 #define GK_ALERT 7 // ASCII bell
\r
787 #define GK_BACKSPACE 8 // ASCII
\r
788 #define GK_TAB 9 // ASCII
\r
789 #define GK_LINEFEED 10 // ASCII
\r
791 #define GK_VTAB 11 // ASCII
\r
793 #define GK_FORMFEED 12 // ASCII
\r
794 #define GK_RETURN 13 // ASCII
\r
808 #define GK_ESCAPE 27 // ASCII
\r
809 #define GK_FREE1 28
\r
810 #define GK_FREE2 29
\r
811 #define GK_FREE3 30
\r
812 #define GK_CESCAPE 31 // color escape
\r
814 #define CHANGELEVEL_KEEPFACING 1
\r
815 #define CHANGELEVEL_RESETINVENTORY 2
\r
816 #define CHANGELEVEL_NOMONSTERS 4
\r
817 #define CHANGELEVEL_CHANGESKILL 8
\r
818 #define CHANGELEVEL_NOINTERMISSION 16
\r
819 #define CHANGELEVEL_RESETHEALTH 32
\r
821 #define NO_CHANGE 32767.0
\r
823 #define SECF_SILENT 1
\r
824 #define SECF_NOFALLINGDAMAGE 2
\r
825 #define SECF_FLOORDROP 4
\r
826 #define SECF_NORESPAWN 8
\r
828 #define BLOCKF_CREATURES 1
\r
829 #define BLOCKF_MONSTERS 2
\r
830 #define BLOCKF_PLAYERS 4
\r
831 #define BLOCKF_FLOATERS 8
\r
832 #define BLOCKF_PROJECTILES 16
\r
833 #define BLOCKF_EVERYTHING 32
\r
834 #define BLOCKF_RAILING 64
\r
835 #define BLOCKF_USE 128
\r
836 #define BLOCKF_SIGHT 256
\r
838 #define FOGP_DENSITY 0
\r
839 #define FOGP_OUTSIDEDENSITY 1
\r
840 #define FOGP_SKYFOG 2
\r
842 #define PRINTNAME_LEVELNAME -1
\r
843 #define PRINTNAME_LEVEL -2
\r
844 #define PRINTNAME_SKILL -3
\r
846 #define CSF_NOFAKEFLOORS 1
\r
847 #define CSF_NOBLOCKALL 2
\r