Ticket #9075: german-verbs.patch

File german-verbs.patch, 2.5 KB (added by SF/tobigun, 15 years ago)

German verbs fix

  • engines/scumm/verbs.cpp

     
    6868
    6969// FIXME: Replace * with the correct character
    7070static const VerbSettings v0VerbTable_German[] = {
    71         { 1,  0, 1,   0, "Ziehe"},
    72         { 2,  0, 0,   0, "Dr<cke"},
    73         { 3,  7, 2,   4, "Lese"},
    74         { 4, 23, 0,   0, "Schlie*e auf"},
    75         { 5, 37, 1,   0, "Ein"},
    76         { 6, 37, 0,   0, "Aus"},
     71        { 1,  7, 0,   0, "$ffne"},
     72        { 2, 13, 1,   0, "Schlie*e"},
     73        { 3,  0, 2,   4, "Gebe"},
     74        { 4, 37, 1,   0, "Ein"},
     75        { 5, 37, 0,   0, "Aus"},
     76        { 6, 23, 1,   2, "Repariere"},
    7777        { 7, 34, 2,   0, "Person"},
    78         { 8, 13, 1,   2, "Schlie*e"},
    79         { 9,  7, 1,   0, "Nimm"},
    80         {10,  0, 2,   0, "Gebe"},
    81         {11, 23, 1, 255, "Repariere"},
    82         {12,  7, 0,   0, "$ffne"},
     78        { 8, 23, 0,   2, "Schlie*e auf"},
     79        { 9,  0, 0,   0, "Dr<cke"},
     80        {10,  0, 1,   0, "Ziehe"},
     81        {11, 23, 2, 255, "Benutz"},
     82        {12,  7, 2,   0, "Lese"},
    8383        {13, 13, 0,   0, "Gehe zu"},
    84         {14, 13, 2,   0, "Was ist"},
    85         {15, 23, 2,   0, "Benutz"}
     84        {14,  7, 1,   0, "Nimm"},
     85        {15, 13, 2,   0, "Was ist"}
    8686};
    8787
    8888void ScummEngine_v0::resetVerbs() {
    8989        VirtScreen *virt = &_virtscr[kVerbVirtScreen];
    9090        VerbSlot *vs;
     91        const VerbSettings *vtable;
    9192        int i;
    9293
     94        switch (_language) {
     95        case Common::DE_DEU:
     96                vtable = (const VerbSettings*)v0VerbTable_German;
     97                break;
     98        default:
     99                vtable = (const VerbSettings*)v0VerbTable_English;
     100        }
     101
    93102        for (i = 1; i < 16; i++)
    94103                killVerb(i);
    95104
    96105        for (i = 1; i < 16; i++) {
    97106                vs = &_verbs[i];
    98                 vs->verbid = v0VerbTable_English[i - 1].id;
     107                vs->verbid = vtable[i - 1].id;
    99108                vs->color = 5;
    100109                vs->hicolor = 7;
    101110                vs->dimcolor = 11;
     
    106115                vs->key = 0;
    107116                vs->center = 0;
    108117                vs->imgindex = 0;
    109                 vs->prep = v0VerbTable_English[i - 1].prep;
    110 
    111                 if (_language == Common::DE_DEU) {
    112                         vs->curRect.left = v0VerbTable_German[i - 1].x_pos * 8;
    113                         vs->curRect.top = v0VerbTable_German[i - 1].y_pos * 8 + virt->topline + 8;
    114                         loadPtrToResource(rtVerb, i, (const byte*)v0VerbTable_German[i - 1].name);
    115                 } else {
    116                         vs->curRect.left = v0VerbTable_English[i - 1].x_pos * 8;
    117                         vs->curRect.top = v0VerbTable_English[i - 1].y_pos * 8 + virt->topline + 8;
    118                         loadPtrToResource(rtVerb, i, (const byte*)v0VerbTable_English[i - 1].name);
    119                 }
     118                vs->prep = vtable[i - 1].prep;
     119                vs->curRect.left = vtable[i - 1].x_pos * 8;
     120                vs->curRect.top = vtable[i - 1].y_pos * 8 + virt->topline + 8;
     121                loadPtrToResource(rtVerb, i, (const byte*)vtable[i - 1].name);
    120122        }
    121123}
    122124