X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FScene.cc;h=afbfa440f9f915f949feda5e459b7c4fa1d80c2e;hb=751d631f20a2ba523c011b9059d6fc07d83077eb;hp=8b155e7dd96bf991df058a41806fe5d760214c99;hpb=76b3f4be992514a740ac03cdbdd57844142a0b4c;p=chaz%2Fyoink diff --git a/src/Scene.cc b/src/Scene.cc index 8b155e7..afbfa44 100644 --- a/src/Scene.cc +++ b/src/Scene.cc @@ -156,7 +156,7 @@ struct Scene::Impl : public Mf::Manager 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 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 } - 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"); }