SCI: search for %J in text resources to identify japanese games, switch to upscaled hires when japanese games are started, removed TODO

svn-id: r47088
This commit is contained in:
Martin Kiewitz 2010-01-06 18:25:43 +00:00
parent 254850aa23
commit 11d9f15010
2 changed files with 13 additions and 4 deletions

View file

@ -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). // (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 // 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 // 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); Resource *text = resMan->findResource(ResourceId(kResourceTypeText, 0), 0);
uint seeker = 0; uint seeker = 0;
if (text) { if (text) {
while (seeker < text->size) { while (seeker < text->size) {
if (text->data[seeker] == '#') { if (text->data[seeker] == '#') {
s_fallbackDesc.language = charToScummVMLanguage(text->data[seeker + 1]); if (seeker + 1 < text->size)
s_fallbackDesc.language = charToScummVMLanguage(text->data[seeker + 1]);
break; 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++; seeker++;
} }
} }

View file

@ -114,8 +114,9 @@ Common::Error SciEngine::run() {
#endif #endif
) && getPlatform() == Common::kPlatformWindows; ) && getPlatform() == Common::kPlatformWindows;
// TODO: Detect japanese editions and set upscaledHires on those as well // Japanese versions of games use hi-res font on upscaled version of the game
// TODO: Possibly look at first picture resource and determine if its hires or not if ((getLanguage() == Common::JA_JPN) && (getSciVersion() <= SCI_VERSION_1_1))
upscaledHires = true;
// Initialize graphics-related parts // Initialize graphics-related parts
Screen *screen = 0; Screen *screen = 0;