From 55b95e3f50198e93873fc57440b37ac5fbe5b153 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 3 Nov 2011 01:27:53 +0000 Subject: SCUMM: Fix copy/paste errors --- engines/scumm/debugger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/scumm/debugger.cpp') diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 9cfdfbccc9..54f7fea97b 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -292,7 +292,7 @@ bool ScummDebugger::Cmd_ImportRes(int argc, const char** argv) { if (_vm->_game.features & GF_SMALL_HEADER) { size = file.readUint16LE(); file.seek(-2, SEEK_CUR); - } else if (_vm->_game.features & GF_SMALL_HEADER) { + } else if (_vm->_game.features & GF_SMALL_HEADER) { // FIXME: This never was executed if (_vm->_game.version == 4) file.seek(8, SEEK_CUR); size = file.readUint32LE(); -- cgit v1.2.3 From f2309998ffbcb33a96edac7f2959abc534717827 Mon Sep 17 00:00:00 2001 From: Tobias Gunkel Date: Sun, 15 Jan 2012 20:11:30 +0100 Subject: SCUMM: fix debugger for v0 --- engines/scumm/debugger.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'engines/scumm/debugger.cpp') diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 54f7fea97b..59018f1269 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -382,7 +382,7 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) { DebugPrintf("Actor[%d].costume = %d\n", actnum, a->_costume); } } else if (!strcmp(argv[2], "name")) { - DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getObjOrActorName(actnum)); + DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getActorName(actnum)); } else if (!strcmp(argv[2], "condmask")) { if (argc > 3) { a->_heCondMask = value; @@ -427,9 +427,11 @@ bool ScummDebugger::Cmd_PrintObjects(int argc, const char **argv) { o = &(_vm->_objs[i]); if (o->obj_nr == 0) continue; + int obj = (_vm->_game.version != 0 ? o->obj_nr : OBJECT_V0(o->obj_nr, o->obj_type)); + int classData = (_vm->_game.version != 0 ? _vm->_classData[o->obj_nr] : 0); DebugPrintf("|%4d|%4d|%4d|%5d|%6d|%5d|%2d|$%08x|\n", - o->obj_nr, o->x_pos, o->y_pos, o->width, o->height, o->state, - o->fl_object_index, _vm->_classData[o->obj_nr]); + obj, o->x_pos, o->y_pos, o->width, o->height, o->state, + o->fl_object_index, classData); } DebugPrintf("\n"); @@ -446,7 +448,8 @@ bool ScummDebugger::Cmd_Object(int argc, const char **argv) { } obj = atoi(argv[1]); - if (obj >= _vm->_numGlobalObjects) { + int obj_nr = (_vm->_game.version != 0 ? obj : OBJECT_V0_NR(obj)); + if (obj_nr >= _vm->_numGlobalObjects) { DebugPrintf("Object %d is out of range (range: 1 - %d)\n", obj, _vm->_numGlobalObjects); return true; } -- cgit v1.2.3 From c138ef67099cd14bedd4e0e79080e31e2b41eddd Mon Sep 17 00:00:00 2001 From: Tobias Gunkel Date: Sun, 15 Jan 2012 21:43:21 +0100 Subject: SCUMM: merge _activeObjectNr/_activeObjectType and _cmdObjectNr/_cmdObjectType --- engines/scumm/debugger.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/scumm/debugger.cpp') diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 59018f1269..b52dc7997a 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -382,7 +382,8 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) { DebugPrintf("Actor[%d].costume = %d\n", actnum, a->_costume); } } else if (!strcmp(argv[2], "name")) { - DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getActorName(actnum)); + int actor = (_vm->_game.version != 0 ? actnum : OBJECT_V0(actnum, kObjectV0TypeActor)); + DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getObjOrActorName(actor)); } else if (!strcmp(argv[2], "condmask")) { if (argc > 3) { a->_heCondMask = value; -- cgit v1.2.3 From 347035385e3608c3107db7b9cba0673ce9e03a22 Mon Sep 17 00:00:00 2001 From: Tobias Gunkel Date: Mon, 16 Jan 2012 22:32:46 +0100 Subject: SCUMM: merge object v0 id and type into one object var --- engines/scumm/debugger.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'engines/scumm/debugger.cpp') diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index b52dc7997a..5d1396633f 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -428,10 +428,9 @@ bool ScummDebugger::Cmd_PrintObjects(int argc, const char **argv) { o = &(_vm->_objs[i]); if (o->obj_nr == 0) continue; - int obj = (_vm->_game.version != 0 ? o->obj_nr : OBJECT_V0(o->obj_nr, o->obj_type)); int classData = (_vm->_game.version != 0 ? _vm->_classData[o->obj_nr] : 0); DebugPrintf("|%4d|%4d|%4d|%5d|%6d|%5d|%2d|$%08x|\n", - obj, o->x_pos, o->y_pos, o->width, o->height, o->state, + o->obj_nr, o->x_pos, o->y_pos, o->width, o->height, o->state, o->fl_object_index, classData); } DebugPrintf("\n"); @@ -449,8 +448,7 @@ bool ScummDebugger::Cmd_Object(int argc, const char **argv) { } obj = atoi(argv[1]); - int obj_nr = (_vm->_game.version != 0 ? obj : OBJECT_V0_NR(obj)); - if (obj_nr >= _vm->_numGlobalObjects) { + if (_vm->_game.version != 0 && obj >= _vm->_numGlobalObjects) { DebugPrintf("Object %d is out of range (range: 1 - %d)\n", obj, _vm->_numGlobalObjects); return true; } -- cgit v1.2.3 From 96f8fc6ca9889d30db11b854c95ffd65bb88034d Mon Sep 17 00:00:00 2001 From: Tobias Gunkel Date: Sun, 22 Jan 2012 22:58:10 +0100 Subject: SCUMM: Fix actor ID handling in v0 Some object functions allow actor IDs and object IDs as parameters. They are easily distinguishable in engines > 0 as actor IDs are < _numActors and object IDs are bigger. In v0 this is not the case as there are objects with IDs like 3 and 5 (e.g. the hamster). So object ID handling was unified for v0 and the other engines by introducing objIsActor(), objToActor() and ActorToObj(). --- engines/scumm/debugger.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines/scumm/debugger.cpp') diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp index 5d1396633f..edcf2e6fea 100644 --- a/engines/scumm/debugger.cpp +++ b/engines/scumm/debugger.cpp @@ -382,8 +382,8 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) { DebugPrintf("Actor[%d].costume = %d\n", actnum, a->_costume); } } else if (!strcmp(argv[2], "name")) { - int actor = (_vm->_game.version != 0 ? actnum : OBJECT_V0(actnum, kObjectV0TypeActor)); - DebugPrintf("Name of actor %d: %s\n", actnum, _vm->getObjOrActorName(actor)); + DebugPrintf("Name of actor %d: %s\n", actnum, + _vm->getObjOrActorName(_vm->actorToObj(actnum))); } else if (!strcmp(argv[2], "condmask")) { if (argc > 3) { a->_heCondMask = value; -- cgit v1.2.3