1
0
Fork 1
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:
Chris Robinson 2012-07-13 13:41:08 -07:00
parent 9436ca4b0c
commit fdfe40a55a
2 changed files with 8 additions and 6 deletions

View file

@ -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;
} }

View file

@ -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;
}; };
} }