bool trpgwImageHelper::AddLocal(char *name,trpgTexture::ImageType type,int sizeX,int sizeY, bool isMipmap,char *data,int &texID,bool deferWrite) { // Set up the basic texture trpgTexture tex; if(texID!=-1) tex.SetHandle(texID); tex.SetName(name); tex.SetImageMode(trpgTexture::Local); tex.SetImageType(type); int depth; tex.GetImageDepth(depth); tex.SetNumLayer(depth); tex.SetImageSize(trpg2iPoint(sizeX,sizeY)); tex.SetIsMipmap(isMipmap); // Write the image out to disk trpgwAppAddress addr; if(!deferWrite) if (!WriteToArchive(tex,data,addr,true)) return false; // Now add the specifics to the texture table tex.SetImageAddr(addr); texID = texTable->AddTexture(tex); return true; }
bool trpgwImageHelper::AddTileLocal(char *name, trpgTexture::ImageType type, int sizeX, int sizeY, bool isMipmap, char *data, int &texID, trpgwAppAddress &addr) { // Set up the texture template and add to the table trpgTexture tex; if (texID != -1) tex.SetHandle(texID); tex.SetName(name); tex.SetImageMode(trpgTexture::Template); tex.SetImageType(type); int depth; tex.GetImageDepth(depth); tex.SetNumLayer(depth); tex.SetImageSize(trpg2iPoint(sizeX, sizeY)); tex.SetIsMipmap(isMipmap); texID = texTable->FindAddTexture(tex); // Write the specific data out to an archive (return the address) if (!WriteToArchive(tex, data, addr, false)) return false; return true; }