[Scummvm-cvs-logs] SF.net SVN: scummvm:[43811] scummvm/trunk/engines/sci
waltervn at users.sourceforge.net
waltervn at users.sourceforge.net
Sun Aug 30 03:37:27 CEST 2009
Revision: 43811
http://scummvm.svn.sourceforge.net/scummvm/?rev=43811&view=rev
Author: waltervn
Date: 2009-08-30 01:37:27 +0000 (Sun, 30 Aug 2009)
Log Message:
-----------
SCI: Cleanup
Modified Paths:
--------------
scummvm/trunk/engines/sci/console.cpp
scummvm/trunk/engines/sci/decompressor.cpp
scummvm/trunk/engines/sci/resource.cpp
scummvm/trunk/engines/sci/resource.h
scummvm/trunk/engines/sci/sci.cpp
scummvm/trunk/engines/sci/sci.h
Modified: scummvm/trunk/engines/sci/console.cpp
===================================================================
--- scummvm/trunk/engines/sci/console.cpp 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/console.cpp 2009-08-30 01:37:27 UTC (rev 43811)
@@ -381,8 +381,7 @@
}
bool Console::cmdGetVersion(int argc, const char **argv) {
- DebugPrintf("Resource file version: %s\n", versionNames[_vm->getresourceManager()->sciVersion()]);
- DebugPrintf("Emulated interpreter version: %s\n", versionNames[_vm->getVersion()]);
+ DebugPrintf("Emulated interpreter version: %s\n", ((SciEngine *)g_engine)->getSciVersionDesc(_vm->getVersion()).c_str());
return true;
}
Modified: scummvm/trunk/engines/sci/decompressor.cpp
===================================================================
--- scummvm/trunk/engines/sci/decompressor.cpp 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/decompressor.cpp 2009-08-30 01:37:27 UTC (rev 43811)
@@ -31,6 +31,7 @@
#include "sci/decompressor.h"
#include "sci/sci.h"
+#include "sci/resource.h"
namespace Sci {
int Decompressor::unpack(Common::ReadStream *src, byte *dest, uint32 nPacked, uint32 nUnpacked) {
Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/resource.cpp 2009-08-30 01:37:27 UTC (rev 43811)
@@ -520,7 +520,7 @@
_sciVersion = detectSciVersion();
if (_sciVersion != SCI_VERSION_AUTODETECT)
- debug("resourceManager: Detected %s", versionNames[_sciVersion]);
+ debug("resourceManager: Detected %s", ((SciEngine *)g_engine)->getSciVersionDesc(_sciVersion).c_str());
else
warning("resourceManager: Couldn't determine SCI version");
Modified: scummvm/trunk/engines/sci/resource.h
===================================================================
--- scummvm/trunk/engines/sci/resource.h 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/resource.h 2009-08-30 01:37:27 UTC (rev 43811)
@@ -37,6 +37,7 @@
#include "gfx/gfx_resource.h" // for ViewType
#include "sci/decompressor.h"
+#include "sci/sci.h"
namespace Common {
class ReadStream;
@@ -47,22 +48,6 @@
/** The maximum allowed size for a compressed or decompressed resource */
#define SCI_MAX_RESOURCE_SIZE 0x0400000
-/** SCI versions */
-enum SciVersion {
- SCI_VERSION_AUTODETECT,
- SCI_VERSION_0_EARLY, // Early KQ4, 1988 xmas card
- SCI_VERSION_0_LATE, // KQ4, LSL2, LSL3, SQ3 etc
- SCI_VERSION_01, // KQ1 and multilingual games (S.old.*)
- SCI_VERSION_1_EGA, // EGA with parser, QFG2
- SCI_VERSION_1_EARLY, // KQ5. (EGA/VGA)
- SCI_VERSION_1_MIDDLE, // LSL1, JONESCD. (EGA?/VGA)
- SCI_VERSION_1_LATE, // ECO1, LSL5. (EGA/VGA)
- SCI_VERSION_1_1, // KQ6, ECO2
- SCI_VERSION_2, // GK1, PQ4 (Floppy), QFG4 (Floppy)
- SCI_VERSION_2_1, // GK2, KQ7, SQ6, Torin
- SCI_VERSION_3 // LSL7, RAMA, Lighthouse
-};
-
/** Resource status types */
enum ResourceStatus {
kResStatusNoMalloc = 0,
Modified: scummvm/trunk/engines/sci/sci.cpp
===================================================================
--- scummvm/trunk/engines/sci/sci.cpp 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/sci.cpp 2009-08-30 01:37:27 UTC (rev 43811)
@@ -43,22 +43,6 @@
class GfxDriver;
-// FIXME: error-prone
-const char *versionNames[] = {
- "Autodetect",
- "SCI0 Early",
- "SCI0 Late",
- "SCI01",
- "SCI1 EGA",
- "SCI1 Early",
- "SCI1 Middle",
- "SCI1 Late",
- "SCI1.1",
- "SCI2",
- "SCI2.1",
- "SCI3"
-};
-
SciEngine::SciEngine(OSystem *syst, const SciGameDescription *desc)
: Engine(syst), _gameDescription(desc) {
// Put your engine in a sane state, but do nothing big yet;
@@ -212,7 +196,7 @@
return Common::kUnknownError;
}
- printf("Emulating SCI version %s\n", versionNames[_resourceManager->sciVersion()]);
+ printf("Emulating SCI version %s\n", getSciVersionDesc(_resourceManager->sciVersion()).c_str());
game_run(&_gamestate); // Run the game
@@ -290,4 +274,35 @@
_mixer->pauseAll(pause);
}
+Common::String SciEngine::getSciVersionDesc(SciVersion version) const {
+ switch (version) {
+ case SCI_VERSION_AUTODETECT:
+ return "Autodetect";
+ case SCI_VERSION_0_EARLY:
+ return "Early SCI0";
+ case SCI_VERSION_0_LATE:
+ return "Late SCI0";
+ case SCI_VERSION_01:
+ return "SCI01";
+ case SCI_VERSION_1_EGA:
+ return "SCI1 EGA";
+ case SCI_VERSION_1_EARLY:
+ return "Early SCI1";
+ case SCI_VERSION_1_MIDDLE:
+ return "Middle SCI1";
+ case SCI_VERSION_1_LATE:
+ return "Late SCI1";
+ case SCI_VERSION_1_1:
+ return "SCI1.1";
+ case SCI_VERSION_2:
+ return "SCI2";
+ case SCI_VERSION_2_1:
+ return "SCI2.1";
+ case SCI_VERSION_3:
+ return "SCI3";
+ default:
+ return "Unknown";
+ }
+}
+
} // End of namespace Sci
Modified: scummvm/trunk/engines/sci/sci.h
===================================================================
--- scummvm/trunk/engines/sci/sci.h 2009-08-29 20:48:59 UTC (rev 43810)
+++ scummvm/trunk/engines/sci/sci.h 2009-08-30 01:37:27 UTC (rev 43811)
@@ -29,14 +29,13 @@
#include "engines/engine.h"
#include "engines/advancedDetector.h"
-#include "sci/resource.h"
-
namespace Sci {
class Console;
struct EngineState;
class Kernel;
class Vocabulary;
+class ResourceManager;
// our engine debug levels
enum kDebugLevels {
@@ -79,6 +78,22 @@
GF_SCI0_OLDGETTIME = (1 << 0)
};
+/** SCI versions */
+enum SciVersion {
+ SCI_VERSION_AUTODETECT,
+ SCI_VERSION_0_EARLY, // Early KQ4, 1988 xmas card
+ SCI_VERSION_0_LATE, // KQ4, LSL2, LSL3, SQ3 etc
+ SCI_VERSION_01, // KQ1 and multilingual games (S.old.*)
+ SCI_VERSION_1_EGA, // EGA with parser, QFG2
+ SCI_VERSION_1_EARLY, // KQ5. (EGA/VGA)
+ SCI_VERSION_1_MIDDLE, // LSL1, JONESCD. (EGA?/VGA)
+ SCI_VERSION_1_LATE, // ECO1, LSL5. (EGA/VGA)
+ SCI_VERSION_1_1, // KQ6, ECO2
+ SCI_VERSION_2, // GK1, PQ4 (Floppy), QFG4 (Floppy)
+ SCI_VERSION_2_1, // GK2, KQ7, SQ6, Torin
+ SCI_VERSION_3 // LSL7, RAMA, Lighthouse
+};
+
class SciEngine : public Engine {
friend class Console;
public:
@@ -110,6 +125,8 @@
/** Remove the 'TARGET-' prefix of the given filename, if present. */
Common::String unwrapFilename(const Common::String &name) const;
+ Common::String getSciVersionDesc(SciVersion version) const;
+
private:
const SciGameDescription *_gameDescription;
ResourceManager *_resourceManager;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list