diff options
| author | Gregory Montoir | 2006-01-27 19:35:55 +0000 | 
|---|---|---|
| committer | Gregory Montoir | 2006-01-27 19:35:55 +0000 | 
| commit | 45727596b9ab99eaf53485755217dc63a668e3f8 (patch) | |
| tree | de1a4d3725e5e7956de668ea65a527fd08eb0756 /queen/display.cpp | |
| parent | 04d7bb1d5545e4b2cf40b780bc6a08caf796dd07 (diff) | |
| download | scummvm-rg350-45727596b9ab99eaf53485755217dc63a668e3f8.tar.gz scummvm-rg350-45727596b9ab99eaf53485755217dc63a668e3f8.tar.bz2 scummvm-rg350-45727596b9ab99eaf53485755217dc63a668e3f8.zip | |
Minor cleanup.
svn-id: r20242
Diffstat (limited to 'queen/display.cpp')
| -rw-r--r-- | queen/display.cpp | 60 | 
1 files changed, 29 insertions, 31 deletions
| diff --git a/queen/display.cpp b/queen/display.cpp index ebf06c4a36..50bbb7d855 100644 --- a/queen/display.cpp +++ b/queen/display.cpp @@ -151,20 +151,17 @@ void Display::dynalumUpdate(int16 x, int16 y) {  	}  } -void Display::palConvert(uint8 *outPal, const uint8 *inPal, int start, int end) { -	for (int i = start; i <= end; i++) { -		outPal[4 * i + 0] = inPal[3 * i + 0]; -		outPal[4 * i + 1] = inPal[3 * i + 1]; -		outPal[4 * i + 2] = inPal[3 * i + 2]; -		outPal[4 * i + 3] = 0; -	} -} -  void Display::palSet(const uint8 *pal, int start, int end, bool updateScreen) {  	debug(9, "Display::palSet(%d, %d)", start, end); +	const int numColors = end - start + 1;  	uint8 tempPal[256 * 4]; -	palConvert(tempPal, pal, start, end); -	_system->setPalette(tempPal + start * 4, start, end - start + 1); +	for (int i = 0; i < numColors; i++) { +		tempPal[4 * i + 0] = *pal++; +		tempPal[4 * i + 1] = *pal++; +		tempPal[4 * i + 2] = *pal++; +		tempPal[4 * i + 3] = 0; +	} +	_system->setPalette(tempPal, start, numColors);  	if (updateScreen) {  		_system->updateScreen();  		_vm->input()->delay(20); @@ -933,22 +930,26 @@ void Display::blankScreen() {  }  void Display::blankScreenEffect1() { -	static const int inc[] = { -1, 1 };  	uint8 buf[32 * 32];  	while (_vm->input()->idleTime() >= Input::DELAY_SCREEN_BLANKER) {  		for (int i = 0; i < 2; ++i) { -			uint16 x = _rnd.getRandomNumber(SCREEN_W - 32 - 2) + 1; -			uint16 y = _rnd.getRandomNumber(SCREEN_H - 32 - 2) + 1; -			uint8 *p = _screenBuf + SCREEN_W * y + x; -			uint8 *q = buf; -			uint16 h = 32; -			while (h--) { -				memcpy(q, p, 32); +			int x = _rnd.getRandomNumber(SCREEN_W - 32 - 2) + 1; +			int y = _rnd.getRandomNumber(SCREEN_H - 32 - 2) + 1; +			const uint8 *p = _screenBuf + SCREEN_W * y + x; +			for (int j = 0; j < 32; ++j) { +				memcpy(buf + j * 32, p, 32);  				p += SCREEN_W; -				q += 32;  			} -			x += inc[_rnd.getRandomNumber(1)]; -			y += inc[_rnd.getRandomNumber(1)]; +			if (_rnd.getRandomNumber(1)) { +				++x; +			} else { +				--x; +			} +			if (_rnd.getRandomNumber(1)) { +				++y; +			} else { +				--y; +			}  			_system->copyRectToScreen(buf, 32, x, y, 32, 32);  			_system->updateScreen();  			_vm->input()->delay(10); @@ -958,8 +959,8 @@ void Display::blankScreenEffect1() {  void Display::blankScreenEffect2() {  	while (_vm->input()->idleTime() >= Input::DELAY_SCREEN_BLANKER) { -		uint16 x = _rnd.getRandomNumber(SCREEN_W - 2); -		uint16 y = _rnd.getRandomNumber(SCREEN_H - 2); +		int x = _rnd.getRandomNumber(SCREEN_W - 2); +		int y = _rnd.getRandomNumber(SCREEN_H - 2);  		uint8 *p = _screenBuf + y * SCREEN_W + x;  		uint8 c = 0;  		switch (_rnd.getRandomNumber(3)) { @@ -991,14 +992,11 @@ void Display::blankScreenEffect3() {  			memset(_screenBuf, 0, SCREEN_W * SCREEN_H);  			_system->copyRectToScreen(_screenBuf, SCREEN_W, 0, 0, SCREEN_W, SCREEN_H);  		} else { -			uint16 x = _rnd.getRandomNumber(SCREEN_W - 2); -			uint16 y = _rnd.getRandomNumber(SCREEN_H - 2); +			int x = _rnd.getRandomNumber(SCREEN_W - 2); +			int y = _rnd.getRandomNumber(SCREEN_H - 2);  			uint8 *p = _screenBuf + SCREEN_W * y + x; -			uint8 p0 = *p; -			uint8 p1 = *(p + 1); -			uint8 p2 = *(p + SCREEN_W); -			uint8 p3 = *(p + SCREEN_W + 1); -			uint8 c = (p0 + p1 + p2 + p3) / 4; +			int sum = *p + *(p + 1) + *(p + SCREEN_W) + *(p + SCREEN_W + 1); +			uint8 c = (uint8)(sum / 4);  			memset(p, c, 2);  			memset(p + SCREEN_W, c, 2);  			++i; | 
