Ticket #8205: indy3-costume.diff

File indy3-costume.diff, 1.4 KB (added by eriktorbjorn, 21 years ago)

Patch against an April 28 CVS snapshot

  • scummvm/scumm/script_v5.cpp

    diff -ur ScummVM-cvs20030428/scummvm/scumm/script_v5.cpp ScummVM-cvs20030428+hack/scummvm/scumm/script_v5.cpp
    old new  
    642642                initCharset(getVarOrDirectByte(0x80));
    643643                break;
    644644        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                }
    648657                break;
    649658        }
    650659
     
    13031312        int room;
    13041313
    13051314        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);
    13111315       
    13121316        // For small header games, we only call startScene if the room
    13131317        // actually changed. This avoid unwanted (wrong) fades in Zak256