bool NpcAnimation::addOrReplaceIndividualPart(int type, int group, int priority, const std::string &mesh) { if(priority <= mPartPriorities[type]) return false; removeIndividualPart(type); mPartslots[type] = group; mPartPriorities[type] = priority; for(size_t i = 0;i < sPartListSize;i++) { if(type == sPartList[i].type) { mEntityParts[i] = insertBoundedPart(mesh, group, sPartList[i].name); break; } } return true; }
bool NpcAnimation::addOrReplaceIndividualPart(int type, int group, int priority, const std::string &mesh) { if(priority <= mPartPriorities[type]) return false; removeIndividualPart(type); mPartslots[type] = group; mPartPriorities[type] = priority; switch(type) { case ESM::PRT_Head: //0 head = insertBoundedPart(mesh, group, "Head"); break; case ESM::PRT_Hair: //1 hair = insertBoundedPart(mesh, group, "Head"); break; case ESM::PRT_Neck: //2 neck = insertBoundedPart(mesh, group, "Neck"); break; case ESM::PRT_Cuirass: //3 chest = insertBoundedPart(mesh, group, "Chest"); break; case ESM::PRT_Groin: //4 groin = insertBoundedPart(mesh, group, "Groin"); break; case ESM::PRT_Skirt: //5 skirt = insertBoundedPart(mesh, group, "Groin"); break; case ESM::PRT_RHand: //6 rHand = insertBoundedPart(mesh, group, "Right Hand"); break; case ESM::PRT_LHand: //7 lHand = insertBoundedPart(mesh, group, "Left Hand"); break; case ESM::PRT_RWrist: //8 rWrist = insertBoundedPart(mesh, group, "Right Wrist"); break; case ESM::PRT_LWrist: //9 lWrist = insertBoundedPart(mesh, group, "Left Wrist"); break; case ESM::PRT_Shield: //10 break; case ESM::PRT_RForearm: //11 rForearm = insertBoundedPart(mesh, group, "Right Forearm"); break; case ESM::PRT_LForearm: //12 lForearm = insertBoundedPart(mesh, group, "Left Forearm"); break; case ESM::PRT_RUpperarm: //13 rupperArm = insertBoundedPart(mesh, group, "Right Upper Arm"); break; case ESM::PRT_LUpperarm: //14 lupperArm = insertBoundedPart(mesh, group, "Left Upper Arm"); break; case ESM::PRT_RFoot: //15 rfoot = insertBoundedPart(mesh, group, "Right Foot"); break; case ESM::PRT_LFoot: //16 lfoot = insertBoundedPart(mesh, group, "Left Foot"); break; case ESM::PRT_RAnkle: //17 rAnkle = insertBoundedPart(mesh, group, "Right Ankle"); break; case ESM::PRT_LAnkle: //18 lAnkle = insertBoundedPart(mesh, group, "Left Ankle"); break; case ESM::PRT_RKnee: //19 rKnee = insertBoundedPart(mesh, group, "Right Knee"); break; case ESM::PRT_LKnee: //20 lKnee = insertBoundedPart(mesh, group, "Left Knee"); break; case ESM::PRT_RLeg: //21 rUpperLeg = insertBoundedPart(mesh, group, "Right Upper Leg"); break; case ESM::PRT_LLeg: //22 lUpperLeg = insertBoundedPart(mesh, group, "Left Upper Leg"); break; case ESM::PRT_RPauldron: //23 rclavicle = insertBoundedPart(mesh , group, "Right Clavicle"); break; case ESM::PRT_LPauldron: //24 lclavicle = insertBoundedPart(mesh, group, "Left Clavicle"); break; case ESM::PRT_Weapon: //25 break; case ESM::PRT_Tail: //26 tail = insertBoundedPart(mesh, group, "Tail"); break; } return true; }