the basic testbed skeleton, removed any trace of quux

svn-id: r49341
This commit is contained in:
Neeraj Kumar 2010-05-31 04:58:19 +00:00
parent 3c629571b2
commit a8a8ea31df
3 changed files with 33 additions and 82 deletions

View file

@ -6,25 +6,24 @@
#include "engines/metaengine.h"
static const PlainGameDescriptor quux_setting[] = {
{ "quux", "Quux the Example Module" },
{ "quuxcd", "Quux the Example Module (CD version)" },
static const PlainGameDescriptor testbed_setting[] = {
{ "testbed", "TestBed: The backend testing framework" },
{ 0, 0 }
};
class QuuxMetaEngine : public MetaEngine {
class TestbedMetaEngine : public MetaEngine {
public:
virtual const char *getName() const {
return "Quux the Example Module";
return "TestBed: The backend testing framework";
}
virtual const char *getOriginalCopyright() const {
return "Copyright (C) Quux Entertainment Ltd.";
return "Copyright (C) ScummVM";
}
virtual GameList getSupportedGames() const {
GameList games;
const PlainGameDescriptor *g = quux_setting;
const PlainGameDescriptor *g = testbed_setting;
while (g->gameid) {
games.push_back(*g);
g++;
@ -34,7 +33,7 @@ public:
}
virtual GameDescriptor findGame(const char *gameid) const {
const PlainGameDescriptor *g = quux_setting;
const PlainGameDescriptor *g = testbed_setting;
while (g->gameid) {
if (0 == scumm_stricmp(gameid, g->gameid))
break;
@ -53,7 +52,7 @@ public:
if (0 == scumm_stricmp("README", gameName)) {
// You could check the contents of the file now if you need to.
detectedGames.push_back(quux_setting[0]);
detectedGames.push_back(testbed_setting[0]);
break;
}
}
@ -79,7 +78,7 @@ public:
for (uint i = 0; i < detectedGames.size(); i++) {
if (detectedGames[i].gameid() == gameid) {
// At this point you may want to perform additional sanity checks.
*engine = new Quux::QuuxEngine(syst);
*engine = new Testbed::TestbedEngine(syst);
return Common::kNoError;
}
}
@ -90,7 +89,7 @@ public:
};
#if PLUGIN_ENABLED_DYNAMIC(TESTBED)
REGISTER_PLUGIN_DYNAMIC(TESTBED, PLUGIN_TYPE_ENGINE, QuuxMetaEngine);
REGISTER_PLUGIN_DYNAMIC(TESTBED, PLUGIN_TYPE_ENGINE, TestbedMetaEngine);
#else
REGISTER_PLUGIN_STATIC(TESTBED, PLUGIN_TYPE_ENGINE, QuuxMetaEngine);
REGISTER_PLUGIN_STATIC(TESTBED, PLUGIN_TYPE_ENGINE, TestbedMetaEngine);
#endif

View file

@ -1,19 +1,13 @@
#include "common/scummsys.h"
#include "common/config-manager.h"
#include "common/debug.h"
#include "common/debug-channels.h"
#include "common/EventRecorder.h"
#include "common/file.h"
#include "common/fs.h"
#include "common/system.h"
#include "engines/util.h"
#include "testbed/testbed.h"
namespace Quux {
namespace Testbed {
QuuxEngine::QuuxEngine(OSystem *syst)
TestbedEngine::TestbedEngine(OSystem *syst)
: Engine(syst) {
// Put your engine in a sane state, but do nothing big yet;
// in particular, do not load data from files; rather, if you
@ -22,28 +16,18 @@ QuuxEngine::QuuxEngine(OSystem *syst)
// Do not initialize graphics here
// However this is the place to specify all default directories
const Common::FSNode gameDataDir(ConfMan.get("path"));
SearchMan.addSubDirectoryMatching(gameDataDir, "sound");
// Here is the right place to set up the engine specific debug levels
DebugMan.addDebugChannel(kQuuxDebugExample, "example", "this is just an example for a engine specific debug level");
DebugMan.addDebugChannel(kQuuxDebugExample2, "example2", "also an example");
// Don't forget to register your random source
g_eventRec.registerRandomSource(_rnd, "quux");
printf("QuuxEngine::QuuxEngine\n");
printf("TestbedEngine::TestbedEngine()\n");
}
QuuxEngine::~QuuxEngine() {
TestbedEngine::~TestbedEngine() {
// Dispose your resources here
printf("QuuxEngine::~QuuxEngine\n");
printf("TestbedEngine::~TestbedEngine()\n");
// Remove all of our debug levels here
DebugMan.clearAllDebugChannels();
}
Common::Error QuuxEngine::run() {
Common::Error TestbedEngine::run() {
// Initialize graphics using following:
initGraphics(320, 200, false);
@ -62,22 +46,15 @@ Common::Error QuuxEngine::run() {
//OSystem::kTransactionSizeChangeFailed here
//_system->endGFXTransaction();
// Create debugger console. It requires GFX to be initialized
_console = new Console(this);
// Additional setup.
printf("QuuxEngine::init\n");
printf("TestbedEngine::init\n");
printf("Height: %d\n",_system->getHeight());
// Your main even loop should be (invoked from) here.
printf("QuuxEngine::go: Hello, World!\n");
// This test will show up if -d1 and --debugflags=example are specified on the commandline
debugC(1, kQuuxDebugExample, "Example debug call");
// This test will show up if --debugflags=example or --debugflags=example2 or both of them and -d3 are specified on the commandline
debugC(3, kQuuxDebugExample | kQuuxDebugExample2, "Example debug call two");
printf("TestbedEngine::go: Hello, World!\n");
return Common::kNoError;
}
} // End of namespace Quux
} // End of namespace Testbed

View file

@ -1,43 +1,18 @@
#ifndef QUUX_H
#define QUUX_H
#ifndef TESTBED_H
#define TESTBED_H
#include "common/random.h"
#include "engines/engine.h"
#include "gui/debugger.h"
namespace Quux {
namespace Testbed {
class Console;
// our engine debug levels
enum {
kQuuxDebugExample = 1 << 0,
kQuuxDebugExample2 = 1 << 1
// next new level must be 1 << 2 (4)
// the current limitation is 32 debug levels (1 << 31 is the last one)
};
class QuuxEngine : public Engine {
class TestbedEngine : public Engine {
public:
QuuxEngine(OSystem *syst);
~QuuxEngine();
TestbedEngine(OSystem *syst);
~TestbedEngine();
virtual Common::Error run();
private:
Console *_console;
// We need random numbers
Common::RandomSource _rnd;
};
// Example console class
class Console : public GUI::Debugger {
public:
Console(QuuxEngine *vm) {}
virtual ~Console(void) {}
};
} // End of namespace Quux
} // End of namespace Testbed
#endif