mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-22 01:57:16 +00:00
DRASCULA: Merge some animation functions and document all animations
This commit is contained in:
parent
069f1079d8
commit
c1b0c80cce
@ -42,7 +42,6 @@ void DrasculaEngine::updateAnim(int y, int destX, int destY, int width, int heig
|
||||
}
|
||||
}
|
||||
|
||||
// This is the game's introduction sequence
|
||||
void DrasculaEngine::animation_1_1() {
|
||||
debug(4, "animation_1_1()");
|
||||
|
||||
@ -372,7 +371,6 @@ void DrasculaEngine::animation_1_1() {
|
||||
loadPic(99, backSurface);
|
||||
}
|
||||
|
||||
// John falls in love with BJ, who is then abducted by Drascula
|
||||
void DrasculaEngine::animation_2_1() {
|
||||
debug(4, "animation_2_1()");
|
||||
|
||||
@ -563,7 +561,6 @@ void DrasculaEngine::animation_2_1() {
|
||||
}
|
||||
}
|
||||
|
||||
// John Hacker talks with the bartender to book a room
|
||||
void DrasculaEngine::animation_3_1() {
|
||||
debug(4, "animation_3_1()");
|
||||
|
||||
@ -574,7 +571,6 @@ void DrasculaEngine::animation_3_1() {
|
||||
loadPic(97, extraSurface);
|
||||
}
|
||||
|
||||
// John Hacker talks with the pianist
|
||||
void DrasculaEngine::animation_4_1() {
|
||||
debug(4, "animation_4_1()");
|
||||
|
||||
@ -676,26 +672,39 @@ void DrasculaEngine::animation_4_2() {
|
||||
pause(5);
|
||||
talk_hacker(57);
|
||||
pause(6);
|
||||
talk_blind(2);
|
||||
pause(4);
|
||||
talk_hacker(58);
|
||||
talk_blind(3);
|
||||
delay(14);
|
||||
talk_hacker(59);
|
||||
talk_blind(4);
|
||||
talk_hacker(60);
|
||||
talk_blind(5);
|
||||
talk_hacker(61);
|
||||
talk_blind(6);
|
||||
talk_hacker(62);
|
||||
talk_blind(7);
|
||||
talk_hacker(63);
|
||||
talk_blind(8);
|
||||
copyBackground();
|
||||
updateScreen();
|
||||
_system->delayMillis(1000);
|
||||
talk_hacker(64);
|
||||
talk_blind(9);
|
||||
|
||||
if (flags[4] == 0) { // first time
|
||||
talk_blind(2);
|
||||
pause(4);
|
||||
talk_hacker(58);
|
||||
talk_blind(3);
|
||||
delay(14);
|
||||
talk_hacker(59);
|
||||
talk_blind(4);
|
||||
talk_hacker(60);
|
||||
talk_blind(5);
|
||||
talk_hacker(61);
|
||||
talk_blind(6);
|
||||
talk_hacker(62);
|
||||
talk_blind(7);
|
||||
talk_hacker(63);
|
||||
talk_blind(8);
|
||||
copyBackground();
|
||||
updateScreen();
|
||||
_system->delayMillis(1000);
|
||||
talk_hacker(64);
|
||||
talk_blind(9);
|
||||
|
||||
flags[4] = 1; // talked to the blind man
|
||||
} else { // second time
|
||||
_system->delayMillis(1000);
|
||||
talk_blind(10);
|
||||
talk_hacker(65);
|
||||
|
||||
flags[33] = 1;
|
||||
}
|
||||
|
||||
flags[9] = 0;
|
||||
|
||||
copyBackground();
|
||||
updateScreen();
|
||||
@ -711,9 +720,6 @@ void DrasculaEngine::animation_4_2() {
|
||||
loadPic(97, extraSurface);
|
||||
loadPic(99, backSurface);
|
||||
selectVerb(kVerbNone);
|
||||
|
||||
flags[9] = 0;
|
||||
flags[4] = 1;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_14_2() {
|
||||
@ -899,10 +905,45 @@ void DrasculaEngine::animation_23_2() {
|
||||
trackVonBraun = 1;
|
||||
talk_vonBraun(18, kVonBraunNormal);
|
||||
|
||||
if (flags[29] == 0)
|
||||
animation_23_joined();
|
||||
else
|
||||
animation_23_joined2();
|
||||
if (flags[29] == 0) {
|
||||
// John isn't wearing earplugs
|
||||
int p_x = curX + 2, p_y = curY - 3;
|
||||
int x[] = {1, 38, 75, 112, 75, 112, 75, 112, 149, 112, 149, 112, 149, 186, 223, 260,
|
||||
1, 38, 75, 112, 149, 112, 149, 112, 149, 112, 149, 186, 223, 260, 260, 260, 260, 223};
|
||||
int y[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76, 76, 76, 76, 76, 76, 76,
|
||||
76, 76, 76, 76, 76, 76, 76, 1, 1, 1, 1};
|
||||
|
||||
loadPic("an23.alg", backSurface);
|
||||
|
||||
for (int n = 0; n < 34; n++) {
|
||||
copyRect(p_x, p_y, p_x, p_y, 36, 74, bgSurface, screenSurface);
|
||||
copyRect(x[n], y[n], p_x, p_y, 36, 74, backSurface, screenSurface);
|
||||
updateRefresh();
|
||||
updateScreen(p_x, p_y, p_x, p_y, 36, 74, screenSurface);
|
||||
updateEvents();
|
||||
pause(5);
|
||||
}
|
||||
} else {
|
||||
// John is wearing earplugs
|
||||
int p_x = curX + 4, p_y = curY;
|
||||
int x[] = {1, 35, 69, 103, 137, 171, 205, 239, 273, 1, 35, 69, 103, 137};
|
||||
int y[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 73, 73, 73, 73};
|
||||
|
||||
pause(50);
|
||||
|
||||
loadPic("an23_2.alg", backSurface);
|
||||
|
||||
for (int n = 0; n < 14; n++) {
|
||||
copyRect(p_x, p_y, p_x, p_y, 33, 71, bgSurface, screenSurface);
|
||||
copyRect(x[n], y[n], p_x, p_y, 33, 71, backSurface, screenSurface);
|
||||
updateRefresh();
|
||||
updateScreen(p_x,p_y, p_x,p_y, 33,71, screenSurface);
|
||||
updateEvents();
|
||||
pause(5);
|
||||
}
|
||||
}
|
||||
|
||||
loadPic(99, backSurface);
|
||||
|
||||
trackVonBraun = 2;
|
||||
animation_25_2();
|
||||
@ -927,52 +968,6 @@ void DrasculaEngine::animation_23_2() {
|
||||
breakOut = 1;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_23_joined() {
|
||||
debug(4, "animation_23_joined()");
|
||||
|
||||
int p_x = curX + 2, p_y = curY - 3;
|
||||
int x[] = {1, 38, 75, 112, 75, 112, 75, 112, 149, 112, 149, 112, 149, 186, 223, 260,
|
||||
1, 38, 75, 112, 149, 112, 149, 112, 149, 112, 149, 186, 223, 260, 260, 260, 260, 223};
|
||||
int y[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76, 76, 76, 76, 76, 76, 76,
|
||||
76, 76, 76, 76, 76, 76, 76, 1, 1, 1, 1};
|
||||
|
||||
loadPic("an23.alg", backSurface);
|
||||
|
||||
for (int n = 0; n < 34; n++) {
|
||||
copyRect(p_x, p_y, p_x, p_y, 36, 74, bgSurface, screenSurface);
|
||||
copyRect(x[n], y[n], p_x, p_y, 36, 74, backSurface, screenSurface);
|
||||
updateRefresh();
|
||||
updateScreen(p_x, p_y, p_x, p_y, 36, 74, screenSurface);
|
||||
updateEvents();
|
||||
pause(5);
|
||||
}
|
||||
|
||||
loadPic(99, backSurface);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_23_joined2() {
|
||||
debug(4, "animation_23_joined2()");
|
||||
|
||||
int p_x = curX + 4, p_y = curY;
|
||||
int x[] = {1, 35, 69, 103, 137, 171, 205, 239, 273, 1, 35, 69, 103, 137};
|
||||
int y[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 73, 73, 73, 73};
|
||||
|
||||
pause(50);
|
||||
|
||||
loadPic("an23_2.alg", backSurface);
|
||||
|
||||
for (int n = 0; n < 14; n++) {
|
||||
copyRect(p_x, p_y, p_x, p_y, 33, 71, bgSurface, screenSurface);
|
||||
copyRect(x[n], y[n], p_x, p_y, 33, 71, backSurface, screenSurface);
|
||||
updateRefresh();
|
||||
updateScreen(p_x,p_y, p_x,p_y, 33,71, screenSurface);
|
||||
updateEvents();
|
||||
pause(5);
|
||||
}
|
||||
|
||||
loadPic(99, backSurface);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_25_2() {
|
||||
debug(4, "animation_25_2()");
|
||||
|
||||
@ -1097,31 +1092,11 @@ void DrasculaEngine::animation_35_2() {
|
||||
fadeToBlack(2);
|
||||
}
|
||||
|
||||
// Use cross on Yoda
|
||||
void DrasculaEngine::animation_2_3() {
|
||||
debug(4, "animation_2_3()");
|
||||
|
||||
flags[0] = 1;
|
||||
playMusic(13);
|
||||
animation_3_3();
|
||||
playMusic(13);
|
||||
animation_4_3();
|
||||
flags[1] = 1;
|
||||
updateRoom();
|
||||
updateScreen(120, 0, 120, 0, 200, 200, screenSurface);
|
||||
animation_5_3();
|
||||
flags[0] = 0;
|
||||
flags[1] = 1;
|
||||
|
||||
loadPic(96, frontSurface);
|
||||
loadPic(97, extraSurface);
|
||||
loadPic(99, backSurface);
|
||||
|
||||
gotoObject(332, 127);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_3_3() {
|
||||
debug(4, "animation_3_3()");
|
||||
|
||||
int px = curX - 20, py = curY - 1;
|
||||
|
||||
@ -1135,12 +1110,11 @@ void DrasculaEngine::animation_3_3() {
|
||||
updateAnim(75, px, py, 71, 72, 4, extraSurface, 3, true);
|
||||
updateAnim(2, px, py, 71, 72, 4, backSurface, 3, true);
|
||||
updateAnim(75, px, py, 71, 72, 4, backSurface, 3, true);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_4_3() {
|
||||
debug(4, "animation_4_3()");
|
||||
playMusic(13);
|
||||
|
||||
int px = 120, py = 63;
|
||||
px = 120;
|
||||
py = 63;
|
||||
|
||||
loadPic("any_1.alg", frontSurface);
|
||||
loadPic("any_2.alg", extraSurface);
|
||||
@ -1152,12 +1126,13 @@ void DrasculaEngine::animation_4_3() {
|
||||
updateAnim(91, px, py, 77, 89, 4, extraSurface, 3, true);
|
||||
updateAnim(1, px, py, 77, 89, 4, backSurface, 3, true);
|
||||
updateAnim(91, px, py, 77, 89, 4, backSurface, 3, true);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_5_3() {
|
||||
debug(4, "animation_5_3()");
|
||||
flags[1] = 1;
|
||||
updateRoom();
|
||||
updateScreen(120, 0, 120, 0, 200, 200, screenSurface);
|
||||
|
||||
int px = curX - 20, py = curY - 1;
|
||||
px = curX - 20;
|
||||
py = curY - 1;
|
||||
|
||||
loadPic("an3y_1.alg", frontSurface);
|
||||
loadPic("an3y_2.alg", extraSurface);
|
||||
@ -1169,6 +1144,15 @@ void DrasculaEngine::animation_5_3() {
|
||||
updateAnim(75, px, py, 71, 72, 4, extraSurface, 3, true);
|
||||
updateAnim(2, px, py, 71, 72, 4, backSurface, 3, true);
|
||||
updateAnim(75, px, py, 71, 72, 4, backSurface, 3, true);
|
||||
|
||||
flags[0] = 0;
|
||||
flags[1] = 1;
|
||||
|
||||
loadPic(96, frontSurface);
|
||||
loadPic(97, extraSurface);
|
||||
loadPic(99, backSurface);
|
||||
|
||||
gotoObject(332, 127);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_6_3() {
|
||||
@ -1203,8 +1187,8 @@ void DrasculaEngine::animation_6_3() {
|
||||
updateScreen();
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_ray() {
|
||||
debug(4, "animation_ray()");
|
||||
void DrasculaEngine::animation_castle() {
|
||||
debug(4, "animation_castle()");
|
||||
|
||||
loadPic("anr_1.alg", frontSurface, HALF_PAL);
|
||||
loadPic("anr_2.alg", extraSurface);
|
||||
@ -1371,18 +1355,6 @@ void DrasculaEngine::animation_5_5(){
|
||||
loadPic(49, bgSurface, HALF_PAL);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_11_5() {
|
||||
debug(4, "animation_11_5()");
|
||||
|
||||
flags[9] = 1;
|
||||
if (flags[2] == 1 && flags[3] == 1 && flags[4] == 1)
|
||||
animation_12_5();
|
||||
else {
|
||||
flags[9] = 0;
|
||||
talk(33);
|
||||
}
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_12_5() {
|
||||
debug(4, "animation_12_5()");
|
||||
|
||||
@ -1432,7 +1404,7 @@ void DrasculaEngine::animation_12_5() {
|
||||
loadPic("3an11_1.alg", backSurface);
|
||||
|
||||
for (frame = 0; frame < 8; frame++) {
|
||||
if (frame == 2 || frame == 4 || frame == 8 || frame==10)
|
||||
if (frame == 2 || frame == 4 || frame == 8 || frame == 10)
|
||||
setPalette((byte *)&bgPalette1);
|
||||
else if (frame == 1 || frame == 5 || frame == 7 || frame == 9)
|
||||
setPalette((byte *)&bgPalette2);
|
||||
@ -1471,35 +1443,11 @@ void DrasculaEngine::animation_12_5() {
|
||||
|
||||
flags[1] = 1;
|
||||
|
||||
animation_13_5();
|
||||
playSound(1);
|
||||
hiccup(12);
|
||||
finishSound();
|
||||
|
||||
loadPic(99, backSurface);
|
||||
|
||||
gotoObject(40, 169);
|
||||
gotoObject(-14, 175);
|
||||
|
||||
doBreak = 1;
|
||||
previousMusic = roomMusic;
|
||||
hare_se_ve = 1;
|
||||
clearRoom();
|
||||
trackProtagonist = 1;
|
||||
characterMoved = 0;
|
||||
curX = -1;
|
||||
objExit = 104;
|
||||
selectVerb(kVerbNone);
|
||||
enterRoom(57);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_13_5() {
|
||||
debug(4, "animation_13_5()");
|
||||
|
||||
// Frankenstein walks to the left and destoys the wall - start
|
||||
int frank_x = 199;
|
||||
int frame = 0;
|
||||
int frus_x[] = {1, 46, 91, 136, 181, 226, 271};
|
||||
int frus_y[] = {1, 1, 1, 1, 1, 1, 1, 89};
|
||||
frame = 0;
|
||||
|
||||
loadPic("auxfr.alg", backSurface);
|
||||
|
||||
@ -1525,6 +1473,27 @@ void DrasculaEngine::animation_13_5() {
|
||||
updateEvents();
|
||||
pause(6);
|
||||
}
|
||||
// Frankenstein walks to the left and destoys the wall - end
|
||||
|
||||
playSound(1);
|
||||
hiccup(12);
|
||||
finishSound();
|
||||
|
||||
loadPic(99, backSurface);
|
||||
|
||||
gotoObject(40, 169);
|
||||
gotoObject(-14, 175);
|
||||
|
||||
doBreak = 1;
|
||||
previousMusic = roomMusic;
|
||||
hare_se_ve = 1;
|
||||
clearRoom();
|
||||
trackProtagonist = 1;
|
||||
characterMoved = 0;
|
||||
curX = -1;
|
||||
objExit = 104;
|
||||
selectVerb(kVerbNone);
|
||||
enterRoom(57);
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_14_5() {
|
||||
@ -1904,27 +1873,6 @@ void DrasculaEngine::animation_24_2() {
|
||||
|
||||
loadPic("an24.alg", frontSurface);
|
||||
|
||||
animation_32_2();
|
||||
|
||||
flags[21] = 1;
|
||||
|
||||
talk_vonBraun(22, kVonBraunNormal);
|
||||
|
||||
if (flags[22] == 0)
|
||||
converse(4);
|
||||
else
|
||||
converse(5);
|
||||
|
||||
exitRoom(0);
|
||||
flags[21] = 0;
|
||||
flags[24] = 0;
|
||||
trackVonBraun = 1;
|
||||
vonBraunX = 120;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_32_2() {
|
||||
debug(4, "animation_32_2()");
|
||||
|
||||
loadPic("an32_1.alg", drawSurface3);
|
||||
loadPic("an32_2.alg", backSurface);
|
||||
|
||||
@ -1945,6 +1893,21 @@ void DrasculaEngine::animation_32_2() {
|
||||
}
|
||||
|
||||
loadPic("aux18.alg", drawSurface3);
|
||||
|
||||
flags[21] = 1;
|
||||
|
||||
talk_vonBraun(22, kVonBraunNormal);
|
||||
|
||||
if (flags[22] == 0)
|
||||
converse(4);
|
||||
else
|
||||
converse(5);
|
||||
|
||||
exitRoom(0);
|
||||
flags[21] = 0;
|
||||
flags[24] = 0;
|
||||
trackVonBraun = 1;
|
||||
vonBraunX = 120;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_34_2() {
|
||||
@ -2132,55 +2095,6 @@ void DrasculaEngine::animation_6_2() {
|
||||
flags[9] = 0;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_33_2() {
|
||||
debug(4, "animation_33_2()");
|
||||
|
||||
stopMusic();
|
||||
flags[9] = 1;
|
||||
|
||||
pause(12);
|
||||
talk(60);
|
||||
pause(8);
|
||||
|
||||
clearRoom();
|
||||
loadPic("ciego1.alg", bgSurface, HALF_PAL); // ciego = blind
|
||||
loadPic("ciego2.alg", drawSurface3);
|
||||
loadPic("ciego3.alg", extraSurface);
|
||||
loadPic("ciego4.alg", backSurface);
|
||||
loadPic("ciego5.alg", frontSurface);
|
||||
|
||||
copyBackground();
|
||||
updateScreen();
|
||||
|
||||
pause(10);
|
||||
|
||||
talk_blind(1);
|
||||
pause(5);
|
||||
talk_hacker(57);
|
||||
pause(6);
|
||||
_system->delayMillis(1000);
|
||||
talk_blind(10);
|
||||
talk_hacker(65);
|
||||
|
||||
copyBackground();
|
||||
updateScreen();
|
||||
|
||||
pause(14);
|
||||
|
||||
clearRoom();
|
||||
|
||||
playMusic(roomMusic);
|
||||
loadPic(9, bgSurface, HALF_PAL);
|
||||
loadPic("aux9.alg", drawSurface3);
|
||||
loadPic(96, frontSurface);
|
||||
loadPic(97, extraSurface);
|
||||
loadPic(99, backSurface);
|
||||
selectVerb(kVerbNone);
|
||||
|
||||
flags[33] = 1;
|
||||
flags[9] = 0;
|
||||
}
|
||||
|
||||
void DrasculaEngine::animation_1_4() {
|
||||
debug(4, "animation_1_4()");
|
||||
|
||||
|
@ -167,7 +167,6 @@ void DrasculaEngine::converse(int index) {
|
||||
// no need to delete the stream, since TextResourceParser takes ownership
|
||||
// delete stream;
|
||||
|
||||
|
||||
if (currentChapter == 2 && !strcmp(fileName, "op_5.cal") && flags[38] == 1 && flags[33] == 1) {
|
||||
strcpy(phrase3, _text[405]);
|
||||
strcpy(sound3, "405.als");
|
||||
|
@ -269,7 +269,7 @@ Common::Error DrasculaEngine::run() {
|
||||
loadPic(96, frontSurface);
|
||||
} else if (currentChapter == 4) {
|
||||
if (loadedDifferentChapter == 0)
|
||||
animation_ray();
|
||||
animation_castle();
|
||||
loadPic(96, frontSurface);
|
||||
clearRoom();
|
||||
} else if (currentChapter == 5) {
|
||||
@ -377,6 +377,8 @@ bool DrasculaEngine::runCurrentChapter() {
|
||||
curY = 56;
|
||||
gotoObject(65, 145);
|
||||
}
|
||||
|
||||
// REMINDER: This is a good place to debug animations
|
||||
} else if (currentChapter == 2) {
|
||||
addObject(kItemPhone);
|
||||
trackProtagonist = 3;
|
||||
@ -647,17 +649,14 @@ bool DrasculaEngine::runCurrentChapter() {
|
||||
}
|
||||
|
||||
if (leftMouseButton != 0 || rightMouseButton != 0 || key != 0)
|
||||
if (currentChapter != 3)
|
||||
framesWithoutAction = 0;
|
||||
framesWithoutAction = 0;
|
||||
|
||||
if (framesWithoutAction == 15000) {
|
||||
screenSaver();
|
||||
if (currentChapter != 3)
|
||||
framesWithoutAction = 0;
|
||||
framesWithoutAction = 0;
|
||||
}
|
||||
|
||||
if (currentChapter != 3)
|
||||
framesWithoutAction++;
|
||||
framesWithoutAction++;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -654,63 +654,55 @@ public:
|
||||
bool room_62(int);
|
||||
bool room_102(int);
|
||||
|
||||
void animation_1_1();
|
||||
void animation_2_1();
|
||||
void animation_3_1();
|
||||
void animation_4_1();
|
||||
//
|
||||
void animation_2_2();
|
||||
void animation_4_2();
|
||||
void animation_5_2();
|
||||
void animation_6_2();
|
||||
void animation_7_2();
|
||||
void animation_11_2();
|
||||
void animation_12_2();
|
||||
void animation_13_2();
|
||||
void animation_14_2();
|
||||
void asco();
|
||||
void animation_16_2();
|
||||
void animation_20_2();
|
||||
void animation_23_2();
|
||||
void animation_23_joined();
|
||||
void animation_23_joined2();
|
||||
void animation_24_2();
|
||||
void animation_25_2();
|
||||
void animation_26_2();
|
||||
void animation_27_2();
|
||||
void animation_29_2();
|
||||
void animation_31_2();
|
||||
void animation_32_2();
|
||||
void animation_33_2();
|
||||
void animation_34_2();
|
||||
void animation_35_2();
|
||||
void animation_36_2();
|
||||
|
||||
void animation_1_1(); // Game introduction
|
||||
void animation_2_1(); // John falls in love with BJ, who is then abducted by Drascula
|
||||
void animation_3_1(); // John talks with the bartender to book a room
|
||||
void animation_4_1(); // John talks with the pianist
|
||||
//
|
||||
void animation_2_3();
|
||||
void animation_3_3();
|
||||
void animation_4_3();
|
||||
void animation_5_3();
|
||||
void animation_6_3();
|
||||
void animation_ray();
|
||||
void animation_2_2(); // John enters the chapel via the window
|
||||
void animation_4_2(); // John talks with the blind man (closeup)
|
||||
void animation_5_2(); // John breaks the chapel window with the pike
|
||||
void animation_6_2(); // The blind man (closeup) thanks John for giving him money and hands him the sickle
|
||||
void animation_7_2(); // John uses the sickle
|
||||
void animation_11_2(); // The drunk man says "they're all dead, thanks *hic*"
|
||||
void animation_12_2(); // Conversation screen - John talks to the pianist after BJ is abducted by Drascula
|
||||
void animation_13_2(); // ???
|
||||
void animation_14_2(); // The glass box falls from the ceiling
|
||||
void animation_16_2(); // The drunk tells us about Von Braun
|
||||
void animation_20_2(); // Von Braun tells John that he needs to have special skills to fight vampires
|
||||
void animation_23_2(); // Von Braun tests John's reactions to scratching noises
|
||||
void animation_24_2(); // Conversation screen - John talks with Von Braun
|
||||
void animation_25_2(); // The glass box is lifted back to the ceiling
|
||||
void animation_26_2(); // John gives the book to the pianist and gets his earplugs in return
|
||||
void animation_27_2(); // Von Braun admits that John is ready to fight vampires and gives him his money back
|
||||
void animation_29_2(); // Von Braun tells John what ingredients he needs for the brew
|
||||
void animation_31_2(); // Von Braun obtains the items needed for the brew from John and creates it
|
||||
void animation_34_2(); // John kicks an object
|
||||
void animation_35_2(); // John jumps into the well
|
||||
void animation_36_2(); // John asks the bartender about the pianist
|
||||
//
|
||||
void animation_1_4();
|
||||
void animation_5_4();
|
||||
void animation_6_4();
|
||||
void animation_7_4();
|
||||
void animation_8_4();
|
||||
void animation_2_3(); // John uses the cross with the Frankenstein-zombie ("yoda") and destroys him
|
||||
void animation_6_3(); // Frankenstein is blocking John's path
|
||||
//
|
||||
void animation_1_5();
|
||||
void animation_5_5();
|
||||
void animation_11_5();
|
||||
void animation_12_5();
|
||||
void animation_13_5();
|
||||
void animation_14_5();
|
||||
void animation_castle(); // Chapter 4 start - Drascula's castle exterior, lightning strikes
|
||||
void animation_1_4(); // Conversation screen - John talks with Igor
|
||||
void animation_5_4(); // John enters Igor's room dressed as Drascula
|
||||
void animation_6_4(); // Igor says that he's going for supper
|
||||
void animation_7_4(); // John removes Drascula's disguise
|
||||
void animation_8_4(); // Secret passage behind bookcase is revealed
|
||||
//
|
||||
void animation_1_6();
|
||||
void animation_5_6();
|
||||
void animation_6_6();
|
||||
void animation_9_6();
|
||||
void animation_19_6();
|
||||
void animation_1_5(); // John finds BJ
|
||||
void animation_5_5(); // ???
|
||||
void animation_12_5(); // Frankenstein comes to life
|
||||
void animation_14_5(); // John finds out that an object is empty
|
||||
//
|
||||
void animation_1_6(); // ???
|
||||
void animation_5_6(); // John is tied to the table. Drascula and Igor lower the pendulum
|
||||
void animation_6_6(); // John uses the pendulum to break free
|
||||
void animation_9_6(); // Game ending - John uses the cross on Drascula and reads BJ's letter
|
||||
void animation_19_6(); // Someone pops up from behind a door when trying to open it
|
||||
|
||||
void update_1_pre();
|
||||
void update_2();
|
||||
|
@ -374,16 +374,16 @@ bool DrasculaEngine::room_8(int fl) {
|
||||
}
|
||||
|
||||
bool DrasculaEngine::room_9(int fl) {
|
||||
if (pickedObject == kVerbTalk && fl == 51 && flags[4] == 0)
|
||||
// Talking with the blind man
|
||||
if (pickedObject == kVerbTalk && fl == 51) {
|
||||
animation_4_2();
|
||||
else if (pickedObject == kVerbTalk && fl == 51 && flags[4] == 1)
|
||||
animation_33_2();
|
||||
else if (pickedObject == 7 && fl == 51) {
|
||||
} else if (pickedObject == 7 && fl == 51) {
|
||||
animation_6_2();
|
||||
removeObject(kItemMoney);
|
||||
pickObject(14);}
|
||||
else
|
||||
pickObject(14);
|
||||
} else {
|
||||
hasAnswer = 0;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -837,9 +837,9 @@ bool DrasculaEngine::room_35(int fl) {
|
||||
}
|
||||
|
||||
bool DrasculaEngine::room_49(int fl) {
|
||||
if (pickedObject == kVerbTalk && fl ==51)
|
||||
if (pickedObject == kVerbTalk && fl == 51)
|
||||
converse(9);
|
||||
else if ((pickedObject == 8 && fl == 51) || (pickedObject == 8 && fl == 203))
|
||||
else if (pickedObject == 8 && (fl == 51 || fl == 203))
|
||||
animation_5_5();
|
||||
else
|
||||
hasAnswer = 0;
|
||||
@ -852,7 +852,13 @@ bool DrasculaEngine::room_53(int fl) {
|
||||
pickObject(16);
|
||||
visible[3] = 0;
|
||||
} else if (pickedObject == kVerbMove && fl == 123) {
|
||||
animation_11_5();
|
||||
flags[9] = 1;
|
||||
if (flags[2] == 1 && flags[3] == 1 && flags[4] == 1) {
|
||||
animation_12_5();
|
||||
} else {
|
||||
flags[9] = 0;
|
||||
talk(33);
|
||||
}
|
||||
} else if (pickedObject == 12 && fl == 52) {
|
||||
flags[3] = 1;
|
||||
talk(401);
|
||||
@ -1649,7 +1655,7 @@ bool DrasculaEngine::room(int rN, int fl) {
|
||||
}
|
||||
}
|
||||
|
||||
// We did not find any parser, let default one work
|
||||
// We did not find any parser, let the default one work
|
||||
hasAnswer = 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user