OSDN Git Service

- added CR_CYAN to ACS headers.
[zandronum/zandronum-acc.git] / zdefs.acs
index 4699cc0..6f24d04 100644 (file)
--- a/zdefs.acs
+++ b/zdefs.acs
 #define TEXTURE_MIDDLE          1\r
 #define TEXTURE_BOTTOM          2\r
 \r
+// same information as combinable bit flags\r
+#define TEXFLAG_TOP                            1\r
+#define TEXFLAG_MIDDLE                 2\r
+#define TEXFLAG_BOTTOM                 4\r
+#define TEXFLAG_ADDOFFSET              8\r
+\r
 #define GAME_SINGLE_PLAYER      0\r
 #define GAME_NET_COOPERATIVE    1\r
 #define GAME_NET_DEATHMATCH     2\r
@@ -92,6 +98,7 @@
 #define PROP_INSTANTWEAPONSWITCH        2\r
 #define PROP_FLY                       3\r
 #define PROP_TOTALLYFROZEN             4\r
+#define PROP_BUDDHA                    16\r
 \r
 // The following properties correspond to powers given by certain items\r
 #define PROP_INVULNERABILITY           5\r
 #define PROP_FLIGHT                    12\r
 #define PROP_SPEED                     15\r
 \r
+// Player input -------------------------------------------------------------\r
+\r
+// These are the original inputs sent by the player.\r
+#define INPUT_OLDBUTTONS               0\r
+#define INPUT_BUTTONS                  1\r
+#define INPUT_PITCH                            2\r
+#define INPUT_YAW                              3\r
+#define INPUT_ROLL                             4\r
+#define INPUT_FORWARDMOVE              5\r
+#define INPUT_SIDEMOVE                 6\r
+#define INPUT_UPMOVE                   7\r
+\r
+// These are the inputs, as modified by P_PlayerThink().\r
+// Most of the time, these will match the original inputs, but\r
+// they can be different if a player is frozen or using a\r
+// chainsaw.\r
+#define MODINPUT_OLDBUTTONS            8\r
+#define MODINPUT_BUTTONS               9\r
+#define MODINPUT_PITCH                 10\r
+#define MODINPUT_YAW                   11\r
+#define MODINPUT_ROLL                  12\r
+#define MODINPUT_FORWARDMOVE   13\r
+#define MODINPUT_SIDEMOVE              14\r
+#define MODINPUT_UPMOVE                        15\r
+\r
+// Player buttons -----------------------------------------------------------\r
+\r
+#define BT_ATTACK                              1\r
+#define BT_USE                                 2\r
+#define BT_JUMP                                        4\r
+#define BT_CROUCH                              8\r
+#define BT_TURN180                             16\r
+#define BT_ALTATTACK                   32\r
+#define BT_RELOAD                              64\r
+#define BT_ZOOM                                        128\r
+\r
+#define BT_SPEED                               256\r
+#define BT_STRAFE                              512\r
+\r
+#define BT_MOVERIGHT                   1024\r
+#define BT_MOVELEFT                            2048\r
+#define BT_BACK                                        4096\r
+#define BT_FORWARD                             8192\r
+#define BT_RIGHT                               16384\r
+#define BT_LEFT                                        32768\r
+#define BT_LOOKUP                              65536\r
+#define BT_LOOKDOWN                            131072\r
+#define BT_MOVEUP                              262144\r
+#define BT_MOVEDOWN                            524288\r
+#define BT_SHOWSCORES                  1048576\r
+\r
+// Do whatever you want with these.\r
+#define BT_USER1                               2097152\r
+#define BT_USER2                               4194304\r
+#define BT_USER3                               8388608\r
+#define BT_USER4                               16777216\r
+\r
 // Text colors --------------------------------------------------------------\r
 \r
 #define CR_UNTRANSLATED         -1\r
 #define CR_PURPLE                              19\r
 #define CR_DARKGRAY                            20\r
 #define CR_DARKGREY                            20\r
