aboutsummaryrefslogtreecommitdiff
path: root/scumm/debugger.cpp
diff options
context:
space:
mode:
authorJonathan Gray2003-01-18 11:23:02 +0000
committerJonathan Gray2003-01-18 11:23:02 +0000
commit0b4830e80aedde1f62d63ba1343ed3a7387b67e2 (patch)
tree770f1df68e47989ffec56b6a20f512121b385c2f /scumm/debugger.cpp
parent41a5927a96e8c6c90256a12a2d7001dcf809e56f (diff)
downloadscummvm-rg350-0b4830e80aedde1f62d63ba1343ed3a7387b67e2.tar.gz
scummvm-rg350-0b4830e80aedde1f62d63ba1343ed3a7387b67e2.tar.bz2
scummvm-rg350-0b4830e80aedde1f62d63ba1343ed3a7387b67e2.zip
add bounds check for debugger costume switcher
svn-id: r6492
Diffstat (limited to 'scumm/debugger.cpp')
-rw-r--r--scumm/debugger.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/debugger.cpp b/scumm/debugger.cpp
index f6c149b2f3..1495ecf528 100644
--- a/scumm/debugger.cpp
+++ b/scumm/debugger.cpp
@@ -303,6 +303,7 @@ bool ScummDebugger::Cmd_SaveGame(int argc, const char **argv) {
bool ScummDebugger::Cmd_Actor(int argc, const char **argv) {
Actor *a;
int actnum;
+ int value;
if (argc < 3) {
Debug_Printf("Syntax: actor <actornum> <command> <parameter>\n");
@@ -321,8 +322,13 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) {
a->ignoreBoxes = atoi(argv[3]);
Debug_Printf("Actor[%d].ignoreBoxes = %d\n", actnum, a->ignoreBoxes);
} else if (!strcmp(argv[2], "costume")) {
- a->setActorCostume( atoi(argv[3]) );
- Debug_Printf("Actor[%d].costume = %d\n", actnum, a->costume);
+ value = atoi(argv[3]);
+ if (value >= _s->res.num[rtCostume])
+ Debug_Printf("Costume not changed as %d exceeds max of %d\n", value, _s->res.num[rtCostume]);
+ else {
+ a->setActorCostume( value );
+ Debug_Printf("Actor[%d].costume = %d\n", actnum, a->costume);
+ }
} else {
Debug_Printf("Unknown actor command '%s'\n", argv[2]);
}