aboutsummaryrefslogtreecommitdiff
path: root/queen/cutaway.cpp
diff options
context:
space:
mode:
authorGregory Montoir2004-01-10 12:56:07 +0000
committerGregory Montoir2004-01-10 12:56:07 +0000
commit9439e09e45d9e14b9d5bc297a7c618ee3f948f9e (patch)
treec5abae4c86c6e173b2dd81ce50c6ceb37f2fd7bb /queen/cutaway.cpp
parentc4528ac022d13fde66a4d494110da4e97d2660c0 (diff)
downloadscummvm-rg350-9439e09e45d9e14b9d5bc297a7c618ee3f948f9e.tar.gz
scummvm-rg350-9439e09e45d9e14b9d5bc297a7c618ee3f948f9e.tar.bz2
scummvm-rg350-9439e09e45d9e14b9d5bc297a7c618ee3f948f9e.zip
this should fix :
- minor sound glitch in room 50 (temple zombies) - panel undisplayed at the end of cutaway c62c - wrong dirty blocks in room 76 - Cutaway::_cutAnim is now a 21x30 elements array. This is needed for cutaway c69g, where we setup frames for bob num 20 (the original game uses the same value) - Credits::_list is now a 18 elements array (that's what credits2.crd need) svn-id: r12294
Diffstat (limited to 'queen/cutaway.cpp')
-rw-r--r--queen/cutaway.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp
index 1b3d498f86..2d8fc97b05 100644
--- a/queen/cutaway.cpp
+++ b/queen/cutaway.cpp
@@ -390,12 +390,14 @@ void Cutaway::changeRooms(CutawayObject &object) {
_vm->logic()->oldRoom(_initialRoom);
- // FIXME: this cutaway is played at the end of the command 0x178. This command
- // setups some persons and associates bob slots to them. They should be hidden
- // as their y coordinate is > 150, but they aren't ! A (temporary) workaround
- // is to display the room with the panel area enabled.
+ // FIXME - the first cutaway is played at the end of the command 0x178. This
+ // command setups some persons and associates bob slots to them. They should be
+ // hidden as their y coordinate is > 150, but they aren't ! A (temporary)
+ // workaround is to display the room with the panel area enabled. Same problem
+ // for cutaway c62c.
int16 comPanel = _comPanel;
- if (strcmp(_basename, "c41f") == 0 && _temporaryRoom == 106 && object.room == 41) {
+ if ((strcmp(_basename, "c41f") == 0 && _temporaryRoom == 106 && object.room == 41) ||
+ (strcmp(_basename, "c62c") == 0 && _temporaryRoom == 105 && object.room == 41)) {
comPanel = 1;
}
@@ -820,7 +822,7 @@ void Cutaway::handlePersonRecord(
if (0 != strcmp(sentence, "*")) {
if (sentence[0] == '#') {
- debug(0, "Starting credits");
+ debug(0, "Starting credits '%s'", sentence + 1);
_vm->logic()->startCredits(sentence + 1);
}
else {
@@ -1286,7 +1288,8 @@ int Cutaway::makeComplexAnimation(int16 currentImage, Cutaway::CutawayAnim *objA
int frameIndex[256];
int i;
int bobNum = objAnim[0].object;
-
+ assert(bobNum < 21);
+
memset(frameIndex, 0, sizeof(frameIndex));
debug(6, "[Cutaway::makeComplexAnimation] currentImage = %i", currentImage);