diff options
author | Jonathan Gray | 2003-04-29 09:14:05 +0000 |
---|---|---|
committer | Jonathan Gray | 2003-04-29 09:14:05 +0000 |
commit | ea6dace0b26f94c71b88e68abf05016a052665e6 (patch) | |
tree | c4f87b6d7d18d82ae868c322485601c991b83f58 /scumm | |
parent | dd3eaff29488e728d7a788e06a5b6f55a775b893 (diff) | |
download | scummvm-rg350-ea6dace0b26f94c71b88e68abf05016a052665e6.tar.gz scummvm-rg350-ea6dace0b26f94c71b88e68abf05016a052665e6.tar.bz2 scummvm-rg350-ea6dace0b26f94c71b88e68abf05016a052665e6.zip |
patch #729365 indy3 intro fix by erik
svn-id: r7194
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v5.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index dcf1e1ca80..382da1e99a 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -642,9 +642,18 @@ void Scumm_v5::o5_cursorCommand() { initCharset(getVarOrDirectByte(0x80)); break; case 14: /* unk */ - getWordVararg(table); - for (i = 0; i < 16; i++) - _charsetColorMap[i] = _charsetData[_string[1].t_charset][i] = (unsigned char)table[i]; + if (_gameId == GID_INDY3 || _gameId == GID_INDY3_256) { + // FIXME: What is this supposed to do? From comparing + // Indy3's script 118 to the Passport Demo's script 58 + // my guess is that it's some sort of "init charset", + // but why does it need two parameters? + getVarOrDirectByte(0x80); + getVarOrDirectByte(0x40); + } else { + getWordVararg(table); + for (i = 0; i < 16; i++) + _charsetColorMap[i] = _charsetData[_string[1].t_charset][i] = (unsigned char)table[i]; + } break; } @@ -1303,11 +1312,6 @@ void Scumm_v5::o5_loadRoom() { int room; room = getVarOrDirectByte(0x80); - - // FIXME nasty hack to make indy have right costume - if ( ((_gameId == GID_INDY3_256) || (_gameId == GID_INDY3)) && - (_currentRoom == 6) && (_currentScript == 1)) - _actors[1].setActorCostume(10); // For small header games, we only call startScene if the room // actually changed. This avoid unwanted (wrong) fades in Zak256 |