diff options
| author | Martin Kiewitz | 2010-06-20 13:15:45 +0000 | 
|---|---|---|
| committer | Martin Kiewitz | 2010-06-20 13:15:45 +0000 | 
| commit | 871c9bdddeaee6756f5c8d943c2ff8ed337abd4d (patch) | |
| tree | 94993cdfa8b855dc874d4d6459e5bc9c1b770fe1 | |
| parent | daf1429ca22e887d49e761304e60b47f46e97bbf (diff) | |
| download | scummvm-rg350-871c9bdddeaee6756f5c8d943c2ff8ed337abd4d.tar.gz scummvm-rg350-871c9bdddeaee6756f5c8d943c2ff8ed337abd4d.tar.bz2 scummvm-rg350-871c9bdddeaee6756f5c8d943c2ff8ed337abd4d.zip  | |
SCI: removing unneeded parameters inside SciPalette, cleanup of SciPalette
svn-id: r50076
| -rw-r--r-- | engines/sci/graphics/cursor.cpp | 2 | ||||
| -rw-r--r-- | engines/sci/graphics/palette.cpp | 62 | ||||
| -rw-r--r-- | engines/sci/graphics/palette.h | 4 | 
3 files changed, 34 insertions, 34 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp index 369549cf7b..db42dac3dd 100644 --- a/engines/sci/graphics/cursor.cpp +++ b/engines/sci/graphics/cursor.cpp @@ -120,7 +120,7 @@ void GfxCursor::kernelSetShape(GuiResourceId resourceId) {  	colorMapping[0] = 0; // Black is hardcoded  	colorMapping[1] = _screen->getColorWhite(); // White is also hardcoded  	colorMapping[2] = SCI_CURSOR_SCI0_TRANSPARENCYCOLOR; -	colorMapping[3] = _palette->matchColor(&_palette->_sysPalette, 170, 170, 170); // Grey +	colorMapping[3] = _palette->matchColor(170, 170, 170); // Grey  	// Seek to actual data  	resourceData += 4; diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index fbf3433c29..7fa76586ad 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -207,12 +207,12 @@ void GfxPalette::setEGA() {  	setOnScreen();  } -void GfxPalette::set(Palette *sciPal, bool force, bool forceRealMerge) { +void GfxPalette::set(Palette *newPalette, bool force, bool forceRealMerge) {  	uint32 systime = _sysPalette.timestamp; -	if (force || sciPal->timestamp != systime) { -		_sysPaletteChanged |= merge(sciPal, &_sysPalette, force, forceRealMerge); -		sciPal->timestamp = _sysPalette.timestamp; +	if (force || newPalette->timestamp != systime) { +		_sysPaletteChanged |= merge(newPalette, force, forceRealMerge); +		newPalette->timestamp = _sysPalette.timestamp;  		if (_sysPaletteChanged && _screen->_picNotValid == 0) { // && systime != _sysPalette.timestamp) {  			// Removed timestamp checking, because this shouldnt be needed anymore. I'm leaving it commented just in  			//  case this causes regressions @@ -222,7 +222,7 @@ void GfxPalette::set(Palette *sciPal, bool force, bool forceRealMerge) {  	}  } -bool GfxPalette::merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealMerge) { +bool GfxPalette::merge(Palette *pFrom, bool force, bool forceRealMerge) {  	uint16 res;  	int i,j;  	bool paletteChanged = false; @@ -234,13 +234,13 @@ bool GfxPalette::merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealM  		// SCI1.1+ doesnt do real merging anymore, but simply copying over the used colors from other palettes  		for (i = 1; i < 255; i++) {  			if (pFrom->colors[i].used) { -				if ((pFrom->colors[i].r != pTo->colors[i].r) || (pFrom->colors[i].g != pTo->colors[i].g) || (pFrom->colors[i].b != pTo->colors[i].b)) { -					pTo->colors[i].r = pFrom->colors[i].r; -					pTo->colors[i].g = pFrom->colors[i].g; -					pTo->colors[i].b = pFrom->colors[i].b; +				if ((pFrom->colors[i].r != _sysPalette.colors[i].r) || (pFrom->colors[i].g != _sysPalette.colors[i].g) || (pFrom->colors[i].b != _sysPalette.colors[i].b)) { +					_sysPalette.colors[i].r = pFrom->colors[i].r; +					_sysPalette.colors[i].g = pFrom->colors[i].g; +					_sysPalette.colors[i].b = pFrom->colors[i].b;  					paletteChanged = true;  				} -				pTo->colors[i].used = pFrom->colors[i].used; +				_sysPalette.colors[i].used = pFrom->colors[i].used;  				pFrom->mapping[i] = i;  			}  		} @@ -250,12 +250,12 @@ bool GfxPalette::merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealM  			if (!pFrom->colors[i].used)// color is not used - so skip it  				continue;  			// forced palette merging or dest color is not used yet -			if (force || (!pTo->colors[i].used)) { -				pTo->colors[i].used = pFrom->colors[i].used; -				if ((pFrom->colors[i].r != pTo->colors[i].r) || (pFrom->colors[i].g != pTo->colors[i].g) || (pFrom->colors[i].b != pTo->colors[i].b)) { -					pTo->colors[i].r = pFrom->colors[i].r; -					pTo->colors[i].g = pFrom->colors[i].g; -					pTo->colors[i].b = pFrom->colors[i].b; +			if (force || (!_sysPalette.colors[i].used)) { +				_sysPalette.colors[i].used = pFrom->colors[i].used; +				if ((pFrom->colors[i].r != _sysPalette.colors[i].r) || (pFrom->colors[i].g != _sysPalette.colors[i].g) || (pFrom->colors[i].b != _sysPalette.colors[i].b)) { +					_sysPalette.colors[i].r = pFrom->colors[i].r; +					_sysPalette.colors[i].g = pFrom->colors[i].g; +					_sysPalette.colors[i].b = pFrom->colors[i].b;  					paletteChanged = true;  				}  				pFrom->mapping[i] = i; @@ -264,23 +264,23 @@ bool GfxPalette::merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealM  			// is the same color already at the same position? -> match it directly w/o lookup  			//  this fixes games like lsl1demo/sq5 where the same rgb color exists multiple times and where we would  			//  otherwise match the wrong one (which would result into the pixels affected (or not) by palette changes) -			if ((pTo->colors[i].r == pFrom->colors[i].r) && (pTo->colors[i].g == pFrom->colors[i].g) && (pTo->colors[i].b == pFrom->colors[i].b)) { +			if ((_sysPalette.colors[i].r == pFrom->colors[i].r) && (_sysPalette.colors[i].g == pFrom->colors[i].g) && (_sysPalette.colors[i].b == pFrom->colors[i].b)) {  				pFrom->mapping[i] = i;  				continue;  			}  			// check if exact color could be matched -			res = matchColor(pTo, pFrom->colors[i].r, pFrom->colors[i].g, pFrom->colors[i].b); +			res = matchColor(pFrom->colors[i].r, pFrom->colors[i].g, pFrom->colors[i].b);  			if (res & 0x8000) { // exact match was found  				pFrom->mapping[i] = res & 0xFF;  				continue;  			}  			// no exact match - see if there is an unused color  			for (j = 1; j < 256; j++) -				if (!pTo->colors[j].used) { -					pTo->colors[j].used = pFrom->colors[i].used; -					pTo->colors[j].r = pFrom->colors[i].r; -					pTo->colors[j].g = pFrom->colors[i].g; -					pTo->colors[j].b = pFrom->colors[i].b; +				if (!_sysPalette.colors[j].used) { +					_sysPalette.colors[j].used = pFrom->colors[i].used; +					_sysPalette.colors[j].r = pFrom->colors[i].r; +					_sysPalette.colors[j].g = pFrom->colors[i].g; +					_sysPalette.colors[j].b = pFrom->colors[i].b;  					pFrom->mapping[i] = j;  					paletteChanged = true;  					break; @@ -288,25 +288,25 @@ bool GfxPalette::merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealM  			// if still no luck - set an approximate color  			if (j == 256) {  				pFrom->mapping[i] = res & 0xFF; -				pTo->colors[res & 0xFF].used |= 0x10; +				_sysPalette.colors[res & 0xFF].used |= 0x10;  			}  		}  	} -	pTo->timestamp = g_system->getMillis() * 60 / 1000; +	_sysPalette.timestamp = g_system->getMillis() * 60 / 1000;  	return paletteChanged;  } -uint16 GfxPalette::matchColor(Palette *pPal, byte r, byte g, byte b) { +uint16 GfxPalette::matchColor(byte r, byte g, byte b) {  	byte found = 0xFF;  	int diff = 0x2FFFF, cdiff;  	int16 dr,dg,db;  	for (int i = 1; i < 255; i++) { -		if ((!pPal->colors[i].used)) +		if ((!_sysPalette.colors[i].used))  			continue; -		dr = pPal->colors[i].r - r; -		dg = pPal->colors[i].g - g; -		db = pPal->colors[i].b - b; +		dr = _sysPalette.colors[i].r - r; +		dg = _sysPalette.colors[i].g - g; +		db = _sysPalette.colors[i].b - b;  //		minimum squares match  		cdiff = (dr*dr) + (dg*dg) + (db*db);  //		minimum sum match (Sierra's) @@ -372,7 +372,7 @@ void GfxPalette::kernelSetIntensity(uint16 fromColor, uint16 toColor, uint16 int  }  int16 GfxPalette::kernelFindColor(uint16 r, uint16 g, uint16 b) { -	return matchColor(&_sysPalette, r, g, b) & 0xFF; +	return matchColor(r, g, b) & 0xFF;  }  // Returns true, if palette got changed diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index 265f36ad54..b7767537a1 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -45,8 +45,8 @@ public:  	void modifyAmigaPalette(byte *data);  	void setEGA();  	void set(Palette *sciPal, bool force, bool forceRealMerge = false); -	bool merge(Palette *pFrom, Palette *pTo, bool force, bool forceRealMerge); -	uint16 matchColor(Palette *pPal, byte r, byte g, byte b); +	bool merge(Palette *pFrom, bool force, bool forceRealMerge); +	uint16 matchColor(byte r, byte g, byte b);  	void getSys(Palette *pal);  	void setOnScreen();  | 
