From eeb3502fa43856a6e03424b9e24700485a7fb852 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 3 Jan 2010 20:18:36 +0000 Subject: Made the "version" command more verbose, listing all the automatically detected game features, along with the detected SCI version svn-id: r46943 --- engines/sci/console.cpp | 19 +++++++++++++++++++ engines/sci/resource.h | 8 ++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index 9f17f24a51..4b2313280f 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -433,7 +433,26 @@ const char *selector_name(EngineState *s, int selector) { } bool Console::cmdGetVersion(int argc, const char **argv) { + const char *viewTypeDesc[] = { "Unknown", "EGA", "VGA", "VGA SCI1.1", "Amiga" }; + + EngineState *s = _vm->getEngineState(); + bool hasVocab997 = s->resMan->testResource(ResourceId(kResourceTypeVocab, VOCAB_RESOURCE_SELECTORS)) ? true : false; + + DebugPrintf("Game ID: %s\n", s->_gameId.c_str()); DebugPrintf("Emulated interpreter version: %s\n", getSciVersionDesc(getSciVersion()).c_str()); + DebugPrintf("\n"); + DebugPrintf("Detected features:\n"); + DebugPrintf("------------------\n"); + DebugPrintf("Sound type: %s\n", getSciVersionDesc(s->detectDoSoundType()).c_str()); + DebugPrintf("Graphics functions type: %s\n", getSciVersionDesc(s->detectGfxFunctionsType()).c_str()); + DebugPrintf("Lofs type: %s\n", getSciVersionDesc(s->detectLofsType()).c_str()); + DebugPrintf("Move count type: %s\n", (s->detectMoveCountType() == kIncrementMoveCount) ? "increment" : "ignore"); + DebugPrintf("SetCursor type: %s\n", getSciVersionDesc(s->detectSetCursorType()).c_str()); + DebugPrintf("View type: %s\n", viewTypeDesc[s->resMan->getViewType()]); + DebugPrintf("Resource volume version: %s\n", s->resMan->getVolVersionDesc()); + DebugPrintf("Resource map version: %s\n", s->resMan->getMapVersionDesc()); + DebugPrintf("Contains selector vocabulary (vocab.997): %s\n", hasVocab997 ? "yes" : "no"); + DebugPrintf("\n"); return true; } diff --git a/engines/sci/resource.h b/engines/sci/resource.h index 876759bc06..0801957a8e 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -224,10 +224,6 @@ public: kResVersionSci32 }; - bool isVGA() const { return (_viewType == kViewVga) || (_viewType == kViewVga11); } - - ViewType getViewType() const { return _viewType; } - /** * Creates a new SCI resource manager. */ @@ -271,6 +267,10 @@ public: Common::List *listResources(ResourceType type, int mapNumber = -1); void setAudioLanguage(int language); + bool isVGA() const { return (_viewType == kViewVga) || (_viewType == kViewVga11); } + ViewType getViewType() const { return _viewType; } + const char *getMapVersionDesc() const { return versionDescription(_mapVersion); } + const char *getVolVersionDesc() const { return versionDescription(_volVersion); } protected: // Maximum number of bytes to allow being allocated for resources -- cgit v1.2.3