diff options
| author | dhewg | 2011-02-14 22:00:01 +0100 | 
|---|---|---|
| committer | dhewg | 2011-02-14 22:12:30 +0100 | 
| commit | 50129178efcd2a6defae679f059bd9de796a3122 (patch) | |
| tree | 67da29cb2a02f1837061fb6e334fdd0130a33028 /backends/platform | |
| parent | 31539697dc4551790f8da0b0a20f4f8008b1b1aa (diff) | |
| download | scummvm-rg350-50129178efcd2a6defae679f059bd9de796a3122.tar.gz scummvm-rg350-50129178efcd2a6defae679f059bd9de796a3122.tar.bz2 scummvm-rg350-50129178efcd2a6defae679f059bd9de796a3122.zip  | |
WII: Fix 16bit cursors on some HE games
Diffstat (limited to 'backends/platform')
| -rw-r--r-- | backends/platform/wii/osystem_gfx.cpp | 17 | 
1 files changed, 10 insertions, 7 deletions
diff --git a/backends/platform/wii/osystem_gfx.cpp b/backends/platform/wii/osystem_gfx.cpp index 09575bb83d..4a925a60c9 100644 --- a/backends/platform/wii/osystem_gfx.cpp +++ b/backends/platform/wii/osystem_gfx.cpp @@ -333,16 +333,19 @@ void OSystem_Wii::setPalette(const byte *colors, uint start, uint num) {  	gfx_tex_flush_palette(&_texGame); +	s = colors; +	d = _cursorPalette; + +	for (uint i = 0; i < num; ++i) { +		d[start + i] = Graphics::ARGBToColor<Graphics::ColorMasks<3444> >(0xff, s[0], s[1], s[2]); +		s += 4; +	} +  	if (_cursorPaletteDisabled) {  		assert(_texMouse.palette); -		s = colors; -		d = _texMouse.palette; - -		for (uint i = 0; i < num; ++i) { -			d[start + i] = Graphics::ARGBToColor<Graphics::ColorMasks<3444> >(0xff, s[0], s[1], s[2]); -			s += 4; -		} +		memcpy((u8 *)_texMouse.palette + start * 2, +			(u8 *)_cursorPalette + start * 2, num * 2);  		_cursorPaletteDirty = true;  	}  | 