+#define CR_CYAN                                        21\r
 \r
 // HUD message types --------------------------------------------------------\r
 \r
 // Actor properties you can get/set -----------------------------------------\r
 \r
 #define APROP_Health           0\r
-#define APROP_Speed            1\r
+#define APROP_Speed                    1\r
 #define APROP_Damage           2\r
-#define APROP_Alpha            3\r
+#define APROP_Alpha                    3\r
 #define APROP_RenderStyle      4\r
+#define APROP_SeeSound         5       // Sounds can only be set, not gotten\r
+#define APROP_AttackSound      6\r
+#define APROP_PainSound                7\r
+#define APROP_DeathSound       8\r
+#define APROP_ActiveSound      9\r
 #define APROP_Ambush           10\r
 #define APROP_Invulnerable     11\r
 #define APROP_JumpZ                    12\r
 #define APROP_Frightened       14\r
 #define APROP_Gravity          15\r
 #define APROP_Friendly         16\r
-#define APROP_SeeSound         5       // Sounds can only be set, not gotten\r
-#define APROP_AttackSound      6\r
-#define APROP_PainSound                7\r
-#define APROP_DeathSound       8\r
-#define APROP_ActiveSound      9\r
+#define APROP_SpawnHealth      17\r
+#define APROP_Dropped          18\r
+#define APROP_Notarget         19\r
+#define APROP_Species          20\r
+#define APROP_Nametag          21\r
+#define APROP_Score                    22\r
+#define APROP_Notrigger                23\r
+#define APROP_DamageFactor     24\r
+#define APROP_MasterTID        25\r
+#define APROP_TargetTID        26\r
+#define APROP_TracerTID        27\r
+#define APROP_Waterlevel       28\r
+#define APROP_ScaleX        29\r
+#define APROP_ScaleY        30\r
+#define APROP_Dormant          31\r
+#define APROP_Mass                     32\r
+#define APROP_Accuracy      33\r
+#define APROP_Stamina       34\r
 \r
 // Render Styles ------------------------------------------------------------\r
 \r
 #define DAMAGE_IN_AIR                          4\r
 #define DAMAGE_SUBCLASSES_PROTECT      8\r
 \r
+// Flags for MorphActor -----------------------------------------------------\r
+\r
+#define MRF_OLDEFFECTS                 0x00000000\r
+#define MRF_ADDSTAMINA                 0x00000001\r
+#define MRF_FULLHEALTH                 0x00000002\r
+#define MRF_UNDOBYTOMEOFPOWER  0x00000004\r
+#define MRF_UNDOBYCHAOSDEVICE  0x00000008\r
+#define MRF_FAILNOTELEFRAG             0x00000010\r
+#define MRF_FAILNOLAUGH                        0x00000020\r
+#define MRF_WHENINVULNERABLE   0x00000040\r
+#define MRF_LOSEACTUALWEAPON   0x00000080\r
+#define MRF_NEWTIDBEHAVIOUR            0x00000100\r
+#define MRF_UNDOBYDEATH                        0x00000200\r
+#define MRF_UNDOBYDEATHFORCED  0x00000400\r
+#define MRF_UNDOBYDEATHSAVES   0x00000800\r
+\r
 // Shared spawnable things from Hexen. You can spawn these in the other -----\r
 // games if you provide sprites for them, otherwise they'll be invisible. ---\r
 \r
 #define T_WIZARD                19\r
 #define T_IRONLICH              20\r
 #define T_ITEMHEALTHPOTION      23\r
-#define T_ITEMHEALTHFLASH       24\r
+#define T_ITEMHEALTHFLASH       24     // incorrect name but keep it for compatibility\r
+#define T_ITEMHEALTHFLASK       24\r
 #define T_ITEMHEALTHFULL        25\r
 #define T_CROSSBOW              27\r
 #define T_BLASTER               28\r
 #define T_SNAKEPROJECTILEBIG    139\r
 #define T_WIZARDSHOT            140\r
 \r
