forked from teamnwah/openmw-tes3coop
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
3d75eea377
7 changed files with 14 additions and 19 deletions
|
@ -75,7 +75,6 @@ namespace MWClass
|
||||||
std::string upperleft[5] = {"", "", "", "", ""};
|
std::string upperleft[5] = {"", "", "", "", ""};
|
||||||
std::string upperright[5] = {"", "", "", "", ""};
|
std::string upperright[5] = {"", "", "", "", ""};
|
||||||
std::string neckandup[5] = {"", "", "","",""};
|
std::string neckandup[5] = {"", "", "","",""};
|
||||||
std::string empty[6] = {"", "", "", "","", ""};
|
|
||||||
int numbers = 0;
|
int numbers = 0;
|
||||||
int uppernumbers = 0;
|
int uppernumbers = 0;
|
||||||
int neckNumbers = 0;
|
int neckNumbers = 0;
|
||||||
|
@ -110,7 +109,6 @@ namespace MWClass
|
||||||
//std::cout << "RACE" << bodyRaceID << "\n";
|
//std::cout << "RACE" << bodyRaceID << "\n";
|
||||||
|
|
||||||
Ogre::Vector3 pos2 = Ogre::Vector3( 0, .5, 75);
|
Ogre::Vector3 pos2 = Ogre::Vector3( 0, .5, 75);
|
||||||
std::string upperarmpath[2] = {npcName + "chest", npcName + "upper arm"};
|
|
||||||
|
|
||||||
if (groin){
|
if (groin){
|
||||||
cellRender.insertMesh("meshes\\" + groin->model, pos2, axis, kOgrePi, npcName + "groin", addresses, numbers);
|
cellRender.insertMesh("meshes\\" + groin->model, pos2, axis, kOgrePi, npcName + "groin", addresses, numbers);
|
||||||
|
@ -181,7 +179,7 @@ namespace MWClass
|
||||||
upperleft[uppernumbers] = npcName + "upper arm";
|
upperleft[uppernumbers] = npcName + "upper arm";
|
||||||
upperright[uppernumbers++] = npcName + "upper arm2";
|
upperright[uppernumbers++] = npcName + "upper arm2";
|
||||||
cellRender.scaleMesh(Ogre::Vector3(1, -1, 1), upperleft, uppernumbers); //1 -1 1
|
cellRender.scaleMesh(Ogre::Vector3(1, -1, 1), upperleft, uppernumbers); //1 -1 1
|
||||||
cellRender.rotateMesh(Ogre::Vector3(0, 1, 0), kOgrePiOverTwo, upperleft, uppernumbers);
|
cellRender.rotateMesh(Ogre::Vector3(0, .1, 0), kOgrePiOverTwo, upperleft, uppernumbers);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (forearm)
|
if (forearm)
|
||||||
|
|
|
@ -691,7 +691,7 @@ namespace MWGui
|
||||||
const char *id;
|
const char *id;
|
||||||
// Specialization points to match, in order: Stealth, Combat, Magic
|
// Specialization points to match, in order: Stealth, Combat, Magic
|
||||||
// Note: Order is taken from http://www.uesp.net/wiki/Morrowind:Class_Quiz
|
// Note: Order is taken from http://www.uesp.net/wiki/Morrowind:Class_Quiz
|
||||||
int points[3];
|
unsigned int points[3];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
2
components/esm/.gitignore
vendored
2
components/esm/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
||||||
old
|
|
||||||
*.d
|
|
|
@ -490,10 +490,6 @@ public:
|
||||||
|
|
||||||
// Adjust number of record bytes left
|
// Adjust number of record bytes left
|
||||||
mCtx.leftRec -= mCtx.leftSub + 4;
|
mCtx.leftRec -= mCtx.leftSub + 4;
|
||||||
|
|
||||||
// Check that sizes added up
|
|
||||||
if(mCtx.leftRec < 0)
|
|
||||||
fail("Not enough bytes left in record for this subrecord.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get sub header and check the size
|
/** Get sub header and check the size
|
||||||
|
|
|
@ -643,8 +643,13 @@ void NIFLoader::handleNiTriShape(NiTriShape *shape, int flags, BoundsFinder &bou
|
||||||
for (std::vector<NiSkinData::BoneInfo>::iterator it = boneList.begin();
|
for (std::vector<NiSkinData::BoneInfo>::iterator it = boneList.begin();
|
||||||
it != boneList.end(); it++)
|
it != boneList.end(); it++)
|
||||||
{
|
{
|
||||||
|
if(mSkel.isNull())
|
||||||
|
{
|
||||||
|
std::cout << "No skeleton for :" << shape->skin->bones[boneIndex].name.toString() << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
//get the bone from bones array of skindata
|
//get the bone from bones array of skindata
|
||||||
bonePtr = skel->getBone(shape->skin->bones[boneIndex].name.toString());
|
bonePtr = mSkel->getBone(shape->skin->bones[boneIndex].name.toString());
|
||||||
|
|
||||||
// final_vector = old_vector + old_rotation*new_vector*old_scale
|
// final_vector = old_vector + old_rotation*new_vector*old_scale
|
||||||
vecPos = bonePtr->_getDerivedPosition() +
|
vecPos = bonePtr->_getDerivedPosition() +
|
||||||
|
@ -767,7 +772,7 @@ void NIFLoader::handleNode(Nif::Node *node, int flags,
|
||||||
//FIXME: "Bip01" isn't every time the root bone
|
//FIXME: "Bip01" isn't every time the root bone
|
||||||
if (node->name == "Bip01" || node->name == "Root Bone") //root node, create a skeleton
|
if (node->name == "Bip01" || node->name == "Root Bone") //root node, create a skeleton
|
||||||
{
|
{
|
||||||
skel = SkeletonManager::getSingleton().create(getSkeletonName(), resourceGroup, true);
|
mSkel = SkeletonManager::getSingleton().create(getSkeletonName(), resourceGroup, true);
|
||||||
|
|
||||||
/*if (node->extra->recType == RC_NiTextKeyExtraData )
|
/*if (node->extra->recType == RC_NiTextKeyExtraData )
|
||||||
{
|
{
|
||||||
|
@ -776,16 +781,16 @@ void NIFLoader::handleNode(Nif::Node *node, int flags,
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!skel.isNull()) //if there is a skeleton
|
if (!mSkel.isNull()) //if there is a skeleton
|
||||||
{
|
{
|
||||||
std::string name = node->name.toString();
|
std::string name = node->name.toString();
|
||||||
//if (isBeast && isChest)
|
//if (isBeast && isChest)
|
||||||
// std::cout << "NAME: " << name << "\n";
|
// std::cout << "NAME: " << name << "\n";
|
||||||
// Quick-n-dirty workaround for the fact that several
|
// Quick-n-dirty workaround for the fact that several
|
||||||
// bones may have the same name.
|
// bones may have the same name.
|
||||||
if(!skel->hasBone(name))
|
if(!mSkel->hasBone(name))
|
||||||
{
|
{
|
||||||
bone = skel->createBone(name);
|
bone = mSkel->createBone(name);
|
||||||
|
|
||||||
if (parentBone)
|
if (parentBone)
|
||||||
parentBone->addChild(bone);
|
parentBone->addChild(bone);
|
||||||
|
@ -1011,13 +1016,12 @@ void NIFLoader::loadResource(Resource *resource)
|
||||||
//if(split== "Skins.NIF")
|
//if(split== "Skins.NIF")
|
||||||
// std::cout << "\nSPECIAL PROPS\n";
|
// std::cout << "\nSPECIAL PROPS\n";
|
||||||
resourceName = "";
|
resourceName = "";
|
||||||
MeshManager *m = MeshManager::getSingletonPtr();
|
|
||||||
// Check if the resource already exists
|
// Check if the resource already exists
|
||||||
//MeshPtr ptr = m->load(name, "custom");
|
//MeshPtr ptr = m->load(name, "custom");
|
||||||
//cout << "THISNAME: " << ptr->getName() << "\n";
|
//cout << "THISNAME: " << ptr->getName() << "\n";
|
||||||
//cout << "RESOURCE:"<< resource->getName();
|
//cout << "RESOURCE:"<< resource->getName();
|
||||||
mesh = 0;
|
mesh = 0;
|
||||||
skel.setNull();
|
mSkel.setNull();
|
||||||
|
|
||||||
// Set up the VFS if it hasn't been done already
|
// Set up the VFS if it hasn't been done already
|
||||||
if (!vfs) vfs = new OgreVFS(resourceGroup);
|
if (!vfs) vfs = new OgreVFS(resourceGroup);
|
||||||
|
|
|
@ -135,7 +135,7 @@ class NIFLoader : Ogre::ManualResourceLoader
|
||||||
|
|
||||||
// pointer to the ogre mesh which is currently build
|
// pointer to the ogre mesh which is currently build
|
||||||
Ogre::Mesh *mesh;
|
Ogre::Mesh *mesh;
|
||||||
Ogre::SkeletonPtr skel;
|
Ogre::SkeletonPtr mSkel;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
1
components/terrain/.gitignore
vendored
1
components/terrain/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
old
|
|
Loading…
Reference in a new issue