]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Texture.cc
bugfix: win32 packaging script temp directories
[chaz/yoink] / src / Moof / Texture.cc
index 7d82e2d093416cf5190475a803de81873405d662..7f9f83c335b98eb7f8a39d4e02023ef0b6f68708 100644 (file)
@@ -89,20 +89,18 @@ class Texture::Impl : public Manager<Impl>
        }
 
 
-       static void bindScriptConstants(Mf::Script& script)
+       static void bindScriptConstants(Script& script)
        {
-               script.push(GL_CLAMP); script.set("CLAMP");
-               script.push(GL_REPEAT); script.set("REPEAT");
-               script.push(GL_LINEAR); script.set("LINEAR");
-               script.push(GL_NEAREST); script.set("NEAREST");
-               script.push(GL_LINEAR_MIPMAP_LINEAR);
-               script.set("LINEAR_MIPMAP_LINEAR");
-               script.push(GL_LINEAR_MIPMAP_NEAREST);
-               script.set("LINEAR_MIPMAP_NEAREST");
-               script.push(GL_NEAREST_MIPMAP_LINEAR);
-               script.set("NEAREST_MIPMAP_LINEAR");
-               script.push(GL_NEAREST_MIPMAP_NEAREST);
-               script.set("NEAREST_MIPMAP_NEAREST");
+               Script::Slot g = script.globals();
+
+               g.setField("CLAMP",   GL_CLAMP);
+               g.setField("REPEAT",  GL_REPEAT);
+               g.setField("LINEAR",  GL_LINEAR);
+               g.setField("NEAREST", GL_NEAREST);
+               g.setField("LINEAR_MIPMAP_LINEAR",   GL_LINEAR_MIPMAP_LINEAR);
+               g.setField("LINEAR_MIPMAP_NEAREST",  GL_LINEAR_MIPMAP_NEAREST);
+               g.setField("NEAREST_MIPMAP_LINEAR",  GL_NEAREST_MIPMAP_LINEAR);
+               g.setField("NEAREST_MIPMAP_NEAREST", GL_NEAREST_MIPMAP_NEAREST);
        }
 
 public:
@@ -215,7 +213,9 @@ public:
 
        void init(const std::string& name)
        {
-               std::string path = Texture::getPath(name);
+               std::string path(name);
+               
+               Texture::getPath(path);
 
                mImage = Image::alloc(path);
                if (!mImage->isValid())
@@ -226,42 +226,29 @@ public:
 
                mImage->flip();
 
-               Mf::Script script;
+               Script script;
 
                importLogFunctions(script);
                bindScriptConstants(script);
 
-               if (script.doString(mImage->getComment()) != Mf::Script::SUCCESS)
+               if (script.doString(mImage->getComment()) != Script::SUCCESS)
                {
                        std::string str;
                        script[-1].get(str);
-                       Mf::logWarning(str);
+                       logWarning(str);
                }
                else
                {
-                       Mf::logInfo << "loading tiles from texture " << path
-                                               << std::endl;
-
-                       Mf::Script::Slot globals = script.getGlobalTable();
-                       Mf::Script::Slot top = script[-1];
-
-                       globals.pushField("tiles_s");
-                       top.get(mTilesS);
-
-                       globals.pushField("tiles_t");
-                       top.get(mTilesT);
-
-                       globals.pushField("min_filter");
-                       top.get(mMinFilter);
-
-                       globals.pushField("mag_filter");
-                       top.get(mMagFilter);
-
-                       globals.pushField("wrap_s");
-                       top.get(mWrapS);
-
-                       globals.pushField("wrap_t");
-                       top.get(mWrapT);
+                       logInfo << "loading tiles from texture " << path
+                                       << std::endl;
+
+                       Script::Slot globals = script.globals();
+                       globals.get(mTilesS, "tiles_s");
+                       globals.get(mTilesT, "tiles_t");
+                       globals.get(mMinFilter, "min_filter");
+                       globals.get(mMagFilter, "mag_filter");
+                       globals.get(mWrapS, "wrap_s");
+                       globals.get(mWrapT, "wrap_t");
                }
        }
 
@@ -395,8 +382,8 @@ public:
 GLuint Texture::Impl::gObject = 0;
 
 
-Texture::Texture(const std::string& name) :
-       Image(Texture::getPath(name)),
+Texture::Texture(const std::string& name) : // TODO hmm..
+       Image(name),
        // pass through
        mImpl(Texture::Impl::getInstance(name)) {}
 
@@ -490,19 +477,9 @@ bool Texture::getTileCoords(TileIndex index, Scalar coords[8],
 }
 
 
-std::string Texture::getPath(const std::string& name)
+bool Texture::getPath(std::string& name)
 {
-       if (boost::find_last(name, ".png"))
-       {
-               return Resource::getPath(name);
-       }
-       else
-       {
-               std::string path("textures/");
-               path += name;
-               path += ".png";
-               return Resource::getPath(path);
-       }
+       return Resource::getPath(name, "textures/", "png");
 }
 
 
This page took 0.025008 seconds and 4 git commands to generate.