diff options
| author | Vincent Hamm | 2002-03-09 09:15:34 +0000 | 
|---|---|---|
| committer | Vincent Hamm | 2002-03-09 09:15:34 +0000 | 
| commit | 0724869c9467dbd33e7348d3b88693986452af94 (patch) | |
| tree | 13c4d11def2fae5957cec25414feca0bd7251400 | |
| parent | 7fb4cbfb673128839fc5344ca9810371019a6fe3 (diff) | |
| download | scummvm-rg350-0724869c9467dbd33e7348d3b88693986452af94.tar.gz scummvm-rg350-0724869c9467dbd33e7348d3b88693986452af94.tar.bz2 scummvm-rg350-0724869c9467dbd33e7348d3b88693986452af94.zip  | |
Fixed a few graphic glitchs in zak256
svn-id: r3704
| -rw-r--r-- | gfx.cpp | 45 | 
1 files changed, 31 insertions, 14 deletions
@@ -1217,10 +1217,41 @@ void Gdi::unkDecode6() {  	} while (--_currentX);  } +/* Ender - Zak256/Indy256 decoders */ +#define READ_256BIT \ + if ((mask <<= 1) == 256) {buffer = *src++;  mask = 1;}     \ + bits = ((buffer & mask) != 0); + +#define NEXT_ROW                                               \ +                dst += 320;                                     \ +                if (--h == 0) {                                 \ +                        if (!--_currentX)                       \ +                                return;                         \ +                        dst -= _vertStripNextInc;               \ +                        h = _numLinesToProcess;                 \ +                } +  void Gdi::unkDecode7() {  	byte *src = _smap_ptr;  	byte *dst = _bgbak_ptr;  	int height = _numLinesToProcess; +	uint h = _numLinesToProcess; +	 +	 +	if(_vm->_features & GF_OLD256) +	{ +       		_currentX = 8; +       		for(;;) { + +        		byte color = *src++; +         +    +             			*dst = color; +				NEXT_ROW +		} +       		return; +	} +	  	do {  		/* Endian safe */  #if defined(SCUMM_NEED_ALIGNMENT) @@ -1234,20 +1265,6 @@ void Gdi::unkDecode7() {  	} while (--height);  } -/* Ender - Zak256/Indy256 decoders */ -#define READ_256BIT \ - if ((mask <<= 1) == 256) {buffer = *src++;  mask = 1;}     \ - bits = ((buffer & mask) != 0); - -#define NEXT_ROW                                               \ -                dst += 320;                                     \ -                if (--h == 0) {                                 \ -                        if (!--_currentX)                       \ -                                return;                         \ -                        dst -= _vertStripNextInc;               \ -                        h = _numLinesToProcess;                 \ -                } -  void Gdi::unkDecode8() {         byte *src = _smap_ptr;         byte *dst = _bgbak_ptr;   | 
