www.pudn.com > notWow.rar > Enums.h


#ifndef ENUMS_H 
#define ENUMS_H 
 
#ifndef SAFE_DELETE 
#define SAFE_DELETE(p)		{ if((p) != NULL) { delete (p) ; (p) = NULL; } } 
#define SAFE_DELETE_A(p)	{ if((p) != NULL) { delete [](p); (p) = NULL; } } 
#endif 
 
#ifndef SAFE_RELEASE 
#define SAFE_RELEASE(p)     { if((p) != NULL) { (p)->Release(); (p) = NULL; } } 
#endif 
 
typedef enum RESOURCE 
{ 
	RES_TEXTURE = 0, 
	RES_MODEL, 
	RES_SOUND, 
	RES_MAP, 
	RES_SCRIPT 
}RESOURCE; 
 
typedef enum ACTION 
{ 
	ACT_NULL			= -1, 
 
	ACT_STAND			= 0, 
	ACT_WALK			= 4, 
	ACT_RUN				= 5,	 
	ACT_SHUFFLELEFT     = 11, 
	ACT_SHUFFLERIGHT    = 12, 
	ACT_WALKBACKWARD	= 13, 
 
	ACT_ATTACK1H		= 17, 
	ACT_ATTACK2H		= 18, 
	ACT_ATTACK2HL		= 19, 
	ACT_ATTACKBOW		= 46, 
	ACT_ATTACKOFF		= 87, 
	ACT_ATTACKOFFPIERCE = 88, 
	ACT_ATTACKRIFE		= 49, 
	ACT_ATTACKTHROW		= 107, 
	ACT_ATTACKUNARMED	= 16, 
}ACTION; 
 
typedef enum CHARSTATE 
{ 
	CS_IDLE, 
	CS_WALK, 
	CS_RUN, 
	CS_TURN, 
	CS_ATTACK, 
	CS_TALK 
}CHARSTAT; 
 
typedef enum MODELTYPE 
{ 
	MODEL_ERROR = 0, 
	MODEL_CHARACTER = 1, 
	MODEL_CREATURE = 2, 
	MODEL_WORLD = 4, 
	MODEL_ATEST = 8, 
	MODEL_DFACE = 16, 
	MODEL_TRANS = 32, 
	MODEL_ITEM = 64, 
	MODEL_TERRIAN = 128, 
}MODELTYPE; 
 
typedef enum EFFECTTYPE 
{ 
	EFFECT_CHAR, 
	EFFECT_ITEM, 
	EFFECT_TERRIAN, 
	EFFECT_TERRIAN_FAR, 
	EFFECT_WORLD, 
	EFFECT_WORLD_FAR, 
	EFFECT_SKY, 
	EFFECT_BG 
}EFFECTTYPE; 
 
typedef enum CHARSKILL 
{ 
	SKILL_NORMAL 
}CHARSKILL; 
 
typedef short ScriptID; 
typedef short ModelID; 
typedef short ObjectID; 
typedef short TextureID; 
typedef short SceneID; 
typedef short SoundID; 
typedef short NPCID; 
 
enum  
{ 
	LT_AMBIENT, 
	LT_DIRECTIONAL, 
	LT_MODEL_ONLY 
}; 
 
 
 
 
enum  
{ 
	LIGHT_POSITIONAL, 
	LIGHT_SPOT, 
	LIGHT_DIRECTIONAL 
}; 
 
 
 
 
enum ModelType  
{ 
	MT_NORMAL, 
	MT_CHAR, 
	MT_WMO, 
	MT_NPC 
}; 
 
enum CharRegions  
{ 
	CR_BASE = 0, 
	CR_ARM_UPPER, 
	CR_ARM_LOWER, 
	CR_HAND, 
	CR_FACE_UPPER, 
	CR_FACE_LOWER, 
	CR_TORSO_UPPER, 
	CR_TORSO_LOWER, 
	CR_PELVIS_UPPER, 
	CR_PELVIS_LOWER, 
	CR_FOOT, 
	NUM_REGIONS, 
 
	CR_LEG_UPPER = CR_PELVIS_UPPER, 
	CR_LEG_LOWER = CR_PELVIS_LOWER 
}; 
 
enum  
{ 
	UPDATE_ITEM, 
	UPDATE_SET, 
	UPDATE_START, 
	UPDATE_MOUNT, 
	UPDATE_CREATURE_ITEM, 
	UPDATE_NPC 
}; 
 
