diff options
| author | Max Horn | 2003-04-30 13:23:31 +0000 | 
|---|---|---|
| committer | Max Horn | 2003-04-30 13:23:31 +0000 | 
| commit | 2b74abd2c900d1a8bfd6c15829397503d9439849 (patch) | |
| tree | be0e1c3845c90a7e66fffc6b763b964066621ebb /scumm/gfx.cpp | |
| parent | 30e3a8161857260e75c84e4a54cf0849afa10dfd (diff) | |
| download | scummvm-rg350-2b74abd2c900d1a8bfd6c15829397503d9439849.tar.gz scummvm-rg350-2b74abd2c900d1a8bfd6c15829397503d9439849.tar.bz2 scummvm-rg350-2b74abd2c900d1a8bfd6c15829397503d9439849.zip  | |
PalmOS changes
svn-id: r7224
Diffstat (limited to 'scumm/gfx.cpp')
| -rw-r--r-- | scumm/gfx.cpp | 44 | 
1 files changed, 35 insertions, 9 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index 2a5e0e71d0..cea2e593ff 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -82,7 +82,9 @@ struct TransitionEffect {  	int8 deltaTable[16];	// four times l / t / r / b  	byte stripTable[16];	// ditto  }; - +#ifdef __PALM_OS__ +static const TransitionEffect *transitionEffects; +#else  static const TransitionEffect transitionEffects[4] = {  	// Iris effect (looks like an opening/closing camera iris)  	{ @@ -153,7 +155,7 @@ static const TransitionEffect transitionEffects[4] = {  		}  	}  }; - +#endif  /*   * Mouse cursor cycle colors (for the default crosshair). @@ -162,7 +164,7 @@ static const byte default_cursor_colors[4] = {  	15, 15, 7, 8  }; -static const uint16 default_cursor_images[4][16] = { +static const uint16 default_cursor_images[5][16] = {  	/* cross-hair */  	{ 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0000, 0x7e3f,  	  0x0000, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0080, 0x0000 }, @@ -175,10 +177,18 @@ static const uint16 default_cursor_images[4][16] = {  	/* hand */  	{ 0x1e00, 0x1200, 0x1200, 0x1200, 0x1200, 0x13ff, 0x1249, 0x1249,  	  0xf249, 0x9001, 0x9001, 0x9001, 0x8001, 0x8001, 0x8001, 0xffff }, +	/* cross-hair zak256 - chrilith palmos */ +/* +	{ 0x0080, 0x0080, 0x02a0, 0x01c0, 0x0080, 0x1004, 0x0808, 0x7c1f, +	  0x0808, 0x1004, 0x0080, 0x01c0, 0x02a0, 0x0080, 0x0080, 0x0000 }, +*/ +	{ 0x0080, 0x02a0, 0x01c0, 0x0080, 0x0000, 0x2002, 0x1004, 0x780f, +	  0x1004, 0x2002, 0x0000, 0x0080, 0x01c0, 0x02a0, 0x0080, 0x0000 },  }; -static const byte default_cursor_hotspots[8] = { -	8, 7,   8, 7,   1, 1,   5, 0 +static const byte default_cursor_hotspots[10] = { +	8, 7,   8, 7,   1, 1,   5, 0, +	8, 7, //zak256  }; @@ -859,7 +869,7 @@ void Gdi::drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, const int h,  	else {  		numzbuf = _numZBuffer;  		assert(numzbuf <= (int)ARRAYSIZE(zplane_list)); -	 +		  		if (_vm->_features & GF_OLD256) {  			zplane_list[1] = smap_ptr + READ_LE_UINT32(smap_ptr);  			if (0 == READ_LE_UINT32(zplane_list[1])) @@ -3450,14 +3460,21 @@ void Scumm::decompressDefaultCursor(int idx) {  				_grabbedCursor[i * 8 + j] = color;  		}  	} else { +		byte currentCursor = _currentCursor; + +#ifdef __PALM_OS__ +		if (_gameId == GID_ZAK256 && currentCursor == 0) +			currentCursor = 4; +#endif +  		_cursor.width = 16;  		_cursor.height = 16; -		_cursor.hotspotX = default_cursor_hotspots[2 * _currentCursor]; -		_cursor.hotspotY = default_cursor_hotspots[2 * _currentCursor + 1]; +		_cursor.hotspotX = default_cursor_hotspots[2 * currentCursor]; +		_cursor.hotspotY = default_cursor_hotspots[2 * currentCursor + 1];  		for (i = 0; i < 16; i++) {  			for (j = 0; j < 16; j++) { -				if (default_cursor_images[_currentCursor][i] & (1 << j)) +				if (default_cursor_images[currentCursor][i] & (1 << j))	  					_grabbedCursor[16 * i + 15 - j] = color;  			}  		} @@ -3804,3 +3821,12 @@ void Scumm::drawBomp(BompDrawData *bd, int decode_mode, int mask) {  			break;  	}  } + + +#ifdef __PALM_OS__ +#include "scumm_globals.h" // init globals +void Gfx_initGlobals()		{	 +	GSETPTR(transitionEffects, GBVARS_TRANSITIONEFFECTS_INDEX, TransitionEffect, GBVARS_SCUMM) +} +void Gfx_releaseGlobals()	{	GRELEASEPTR(GBVARS_TRANSITIONEFFECTS_INDEX, GBVARS_SCUMM)} +#endif  | 
