-
- skinsize=texture.sizeX;
- GLuint type=GL_RGBA;
- if(texture.bpp==24)
- type=GL_RGB;
-
- glPixelStorei(GL_UNPACK_ALIGNMENT,1);
-
- glDeleteTextures(1,&id);
- glGenTextures(1,&id);
- glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);
-
- glBindTexture(GL_TEXTURE_2D, id);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
- if(hasMipmap){
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,(trilinear?GL_LINEAR_MIPMAP_LINEAR:GL_LINEAR_MIPMAP_NEAREST));
- glTexParameteri(GL_TEXTURE_2D,GL_GENERATE_MIPMAP,GL_TRUE);
- }else{
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
- }
-
- if(isSkin){
- if(skindata){
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, skinsize, skinsize, 0, GL_RGB, GL_UNSIGNED_BYTE, skindata);
- }else{
- free(data);
- const int nb=texture.sizeY*texture.sizeX*(texture.bpp/8);
- data=(GLubyte*)malloc(nb*sizeof(GLubyte));
- datalen=0;
- for(int i=0;i<nb;i++)
- if((i+1)%4||type==GL_RGB)
- data[datalen++]=texture.data[i];
- glTexImage2D(GL_TEXTURE_2D, 0, type, texture.sizeX, texture.sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
- }
- }else{
+
+ if (isSkin) {
+ free(data);
+ const int nb = texture.sizeY * texture.sizeX * (texture.bpp / 8);
+ data = (GLubyte*)malloc(nb * sizeof(GLubyte));
+ datalen = 0;
+ for (int i = 0; i < nb; i++)
+ if ((i + 1) % 4 || type == GL_RGB)
+ data[datalen++] = texture.data[i];
+ glTexImage2D(GL_TEXTURE_2D, 0, type, texture.sizeX, texture.sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
+ } else {