Ticket #7953: mi1f.diff

File mi1f.diff, 2.8 KB (added by SF/mnepomuk, 22 years ago)

MI1 (256 color, floppy) patch

  • scummvm/gameDetector.cpp

    diff -u -r -w -N scummvm/scummvm/gameDetector.cpp myscummvm/scummvm/gameDetector.cpp
    old new  
    266266        {"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, 0, 67, GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR},    // EGA version
    267267
    268268        /* Scumm version 5 */
     269        {"monkeyf", "Monkey Island 1 (256 color Floppy version)", GID_MONKEYF,  5, 0, 16,
     270         GF_SMALL_HEADER | GF_USE_KEY | GF_ADLIB_DEFAULT},
    269271        {"loomcd", "Loom (256 color CD version)", GID_LOOM256, 5, 1, 42,
    270272         GF_SMALL_HEADER | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT},
    271273        {"monkey", "Monkey Island 1", GID_MONKEY, 5, 2, 2,
  • scummvm/script_v1.cpp

    diff -u -r -w -N scummvm/scummvm/script_v1.cpp myscummvm/scummvm/script_v1.cpp
    old new  
    777777                case 16:                                                                                /* width */
    778778                        a->width = getVarOrDirectByte(0x80);
    779779                        break;
    780                 case 17:                                                                                /* scale */
     780                case 17:
     781                        // FIXME: 0x11 is definitly an one byte opcode in MI1 256 col Floppy !
     782                        //              but it's not 1, 9, 16, 19, 22 or 23 (testet), what else ?
     783                        if (_gameId & GID_MONKEYF) {
     784                                warning("o5_actorset: unk opcode 0x11 (%d)",
     785                                        getVarOrDirectByte(0x80));
     786                                break;
     787                        }                                                                               /* scale */
    781788                        a->scalex = getVarOrDirectByte(0x80);
    782789                        a->scaley = getVarOrDirectByte(0x40);
    783790                        if (a->scalex > 255 || a->scaley > 255)
  • scummvm/scumm.h

    diff -u -r -w -N scummvm/scummvm/scumm.h myscummvm/scummvm/scumm.h
    old new  
    506506        GID_LOOM = 10,
    507507        GID_FT = 11,
    508508        GID_DIG = 12,
     509        GID_MONKEYF = 84,               // FIXME: Ender, please put here a reasonable number
    509510
    510511        /* Simon the Sorcerer */
    511512        GID_SIMON_FIRST = 13,
  • scummvm/scummvm.cpp

    diff -u -r -w -N scummvm/scummvm/scummvm.cpp myscummvm/scummvm/scummvm.cpp
    old new  
    238238        _vars[VAR_MOUSE_Y] = mouse.y;
    239239        _vars[VAR_DEBUGMODE] = _debugMode;
    240240
    241         if (_features & GF_AUDIOTRACKS) {               
     241        if ((_features & GF_AUDIOTRACKS) || (_gameId & GID_MONKEYF)) {
    242242                if (delta) {
    243243                        if (++counter != 2)
    244244                                _vars[VAR_MI1_TIMER] += 5;
  • scummvm/sound.cpp

    diff -u -r -w -N scummvm/scummvm/sound.cpp myscummvm/scummvm/sound.cpp
    old new  
    121121        if (_features & GF_OLD256)
    122122                return;                                                                                 /* FIXME */
    123123
     124        // FIXME: no "simple" ADLIB in MI1 Floppy
     125        if (_gameId & GID_MONKEYF)
     126                return;
     127
    124128        if (se) {
    125129                getResourceAddress(rtSound, sound);
    126130                se->start_sound(sound);