diff options
author | Paweł Kołodziejski | 2007-08-17 11:19:17 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2007-08-17 11:19:17 +0000 |
commit | 62d5f0629c7003ffb4f587d7dc3d3af6d80bd57b (patch) | |
tree | 7fe1b74d8ac4dbacf026cd956002db50fae9f66a | |
parent | 769dd1d7a290f2b2f11c80f406cb87efbc1a024d (diff) | |
download | scummvm-rg350-62d5f0629c7003ffb4f587d7dc3d3af6d80bd57b.tar.gz scummvm-rg350-62d5f0629c7003ffb4f587d7dc3d3af6d80bd57b.tar.bz2 scummvm-rg350-62d5f0629c7003ffb4f587d7dc3d3af6d80bd57b.zip |
added two more parts
svn-id: r28646
-rw-r--r-- | engines/drascula/drascula.cpp | 1039 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 20 |
2 files changed, 964 insertions, 95 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index 97daab263d..eaaa55424c 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -184,13 +184,34 @@ int DrasculaEngine::go() { lee_dibujos("96.alg"); descomprime_dibujo(dir_hare_frente, COMPLETA); if (num_ejec == 1) { + con_voces = 0; lee_dibujos("99.alg"); descomprime_dibujo(dir_hare_fondo, 1); lee_dibujos("97.alg"); descomprime_dibujo(dir_hare_dch, 1); } else if (num_ejec == 2) { + con_voces = 1; lee_dibujos("pts.alg"); descomprime_dibujo(dir_dibujo2, 1); + } else if (num_ejec == 3) { + con_voces = 1; + lee_dibujos("aux13.alg"); + descomprime_dibujo(dir_dibujo1, COMPLETA); + lee_dibujos("97.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("99.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + } else if (num_ejec == 4) { + con_voces = 1; + if (hay_que_load == 0) + animacion_rayo(); + lee_dibujos("96.alg"); + descomprime_dibujo(dir_hare_frente, 1); + borra_pantalla(); + lee_dibujos("97.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("99.alg"); + descomprime_dibujo(dir_hare_fondo, 1); } strcpy(nombre_icono[1], "look"); strcpy(nombre_icono[2], "take"); @@ -493,6 +514,36 @@ bool DrasculaEngine::escoba() { carga_escoba_2("14.ald"); else para_cargar(nom_partida); + } else if (num_ejec == 3) { + suma_objeto(28); + suma_objeto(11); + suma_objeto(14); + suma_objeto(22); + suma_objeto(9); + suma_objeto(20); + suma_objeto(19); + flags[1] = 1; + buffer_teclado(); + sentido_hare = 1; + obj_saliendo = 99; + if (hay_que_load == 0) + carga_escoba_1("20.ald"); + else + para_cargar(nom_partida); + } else if (num_ejec == 3) { + suma_objeto(28); + suma_objeto(9); + suma_objeto(20); + suma_objeto(22); + buffer_teclado(); + obj_saliendo = 100; + if (hay_que_load == 0) { + carga_escoba_1("21.ald"); + sentido_hare = 0; + hare_x = 235; + hare_y = 164; + } else + para_cargar(nom_partida); } bucles: @@ -539,7 +590,10 @@ bucles: hare_se_mueve = 0; if (sentido_hare == 2) sentido_hare = 1; - lee_dibujos("icons.alg"); + if (num_ejec == 4) + lee_dibujos("icons2.alg"); + else + lee_dibujos("icons.alg"); descomprime_dibujo(dir_hare_fondo, 1); menu_scr = 1; espera_soltar(); @@ -605,7 +659,10 @@ bucles: delay(1460); cont_sv = 0; } else if (key == Common::KEYCODE_DELETE) { - confirma_go(); + if (num_ejec == 4) + carga_partida("gsave00"); + else + confirma_go(); cont_sv = 0; } else if (key == Common::KEYCODE_ESCAPE) { confirma_salir(); @@ -619,7 +676,10 @@ bucles: } void DrasculaEngine::agarra_objeto(int objeto) { - lee_dibujos("icons.alg"); + if (num_ejec == 4) + lee_dibujos("icons2.alg"); + else + lee_dibujos("icons.alg"); descomprime_dibujo(dir_hare_fondo, 1); elige_objeto(objeto); lee_dibujos("99.alg"); @@ -1232,12 +1292,12 @@ void DrasculaEngine::sin_verbo() { void DrasculaEngine::para_cargar(char nom_game[]) { musica_antes = musica_room; menu_scr = 0; - if (num_ejec == 2) + if (num_ejec == 2 || num_ejec == 3 || num_ejec == 4) borra_pantalla(); carga_partida(nom_game); - if (num_ejec == 1) { + if (num_ejec == 1 || num_ejec == 4) { carga_escoba_1(datos_actuales); - } else if (num_ejec == 2) { + } else if (num_ejec == 2 || num_ejec == 3) { ald->close(); carga_escoba_2(datos_actuales); } @@ -1394,6 +1454,13 @@ void DrasculaEngine::carga_escoba_1(const char *nom_fich) { pequegnez = pequegnez + chiquez; } + if (!strcmp(num_room, "24.alg")) { + for (l = suelo_y1 - 1; l > 74; l--) { + factor_red[l] = lejos - pequegnez; + pequegnez = pequegnez + chiquez; + } + } + if (hare_x == -1) { hare_x = x_alakeva[obj_salir]; hare_y = y_alakeva[obj_salir]; @@ -1408,10 +1475,18 @@ void DrasculaEngine::carga_escoba_1(const char *nom_fich) { actualiza_datos(); - espuerta[7] = 0; + if (num_ejec <= 2) + espuerta[7] = 0; + + if (!strcmp(num_room, "26.alg")) + conta_ciego_vez = vez(); if (musica_antes != musica_room) playmusic(musica_room); + + if (!strcmp(num_room, "24.alg") && flags[29] == 1) + animacion_7_4(); + refresca_pantalla(); } @@ -1595,7 +1670,7 @@ martini: musica_room = 16; else if (!strcmp(num_room, "15.alg") && flags[39] == 1) musica_room = 16; - if (!strcmp(num_room, "14.alg") && flags[5]==1) + if (!strcmp(num_room, "14.alg") && flags[5] == 1) musica_room = 0; else if (!strcmp(num_room, "15.alg") && flags[5] == 1) musica_room = 0; @@ -1790,6 +1865,8 @@ void DrasculaEngine::comprueba2() { anda_a_objeto = 1; lleva_al_hare(sitiobj_x[l], sitiobj_y[l]); banderas(num_obj[l]); + if (num_ejec == 4) + break; } } } @@ -2436,7 +2513,7 @@ char DrasculaEngine::LimitaVGA(char valor) { } void DrasculaEngine::centra_texto(const char *mensaje, int x_texto, int y_texto) { - char bb[190], m2[190], m1[190], mb[10][40]; + char bb[190], m2[190], m1[190], mb[10][45]; char m3[190]; int h, fil, x_texto3, x_texto2, x_texto1, conta_f = 0, ya = 0; @@ -2669,10 +2746,14 @@ void DrasculaEngine::pon_igor() { int pos_igor[6]; pos_igor[0] = 1; - if (sentido_igor == 3) + if (num_ejec == 4) { pos_igor[1] = 138; - else if (sentido_igor == 1) - pos_igor[1] = 76; + } else { + if (sentido_igor == 3) + pos_igor[1] = 138; + else if (sentido_igor == 1) + pos_igor[1] = 76; + } pos_igor[2] = x_igor; pos_igor[3] = y_igor; pos_igor[4] = 54; @@ -2725,7 +2806,7 @@ void DrasculaEngine::habla_igor_dch(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time (NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; _rnd->setSeed(tiempou); @@ -3138,23 +3219,33 @@ bucless: void DrasculaEngine::hipo(int contador) { int y = 0, sentido = 0; - - contador = contador; + if (num_ejec == 3) + y = -1; comienza: contador--; refresca_pantalla(); - VUELCA_PANTALLA(0, 1, 0, y, 320, 198, dir_zona_pantalla); + if (num_ejec <= 2) + VUELCA_PANTALLA(0, 1, 0, y, 320, 198, dir_zona_pantalla); + else if (num_ejec == 3) + VUELCA_PANTALLA(0, 0, 0, y, 320, 200, dir_zona_pantalla); if (sentido == 0) y++; else y--; - if (y == 2) - sentido = 1; - if (y == 0) - sentido = 0; + if (num_ejec <= 2) { + if (y == 2) + sentido = 1; + if (y == 0) + sentido = 0; + } else if (num_ejec == 3) { + if (y == 1) + sentido = 1; + if (y == -1) + sentido = 0; + } if (contador > 0) goto comienza; @@ -3268,8 +3359,12 @@ void DrasculaEngine::hablar(const char *dicho, const char *filename) { if (num_ejec == 2) buffer_teclado(); - color_abc(AMARILLO); - + if (num_ejec == 4) { + if (strcmp(num_room, "24.alg") || flags[29] == 0) + color_abc(AMARILLO); + } else { + color_abc(AMARILLO); + } if (hay_sb == 1) { sku = new Common::File; sku->open(filename); @@ -3393,7 +3488,15 @@ int DrasculaEngine::music_status() { void DrasculaEngine::refresca_pantalla() { DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); actualiza_refresco_antes(); - pon_hare(); + if (num_ejec <= 2) + pon_hare(); + else if (num_ejec == 3) { + if (flags[0] == 0) + pon_hare(); + else + DIBUJA_BLOQUE(113, 54, hare_x - 20, hare_y - 1, 77, 89, + dir_dibujo3, dir_zona_pantalla); + } actualiza_refresco(); } @@ -3469,6 +3572,62 @@ void DrasculaEngine::puertas_cerradas (int l) { if (num_ejec == 1) return; + if (num_ejec == 4) { + if (num_obj[l] == 101 && flags[0] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 101 && flags[0] == 1 && flags[28] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 103 && flags[0] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 103 && flags[0] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 104 && flags[1] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 104 && flags[1] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 105 && flags[1] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 105 && flags[1] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 106 && flags[2] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 106 && flags[2] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 107 && flags[2] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 107 && flags[2] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 110 && flags[6] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 110 && flags[6] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 114 && flags[4] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 114 && flags[4] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 115 && flags[4] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 115 && flags[4] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 116 && flags[5] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 116 && flags[5] == 1 && flags[23] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 117 && flags[5] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 117 && flags[5] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 120 && flags[8] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 120 && flags[8] == 1) + espuerta[l] = 1; + else if (num_obj[l] == 122 && flags[7] == 0) + espuerta[l] = 0; + else if (num_obj[l] == 122 && flags[7] == 1) + espuerta[l] = 1; + return; + } + if (num_obj[l] == 138 && flags[0] == 0) espuerta[l] = 0; else if (num_obj[l] == 138 && flags[0] == 1) @@ -3608,6 +3767,10 @@ void DrasculaEngine::actualiza_refresco() { refresca_18(); else if (!strcmp(num_room, "10.alg")) mapa(); + else if (!strcmp(num_room, "20.alg")) + refresca_20(); + else if (!strcmp(num_room, "13.alg")) + refresca_13(); } void DrasculaEngine::actualiza_refresco_antes() { @@ -3916,6 +4079,45 @@ bool DrasculaEngine::sal_de_la_habitacion(int l) { hare_x =- 1; carga_escoba_2(salgo); } + } else if (num_ejec == 3) { + puertas_cerradas(l); + if (espuerta[l] != 0 && visible[l] == 1) { + lleva_al_hare(sitiobj_x[l], sitiobj_y[l]); + sentido_hare = sentidobj[l]; + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); + hare_se_mueve = 0; + sentido_hare = sentido_alkeva[l]; + obj_saliendo = alapuertakeva[l]; + rompo = 1; + musica_antes = musica_room; + borra_pantalla(); + strcpy(salgo, alapantallakeva[l]); + strcat(salgo, ".ald"); + hare_x =- 1; + carga_escoba_2(salgo); + } + } else if (num_ejec == 4) { + puertas_cerradas(l); + if (espuerta[l] != 0) { + lleva_al_hare(sitiobj_x[l], sitiobj_y[l]); + sentido_hare = sentidobj[l]; + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); + hare_se_mueve = 0; + sentido_hare = sentido_alkeva[l]; + obj_saliendo = alapuertakeva[l]; + rompo = 1; + musica_antes = musica_room; + + if (num_obj[l] == 108) + lleva_al_hare(171, 78); + borra_pantalla(); + strcpy(salgo, alapantallakeva[l]); + strcat(salgo, ".ald"); + hare_x = -1; + carga_escoba_1(salgo); + } } return false; @@ -3959,60 +4161,161 @@ void DrasculaEngine::banderas(int fl) { hay_respuesta = 1; if (menu_scr == 1) { - if (objeto_que_lleva == MIRAR && fl == 28) - hablar(TEXT328, "328.als"); - if ((objeto_que_lleva == MIRAR && fl == 22 && flags[23] == 0) - || (objeto_que_lleva == ABRIR && fl == 22 && flags[23] == 0)) { - hablar(TEXT164, "164.als"); - flags[23] = 1; - sin_verbo(); - suma_objeto(7); - suma_objeto(18); - } else if (objeto_que_lleva == MIRAR && fl == 22 && flags[23] == 1) - hablar(TEXT307, "307.als"); - else if (objeto_que_lleva == MIRAR && fl == 7) - hablar(TEXT143, "143.als"); - else if (objeto_que_lleva == HABLAR && fl == 7) - hablar(TEXT144, "144.als"); - else if (objeto_que_lleva == MIRAR && fl == 8) - hablar(TEXT145, "145.als"); - else if (objeto_que_lleva == HABLAR && fl == 8) - hablar(TEXT146, "146.als"); - else if (objeto_que_lleva == MIRAR && fl == 9) - hablar(TEXT147, "147.als"); - else if (objeto_que_lleva == HABLAR && fl == 9) - hablar(TEXT148, "148.als"); - else if (objeto_que_lleva == MIRAR && fl == 10) - hablar(TEXT151, "151.als"); - else if (objeto_que_lleva == MIRAR && fl == 11) - hablar(TEXT152, "152.als"); - else if (objeto_que_lleva == HABLAR && fl == 11) - hablar(TEXT153, "153.als"); - else if (objeto_que_lleva == MIRAR && fl == 12) - hablar(TEXT154, "154.als"); - else if (objeto_que_lleva == MIRAR && fl == 13) - hablar(TEXT155, "155.als"); - else if (objeto_que_lleva == MIRAR && fl == 14) - hablar(TEXT157, "157.als"); - else if (objeto_que_lleva == MIRAR && fl == 15) - hablar(TEXT58, "58.als"); - else if (objeto_que_lleva == MIRAR && fl == 16) - hablar(TEXT158, "158.als"); - else if (objeto_que_lleva == MIRAR && fl == 17) - hablar(TEXT159, "159.als"); - else if (objeto_que_lleva == MIRAR && fl == 18) - hablar(TEXT160, "160.als"); - else if (objeto_que_lleva == MIRAR && fl == 19) - hablar(TEXT161, "161.als"); - else if (objeto_que_lleva == MIRAR && fl == 20) - hablar(TEXT162, "162.als"); - else if (objeto_que_lleva == MIRAR && fl == 23) - hablar(TEXT152, "152.als"); - else - hay_respuesta = 0; + if (num_ejec == 3) { + if (objeto_que_lleva == MIRAR && fl == 22) + hablar(TEXT307, "307.als"); + else if (objeto_que_lleva == MIRAR && fl == 28) + hablar(TEXT328, "328.als"); + else if (objeto_que_lleva == MIRAR && fl == 7) + hablar(TEXT143, "143.als"); + else if (objeto_que_lleva == HABLAR && fl == 7) + hablar(TEXT144, "144.als"); + else if (objeto_que_lleva == MIRAR && fl == 8) + hablar(TEXT145, "145.als"); + else if (objeto_que_lleva == HABLAR && fl == 8) + hablar(TEXT146, "146.als"); + else if (objeto_que_lleva == MIRAR && fl == 9) + hablar(TEXT147, "147.als"); + else if (objeto_que_lleva == HABLAR && fl == 9) + hablar(TEXT148, "148.als"); + else if (objeto_que_lleva == MIRAR && fl == 10) + hablar(TEXT151, "151.als"); + else if (objeto_que_lleva == MIRAR && fl == 11) + hablar(TEXT152, "152.als"); + else if (objeto_que_lleva == HABLAR && fl == 11) + hablar(TEXT153, "153.als"); + else if (objeto_que_lleva == MIRAR && fl == 12) + hablar(TEXT154, "154.als"); + else if (objeto_que_lleva == MIRAR && fl == 13) + hablar(TEXT155, "155.als"); + else if (objeto_que_lleva == MIRAR && fl == 14) + hablar(TEXT157, "157.als"); + else if (objeto_que_lleva == MIRAR && fl == 15) + hablar(TEXT58, "58.als"); + else if (objeto_que_lleva == MIRAR && fl == 16) + hablar(TEXT158, "158.als"); + else if (objeto_que_lleva == MIRAR && fl == 17) + hablar(TEXT159, "159.als"); + else if (objeto_que_lleva == MIRAR && fl == 18) + hablar(TEXT160, "160.als"); + else if (objeto_que_lleva == MIRAR && fl == 19) + hablar(TEXT161, "161.als"); + else if (objeto_que_lleva == MIRAR && fl == 20) + hablar(TEXT162, "162.als"); + else if (objeto_que_lleva == MIRAR && fl == 23) + hablar(TEXT152, "152.als"); + else + hay_respuesta = 0; + } else if (num_ejec == 1) { + if (objeto_que_lleva == MIRAR && fl == 28) + hablar(TEXT328, "328.als"); + if ((objeto_que_lleva == MIRAR && fl == 22 && flags[23] == 0) + || (objeto_que_lleva == ABRIR && fl == 22 && flags[23] == 0)) { + hablar(TEXT164, "164.als"); + flags[23] = 1; + sin_verbo(); + suma_objeto(7); + suma_objeto(18); + } else if (objeto_que_lleva == MIRAR && fl == 22 && flags[23] == 1) + hablar(TEXT307, "307.als"); + else if (objeto_que_lleva == MIRAR && fl == 7) + hablar(TEXT143, "143.als"); + else if (objeto_que_lleva == HABLAR && fl == 7) + hablar(TEXT144, "144.als"); + else if (objeto_que_lleva == MIRAR && fl == 8) + hablar(TEXT145, "145.als"); + else if (objeto_que_lleva == HABLAR && fl == 8) + hablar(TEXT146, "146.als"); + else if (objeto_que_lleva == MIRAR && fl == 9) + hablar(TEXT147, "147.als"); + else if (objeto_que_lleva == HABLAR && fl == 9) + hablar(TEXT148, "148.als"); + else if (objeto_que_lleva == MIRAR && fl == 10) + hablar(TEXT151, "151.als"); + else if (objeto_que_lleva == MIRAR && fl == 11) + hablar(TEXT152, "152.als"); + else if (objeto_que_lleva == HABLAR && fl == 11) + hablar(TEXT153, "153.als"); + else if (objeto_que_lleva == MIRAR && fl == 12) + hablar(TEXT154, "154.als"); + else if (objeto_que_lleva == MIRAR && fl == 13) + hablar(TEXT155, "155.als"); + else if (objeto_que_lleva == MIRAR && fl == 14) + hablar(TEXT157, "157.als"); + else if (objeto_que_lleva == MIRAR && fl == 15) + hablar(TEXT58, "58.als"); + else if (objeto_que_lleva == MIRAR && fl == 16) + hablar(TEXT158, "158.als"); + else if (objeto_que_lleva == MIRAR && fl == 17) + hablar(TEXT159, "159.als"); + else if (objeto_que_lleva == MIRAR && fl == 18) + hablar(TEXT160, "160.als"); + else if (objeto_que_lleva == MIRAR && fl == 19) + hablar(TEXT161, "161.als"); + else if (objeto_que_lleva == MIRAR && fl == 20) + hablar(TEXT162, "162.als"); + else if (objeto_que_lleva == MIRAR && fl == 23) + hablar(TEXT152, "152.als"); + else + hay_respuesta = 0; + } else if (num_ejec == 4) { + if ((objeto_que_lleva == 18 && fl == 19) || (objeto_que_lleva == 19 && fl == 18)) { + sin_verbo(); + elige_objeto(21); + resta_objeto(18); + resta_objeto(19); + } else if ((objeto_que_lleva == 14 && fl == 19) || + (objeto_que_lleva == 19 && fl == 14)) + hablar(TEXT484, "484.als"); + else if (objeto_que_lleva == MIRAR && fl == 28) + hablar(TEXT328, "328.als"); + else if (objeto_que_lleva == MIRAR && fl == 7) + hablar(TEXT478, "478.als"); + else if (objeto_que_lleva == MIRAR && fl == 8) + hablar(TEXT480, "480.als"); + else if (objeto_que_lleva == MIRAR && fl == 9) { + hablar(TEXT482, "482.als"); + hablar(TEXT483, "483.als"); + } else if (objeto_que_lleva == MIRAR && fl == 10) + hablar(TEXT485, "485.als"); + else if (objeto_que_lleva == MIRAR && fl == 11) + hablar(TEXT488, "488.als"); + else if (objeto_que_lleva == MIRAR && fl == 12) + hablar(TEXT486, "486.als"); + else if (objeto_que_lleva == MIRAR && fl == 13) + hablar(TEXT490, "490.als"); + else if (objeto_que_lleva == MIRAR && fl == 14) + hablar(TEXT122, "122.als"); + else if (objeto_que_lleva == MIRAR && fl == 15) + hablar(TEXT117, "117.als"); + else if (objeto_que_lleva == HABLAR && fl == 15) + hablar(TEXT118, "118.als"); + else if (objeto_que_lleva == ABRIR && fl == 15) + hablar(TEXT119, "119.als"); + else if (objeto_que_lleva == MIRAR && fl == 16) + hablar(TEXT491, "491.als"); + else if (objeto_que_lleva == MIRAR && fl == 17) + hablar(TEXT478, "478.als"); + else if (objeto_que_lleva == MIRAR && fl == 18) + hablar(TEXT493, "493.als"); + else if (objeto_que_lleva == MIRAR && fl == 19) { + hablar(TEXT494, "494.als"); + hablar(TEXT495, "495.als"); + } else if (objeto_que_lleva == MIRAR && fl == 20) + hablar(TEXT162, "162.als"); + else if (objeto_que_lleva == MIRAR && fl == 21) + hablar(TEXT496, "496.als"); + else if (objeto_que_lleva == MIRAR && fl == 22) + hablar(TEXT161, "161.als"); + else + hay_respuesta = 0; + } } else { if (objeto_que_lleva == MIRAR && fl == 50) - hablar(TEXT308, "308.als"); + if (num_ejec == 3) + hablar(TEXT308, "308.als"); + else + hablar(TEXT309, "309.als"); else if (objeto_que_lleva == ABRIR && fl == 50) hablar(TEXT310, "310.als" ); else if (objeto_que_lleva == CERRAR && fl == 50) @@ -4022,11 +4325,13 @@ void DrasculaEngine::banderas(int fl) { else if (objeto_que_lleva == COGER && fl == 50) hablar(TEXT313, "313.als" ); else if (objeto_que_lleva == HABLAR && fl == 50) - hablar(TEXT314,"314.als" ); + hablar(TEXT314, "314.als" ); else if (!strcmp(num_room, "62.alg")) pantalla_62(fl); else if (!strcmp(num_room, "63.alg")) pantalla_63(fl); + else if (!strcmp(num_room, "13.alg")) + pantalla_13(fl); else hay_respuesta = 0; } @@ -4678,6 +4983,24 @@ void DrasculaEngine::comprueba_banderas_menu() { } void DrasculaEngine::pantalla_0() { + if (num_ejec == 3) { + if (objeto_que_lleva == MIRAR) + hablar(TEXT316, "316.als"); + else if (objeto_que_lleva == MOVER) + hablar(TEXT317, "317.als"); + else if (objeto_que_lleva == COGER) + hablar(TEXT318, "318.als"); + else if (objeto_que_lleva == ABRIR) + hablar(TEXT319, "319.als"); + else if (objeto_que_lleva == CERRAR) + hablar(TEXT319, "319.als"); + else if (objeto_que_lleva == HABLAR) + hablar(TEXT320, "320.als"); + else + hablar(TEXT318, "318.als"); + return; + } + if (objeto_que_lleva == MIRAR) { if (num_ejec == 1) hablar(TEXT54, "54.als"); @@ -4859,10 +5182,13 @@ bucle_opc: else if (num_ejec == 2) if (music_status() == 0 && flags[11] == 0 && musica_room != 0) playmusic(musica_room); + else if (num_ejec == 3) + if (music_status() == 0) + playmusic(musica_room); MirarRaton(); - if ( y_raton > 0 && y_raton < 9) { + if (y_raton > 0 && y_raton < 9) { if (usado1 == 1 && _color != BLANCO) color_abc(BLANCO); else if (usado1 == 0 && _color != VERDE_CLARO) @@ -4899,15 +5225,24 @@ bucle_opc: if ((boton_izq == 1) && (juego1 == 2)) { usado1 = 1; hablar(frase1, suena1); - responde(respuesta1); + if (num_ejec == 3) + grr(); + else + responde(respuesta1); } else if ((boton_izq == 1) && (juego2 == 2)) { usado2 = 1; hablar(frase2, suena2); - responde(respuesta2); + if (num_ejec == 3) + grr(); + else + responde(respuesta2); } else if ((boton_izq == 1) && (juego3 == 2)) { usado3 = 1; hablar(frase3, suena3); - responde(respuesta3); + if (num_ejec == 3) + grr(); + else + responde(respuesta3); } else if ((boton_izq == 1) && (juego4 == 2)) { hablar(frase4, suena4); rompo_y_salgo = 1; @@ -5197,7 +5532,13 @@ void DrasculaEngine::print_abc_opc(const char *dicho, int x_pantalla, int y_pant } void DrasculaEngine::responde(int funcion) { - if (funcion == 10) + if (funcion == 2) + animacion_2_4(); + else if (funcion == 3) + animacion_3_4(); + else if (funcion == 4) + animacion_4_4(); + else if (funcion == 10) habla_borracho(TEXTB1, "B1.als"); else if (funcion == 11) habla_borracho(TEXTB2, "B2.als"); @@ -5381,8 +5722,9 @@ bucless: lee_dibujos("96.alg"); descomprime_dibujo(dir_hare_frente, 1); - if (music_status() == 0 && flags[11] == 0) - playmusic(musica_room); + if (num_ejec <= 3) + if (music_status() == 0 && flags[11] == 0) + playmusic(musica_room); } void DrasculaEngine::suma_objeto(int osj) { @@ -5396,7 +5738,7 @@ void DrasculaEngine::suma_objeto(int osj) { if (puesto == 0) { for (h = 1; h < 43; h++) { if (objetos_que_tengo[h] == 0) { - objetos_que_tengo[h]=osj; + objetos_que_tengo[h] = osj; puesto = 1; break; } @@ -6561,22 +6903,33 @@ void DrasculaEngine::lleva_vb(int punto_x) { void DrasculaEngine::hipo_sin_nadie(int contador){ int y = 0, sentido = 0; - contador = contador; + if (num_ejec == 3) + y = -1; comienza: contador--; DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); - VUELCA_PANTALLA(0, 1, 0, y, 320, 198, dir_zona_pantalla); + if (num_ejec <= 2) + VUELCA_PANTALLA(0, 1, 0, y, 320, 198, dir_zona_pantalla); + else + VUELCA_PANTALLA(0, 0, 0, y, 320, 200, dir_zona_pantalla); if (sentido == 0) y++; else y--; - if (y == 2) - sentido = 1; - if (y == 0) - sentido = 0; + if (num_ejec <= 2) { + if (y == 2) + sentido = 1; + if (y == 0) + sentido = 0; + } else if (num_ejec == 3) { + if (y == 1) + sentido = 1; + if (y == -1) + sentido = 0; + } if (contador > 0) goto comienza; @@ -6586,6 +6939,8 @@ comienza: void DrasculaEngine::abre_puerta(int nflag, int n_puerta) { if (flags[nflag] == 0) { + if (num_ejec == 1 && nflag == 7) + return; comienza_sound("s3.als"); flags[nflag] = 1; if (n_puerta != NO_PUERTA) @@ -6697,7 +7052,7 @@ void DrasculaEngine::refresca_4() { if (hare_x > 190) cambio_de_color = 1; else - cambio_de_color=0; + cambio_de_color = 0; if (cambio_col_antes != cambio_de_color && cambio_de_color == 1) hare_oscuro(); @@ -6855,6 +7210,508 @@ void DrasculaEngine::refresca_18_antes() { } } +void DrasculaEngine::grr() { + int longitud; + longitud = 30; + + buffer_teclado(); + + color_abc(VERDE_OSCURO); + + if (hay_sb == 1) { + sku = new Common::File; + sku->open("s10.als"); + if (!sku->isOpen()) { + error("no puedo abrir archivo de voz"); + } + ctvd_init(4); + ctvd_speaker(1); + ctvd_output(sku); + } + + refresca_pantalla(); + DIBUJA_FONDO(253, 110, 150, 65, 20, 30, dir_dibujo3, dir_zona_pantalla); + + if (con_voces == 0) + centra_texto(".groaaarrrrgghhh!", 153, 65); + + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); + +bucless: + int key = getscan(); + if (key != 0) + ctvd_stop(); + buffer_teclado(); + if (hay_sb == 1) { + if (LookForFree() != 0) + goto bucless; + delete sku; + ctvd_terminate(); + } else { + longitud = longitud - 2; + if (longitud > 0) + goto bucless; + } + + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +} + +void DrasculaEngine::pantalla_13(int fl) { + if (objeto_que_lleva == MIRAR && fl == 51) { + hablar(TEXT411, "411.als"); + sentido_hare = 3; + hablar(TEXT412, "412.als"); + strcpy(nombre_obj[1], "yoda"); + } else if (objeto_que_lleva == HABLAR && fl == 51) + conversa("op_7.cal"); + else if (objeto_que_lleva == 19 && fl == 51) + animacion_1_3(); + else if (objeto_que_lleva == 9 && fl == 51) + animacion_2_3(); + else + hay_respuesta = 0; +} + +void DrasculaEngine::refresca_13() { + if (hare_x > 55 && flags[3] == 0) + animacion_6(); + if (flags[1] == 0) + DIBUJA_BLOQUE(185, 110, 121, 65, 67, 88, dir_dibujo3, dir_zona_pantalla); + if (flags[2] == 0) + DIBUJA_BLOQUE(185, 21, 121, 63, 67, 88, dir_dibujo3, dir_zona_pantalla); + DIBUJA_BLOQUE(3, 127, 99, 102, 181, 71, dir_dibujo3, dir_zona_pantalla); +} + +void DrasculaEngine::refresca_20() { + DIBUJA_BLOQUE(1, 137, 106, 121, 213, 61, dir_dibujo3, dir_zona_pantalla); +} + +void DrasculaEngine::animacion_1_3() { + hablar(TEXT413, "413.als"); + grr(); + pausa(50); + hablar(TEXT414, "414.als"); +} + +void DrasculaEngine::animacion_2_3() { + flags[0] = 1; + playmusic(13); + animacion_3_3(); + playmusic(13); + animacion_4_3(); + flags[1] = 1; + refresca_pantalla(); + VUELCA_PANTALLA(120, 0, 120, 0, 200, 200, dir_zona_pantalla); + animacion_5(); + flags[0] = 0; + flags[1] = 1; + + lee_dibujos("96.alg"); + descomprime_dibujo(dir_hare_frente, 1); + lee_dibujos("97.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("99.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + + lleva_al_hare(332, 127); + libera_memoria(); + // TODO + error("4 segment"); +} + +void DrasculaEngine::animacion_3_3() { + int n, x = 0; + int px = hare_x - 20, py = hare_y - 1; + + lee_dibujos("an2y_1.alg"); + descomprime_dibujo(dir_hare_frente, 1); + lee_dibujos("an2y_2.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("an2y_3.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } +} + +void DrasculaEngine::animacion_4_3() { + int n, x = 0; + int px = 120, py = 63; + + lee_dibujos("any_1.alg"); + descomprime_dibujo(dir_hare_frente, 1); + lee_dibujos("any_2.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("any_3.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + + for (n = 0; n < 4; n++){ + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 1, px, py, 77, 89, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 91, px, py, 77, 89, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 1, px, py, 77, 89, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 91, px, py, 77, 89, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 1, px, py, 77, 89, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 77, 89, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 91, px, py, 77, 89, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 77, 89, dir_zona_pantalla); + x = x + 77; + pausa(3); + } +} + +void DrasculaEngine::animacion_5() { + int n, x = 0; + int px = hare_x - 20, py = hare_y - 1; + + lee_dibujos("an3y_1.alg"); + descomprime_dibujo(dir_hare_frente, 1); + lee_dibujos("an3y_2.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("an3y_3.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_dch, dir_zona_pantalla); + VUELCA_PANTALLA(px,py, px,py, 71,72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 2, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } + + x = 0; + + for (n = 0; n < 4; n++) { + x++; + DIBUJA_FONDO(px, py, px, py, 71, 72, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(x, 75, px, py, 71, 72, dir_hare_fondo, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 71, 72, dir_zona_pantalla); + x = x + 71; + pausa(3); + } +} + +void DrasculaEngine::animacion_6() { + 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; + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); + + flags[1] = 0; + + lee_dibujos("an4y.alg"); + descomprime_dibujo(dir_hare_frente, 1); + + for (frame = 0; frame < 6; frame++){ + pausa(3); + DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); + DIBUJA_BLOQUE(yoda_x[frame], yoda_y[frame], px, py, 78, 90, + dir_hare_frente, dir_zona_pantalla); + VUELCA_PANTALLA(px, py, px, py, 78, 90, dir_zona_pantalla); + } + + flags[2] = 1; + + lee_dibujos("96.alg"); + descomprime_dibujo(dir_hare_frente, 1); + + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +} + +void DrasculaEngine::animacion_rayo() { + lee_dibujos("anr_1.alg"); + descomprime_dibujo(dir_hare_frente, MEDIA); + lee_dibujos("anr_2.alg"); + descomprime_dibujo(dir_hare_dch, 1); + lee_dibujos("anr_3.alg"); + descomprime_dibujo(dir_hare_fondo, 1); + lee_dibujos("anr_4.alg"); + descomprime_dibujo(dir_dibujo1, 1); + lee_dibujos("anr_5.alg"); + descomprime_dibujo(dir_dibujo3, 1); + + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_hare_frente); + + pausa(50); + + comienza_sound("s5.als"); + + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_hare_dch); + pausa(3); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_hare_fondo); + pausa(3); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_dibujo1); + pausa(3); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_hare_fondo); + pausa(3); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_dibujo3); + pausa(3); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_hare_frente); + fin_sound(); +} + +void DrasculaEngine::animacion_2_4() { + habla_igor_sentado(TEXTI16, "I16.als"); + hablar(TEXT278, "278.als"); + habla_igor_sentado(TEXTI17, "I17.als"); + hablar(TEXT279, "279.als"); + habla_igor_sentado(TEXTI18, "I18.als"); +} + +void DrasculaEngine::animacion_3_4() { + habla_igor_sentado(TEXTI19, "I19.als"); + habla_igor_sentado(TEXTI20, "I20.als"); + hablar(TEXT281, "281.als"); +} + +void DrasculaEngine::animacion_4_4() { + hablar(TEXT287, "287.als"); + habla_igor_sentado(TEXTI21, "I21.als"); + hablar(TEXT284, "284.als"); + habla_igor_sentado(TEXTI22, "I22.als"); + hablar(TEXT285, "285.als"); + habla_igor_sentado(TEXTI23, "I23.als"); +} + +void DrasculaEngine::habla_igor_sentado(char dicho[], char filename[]) { + int tiempou; + long tiempol; + + int x_habla[4] = { 80, 102, 124, 146 }; + int cara; + + int longitud; + longitud = strlen(dicho); + + tiempol = _system->getMillis(); + tiempou = (unsigned int)tiempol / 2; + _rnd->setSeed(tiempou); + + buffer_teclado(); + + color_abc(BLANCO); + + 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); + DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); + + actualiza_refresco_antes(); + + DIBUJA_FONDO(x_habla[cara], 109, 207, 92, 21, 23, dir_dibujo3, dir_zona_pantalla); + pon_hare(); + actualiza_refresco(); + + if (con_voces == 0) + centra_texto(dicho, 221, 102); + + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); + + pausa(3); + + int key = getscan(); + if (key != 0) + ctvd_stop(); + buffer_teclado(); + if (hay_sb == 1) { + if (LookForFree() != 0) + goto bucless; + delete sku; + ctvd_terminate(); + } else { + longitud = longitud - 2; + if (longitud > 0) + goto bucless; + } + + refresca_pantalla(); + VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +} + +void DrasculaEngine::animacion_7_4() { + Negro(); + hablar(TEXT427, "427.als"); + FundeDelNegro(1); + resta_objeto(8); + resta_objeto(10); + resta_objeto(12); + resta_objeto(16); + suma_objeto(17); + flags[30] = 0; + flags[29] = 0; +} } // End of namespace Drascula diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index d8e49ba930..315da20478 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -497,7 +497,6 @@ public: void animacion_4_1(); void animacion_3_2(); void animacion_4_2(); - void animacion_7(); void animacion_8(); void animacion_9(); void animacion_10(); @@ -687,9 +686,22 @@ public: void ctvd_speaker(int flag); void ctvd_output(Common::File *file_handle); void ctvd_init(int b); - - - + void grr(); + void pantalla_13(int fl); + void refresca_13(); + void refresca_20(); + void animacion_1_3(); + void animacion_2_3(); + void animacion_3_3(); + void animacion_4_3(); + void animacion_5(); + void animacion_6(); + void animacion_7_4(); + void animacion_rayo(); + void animacion_2_4(); + void animacion_3_4(); + void animacion_4_4(); + void habla_igor_sentado(char[], char[]); private: |