aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/animation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/drascula/animation.cpp')
-rw-r--r--engines/drascula/animation.cpp174
1 files changed, 87 insertions, 87 deletions
diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp
index 10f1bf4651..f939a033d3 100644
--- a/engines/drascula/animation.cpp
+++ b/engines/drascula/animation.cpp
@@ -52,54 +52,54 @@ void DrasculaEngine::animation_1_1() {
int l, l2, p;
//int pixelPos[6];
- while (term_int == 0) {
+ while (term_int == 0 && !shouldQuit()) {
playMusic(29);
playFLI("logoddm.bin", 9);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
delay(600);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
delay(340);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
playMusic(26);
delay(500);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
playFLI("logoalc.bin", 8);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
loadPic("cielo.alg", screenSurface, COMPLETE_PAL);
black();
updateScreen();
fadeFromBlack(2);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
delay(900);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
color_abc(kColorRed);
centerText(_textmisc[1], 160, 100);
updateScreen();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
delay(1000);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
delay(1200);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
playFLI("scrollb.bin", 9);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
playSound(5);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("scr2.bin", 17))
break;
@@ -108,10 +108,10 @@ void DrasculaEngine::animation_1_1() {
break;
loadPic("cielo2.alg", screenSurface, COMPLETE_PAL);
updateScreen();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
fadeToBlack(1);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
@@ -121,10 +121,10 @@ void DrasculaEngine::animation_1_1() {
loadPic("aux104.alg", drawSurface2);
playMusic(4);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
delay(400);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
for (l2 = 0; l2 < 3; l2++)
@@ -132,13 +132,13 @@ void DrasculaEngine::animation_1_1() {
copyBackground();
copyBackground(interf_x[l], interf_y[l], 156, 45, 63, 31, drawSurface2, screenSurface);
updateScreen();
- if (getScan() == Common::KEYCODE_ESCAPE) {
+ if (getScan() == Common::KEYCODE_ESCAPE || shouldQuit()) {
term_int = 1;
break;
}
pause(3);
}
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
l2 = 0; p = 0;
@@ -157,17 +157,17 @@ void DrasculaEngine::animation_1_1() {
}
if (l2 == 7)
l2 = 0;
- if (getScan() == Common::KEYCODE_ESCAPE) {
+ if (getScan() == Common::KEYCODE_ESCAPE || shouldQuit()) {
term_int = 1;
break;
}
}
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
copyBackground(0, 0, 0, 0, 320, 200, screenSurface, bgSurface);
talk_drascula_big(1);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
@@ -187,17 +187,17 @@ void DrasculaEngine::animation_1_1() {
placeDrascula();
updateScreen();
talk_igor(8, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
copyBackground();
placeIgor();
placeDrascula();
updateScreen();
talk_drascula(2);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_drascula(3);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("lib.bin", 16))
break;
@@ -209,12 +209,12 @@ void DrasculaEngine::animation_1_1() {
updateScreen();
pause(10);
talk_solo(_textd[4],"d4.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
loadPic("plan1.alg", screenSurface, HALF_PAL);
updateScreen();
talk_solo(_textd[5], "d5.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("lib2.bin", 16))
break;
@@ -223,7 +223,7 @@ void DrasculaEngine::animation_1_1() {
updateScreen();
pause(20);
talk_solo(_textd[6], "d6.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("lib2.bin", 16))
break;
@@ -231,34 +231,34 @@ void DrasculaEngine::animation_1_1() {
loadPic("plan3.alg", screenSurface, HALF_PAL);
updateScreen();
pause(20);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_solo(_textd[7], "d7.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
loadPic("plan3.alg", screenSurface, HALF_PAL);
updateScreen();
talk_solo(_textd[8], "d8.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
loadPic(100, bgSurface, HALF_PAL);
MusicFadeout();
stopMusic();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(9, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_drascula(9);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(10, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
playMusic(11);
talk_drascula(10);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("rayo1.bin", 16))
break;
@@ -276,14 +276,14 @@ void DrasculaEngine::animation_1_1() {
black();
playMusic(23);
fadeFromBlack(0);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackDrascula = 1;
talk_igor(1, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_drascula(11, 1);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackDrascula = 3;
copyBackground();
@@ -297,7 +297,7 @@ void DrasculaEngine::animation_1_1() {
placeDrascula();
updateScreen();
talk_drascula(12);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackDrascula = 3;
copyBackground();
@@ -311,11 +311,11 @@ void DrasculaEngine::animation_1_1() {
placeDrascula();
updateScreen();
talk_igor(2, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(13);
talk_drascula(13, 1);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackDrascula = 3;
copyBackground();
@@ -329,35 +329,35 @@ void DrasculaEngine::animation_1_1() {
placeDrascula();
updateScreen();
talk_drascula(14);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(3, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_drascula(15);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(4, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_drascula(16);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(5, kIgorDch);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackIgor = 3;
talk_drascula(17);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(18);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_igor(6, kIgorFront);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
fadeToBlack(0);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
@@ -386,30 +386,30 @@ void DrasculaEngine::animation_2_1() {
term_int = 0;
- for (;;) {
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ while (!shouldQuit()) {
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("ag.bin", 14))
break;
loadPic("an11y13.alg", extraSurface);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_bartender(22);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
loadPic(97, extraSurface);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(4);
playSound(1);
hiccup(18);
finishSound();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
@@ -419,36 +419,36 @@ void DrasculaEngine::animation_2_1() {
color_solo = kColorWhite;
pause(80);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_solo(_textbj[1], "BJ1.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
loadPic("bj.alg", screenSurface, HALF_PAL);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
black();
updateScreen();
fadeFromBlack(1);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
color_solo = kColorYellow;
talk_solo(_text[214], "214.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
clearRoom();
loadPic(16, bgSurface, HALF_PAL);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
loadPic("auxbj.alg", drawSurface3);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
roomNumber = 16;
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
for (l = 0; l < 200; l++)
factor_red[l] = 99;
@@ -459,18 +459,18 @@ void DrasculaEngine::animation_2_1() {
curY = 95;
trackProtagonist = 1;
hare_se_ve = 1;
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
loadPic("97g.alg", extraSurface);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("lev.bin", 15))
break;
gotoObject(100 + curWidth / 2, 99 + curHeight);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackProtagonist = 1;
curX = 100;
@@ -484,46 +484,46 @@ void DrasculaEngine::animation_2_1() {
break;
playMusic(9);
loadPic(97, extraSurface);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
updateRoom();
updateScreen();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(120);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_solo(_text[223], "223.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
color_solo = kColorWhite;
updateRoom();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
updateScreen();
pause(110);
talk_solo(_textbj[11], "BJ11.als");
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
updateRoom();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
updateScreen();
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(118);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
gotoObject(132, 97 + curHeight);
pause(60);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk(224);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk_bj(12);
gotoObject(157, 98 + curHeight);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
if (animate("bes.bin", 16))
break;
@@ -540,25 +540,25 @@ void DrasculaEngine::animation_2_1() {
// Also check animation_9_6(), where the same hack was used by
// the original
roomNumber = -1;
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
pause(8);
updateRoom();
updateScreen();
talk(225);
pause(76);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
trackProtagonist = 1;
updateRoom();
updateScreen();
talk(226);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
updateRoom();
updateScreen();
pause(30);
- if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
+ if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE) || shouldQuit())
break;
talk(227);
fadeToBlack(0);
@@ -1259,7 +1259,7 @@ void DrasculaEngine::animation_1_5() {
startWalking();
talk_bj(21);
- for (;;) {
+ while (!shouldQuit()) {
if (characterMoved == 0)
break;
updateRoom();
@@ -1496,7 +1496,7 @@ void DrasculaEngine::animation_13_5() {
playMusic(18);
- for (;;) {
+ while (!shouldQuit()) {
updateRoom();
copyRect(frus_x[frame], frus_y[frame], frank_x, 81, 44, 87, backSurface, screenSurface);
updateScreen();