diff options
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/detection.cpp | 12 | ||||
-rw-r--r-- | engines/sci/sci.cpp | 5 |
2 files changed, 13 insertions, 4 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index ce6cfe14c1..8660b56704 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -318,14 +318,22 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl // (like, for example, Eco Quest 1 and all SCI1.1 games and newer, e.g. Freddy Pharkas). // As far as we know, these games store the messages of each language in separate // resources, and it's not possible to detect that easily + // Also look for "%J" which is used in japanese games Resource *text = resMan->findResource(ResourceId(kResourceTypeText, 0), 0); uint seeker = 0; if (text) { while (seeker < text->size) { - if (text->data[seeker] == '#') { - s_fallbackDesc.language = charToScummVMLanguage(text->data[seeker + 1]); + if (text->data[seeker] == '#') { + if (seeker + 1 < text->size) + s_fallbackDesc.language = charToScummVMLanguage(text->data[seeker + 1]); break; } + if (text->data[seeker] == '%') { + if ((seeker + 1 < text->size) && (text->data[seeker + 1] == 'J')) { + s_fallbackDesc.language = charToScummVMLanguage(text->data[seeker + 1]); + break; + } + } seeker++; } } diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp index ac5c734d6c..b49ef32cab 100644 --- a/engines/sci/sci.cpp +++ b/engines/sci/sci.cpp @@ -114,8 +114,9 @@ Common::Error SciEngine::run() { #endif ) && getPlatform() == Common::kPlatformWindows; - // TODO: Detect japanese editions and set upscaledHires on those as well - // TODO: Possibly look at first picture resource and determine if its hires or not + // Japanese versions of games use hi-res font on upscaled version of the game + if ((getLanguage() == Common::JA_JPN) && (getSciVersion() <= SCI_VERSION_1_1)) + upscaledHires = true; // Initialize graphics-related parts Screen *screen = 0; |