diff options
author | Gregory Montoir | 2003-12-27 12:58:26 +0000 |
---|---|---|
committer | Gregory Montoir | 2003-12-27 12:58:26 +0000 |
commit | 5bbb3be15957d664ec67d9ed7efc5cc02f750b75 (patch) | |
tree | 1da5294048ace87717f6d31a6733ee61627525ff | |
parent | 9bb75693b0f95bba536a5db931d7d583f1c5c866 (diff) | |
download | scummvm-rg350-5bbb3be15957d664ec67d9ed7efc5cc02f750b75.tar.gz scummvm-rg350-5bbb3be15957d664ec67d9ed7efc5cc02f750b75.tar.bz2 scummvm-rg350-5bbb3be15957d664ec67d9ed7efc5cc02f750b75.zip |
enable alternative introduction
svn-id: r11959
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | queen/graphics.cpp | 2 | ||||
-rw-r--r-- | queen/logic.cpp | 53 | ||||
-rw-r--r-- | queen/logic.h | 2 |
4 files changed, 49 insertions, 9 deletions
@@ -850,6 +850,7 @@ Broken Sword II adds the following non-standard keywords: Flight of the Amazon Queen adds the following non-standard keywords: + alt_intro bool Use alternative version of introduction music_mute bool If true, music is muted sfx_mute bool If true, sound effects are muted speech_mute bool If true, speech is muted diff --git a/queen/graphics.cpp b/queen/graphics.cpp index 278b06b337..6cdda3e44a 100644 --- a/queen/graphics.cpp +++ b/queen/graphics.cpp @@ -598,11 +598,9 @@ void Graphics::bobCustomParallax(uint16 roomNum) { break; case ROOM_CAR_CHASE: _vm->bam()->updateCarAnimation(); -// updateCarBamScene(); break; case ROOM_FINAL_FIGHT: _vm->bam()->updateFightAnimation(); -// updateFightBamScene(); break; case ROOM_INTRO_RITA_JOE_HEADS: // CR 2 - CD-Rom pan right while Rita talks... _cameraBob = -1; diff --git a/queen/logic.cpp b/queen/logic.cpp index fa2826fca6..38192c7ae4 100644 --- a/queen/logic.cpp +++ b/queen/logic.cpp @@ -2481,13 +2481,17 @@ void Logic::changeRoom() { playCutaway("copy.cut"); playCutaway("clogo.cut"); - // TODO enable talking for talkie version + // XXX enable talking for talkie version - playCutaway("cdint.cut"); + if (ConfMan.getBool("alt_intro")) { + _vm->graphics()->loadPanel(); + playCutaway("cintr.cut"); + } + else { + playCutaway("cdint.cut"); + _vm->graphics()->loadPanel(); + } - // restore palette colors ranging from 144 to 256 - _vm->graphics()->loadPanel(); - playCutaway("cred.cut"); } @@ -2630,8 +2634,8 @@ void Logic::executeSpecialMove(uint16 sm) { &Logic::asmPutCameraOnDino, /* 16 */ &Logic::asmPutCameraOnJoe, - NULL, // XXX alternative introduction - NULL, // XXX alternative introduction + &Logic::asmAltIntroPanRight, // cintr.cut + &Logic::asmAltIntroPanLeft, // cintr.cut &Logic::asmSetAzuraInLove, /* 20 */ &Logic::asmPanRightFromJoe, @@ -2827,6 +2831,41 @@ void Logic::asmPutCameraOnJoe() { } +void Logic::asmAltIntroPanRight() { + + _vm->graphics()->cameraBob(-1); + _vm->input()->fastMode(true); + update(); + int16 scrollx = _vm->display()->horizontalScroll(); + while (scrollx < 285 && !_vm->input()->cutawayQuit()) { + ++scrollx; + if (scrollx > 285) { + scrollx = 285; + } + _vm->display()->horizontalScroll(scrollx); + update(); + } + _vm->input()->fastMode(false); +} + + +void Logic::asmAltIntroPanLeft() { + + _vm->graphics()->cameraBob(-1); + _vm->input()->fastMode(true); + int16 scrollx = _vm->display()->horizontalScroll(); + while (scrollx > 0 && !_vm->input()->cutawayQuit()) { + scrollx -= 4; + if (scrollx < 0) { + scrollx = 0; + } + _vm->display()->horizontalScroll(scrollx); + update(); + } + _vm->input()->fastMode(false); +} + + void Logic::asmSetAzuraInLove() { gameState(VAR_AZURA_IN_LOVE, 1); diff --git a/queen/logic.h b/queen/logic.h index d82881aba1..0ec497f96e 100644 --- a/queen/logic.h +++ b/queen/logic.h @@ -264,6 +264,8 @@ public: void asmEndGame(); void asmPutCameraOnDino(); void asmPutCameraOnJoe(); + void asmAltIntroPanRight(); + void asmAltIntroPanLeft(); void asmSetAzuraInLove(); void asmPanRightFromJoe(); void asmSetLightsOff(); |