projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added a non-interactive blobs exhibit
[laserbrain_demo]
/
src
/
texture.cc
diff --git
a/src/texture.cc
b/src/texture.cc
index
b3c17fe
..
dae0c7c
100644
(file)
--- a/
src/texture.cc
+++ b/
src/texture.cc
@@
-468,15
+468,17
@@
TextureSet::TextureSet()
{
}
{
}
-Texture *TextureSet::get_texture(const char *name, TextureType type) const
+Texture *TextureSet::get_texture(const char *name, TextureType type, const DataMap *dmap) const
{
char *fname;
{
char *fname;
- int nsize = datamap_path_size(name);
+ int nsize = dmap ? dmap->path_size(name) : 0;
if(nsize) {
fname = (char*)alloca(nsize);
if(nsize) {
fname = (char*)alloca(nsize);
- datamap_lookup(name, fname, nsize);
+ dmap->lookup(name, fname, nsize);
+ //debug_log("texture lookup: %s -> %s\n", name, fname);
} else {
fname = (char*)name;
} else {
fname = (char*)name;
+ //debug_log("texture lookup failed, using: %s\n", fname);
}
std::map<std::string, Texture*>::const_iterator iter = data.find(fname);
}
std::map<std::string, Texture*>::const_iterator iter = data.find(fname);
@@
-501,6
+503,7
@@
Texture *TextureSet::create_tex()
bool TextureSet::load_tex(Texture *tex, const char *fname)
{
Image *img = new Image;
bool TextureSet::load_tex(Texture *tex, const char *fname)
{
Image *img = new Image;
+ img->name = fname;
if(!img->load(fname)) {
delete img;
return false;
if(!img->load(fname)) {
delete img;
return false;
@@
-514,6
+517,7
@@
bool TextureSet::load_tex(Texture *tex, const char *fname)
bool TextureSet::done_tex(Texture *tex)
{
bool TextureSet::done_tex(Texture *tex)
{
+ //debug_log("TextureSet::done_tex [%s]\n", tex->img->name.c_str());
if(!tex->img) {
return false;
}
if(!tex->img) {
return false;
}