OSDN Git Service

Update zdefs.acs with shadow and subtract styles.
[zandronum/zandronum-acc.git] / zdefs.acs
index 3fea126..d65a277 100644 (file)
--- a/zdefs.acs
+++ b/zdefs.acs
@@ -1,4 +1,3 @@
-\r
 //**************************************************************************\r
 //**\r
 //** zdefs.acs\r
@@ -28,6 +27,7 @@
 #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
@@ -97,6 +97,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
 \r
 // OR this with one of the above to log the hudmessage to the console.\r
 // i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG\r
-#define HUDMSG_LOG     0x80000000\r
+#define HUDMSG_LOG                                     0x80000000\r
 \r
 // OR this with one of the above if the color you passed is a string\r
 // instead of one of the CR_ constants.\r
-#define HUDMSG_COLORSTRING     0x40000000\r
+#define HUDMSG_COLORSTRING                     0x40000000\r
+\r
+// OR this with one of the above to use additive blending when drawing the\r
+// HUD message.\r
+#define HUDMSG_ADDBLEND                                0x20000000\r
+\r
+// OR this with one of the above to use the extra alpha parameter\r
+#define HUDMSG_ALPHA                           0x10000000\r
+\r
+// Or this with one of the above to not wrap lines\r
+#define HUDMSG_NOWRAP                          0x08000000\r
+\r
+// HUD message layers; these are not flags\r
+#define HUDMSG_LAYER_OVERHUD           0x00000000\r
+#define HUDMSG_LAYER_UNDERHUD          0x00001000\r
+#define HUDMSG_LAYER_OVERMAP           0x00002000\r
+\r
+// HUD message visibility flags\r
+#define HUDMSG_NOTWITH3DVIEW           0x00010000\r
+#define HUDMSG_NOTWITHFULLMAP          0x00020000\r
+#define HUDMSG_NOTWITHOVERLAYMAP       0x00040000\r
+\r
 \r
 // "Scripted" Marine weapon 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_Gravity          15\r
 #define APROP_Friendly         16\r
 #define APROP_SpawnHealth      17\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_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
+#define APROP_Height           35\r
+#define APROP_Radius           36\r
+#define APROP_Reactiontime     37\r
+#define APROP_MeleeRange       38\r
+#define APROP_ViewHeight       39\r
+#define APROP_AttackZOffset    40\r
+#define APROP_StencilColor     41\r
 \r
 // Render Styles ------------------------------------------------------------\r
 \r
-#define STYLE_None             0       // Do not draw\r
+#define STYLE_None                     0       // Do not draw\r
 #define STYLE_Normal           1       // Normal; just copy the image to the screen\r
-#define STYLE_Fuzzy            2       // Draw silhouette using "fuzz" effect\r
+#define STYLE_Fuzzy                    2       // Draw silhouette using "fuzz" effect\r
 #define STYLE_SoulTrans                3       // Draw translucent with amount in r_transsouls\r
-#define STYLE_OptFuzzy         4       // Draw as fuzzy or translucent, based on user preference\r
+#define STYLE_OptFuzzy         4       // Draw as fuzzy, translucent or shadow, based on user preference\r
+#define STYLE_Stencil          5       // Draw as solid color\r
 #define STYLE_Translucent      64      // Draw translucent\r
-#define STYLE_Add              65      // Draw additive\r
+#define STYLE_Add                      65      // Draw additive\r
+#define STYLE_Shaded           66      // \r
+#define STYLE_TranslucentStencil 67\r
+#define STYLE_Shadow           68      // Draw dark translucent stencil\r
+#define STYLE_Subtract  69  // Draw subtractive\r
 \r
 // Properties you can use with GetLevelInfo() -------------------------------\r
 \r
 #define PLAYERINFO_MOVEBOB             5\r
 #define PLAYERINFO_STILLBOB            6\r
 #define PLAYERINFO_PLAYERCLASS 7\r
+#define PLAYERINFO_FOV                 8\r
+#define PLAYERINFO_DESIREDFOV  9\r
 \r
 \r
 // Flags for ReplaceTextures ------------------------------------------------\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
+// Channels for PlaySound and StopSound\r
+\r
+#define CHAN_AUTO                              0\r
+#define CHAN_WEAPON                            1\r
+#define CHAN_VOICE                             2\r
+#define CHAN_ITEM                              3\r
+#define CHAN_BODY                              4\r
+\r
+// Modifier flags for PlaySound\r
+\r
+#define CHAN_LISTENERZ                 8\r
+#define CHAN_MAYBE_LOCAL               16\r
+#define CHAN_UI                                        32\r
+#define CHAN_NOPAUSE                   64\r
+\r
+// Standard attenuation values for PlaySound\r
+\r
+#define ATTN_NONE                              0               // full volume the entire level\r
+#define ATTN_NORM                              1.0\r
+#define ATTN_IDLE                              1.001\r
+#define ATTN_STATIC                            3.0             // dimish very rapidly with distance\r
+\r
+// Identifiers for PlayActorSound\r
+\r
+#define SOUND_See                              0\r
+#define SOUND_Attack                   1\r
+#define SOUND_Pain                             2\r
+#define SOUND_Death                            3\r
+#define SOUND_Active                   4\r
+#define SOUND_Use                              5\r
+#define SOUND_Bounce                   6\r
+#define SOUND_WallBounce               7\r
+#define SOUND_CrushPain                        8\r
+#define SOUND_Howl                             9\r
+\r
+// Flags for SpawnDecal\r
+\r
+#define SDF_ABSANGLE                   1\r
+#define SDF_PERMANENT                  2\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
+// Line activation flags\r
+\r
+#define SPAC_Cross                     1               // when player crosses line\r
+#define SPAC_Use                       2               // when player uses line\r
+#define SPAC_MCross                    4               // when monster crosses line\r
+#define SPAC_Impact                    8               // when projectile hits line\r
+#define SPAC_Push                      16              // when player pushes line\r
+#define SPAC_PCross                    32              // when projectile crosses line\r
+#define SPAC_UseThrough                64              // when player uses line (doesn't block)\r
+#define SPAC_AnyCross          128             // when anything without the TELEPORT flag crosses the line\r
+#define SPAC_MUse                      256             // monsters can use\r
+#define SPAC_MPush                     512             // monsters can push\r
+#define SPAC_UseBack           1024    // can be used from the back side\r
+\r
+#define SPAC_None                      0\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
+// Team properties ----------------------------------------------------------\r
+#define TPROP_Name                             0\r
+#define TPROP_Score                            1\r
+#define TPROP_IsValid                  2\r
+#define TPROP_NumPlayers               3\r
+#define TPROP_NumLivePlayers   4\r
+#define TPROP_TextColor                        5\r
+#define TPROP_PlayerStartNum   6\r
+#define TPROP_Spread                   7\r
+#define TPROP_Carrier                  8\r
+#define TPROP_Assister                 9\r
+#define TPROP_FragCount                        10\r
+#define TPROP_DeathCount               11\r
+#define TPROP_WinCount                 12\r
+#define TPROP_PointCount               13\r
+#define TPROP_ReturnTics               14\r
+#define TPROP_TeamItem                 15\r
+#define TPROP_WinnerTheme              16\r
+#define TPROP_LoserTheme               17\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_MAXARMORBONUS                        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
+#define CHANGELEVEL_PRERAISEWEAPON 64\r
 \r
-#define NO_CHANGE -32767.0\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
+#define BLOCKF_HITSCAN 512\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
+\r
+#define FHF_NORANDOMPUFFZ      1\r