📄 m2character.h
字号:
//--------------------------------------------------
// Desc: M2 Character Control
// Date: 2007.4.10 /update
// Author: Artsylee
//
// From: WOW Model Viewer
// I just coding in my own ways!
//
//--------------------------------------------------
#ifndef _M2CHARACTER_
#define _M2CHARACTER_
#include "M2Loader.h"
#include "Attachment.h"
#include "GNode.h"
enum EquipmentSlot
{
// Character
ES_UNUSED = 0,
ES_SKINCOLOR = 1,
ES_HAIRCOLOR = 2,
ES_HAIRSTYLE = 3,
ES_FACESTYLE = 4,
ES_FACIALSTYLE = 5,
// Equipment
ES_HEAD = 6,
ES_NECK = 7,
ES_SHOULDER = 8,
ES_BOOTS = 9,
ES_BELT = 10,
ES_SHIRT = 11,
ES_PANTS = 12,
ES_CHEST = 13,
ES_BRACERS = 14,
ES_GLOVES = 15,
ES_HAND_RIGHT = 16,
ES_HAND_LEFT = 17,
ES_CAPE = 18,
ES_TABARD = 19,
ES_QUIVER = 20,
//
ES_TOTALNUM = 21,
ES_EQUITBASE = ES_HEAD,
NUM_CHAR_SLOTS = ES_QUIVER-ES_HEAD+1,
};
enum CSVDEFINE
{
CSV_NAME = 0,
CSV_SLOT,
CSV_ARM_UPPER,
CSV_ARM_LOWER,
CSV_HAND,
CSV_TORSO_UPPER,
CSV_TORSO_LOWER,
CSV_LEG_UPPER,
CSV_LEG_LOWER,
CSV_FOOT,
CSV_GEOSET_A,
CSV_GEOSET_B,
CSV_GEOSET_C,
CSV_MODEL_A,
CSV_MODEL_B,
CSV_MODEL_TEXTURE,
};
struct TextureGroup;
class M2Character : public GNode
{
public:
M2Character();
~M2Character();
bool Load(void);
void Update(void);
void Render(void);
void SetAnimationIndex(int index);
void OnMount(int mountID);
CM2Loader* GetCurModel(void);
CM2Loader* GetChar(void);
void SetEquipmentValue(int index, int value);
int GetEquipmentValue(int index);
int GetEquipmentMax(int index);
void SaveEquipment(void);
void LoadEquipment(bool bDefault = false);
private:
void CreateTexture(void);
void LoadItem(int slot);
void ChangeHairColor(void);
void ChangeHairStyle(void);
void ChangeFacialStyle(void);
bool IsSlotHasModel(int slot);
void AddEquipment(int slot, TextureGroup *pTexGroup, int layer);
private:
Attachment m_Root;
Attachment* m_pCharAttach;
CM2Loader* m_pCurModel;
CM2Loader* m_pCharacter;
DWORD m_hChar;
DWORD m_hHair;
DWORD m_hCape;
int m_Geoset[5];
int m_EquipmentIndex[32];
int m_EquipmentMax[32];
int m_EquipmentBase[32];
DWORD m_EquipTexture[32];
};
#endif // _M2CHARACTER_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -