Diff for /np2/common/bmpdata.c between versions 1.1.1.1 and 1.2

version 1.1.1.1, 2003/10/16 17:57:11 version 1.2, 2003/11/21 06:51:10
Line 121  bdgi_err: Line 121  bdgi_err:
         return(FAILURE);          return(FAILURE);
 }  }
   
   BYTE *bmpdata_lzx(int level, int dstsize, const BYTE *dat) {
   
           BYTE    *ret;
           BYTE    *ptr;
           BYTE    ctrl;
           BYTE    bit;
           UINT    mask;
           UINT    tmp;
           int             pos;
           int             leng;
   
           ret = NULL;
           if (dat == NULL) {
                   return(NULL);
           }
           ret = (BYTE *)_MALLOC(dstsize, "res");
           if (ret == NULL) {
                   goto lxz_err;
           }
           ptr = ret;
   
           ctrl = 0;
           bit = 0;
           mask = (1 << level) - 1;
           while(dstsize > 0) {
                   if (!bit) {
                           ctrl = *dat++;
                           bit = 0x80;
                   }
                   if (ctrl & bit) {
                           tmp = *dat++;
                           tmp <<= 8;
                           tmp |= *dat++;
                           pos = -1 - (tmp >> level);
                           leng = (tmp & mask) + 1;
                           leng = min(leng, dstsize);
                           dstsize -= leng;
                           while(leng--) {
                                   *ptr = *(ptr + pos);
                                   ptr++;
                           }
                   }
                   else {
                           *ptr++ = *dat++;
                           dstsize--;
                   }
                   bit >>= 1;
           }
   
   lxz_err:
           return(ret);
   }
   
   BYTE *bmpdata_solvedata(const BYTE *dat) {
   
           int             dstsize;
   
           if (dat == NULL) {
                   return(NULL);
           }
           dstsize = dat[0] + (dat[1] << 8) + (dat[2] << 16);
           return(bmpdata_lzx(dat[3], dstsize, dat + 4));
   }
   

Removed from v.1.1.1.1  
changed lines
  Added in v.1.2


RetroPC.NET-CVS <cvs@retropc.net>