aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-09-29 08:40:15 +0000
committerTravis Howell2004-09-29 08:40:15 +0000
commitd0e5fe1ded5fd176ff3e4edd03887878ec443180 (patch)
tree6f7a86320a9ec928acef065ade448e49fb6b1ca5
parent8e8761dd4c3f51fb578b0565d8ce6cab07af07ef (diff)
downloadscummvm-rg350-d0e5fe1ded5fd176ff3e4edd03887878ec443180.tar.gz
scummvm-rg350-d0e5fe1ded5fd176ff3e4edd03887878ec443180.tar.bz2
scummvm-rg350-d0e5fe1ded5fd176ff3e4edd03887878ec443180.zip
Should only copy data, not tag/size.
svn-id: r15343
-rw-r--r--TODO1
-rw-r--r--scumm/script_v6.cpp12
2 files changed, 4 insertions, 9 deletions
diff --git a/TODO b/TODO
index de3e1865ca..f4548ed483 100644
--- a/TODO
+++ b/TODO
@@ -255,7 +255,6 @@ SCUMM
- Add proper handling of sound looping in Humongous games
- Add sound pitch support for piano keys in piano mini game of fbear (DOS)
- Add rename/delete file support, to make file opcodes function correctly
- - Fix o6_setboxset, only used when leaving basement in fbear
* Humongous entertainment >= v7 titles:
- Add support for song sync. in HE80+ games.
- Add support for additional sound resources
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 1cc0756bc7..53ce1d3b6e 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -3071,10 +3071,6 @@ void ScummEngine_v6::o6_getPixel() {
}
void ScummEngine_v6::o6_setBoxSet() {
- //FIXME Causes glitches and game to crash
- // Only used in fbear when leaving the basement
- return;
-
int arg = pop() - 1;
const byte *room = getResourceAddress(rtRoom, _roomResource);
@@ -3089,11 +3085,11 @@ void ScummEngine_v6::o6_setBoxSet() {
if (!boxd)
error("ScummEngine_v6::o6_setBoxSet: Can't find dboxes for set %d", arg);
- dboxSize = READ_BE_UINT32(boxd + 4);
+ dboxSize = READ_BE_UINT32(boxd + 4) - 8;
byte *matrix = createResource(rtMatrix, 2, dboxSize);
assert(matrix);
- memcpy(matrix, boxd, dboxSize);
+ memcpy(matrix, boxd + 8, dboxSize);
ResourceIterator boxms(room, false);
for (i = 0; i < arg; i++)
@@ -3102,11 +3098,11 @@ void ScummEngine_v6::o6_setBoxSet() {
if (!boxm)
error("ScummEngine_v6::o6_setBoxSet: Can't find mboxes for set %d", arg);
- mboxSize = READ_BE_UINT32(boxm + 4);
+ mboxSize = READ_BE_UINT32(boxm + 4) - 8;
matrix = createResource(rtMatrix, 1, mboxSize);
assert(matrix);
- memcpy(matrix, boxm, mboxSize);
+ memcpy(matrix, boxm + 8, mboxSize);
if (_version == 7)
putActors();