[Scummvm-cvs-logs] SF.net SVN: scummvm: [31063] scummvm/trunk/engines/drascula/drascula.cpp

aquadran at users.sourceforge.net aquadran at users.sourceforge.net
Sat Mar 8 19:00:04 CET 2008


Revision: 31063
          http://scummvm.svn.sourceforge.net/scummvm/?rev=31063&view=rev
Author:   aquadran
Date:     2008-03-08 10:00:04 -0800 (Sat, 08 Mar 2008)

Log Message:
-----------
more merge fixes for drascula

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/drascula.cpp

Modified: scummvm/trunk/engines/drascula/drascula.cpp
===================================================================
--- scummvm/trunk/engines/drascula/drascula.cpp	2008-03-08 11:38:35 UTC (rev 31062)
+++ scummvm/trunk/engines/drascula/drascula.cpp	2008-03-08 18:00:04 UTC (rev 31063)
@@ -177,9 +177,6 @@
 			descomprime_dibujo(dir_mesa, 1);
 		}
 
-		if (num_ejec == 6)
-			dir_pendulo = dir_dibujo3;
-
 		if (num_ejec == 1) {
 			con_voces = 0;
 			lee_dibujos("96.alg");
@@ -1445,7 +1442,7 @@
 }
 
 void DrasculaEngine::carga_escoba(const char *nom_fich) {
-	int soc, l, martin = 0, obj_salir;
+	int soc, l, martin = 0, obj_salir = 0;
 	float chiquez = 0, pequegnez = 0;
 	char pant1[20], pant2[20], pant3[20], pant4[20];
 	char para_codificar[20];
@@ -1588,7 +1585,6 @@
 		}
 	}
 
