diff options
author | Paul Gilbert | 2007-12-12 09:45:51 +0000 |
---|---|---|
committer | Paul Gilbert | 2007-12-12 09:45:51 +0000 |
commit | 69b1c7b4dd10eea8e16587ce4726e9563f289d40 (patch) | |
tree | a11dedaf299ebc3859d47f4e56fc1bac7988e4a8 | |
parent | c6871d145e13de0465a26af93791baf84d5fda06 (diff) | |
download | scummvm-rg350-69b1c7b4dd10eea8e16587ce4726e9563f289d40.tar.gz scummvm-rg350-69b1c7b4dd10eea8e16587ce4726e9563f289d40.tar.bz2 scummvm-rg350-69b1c7b4dd10eea8e16587ce4726e9563f289d40.zip |
Dynamic fix for several incorrect accented characters in the Italian version
svn-id: r29836
-rw-r--r-- | engines/lure/surface.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index 9717c58d47..26d3f65471 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -44,9 +44,20 @@ static MemoryBlock *int_dialog_frame = NULL; static uint8 fontSize[256]; int numFontChars; +const byte char8A[8] = {0x40, 0x20, 0x00, 0x90, 0x90, 0x90, 0x68, 0x00}; // accented `u +const byte char8D[8] = {0x80, 0x40, 0x00, 0xc0, 0x40, 0x40, 0x60, 0x00}; // accented `i +const byte char95[8] = {0x40, 0x20, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00}; // accented `o + void Surface::initialise() { - int_font = Disk::getReference().getEntry(FONT_RESOURCE_ID); - int_dialog_frame = Disk::getReference().getEntry(DIALOG_RESOURCE_ID); + Disk &disk = Disk::getReference(); + int_font = disk.getEntry(FONT_RESOURCE_ID); + int_dialog_frame = disk.getEntry(DIALOG_RESOURCE_ID); + + if (LureEngine::getReference().getLanguage() == IT_ITA) { + Common::copy(&char8A[0], &char8A[8], int_font->data() + (0x8A - 32) * 8); + Common::copy(&char8D[0], &char8D[8], int_font->data() + (0x8D - 32) * 8); + Common::copy(&char95[0], &char95[8], int_font->data() + (0x95 - 32) * 8); + } numFontChars = int_font->size() / 8; if (numFontChars > 256) |