-void Game::LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize) {
- textures.push_back(TextureInfo(fileName,textureid,mipmap,array,skinsize));
- textures.back().load();
-}
-
-void Game::LoadTextureData(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha)
-{
- GLuint type;
-
- LOGFUNC;
-
- LOG(std::string("Loading texture...") + fileName);
-
- // Fix filename so that is os appropreate
- char * fixedFN = ConvertFileName(fileName);
-
- unsigned char fileNamep[256];
- CopyCStringToPascal(fixedFN, fileNamep);
- //Load Image
- upload_image( fileNamep ,hasalpha);
-
-// std::string fname(fileName);
-// std::transform(fname.begin(), fname.end(), tolower);
-// TexIter it = textures.find(fname);
-
- //Is it valid?
- if(1==1)
- //if(textures.end() == it)
- {
- //Alpha channel?
- if ( texture.bpp == 24 )
- type = GL_RGB;
- else
- type = GL_RGBA;
-
- glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
-
- if(!*textureid)
- glGenTextures( 1, textureid );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
-
- glBindTexture( GL_TEXTURE_2D, *textureid);
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
- if(trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR );
- if(!trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );
- if(!mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
-
- gluBuild2DMipmaps( GL_TEXTURE_2D, type, texture.sizeX, texture.sizeY, type, GL_UNSIGNED_BYTE, texture.data );
- }
-}
-
-void Game::LoadTextureSaveData(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize, bool reload)
-{
- GLuint type;
- int i;
- int bytesPerPixel;
-
- LOGFUNC;
-
- LOG(std::string("Loading texture (S)...") + fileName);
-
- //Load Image
- unsigned char fileNamep[256];
- CopyCStringToPascal(ConvertFileName(fileName), fileNamep);
- //Load Image
- upload_image( fileNamep ,0);
- //LoadTGA( fileName );
-
-// std::string fname(fileName);
-// std::transform(fname.begin(), fname.end(), tolower);
-// TexIter it = textures.find(fname);
-
- //Is it valid?
- if(1==1)
- //if(textures.end() == it)
- {
- bytesPerPixel=texture.bpp/8;
-
- //Alpha channel?
- if ( texture.bpp == 24 )
- type = GL_RGB;
- else
- type = GL_RGBA;
-
- glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
-
- if(!*textureid)glGenTextures( 1, textureid );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
-
- glBindTexture( GL_TEXTURE_2D, *textureid);
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
- if(trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR );
- if(!trilinear)if(mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );
- if(!mipmap)glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
-
- int tempnum=0;
- if(!reload)
- for(i=0;i<(int)(texture.sizeY*texture.sizeX*bytesPerPixel);i++)
- if((i+1)%4||type==GL_RGB){
- array[tempnum]=texture.data[i];
- tempnum++;
- }
-
- *skinsize=texture.sizeX;
-
- gluBuild2DMipmaps( GL_TEXTURE_2D, type, texture.sizeX, texture.sizeY, GL_RGB, GL_UNSIGNED_BYTE, array );
-
-// textures.insert(std::make_pair(fname, *textureid));
- }
-// else
-// {
-// *textureid = it->second;
-// }