the basic testbed skeleton, removed any trace of quux
svn-id: r49341
This commit is contained in:
parent
3c629571b2
commit
a8a8ea31df
3 changed files with 33 additions and 82 deletions
|
@ -6,25 +6,24 @@
|
||||||
|
|
||||||
#include "engines/metaengine.h"
|
#include "engines/metaengine.h"
|
||||||
|
|
||||||
static const PlainGameDescriptor quux_setting[] = {
|
static const PlainGameDescriptor testbed_setting[] = {
|
||||||
{ "quux", "Quux the Example Module" },
|
{ "testbed", "TestBed: The backend testing framework" },
|
||||||
{ "quuxcd", "Quux the Example Module (CD version)" },
|
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
class QuuxMetaEngine : public MetaEngine {
|
class TestbedMetaEngine : public MetaEngine {
|
||||||
public:
|
public:
|
||||||
virtual const char *getName() const {
|
virtual const char *getName() const {
|
||||||
return "Quux the Example Module";
|
return "TestBed: The backend testing framework";
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual const char *getOriginalCopyright() const {
|
virtual const char *getOriginalCopyright() const {
|
||||||
return "Copyright (C) Quux Entertainment Ltd.";
|
return "Copyright (C) ScummVM";
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual GameList getSupportedGames() const {
|
virtual GameList getSupportedGames() const {
|
||||||
GameList games;
|
GameList games;
|
||||||
const PlainGameDescriptor *g = quux_setting;
|
const PlainGameDescriptor *g = testbed_setting;
|
||||||
while (g->gameid) {
|
while (g->gameid) {
|
||||||
games.push_back(*g);
|
games.push_back(*g);
|
||||||
g++;
|
g++;
|
||||||
|
@ -34,7 +33,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual GameDescriptor findGame(const char *gameid) const {
|
virtual GameDescriptor findGame(const char *gameid) const {
|
||||||
const PlainGameDescriptor *g = quux_setting;
|
const PlainGameDescriptor *g = testbed_setting;
|
||||||
while (g->gameid) {
|
while (g->gameid) {
|
||||||
if (0 == scumm_stricmp(gameid, g->gameid))
|
if (0 == scumm_stricmp(gameid, g->gameid))
|
||||||
break;
|
break;
|
||||||
|
@ -53,7 +52,7 @@ public:
|
||||||
|
|
||||||
if (0 == scumm_stricmp("README", gameName)) {
|
if (0 == scumm_stricmp("README", gameName)) {
|
||||||
// You could check the contents of the file now if you need to.
|
// 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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,7 +78,7 @@ public:
|
||||||
for (uint i = 0; i < detectedGames.size(); i++) {
|
for (uint i = 0; i < detectedGames.size(); i++) {
|
||||||
if (detectedGames[i].gameid() == gameid) {
|
if (detectedGames[i].gameid() == gameid) {
|
||||||
// At this point you may want to perform additional sanity checks.
|
// At this point you may want to perform additional sanity checks.
|
||||||
*engine = new Quux::QuuxEngine(syst);
|
*engine = new Testbed::TestbedEngine(syst);
|
||||||
return Common::kNoError;
|
return Common::kNoError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +89,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
#if PLUGIN_ENABLED_DYNAMIC(TESTBED)
|
#if PLUGIN_ENABLED_DYNAMIC(TESTBED)
|
||||||
REGISTER_PLUGIN_DYNAMIC(TESTBED, PLUGIN_TYPE_ENGINE, QuuxMetaEngine);
|
REGISTER_PLUGIN_DYNAMIC(TESTBED, PLUGIN_TYPE_ENGINE, TestbedMetaEngine);
|
||||||
#else
|
#else
|
||||||
REGISTER_PLUGIN_STATIC(TESTBED, PLUGIN_TYPE_ENGINE, QuuxMetaEngine);
|
REGISTER_PLUGIN_STATIC(TESTBED, PLUGIN_TYPE_ENGINE, TestbedMetaEngine);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,19 +1,13 @@
|
||||||
#include "common/scummsys.h"
|
#include "common/scummsys.h"
|
||||||
|
#include "common/system.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 "engines/util.h"
|
#include "engines/util.h"
|
||||||
|
|
||||||
#include "testbed/testbed.h"
|
#include "testbed/testbed.h"
|
||||||
|
|
||||||
namespace Quux {
|
namespace Testbed {
|
||||||
|
|
||||||
QuuxEngine::QuuxEngine(OSystem *syst)
|
TestbedEngine::TestbedEngine(OSystem *syst)
|
||||||
: Engine(syst) {
|
: Engine(syst) {
|
||||||
// Put your engine in a sane state, but do nothing big yet;
|
// Put your engine in a sane state, but do nothing big yet;
|
||||||
// in particular, do not load data from files; rather, if you
|
// in particular, do not load data from files; rather, if you
|
||||||
|
@ -22,28 +16,18 @@ QuuxEngine::QuuxEngine(OSystem *syst)
|
||||||
// Do not initialize graphics here
|
// Do not initialize graphics here
|
||||||
|
|
||||||
// However this is the place to specify all default directories
|
// 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
|
printf("TestbedEngine::TestbedEngine()\n");
|
||||||
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");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QuuxEngine::~QuuxEngine() {
|
TestbedEngine::~TestbedEngine() {
|
||||||
// Dispose your resources here
|
// Dispose your resources here
|
||||||
printf("QuuxEngine::~QuuxEngine\n");
|
printf("TestbedEngine::~TestbedEngine()\n");
|
||||||
|
|
||||||
// Remove all of our debug levels here
|
// Remove all of our debug levels here
|
||||||
DebugMan.clearAllDebugChannels();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::Error QuuxEngine::run() {
|
Common::Error TestbedEngine::run() {
|
||||||
// Initialize graphics using following:
|
// Initialize graphics using following:
|
||||||
initGraphics(320, 200, false);
|
initGraphics(320, 200, false);
|
||||||
|
|
||||||
|
@ -62,22 +46,15 @@ Common::Error QuuxEngine::run() {
|
||||||
//OSystem::kTransactionSizeChangeFailed here
|
//OSystem::kTransactionSizeChangeFailed here
|
||||||
//_system->endGFXTransaction();
|
//_system->endGFXTransaction();
|
||||||
|
|
||||||
// Create debugger console. It requires GFX to be initialized
|
|
||||||
_console = new Console(this);
|
|
||||||
|
|
||||||
// Additional setup.
|
// 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.
|
// Your main even loop should be (invoked from) here.
|
||||||
printf("QuuxEngine::go: Hello, World!\n");
|
printf("TestbedEngine::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");
|
|
||||||
|
|
||||||
return Common::kNoError;
|
return Common::kNoError;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // End of namespace Quux
|
} // End of namespace Testbed
|
||||||
|
|
|
@ -1,43 +1,18 @@
|
||||||
#ifndef QUUX_H
|
#ifndef TESTBED_H
|
||||||
#define QUUX_H
|
#define TESTBED_H
|
||||||
|
|
||||||
#include "common/random.h"
|
|
||||||
#include "engines/engine.h"
|
#include "engines/engine.h"
|
||||||
#include "gui/debugger.h"
|
|
||||||
|
|
||||||
namespace Quux {
|
namespace Testbed {
|
||||||
|
|
||||||
class Console;
|
class TestbedEngine : public Engine {
|
||||||
|
|
||||||
// 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 {
|
|
||||||
public:
|
public:
|
||||||
QuuxEngine(OSystem *syst);
|
TestbedEngine(OSystem *syst);
|
||||||
~QuuxEngine();
|
~TestbedEngine();
|
||||||
|
|
||||||
virtual Common::Error run();
|
virtual Common::Error run();
|
||||||
|
|
||||||
private:
|
|
||||||
Console *_console;
|
|
||||||
|
|
||||||
// We need random numbers
|
|
||||||
Common::RandomSource _rnd;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Example console class
|
} // End of namespace Testbed
|
||||||
class Console : public GUI::Debugger {
|
|
||||||
public:
|
|
||||||
Console(QuuxEngine *vm) {}
|
|
||||||
virtual ~Console(void) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
} // End of namespace Quux
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue