diff options
author | Paweł Kołodziejski | 2007-07-28 19:43:26 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2007-07-28 19:43:26 +0000 |
commit | dbf01ea3fe979c9c81fa15f633c41ef035141e54 (patch) | |
tree | 00a878c4fa49f4e40a2622ec9dabbaba7159a565 | |
parent | 3463604d056a356e7f0ad9595deb919ff17ec60c (diff) | |
download | scummvm-rg350-dbf01ea3fe979c9c81fa15f633c41ef035141e54.tar.gz scummvm-rg350-dbf01ea3fe979c9c81fa15f633c41ef035141e54.tar.bz2 scummvm-rg350-dbf01ea3fe979c9c81fa15f633c41ef035141e54.zip |
more fixes
svn-id: r28274
-rw-r--r-- | engines/drascula/drascula.cpp | 277 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 12 |
2 files changed, 155 insertions, 134 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index 932cb32b44..7dc00b2c57 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -26,6 +26,7 @@ #include "common/stdafx.h" #include "common/events.h" +#include "common/keyboard.h" #include "common/file.h" #include "common/savefile.h" #include "common/config-manager.h" @@ -72,8 +73,6 @@ DrasculaEngine::DrasculaEngine(OSystem *syst) : Engine(syst) { _gameId = g->id; _rnd = new Common::RandomSource(); - Common::EventManager *_eventMan = _system->getEventManager(); - } DrasculaEngine::~DrasculaEngine() { @@ -301,18 +300,7 @@ void DrasculaEngine::asigna_rgb(byte *dir_lectura, int plt) { ActualizaPaleta(); } -void DrasculaEngine::funde_rgb(int plt) { -/* TODO: ??? - unsigned int n; - - for (n = 0; n < plt; n++) { - palJuego[n][0] = inp(0x3c9); - palJuego[n][1] = inp(0x3c9); - palJuego[n][2] = inp(0x3c9); - } - ActualizaPaleta(); -*/ -} +void DrasculaEngine::funde_rgb(int plt) {} void DrasculaEngine::Negro() { int color, componente; @@ -407,12 +395,13 @@ void DrasculaEngine::DIBUJA_BLOQUE_CUT(int *Array, byte *Origen, byte *Destino) void DrasculaEngine::VUELCA_PANTALLA(int xorg, int yorg, int xdes, int ydes, int Ancho, int Alto, byte *Buffer) { int x; + byte *ptr = VGA; - VGA += xdes + ydes * 320; + ptr += xdes + ydes * 320; Buffer += xorg + yorg * 320; for (x = 0; x < Alto; x++) { - memcpy(VGA, Buffer, Ancho); - VGA += 320; + memcpy(ptr, Buffer, Ancho); + ptr += 320; Buffer += 320; } @@ -1189,10 +1178,36 @@ void DrasculaEngine::para_cargar(char nom_game[]) { sin_verbo(); } +static char *getLine(Common::File *fp, char *buf, int len) { + int c; + char *b; + + for (;;) { + b = buf; + while (!fp->eos()) { + c = fp->readByte() ^ 0xff; + if (c == '\r') + continue; + if (c == '\n') + break; + if (b - buf >= (len - 1)) + break; + *b++ = c; + } + *b = '\0'; + if (fp->eos() && b == buf) + return NULL; + if (b != buf) + break; + } + return buf; +} + void DrasculaEngine::carga_escoba(const char *nom_fich) { int l, obj_salir; float chiquez, pequegnez = 0; char para_codificar[13]; + char buffer[256]; hay_nombre = 0; @@ -1208,50 +1223,73 @@ void DrasculaEngine::carga_escoba(const char *nom_fich) { error("missing data file"); } int size = ald->size(); - char *buffer = new char[size]; - ald->read(buffer, size); - delete ald; - for (l = 0; l < size; l++) - buffer[l] ^= 0xff; + getLine(ald, buffer, size); sscanf(buffer, "%s", num_room); strcat(num_room,".alg"); + + getLine(ald, buffer, size); sscanf(buffer, "%d", &musica_room); + getLine(ald, buffer, size); sscanf(buffer, "%s", pantalla_disco); + getLine(ald, buffer, size); sscanf(buffer, "%d", &nivel_osc); + getLine(ald, buffer, size); sscanf(buffer, "%d", &objs_room); for (l = 0; l < objs_room;l++) { + getLine(ald, buffer, size); sscanf(buffer, "%d", &num_obj[l]); + getLine(ald, buffer, size); sscanf(buffer, "%s", nombre_obj[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &x1[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &y1[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &x2[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &y2[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &sitiobj_x[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &sitiobj_y[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &sentidobj[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &visible[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &espuerta[l]); if (espuerta[l] != 0) { + getLine(ald, buffer, size); sscanf(buffer, "%s", alapantallakeva[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &x_alakeva[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &y_alakeva[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &sentido_alkeva[l]); + getLine(ald, buffer, size); sscanf(buffer, "%d", &alapuertakeva[l]); puertas_cerradas(l); } } + getLine(ald, buffer, size); sscanf(buffer, "%d", &suelo_x1); + getLine(ald, buffer, size); sscanf(buffer, "%d", &suelo_y1); + getLine(ald, buffer, size); sscanf(buffer, "%d", &suelo_x2); + getLine(ald, buffer, size); sscanf(buffer, "%d", &suelo_y2); + getLine(ald, buffer, size); sscanf(buffer, "%d", &lejos); + getLine(ald, buffer, size); sscanf(buffer, "%d", &cerca); - delete buffer; + delete ald; canal_p(para_codificar); @@ -1375,16 +1413,16 @@ void DrasculaEngine::comprueba_objetos() { && x_raton < x2[l] && y_raton < y2[l] && visible[l] == 1 && espuerta[l] == 0) { strcpy(texto_nombre, nombre_obj[l]); - hay_nombre=1; - veo=1; + hay_nombre = 1; + veo = 1; } } if (x_raton > hare_x + 2 && y_raton > hare_y + 2 && x_raton < hare_x + ancho_hare - 2 && y_raton < hare_y + alto_hare - 2 && veo == 0) { strcpy(texto_nombre, "hacker"); - hay_nombre=1; - veo=1; + hay_nombre = 1; + veo = 1; } if (veo == 0) @@ -1392,19 +1430,11 @@ void DrasculaEngine::comprueba_objetos() { } void DrasculaEngine::espera_soltar() { - // TODO - //boton_izq=sal.w.bx & 1; - //boton_dch=(sal.w.bx >> 1) & 1; - //x_raton=sal.w.cx >> 1; - //y_raton=sal.w.dx; + update_events(); } void DrasculaEngine::MirarRaton() { - // TODO - //boton_izq=sal.w.bx & 1; - //boton_dch=(sal.w.bx >> 1) & 1; - //x_raton=sal.w.cx >> 1; - //y_raton=sal.w.dx; + update_events(); } void DrasculaEngine::elige_en_barra() { @@ -1491,39 +1521,41 @@ void DrasculaEngine::comprueba2() { } } -char DrasculaEngine::getscan() { - // TODO - return 0; +byte DrasculaEngine::getscan() { + update_events(); + + return _keyPressed.ascii; } void DrasculaEngine::update_events() { Common::Event event; + Common::EventManager *eventMan = _system->getEventManager(); - while (_eventMan->pollEvent(event)) { + while (eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: -// _keyPressed = event.kbd; + _keyPressed = event.kbd; + break; + case Common::EVENT_KEYUP: + _keyPressed = event.kbd; break; -/* case Common::EVENT_MOUSEMOVE: - _mouseX = event.mouse.x; - _mouseY = event.mouse.y; + case Common::EVENT_MOUSEMOVE: + x_raton = event.mouse.x; + y_raton = event.mouse.y; break; case Common::EVENT_LBUTTONDOWN: - _mouseDown = true; - _mouseState |= BS1L_BUTTON_DOWN; + boton_izq = 1; break; case Common::EVENT_LBUTTONUP: - _mouseDown = false; - _mouseState |= BS1L_BUTTON_UP; + boton_izq = 0; break; - case Common::EVENT_WHEELUP: - _mouseDown = false; - _mouseState |= BS1_WHEEL_UP; + case Common::EVENT_RBUTTONDOWN: + boton_dch = 1; break; - case Common::EVENT_WHEELDOWN: - _mouseDown = false; - _mouseState |= BS1_WHEEL_DOWN; + case Common::EVENT_RBUTTONUP: + boton_dch = 0; break; +/* // TODO case Common::EVENT_QUIT: break; */ default: @@ -2048,7 +2080,7 @@ void DrasculaEngine::salva_pantallas() { void DrasculaEngine::fliplay(const char *filefli, int vel) { OpenSSN(filefli, vel); while (PlayFrameSSN() && (!term_int)) { - if (chkkey() == 27) + if (getscan() == 27) term_int = 1; } EndSSN(); @@ -2300,9 +2332,9 @@ void DrasculaEngine::habla_dr_grande(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2321,7 +2353,7 @@ void DrasculaEngine::habla_dr_grande(const char *dicho, const char *filename) { bucless: - cara = rand() % 4; + cara = _rnd->getRandomNumber(3); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); DIBUJA_FONDO(interf_x[l] + 24, interf_y[l], 0, 45, 39, 31, dir_dibujo2, dir_zona_pantalla); DIBUJA_FONDO(x_habla[cara], 1, 171, 68, 45, 48, dir_dibujo2, dir_zona_pantalla); @@ -2417,7 +2449,7 @@ void DrasculaEngine::habla_igor_dch(const char *dicho, const char *filename) { tiempol = time (NULL); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2436,7 +2468,7 @@ void DrasculaEngine::habla_igor_dch(const char *dicho, const char *filename) { bucless: - cara = rand() % 8; + cara = _rnd->getRandomNumber(7); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -2491,9 +2523,8 @@ void DrasculaEngine::habla_dr_izq(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); // TODO + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); buffer_teclado(); @@ -2512,7 +2543,7 @@ void DrasculaEngine::habla_dr_izq(const char *dicho, const char *filename) { bucless: - cara=rand() % 8; + cara = _rnd->getRandomNumber(7); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -2567,10 +2598,9 @@ void DrasculaEngine::habla_dr_dch(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - // TODO - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2589,7 +2619,7 @@ void DrasculaEngine::habla_dr_dch(const char *dicho, const char *filename) { bucless: - cara = rand() % 8; + cara = _rnd->getRandomNumber(7); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); actualiza_refresco_antes(); @@ -2640,9 +2670,9 @@ void DrasculaEngine::habla_solo(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); color_abc(color_solo); @@ -2691,10 +2721,9 @@ void DrasculaEngine::habla_igor_frente(const char *dicho, const char *filename) int longitud; longitud = strlen(dicho); - // TODO - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2713,7 +2742,7 @@ void DrasculaEngine::habla_igor_frente(const char *dicho, const char *filename) bucless: - cara = rand() % 8; + cara = _rnd->getRandomNumber(7); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -2768,9 +2797,9 @@ void DrasculaEngine::habla_tabernero(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2792,7 +2821,7 @@ bucless: if (music_status() == 0) playmusic(musica_room); - cara = rand() % 9; + cara = _rnd->getRandomNumber(8); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -2873,9 +2902,9 @@ void DrasculaEngine::habla_bj(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -2894,7 +2923,7 @@ void DrasculaEngine::habla_bj(const char *dicho, const char *filename) { bucless: - cara = rand() % 5; + cara = _rnd->getRandomNumber(4); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -2950,9 +2979,9 @@ void DrasculaEngine::hablar(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); if (factor_red[hare_y + alto_hare] == 100) suma_1_pixel = 0; @@ -2972,7 +3001,7 @@ void DrasculaEngine::hablar(const char *dicho, const char *filename) { bucless: - cara = rand() % 6; + cara = _rnd->getRandomNumber(5); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -3096,6 +3125,7 @@ void DrasculaEngine::refresca_pantalla() { void DrasculaEngine::carga_partida(const char *nom_game) { int l, n_ejec2; + char buffer[256]; canal_p(nom_game); sku = new Common::File; @@ -3104,33 +3134,38 @@ void DrasculaEngine::carga_partida(const char *nom_game) { error("missing data file"); } int size = sku->size(); - char *buffer = new char[size]; - sku->read(buffer, size); - delete sku; - for (l = 0; l < size; l++) - buffer[l] ^= 0xff; + getLine(ald, buffer, size); sscanf(buffer, "%d", &n_ejec2); if (n_ejec2 != num_ejec) { canal_p(nom_game); strcpy(nom_partida, nom_game); salir_al_dos(n_ejec2); } + getLine(ald, buffer, size); sscanf(buffer, "%s", datos_actuales); + getLine(ald, buffer, size); sscanf(buffer, "%d", &hare_x); + getLine(ald, buffer, size); sscanf(buffer, "%d", &hare_y); + getLine(ald, buffer, size); sscanf(buffer, "%d", &sentido_hare); for (l = 1; l < 43; l++) { + getLine(ald, buffer, size); sscanf(buffer, "%d", &objetos_que_tengo[l]); } for (l = 0; l < NUM_BANDERAS; l++) { + getLine(ald, buffer, size); sscanf(buffer, "%d", &flags[l]); } + getLine(ald, buffer, size); sscanf(buffer, "%d", &lleva_objeto); + getLine(ald, buffer, size); sscanf(buffer, "%d", &objeto_que_lleva); + delete ald; canal_p(nom_game); } @@ -3143,12 +3178,12 @@ void DrasculaEngine::canal_p(const char *fich){ strcpy(fich2, "top"); - // TODO ald3.open(fich); if (!ald3.isOpen()) { error("no puedo abrir el archivo codificado"); } + // TODO ald2.open(fich2, Common::File::kFileWriteMode); if (!ald2.isOpen()) { error("no puedo abrir el archivo destino"); @@ -3532,7 +3567,7 @@ void DrasculaEngine::cursor_mesa() { } void DrasculaEngine::introduce_nombre() { - char key; + byte key; int v = 0, h = 0; char select2[23]; strcpy(select2, " "); @@ -3841,19 +3876,6 @@ void DrasculaEngine::WaitFrameSSN() { LastFrame = LastFrame + GlobalSpeed; } -int DrasculaEngine::chkkey() { - //TODO -/* - union REGS registros; - - registros.h.ah=0x06; - registros.h.dl=0xff; - intdos(®istros,®istros); - return(registros.h.al); -*/ - return 0; -} - byte *DrasculaEngine::carga_pcx(byte *NamePcc) { signed int con = 0; unsigned int X = 0; @@ -4021,10 +4043,8 @@ void DrasculaEngine::refresca_62_antes() { int borracho_x[] = {1, 42, 83, 124, 165, 206, 247, 1 }; int diferencia; - DIBUJA_FONDO(123, velas_y[frame_velas], 142, 14, 39, 13, - dir_dibujo3, dir_zona_pantalla); - DIBUJA_FONDO(cirio_x[frame_velas], 146, 311, 80, 4, 8, - dir_dibujo3, dir_zona_pantalla); + DIBUJA_FONDO(123, velas_y[frame_velas], 142, 14, 39, 13, dir_dibujo3, dir_zona_pantalla); + DIBUJA_FONDO(cirio_x[frame_velas], 146, 311, 80, 4, 8, dir_dibujo3, dir_zona_pantalla); if (parpadeo == 5) DIBUJA_FONDO(1, 149, 127, 52, 9, 5, dir_dibujo3, dir_zona_pantalla); @@ -4033,16 +4053,14 @@ void DrasculaEngine::refresca_62_antes() { DIBUJA_FONDO(31, 138, 178, 51, 18, 16, dir_dibujo3, dir_zona_pantalla); if (flags[11] == 0) - DIBUJA_FONDO(pianista_x[frame_piano], 157, 245, 130, 29, 42, - dir_dibujo3, dir_zona_pantalla); + DIBUJA_FONDO(pianista_x[frame_piano], 157, 245, 130, 29, 42, dir_dibujo3, dir_zona_pantalla); else if (flags[5] == 0) DIBUJA_FONDO(145, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); else DIBUJA_FONDO(165, 140, 229, 117, 43, 59, dir_dibujo3, dir_zona_pantalla); if (flags[12] == 1) - DIBUJA_FONDO(borracho_x[frame_borracho], 82, 170, 50, 40, 53, - dir_dibujo3, dir_zona_pantalla); + DIBUJA_FONDO(borracho_x[frame_borracho], 82, 170, 50, 40, 53, dir_dibujo3, dir_zona_pantalla); diferencia = vez() - conta_ciego_vez; if (diferencia > 6) { @@ -4052,7 +4070,7 @@ void DrasculaEngine::refresca_62_antes() { frame_borracho = 0; flags[12] = 0; } - } else if (((rand() % 95) == 15) && (flags[13] == 0)) + } else if ((_rnd->getRandomNumber(94) == 15) && (flags[13] == 0)) flags[12] = 1; frame_velas++; @@ -4061,7 +4079,7 @@ void DrasculaEngine::refresca_62_antes() { frame_piano++; if (frame_piano == 9) frame_piano = 0; - parpadeo = rand() % 11; + parpadeo = _rnd->getRandomNumber(10); conta_ciego_vez = vez(); } } @@ -4238,6 +4256,7 @@ void DrasculaEngine::conversa(const char *nom_fich) { int usado1 = 0; int usado2 = 0; int usado3 = 0; + char buffer[256]; rompo_y_salgo = 0; @@ -4250,24 +4269,30 @@ void DrasculaEngine::conversa(const char *nom_fich) { error("missing data file"); } int size = ald->size(); - char *buffer = new char[size]; - ald->read(buffer, size); - delete ald; - for (h = 0; h < size; h++) - buffer[h] ^= 0xff; + getLine(ald, buffer, size); sscanf(buffer, "%s", frase1); + getLine(ald, buffer, size); sscanf(buffer, "%s", frase2); + getLine(ald, buffer, size); sscanf(buffer, "%s", frase3); + getLine(ald, buffer, size); sscanf(buffer, "%s", frase4); + getLine(ald, buffer, size); sscanf(buffer, "%s", suena1); + getLine(ald, buffer, size); sscanf(buffer, "%s", suena2); + getLine(ald, buffer, size); sscanf(buffer, "%s", suena3); + getLine(ald, buffer, size); sscanf(buffer, "%s", suena4); + getLine(ald, buffer, size); sscanf(buffer, "%d", &respuesta1); + getLine(ald, buffer, size); sscanf(buffer, "%d", &respuesta2); + getLine(ald, buffer, size); sscanf(buffer, "%d", &respuesta3); - delete buffer; + delete ald; canal_p(para_codificar); longitud = strlen(frase1); @@ -4357,7 +4382,7 @@ bucle_opc: responde(respuesta3); } else if ((boton_izq == 1) && (juego4 == 2)) { hablar(frase4, suena4); - rompo_y_salgo=1; + rompo_y_salgo = 1; } if (boton_izq == 1) @@ -4662,9 +4687,9 @@ void DrasculaEngine::habla_pianista(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); buffer_teclado(); @@ -4683,7 +4708,7 @@ void DrasculaEngine::habla_pianista(const char *dicho, const char *filename) { bucless: - cara = rand() % 4; + cara = _rnd->getRandomNumber(3); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); @@ -4729,9 +4754,9 @@ void DrasculaEngine::habla_borracho(const char *dicho, const char *filename) { int longitud; longitud = strlen(dicho); - tiempol = time(NULL); + tiempol = _system->getMillis(); tiempou = (unsigned int)tiempol / 2; - srand(tiempou); + _rnd->setSeed(tiempou); lee_dibujos("an11y13.alg"); descomprime_dibujo(dir_hare_frente, 1); @@ -4763,7 +4788,7 @@ bebiendo: bucless: - cara = rand() % 8; + cara = _rnd->getRandomNumber(7); DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 213d860db1..1515f9803b 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -34,6 +34,8 @@ #include "common/savefile.h" #include "common/system.h" #include "common/hash-str.h" +#include "common/events.h" +#include "common/keyboard.h" #include "engines/engine.h" @@ -323,7 +325,7 @@ struct DrasculaGameDescription; class DrasculaEngine : public ::Engine { int _gameId; - Common::EventManager *_eventMan; + Common::KeyState _keyPressed; protected: @@ -454,17 +456,12 @@ public: int corta_musica; char select[23]; int hay_seleccion; - - - // TODO below int x_raton; int y_raton; int y_raton_ant; int boton_izq; int boton_dch; - - void escoba(); void Negro(); void agarra_objeto(int); @@ -483,7 +480,7 @@ public: void elige_en_barra(); void comprueba1(); void comprueba2(); - char getscan(); + byte getscan(); void elige_verbo(int); void mesa(); void saves(); @@ -556,7 +553,6 @@ public: byte *TryInMem(Common::File *Sesion); void EndSSN(); int PlayFrameSSN(); - int chkkey(); byte *AuxBuffOrg; byte *AuxBuffLast; |