diff options
author | Max Horn | 2002-11-26 12:30:47 +0000 |
---|---|---|
committer | Max Horn | 2002-11-26 12:30:47 +0000 |
commit | 2b1f489195d85f145d8d68d9e1542f5ea73d84eb (patch) | |
tree | 699e4b536f0c92a8dbfe40dd275f48be7c9a18e3 | |
parent | df56e29d2e92ddb779edaf39d1026e3db77ee231 (diff) | |
download | scummvm-rg350-2b1f489195d85f145d8d68d9e1542f5ea73d84eb.tar.gz scummvm-rg350-2b1f489195d85f145d8d68d9e1542f5ea73d84eb.tar.bz2 scummvm-rg350-2b1f489195d85f145d8d68d9e1542f5ea73d84eb.zip |
possible fix for bug #642894; cleanup/additional debug output
svn-id: r5717
-rw-r--r-- | scumm/script_v1.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/scumm/script_v1.cpp b/scumm/script_v1.cpp index 482ed33b3b..02f67ac0bd 100644 --- a/scumm/script_v1.cpp +++ b/scumm/script_v1.cpp @@ -1285,9 +1285,10 @@ void Scumm::o5_loadRoom() room = getVarOrDirectByte(0x80); - // FIXME - the following 'if' is needed for Zak256 and MonkeyVGA, but might - // cause regression in other games. - if (room != _currentRoom) + // For small header games, we only call startScene if the room + // actually changed. This avoid unwanted (wrong) fades in Zak256 + // and others. OTOH, it seems to cause a problem in newer games. + if (!(_features & GF_SMALL_HEADER) || room != _currentRoom) startScene(room, 0, 0); _fullRedraw = 1; } @@ -1589,27 +1590,27 @@ void Scumm::o5_resourceRoutines() case 0x1F + 1: // TODO - warning("o5_resourceRoutines %d not yet handled", _opcode); + warning("o5_resourceRoutines %d not yet handled (script %d)", _opcode, vm.slot[_currentScript].number); break; case 0x20 + 1: // TODO - warning("o5_resourceRoutines %d not yet handled", _opcode); + warning("o5_resourceRoutines %d not yet handled (script %d)", _opcode, vm.slot[_currentScript].number); break; case 0x22 + 1: // TODO foo = getVarOrDirectByte(0x40); - warning("o5_resourceRoutines %d not yet handled", _opcode); + warning("o5_resourceRoutines %d not yet handled (script %d)", _opcode, vm.slot[_currentScript].number); break; case 0x23 + 1: // TODO foo = getVarOrDirectByte(0x40); bar = fetchScriptByte(); - warning("o5_resourceRoutines %d not yet handled", _opcode); + warning("o5_resourceRoutines %d not yet handled (script %d)", _opcode, vm.slot[_currentScript].number); break; case 0x24 + 1: // TODO foo = getVarOrDirectByte(0x40); - warning("o5_resourceRoutines %d not yet handled", _opcode); + warning("o5_resourceRoutines %d not yet handled (script %d)", _opcode, vm.slot[_currentScript].number); break; default: @@ -1881,7 +1882,7 @@ void Scumm::o5_setObjectName() int a; int i = 0; byte *name = NULL; - unsigned char work[255]; + unsigned char work[256]; // Read in new name while ((a = fetchScriptByte()) != 0) { @@ -2089,14 +2090,13 @@ void Scumm::o5_stringOps() case 3: /* set string char */ a = getVarOrDirectByte(0x80); b = getVarOrDirectByte(0x40); + c = getVarOrDirectByte(0x20); ptr = getResourceAddress(rtString, a); - if (!(_gameId == GID_LOOM256)) { /* FIXME - LOOM256 */ + if (_gameId != GID_LOOM256) { /* FIXME - LOOM256 */ if (ptr == NULL) error("String %d does not exist", a); - c = getVarOrDirectByte(0x20); ptr[b] = c; - } else - getVarOrDirectByte(0x20); + } break; |