Ticket #8420: sky-charset.diff

File sky-charset.diff, 2.3 KB (added by eriktorbjorn, 20 years ago)

Patch against an April 16 CVS snapshot

  • sky/text.cpp

    diff -ur ScummVM-cvs20050416/sky/text.cpp ScummVM-cvs20050416+hack/sky/text.cpp
    old new  
    203203                0x3800, 0x7c00, 0xFE00, 0x7c00, 0x0000, 0x0000
    204204        };
    205205
     206        // The next five are needed for at least the French version
     207
     208        const uint16 e_acute[] = {
     209                0x0000, 0x1000, 0x2000, 0x0000, 0x3000, 0x4800,
     210                0x7800, 0x4000, 0x3000, 0x0000, 0x0000, 0x0000,
     211                0x1000, 0x3800, 0x7000, 0x7000, 0x7800, 0xFC00,
     212                0xFC00, 0xF800, 0x7800, 0x3000, 0x0000, 0x0000
     213        };
     214
     215        const uint16 e_grave[] = {
     216                0x0000, 0x2000, 0x1000, 0x0000, 0x3000, 0x4800,
     217                0x7800, 0x4000, 0x3000, 0x0000, 0x0000, 0x0000,
     218                0x2000, 0x7000, 0x3800, 0x3800, 0x7800, 0xFC00,
     219                0xFC00, 0xF800, 0x7800, 0x3000, 0x0000, 0x0000
     220        };
     221
     222        const uint16 e_circumflex[] = {
     223                0x0000, 0x1000, 0x2800, 0x0000, 0x3000, 0x4800,
     224                0x7800, 0x4000, 0x3000, 0x0000, 0x0000, 0x0000,
     225                0x1000, 0x3800, 0x7C00, 0x7800, 0x7800, 0xFC00,
     226                0xFC00, 0xF800, 0x7800, 0x3000, 0x0000, 0x0000
     227        };
     228
     229        const uint16 o_circumflex[] = {
     230                0x0000, 0x1000, 0x2800, 0x0000, 0x3000, 0x4800,
     231                0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000,
     232                0x1000, 0x3800, 0x7C00, 0x3800, 0x7800, 0xFC00,
     233                0xFC00, 0xFC00, 0x7800, 0x3000, 0x0000, 0x0000
     234        };
     235
     236        const uint16 u_circumflex[] = {
     237                0x0000, 0x1000, 0x2800, 0x0000, 0x4800, 0x4800,
     238                0x4800, 0x4800, 0x3800, 0x0000, 0x0000, 0x0000,
     239                0x1000, 0x3800, 0x7C00, 0x7800, 0xFC00, 0xFC00,
     240                0xFC00, 0xFC00, 0x7C00, 0x3800, 0x0000, 0x0000
     241        };
     242
    206243        patchChar(charSetPtr, 5, charHeight,  3, u_umlaut);
    207244        patchChar(charSetPtr, 5, charHeight,  8, german_sz);
    208245        patchChar(charSetPtr, 5, charHeight,  9, o_umlaut);
    209246        patchChar(charSetPtr, 5, charHeight, 93, U_umlaut);
    210247        patchChar(charSetPtr, 5, charHeight, 74, normal_j);
    211248        patchChar(charSetPtr, 6, charHeight, 17, normal_1);
     249
     250        // TODO: Verify that these work in all versions
     251
     252        patchChar(charSetPtr, 5, charHeight, 11, e_acute);
     253        patchChar(charSetPtr, 5, charHeight, 61, e_grave);
     254        patchChar(charSetPtr, 5, charHeight, 29, e_circumflex);
     255        patchChar(charSetPtr, 5, charHeight, 32, o_circumflex);
     256        patchChar(charSetPtr, 5, charHeight, 30, u_circumflex);
     257
    212258        if (SkyEngine::_systemVars.gameVersion <= 303) {
    213259                patchChar(charSetPtr, 5, charHeight, 10, a_umlaut);
    214260        } else {