📄 shareddefs.h
字号:
#define POWERUP_NONE 0
#define POWERUP_HEALTH 1
#define POWERUP_MEGAHEALTH 2
#define POWERUP_WARD 3
#define POWERUP_NECROWARD 4
#define POWERUP_INVULNERABILITY 5
#define POWERUP_STEALTH 6
#define POWERUP_ANGER 7
#define POWERUP_REVENANT 8
#define POWERUP_MAXPOWERUPTYPES 9
#define MIN_CHARACTER 0
#define CHARACTER_CALEB 0
#define CHARACTER_OPHELIA 1
#define CHARACTER_ISHMAEL 2
#define CHARACTER_GABREILLA 3
#ifdef _ADD_ON
#define CHARACTER_M_CULTIST 4
#define CHARACTER_F_CULTIST 5
#define CHARACTER_SOULDRUDGE 6
#define CHARACTER_PROPHET 7
#define MAX_CHARACTER 7
#define MAX_CHARACTERS 8
#else
#define MAX_CHARACTER 3
#define MAX_CHARACTERS 4
#endif
#define MAX_ATTRIBUTES 12
#define DEFAULT_ATTRIBUTE 3
#define MULTIPLAY_SKIN_MIN 0
#define MULTIPLAY_SKIN_NORMAL 0
#define MULTIPLAY_SKIN_RED 1
#define MULTIPLAY_SKIN_BLUE 2
#define MULTIPLAY_SKIN_GREEN 3
#define MULTIPLAY_SKIN_YELLOW 4
#define MULTIPLAY_SKIN_MAX 6 // [blg] 01/04/99 added two more for team skins
// Lower 4 bits of damage indicate damage type.
#define DAMAGE_TYPE_NORMAL 0
#define DAMAGE_TYPE_FIRE 1
#define DAMAGE_TYPE_FREEZE 2 // Used by Carbon freezer
#define DAMAGE_TYPE_SINGULARITY 3 // Used by singularity generator
#define DAMAGE_TYPE_MELEE 4 // Used by melee weapon
#define DAMAGE_TYPE_EXPLODE 5 // Used for explosions, like grenade
#define DAMAGE_TYPE_SUFFOCATE 6 // Drowning, smothering.
#define DAMAGE_TYPE_DEATH 7 // Instant death
#define DAMAGE_TYPE_FREEFALL 8 // Endless falling, eventual death
#define DAMAGE_TYPE_BLIND 9 // Used by Voodoo doll
#define DAMAGE_TYPE_SLOW 10 // Used by Voodoo doll
#define DAMAGE_TYPE_DROPWEAPON 11 // Used by Voodoo doll
#define DAMAGE_TYPE_VISION 12 // Used by Voodoo doll
#define DAMAGE_TYPE_ELECTRIC 13 // Used by laser and lightning
#define DAMAGE_TYPE_ACID 14 // Used by bug spray and loogies
#define DAMAGE_TYPE_LEECH 15 // Used by the lifeleech primary
// Upper 4 bits are damage flags
#define DAMAGE_FLAG_AREAEFFECT 16 // Damage is area of effect
#define DAMAGE_FLAG_1 32
#define DAMAGE_FLAG_2 64
#define DAMAGE_FLAG_3 128
// Structures...
typedef struct B2C_struct
{
DDWORD dwCharacter;
DDWORD dwColor;
DDWORD dwStrength;
DDWORD dwSpeed;
DDWORD dwResist;
DDWORD dwFocus;
DDWORD dwWeap1;
DDWORD dwWeap2;
DDWORD dwWeap3;
DDWORD dwWeap4;
DDWORD dwWeap5;
DDWORD dwWeap6;
DDWORD dwWeap7;
DDWORD dwWeap8;
DDWORD dwWeap9;
} B2C;
enum KeyTypes
{
KEYTYPE_NONE = 0,
KEYTYPE_1,
KEYTYPE_2,
KEYTYPE_3,
KEYTYPE_CRANELEVER, // Special key types
KEYTYPE_MAX = KEYTYPE_CRANELEVER
};
// Cheat codes
enum CheatCodes
{
CHEAT_NONE = -1,
CHEAT_GOD, // god mode toggle
CHEAT_KFA, // Monolith Productions kicks fucking ass!
CHEAT_AMMO, // full ammo
CHEAT_CLIP, // clipping toggle
CHEAT_HEALTH, // Full health
CHEAT_WHEREAMI, // Displays position
CHEAT_STEALTH, // Gives invisibility powerup
CHEAT_TRIPLEDAMAGE, // Gives triple damage powerup
CHEAT_KILLALLAI, // Kill all AIs
CHEAT_INCSPEED, // Increase speed attribute
CHEAT_INCSTRENGTH, // Increase strength attribute
CHEAT_CALEB, // Set to these characters
CHEAT_OPHELIA,
CHEAT_ISHMAEL,
CHEAT_GABRIELLA,
CHEAT_BERETTA, // Weapon pickup cheats
CHEAT_MAC10, // sub-machine gun
CHEAT_FLAREGUN,
CHEAT_SHOTGUN,
CHEAT_SNIPERRIFLE,
CHEAT_HOWITZER,
CHEAT_NAPALMCANNON,
CHEAT_SINGULARITY,
CHEAT_ASSAULTRIFLE, // m-16
CHEAT_BUGSPRAY,
CHEAT_MINIGUN,
CHEAT_DEATHRAY,
CHEAT_TESLACANNON,
CHEAT_VOODOO,
CHEAT_ORB,
CHEAT_LIFELEECH,
CHEAT_KNIFE,
#ifdef _ADD_ON
CHEAT_COMBATSHOTGUN,
CHEAT_FLAYER,
#endif
CHEAT_GOBLE,
CHEAT_SCORPIO,
CHEAT_TOTARO,
CHEAT_DEMOLEVEL2, // go to second demo level
CHEAT_GIVEALLINV, // give all inventory items
CHEAT_POW_HEALTH, // health powerup
CHEAT_POW_MEGAHEALTH,
CHEAT_POW_WARD,
CHEAT_POW_NECROWARD,
CHEAT_POW_INVULN,
CHEAT_POW_STEALTH,
CHEAT_POW_ANGER,
CHEAT_KFA2, // god mode toggle (different weapons)
CHEAT_CHASEVIEW, // Chase view
CHEAT_MAX
};
#define CHEAT_FIRSTWEAPON CHEAT_BERETTA
#ifdef _ADD_ON
#define CHEAT_LASTWEAPON CHEAT_FLAYER
#else
#define CHEAT_LASTWEAPON CHEAT_LIFELEECH
#endif
// Base surface types for when we hit something. There can be some subtypes
enum SurfaceType
{
SURFTYPE_UNKNOWN = 0, // Could be anything
SURFTYPE_STONE = 10, // Stone
SURFTYPE_METAL = 20, // Metal
SURFTYPE_WOOD = 30, // Wood
SURFTYPE_ENERGY = 40, // Energy (Force fields, etc)
SURFTYPE_GLASS = 50, // Glass
SURFTYPE_BUILDING= 60,
SURFTYPE_TERRAIN = 70, // Dirt, ice, etc.
SURFTYPE_CLOTH = 80, // Cloth, carpet, furniture
SURFTYPE_PLASTIC = 90,
SURFTYPE_FLESH = 100,
SURFTYPE_SKY = 110, // Sky textures
SURFTYPE_FIRETHROUGH = 120, // Vector weapons can fire through
SURFTYPE_LIQUID = 200,
SURFTYPE_MAX,
};
enum GameType
{
GAMETYPE_SINGLE = NGT_SINGLE, // Single player game
GAMETYPE_BLOODBATH = NGT_DEATHMATCH, // Multiplayer game
GAMETYPE_CTF = NGT_CAPTUREFLAG, // Capture the Flag
GAMETYPE_COOP = NGT_COOPERATIVE, // Coop play
GAMETYPE_TEAMPLAY = NGT_TEAMS, // Team play
GAMETYPE_SOCCER = NGT_SOCCER, // Zombie head soccer
GAMETYPE_TAG = NGT_TOETAG, // Tag
GAMETYPE_LEVELRACE, // Level racing
GAMETYPE_ACTION, // Action mode (single player, no story elements)
GAMETYPE_CUSTOM, // Custom level (single player)
};
// Load/Save game defines...
#define LOADTYPE_NEW_GAME 1 // Start from scratch - no saving or restoring
#define LOADTYPE_NEW_LEVEL 2 // Save keep alives and level objects
#define LOADTYPE_RESTORESAVE 3 // Don't save. Restore a saved world
#define LOADTYPE_RESTOREAUTOSAVE 4 // Don't save. Restore a saved world
// Save types
#define SAVETYPE_AUTO 0
#define SAVETYPE_CURRENT 1
// Team IDs
#define TEAM_1 1
#define TEAM_2 2
enum RestoreTypes
{
};
enum TeamplayOptions
{
TEAMOPT_NOFRIENDLYFIRE = 0,
TEAMOPT_FRIENDLYFIRE,
TEAMOPT_REDUCEDDAMAGE,
TEAMOPT_ARMORDAMAGEONLY
};
enum SkillLevels
{
DIFFICULTY_EASY = 0,
DIFFICULTY_MEDIUM,
DIFFICULTY_HARD,
DIFFICULTY_INSANE
};
enum AmmoLevels
{
AMMO_REDUCED = 0,
AMMO_NORMAL,
AMMO_ABUNDANT,
AMMO_EXCESSIVE
};
enum ItemOptions
{
ITEMOPT_RESPAWN = 0,
ITEMOPT_NORESPAWN,
ITEMOPT_RESPAWN_MARKER,
ITEMOPT_RESPAWN_RANDOM
};
// Music commands
enum MusicCommand
{
MUSICCMD_LEVEL,
MUSICCMD_MOTIF,
MUSICCMD_MOTIF_LOOP,
MUSICCMD_MOTIF_STOP,
MUSICCMD_BREAK
};
// "The Voice" type ids
enum TheVoice
{
VOICE_START_BB,
VOICE_START_CTF,
VOICE_KILL,
VOICE_SUICIDE,
VOICE_FINISHHIM,
};
#define VOICEFLAG_NONE 0
#define VOICEFLAG_MALE_ATTACKER 1
#define VOICEFLAG_FEMALE_ATTACKER 2
#define VOICEFLAG_MALE_VICTIM 4
#define VOICEFLAG_FEMALE_VICTIM 8
#define VOICEFLAG_ALL_ATTACKER (VOICEFLAG_MALE_ATTACKER | VOICEFLAG_FEMALE_ATTACKER)
#define VOICEFLAG_ALL_VICTIM (VOICEFLAG_MALE_VICTIM | VOICEFLAG_FEMALE_VICTIM)
#define VOICEFLAG_ALL (VOICEFLAG_ALL_VICTIM | VOICEFLAG_ALL_ATTACKER)
// Wonky vision defines
#define WONKY_VISION_SAFE_TIME 0.5f
#define WONKY_VISION_STAY_TIME 5.0f
#define WONKY_VISION_DEFAULT_TIME 15.0f
// Various useful defines
#define PI (DFLOAT)3.14159
#define PIx2 (DFLOAT)PI*2
#define DEG2RAD(x) ((x*PI)/180)
#define RAD2DEG(x) ((x*180)/PI)
#define VEC_EQU(v1, v2) (v1.x == v2.x && v1.y == v2.y && v1.z == v2.z)
#define ROTN_EQU(r1, r2) (VEC_EQU(r1.m_Vec, r2.m_Vec) && r1.m_Spin == r2.m_Spin)
#define ROTN_SUB(d, r1, r2) VEC_SUB(d.m_Vec, r1.m_Vec, r2.m_Vec); d.m_Spin = r1.m_Spin - r2.m_Spin;
#define ROTN_ADD(d, r1, r2) VEC_ADD(d.m_Vec, r1.m_Vec, r2.m_Vec); d.m_Spin = r1.m_Spin + r2.m_Spin;
#define CLIPLOWHIGH(x,l,h) if (x < l) x = l; if (x > h) x = h;
// SFX_CAMERA_ID flags
#define CAMERASFXFLAG_ALLOWPLAYERMOVEMENT (1<<0)
#define CAMERASFXFLAG_HIDEPLAYER (1<<1)
#define CAMERASFXFLAG_ISLISTENER (1<<2)
#endif // __SHAREDEFS_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -