2008-05-02 11:18:46 +00:00
|
|
|
/* ScummVM - Graphic Adventure Engine
|
|
|
|
*
|
|
|
|
* ScummVM is the legal property of its developers, whose names
|
|
|
|
* are too numerous to list here. Please refer to the COPYRIGHT
|
|
|
|
* file distributed with this source distribution.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*
|
|
|
|
* $URL$
|
|
|
|
* $Id$
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "drascula/drascula.h"
|
|
|
|
|
|
|
|
namespace Drascula {
|
|
|
|
|
|
|
|
static const int interf_x[] ={ 1, 65, 129, 193, 1, 65, 129 };
|
|
|
|
static const int interf_y[] ={ 51, 51, 51, 51, 83, 83, 83 };
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_1() {
|
|
|
|
int l, l2, p;
|
|
|
|
int pos_pixel[6];
|
|
|
|
|
|
|
|
while (term_int == 0) {
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(29);
|
2008-05-02 11:18:46 +00:00
|
|
|
fliplay("logoddm.bin", 9);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
delay(600);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
delay(340);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(26);
|
2008-05-02 11:18:46 +00:00
|
|
|
delay(500);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
fliplay("logoalc.bin", 8);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("cielo.alg");
|
|
|
|
decompressPic(dir_zona_pantalla, 256);
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(2);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
delay(900);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 10:53:59 +00:00
|
|
|
color_abc(RED);
|
2008-05-24 21:23:06 +00:00
|
|
|
centra_texto(_textmisc[_lang][1], 160, 100);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
delay(1000);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
delay(1200);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
|
|
|
fliplay("scrollb.bin", 9);
|
|
|
|
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("scr2.bin", 17))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound_corte();
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("scr3.bin", 17))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("cielo2.alg");
|
|
|
|
decompressPic(dir_zona_pantalla, 256);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
FundeAlNegro(1);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_hare_frente, COMPLETE_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("103.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("104.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("aux104.alg");
|
|
|
|
decompressPic(dir_dibujo2, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
delay(400);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
|
|
|
for (l2 = 0; l2 < 3; l2++)
|
|
|
|
for (l = 0; l < 7; l++) {
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyBackground(interf_x[l], interf_y[l], 156, 45, 63, 31, dir_dibujo2, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
if (getscan() == Common::KEYCODE_ESCAPE) {
|
|
|
|
term_int = 1;
|
|
|
|
break;
|
|
|
|
}
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
|
|
|
l2 = 0; p = 0;
|
|
|
|
pos_pixel[3] = 45;
|
|
|
|
pos_pixel[4] = 63;
|
|
|
|
pos_pixel[5] = 31;
|
|
|
|
|
|
|
|
for (l = 0; l < 180; l++) {
|
|
|
|
copyBackground(0, 0, 320 - l, 0, l, 200, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
copyBackground(l, 0, 0, 0, 320 - l, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
|
|
|
|
pos_pixel[0] = interf_x[l2];
|
|
|
|
pos_pixel[1] = interf_y[l2];
|
|
|
|
pos_pixel[2] = 156 - l;
|
|
|
|
|
|
|
|
copyRectClip(pos_pixel, dir_dibujo2, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
p++;
|
|
|
|
if (p == 6) {
|
|
|
|
p = 0;
|
|
|
|
l2++;
|
|
|
|
}
|
|
|
|
if (l2 == 7)
|
|
|
|
l2 = 0;
|
|
|
|
if (getscan() == Common::KEYCODE_ESCAPE) {
|
|
|
|
term_int = 1;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1);
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_grande(_textd[_lang][1], "D1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("100.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("auxigor.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("auxdr.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_dr = 0;
|
|
|
|
x_dr = 129;
|
|
|
|
y_dr = 95;
|
|
|
|
sentido_igor = 1;
|
|
|
|
x_igor = 66;
|
|
|
|
y_igor = 97;
|
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][8], "I8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][2], "d2.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][3], "d3.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("lib.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("lib2.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 10:53:59 +00:00
|
|
|
color_solo = RED;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("plan1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][4],"d4.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("plan1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][5], "d5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("lib2.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("plan2.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(20);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][6], "d6.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("lib2.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("plan3.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(20);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][7], "d7.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("plan3.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][8], "d8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("100.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
MusicFadeout();
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][9], "I9.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][9], "d9.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][10], "I10.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(11);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][10], "d10.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("rayo1.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s5.als");
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("rayo2.bin", 15))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("frel2.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("frel.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("frel.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound_corte();
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(23);
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeDelNegro(0);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_dr = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][1], "I1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][11], "d11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_dr = 3;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_dr = 0;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][12], "d12.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_dr = 3;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_dr = 1;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][2], "I2.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(13);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][13],"d13.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_dr = 3;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_dr = 0;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_igor();
|
|
|
|
pon_dr();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][14], "d14.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][3], "I3.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][15], "d15.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][4], "I4.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][16], "d16.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_dch(_texti[_lang][5], "I5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_igor = 3;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][17], "d17.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(18);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_frente(_texti[_lang][6], "I6.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
FundeAlNegro(0);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(2);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
fliplay("intro.bin", 12);
|
|
|
|
term_int = 1;
|
|
|
|
}
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("96.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_hare_frente, COMPLETE_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-11 12:47:26 +00:00
|
|
|
void DrasculaEngine::talk_dr_grande(const char *said, const char *filename) {
|
2008-05-02 13:21:06 +00:00
|
|
|
int x_talk[4] = {47, 93, 139, 185};
|
2008-05-02 11:18:46 +00:00
|
|
|
int cara;
|
|
|
|
int l = 0;
|
2008-05-26 19:50:05 +00:00
|
|
|
int longitud = strlen(said);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-26 19:50:05 +00:00
|
|
|
_rnd->setSeed((unsigned int)_system->getMillis() / 2);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 10:53:59 +00:00
|
|
|
color_abc(RED);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (hay_sb == 1) {
|
|
|
|
sku = new Common::File;
|
|
|
|
sku->open(filename);
|
|
|
|
if (!sku->isOpen()) {
|
|
|
|
error("no puedo abrir archivo de voz");
|
|
|
|
}
|
|
|
|
ctvd_init(2);
|
|
|
|
ctvd_speaker(1);
|
|
|
|
ctvd_output(sku);
|
|
|
|
}
|
|
|
|
|
|
|
|
bucless:
|
|
|
|
|
|
|
|
cara = _rnd->getRandomNumber(3);
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyBackground(interf_x[l] + 24, interf_y[l], 0, 45, 39, 31, dir_dibujo2, dir_zona_pantalla);
|
2008-05-02 13:21:06 +00:00
|
|
|
copyBackground(x_talk[cara], 1, 171, 68, 45, 48, dir_dibujo2, dir_zona_pantalla);
|
2008-05-02 11:18:46 +00:00
|
|
|
l++;
|
|
|
|
if (l == 7)
|
|
|
|
l = 0;
|
|
|
|
|
2008-05-11 11:20:40 +00:00
|
|
|
if (withVoices == 0)
|
2008-05-11 12:47:26 +00:00
|
|
|
centra_texto(said, 191, 69);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
byte key = getscan();
|
|
|
|
if (key == Common::KEYCODE_ESCAPE)
|
|
|
|
term_int = 1;
|
|
|
|
|
|
|
|
if (key != 0)
|
|
|
|
ctvd_stop();
|
|
|
|
if (hay_sb == 1) {
|
|
|
|
if (LookForFree() != 0)
|
|
|
|
goto bucless;
|
|
|
|
delete sku;
|
|
|
|
sku = NULL;
|
|
|
|
ctvd_terminate();
|
|
|
|
} else {
|
2008-05-26 19:50:05 +00:00
|
|
|
longitud -= 2;
|
2008-05-02 11:18:46 +00:00
|
|
|
if (longitud > 0)
|
|
|
|
goto bucless;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_1() {
|
|
|
|
int l;
|
|
|
|
|
|
|
|
lleva_al_hare(231, 91);
|
|
|
|
hare_se_ve = 0;
|
|
|
|
|
|
|
|
term_int = 0;
|
|
|
|
|
|
|
|
for (;;) {
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("ag.bin", 14))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an11y13.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_tabernero(_textt[_lang][22], "T22.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
hipo(18);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
corta_musica = 1;
|
|
|
|
memset(dir_zona_pantalla, 0, 64000);
|
2008-05-11 10:53:59 +00:00
|
|
|
color_solo = WHITE;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(80);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textbj[_lang][1], "BJ1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("bj.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_zona_pantalla, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(1);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 10:53:59 +00:00
|
|
|
color_solo = YELLOW;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_text[_lang][214], "214.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("16.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("auxbj.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
|
|
|
strcpy(num_room, "16.alg");
|
|
|
|
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
for (l = 0; l < 200; l++)
|
|
|
|
factor_red[l] = 99;
|
|
|
|
x_bj = 170;
|
|
|
|
y_bj = 90;
|
|
|
|
sentido_bj = 0;
|
|
|
|
hare_x = 91;
|
|
|
|
hare_y = 95;
|
|
|
|
sentido_hare = 1;
|
|
|
|
hare_se_ve = 1;
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("97g.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("lev.bin", 15))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
lleva_al_hare(100 + ancho_hare / 2, 99 + alto_hare);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_hare = 1;
|
|
|
|
hare_x = 100;
|
|
|
|
hare_y = 95;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_bj(_textbj[_lang][2], "BJ2.als");
|
|
|
|
talk(_text[_lang][215], "215.als");
|
|
|
|
talk_bj(_textbj[_lang][3], "BJ3.als");
|
|
|
|
talk(_text[_lang][216], "216.als");
|
|
|
|
talk_bj(_textbj[_lang][4], "BJ4.als");
|
|
|
|
talk_bj(_textbj[_lang][5], "BJ5.als");
|
|
|
|
talk_bj(_textbj[_lang][6], "BJ6.als");
|
|
|
|
talk(_text[_lang][217], "217.als");
|
|
|
|
talk_bj(_textbj[_lang][7], "BJ7.als");
|
|
|
|
talk(_text[_lang][218], "218.als");
|
|
|
|
talk_bj(_textbj[_lang][8], "BJ8.als");
|
|
|
|
talk(_text[_lang][219], "219.als");
|
|
|
|
talk_bj(_textbj[_lang][9], "BJ9.als");
|
|
|
|
talk(_text[_lang][220], "220.als");
|
|
|
|
talk(_text[_lang][221], "221.als");
|
|
|
|
talk_bj(_textbj[_lang][10], "BJ10.als");
|
|
|
|
talk(_text[_lang][222], "222.als");
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("gaf.bin", 15))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("bjb.bin", 14))
|
|
|
|
break;
|
|
|
|
playMusic(9);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("97.alg");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(120);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_text[_lang][223], "223.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-11 10:53:59 +00:00
|
|
|
color_solo = WHITE;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(110);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textbj[_lang][11], "BJ11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(118);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
lleva_al_hare(132, 97 + alto_hare);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(60);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][224], "224.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_bj(_textbj[_lang][12], "BJ12.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(157, 98 + alto_hare);
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("bes.bin", 16))
|
|
|
|
break;
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(11);
|
2008-05-26 14:08:53 +00:00
|
|
|
if (anima("rap.bin", 16))
|
2008-05-02 11:18:46 +00:00
|
|
|
break;
|
|
|
|
sentido_hare = 3;
|
|
|
|
strcpy(num_room, "no_bj.alg");
|
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(8);
|
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][225], "225.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(76);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
|
|
|
sentido_hare = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][226], "226.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(30);
|
2008-05-02 11:18:46 +00:00
|
|
|
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
|
|
|
|
break;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][227],"227.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(0);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_1() {
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an11y13.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][192], "192.als");
|
|
|
|
talk_tabernero(_textt[_lang][1], "t1.als");
|
|
|
|
talk(_text[_lang][193], "193.als");
|
|
|
|
talk_tabernero(_textt[_lang][2], "t2.als");
|
|
|
|
talk(_text[_lang][194], "194.als");
|
|
|
|
talk_tabernero(_textt[_lang][3], "t3.als");
|
|
|
|
talk(_text[_lang][195], "195.als");
|
|
|
|
talk_tabernero(_textt[_lang][4], "t4.als");
|
|
|
|
talk(_text[_lang][196], "196.als");
|
|
|
|
talk_tabernero(_textt[_lang][5], "t5.als");
|
|
|
|
talk_tabernero(_textt[_lang][6], "t6.als");
|
|
|
|
talk(_text[_lang][197], "197.als");
|
|
|
|
talk_tabernero(_textt[_lang][7], "t7.als");
|
|
|
|
talk(_text[_lang][198], "198.als");
|
|
|
|
talk_tabernero(_textt[_lang][8], "t8.als");
|
|
|
|
talk(_text[_lang][199], "199.als");
|
|
|
|
talk_tabernero(_textt[_lang][9], "t9.als");
|
|
|
|
talk(_text[_lang][200], "200.als");
|
|
|
|
talk(_text[_lang][201], "201.als");
|
|
|
|
talk(_text[_lang][202], "202.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
flags[0] = 1;
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_1() {
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an12.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][205],"205.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(228,112, 228,112, 47,60, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 1;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][1], "p1.als");
|
|
|
|
talk(_text[_lang][206], "206.als");
|
|
|
|
talk_pianista(_textp[_lang][2], "p2.als");
|
|
|
|
talk(_text[_lang][207], "207.als");
|
|
|
|
talk_pianista(_textp[_lang][3], "p3.als");
|
|
|
|
talk(_text[_lang][208], "208.als");
|
|
|
|
talk_pianista(_textp[_lang][4], "p4.als");
|
|
|
|
talk(_text[_lang][209], "209.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_2() {
|
|
|
|
lleva_al_hare(178, 121);
|
|
|
|
lleva_al_hare(169, 135);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_2() {
|
|
|
|
int n, x=0;
|
|
|
|
|
|
|
|
sentido_hare = 0;
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an2_1.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("an2_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyBackground(1, 1, 201, 87, 50, 52, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 201, 87, 50, 52, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(201,87, 201,87, 50,52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 55, 201, 87, 50, 52, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(201, 87, 201, 87, 50, 52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++){
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 109, 201, 87, 50, 52, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(201, 87, 201, 87, 50, 52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s2.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 201, 87, 50, 52, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(201,87, 201,87, 50,52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 55, 201, 87, 50, 52, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(201, 87, 201, 87, 50, 52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 2; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 109, 201, 87, 50, 52, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(201, 87, 201, 87, 50, 52, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause (4);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
hipo_sin_nadie(12);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_2() {
|
|
|
|
lleva_al_hare(163, 106);
|
|
|
|
lleva_al_hare(287, 101);
|
|
|
|
sentido_hare = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_2() {
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[9] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(12);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_textd[_lang][56], "d56.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(8);
|
|
|
|
|
|
|
|
clearRoom();
|
|
|
|
loadPic("ciego1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("ciego2.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("ciego3.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("ciego4.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("ciego5.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][57], "d57.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][69],"d69.als", _textd1[_lang][69 - TEXTD_START]);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][58],"d58.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][70],"d70.als", _textd1[_lang][70 - TEXTD_START]);
|
2008-05-02 11:18:46 +00:00
|
|
|
delay(14);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][59],"d59.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][71],"d71.als", _textd1[_lang][71 - TEXTD_START]);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][60],"d60.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][72],"d72.als", _textd1[_lang][72 - TEXTD_START]);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][61],"d61.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][73],"d73.als", _textd1[_lang][73 - TEXTD_START]);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][62],"d62.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][74],"d74.als", _textd1[_lang][74 - TEXTD_START]);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][63],"d63.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][75],"d75.als", _textd1[_lang][75 - TEXTD_START]);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(1000);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][64], "d64.als");
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][76], "d76.als", _textd1[_lang][76 - TEXTD_START]);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(14);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 12:47:26 +00:00
|
|
|
playMusic(roomMusic);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("9.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("aux9.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[9] = 0;
|
|
|
|
flags[4] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_8_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][6], "P6.als");
|
|
|
|
talk(_text[_lang][358], "358.als");
|
|
|
|
talk_pianista(_textp[_lang][7], "P7.als");
|
|
|
|
talk_pianista(_textp[_lang][8], "P8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_9_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][9], "P9.als");
|
|
|
|
talk_pianista(_textp[_lang][10], "P10.als");
|
|
|
|
talk_pianista(_textp[_lang][11], "P11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_10_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][12], "P12.als");
|
|
|
|
talk(_text[_lang][361], "361.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(40);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][13], "P13.als");
|
|
|
|
talk(_text[_lang][362], "362.als");
|
|
|
|
talk_pianista(_textp[_lang][14], "P14.als");
|
|
|
|
talk(_text[_lang][363], "363.als");
|
|
|
|
talk_pianista(_textp[_lang][15], "P15.als");
|
|
|
|
talk(_text[_lang][364], "364.als");
|
|
|
|
talk_pianista(_textp[_lang][16], "P16.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_14_2() {
|
|
|
|
int n, pos_cabina[6];
|
|
|
|
int l = 0;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an14_2.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an14_1.alg");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
pos_cabina[0] = 150;
|
|
|
|
pos_cabina[1] = 6;
|
|
|
|
pos_cabina[2] = 69;
|
|
|
|
pos_cabina[3] = -160;
|
|
|
|
pos_cabina[4] = 158;
|
|
|
|
pos_cabina[5] = 161;
|
|
|
|
|
|
|
|
for (n = -160; n <= 0; n = n + 5 + l) {
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
pon_hare();
|
|
|
|
pon_vb();
|
|
|
|
pos_cabina[3] = n;
|
|
|
|
copyRectClip(pos_cabina, dir_hare_fondo, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
l = l + 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
flags[24] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
decompressPic(dir_dibujo1, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s7.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
hipo(15);
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_15_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_borracho(_textb[_lang][8], "B8.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(7);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_borracho(_textb[_lang][9], "B9.als");
|
|
|
|
talk_borracho(_textb[_lang][10], "B10.als");
|
|
|
|
talk_borracho(_textb[_lang][11], "B11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_16_2() {
|
|
|
|
int l;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_borracho(_textb[_lang][12], "B12.als");
|
|
|
|
talk(_text[_lang][371], "371.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
playMusic(30);
|
|
|
|
else
|
|
|
|
playMusic(32);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
int key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang != kSpanish)
|
|
|
|
color_abc(DARK_GREEN);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("his1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang == kSpanish)
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-11 11:11:24 +00:00
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang != kSpanish)
|
|
|
|
centra_texto(_texthis[_lang][1], 180, 180);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang == kSpanish)
|
|
|
|
FundeDelNegro(1);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang == kSpanish)
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(3000);
|
2008-05-11 11:11:24 +00:00
|
|
|
else
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(4000);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
|
|
|
FundeAlNegro(1);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("his2.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang != kSpanish)
|
|
|
|
centra_texto(_texthis[_lang][2], 180, 180);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang == kSpanish)
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(3000);
|
2008-05-11 11:11:24 +00:00
|
|
|
else
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(4000);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
|
|
|
FundeAlNegro(1);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("his3.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang != kSpanish)
|
|
|
|
centra_texto(_texthis[_lang][3], 180, 180);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang == kSpanish)
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(3000);
|
2008-05-11 11:11:24 +00:00
|
|
|
else
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(4000);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
|
|
|
FundeAlNegro(1);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("his4_1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("his4_2.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo3, dir_zona_pantalla);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
|
|
|
if (_lang != kSpanish)
|
|
|
|
centra_texto(_texthis[_lang][1], 180, 180);
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
if (_lang == kSpanish)
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(2000);
|
2008-05-11 11:11:24 +00:00
|
|
|
else
|
2008-05-26 20:18:27 +00:00
|
|
|
_system->delayMillis(4000);
|
2008-05-11 11:11:24 +00:00
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
|
|
|
|
for (l = 1; l < 200; l++) {
|
|
|
|
copyBackground(0, 0, 0, l, 320, 200 - l, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
copyBackground(0, 200 - l, 0, 0, 320, l, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
key = getscan();
|
|
|
|
if (key != 0)
|
|
|
|
goto asco;
|
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(2);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
asco:
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic(roomDisk);
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic(num_room);
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(0);
|
2008-05-11 12:47:26 +00:00
|
|
|
if (roomMusic != 0)
|
|
|
|
playMusic(roomMusic);
|
2008-05-02 11:18:46 +00:00
|
|
|
else
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_17_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_borracho(_textb[_lang][13], "B13.als");
|
|
|
|
talk_borracho(_textb[_lang][14], "B14.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[40] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_19_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vbpuerta(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_20_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vbpuerta(7);
|
|
|
|
talk_vbpuerta(8);
|
|
|
|
talk(383);
|
|
|
|
talk_vbpuerta(9);
|
|
|
|
talk(384);
|
|
|
|
talk_vbpuerta(10);
|
|
|
|
talk(385);
|
|
|
|
talk_vbpuerta(11);
|
2008-05-02 11:18:46 +00:00
|
|
|
if (flags[23] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(350);
|
|
|
|
talk_vbpuerta(57);
|
2008-05-02 11:18:46 +00:00
|
|
|
} else {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(386);
|
|
|
|
talk_vbpuerta(12);
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[18] = 0;
|
|
|
|
flags[14] = 1;
|
2008-05-11 11:20:40 +00:00
|
|
|
openDoor(15, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sal_de_la_habitacion(1);
|
|
|
|
animation_23_2();
|
|
|
|
sal_de_la_habitacion(0);
|
|
|
|
flags[21] = 0;
|
|
|
|
flags[24] = 0;
|
|
|
|
sentido_vb = 1;
|
|
|
|
vb_x = 120;
|
|
|
|
|
|
|
|
rompo_y_salgo = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_21_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vbpuerta(6);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_23_2() {
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an24.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
flags[21] = 1;
|
|
|
|
|
|
|
|
if (flags[25] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(13);
|
|
|
|
talk_vb(14);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(387);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(15);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_vb(42);
|
|
|
|
sentido_vb = 1;
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(16);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_vb = 2;
|
|
|
|
lleva_al_hare(157, 147);
|
|
|
|
lleva_al_hare(131, 149);
|
|
|
|
sentido_hare = 0;
|
|
|
|
animation_14_2();
|
|
|
|
if (flags[25] == 0)
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(17);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(8);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_vb = 1;
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(18);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[29] == 0)
|
|
|
|
animation_23_anexo();
|
|
|
|
else
|
|
|
|
animation_23_anexo2();
|
|
|
|
|
|
|
|
sentido_vb = 2;
|
|
|
|
animation_25_2();
|
|
|
|
lleva_vb(99);
|
|
|
|
|
|
|
|
if (flags[29] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(19);
|
2008-05-02 11:18:46 +00:00
|
|
|
if (flags[25] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(20);
|
2008-05-02 11:18:46 +00:00
|
|
|
if (resta_objeto(7) == 0)
|
|
|
|
flags[30] = 1;
|
|
|
|
if (resta_objeto(18) == 0)
|
|
|
|
flags[31] = 1;
|
|
|
|
if (resta_objeto(19) == 0)
|
|
|
|
flags[32] = 1;
|
|
|
|
}
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(21);
|
2008-05-02 11:18:46 +00:00
|
|
|
} else
|
|
|
|
animation_27_2();
|
|
|
|
|
|
|
|
flags[25] = 1;
|
|
|
|
rompo_y_salgo = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_23_anexo() {
|
|
|
|
int n, p_x = hare_x + 2, p_y = hare_y - 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};
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an23.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 34; n++) {
|
|
|
|
copyRect(p_x, p_y, p_x, p_y, 36, 74, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x[n], y[n], p_x, p_y, 36, 74, dir_hare_fondo, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(p_x, p_y, p_x, p_y, 36, 74, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_23_anexo2() {
|
|
|
|
int n, p_x = hare_x + 4, p_y = hare_y;
|
|
|
|
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};
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(50);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an23_2.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 14; n++) {
|
|
|
|
copyRect(p_x, p_y, p_x, p_y, 33, 71, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x[n], y[n], p_x, p_y, 33, 71, dir_hare_fondo, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(p_x,p_y, p_x,p_y, 33,71, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo,1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_25_2() {
|
|
|
|
int n, pos_cabina[6];
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an14_2.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("18.alg");
|
|
|
|
decompressPic(dir_dibujo1, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
pos_cabina[0] = 150;
|
|
|
|
pos_cabina[1] = 6;
|
|
|
|
pos_cabina[2] = 69;
|
|
|
|
pos_cabina[3] = 0;
|
|
|
|
pos_cabina[4] = 158;
|
|
|
|
pos_cabina[5] = 161;
|
|
|
|
|
|
|
|
flags[24] = 0;
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s6.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n >= -160; n = n - 8) {
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
pon_hare();
|
|
|
|
pon_vb();
|
|
|
|
|
|
|
|
pos_cabina[3] = n;
|
|
|
|
|
|
|
|
copyRectClip(pos_cabina, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_27_2() {
|
|
|
|
flags[22] = 1;
|
|
|
|
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(23);
|
|
|
|
suma_objeto(11);
|
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(23);
|
|
|
|
talk_vb(24);
|
2008-05-02 11:18:46 +00:00
|
|
|
if (flags[30] == 1)
|
|
|
|
suma_objeto(7);
|
|
|
|
if (flags[31] == 1)
|
|
|
|
suma_objeto(18);
|
|
|
|
if (flags[32] == 1)
|
|
|
|
suma_objeto(19);
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(25);
|
|
|
|
talk_vb(26);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_28_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(27);
|
|
|
|
talk_vb(28);
|
|
|
|
talk_vb(29);
|
|
|
|
talk_vb(30);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_29_2() {
|
|
|
|
if (flags[33] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(32);
|
|
|
|
talk(398);
|
|
|
|
talk_vb(33);
|
|
|
|
talk(399);
|
|
|
|
talk_vb(34);
|
|
|
|
talk_vb(35);
|
|
|
|
talk(400);
|
|
|
|
talk_vb(36);
|
|
|
|
talk_vb(37);
|
|
|
|
talk(386);
|
|
|
|
talk_vb(38);
|
|
|
|
talk_vb(39);
|
|
|
|
talk(401);
|
|
|
|
talk_vb(40);
|
|
|
|
talk_vb(41);
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[33] = 1;
|
|
|
|
} else
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(43);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(402);
|
|
|
|
talk_vb(42);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[38] == 0) {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(403);
|
2008-05-02 11:18:46 +00:00
|
|
|
rompo_y_salgo = 1;
|
|
|
|
} else
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(386);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_30_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(31);
|
|
|
|
talk(396);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_31_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(44);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_vb(-50);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(15);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(159, 140);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 2;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(78);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(22);
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(406);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_vb(98);
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(45);
|
|
|
|
talk_vb(46);
|
|
|
|
talk_vb(47);
|
|
|
|
talk(407);
|
|
|
|
talk_vb(48);
|
|
|
|
talk_vb(49);
|
|
|
|
talk(408);
|
|
|
|
talk_vb(50);
|
|
|
|
talk_vb(51);
|
|
|
|
talk(409);
|
|
|
|
talk_vb(52);
|
|
|
|
talk_vb(53);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(12);
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(54);
|
|
|
|
talk_vb(55);
|
|
|
|
talk(410);
|
|
|
|
talk_vb(56);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
rompo_y_salgo = 1;
|
|
|
|
|
|
|
|
flags[38] = 0;
|
|
|
|
flags[36] = 1;
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(8);
|
|
|
|
resta_objeto(13);
|
|
|
|
resta_objeto(15);
|
|
|
|
resta_objeto(16);
|
|
|
|
resta_objeto(17);
|
|
|
|
suma_objeto(20);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_35_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
|
|
|
lleva_al_hare(96, 165);
|
|
|
|
lleva_al_hare(79, 165);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an35_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an35_2.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 70, 90, 46, 80, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(70,90, 70,90, 46,80,dir_zona_pantalla);
|
|
|
|
x = x + 46;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 82, 70, 90, 46, 80, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(70, 90, 70, 90, 46, 80, dir_zona_pantalla);
|
|
|
|
x = x + 46;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 70, 90, 46, 80, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(70, 90, 70, 90, 46, 80, dir_zona_pantalla);
|
|
|
|
|
|
|
|
x = x + 46;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 2; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 82, 70, 90, 46, 80, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(70, 90, 70,90, 46, 80,dir_zona_pantalla);
|
|
|
|
x = x + 46;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(19);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
hipo_sin_nadie(18);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
FundeAlNegro(2);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_3() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][413], "413.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
grr();
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(50);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][414], "414.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_3() {
|
|
|
|
flags[0] = 1;
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(13);
|
2008-05-02 11:18:46 +00:00
|
|
|
animation_3_3();
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(13);
|
2008-05-02 11:18:46 +00:00
|
|
|
animation_4_3();
|
|
|
|
flags[1] = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(120, 0, 120, 0, 200, 200, dir_zona_pantalla);
|
|
|
|
animation_5_3();
|
|
|
|
flags[0] = 0;
|
|
|
|
flags[1] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
lleva_al_hare(332, 127);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_3() {
|
|
|
|
int n, x = 0;
|
|
|
|
int px = hare_x - 20, py = hare_y - 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an2y_1.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("an2y_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("an2y_3.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_3() {
|
|
|
|
int n, x = 0;
|
|
|
|
int px = 120, py = 63;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("any_1.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("any_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("any_3.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 4; n++){
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, px, py, 77, 89, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 91, px, py, 77, 89, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, px, py, 77, 89, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 91, px, py, 77, 89, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, px, py, 77, 89, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 91, px, py, 77, 89, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 77, 89, dir_zona_pantalla);
|
|
|
|
x = x + 77;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_5_3() {
|
|
|
|
int n, x = 0;
|
|
|
|
int px = hare_x - 20, py = hare_y - 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an3y_1.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("an3y_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("an3y_3.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(px,py, px,py, 71,72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 2, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 71, 72, dir_zona_pantalla);
|
|
|
|
x = x + 71;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_6_3() {
|
|
|
|
int frame = 0, px = 112, py = 62;
|
|
|
|
int yoda_x[] = { 3 ,82, 161, 240, 3, 82 };
|
|
|
|
int yoda_y[] = { 3, 3, 3, 3, 94, 94 };
|
|
|
|
|
|
|
|
hare_se_mueve = 0;
|
|
|
|
flags[3] = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
|
|
|
flags[1] = 0;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an4y.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (frame = 0; frame < 6; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(yoda_x[frame], yoda_y[frame], px, py, 78, 90, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(px, py, px, py, 78, 90, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
flags[2] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_rayo() {
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("anr_1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_hare_frente, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("anr_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("anr_3.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("anr_4.alg");
|
|
|
|
decompressPic(dir_dibujo1, 1);
|
|
|
|
loadPic("anr_5.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_hare_frente);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(50);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_hare_dch);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_hare_fondo);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_hare_fondo);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo3);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_hare_frente);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_4() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_sentado(_texti[_lang][16], "I16.als");
|
|
|
|
talk(_text[_lang][278], "278.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][17], "I17.als");
|
|
|
|
talk(_text[_lang][279], "279.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][18], "I18.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_4() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_sentado(_texti[_lang][19], "I19.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][20], "I20.als");
|
|
|
|
talk(_text[_lang][281], "281.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_4() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][287], "287.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][21], "I21.als");
|
|
|
|
talk(_text[_lang][284], "284.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][22], "I22.als");
|
|
|
|
talk(_text[_lang][285], "285.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][23], "I23.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_7_4() {
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][427], "427.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeDelNegro(1);
|
|
|
|
resta_objeto(8);
|
|
|
|
resta_objeto(10);
|
|
|
|
resta_objeto(12);
|
|
|
|
resta_objeto(16);
|
|
|
|
suma_objeto(17);
|
|
|
|
flags[30] = 0;
|
|
|
|
flags[29] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_5() {
|
|
|
|
if (flags[0] == 0) {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][430], "430.als");
|
|
|
|
talk_bj(_textbj[_lang][16], "BJ16.als");
|
|
|
|
talk_bj(_textbj[_lang][17], "BJ17.als");
|
|
|
|
talk_bj(_textbj[_lang][18], "BJ18.als");
|
|
|
|
talk(_text[_lang][217], "217.als");
|
|
|
|
talk_bj(_textbj[_lang][19], "BJ19.als");
|
|
|
|
talk(_text[_lang][229], "229.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(114, 170);
|
|
|
|
sentido_hare = 3;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][431], "431.als");
|
|
|
|
talk_bj(_textbj[_lang][20], "BJ20.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 2;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][438], "438.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sitio_x = 120;
|
|
|
|
sitio_y = 157;
|
|
|
|
anda_a_objeto = 1;
|
|
|
|
sentido_final = 1;
|
|
|
|
empieza_andar();
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_bj(_textbj[_lang][21], "BJ21.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (;;) {
|
|
|
|
if (hare_se_mueve == 0)
|
|
|
|
break;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
sentido_hare = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][229], "229.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[0] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
sentido_hare = 1;
|
|
|
|
conversa("op_8.cal");
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_bj(_textbj[_lang][22], "BJ22.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_bj(_textbj[_lang][23], "BJ23.als");
|
2008-05-11 11:20:40 +00:00
|
|
|
pickObject(10);
|
2008-05-02 11:18:46 +00:00
|
|
|
rompo_y_salgo = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_5() {
|
|
|
|
flags[7] = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][228], "228.als");
|
|
|
|
talk_lobo(_textl[_lang][1], "L1.als");
|
|
|
|
talk_lobo(_textl[_lang][2], "L2.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(23);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][229], "229.als");
|
|
|
|
talk_lobo(_textl[_lang][3], "L3.als");
|
|
|
|
talk_lobo(_textl[_lang][4], "L4.als");
|
|
|
|
talk(_text[_lang][230], "230.als");
|
|
|
|
talk_lobo(_textl[_lang][5], "L5.als");
|
|
|
|
talk(_text[_lang][231], "231.als");
|
|
|
|
talk_lobo(_textl[_lang][6], "L6.als");
|
|
|
|
talk_lobo(_textl[_lang][7], "L7.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(33);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][232], "232.als");
|
|
|
|
talk_lobo(_textl[_lang][8], "L8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_5_5(){
|
|
|
|
int h;
|
|
|
|
int frame = 0;
|
|
|
|
int hueso_x[] = {1, 99, 197, 1, 99, 197, 1, 99, 197};
|
|
|
|
int hueso_y[] = {1, 1, 1, 66, 66, 66, 131, 131, 131};
|
|
|
|
int vuela_x[] = {1, 63, 125, 187, 249};
|
|
|
|
int pixel_x = hare_x - 53, pixel_y = hare_y - 9;
|
|
|
|
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(8);
|
|
|
|
|
|
|
|
lleva_al_hare(hare_x - 19, hare_y + alto_hare);
|
|
|
|
sentido_hare = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("3an5_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("3an5_2.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (frame = 0; frame < 9; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(hueso_x[frame], hueso_y[frame], pixel_x, pixel_y, 97, 64, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(pixel_x, pixel_y, pixel_x,pixel_y, 97,64, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
copyBackground(52, 161, 198, 81, 26, 24, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(198, 81, 198, 81, 26, 24, dir_zona_pantalla);
|
|
|
|
|
|
|
|
for (frame = 0; frame < 9; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(hueso_x[frame], hueso_y[frame], pixel_x, pixel_y, 97, 64, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(pixel_x, pixel_y, pixel_x,pixel_y, 97, 64, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
flags[6] = 1;
|
2008-05-11 11:20:40 +00:00
|
|
|
updateData();
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(12);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
for (h = 0; h < (200 - 18); h++)
|
|
|
|
copyBackground(0, 53, 0, h, 320, 19, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("101.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("3an5_3.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("3an5_4.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(9);
|
2008-05-02 11:18:46 +00:00
|
|
|
for (frame = 0; frame < 5; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(vuela_x[frame], 1, 174, 79, 61, 109, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(174, 79, 174, 79, 61, 109, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
for (frame = 0; frame < 5; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(vuela_x[frame], 1, 174, 79, 61, 109, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(174, 79, 174, 79, 61, 109, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1);
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("49.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_6_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_lobo(_textl[_lang][9], "L9.als");
|
|
|
|
talk(_text[_lang][234], "234.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_7_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_lobo(_textl[_lang][10], "L10.als");
|
|
|
|
talk(_text[_lang][236], "236.als");
|
|
|
|
talk_lobo(_textl[_lang][11], "L11.als");
|
|
|
|
talk_lobo(_textl[_lang][12], "L12.als");
|
|
|
|
talk_lobo(_textl[_lang][13], "L13.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(34);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_lobo(_textl[_lang][14], "L14.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_8_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_lobo(_textl[_lang][15], "L15.als");
|
|
|
|
talk(_text[_lang][238], "238.als");
|
|
|
|
talk_lobo(_textl[_lang][16], "L16.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_9_5() {
|
|
|
|
flags[4] = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][401], "401.als");
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(15);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_10_5() {
|
|
|
|
flags[3] = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][401], "401.als");
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(12);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_11_5() {
|
|
|
|
flags[9] = 1;
|
|
|
|
if (flags[2] == 1 && flags[3] == 1 && flags[4] == 1)
|
|
|
|
animation_12_5();
|
|
|
|
else {
|
|
|
|
flags[9] = 0;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][33], "33.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_12_5() {
|
|
|
|
DacPalette256 palFondo1;
|
|
|
|
DacPalette256 palFondo2;
|
|
|
|
DacPalette256 palFondo3;
|
|
|
|
|
|
|
|
int frame;
|
|
|
|
const int rayo_x[] = {1, 46, 91, 136, 181, 226, 271, 181};
|
|
|
|
const int frusky_x[] = {100, 139, 178, 217, 100, 178, 217, 139, 100, 139};
|
|
|
|
const int elfrusky_x[] = {1, 68, 135, 1, 68, 135, 1, 68, 135, 68, 1, 135, 68, 135, 68};
|
|
|
|
//const int humo_x[] = {1, 29, 57, 85, 113, 141, 169, 197, 225};
|
|
|
|
int color, componente;
|
|
|
|
char fundido;
|
|
|
|
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(26);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(27);
|
2008-05-02 11:18:46 +00:00
|
|
|
anima("rayo1.bin", 23);
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
anima("rayo2.bin", 17);
|
|
|
|
sentido_hare = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
|
|
|
hare_oscuro();
|
|
|
|
|
|
|
|
for (color = 0; color < 255; color++)
|
|
|
|
for (componente = 0; componente < 3; componente++) {
|
2008-05-27 06:35:00 +00:00
|
|
|
palFondo1[color][componente] = gamePalette[color][componente];
|
|
|
|
palFondo2[color][componente] = gamePalette[color][componente];
|
|
|
|
palFondo3[color][componente] = gamePalette[color][componente];
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for (fundido = 1; fundido >= 0; fundido--) {
|
|
|
|
for (color = 0; color < 128; color++)
|
|
|
|
for (componente = 0; componente < 3; componente++)
|
|
|
|
palFondo1[color][componente] = LimitaVGA(palFondo1[color][componente] - 8 + fundido);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (fundido = 2; fundido >= 0; fundido--) {
|
|
|
|
for (color = 0; color < 128; color++)
|
|
|
|
for (componente = 0; componente < 3; componente++)
|
|
|
|
palFondo2[color][componente] = LimitaVGA(palFondo2[color][componente] - 8 + fundido);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (fundido = 3; fundido >= 0; fundido--) {
|
|
|
|
for (color = 0; color < 128; color++)
|
|
|
|
for (componente = 0; componente < 3; componente++)
|
|
|
|
palFondo3[color][componente] = LimitaVGA(palFondo3[color][componente] - 8 + fundido);
|
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("3an11_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (frame = 0; frame < 8; frame++) {
|
|
|
|
if (frame == 2 || frame == 4 || frame == 8 || frame==10)
|
2008-05-11 20:05:09 +00:00
|
|
|
setPalette((byte *)&palFondo1);
|
2008-05-02 11:18:46 +00:00
|
|
|
else if (frame == 1 || frame == 5 || frame == 7 || frame == 9)
|
2008-05-11 20:05:09 +00:00
|
|
|
setPalette((byte *)&palFondo2);
|
2008-05-02 11:18:46 +00:00
|
|
|
else
|
2008-05-11 20:05:09 +00:00
|
|
|
setPalette((byte *)&palFondo3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
copyRect(rayo_x[frame], 1, 41, 0, 44, 44, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
copyRect(frusky_x[frame], 113, 205, 50, 38, 86, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound_corte();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (frame = 0; frame < 15; frame++) {
|
|
|
|
if (frame == 2 || frame == 4 || frame == 7 || frame == 9)
|
2008-05-11 20:05:09 +00:00
|
|
|
setPalette((byte *)&palFondo1);
|
2008-05-02 11:18:46 +00:00
|
|
|
else if (frame == 1 || frame == 5)
|
2008-05-27 06:35:00 +00:00
|
|
|
setPalette((byte *)&gamePalette);
|
2008-05-02 11:18:46 +00:00
|
|
|
else
|
2008-05-11 20:05:09 +00:00
|
|
|
setPalette((byte *)&palFondo2);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
copyRect(elfrusky_x[frame], 47, 192, 39, 66, 106, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
|
|
|
anima("frel.bin", 16);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
hare_claro();
|
2008-05-11 11:20:40 +00:00
|
|
|
updatePalette();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
flags[1] = 1;
|
|
|
|
|
|
|
|
animation_13_5();
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
hipo(12);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
lleva_al_hare(40, 169);
|
|
|
|
lleva_al_hare(-14, 175);
|
|
|
|
|
|
|
|
rompo = 1;
|
2008-05-11 12:47:26 +00:00
|
|
|
previousMusic = roomMusic;
|
2008-05-02 11:18:46 +00:00
|
|
|
hare_se_ve = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 1;
|
|
|
|
hare_se_mueve = 0;
|
|
|
|
hare_x = -1;
|
|
|
|
obj_saliendo = 104;
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
carga_escoba("57.ald");
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_13_5() {
|
|
|
|
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};
|
|
|
|
int pos_frusky[6];
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("auxfr.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
pos_frusky[3] = 81;
|
|
|
|
pos_frusky[4] = 44;
|
|
|
|
pos_frusky[5] = 87;
|
|
|
|
pos_frusky[0] = 1;
|
|
|
|
pos_frusky[1] = 1;
|
|
|
|
pos_frusky[2] = frank_x;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
copyRectClip(pos_frusky, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(15);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(18);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (;;) {
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
pos_frusky[0] = frus_x[frame];
|
|
|
|
pos_frusky[1] = frus_y[frame];
|
|
|
|
pos_frusky[2] = frank_x;
|
|
|
|
copyRectClip( pos_frusky, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
frank_x = frank_x - 5;
|
|
|
|
frame++;
|
|
|
|
if (frank_x <= -45)
|
|
|
|
break;
|
|
|
|
if (frame == 7) {
|
|
|
|
frame = 0;
|
|
|
|
sentido_hare = 3;
|
|
|
|
}
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_14_5() {
|
|
|
|
flags[11] = 1;
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s3.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0,0 , 320, 200, dir_zona_pantalla);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(17);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 3;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][246],"246.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(89, 160);
|
|
|
|
flags[10] = 1;
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s7.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(14);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 3;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textd[_lang][18], "d18.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_15_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_mus(_texte[_lang][4], "E4.als");
|
|
|
|
talk_mus(_texte[_lang][5], "E5.als");
|
|
|
|
talk_mus(_texte[_lang][6], "E6.als");
|
|
|
|
talk(_text[_lang][291], "291.als");
|
|
|
|
talk_mus(_texte[_lang][7], "E7.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_16_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_mus(_texte[_lang][8], "E8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_17_5() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_mus(_texte[_lang][9], "E9.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_6() {
|
|
|
|
int l;
|
|
|
|
|
|
|
|
sentido_hare = 0;
|
|
|
|
hare_x = 103;
|
|
|
|
hare_y = 108;
|
|
|
|
flags[0] = 1;
|
|
|
|
for (l = 0; l < 200; l++)
|
|
|
|
factor_red[l] = 98;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("auxig2.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("auxdr.alg");
|
|
|
|
decompressPic(dir_dibujo2, 1);
|
|
|
|
loadPic("car.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][19], "D19.als");
|
|
|
|
talk(_text[_lang][247], "247.als");
|
|
|
|
talk_dr_dch(_textd[_lang][20], "d20.als");
|
|
|
|
talk_dr_dch(_textd[_lang][21], "d21.als");
|
|
|
|
talk(_text[_lang][248], "248.als");
|
|
|
|
talk_dr_dch(_textd[_lang][22], "d22.als");
|
|
|
|
talk(_text[_lang][249], "249.als");
|
|
|
|
talk_dr_dch(_textd[_lang][23], "d23.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
conversa("op_11.cal");
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][26], "d26.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
anima("fum.bin", 15);
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][27], "d27.als");
|
|
|
|
talk(_text[_lang][254], "254.als");
|
|
|
|
talk_dr_dch(_textd[_lang][28], "d28.als");
|
|
|
|
talk(_text[_lang][255], "255.als");
|
|
|
|
talk_dr_dch(_textd[_lang][29], "d29.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(1);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("time1.alg");
|
|
|
|
decompressPic(dir_zona_pantalla, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
delay(930);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:18:46 +00:00
|
|
|
hare_se_ve = 0;
|
|
|
|
flags[0] = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(1);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][256], "256.als");
|
|
|
|
talk_dr_dch(_textd[_lang][30], "d30.als");
|
|
|
|
talk(_text[_lang][257], "257.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(0);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("time1.alg");
|
|
|
|
decompressPic(dir_zona_pantalla,1);
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
delay(900);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(1);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][258], "258.als");
|
|
|
|
talk_dr_dch(_textd[_lang][31], "d31.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
animation_5_6();
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][32], "d32.als");
|
|
|
|
talk_igor_dch(_texti[_lang][11], "I11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_igor = 3;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][33], "d33.als");
|
|
|
|
talk_igor_frente(_texti[_lang][12], "I12.als");
|
|
|
|
talk_dr_dch(_textd[_lang][34], "d34.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_dr = 0;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_izq(_textd[_lang][35], "d35.als");
|
2008-05-24 21:23:06 +00:00
|
|
|
|
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
carga_escoba("102.ald");
|
|
|
|
activa_pendulo();
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_2_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][24], "d24.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_3_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][24], "d24.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_4_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_dr_dch(_textd[_lang][25], "d25.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_5_6() {
|
|
|
|
int n, pos_pen[6];
|
|
|
|
|
|
|
|
pos_pen[0] = 1;
|
|
|
|
pos_pen[1] = 29;
|
|
|
|
pos_pen[2] = 204;
|
|
|
|
pos_pen[3] = -125;
|
|
|
|
pos_pen[4] = 18;
|
|
|
|
pos_pen[5] = 125;
|
|
|
|
|
|
|
|
anima("man.bin", 14);
|
|
|
|
|
|
|
|
for (n = -125; n <= 0; n = n + 2) {
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
pos_pen[3] = n;
|
|
|
|
copyRectClip(pos_pen, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(2);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
flags[3] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_6_6() {
|
|
|
|
anima("rct.bin", 11);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(20);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
rompo = 1;
|
|
|
|
obj_saliendo = 104;
|
|
|
|
hare_x = -1;
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
carga_escoba("58.ald");
|
|
|
|
hare_se_ve = 1;
|
|
|
|
sentido_hare = 1;
|
|
|
|
anima("hbp.bin", 14);
|
|
|
|
|
|
|
|
sentido_hare = 3;
|
|
|
|
flags[0] = 1;
|
|
|
|
flags[1] = 0;
|
|
|
|
flags[2] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_7_6() {
|
|
|
|
flags[8] = 1;
|
2008-05-11 11:20:40 +00:00
|
|
|
updateData();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_9_6() {
|
|
|
|
int v_cd;
|
|
|
|
|
|
|
|
anima("fin.bin", 14);
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(13);
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[5] = 1;
|
|
|
|
anima("drf.bin", 16);
|
|
|
|
FundeAlNegro(0);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
hare_x = -1;
|
|
|
|
obj_saliendo = 108;
|
|
|
|
carga_escoba("59.ald");
|
|
|
|
strcpy(num_room, "nada.alg");
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("nota2.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-11 12:47:26 +00:00
|
|
|
black();
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 1;
|
|
|
|
hare_x -= 21;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
FundeDelNegro(0);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(96);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(116, 178);
|
|
|
|
sentido_hare = 2;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(9);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("nota.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, COMPLETE_PAL);
|
2008-05-11 10:53:59 +00:00
|
|
|
color_abc(WHITE);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_solo(_textbj[_lang][24], "bj24.als");
|
|
|
|
talk_solo(_textbj[_lang][25], "bj25.als");
|
|
|
|
talk_solo(_textbj[_lang][26], "bj26.als");
|
|
|
|
talk_solo(_textbj[_lang][27], "bj27.als");
|
|
|
|
talk_solo(_textbj[_lang][28], "bj28.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 3;
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("96.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_hare_frente, COMPLETE_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("nota2.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][296], "296.als");
|
|
|
|
talk(_text[_lang][297], "297.als");
|
|
|
|
talk(_text[_lang][298], "298.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][299], "299.als");
|
|
|
|
talk(_text[_lang][300], "300.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-11 10:53:59 +00:00
|
|
|
color_abc(LIGHT_GREEN);
|
2008-05-02 13:21:06 +00:00
|
|
|
talk_solo("GOOOOOOOOOOOOOOOL", "s15.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("nota2.alg");
|
|
|
|
decompressPic(dir_dibujo1, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][301], "301.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
v_cd = _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) / 16;
|
|
|
|
v_cd = v_cd + 4;
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(17);
|
2008-05-02 11:18:46 +00:00
|
|
|
FundeAlNegro(1);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
fliplay("qpc.bin", 1);
|
|
|
|
MusicFadeout();
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, v_cd * 16);
|
2008-05-11 10:03:06 +00:00
|
|
|
playMusic(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
fliplay("crd.bin", 1);
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_10_6() {
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound ("s14.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(164, 85, 155, 48, 113, 114, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][23], "t23.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[7] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_11_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][10], "t10.als");
|
|
|
|
talk(_text[_lang][268], "268.als");
|
|
|
|
talk_taber2(_textt[_lang][11], "t11.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_12_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][12], "t12.als");
|
|
|
|
talk(_text[_lang][270], "270.als");
|
|
|
|
talk_taber2(_textt[_lang][13], "t13.als");
|
|
|
|
talk_taber2(_textt[_lang][14], "t14.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_13_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][15], "t15.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_14_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][24], "t24.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
suma_objeto(21);
|
|
|
|
flags[10] = 1;
|
|
|
|
rompo_y_salgo = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_15_6() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_taber2(_textt[_lang][16], "t16.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_18_6() {
|
|
|
|
flags[6] = 1;
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(21);
|
|
|
|
anima("beb.bin", 10);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_19_6() {
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyBackground(140, 23, 161, 69, 35, 80, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
pon_hare();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s4.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_12_2() {
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an12.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][356], "356.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(228, 112, 228, 112, 47, 60, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 1;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][5], "P5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
conversa("op_1.cal");
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_26_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an12.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][392], "392.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(228, 112, 228, 112, 47, 60, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 1;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_pianista(_textp[_lang][5], "P5.als");
|
|
|
|
talk(_text[_lang][393], "393.als");
|
|
|
|
talk_pianista(_textp[_lang][17], "P17.als");
|
|
|
|
talk_pianista(_textp[_lang][18], "P18.als");
|
|
|
|
talk_pianista(_textp[_lang][19], "P19.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an26.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
for (n = 0; n < 6; n++){
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 225, 113, 50, 59, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(225,113, 225,113, 50,59, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 61, 225, 113, 50, 59, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(225, 113, 225, 113, 50, 59, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
|
|
|
if (n == 2)
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s9.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound_corte();
|
2008-05-02 11:18:46 +00:00
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 121, 225, 113, 50, 59, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(225, 113, 225, 113, 50, 59, dir_zona_pantalla);
|
|
|
|
x = x + 50;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-11 11:20:40 +00:00
|
|
|
pickObject(11);
|
2008-05-02 11:18:46 +00:00
|
|
|
resta_objeto(12);
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[11] = 0;
|
|
|
|
flags[39] = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-11 12:47:26 +00:00
|
|
|
roomMusic = 16;
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_11_2() {
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an11y13.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][352], "352.als");
|
|
|
|
talk_tabernero(_textt[_lang][1], "T1.als");
|
|
|
|
talk(_text[_lang][353], "353.als");
|
|
|
|
talk_tabernero(_textt[_lang][17], "T17.als");
|
|
|
|
talk(_text[_lang][354], "354.als");
|
|
|
|
talk_tabernero(_textt[_lang][18], "T18.als");
|
|
|
|
talk(_text[_lang][355], "355.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(40);
|
2008-05-02 13:21:06 +00:00
|
|
|
talk_tabernero("No, nada", "d82.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_13_2() {
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an11y13.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[41] == 0) {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][103], "103.als");
|
|
|
|
talk_borracho(_textb[_lang][4], "B4.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[12] = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][367], "367.als");
|
|
|
|
talk_borracho(_textb[_lang][5], "B5.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[12] = 1;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][368], "368.als");
|
|
|
|
talk_borracho(_textb[_lang][6], "B6.als");
|
|
|
|
talk_borracho(_textb[_lang][7], "B7.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[41] = 1;
|
|
|
|
}
|
|
|
|
conversa("op_2.cal");
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("964.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_18_2() {
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(378);
|
|
|
|
talk_vbpuerta(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
conversa("op_3.cal");
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_22_2() {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][374],"374.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
sentido_hare=2;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s13.als");
|
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 1;
|
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vbpuerta(1);
|
|
|
|
talk(375);
|
|
|
|
talk_vbpuerta(2);
|
|
|
|
talk(376);
|
|
|
|
talk_vbpuerta(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
flags[18] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_24_2() {
|
|
|
|
if (hare_x < 178)
|
|
|
|
lleva_al_hare(208, 136);
|
|
|
|
sentido_hare = 3;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
sentido_hare = 0;
|
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk(356);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an24.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
animation_32_2();
|
|
|
|
|
|
|
|
flags[21] = 1;
|
|
|
|
|
2008-05-26 20:14:25 +00:00
|
|
|
talk_vb(22);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[22] == 0)
|
|
|
|
conversa("op_4.cal");
|
|
|
|
else
|
|
|
|
conversa("op_5.cal");
|
|
|
|
|
|
|
|
sal_de_la_habitacion(0);
|
|
|
|
flags[21] = 0;
|
|
|
|
flags[24] = 0;
|
|
|
|
sentido_vb = 1;
|
|
|
|
vb_x = 120;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_32_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an32_1.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("an32_2.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 113, 53, 65, 81, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(113, 53, 113, 53, 65, 81, dir_zona_pantalla);
|
|
|
|
x = x + 65;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 83, 113, 53, 65, 81, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(113, 53, 113, 53, 65, 81, dir_zona_pantalla);
|
|
|
|
x = x + 65;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 4; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 113, 53, 65, 81, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(113, 53, 113, 53, 65, 81, dir_zona_pantalla);
|
|
|
|
x = x + 65;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 83, 113, 53, 65, 81, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(113, 53, 113, 53, 65, 81, dir_zona_pantalla);
|
|
|
|
x = x + 65;
|
|
|
|
if (n < 2)
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("aux18.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_34_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
|
|
|
sentido_hare = 1;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an34_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an34_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 218, 79, 83, 75, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(218, 79, 218, 79, 83, 75, dir_zona_pantalla);
|
|
|
|
x = x + 83;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 77, 218, 79, 83, 75, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(218, 79, 218, 79, 83, 75, dir_zona_pantalla);
|
|
|
|
x = x + 83;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s8.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (n = 0; n < 3; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 218, 79, 83, 75, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(218, 79, 218, 79, 83,75, dir_zona_pantalla);
|
|
|
|
x = x + 83;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(30);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(1, 77, 218, 79, 83, 75, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(218, 79, 218, 79, 83, 75, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("994.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_36_2() {
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an11y13.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][404], "404.als");
|
|
|
|
talk_tabernero(_textt[_lang][19], "T19.als");
|
|
|
|
talk_tabernero(_textt[_lang][20], "T20.als");
|
|
|
|
talk_tabernero(_textt[_lang][21], "T21.als");
|
|
|
|
talk(_text[_lang][355], "355.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(40);
|
2008-05-02 13:21:06 +00:00
|
|
|
talk_tabernero("No, nada", "d82.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_7_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an7_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an7_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("an7_3.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[3] == 1)
|
|
|
|
copyBackground(258, 110, 85, 44, 23, 53, dir_dibujo3, dir_dibujo1);
|
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an7_4.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an7_5.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("an7_6.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("an7_7.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51,73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 2; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an7_8.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an7_9.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 75, 80, 64, 51, 73, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(x, 1, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
x = x + 51;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
copyBackground(80, 64, 80, 64, 51, 73, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
copyRect(1, 75, 80, 64, 51, 73, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(80, 64, 80, 64, 51, 73, dir_zona_pantalla);
|
|
|
|
|
|
|
|
flags[37] = 1;
|
|
|
|
|
|
|
|
if (flags[7] == 1 && flags[26] == 1 && flags[34] == 1 && flags[35] == 1 && flags[37] == 1)
|
|
|
|
flags[38] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("aux3.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_5_2() {
|
|
|
|
int n, x = 0;
|
|
|
|
|
|
|
|
sentido_hare = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an5_1.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("an5_2.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("an5_3.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("an5_4.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(1, 1, 213, 66, 53,84, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 213, 66, 53, 84, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84,dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 86, 213, 66, 53, 84, dir_hare_fondo, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 213, 66, 53, 84, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 213, 66, 53, 84, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 86, 213, 66, 53, 84, dir_hare_dch, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 213, 66, 53, 84, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-27 07:17:15 +00:00
|
|
|
playSound("s1.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 86, 213, 66, 53, 84, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
2008-05-27 07:17:15 +00:00
|
|
|
stopSound_corte();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
x = 0;
|
|
|
|
|
|
|
|
for (n = 0; n < 6; n++) {
|
|
|
|
x++;
|
|
|
|
copyBackground(x, 1, 213, 66, 53, 84, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(213, 66, 213, 66, 53, 84, dir_zona_pantalla);
|
|
|
|
x = x + 52;
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("994.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("974.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("964.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("aux5.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[8] = 1;
|
|
|
|
hare_x = hare_x - 4;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_sinc(_text[_lang][46], "46.als", "4442444244244");
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_6_2() {
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[9] = 1;
|
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("ciego1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("ciego2.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("ciego3.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("ciego4.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("ciego5.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
if (flags[4] == 1)
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][66], "d66.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][78], "d78.als", _textd1[_lang][78 - TEXTD_START]);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(4);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][67], "d67.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 12:47:26 +00:00
|
|
|
playMusic(roomMusic);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("9.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("aux9.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[9] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_33_2() {
|
2008-05-11 10:03:06 +00:00
|
|
|
stopMusic();
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[9] = 1;
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(12);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_textd[_lang][56], "d56.als" );
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(8);
|
|
|
|
|
|
|
|
clearRoom();
|
|
|
|
loadPic("ciego1.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("ciego2.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("ciego3.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("ciego4.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
|
|
|
loadPic("ciego5.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_frente;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(10);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(5);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][57], "d57.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(6);
|
2008-05-02 11:18:46 +00:00
|
|
|
_system->delayMillis(1000);
|
2008-05-11 11:11:24 +00:00
|
|
|
talk_ciego(_textd[_lang][77], "d77.als", _textd1[_lang][77 - TEXTD_START]);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_hacker(_textd[_lang][65], "d65.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(14);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-11 12:47:26 +00:00
|
|
|
playMusic(roomMusic);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("9.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("aux9.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("97.alg");
|
|
|
|
decompressPic(dir_hare_dch, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-24 21:23:06 +00:00
|
|
|
if (_lang == kSpanish)
|
|
|
|
dir_texto = dir_hare_dch;
|
|
|
|
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[33] = 1;
|
|
|
|
flags[9] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_1_4() {
|
|
|
|
if (flags[21] == 0) {
|
2008-05-11 11:20:40 +00:00
|
|
|
strcpy(objName[2], "igor");
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][275], "275.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(131, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(199, 95, 199, 95, 50, 66, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(182, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(3);
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[18] = 1;
|
|
|
|
flags[20] = 1;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_sentado(_texti[_lang][13], "I13.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][14], "I14.als");
|
|
|
|
talk_igor_sentado(_texti[_lang][15], "I15.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
flags[21] = 1;
|
|
|
|
} else {
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][356], "356.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(131, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
updateScreen(199, 95, 199, 95, 50, 66, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(2);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRefresh_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
copyBackground(182, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla);
|
|
|
|
pon_hare();
|
|
|
|
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
|
|
|
|
flags[18] = 1;
|
|
|
|
flags[20] = 1;
|
|
|
|
|
2008-05-02 15:09:20 +00:00
|
|
|
talk(_text[_lang][276], "276.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(14);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_sentado(_texti[_lang][6], "I6.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
conversa("op_6.cal");
|
|
|
|
flags[20] = 0;
|
|
|
|
flags[18] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_5_4(){
|
|
|
|
sentido_hare = 3;
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("anh_dr.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
lleva_al_hare(99, 160);
|
|
|
|
lleva_al_hare(38, 177);
|
|
|
|
hare_se_ve = 0;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
|
|
|
delay(800);
|
|
|
|
anima("bio.bin", 14);
|
|
|
|
flags[29] = 1;
|
|
|
|
hare_x = 95;
|
|
|
|
hare_y = 82;
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-11 11:20:40 +00:00
|
|
|
openDoor(2, 0);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("auxigor.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
x_igor = 100;
|
|
|
|
y_igor = 65;
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_frente(_texti[_lang][29], "I29.ALS");
|
|
|
|
talk_igor_frente(_texti[_lang][30], "I30.als");
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic("99.alg");
|
|
|
|
decompressPic(dir_hare_fondo, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
hare_se_ve = 1;
|
|
|
|
FundeAlNegro(0);
|
|
|
|
sal_de_la_habitacion(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_6_4() {
|
|
|
|
char room[13];
|
|
|
|
|
|
|
|
strcpy(room, num_room);
|
|
|
|
strcpy(num_room, "26.alg");
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("26.alg");
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("aux26.alg");
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic("auxigor.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
update_26_pre();
|
2008-05-02 11:18:46 +00:00
|
|
|
x_igor = 104;
|
|
|
|
y_igor = 71;
|
|
|
|
pon_igor();
|
|
|
|
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(40);
|
2008-05-02 15:09:20 +00:00
|
|
|
talk_igor_frente(_texti[_lang][26], "I26.als");
|
2008-05-02 11:18:46 +00:00
|
|
|
strcpy(num_room, room);
|
2008-05-02 11:44:47 +00:00
|
|
|
clearRoom();
|
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
|
|
|
loadPic(roomDisk);
|
|
|
|
decompressPic(dir_dibujo3, 1);
|
|
|
|
loadPic(num_room);
|
2008-05-11 20:05:09 +00:00
|
|
|
decompressPic(dir_dibujo1, HALF_PAL);
|
2008-05-11 11:20:40 +00:00
|
|
|
withoutVerb();
|
2008-05-02 11:44:47 +00:00
|
|
|
updateRoom();
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_8_4() {
|
|
|
|
int frame;
|
|
|
|
int estanteria_x[] = {1, 75, 149, 223, 1, 75, 149, 223, 149, 223, 149, 223, 149, 223};
|
|
|
|
int estanteria_y[] = {1, 1, 1, 1, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74};
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("an_8.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-02 11:18:46 +00:00
|
|
|
|
|
|
|
for (frame = 0; frame < 14; frame++) {
|
2008-05-02 11:44:47 +00:00
|
|
|
pause(2);
|
2008-05-02 11:18:46 +00:00
|
|
|
copyBackground(estanteria_x[frame], estanteria_y[frame], 77, 45, 73, 72, dir_hare_frente, dir_zona_pantalla);
|
|
|
|
updateScreen(77, 45, 77, 45, 73, 72, dir_zona_pantalla);
|
|
|
|
}
|
|
|
|
|
2008-05-02 11:44:47 +00:00
|
|
|
loadPic("96.alg");
|
|
|
|
decompressPic(dir_hare_frente, 1);
|
2008-05-11 11:20:40 +00:00
|
|
|
openDoor(7, 2);
|
2008-05-02 11:18:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void DrasculaEngine::animation_9_4() {
|
|
|
|
anima("st.bin", 14);
|
|
|
|
FundeAlNegro(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} // End of namespace Drascula
|