From 93f41e25a44fea0fe2ae2f9e6a2e7bf19a0c19ff Mon Sep 17 00:00:00 2001 From: Jason Hooks Date: Wed, 8 Jun 2011 17:29:28 -0400 Subject: [PATCH] fs-strict --- apps/openmw/mwclass/npc.cpp | 2 +- components/bsa/bsa_archive.cpp | 35 ++++++++++++++++------------------ 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp index 88d3ee1368..5afc264800 100644 --- a/apps/openmw/mwclass/npc.cpp +++ b/apps/openmw/mwclass/npc.cpp @@ -118,7 +118,7 @@ namespace MWClass Ogre::Vector3 pos2 = Ogre::Vector3( 0, .5, 75); if (groin){ - cellRender.insertMesh("meshes\\2\\red_MJ_hat_ORg.nif"); //w/W_6th_Hammer.NIF + cellRender.insertMesh("Meshes\\2\\red_MJ_hat_org.nif"); //w/W_6th_Hammer.NIF //bald_MJ_hat.NIF cellRender.insertMesh("meshes\\" + groin->model, pos2, axis, kOgrePi, npcName + "groin", addresses, numbers); addresses2[numbers] = npcName + "groin"; diff --git a/components/bsa/bsa_archive.cpp b/components/bsa/bsa_archive.cpp index 8e3da70e0c..09662474fc 100644 --- a/components/bsa/bsa_archive.cpp +++ b/components/bsa/bsa_archive.cpp @@ -49,7 +49,7 @@ class DirArchive: public Ogre::FileSystemArchive boost::filesystem::path currentdir; std::map, ciLessBoost> m; - int cutoff; + unsigned int cutoff; bool comparePortion(std::string file1, std::string file2, int start, int size) const { @@ -128,21 +128,15 @@ class DirArchive: public Ogre::FileSystemArchive std::string copy = filename; - - for (int i = 0; i < filename.size(); i++) + + for (unsigned int i = 0; i < filename.size(); i++) { if(copy.at(i) == '\\' ){ copy.replace(i, 1, "/"); } } - if(fsstrict == true) - { - std::cout << "fsstrict " << copy << "\n"; - return FileSystemArchive::exists(copy); - } - std::cout << "afterstrict\n"; if(copy.at(0) == '\\' || copy.at(0) == '/') { @@ -151,8 +145,13 @@ class DirArchive: public Ogre::FileSystemArchive //std::cout << "The copy" << copy << "\n"; //std::cout << "After:" << copy.size(); } + if(fsstrict == true) + { + //std::cout << "fsstrict " << copy << "\n"; + return FileSystemArchive::exists(copy); + + } - int last = copy.size() - 1; int i = last; @@ -195,19 +194,15 @@ class DirArchive: public Ogre::FileSystemArchive //std::cout << "Open\n"; std::string copy = filename; - - for (int i = 0; i < filename.size(); i++) + + for (unsigned int i = 0; i < filename.size(); i++) { if(copy.at(i) == '\\' ){ copy.replace(i, 1, "/"); } } - if(fsstrict == true){ - std::cout << "fsstrict " << copy << "\n"; - return FileSystemArchive::open(copy, readonly); - } - std::cout << "afterstrict\n"; + if(copy.at(0) == '\\' || copy.at(0) == '/') { @@ -217,7 +212,9 @@ class DirArchive: public Ogre::FileSystemArchive //std::cout << "After:" << copy.size(); } - + if(fsstrict == true){ + return FileSystemArchive::open(copy, readonly); + } //boost::filesystem::path p = copy; @@ -419,7 +416,7 @@ void addDir(const std::string& name, const bool& fs, const std::string& group) { fsstrict = fs; insertDirFactory(); - + ResourceGroupManager::getSingleton(). addResourceLocation(name, "Dir", group); }