⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shareddefs.h

📁 Blood 2全套源码
💻 H
📖 第 1 页 / 共 2 页
字号:


#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 + -