aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-03 20:18:36 +0000
committerFilippos Karapetis2010-01-03 20:18:36 +0000
commiteeb3502fa43856a6e03424b9e24700485a7fb852 (patch)
tree22d50a149b3cb8f49b83dbdd8e3d03760059cd33
parent8ad5694cb18bc7c7f3378889a0f645da31d4ca22 (diff)
downloadscummvm-rg350-eeb3502fa43856a6e03424b9e24700485a7fb852.tar.gz
scummvm-rg350-eeb3502fa43856a6e03424b9e24700485a7fb852.tar.bz2
scummvm-rg350-eeb3502fa43856a6e03424b9e24700485a7fb852.zip
Made the "version" command more verbose, listing all the automatically detected game features, along with the detected SCI version
svn-id: r46943
-rw-r--r--engines/sci/console.cpp19
-rw-r--r--engines/sci/resource.h8
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<ResourceId> *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