]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Texture.cc
bugfix: resource file searching was broken
[chaz/yoink] / src / Moof / Texture.cc
index 48e6e1b6193909766df411c85757ab6393201a41..3ca067af4ebe72dcc6552b92b3aa2c1aab09f07a 100644 (file)
@@ -121,12 +121,13 @@ public:
                mObject(0)
        {
                // make sure we have a video context
-               ASSERT(video &&
-                          "cannot load textures without a current video context");
+               Video* video = Video::current();
+               ASSERT(video && "should have a video context set");
 
                // we want to know when the GL context is recreated
-               mDispatchHandler = core.addHandler("video.newcontext",
-                               boost::bind(&Impl::contextRecreated, this));
+               Dispatch& dispatch = Dispatch::global();
+               mNewContextDispatch = dispatch.addTarget("video.newcontext",
+                                                       boost::bind(&Impl::contextRecreated, this));
        }
 
        ~Impl()
@@ -214,7 +215,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())
@@ -388,14 +391,14 @@ public:
        GLuint                          mObject;        ///< GL texture handle.
        static GLuint           gObject;        ///< Global GL texture handle.
 
-       Dispatch::Handler       mDispatchHandler;
+       Dispatch::Handle        mNewContextDispatch;
 };
 
 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)) {}
 
@@ -489,19 +492,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.024307 seconds and 4 git commands to generate.