Ticket #8640: kq2_fix.patch

File kq2_fix.patch, 1.6 KB (added by bluegr, 17 years ago)

KQ2 menu fix

  • agi.h

     
    109109        GF_AGI256_2 =    (1 << 3),
    110110        GF_AGIPAL =      (1 << 4),
    111111        GF_MACGOLDRUSH = (1 << 5),
    112         GF_FANMADE =     (1 << 6)
     112        GF_FANMADE =     (1 << 6),
     113        GF_ESC_MENU =    (1 << 7)
    113114};
    114115
    115116struct AGIGameDescription;
  • detection.cpp

     
    513513                        Common::ADGF_NO_FLAGS
    514514                },
    515515                GType_V2,
    516                 0,
     516                GF_ESC_MENU,
    517517                0x2917,
    518518        },
    519519
     
    529529                        Common::ADGF_NO_FLAGS
    530530                },
    531531                GType_V2,
    532                 0,
     532                GF_ESC_MENU,
    533533                0x2440,
    534534        },
    535535
     
    545545                        Common::ADGF_NO_FLAGS
    546546                },
    547547                GType_V2,
    548                 0,
     548                GF_ESC_MENU,
    549549                0x2440,
    550550        },
    551551
     
    561561                        Common::ADGF_NO_FLAGS
    562562                },
    563563                GType_V2,
    564                 0,
     564                GF_ESC_MENU,
    565565                0x2440,         // XXX: any major differences from 2.411 to 2.440?
    566566        },
    567567
     
    577577                        Common::ADGF_NO_FLAGS
    578578                },
    579579                GType_V2,
    580                 0,
     580                GF_ESC_MENU,
    581581                0x2917,
    582582        },
    583583
  • keyboard.cpp

     
    102102        VtEntry *v = &_game.viewTable[0];
    103103        int i;
    104104
    105         /* The Black Cauldron needs KEY_ESCAPE to use menus */
    106         if (key == 0 /*|| key == KEY_ESCAPE */ )
     105        /* AGI 3.149 games need KEY_ESCAPE to use menus */
     106        if (key == 0 || (key == KEY_ESCAPE && (getFeatures() & GF_ESC_MENU)) )
    107107                return false;
    108108
    109109        debugC(3, kDebugLevelInput, "key = %04x", key);