diff -ur ScummVM-cvs20030428/scummvm/scumm/script_v5.cpp ScummVM-cvs20030428+hack/scummvm/scumm/script_v5.cpp
old
|
new
|
|
642 | 642 | initCharset(getVarOrDirectByte(0x80)); |
643 | 643 | break; |
644 | 644 | case 14: /* unk */ |
645 | | getWordVararg(table); |
646 | | for (i = 0; i < 16; i++) |
647 | | _charsetColorMap[i] = _charsetData[_string[1].t_charset][i] = (unsigned char)table[i]; |
| 645 | if (_gameId == GID_INDY3 || _gameId == GID_INDY3_256) { |
| 646 | // FIXME: What is this supposed to do? From comparing |
| 647 | // Indy3's script 118 to the Passport Demo's script 58 |
| 648 | // my guess is that it's some sort of "init charset", |
| 649 | // but why does it need two parameters? |
| 650 | getVarOrDirectByte(0x80); |
| 651 | getVarOrDirectByte(0x40); |
| 652 | } else { |
| 653 | getWordVararg(table); |
| 654 | for (i = 0; i < 16; i++) |
| 655 | _charsetColorMap[i] = _charsetData[_string[1].t_charset][i] = (unsigned char)table[i]; |
| 656 | } |
648 | 657 | break; |
649 | 658 | } |
650 | 659 | |
… |
… |
|
1303 | 1312 | int room; |
1304 | 1313 | |
1305 | 1314 | room = getVarOrDirectByte(0x80); |
1306 | | |
1307 | | // FIXME nasty hack to make indy have right costume |
1308 | | if ( ((_gameId == GID_INDY3_256) || (_gameId == GID_INDY3)) && |
1309 | | (_currentRoom == 6) && (_currentScript == 1)) |
1310 | | _actors[1].setActorCostume(10); |
1311 | 1315 | |
1312 | 1316 | // For small header games, we only call startScene if the room |
1313 | 1317 | // actually changed. This avoid unwanted (wrong) fades in Zak256 |