-// All D'Sparil teleport destinations must be spawned before D'Sparil alone.\r
-// D'Sparil can be spawned alone manually, and he is also spawned automatically\r
-// when he "dies" on his serpent.\r
 #define T_DSPARILTELEPORTDEST   141\r
 #define T_DSPARILONSERPENT      142\r
 #define T_DSPARILALONE          143\r
 #define T_SMALLMETALKEY                        86\r
 #define T_AXEKEY                               87\r
 #define T_FIREKEY                              88\r
-#define T_EMERALDKEY                           89\r
+#define T_EMERALDKEY                   89\r
 #define T_MACEKEY                              90\r
 #define T_SILVERKEY                            91\r
 #define T_RUSTYKEY                             92\r
 #define T_SPARK_DRIP                   108\r
 \r
 \r
+// Flags returned by ClassifyActor\r
+\r
+#define ACTOR_NONE                             0\r
+#define ACTOR_WORLD                            1\r
+#define ACTOR_PLAYER                   2\r
+#define ACTOR_BOT                              4\r
+#define ACTOR_VOODOODOLL               8\r
+#define ACTOR_MONSTER                  16\r
+#define ACTOR_ALIVE                            32\r
+#define ACTOR_DEAD                             64\r
+#define ACTOR_MISSILE                  128\r
+#define ACTOR_GENERIC                  256\r
+\r
+\r
+// Physical volumes for SoundSequenceOnSector\r
+\r
+#define SECSEQ_FLOOR                   1\r
+#define SECSEQ_CEILING                 2\r
+#define SECSEQ_FULLHEIGHT              3\r
+#define SECSEQ_INTERIOR                        4\r
+\r
+// Actor pointer selectors\r
+\r
+#DEFINE        AAPTR_DEFAULT 0\r
+#DEFINE        AAPTR_NULL 0x1\r
+#DEFINE        AAPTR_TARGET 0x2\r
+#DEFINE        AAPTR_MASTER 0x4\r
+#DEFINE        AAPTR_TRACER 0x8\r
+\r
+#DEFINE        AAPTR_PLAYER_GETTARGET 0x10\r
+#DEFINE        AAPTR_PLAYER_GETCONVERSATION 0x20\r
+\r
+#DEFINE        AAPTR_PLAYER1 0x40\r
+#DEFINE        AAPTR_PLAYER2 0x80\r
+#DEFINE        AAPTR_PLAYER3 0x100\r
+#DEFINE        AAPTR_PLAYER4 0x200\r
+#DEFINE        AAPTR_PLAYER5 0x400\r
+#DEFINE        AAPTR_PLAYER6 0x800\r
+#DEFINE        AAPTR_PLAYER7 0x1000\r
+#DEFINE        AAPTR_PLAYER8 0x2000\r
+\r
+#DEFINE AAPTR_FRIENDPLAYER 0x4000\r
+\r
+// Actor pointer operation flags\r
+\r
+#DEFINE PTROP_UNSAFETARGET 1\r
+#DEFINE PTROP_UNSAFEMASTER 2\r
+#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER \r
+\r
+// ==========================================================================\r
+// Skulltag Definitions\r
+// ==========================================================================\r
+\r
+// Skulltag Teams -----------------------------------------------------------\r
+#define TEAM_BLUE                              0\r
+#define TEAM_RED                               1\r
+#define NO_TEAM                                        2\r
+\r
+// Skulltag Invasion --------------------------------------------------------\r
+#define IS_WAITINGFORPLAYERS   0\r
+#define IS_FIRSTCOUNTDOWN              1\r
+#define IS_INPROGRESS                  2\r
+#define IS_BOSSFIGHT                   3\r
+#define IS_WAVECOMPLETE                        4\r
+#define IS_COUNTDOWN                   5\r
+\r
+\r
+#define T_GRENADE                              216\r
+#define T_BFG10KSHOT                   217\r
+#define T_DARKIMPFIREBALL              218\r
+#define T_CACOLANTERNSHOT              219\r
+#define T_ABADDONSHOT                  221\r
+\r
+// Skulltag Monsters --------------------------------------------------------\r
+#define T_DARKIMP                              155\r
+#define T_BLOODDEMON                   156\r
+#define T_SSGGUY                               157\r
+#define T_HECTEBUS                             158\r
+#define T_CACOLANTERN                  159\r
+#define T_BELPHEGOR                            215\r
+#define T_ABADDON                              220\r
+\r
+// Skulltag Weapons ---------------------------------------------------------\r
+#define T_PISTOL                               162\r
+#define T_GRENADELAUNCHER              163\r
+#define T_RAILGUN                              164\r
+#define T_BFG10000                             165\r
+#define T_MINIGUN                              214\r
+\r
+// Skulltag Armor/Health Items ----------------------------------------------\r
+#define T_MAXHEALTHBONUS               166\r
+#define T_MASARMORBONUS                        167\r
+#define T_REDARMOR                             168\r
+\r
+// Skulltag Powerups --------------------------------------------------------\r
+#define T_TURBOSPHERE                  169\r
+#define T_ANTIGRAVBELT                 170\r
+#define T_TIMEFREEZER                  171\r
+#define T_INFRAGOGGLES                 172\r
+#define T_INFRATRACKER                 173\r
+#define T_TRANSLUCENCY                 174\r
+#define T_DOOMSPHERE                   175\r
+#define T_RANDOMPOWERUP                        176\r
+\r
+// Skulltag Flags -----------------------------------------------------------\r
+#define T_BLUEFLAG                             177\r
+#define T_REDFLAG                              178\r
+#define T_WHITEFLAG                            179\r
+\r
+// Skulltag Runes -----------------------------------------------------------\r
+#define T_STRENGTH                             180\r
+#define T_RAGE                                 181\r
+#define T_DRAIN                                        182\r
+#define T_SPREAD                               183\r
+#define T_RESISTANCE                   184\r
+#define T_REGENERATION                 185\r
+#define T_PROSPERITY                   186\r
+#define T_REFLECTION                   187\r
+#define T_HIGHJUMP                             188\r
+#define T_HASTE                                        189\r
+\r
+\r
 // Events when you have input grabbed\r
 \r
 #define EV_KeyDown                             1       // data1: unshifted ASCII, data2: shifted ASCII\r
 #define CHANGELEVEL_NOMONSTERS 4\r
 #define CHANGELEVEL_CHANGESKILL 8\r
 #define CHANGELEVEL_NOINTERMISSION 16\r
+#define CHANGELEVEL_RESETHEALTH        32\r
+\r
+#define NO_CHANGE 32767.0\r
+\r
+#define SECF_SILENT 1\r
+#define SECF_NOFALLINGDAMAGE 2\r
+#define SECF_FLOORDROP 4\r
+#define SECF_NORESPAWN 8\r
+\r
+#define BLOCKF_CREATURES 1\r
+#define BLOCKF_MONSTERS 2\r
+#define BLOCKF_PLAYERS 4\r
+#define BLOCKF_FLOATERS 8\r
+#define BLOCKF_PROJECTILES 16\r
+#define BLOCKF_EVERYTHING 32\r
+#define BLOCKF_RAILING 64\r
+#define BLOCKF_USE 128\r
+#define BLOCKF_SIGHT 256\r
+\r
+#define FOGP_DENSITY 0\r
+#define FOGP_OUTSIDEDENSITY 1\r
+#define FOGP_SKYFOG 2\r
+\r
+#define PRINTNAME_LEVELNAME -1\r
+#define PRINTNAME_LEVEL -2\r
+#define PRINTNAME_SKILL -3\r
+\r
+#define CSF_NOFAKEFLOORS 1\r
+#define CSF_NOBLOCKALL 2\r