Difference for arch/ogl/ogl.c from version 1.13 to 1.14


version 1.13 version 1.14
Line 36
 
Line 36
   
 extern int gr_renderstats;  extern int gr_renderstats;
 extern int gr_badtexture;  extern int gr_badtexture;
 int ogl_alttexmerge=0;//merge textures by just printing the seperate textures?  int ogl_alttexmerge=1;//merge textures by just printing the seperate textures?
 int ogl_16bittextures=0;  int ogl_16bittextures=0;
   
 //int lastbound=-1;  /*int lastbound=-1;
   
 //#define OGL_BINDTEXTURE(a) if(gr_badtexture>0) glBindTexture(GL_TEXTURE_2D, 0);\  #define OGL_BINDTEXTURE(a) if(gr_badtexture>0) glBindTexture(GL_TEXTURE_2D, 0);\
 // else if(a!=lastbound) {glBindTexture(GL_TEXTURE_2D, a);lastbound=a;}   else if(a!=lastbound) {glBindTexture(GL_TEXTURE_2D, a);lastbound=a;}*/
 #define OGL_BINDTEXTURE(a) if(gr_badtexture>0) glBindTexture(GL_TEXTURE_2D, 0);\  #define OGL_BINDTEXTURE(a) if(gr_badtexture>0) glBindTexture(GL_TEXTURE_2D, 0);\
  else glBindTexture(GL_TEXTURE_2D, a);   else glBindTexture(GL_TEXTURE_2D, a);
   
Line 595
 
Line 595
  v2=(bm->bm_h+bm->bm_y)/(float)bm->gltexture->th;   v2=(bm->bm_h+bm->bm_y)/(float)bm->gltexture->th;
  }   }
   
 // u1=bm->bm_x/(float)bm->gltexture->tw;  
 // u2=(bm->bm_w+bm->bm_x)/(float)bm->gltexture->tw;  
 // v1=bm->bm_y/(float)bm->gltexture->th;  
 // v2=(bm->bm_h+bm->bm_y)/(float)bm->gltexture->th;  
    
   
  glBegin(GL_QUADS);   glBegin(GL_QUADS);
  if (c<0)   if (c<0)
  glColor3f(1.0,1.0,1.0);   glColor3f(1.0,1.0,1.0);
Line 897
 
Line 891
 }  }
 unsigned char decodebuf[512*512];  unsigned char decodebuf[512*512];
 void ogl_loadbmtexture_m(grs_bitmap *bm,int domipmap){  void ogl_loadbmtexture_m(grs_bitmap *bm,int domipmap){
  unsigned char *buf=bm->bm_data;   unsigned char *buf;
    while (bm->bm_parent)
    bm=bm->bm_parent;
    buf=bm->bm_data;
  if (bm->gltexture==NULL){   if (bm->gltexture==NULL){
  ogl_init_texture(bm->gltexture=ogl_get_free_texture());   ogl_init_texture(bm->gltexture=ogl_get_free_texture());
    bm->gltexture->w=bm->bm_w;
    bm->gltexture->h=bm->bm_h;
  }   }
  else if (bm->gltexture->handle>0)   else {
    if (bm->gltexture->handle>0)
  return;   return;
    if (bm->gltexture->w==0){
  bm->gltexture->w=bm->bm_w;   bm->gltexture->w=bm->bm_w;
  bm->gltexture->h=bm->bm_h;   bm->gltexture->h=bm->bm_h;
    }
    }
  if (bm->bm_flags & BM_FLAG_RLE){   if (bm->bm_flags & BM_FLAG_RLE){
  unsigned char * dbits;   unsigned char * dbits;
  unsigned char * sbits;   unsigned char * sbits;
Line 925
 
Line 928
  ogl_loadbmtexture_m(bm,1);   ogl_loadbmtexture_m(bm,1);
 }  }
 void ogl_freetexture(ogl_texture *gltexture){  void ogl_freetexture(ogl_texture *gltexture){
  if (gltexture->handle>=0){   if (gltexture->handle>0){
  r_texcount--;   r_texcount--;
  mprintf((0,"ogl_freetexture(%p):%i (last rend %is) (%i left)\n",gltexture,gltexture->handle,(GameTime-gltexture->lastrend)/f1_0,r_texcount));   mprintf((0,"ogl_freetexture(%p):%i (last rend %is) (%i left)\n",gltexture,gltexture->handle,(GameTime-gltexture->lastrend)/f1_0,r_texcount));
  glDeleteTextures( 1, &gltexture->handle );   glDeleteTextures( 1, &gltexture->handle );

Legend:
line(s) removed in v.1.13 
line(s) changed
 line(s) added in v.1.14