mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-01 08:23:15 +00:00
TSAGE: Add listobjects and moveobject commands to the debugger
This commit is contained in:
parent
e2f34d19c8
commit
2fb7acb000
@ -40,6 +40,8 @@ Debugger::Debugger() : GUI::Debugger() {
|
||||
DCmd_Register("setflag", WRAP_METHOD(Debugger, Cmd_SetFlag));
|
||||
DCmd_Register("getflag", WRAP_METHOD(Debugger, Cmd_GetFlag));
|
||||
DCmd_Register("clearflag", WRAP_METHOD(Debugger, Cmd_ClearFlag));
|
||||
DCmd_Register("listobjects", WRAP_METHOD(Debugger, Cmd_ListObjects));
|
||||
DCmd_Register("moveobject", WRAP_METHOD(Debugger, Cmd_MoveObject));
|
||||
|
||||
DCmd_Register("item", WRAP_METHOD(Debugger, Cmd_Item));
|
||||
}
|
||||
@ -210,6 +212,175 @@ bool Debugger::Cmd_ClearFlag(int argc, const char **argv) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* This command lists the objects available, and their ID
|
||||
*/
|
||||
bool Debugger::Cmd_ListObjects(int argc, const char **argv) {
|
||||
if (argc != 1) {
|
||||
DebugPrintf("Usage: %s\n", argv[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
DebugPrintf("Available objects for this game are:\n");
|
||||
DebugPrintf("0 - Stunner\n");
|
||||
DebugPrintf("1 - Scanner\n");
|
||||
DebugPrintf("2 - Stasis Box\n");
|
||||
DebugPrintf("3 - Info Disk\n");
|
||||
DebugPrintf("4 - Stasis Negator\n");
|
||||
DebugPrintf("5 - Key Device\n");
|
||||
DebugPrintf("6 - Medkit\n");
|
||||
DebugPrintf("7 - Ladder\n");
|
||||
DebugPrintf("8 - Rope\n");
|
||||
DebugPrintf("9 - Key\n");
|
||||
DebugPrintf("10 - Translator\n");
|
||||
DebugPrintf("11 - Ale\n");
|
||||
DebugPrintf("12 - Paper\n");
|
||||
DebugPrintf("13 - Waldos\n");
|
||||
DebugPrintf("14 - Stasis Box 2\n");
|
||||
DebugPrintf("15 - Ring\n");
|
||||
DebugPrintf("16 - Cloak\n");
|
||||
DebugPrintf("17 - Tunic\n");
|
||||
DebugPrintf("18 - Candle\n");
|
||||
DebugPrintf("19 - Straw\n");
|
||||
DebugPrintf("20 - Scimitar\n");
|
||||
DebugPrintf("21 - Sword\n");
|
||||
DebugPrintf("22 - Helmet\n");
|
||||
DebugPrintf("23 - Items\n");
|
||||
DebugPrintf("24 - Concentrator\n");
|
||||
DebugPrintf("25 - Nullifier\n");
|
||||
DebugPrintf("26 - Peg\n");
|
||||
DebugPrintf("27 - Vial\n");
|
||||
DebugPrintf("28 - Jacket\n");
|
||||
DebugPrintf("29 - Tunic 2\n");
|
||||
DebugPrintf("30 - Bone\n");
|
||||
DebugPrintf("31 - Empty Jar\n");
|
||||
DebugPrintf("32 - Jar\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* This command gets an item, or move it to a room
|
||||
*/
|
||||
bool Debugger::Cmd_MoveObject(int argc, const char **argv) {
|
||||
// Check for a flag to clear
|
||||
if ((argc < 2) || (argc > 3)){
|
||||
DebugPrintf("Usage: %s <object number> [<scene number>]\n", argv[0]);
|
||||
DebugPrintf("If no scene is specified, the object will be added to inventory\n", argv[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
int objNum = strToInt(argv[1]);
|
||||
int sceneNum = 1;
|
||||
if (argc == 3)
|
||||
sceneNum = strToInt(argv[2]);
|
||||
|
||||
switch (objNum) {
|
||||
case OBJECT_STUNNER:
|
||||
_globals->_inventory._stunner._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_SCANNER:
|
||||
_globals->_inventory._scanner._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_STASIS_BOX:
|
||||
_globals->_inventory._stasisBox._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_INFODISK:
|
||||
_globals->_inventory._infoDisk._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_STASIS_NEGATOR:
|
||||
_globals->_inventory._stasisNegator._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_KEY_DEVICE:
|
||||
_globals->_inventory._keyDevice._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_MEDKIT:
|
||||
_globals->_inventory._medkit._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_LADDER:
|
||||
_globals->_inventory._ladder._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_ROPE:
|
||||
_globals->_inventory._rope._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_KEY:
|
||||
_globals->_inventory._key._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_TRANSLATOR:
|
||||
_globals->_inventory._translator._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_ALE:
|
||||
_globals->_inventory._ale._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_PAPER:
|
||||
_globals->_inventory._paper._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_WALDOS:
|
||||
_globals->_inventory._waldos._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_STASIS_BOX2:
|
||||
_globals->_inventory._stasisBox2._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_RING:
|
||||
_globals->_inventory._ring._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_CLOAK:
|
||||
_globals->_inventory._cloak._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_TUNIC:
|
||||
_globals->_inventory._tunic._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_CANDLE:
|
||||
_globals->_inventory._candle._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_STRAW:
|
||||
_globals->_inventory._straw._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_SCIMITAR:
|
||||
_globals->_inventory._scimitar._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_SWORD:
|
||||
_globals->_inventory._sword._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_HELMET:
|
||||
_globals->_inventory._helmet._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_ITEMS:
|
||||
_globals->_inventory._items._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_CONCENTRATOR:
|
||||
_globals->_inventory._concentrator._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_NULLIFIER:
|
||||
_globals->_inventory._nullifier._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_PEG:
|
||||
_globals->_inventory._peg._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_VIAL:
|
||||
_globals->_inventory._vial._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_JACKET:
|
||||
_globals->_inventory._jacket._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_TUNIC2:
|
||||
_globals->_inventory._tunic2._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_BONE:
|
||||
_globals->_inventory._bone._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_EMPTY_JAR:
|
||||
_globals->_inventory._emptyJar._sceneNumber = sceneNum;
|
||||
break;
|
||||
case OBJECT_JAR:
|
||||
_globals->_inventory._jar._sceneNumber = sceneNum;
|
||||
break;
|
||||
default:
|
||||
DebugPrintf("Invlid object Id %s\n", argv[1]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Give a specified item to the player
|
||||
*/
|
||||
|
@ -40,11 +40,13 @@ protected:
|
||||
bool Cmd_Scene(int argc, const char **argv);
|
||||
bool Cmd_WalkRegions(int argc, const char **argv);
|
||||
bool Cmd_PriorityRegions(int argc, const char **argv);
|
||||
bool Cmd_Item(int argc, const char **argv);
|
||||
bool Cmd_SetFlag(int argc, const char **argv);
|
||||
bool Cmd_GetFlag(int argc, const char **argv);
|
||||
bool Cmd_ClearFlag(int argc, const char **argv);
|
||||
bool Cmd_ListObjects(int argc, const char **argv);
|
||||
bool Cmd_MoveObject(int argc, const char **argv);
|
||||
|
||||
bool Cmd_Item(int argc, const char **argv);
|
||||
};
|
||||
|
||||
} // End of namespace tSage
|
||||
|
Loading…
x
Reference in New Issue
Block a user