mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-30 19:45:40 +00:00
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 upperright[5] = {"", "", "", "", ""};
|
||||
std::string neckandup[5] = {"", "", "","",""};
|
||||
std::string empty[6] = {"", "", "", "","", ""};
|
||||
int numbers = 0;
|
||||
int uppernumbers = 0;
|
||||
int neckNumbers = 0;
|
||||
|
@ -110,7 +109,6 @@ namespace MWClass
|
|||
//std::cout << "RACE" << bodyRaceID << "\n";
|
||||
|
||||
Ogre::Vector3 pos2 = Ogre::Vector3( 0, .5, 75);
|
||||
std::string upperarmpath[2] = {npcName + "chest", npcName + "upper arm"};
|
||||
|
||||
if (groin){
|
||||
cellRender.insertMesh("meshes\\" + groin->model, pos2, axis, kOgrePi, npcName + "groin", addresses, numbers);
|
||||
|
@ -181,7 +179,7 @@ namespace MWClass
|
|||
upperleft[uppernumbers] = npcName + "upper arm";
|
||||
upperright[uppernumbers++] = npcName + "upper arm2";
|
||||
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)
|
||||
|
|
|
@ -691,7 +691,7 @@ namespace MWGui
|
|||
const char *id;
|
||||
// Specialization points to match, in order: Stealth, Combat, Magic
|
||||
// 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
|
||||
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
|
||||
|
|
|
@ -643,8 +643,13 @@ void NIFLoader::handleNiTriShape(NiTriShape *shape, int flags, BoundsFinder &bou
|
|||
for (std::vector<NiSkinData::BoneInfo>::iterator it = boneList.begin();
|
||||
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
|
||||
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
|
||||
vecPos = bonePtr->_getDerivedPosition() +
|
||||
|
@ -767,7 +772,7 @@ void NIFLoader::handleNode(Nif::Node *node, int flags,
|
|||
//FIXME: "Bip01" isn't every time the root bone
|
||||
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 )
|
||||
{
|
||||
|
@ -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();
|
||||
//if (isBeast && isChest)
|
||||
// std::cout << "NAME: " << name << "\n";
|
||||
// Quick-n-dirty workaround for the fact that several
|
||||
// bones may have the same name.
|
||||
if(!skel->hasBone(name))
|
||||
if(!mSkel->hasBone(name))
|
||||
{
|
||||
bone = skel->createBone(name);
|
||||
bone = mSkel->createBone(name);
|
||||
|
||||
if (parentBone)
|
||||
parentBone->addChild(bone);
|
||||
|
@ -1011,13 +1016,12 @@ void NIFLoader::loadResource(Resource *resource)
|
|||
//if(split== "Skins.NIF")
|
||||
// std::cout << "\nSPECIAL PROPS\n";
|
||||
resourceName = "";
|
||||
MeshManager *m = MeshManager::getSingletonPtr();
|
||||
// Check if the resource already exists
|
||||
//MeshPtr ptr = m->load(name, "custom");
|
||||
//cout << "THISNAME: " << ptr->getName() << "\n";
|
||||
//cout << "RESOURCE:"<< resource->getName();
|
||||
mesh = 0;
|
||||
skel.setNull();
|
||||
mSkel.setNull();
|
||||
|
||||
// Set up the VFS if it hasn't been done already
|
||||
if (!vfs) vfs = new OgreVFS(resourceGroup);
|
||||
|
|
|
@ -135,7 +135,7 @@ class NIFLoader : Ogre::ManualResourceLoader
|
|||
|
||||
// pointer to the ogre mesh which is currently build
|
||||
Ogre::Mesh *mesh;
|
||||
Ogre::SkeletonPtr skel;
|
||||
Ogre::SkeletonPtr mSkel;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
1
components/terrain/.gitignore
vendored
1
components/terrain/.gitignore
vendored
|
@ -1 +0,0 @@
|
|||
old
|
Loading…
Reference in a new issue