Ticket #8179: cmi-actor-placement2.diff

File cmi-actor-placement2.diff, 1.0 KB (added by eriktorbjorn, 17 years ago)

Patch against an April 2 CVS snapshot

  • scummvm/scumm/script_v6.cpp

    diff -ur ScummVM-cvs20030402/scummvm/scumm/script_v6.cpp ScummVM-cvs20030402+hack/scummvm/scumm/script_v6.cpp
    old new  
    10431043        } else {
    10441044                x = 160;
    10451045                y = 120;
     1046
     1047                // In CMI some game scripts try to move Guybrush to an object
     1048                // in a room that hasn't been loaded yet. Apparently the
     1049                // original interpreter uses the coordinates above by default.
     1050                // We use the coordinates that would have been found if the
     1051                // room had been loaded, since that's probably what the game
     1052                // designers intended.
     1053
     1054                if (_gameId == GID_CMI) {
     1055                        if (room == 58 && obj == 925) {
     1056                                // Blood Island, finding Elaine
     1057                                x = 675;
     1058                                y = 410;
     1059                        } else if (room == 55 && obj == 896) {
     1060                                // Blood Island, cannibal village
     1061                                x = 151;
     1062                                y = 348;
     1063                        } else {
     1064                                warning("o6_putActorAtObject(%d, %d)\n", room, obj);
     1065                        }
     1066                }
    10461067        }
    10471068        if (room == 0xFF)
    10481069                room = a->room;