mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-04-17 17:36:47 +00:00
Use a different loader object for each NIF mesh
This commit is contained in:
parent
9436ca4b0c
commit
fdfe40a55a
2 changed files with 8 additions and 6 deletions
|
@ -128,6 +128,8 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
NIFLoader::LoaderMap NIFLoader::sLoaders;
|
||||||
|
|
||||||
void NIFLoader::warn(const std::string &msg)
|
void NIFLoader::warn(const std::string &msg)
|
||||||
{
|
{
|
||||||
std::cerr << "NIFLoader: Warn:" << msg << "\n";
|
std::cerr << "NIFLoader: Warn:" << msg << "\n";
|
||||||
|
@ -331,8 +333,8 @@ Ogre::MeshPtr NIFLoader::load(const std::string &name, const std::string &group)
|
||||||
Ogre::MeshPtr themesh = meshMgr.getByName(name, group);
|
Ogre::MeshPtr themesh = meshMgr.getByName(name, group);
|
||||||
if(themesh.isNull())
|
if(themesh.isNull())
|
||||||
{
|
{
|
||||||
static NIFLoader loader;
|
NIFLoader *loader = &sLoaders[name];
|
||||||
themesh = meshMgr.createManual(name, group, &loader);
|
themesh = meshMgr.createManual(name, group, loader);
|
||||||
}
|
}
|
||||||
return themesh;
|
return themesh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#include <libs/platform/strings.h>
|
#include <libs/platform/strings.h>
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <list>
|
#include <map>
|
||||||
// For warning messages
|
// For warning messages
|
||||||
#include <limits>
|
#include <limits>
|
||||||
using namespace boost::algorithm;
|
using namespace boost::algorithm;
|
||||||
|
@ -90,11 +90,11 @@ public:
|
||||||
const std::string &group="General");
|
const std::string &group="General");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NIFLoader() {}
|
|
||||||
NIFLoader(NIFLoader& n) {}
|
|
||||||
|
|
||||||
void warn(const std::string &msg);
|
void warn(const std::string &msg);
|
||||||
void fail(const std::string &msg);
|
void fail(const std::string &msg);
|
||||||
|
|
||||||
|
typedef std::map<std::string,NIFLoader,ciLessBoost> LoaderMap;
|
||||||
|
static LoaderMap sLoaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue