]> Dogcows Code - chaz/yoink/blobdiff - src/Scene.cc
bugfix: resource file searching was broken
[chaz/yoink] / src / Scene.cc
index 8b155e7dd96bf991df058a41806fe5d760214c99..afbfa440f9f915f949feda5e459b7c4fa1d80c2e 100644 (file)
@@ -156,7 +156,7 @@ struct Scene::Impl : public Mf::Manager<Impl>
        void init(const std::string& name) {}
 
 
-       void importSceneBindings(Mf::Script& script)
+       void importSceneBindings(Mf::Settings& settings, Mf::Script& script)
        {
                script.importFunction("SetBounds",
                                boost::bind(&Impl::setBounds, this, _1));
@@ -176,7 +176,7 @@ struct Scene::Impl : public Mf::Manager<Impl>
                                boost::bind(&Impl::drawTile, this, _1));
 
                int detail = 3;
-               Mf::settings.get("detail", detail);
+               settings.get("detail", detail);
                script.push(detail); script.set("detail");
 
                script.push(1); script.set("LOW");
@@ -193,17 +193,17 @@ struct Scene::Impl : public Mf::Manager<Impl>
        }
 
 
-       Mf::Script::Result load(Mf::Script& script)
+       Mf::Script::Result load(Mf::Settings& settings, Mf::Script& script)
        {
-               std::string filePath = Scene::getPath(getName());
-               if (filePath == "")
+               std::string path(getName());
+               if (!Scene::getPath(path))
                {
                        script.push("the scene file could not be found");
                        return Mf::Script::FILE_ERROR;
                }
 
-               importSceneBindings(script);
-               return script.doFile(filePath);
+               importSceneBindings(settings, script);
+               return script.doFile(path);
        }
 
 
@@ -482,10 +482,10 @@ Scene::Scene(const std::string& name) :
        mImpl(Scene::Impl::getInstance(name)) {}
 
 
-Mf::Script::Result Scene::load(Mf::Script& script)
+Mf::Script::Result Scene::load(Mf::Settings& settings, Mf::Script& script)
 {
        // pass through
-       return mImpl->load(script);
+       return mImpl->load(settings, script);
 }
 
 
@@ -609,8 +609,8 @@ bool Scene::checkForCollision(Character& character)
 }
 
 
-std::string Scene::getPath(const std::string& name)
+bool Scene::getPath(std::string& name)
 {
-       return Mf::Resource::getPath("scenes/" + name + ".lua");
+       return Mf::Resource::getPath(name, "scenes/", "lua");
 }
 
This page took 0.0181 seconds and 4 git commands to generate.