mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-17 15:18:11 +00:00
SCUMM: Fix Indy4 Amiga cursor.
The original did not use the room nor verb palette map for the cursor, but seems to use a custom palette. I now just changed the cursor to use the colors from the DOS version of Indy4. This is rather guesswork, but the original did always show a flashing color in those colors instead of based on the screen colors.
This commit is contained in:
parent
cef09b345b
commit
e791f904ed
@ -609,12 +609,16 @@ void ScummEngine_v5::setBuiltinCursor(int idx) {
|
||||
for (i = 0; i < 1024; i++)
|
||||
WRITE_UINT16(_grabbedCursor + i * 2, 0xFF);
|
||||
} else {
|
||||
color = default_cursor_colors[idx];
|
||||
// Indy4 Amiga always uses the room or verb palette map to match colors to
|
||||
// the currently setup palette, thus we need to select it over here too.
|
||||
// This is guesswork!
|
||||
if (_game.platform == Common::kPlatformAmiga && _game.id == GID_INDY4)
|
||||
color = _roomPalette[color];
|
||||
// Indy4 Amiga uses its own color set for the cursor image.
|
||||
// This is patchwork code to make the cursor flash in correct colors.
|
||||
if (_game.platform == Common::kPlatformAmiga && _game.id == GID_INDY4) {
|
||||
static const uint8 indy4AmigaColors[4] = {
|
||||
252, 252, 253, 254
|
||||
};
|
||||
color = indy4AmigaColors[idx];
|
||||
} else {
|
||||
color = default_cursor_colors[idx];
|
||||
}
|
||||
memset(_grabbedCursor, 0xFF, sizeof(_grabbedCursor));
|
||||
}
|
||||
|
||||
|
@ -1324,6 +1324,16 @@ void ScummEngine::updatePalette() {
|
||||
*p++ = data[1] * 255 / 15;
|
||||
*p++ = data[2] * 255 / 15;
|
||||
}
|
||||
|
||||
// Setup colors for the mouse cursor
|
||||
// Color values taken from Indy4 DOS
|
||||
static const uint8 mouseCursorPalette[] = {
|
||||
255, 255, 255,
|
||||
171, 171, 171,
|
||||
87, 87, 87
|
||||
};
|
||||
|
||||
_system->getPaletteManager()->setPalette(mouseCursorPalette, 252, 3);
|
||||
} else {
|
||||
bool noir_mode = (_game.id == GID_SAMNMAX && readVar(0x8000));
|
||||
int i;
|
||||
|
Loading…
Reference in New Issue
Block a user