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