-	obj_salir = -1;
 	for (l = 0; l < objs_room; l++) {
 		if (num_obj[l] == obj_saliendo)
 			obj_salir = l;
@@ -1596,7 +1592,6 @@
 
 	if (num_ejec == 2) {
 		if (hare_x == -1) {
-			assert(obj_salir != -1);
 			hare_x = x_alakeva[obj_salir];
 			hare_y = y_alakeva[obj_salir] - alto_hare;
 		}
@@ -1653,7 +1648,6 @@
 
 	if (num_ejec != 2) {
 		if (hare_x == -1) {
-			assert(obj_salir != -1);
 			hare_x = x_alakeva[obj_salir];
 			hare_y = y_alakeva[obj_salir];
 			alto_hare = (ALTO_PERSONAJE * factor_red[hare_y]) / 100;
@@ -2714,7 +2708,7 @@
 		pos_dr[0] = 47;
 	else if (sentido_dr == 0)
 		pos_dr[0] = 1;
-	else if (sentido_dr == 3)
+	else if (sentido_dr == 3 && num_ejec == 1)
 		pos_dr[0] = 93;
 	pos_dr[1] = 122;
 	pos_dr[2] = x_dr;
@@ -2722,7 +2716,10 @@
 	pos_dr[4] = 45;
 	pos_dr[5] = 77;
 
-	DIBUJA_BLOQUE_CUT(pos_dr, dir_hare_fondo, dir_zona_pantalla);
+	if (num_ejec == 6)
+		DIBUJA_BLOQUE_CUT(pos_dr, dir_dibujo2, dir_zona_pantalla);
+	else
+		DIBUJA_BLOQUE_CUT(pos_dr, dir_hare_fondo, dir_zona_pantalla);
 }
 
 void DrasculaEngine::pon_bj() {
@@ -2855,9 +2852,14 @@
 
 	pon_igor();
 	pon_dr();
+	if (num_ejec == 6)
+		pon_hare();
 
 	DIBUJA_FONDO(x_dr, y_dr, x_dr, y_dr, 38, 31, dir_dibujo1, dir_zona_pantalla);
-	DIBUJA_BLOQUE(x_habla[cara], 90, x_dr, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla);
+	if (num_ejec == 6)
+		DIBUJA_BLOQUE(x_habla[cara], 90, x_dr, y_dr, 38, 31, dir_dibujo2, dir_zona_pantalla);
+	else
+		DIBUJA_BLOQUE(x_habla[cara], 90, x_dr, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla);
 
 	actualiza_refresco();
 
@@ -2930,9 +2932,14 @@
 
 	pon_igor();
 	pon_dr();
+	if (num_ejec == 6)
+		pon_hare();
 
 	DIBUJA_FONDO(x_dr, y_dr, x_dr, y_dr, 45, 31, dir_dibujo1, dir_zona_pantalla);
-	DIBUJA_BLOQUE(x_habla[cara], 58, x_dr + 7, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla);
+	if (num_ejec != 6)
+		DIBUJA_BLOQUE(x_habla[cara], 58, x_dr + 7, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla);
+	else
+		DIBUJA_BLOQUE(x_habla[cara], 58, x_dr + 7, y_dr, 38, 31, dir_dibujo2, dir_zona_pantalla);
 
 	actualiza_refresco();
 
@@ -2961,9 +2968,13 @@
 			goto bucless;
 	}
 
-	DIBUJA_FONDO(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
+	if (num_ejec == 6)
+		refresca_pantalla(); 
+
 	pon_igor();
 	pon_dr();
+	if (num_ejec == 6)
+		pon_hare();
 	VUELCA_PANTALLA(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
 }
 
@@ -3299,7 +3310,7 @@
 	long tiempol;
 
 	int suma_1_pixel = 0;
-	if (num_ejec == 1)
+	if (num_ejec == 1 || num_ejec == 6)
 		suma_1_pixel = 1;
 
 	int y_mask_habla = 170;
@@ -3325,7 +3336,7 @@
 	tiempou = (unsigned int)tiempol / 2;
 	_rnd->setSeed(tiempou);
 
-	if (num_ejec == 1) {
+	if (num_ejec == 1 || num_ejec == 6) {
 		if (factor_red[hare_y + alto_hare] == 100)
 			suma_1_pixel = 0;
 	}
@@ -4016,7 +4027,6 @@
 			hablar(TEXT442, "442.als");
 		else {
 			puertas_cerradas(l);
-
 			if (espuerta[l] != 0) {
 				lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);
 				sentido_hare = sentidobj[l];
@@ -4132,7 +4142,6 @@
 		}
 	} else if (num_ejec == 6) {
 		puertas_cerradas(l);
-
 		if (espuerta[l] != 0) {
 			lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);
 			sentido_hare = sentidobj[l];
@@ -4549,7 +4558,7 @@
 			} else
 				hay_respuesta = 0;
 		} else if (num_ejec == 6) {
-			if (objeto_que_lleva == MIRAR && fl == 50 && flags[0] == 0)
+			if (objeto_que_lleva == MIRAR && fl == 50 && flags[0] == 1)
 				hablar(TEXT308, "308.als");
 			else if (objeto_que_lleva == MIRAR && fl == 50 && flags[0] == 0)
 				hablar(TEXT310, "250.als" );
@@ -5471,13 +5480,13 @@
 		respuesta3 = 31;
 	}
 
-	if (num_ejec == 6 && !strcmp(nom_fich, "op_5.cal") && flags[7] == 1) {
+	if (num_ejec == 6 && !strcmp(nom_fich, "op_12.cal") && flags[7] == 1) {
 		strcpy(frase3, TEXT273);
 		strcpy(suena3, "273.als");
 		respuesta3 = 14;
 	}
 
-	if (num_ejec == 6 && !strcmp(nom_fich, "op_5.cal") && flags[10] == 1) {
+	if (num_ejec == 6 && !strcmp(nom_fich, "op_12.cal") && flags[10] == 1) {
 		strcpy(frase3, ".cuanto.queda.para.que.acabe.el.partido?");
 		strcpy(suena3, "274.als");
 		respuesta3 = 15;
@@ -8892,7 +8901,7 @@
 	habla_igor_frente(TEXTI12, "I12.als");
 	habla_dr_dch(TEXTD34, "d34.als");
 	sentido_dr = 0;
-	habla_dr_izq(TEXTD35,"d35.als");
+	habla_dr_izq(TEXTD35, "d35.als");
 	borra_pantalla();
 	carga_escoba("102.ald");
 	activa_pendulo();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list