ASYLUM: Add debug command to start a puzzle

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@703 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
This commit is contained in:
Julien Templier 2010-12-10 14:26:50 +00:00 committed by Eugene Sandulenko
parent bedc73b5f5
commit 1d1ae9eea1
No known key found for this signature in database
GPG Key ID: 014D387312D34F08
2 changed files with 32 additions and 1 deletions

View File

@ -66,6 +66,7 @@ Console::Console(AsylumEngine *engine) : _vm(engine) {
DCmd_Register("script", WRAP_METHOD(Console, cmdRunScript));
DCmd_Register("scene", WRAP_METHOD(Console, cmdChangeScene));
DCmd_Register("encounter", WRAP_METHOD(Console, cmdRunEncounter));
DCmd_Register("puzzle", WRAP_METHOD(Console, cmdRunPuzzle));
DCmd_Register("palette", WRAP_METHOD(Console, cmdSetPalette));
DCmd_Register("draw", WRAP_METHOD(Console, cmdDrawResource));
@ -113,6 +114,7 @@ bool Console::cmdHelp(int, const char **) {
DebugPrintf(" script - run a script\n");
DebugPrintf(" scene - change the scene\n");
DebugPrintf(" encounter - run an encounter\n");
DebugPrintf(" puzzle - run an puzzle\n");
DebugPrintf("\n");
DebugPrintf(" palette - set the screen palette\n");
DebugPrintf(" draw - draw a resource\n");
@ -374,7 +376,7 @@ bool Console::cmdChangeScene(int32 argc, const char **argv) {
return true;
}
_vm->_delayedSceneIndex = index;
_vm->_delayedSceneIndex = index;
return false;
}
@ -400,6 +402,34 @@ bool Console::cmdRunEncounter(int32 argc, const char **argv) {
return false;
}
bool Console::cmdRunPuzzle(int32 argc, const char **argv) {
if (argc != 2) {
DebugPrintf("Syntax: %s <puzzle index>\n", argv[0]);
return true;
}
uint32 index = atoi(argv[1]);
// Check index is valid
if (index >= 16) {
DebugPrintf("[Error] Invalid index (was: %d - valid: [0-16])\n", index);
return true;
}
EventHandler *puzzle = _vm->getPuzzle(index);
if (puzzle == NULL) {
DebugPrintf("[Error] This puzzle does not exists (%d)", index);
return true;
}
getScreen()->clear();
getScreen()->clearGraphicsInQueue();
_vm->switchEventHandler(puzzle);
return false;
}
bool Console::cmdSetPalette(int32 argc, const char **argv) {
if (argc != 3) {
DebugPrintf("Syntax: %s <pack> <index>\n", argv[0]);

View File

@ -74,6 +74,7 @@ private:
bool cmdRunScript(int32 argc, const char **argv);
bool cmdChangeScene(int32 argc, const char **argv);
bool cmdRunEncounter(int32 argc, const char **argv);
bool cmdRunPuzzle(int32 argc, const char **argv);
bool cmdSetPalette(int32 argc, const char **argv);
bool cmdDrawResource(int32 argc, const char **argv);