OpenMW
|
00001 #ifndef OPENMW_ESM_BODY_H 00002 #define OPENMW_ESM_BODY_H 00003 00004 #include <string> 00005 00006 namespace ESM 00007 { 00008 00009 class ESMReader; 00010 class ESMWriter; 00011 00012 struct BodyPart 00013 { 00014 static unsigned int sRecordId; 00015 00016 enum MeshPart 00017 { 00018 MP_Head = 0, 00019 MP_Hair = 1, 00020 MP_Neck = 2, 00021 MP_Chest = 3, 00022 MP_Groin = 4, 00023 MP_Hand = 5, 00024 MP_Wrist = 6, 00025 MP_Forearm = 7, 00026 MP_Upperarm = 8, 00027 MP_Foot = 9, 00028 MP_Ankle = 10, 00029 MP_Knee = 11, 00030 MP_Upperleg = 12, 00031 MP_Clavicle = 13, 00032 MP_Tail = 14, 00033 00034 MP_Count = 15 00035 }; 00036 00037 enum Flags 00038 { 00039 BPF_Female = 1, 00040 BPF_NotPlayable = 2 00041 }; 00042 00043 enum MeshType 00044 { 00045 MT_Skin = 0, 00046 MT_Clothing = 1, 00047 MT_Armor = 2 00048 }; 00049 00050 struct BYDTstruct 00051 { 00052 char mPart; 00053 char mVampire; 00054 char mFlags; 00055 char mType; 00056 }; 00057 00058 BYDTstruct mData; 00059 std::string mId, mModel, mRace; 00060 00061 void load(ESMReader &esm); 00062 void save(ESMWriter &esm) const; 00063 }; 00064 } 00065 #endif