enum CharSlots  
{ 
	CS_HEAD, 
	CS_NECK, 
	CS_SHOULDER, 
	CS_BOOTS, 
	CS_BELT, 
	CS_SHIRT, 
	CS_PANTS, 
	CS_CHEST, 
	CS_BRACERS, 
	CS_GLOVES, 
	CS_HAND_RIGHT, 
	CS_HAND_LEFT, 
	CS_CAPE, 
	CS_TABARD, 
	CS_QUIVER, 
	 
	NUM_CHAR_SLOTS 
}; 
 
enum ItemTypes  
{ 
	IT_ALL = 0, 
	IT_HEAD, 
	IT_NECK, 
	IT_SHOULDER, 
	IT_SHIRT, 
	IT_CHEST, 
	IT_BELT, 
	IT_PANTS, 
	IT_BOOTS, 
	IT_BRACERS, 
	IT_GLOVES, 
	IT_RINGS, 
	IT_ACCESSORY, 
	IT_DAGGER, 
	IT_SHIELD, 
	IT_BOW, 
	IT_CAPE, 
	IT_2HANDED, 
	IT_QUIVER, 
	IT_TABARD, 
	IT_ROBE, 
	IT_1HANDED, 
	IT_CLAW, 
	IT_OFFHAND, 
	IT_UNUSED, // unused? 
	IT_THROWN, 
	IT_GUN, 
 
	NUM_ITEM_TYPES 
}; 
 
enum  
{ 
	SPIN_SKIN_COLOR, 
	SPIN_FACE_TYPE, 
	SPIN_HAIR_COLOR, 
	SPIN_HAIR_STYLE, 
	SPIN_FACIAL_HAIR, 
	SPIN_FACIAL_COLOR, 
 
	NUM_SPIN_BTNS 
}; 
 
enum  
{ 
	SPIN_TABARD_ICON = 0, 
	SPIN_TABARD_ICONCOLOR, 
	SPIN_TABARD_BORDER, 
	SPIN_TABARD_BORDERCOLOR, 
	SPIN_TABARD_BACKGROUND, 
 
	NUM_TABARD_BTNS 
}; 
 
enum WOW_LOCALE { 
	enUS = 0, 
	enGB, 
	deDE, 
	frFR, 
	koKR, 
	zhCN, 
	zhTW, 
	unknown, 
 
	NUM_LOCALES 
}; 
 
// copied from the .mdl docs? this might be completely wrong 
enum BlendModes { 
	BM_OPAQUE, 
	BM_TRANSPARENT, 
	BM_ALPHA_BLEND, 
	BM_ADDITIVE, 
	BM_ADDITIVE_ALPHA, 
	BM_MODULATE, 
	BM_MODULATEX2 
}; 
 
enum BoneTable { 
	//Block F - Bone lookup table. 
	//--------------------------------- 
	BONE_LARM = 0,		// 0, Left upper arm 
	BONE_RARM,			// 1, Right upper arm 
	BONE_LSHOULDER,		// 2, Left Shoulder / deltoid area 
	BONE_RSHOULDER,		// 3, Right Shoulder / deltoid area 
	BONE_STOMACH,		// 4, (upper?) abdomen 
	BONE_WAIST,			// 5, (lower abdomen?) waist 
	BONE_HEAD,			// 6, head 
	BONE_JAW,			// 7, jaw/mouth 
	BONE_RFINGER1,		// 8, (Trolls have 3 "fingers", this points to the 2nd one. 
	BONE_RFINGER2,		// 9, center finger - only used by dwarfs.. don't know why 
	BONE_RFINGER3,		// 10, (Trolls have 3 "fingers", this points to the 3rd one. 
	BONE_RFINGERS,		// 11, Right fingers -- this is -1 for trolls, they have no fingers, only the 3 thumb like thingys 
	BONE_RTHUMB,		// 12, Right Thumb 
	BONE_LFINGER1,		// 13, (Trolls have 3 "fingers", this points to the 2nd one. 
	BONE_LFINGER2,		// 14, Center finger - only used by dwarfs. 
	BONE_LFINGER3,		// 15, (Trolls have 3 "fingers", this points to the 3rd one. 
	BONE_LFINGERS,		// 16, Left fingers 
	BONE_LTHUMB,		// 17, Left Thumb 
	UnK19,	// ? 
	UnK20,	// ? 
	UnK21,	// ? 
	UnK22,	// ? 
	UnK23,	// ? 
	UnK24,	// ? 
	UnK25,	// ? 
	UnK26,	// ? 
	BONE_ROOT			// 26, The "Root" bone,  this controls rotations, transformations, etc of the whole model and all subsequent bones. 
}; 
 
#endif