Ticket #8641: fix_mh1_mh2.patch

File fix_mh1_mh2.patch, 2.9 KB (added by bluegr, 17 years ago)

Manhunter 1 and 2 Enter key 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),
     114        GF_MANHUNTER =   (1 << 8)
    113115};
    114116
    115117struct 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
     
    897897                        Common::ADGF_NO_FLAGS
    898898                },
    899899                GType_V3,
    900                 0,
     900                GF_MANHUNTER,
    901901                0x3149,
    902902        },
    903903
     
    913913                        Common::ADGF_NO_FLAGS
    914914                },
    915915                GType_V3,
    916                 0,
     916                GF_MANHUNTER,
    917917                0x3149,
    918918        },
    919919
     
    929929                        Common::ADGF_NO_FLAGS
    930930                },
    931931                GType_V3,
    932                 0,
     932                GF_MANHUNTER,
    933933                0x3149,
    934934        },
    935935
     
    946946                        Common::ADGF_NO_FLAGS
    947947                },
    948948                GType_V3,
    949                 0,
     949                GF_MANHUNTER,
    950950                0x3149,
    951951        },
    952952
     
    962962                        Common::ADGF_NO_FLAGS
    963963                },
    964964                GType_V3,
    965                 0,
     965                GF_MANHUNTER,
    966966                0x3149,
    967967        },
    968968
     
    978978                        Common::ADGF_NO_FLAGS
    979979                },
    980980                GType_V3,
    981                 0,
     981                GF_MANHUNTER,
    982982                0x3149,
    983983        },
    984984
     
    994994                        Common::ADGF_NO_FLAGS
    995995                },
    996996                GType_V3,
    997                 0,
     997                GF_MANHUNTER,
    998998                0x3086,
    999999        },
    10001000
     
    10101010                        Common::ADGF_NO_FLAGS
    10111011                },
    10121012                GType_V3,
    1013                 0,
     1013                GF_MANHUNTER,
    10141014                0x3149,
    10151015        },
    10161016
     
    10261026                        Common::ADGF_NO_FLAGS
    10271027                },
    10281028                GType_V3,
    1029                 0,
     1029                GF_MANHUNTER,
    10301030                0x3149,
    10311031        },
    10321032
  • keyboard.cpp

     
    9292        /* If a key is ready, rip it */
    9393        if (_gfx->keypress()) {
    9494                key = _gfx->getKey();
     95                if ( (getFeatures() & GF_MANHUNTER) && (key == KEY_ENTER) && (_game.inputMode == INPUT_NONE) )
     96                        key = 0x20; /* Set Enter key to Space in Manhunter when there's no text input */       
    9597                debugC(3, kDebugLevelInput, "key %02x pressed", key);
    9698        }
    97 
    9899        return key;
    99100}
    100101
     
    102103        VtEntry *v = &_game.viewTable[0];
    103104        int i;
    104105
    105         /* The Black Cauldron needs KEY_ESCAPE to use menus */
    106         if (key == 0 /*|| key == KEY_ESCAPE */ )
     106        /* AGI 3.149 games need KEY_ESCAPE to use menus */
     107        if (key == 0 || (key == KEY_ESCAPE && (getFeatures() & GF_ESC_MENU)) )
    107108                return false;
    108109
    109110        debugC(3, kDebugLevelInput, "key = %04x", key);