X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ftexture.cc;h=b3c17feba46e50c1a81a97cc2aef210e54a9e7ba;hb=0fe114bdc09d50d3629476eaa895cc9d3feae324;hp=cbbd11dc455c7a0ca87ac8d579e128382293a8a8;hpb=017ce4cb4c27802eb620227fd822f5e4e03efa3b;p=laserbrain_demo diff --git a/src/texture.cc b/src/texture.cc index cbbd11d..b3c17fe 100644 --- a/src/texture.cc +++ b/src/texture.cc @@ -1,6 +1,7 @@ #include #include #include "texture.h" +#include "datamap.h" #include "image.h" #include "opengl.h" #include "imago2.h" @@ -201,7 +202,6 @@ void Texture::create_default(TextureType type) pixels += 4; } } - default_img->save("/tmp/foo.png"); } switch(type) { @@ -470,15 +470,24 @@ TextureSet::TextureSet() Texture *TextureSet::get_texture(const char *name, TextureType type) const { - std::map::const_iterator iter = data.find(name); + char *fname; + int nsize = datamap_path_size(name); + if(nsize) { + fname = (char*)alloca(nsize); + datamap_lookup(name, fname, nsize); + } else { + fname = (char*)name; + } + + std::map::const_iterator iter = data.find(fname); if(iter != data.end()) { return iter->second; } Texture *res = create(); - data[name] = res; + data[fname] = res; res->create_default(type); - resman_lookup(rman, name, res); + resman_lookup(rman, fname, res); return res; }