aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
authorPaweł Kołodziejski2008-03-08 19:47:44 +0000
committerPaweł Kołodziejski2008-03-08 19:47:44 +0000
commit18f1e61931845e68d21cd05b57b485534eee5837 (patch)
tree129b7bde0e43b366ef0e0e02a909ccaa394448df /engines/drascula
parent20a1e653b8dee318cef554a157235bd65e0c2ef2 (diff)
downloadscummvm-rg350-18f1e61931845e68d21cd05b57b485534eee5837.tar.gz
scummvm-rg350-18f1e61931845e68d21cd05b57b485534eee5837.tar.bz2
scummvm-rg350-18f1e61931845e68d21cd05b57b485534eee5837.zip
more merge fixes for drascula, game is completable now
svn-id: r31069
Diffstat (limited to 'engines/drascula')
-rw-r--r--engines/drascula/drascula.cpp86
1 files changed, 32 insertions, 54 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 528740c4ce..1d1a0ed5b3 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -605,16 +605,13 @@ bool DrasculaEngine::escoba() {
buffer_teclado();
sentido_hare = 1;
obj_saliendo = 104;
- if (hay_que_load == 0)
+ if (hay_que_load == 0) {
carga_escoba("58.ald");
- else {
+ animacion_1_6();
+ } else {
if (!para_cargar(nom_partida)) {
return true;
}
- }
- if (hay_que_load == 0)
- animacion_1_6();
- else {
lee_dibujos("auxdr.alg");
descomprime_dibujo(dir_dibujo2, 1);
}
@@ -1690,11 +1687,12 @@ martini:
if (musica_room == 0)
stopmusic();
- if ((!strcmp(num_room, "9.alg")) || (strcmp(num_room, "2.alg"))
- || (!strcmp(num_room, "14.alg")) || (!strcmp(num_room, "18.alg"))
- || (!strcmp(num_room, "26.alg")))
- conta_ciego_vez = vez();
-
+ if (num_ejec != 6) {
+ if ((!strcmp(num_room, "9.alg")) || (strcmp(num_room, "2.alg"))
+ || (!strcmp(num_room, "14.alg")) || (!strcmp(num_room, "18.alg"))
+ || (!strcmp(num_room, "26.alg")))
+ conta_ciego_vez = vez();
+ }
if (!strcmp(num_room, "24.alg") && flags[29] == 1)
animacion_7_4();
if (!strcmp(num_room, "45.alg"))
@@ -2989,7 +2987,10 @@ void DrasculaEngine::habla_solo(const char *dicho, const char *filename) {
tiempou = (unsigned int)tiempol / 2;
_rnd->setSeed(tiempou);
- color_abc(color_solo);
+ if (num_ejec == 1)
+ color_abc(color_solo);
+ else if (num_ejec == 3)
+ color_abc(ROJO);
if (hay_sb == 1) {
sku = new Common::File;
@@ -3002,14 +3003,23 @@ void DrasculaEngine::habla_solo(const char *dicho, const char *filename) {
ctvd_output(sku);
}
+ if (num_ejec == 6)
+ DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
+
bucless:
- if (con_voces == 0)
- centra_texto(dicho, 156, 90);
+ if (con_voces == 0) {
+ if (num_ejec == 1)
+ centra_texto(dicho, 156, 90);
+ else if (num_ejec == 6)
+ centra_texto(dicho, 213, 72);
+ else if (num_ejec == 3)
+ centra_texto(dicho, 173, 92);
+ }
VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
byte key = getscan();
- if (key == Common::KEYCODE_ESCAPE)
+ if (num_ejec == 1 && key == Common::KEYCODE_ESCAPE)
term_int = 1;
if (key != 0)
ctvd_stop();
@@ -3023,7 +3033,11 @@ bucless:
} else {
longitud = longitud - 2;
if (longitud > 0)
- goto bucless;
+ goto bucless;
+ }
+ if (num_ejec == 6) {
+ DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
+ VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
}
}
@@ -5487,7 +5501,7 @@ void DrasculaEngine::conversa(const char *nom_fich) {
}
if (num_ejec == 6 && !strcmp(nom_fich, "op_12.cal") && flags[10] == 1) {
- strcpy(frase3, ".cuanto.queda.para.que.acabe.el.partido?");
+ strcpy(frase3, " cuanto queda para que acabe el partido?");
strcpy(suena3, "274.als");
respuesta3 = 15;
}
@@ -9058,47 +9072,10 @@ void DrasculaEngine::animacion_10_6() {
DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
actualiza_refresco_antes();
DIBUJA_FONDO(164, 85, 155, 48, 113, 114, dir_dibujo3, dir_zona_pantalla);
-
VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
fin_sound();
habla_taber2(TEXTT23, "t23.als");
flags[7] = 1;
- VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
- FundeDelNegro(0);
- pausa(96);
- lleva_al_hare(116, 178);
- sentido_hare = 2;
- refresca_pantalla();
- VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
- playmusic(9);
- borra_pantalla();
- lee_dibujos("nota.alg");
- descomprime_dibujo(dir_dibujo1, COMPLETA);
- color_abc(BLANCO);
- habla_solo(TEXTBJ24, "bj24.als");
- habla_solo(TEXTBJ25, "bj25.als");
- habla_solo(TEXTBJ26, "bj26.als");
- habla_solo(TEXTBJ27, "bj27.als");
- habla_solo(TEXTBJ28, "bj28.als");
- sentido_hare = 3;
- borra_pantalla();
- lee_dibujos("96.alg");
- descomprime_dibujo(dir_hare_frente, COMPLETA);
- lee_dibujos("nota2.alg");
- descomprime_dibujo(dir_dibujo1, MEDIA);
- hablar(TEXT296, "296.als");
- hablar(TEXT297, "297.als");
- hablar(TEXT298, "298.als");
- sentido_hare = 1;
- hablar(TEXT299, "299.als");
- hablar(TEXT300, "300.als");
- refresca_pantalla();
- DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1);
- VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
- color_abc(VERDE_CLARO);
- habla_solo("GOOOOOOOOOOOOOOOL", "s15.als");
- lee_dibujos("nota2.alg");
- descomprime_dibujo(dir_dibujo1, 1);
}
void DrasculaEngine::animacion_11_6() {
@@ -9130,6 +9107,7 @@ void DrasculaEngine::animacion_15_6() {
}
void DrasculaEngine::animacion_18_6() {
+ flags[6] = 1;
sin_verbo();
resta_objeto(21);
anima("beb.bin", 10);