aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
authorGregory Montoir2003-10-20 12:30:34 +0000
committerGregory Montoir2003-10-20 12:30:34 +0000
commit78f87331808d23def7ff3a3048cd4a0f964019d9 (patch)
tree15b8a95f0cdaacca32e25247886391092c2e86df /queen
parent6366fd778bae6bd5c60753ab3dd022ca245af28e (diff)
downloadscummvm-rg350-78f87331808d23def7ff3a3048cd4a0f964019d9.tar.gz
scummvm-rg350-78f87331808d23def7ff3a3048cd4a0f964019d9.tar.bz2
scummvm-rg350-78f87331808d23def7ff3a3048cd4a0f964019d9.zip
fix missing thugs & Hugh during intro + smoother scrolling + flashspecial (sm37)
svn-id: r10914
Diffstat (limited to 'queen')
-rw-r--r--queen/cutaway.cpp30
-rw-r--r--queen/graphics.cpp8
-rw-r--r--queen/graphics.h4
3 files changed, 22 insertions, 20 deletions
diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp
index b9bf9de38b..32cfe308ca 100644
--- a/queen/cutaway.cpp
+++ b/queen/cutaway.cpp
@@ -305,7 +305,7 @@ void Cutaway::actionSpecialMove(int index) {
_graphics->cameraBob(-1);
// XXX fastmode = 1;
- _graphics->update();
+ _graphics->update(true);
int i = 4, k = 160;
@@ -340,18 +340,18 @@ void Cutaway::actionSpecialMove(int index) {
display->horizontalScroll(horizontalScroll);
- bob_thugA1->x += i * 2;
- bob_thugA2->x += i * 2;
- bob_thugA3->x += i * 2;
+ bob_thugA1->x -= i * 2;
+ bob_thugA2->x -= i * 2;
+ bob_thugA3->x -= i * 2;
- bob_hugh1->x += i * 3;
- bob_hugh2->x += i * 3;
- bob_hugh3->x += i * 3;
+ bob_hugh1->x -= i * 3;
+ bob_hugh2->x -= i * 3;
+ bob_hugh3->x -= i * 3;
- bob_thugB1->x += i * 4;
- bob_thugB2->x += i * 4;
+ bob_thugB1->x -= i * 4;
+ bob_thugB2->x -= i * 4;
- _graphics->update();
+ _graphics->update(true);
if (_quit)
return;
@@ -364,7 +364,7 @@ void Cutaway::actionSpecialMove(int index) {
// cdint.cut - flash white
case 37:
- // XXX flashspecial();
+ _logic->display()->palCustomFlash();
break;
// cdint.cut - pan right
@@ -381,7 +381,7 @@ void Cutaway::actionSpecialMove(int index) {
_graphics->cameraBob(-1);
// XXX fastmode = 1;
- _graphics->update();
+ _graphics->update(true);
bob_box ->x += 280 * 2;
bob_beam ->x += 30;
@@ -389,7 +389,7 @@ void Cutaway::actionSpecialMove(int index) {
int horizontalScroll = display->horizontalScroll();
- int i = 4; // XXX 1 in original source code
+ int i = 1;
while (horizontalScroll < 290) {
horizontalScroll = horizontalScroll + i;
@@ -406,7 +406,7 @@ void Cutaway::actionSpecialMove(int index) {
bob_clock->x -= i * 2;
bob_hands->x -= i * 2;
- _graphics->update();
+ _graphics->update(true);
if (_quit)
return;
@@ -445,7 +445,7 @@ void Cutaway::actionSpecialMove(int index) {
bob22->x += i;
- _graphics->update();
+ _graphics->update(true);
if (_quit)
return;
diff --git a/queen/graphics.cpp b/queen/graphics.cpp
index b3624fe38f..5225eb410f 100644
--- a/queen/graphics.cpp
+++ b/queen/graphics.cpp
@@ -806,7 +806,7 @@ void Graphics::cameraBob(int bobNum) {
}
-void Graphics::update() {
+void Graphics::update(bool fastmode) {
// FIXME: temporary code, move to Logic::update()
bobSortAll();
if (_cameraBob >= 0) {
@@ -821,8 +821,10 @@ void Graphics::update() {
_display->prepareUpdate();
bobDrawAll();
textDrawAll();
- g_queen->delay(100);
- _display->palCustomScroll(0); //_currentRoom
+ if (!fastmode) {
+ g_queen->delay(100);
+ }
+ _display->palCustomScroll(_lastRoom);
_display->update(_bobs[0].active, _bobs[0].x, _bobs[0].y);
}
diff --git a/queen/graphics.h b/queen/graphics.h
index 41054fe9ca..7e29de94a5 100644
--- a/queen/graphics.h
+++ b/queen/graphics.h
@@ -131,7 +131,7 @@ public:
void bobDrawAll(); // drawbobs()
void bobClearAll(); // clearallbobs()
BobSlot *bob(int index);
- void bobCustomParallax(uint16 roomNum);
+ void bobCustomParallax(uint16 roomNum); // CHECK_PARALLAX()
void bobSetText(
BobSlot *bob,
@@ -161,7 +161,7 @@ public:
void cameraBob(int bobNum);
int cameraBob() { return _cameraBob; }
- void update();
+ void update(bool fastmode = false);
private: