diff options
| -rw-r--r-- | engines/drascula/animation.cpp | 1122 | ||||
| -rw-r--r-- | engines/drascula/drascula.cpp | 306 | ||||
| -rw-r--r-- | engines/drascula/drascula.h | 20 | ||||
| -rw-r--r-- | engines/drascula/rooms.cpp | 312 | ||||
| -rw-r--r-- | engines/drascula/talk.cpp | 302 | 
5 files changed, 1031 insertions, 1031 deletions
| diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index f2371f724c..6f2bc1bc2d 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -55,9 +55,9 @@ void DrasculaEngine::animation_1_1() {  			break;  		clearRoom();  		loadPic("cielo.alg"); -		decompressPic(dir_zona_pantalla, 256); +		decompressPic(screenSurface, 256);  		black(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		fadeFromBlack(2);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -66,7 +66,7 @@ void DrasculaEngine::animation_1_1() {  			break;  		color_abc(RED);  		centerText(_textmisc[_lang][1], 160, 100); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		delay(1000); @@ -90,8 +90,8 @@ void DrasculaEngine::animation_1_1() {  		if (anima("scr3.bin", 17))  			break;  		loadPic("cielo2.alg"); -		decompressPic(dir_zona_pantalla, 256); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, 256); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		fadeToBlack(1); @@ -100,13 +100,13 @@ void DrasculaEngine::animation_1_1() {  		clearRoom();  		loadPic("96.alg"); -		decompressPic(dir_hare_frente, COMPLETE_PAL); +		decompressPic(frontSurface, COMPLETE_PAL);  		loadPic("103.alg"); -		decompressPic(dir_dibujo1, HALF_PAL); +		decompressPic(drawSurface1, HALF_PAL);  		loadPic("104.alg"); -		decompressPic(dir_dibujo3, 1); +		decompressPic(drawSurface3, 1);  		loadPic("aux104.alg"); -		decompressPic(dir_dibujo2, 1); +		decompressPic(drawSurface2, 1);  		playMusic(4);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE)) @@ -117,9 +117,9 @@ void DrasculaEngine::animation_1_1() {  		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); +				copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +				copyBackground(interf_x[l], interf_y[l], 156, 45, 63, 31, drawSurface2, screenSurface); +				updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  				if (getScan() == Common::KEYCODE_ESCAPE) {  					term_int = 1;  					break; @@ -135,15 +135,15 @@ void DrasculaEngine::animation_1_1() {  		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); +			copyBackground(0, 0, 320 - l, 0, l, 200, drawSurface3, screenSurface); +			copyBackground(l, 0, 0, 0, 320 - l, 200, drawSurface1, screenSurface);  			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); +			copyRectClip(pos_pixel, drawSurface2, screenSurface); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			p++;  			if (p == 6) {  				p = 0; @@ -158,7 +158,7 @@ void DrasculaEngine::animation_1_1() {  		}  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; -		copyBackground(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1); +		copyBackground(0, 0, 0, 0, 320, 200, screenSurface, drawSurface1);  		talk_dr_grande(_textd[_lang][1], "D1.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE)) @@ -167,11 +167,11 @@ void DrasculaEngine::animation_1_1() {  		clearRoom();  		loadPic("100.alg"); -		decompressPic(dir_dibujo1, HALF_PAL); +		decompressPic(drawSurface1, HALF_PAL);  		loadPic("auxigor.alg"); -		decompressPic(dir_hare_frente, 1); +		decompressPic(frontSurface, 1);  		loadPic("auxdr.alg"); -		decompressPic(dir_hare_fondo, 1); +		decompressPic(backSurface, 1);  		sentido_dr = 0;  		x_dr = 129;  		y_dr = 95; @@ -179,17 +179,17 @@ void DrasculaEngine::animation_1_1() {  		x_igor = 66;  		y_igor = 97; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_igor_dch(8);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_dr_izq(2);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -203,15 +203,15 @@ void DrasculaEngine::animation_1_1() {  		clearRoom();  		color_solo = RED;  		loadPic("plan1.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, HALF_PAL); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(10);  		talk_solo(_textd[_lang][4],"d4.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		loadPic("plan1.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, HALF_PAL); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_solo(_textd[_lang][5], "d5.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -219,8 +219,8 @@ void DrasculaEngine::animation_1_1() {  			break;  		clearRoom();  		loadPic("plan2.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, HALF_PAL); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(20);  		talk_solo(_textd[_lang][6], "d6.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE)) @@ -229,8 +229,8 @@ void DrasculaEngine::animation_1_1() {  			break;  		clearRoom();  		loadPic("plan3.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, HALF_PAL); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(20);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -238,14 +238,14 @@ void DrasculaEngine::animation_1_1() {  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		loadPic("plan3.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		decompressPic(screenSurface, HALF_PAL); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_solo(_textd[_lang][8], "d8.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		clearRoom();  		loadPic("100.alg"); -		decompressPic(dir_dibujo1, HALF_PAL); +		decompressPic(drawSurface1, HALF_PAL);  		MusicFadeout();  		stopMusic();  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE)) @@ -289,30 +289,30 @@ void DrasculaEngine::animation_1_1() {  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		sentido_dr = 3; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(1);  		sentido_dr = 0; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_dr_izq(12);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		sentido_dr = 3; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(1);  		sentido_dr = 1; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_igor_dch(2);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -321,16 +321,16 @@ void DrasculaEngine::animation_1_1() {  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		sentido_dr = 3; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(1);  		sentido_dr = 0; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk_dr_izq(14);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -371,9 +371,9 @@ void DrasculaEngine::animation_1_1() {  	}  	clearRoom();  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, COMPLETE_PAL); +	decompressPic(frontSurface, COMPLETE_PAL);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  }  void DrasculaEngine::talk_dr_grande(const char *said, const char *filename) { @@ -400,9 +400,9 @@ void DrasculaEngine::talk_dr_grande(const char *said, const char *filename) {  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); -	copyBackground(x_talk[cara], 1, 171, 68, 45, 48, dir_dibujo2, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	copyBackground(interf_x[l] + 24, interf_y[l], 0, 45, 39, 31, drawSurface2, screenSurface); +	copyBackground(x_talk[cara], 1, 171, 68, 45, 48, drawSurface2, screenSurface);  	l++;  	if (l == 7)  		l = 0; @@ -410,7 +410,7 @@ bucless:  	if (withVoices == 0)  		centerText(said, 191, 69); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -449,10 +449,10 @@ void DrasculaEngine::animation_2_1() {  			break;  		if (_lang == kSpanish) -			dir_texto = dir_hare_frente; +			textSurface = frontSurface;  		loadPic("an11y13.alg"); -		decompressPic(dir_hare_dch, 1); +		decompressPic(extraSurface, 1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -461,10 +461,10 @@ void DrasculaEngine::animation_2_1() {  			break;  		if (_lang == kSpanish) -			dir_texto = dir_hare_dch; +			textSurface = extraSurface;  		loadPic("97.alg"); -		decompressPic(dir_hare_dch, 1); +		decompressPic(extraSurface, 1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -478,7 +478,7 @@ void DrasculaEngine::animation_2_1() {  		clearRoom();  		stopMusic();  		musicStopped = 1; -		memset(dir_zona_pantalla, 0, 64000); +		memset(screenSurface, 0, 64000);  		color_solo = WHITE;  		pause(80); @@ -489,11 +489,11 @@ void DrasculaEngine::animation_2_1() {  			break;  		clearRoom();  		loadPic("bj.alg"); -		decompressPic(dir_zona_pantalla, HALF_PAL); +		decompressPic(screenSurface, HALF_PAL);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		black(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		fadeFromBlack(1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -504,11 +504,11 @@ void DrasculaEngine::animation_2_1() {  		clearRoom();  		loadPic("16.alg"); -		decompressPic(dir_dibujo1, HALF_PAL); +		decompressPic(drawSurface1, HALF_PAL);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		loadPic("auxbj.alg"); -		decompressPic(dir_dibujo3, 1); +		decompressPic(drawSurface3, 1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -529,7 +529,7 @@ void DrasculaEngine::animation_2_1() {  			break;  		loadPic("97g.alg"); -		decompressPic(dir_hare_dch, 1); +		decompressPic(extraSurface, 1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -568,11 +568,11 @@ void DrasculaEngine::animation_2_1() {  		loadPic("97.alg");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; -		decompressPic(dir_hare_dch, 1); +		decompressPic(extraSurface, 1);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		pause(120); @@ -585,7 +585,7 @@ void DrasculaEngine::animation_2_1() {  		updateRoom();  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(110);  		talk_solo(_textbj[_lang][11], "BJ11.als");  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE)) @@ -593,7 +593,7 @@ void DrasculaEngine::animation_2_1() {  		updateRoom();  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		pause(118); @@ -629,19 +629,19 @@ void DrasculaEngine::animation_2_1() {  			break;  		pause(8);  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk(225);  		pause(76);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		sentido_hare = 1;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk(226);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(30);  		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))  			break; @@ -653,10 +653,10 @@ void DrasculaEngine::animation_2_1() {  void DrasculaEngine::animation_3_1() {  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an11y13.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(192);  	talk_tabernero(1); @@ -682,34 +682,34 @@ void DrasculaEngine::animation_3_1() {  	flags[0] = 1;  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_4_1() {  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an12.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(_text[_lang][205],"205.als");  	updateRefresh_pre(); -	copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); -	updateScreen(228,112, 228,112, 47,60, dir_zona_pantalla); +	copyBackground(1, 139, 228, 112, 47, 60, extraSurface, screenSurface); +	updateScreen(228,112, 228,112, 47,60, screenSurface);  	pause(3);  	updateRefresh_pre(); -	copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); +	copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);  	pon_hare(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3);  	stopMusic(); @@ -725,11 +725,11 @@ void DrasculaEngine::animation_4_1() {  	talk(_text[_lang][209], "209.als");  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[11] = 0;  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_1_2() { @@ -741,22 +741,22 @@ void DrasculaEngine::animation_2_2() {  	int n, x=0;  	sentido_hare = 0; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	pon_hare();  	updateRefresh(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("an2_1.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("an2_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1); -	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); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	copyBackground(1, 1, 201, 87, 50, 52, frontSurface, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	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); +		copyBackground(x, 1, 201, 87, 50, 52, frontSurface, screenSurface); +		updateScreen(201,87, 201,87, 50,52, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -765,8 +765,8 @@ void DrasculaEngine::animation_2_2() {  	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); +		copyBackground(x, 55, 201, 87, 50, 52, frontSurface, screenSurface); +		updateScreen(201, 87, 201, 87, 50, 52, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -775,8 +775,8 @@ void DrasculaEngine::animation_2_2() {  	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); +		copyBackground(x, 109, 201, 87, 50, 52, frontSurface, screenSurface); +		updateScreen(201, 87, 201, 87, 50, 52, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -786,8 +786,8 @@ void DrasculaEngine::animation_2_2() {  	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); +		copyBackground(x, 1, 201, 87, 50, 52, extraSurface, screenSurface); +		updateScreen(201,87, 201,87, 50,52, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -796,8 +796,8 @@ void DrasculaEngine::animation_2_2() {  	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); +		copyBackground(x, 55, 201, 87, 50, 52, extraSurface, screenSurface); +		updateScreen(201, 87, 201, 87, 50, 52, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -805,14 +805,14 @@ void DrasculaEngine::animation_2_2() {  	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); +		copyBackground(x, 109, 201, 87, 50, 52, extraSurface, screenSurface); +		updateScreen(201, 87, 201, 87, 50, 52, screenSurface);  		x = x + 50;  		pause(3);  	} -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	stopSound(); @@ -839,21 +839,21 @@ void DrasculaEngine::animation_4_2() {  	clearRoom();  	loadPic("ciego1.alg"); // ciego = blind -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("ciego2.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("ciego3.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("ciego4.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("ciego5.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(10); @@ -876,14 +876,14 @@ void DrasculaEngine::animation_4_2() {  	talk_blind(_textd[_lang][74],"d74.als", _textd1[_lang][74 - TEXTD_START]);  	talk_hacker(_textd[_lang][63],"d63.als");  	talk_blind(_textd[_lang][75],"d75.als", _textd1[_lang][75 - TEXTD_START]); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	_system->delayMillis(1000);  	talk_hacker(_textd[_lang][64], "d64.als");  	talk_blind(_textd[_lang][76], "d76.als", _textd1[_lang][76 - TEXTD_START]); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(14); @@ -891,19 +891,19 @@ void DrasculaEngine::animation_4_2() {  	playMusic(roomMusic);  	loadPic("9.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("aux9.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	withoutVerb();  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[9] = 0;  	flags[4] = 1; @@ -940,7 +940,7 @@ void DrasculaEngine::animation_14_2() {  	int l = 0;  	loadPic("an14_2.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an14_1.alg");  	pos_cabina[0] = 150; @@ -951,20 +951,20 @@ void DrasculaEngine::animation_14_2() {  	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); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre();  		pon_hare();  		pon_vb();  		pos_cabina[3] = n; -		copyRectClip(pos_cabina, dir_hare_fondo, dir_zona_pantalla); +		copyRectClip(pos_cabina, backSurface, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		l = l + 1;  	}  	flags[24] = 1; -	decompressPic(dir_dibujo1, 1); +	decompressPic(drawSurface1, 1);  	playSound("s7.als");  	hiccup(15); @@ -972,7 +972,7 @@ void DrasculaEngine::animation_14_2() {  	stopSound();  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  }  void DrasculaEngine::animation_15_2() { @@ -1004,17 +1004,17 @@ void DrasculaEngine::animation_16_2() {  		color_abc(DARK_GREEN);  	loadPic("his1.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	if (_lang == kSpanish)  		black(); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	if (_lang != kSpanish)  		centerText(_texthis[_lang][1], 180, 180); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (_lang == kSpanish)  		fadeFromBlack(1); @@ -1039,13 +1039,13 @@ void DrasculaEngine::animation_16_2() {  	clearRoom();  	loadPic("his2.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	decompressPic(drawSurface1, HALF_PAL); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	if (_lang != kSpanish)  		centerText(_texthis[_lang][2], 180, 180); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	key = getScan();  	if (key != 0)  		goto asco; @@ -1066,13 +1066,13 @@ void DrasculaEngine::animation_16_2() {  	clearRoom();  	loadPic("his3.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	decompressPic(drawSurface1, HALF_PAL); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	if (_lang != kSpanish)  		centerText(_texthis[_lang][3], 180, 180); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	key = getScan();  	if (key != 0)  		goto asco; @@ -1090,16 +1090,16 @@ void DrasculaEngine::animation_16_2() {  	clearRoom();  	loadPic("his4_1.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("his4_2.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo3, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface3, screenSurface);  	if (_lang != kSpanish)  		centerText(_texthis[_lang][1], 180, 180); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	key = getScan();  	if (key != 0)  		goto asco; @@ -1114,9 +1114,9 @@ void DrasculaEngine::animation_16_2() {  		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); +		copyBackground(0, 0, 0, l, 320, 200 - l, drawSurface3, screenSurface); +		copyBackground(0, 200 - l, 0, 0, 320, l, drawSurface1, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		key = getScan();  		if (key != 0)  			goto asco; @@ -1128,14 +1128,14 @@ void DrasculaEngine::animation_16_2() {  asco:  	loadPic(roomDisk); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	char rm[20];  	sprintf(rm, "%i.alg", roomNumber);  	loadPic(rm); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	black();  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	fadeFromBlack(0);  	if (roomMusic != 0)  		playMusic(roomMusic); @@ -1189,7 +1189,7 @@ void DrasculaEngine::animation_21_2() {  void DrasculaEngine::animation_23_2() {  	loadPic("an24.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	flags[21] = 1; @@ -1251,18 +1251,18 @@ void DrasculaEngine::animation_23_anexo() {  				76, 76, 76, 76, 76, 76, 76, 1, 1, 1, 1};  	loadPic("an23.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyRect(p_x, p_y, p_x, p_y, 36, 74, drawSurface1, screenSurface); +		copyRect(x[n], y[n], p_x, p_y, 36, 74, backSurface, screenSurface);  		updateRefresh(); -		updateScreen(p_x, p_y, p_x, p_y, 36, 74, dir_zona_pantalla); +		updateScreen(p_x, p_y, p_x, p_y, 36, 74, screenSurface);  		pause(5);  	}  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  }  void DrasculaEngine::animation_23_anexo2() { @@ -1273,27 +1273,27 @@ void DrasculaEngine::animation_23_anexo2() {  	pause(50);  	loadPic("an23_2.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyRect(p_x, p_y, p_x, p_y, 33, 71, drawSurface1, screenSurface); +		copyRect(x[n], y[n], p_x, p_y, 33, 71, backSurface, screenSurface);  		updateRefresh(); -		updateScreen(p_x,p_y, p_x,p_y, 33,71, dir_zona_pantalla); +		updateScreen(p_x,p_y, p_x,p_y, 33,71, screenSurface);  		pause(5);  	}  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo,1); +	decompressPic(backSurface,1);  }  void DrasculaEngine::animation_25_2() {  	int n, pos_cabina[6];  	loadPic("an14_2.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("18.alg"); -	decompressPic(dir_dibujo1, 1); +	decompressPic(drawSurface1, 1);  	pos_cabina[0] = 150;  	pos_cabina[1] = 6; @@ -1307,7 +1307,7 @@ void DrasculaEngine::animation_25_2() {  	playSound("s6.als");  	for (n = 0; n >= -160; n = n - 8) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre();  		pon_hare(); @@ -1315,16 +1315,16 @@ void DrasculaEngine::animation_25_2() {  		pos_cabina[3] = n; -		copyRectClip(pos_cabina, dir_hare_fondo, dir_zona_pantalla); +		copyRectClip(pos_cabina, backSurface, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	}  	stopSound();  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  }  void DrasculaEngine::animation_27_2() { @@ -1395,14 +1395,14 @@ void DrasculaEngine::animation_31_2() {  	pause(15);  	lleva_al_hare(159, 140);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	sentido_hare = 2;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(78);  	sentido_hare = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(22);  	talk(406);  	lleva_vb(98); @@ -1444,17 +1444,17 @@ void DrasculaEngine::animation_35_2() {  	lleva_al_hare(79, 165);  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("an35_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an35_2.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	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); +		copyBackground(x, 1, 70, 90, 46, 80, backSurface, screenSurface); +		updateScreen(70,90, 70,90, 46,80,screenSurface);  		x = x + 46;  		pause(3);  	} @@ -1462,8 +1462,8 @@ void DrasculaEngine::animation_35_2() {  	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); +		copyBackground(x, 82, 70, 90, 46, 80, backSurface, screenSurface); +		updateScreen(70, 90, 70, 90, 46, 80, screenSurface);  		x = x + 46;  		pause(3);  	} @@ -1471,8 +1471,8 @@ void DrasculaEngine::animation_35_2() {  	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); +		copyBackground(x, 1, 70, 90, 46, 80, frontSurface, screenSurface); +		updateScreen(70, 90, 70, 90, 46, 80, screenSurface);  		x = x + 46; @@ -1482,15 +1482,15 @@ void DrasculaEngine::animation_35_2() {  	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); +		copyBackground(x, 82, 70, 90, 46, 80, frontSurface, screenSurface); +		updateScreen(70, 90, 70,90, 46, 80,screenSurface);  		x = x + 46;  		pause(3);  	} -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(19); @@ -1518,17 +1518,17 @@ void DrasculaEngine::animation_2_3() {  	animation_4_3();  	flags[1] = 1;  	updateRoom(); -	updateScreen(120, 0, 120, 0, 200, 200, dir_zona_pantalla); +	updateScreen(120, 0, 120, 0, 200, 200, screenSurface);  	animation_5_3();  	flags[0] = 0;  	flags[1] = 1;  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	lleva_al_hare(332, 127);  } @@ -1538,17 +1538,17 @@ void DrasculaEngine::animation_3_3() {  	int px = hare_x - 20, py = hare_y - 1;  	loadPic("an2y_1.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("an2y_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an2y_3.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1557,9 +1557,9 @@ void DrasculaEngine::animation_3_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1568,9 +1568,9 @@ void DrasculaEngine::animation_3_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, extraSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1579,9 +1579,9 @@ void DrasculaEngine::animation_3_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, extraSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1590,9 +1590,9 @@ void DrasculaEngine::animation_3_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, backSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1601,9 +1601,9 @@ void DrasculaEngine::animation_3_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, backSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1614,17 +1614,17 @@ void DrasculaEngine::animation_4_3() {  	int px = 120, py = 63;  	loadPic("any_1.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("any_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("any_3.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 1, px, py, 77, 89, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1633,9 +1633,9 @@ void DrasculaEngine::animation_4_3() {  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 91, px, py, 77, 89, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1644,9 +1644,9 @@ void DrasculaEngine::animation_4_3() {  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 1, px, py, 77, 89, extraSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1655,9 +1655,9 @@ void DrasculaEngine::animation_4_3() {  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 91, px, py, 77, 89, extraSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1666,9 +1666,9 @@ void DrasculaEngine::animation_4_3() {  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 1, px, py, 77, 89, backSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1677,9 +1677,9 @@ void DrasculaEngine::animation_4_3() {  	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); +		copyBackground(px, py, px, py, 77, 89, drawSurface1, screenSurface); +		copyRect(x, 91, px, py, 77, 89, backSurface, screenSurface); +		updateScreen(px, py, px, py, 77, 89, screenSurface);  		x = x + 77;  		pause(3);  	} @@ -1690,17 +1690,17 @@ void DrasculaEngine::animation_5_3() {  	int px = hare_x - 20, py = hare_y - 1;  	loadPic("an3y_1.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("an3y_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an3y_3.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1709,9 +1709,9 @@ void DrasculaEngine::animation_5_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, frontSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1720,9 +1720,9 @@ void DrasculaEngine::animation_5_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, extraSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1731,9 +1731,9 @@ void DrasculaEngine::animation_5_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, extraSurface, screenSurface); +		updateScreen(px,py, px,py, 71,72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1742,9 +1742,9 @@ void DrasculaEngine::animation_5_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 2, px, py, 71, 72, backSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1753,9 +1753,9 @@ void DrasculaEngine::animation_5_3() {  	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); +		copyBackground(px, py, px, py, 71, 72, drawSurface1, screenSurface); +		copyRect(x, 75, px, py, 71, 72, backSurface, screenSurface); +		updateScreen(px, py, px, py, 71, 72, screenSurface);  		x = x + 71;  		pause(3);  	} @@ -1769,58 +1769,58 @@ void DrasculaEngine::animation_6_3() {  	hare_se_mueve = 0;  	flags[3] = 1;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	flags[1] = 0;  	loadPic("an4y.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	for (frame = 0; frame < 6; frame++) {  		pause(3); -		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); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +		copyRect(yoda_x[frame], yoda_y[frame], px, py,	78, 90,	frontSurface, screenSurface); +		updateScreen(px, py, px, py, 78, 90, screenSurface);  	}  	flags[2] = 1;  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::animation_rayo() {  	loadPic("anr_1.alg"); -	decompressPic(dir_hare_frente, HALF_PAL); +	decompressPic(frontSurface, HALF_PAL);  	loadPic("anr_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("anr_3.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("anr_4.alg"); -	decompressPic(dir_dibujo1, 1); +	decompressPic(drawSurface1, 1);  	loadPic("anr_5.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1); -	updateScreen(0, 0, 0, 0, 320, 200, dir_hare_frente); +	updateScreen(0, 0, 0, 0, 320, 200, frontSurface);  	pause(50);  	playSound("s5.als"); -	updateScreen(0, 0, 0, 0, 320, 200, dir_hare_dch); +	updateScreen(0, 0, 0, 0, 320, 200, extraSurface);  	pause(3); -	updateScreen(0, 0, 0, 0, 320, 200, dir_hare_fondo); +	updateScreen(0, 0, 0, 0, 320, 200, backSurface);  	pause(3); -	updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1); +	updateScreen(0, 0, 0, 0, 320, 200, drawSurface1);  	pause(3); -	updateScreen(0, 0, 0, 0, 320, 200, dir_hare_fondo); +	updateScreen(0, 0, 0, 0, 320, 200, backSurface);  	pause(3); -	updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo3); +	updateScreen(0, 0, 0, 0, 320, 200, drawSurface3);  	pause(3); -	updateScreen(0, 0, 0, 0, 320, 200, dir_hare_frente); +	updateScreen(0, 0, 0, 0, 320, 200, frontSurface);  	stopSound();  } @@ -1888,7 +1888,7 @@ void DrasculaEngine::animation_1_5() {  			if (hare_se_mueve == 0)  				break;  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		}  		sentido_hare = 1; @@ -1913,7 +1913,7 @@ void DrasculaEngine::animation_3_5() {  void DrasculaEngine::animation_4_5() {  	flags[7] = 1;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	talk(_text[_lang][228], "228.als");  	talk_wolf(_textl[_lang][1], "L1.als");  	talk_wolf(_textl[_lang][2], "L2.als"); @@ -1945,28 +1945,28 @@ void DrasculaEngine::animation_5_5(){  	lleva_al_hare(hare_x - 19, hare_y + alto_hare);  	sentido_hare = 1;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("3an5_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("3an5_2.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	for (frame = 0; frame < 9; frame++) {  		pause(3); -		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(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +		copyRect(hueso_x[frame], hueso_y[frame], pixel_x, pixel_y, 97, 64, backSurface, screenSurface); +		updateScreen(pixel_x, pixel_y, pixel_x,pixel_y, 97,64, screenSurface);  	} -	copyBackground(52, 161, 198, 81, 26, 24, dir_dibujo3, dir_zona_pantalla); -	updateScreen(198, 81, 198, 81, 26, 24, dir_zona_pantalla); +	copyBackground(52, 161, 198, 81, 26, 24, drawSurface3, screenSurface); +	updateScreen(198, 81, 198, 81, 26, 24, screenSurface);  	for (frame = 0; frame < 9; frame++) {  		pause(3); -		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); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +		copyRect(hueso_x[frame], hueso_y[frame], pixel_x, pixel_y, 97, 64, frontSurface, screenSurface); +		updateScreen(pixel_x, pixel_y, pixel_x,pixel_y, 97, 64, screenSurface);  	}  	flags[6] = 1; @@ -1974,45 +1974,45 @@ void DrasculaEngine::animation_5_5(){  	pause(12);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	for (h = 0; h < (200 - 18); h++) -		copyBackground(0, 53, 0, h, 320, 19, dir_hare_frente, dir_zona_pantalla); +		copyBackground(0, 53, 0, h, 320, 19, frontSurface, screenSurface); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("101.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("3an5_3.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("3an5_4.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1); -	updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1); +	updateScreen(0, 0, 0, 0, 320, 200, drawSurface1);  	pause(9);  	for (frame = 0; frame < 5; frame++) {  		pause(3); -		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); +		copyBackground(vuela_x[frame], 1, 174, 79, 61, 109, backSurface, screenSurface); +		updateScreen(174, 79, 174, 79, 61, 109, screenSurface);  	}  	for (frame = 0; frame < 5; frame++) {  		pause(3); -		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); +		copyBackground(vuela_x[frame], 1, 174, 79, 61, 109, extraSurface, screenSurface); +		updateScreen(174, 79, 174, 79, 61, 109, screenSurface);  	} -	updateScreen(0, 0, 0, 0, 320, 200, dir_dibujo1); +	updateScreen(0, 0, 0, 0, 320, 200, drawSurface1);  	playSound("s1.als");  	stopSound();  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	clearRoom();  	loadPic("49.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  }  void DrasculaEngine::animation_6_5() { @@ -2075,14 +2075,14 @@ void DrasculaEngine::animation_12_5() {  	playMusic(26);  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(27);  	anima("rayo1.bin", 23);  	playSound("s5.als");  	anima("rayo2.bin", 17);  	sentido_hare = 1;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	hare_oscuro(); @@ -2112,7 +2112,7 @@ void DrasculaEngine::animation_12_5() {  	}  	loadPic("3an11_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	for (frame = 0; frame < 8; frame++) {  		if (frame == 2 || frame == 4 || frame == 8 || frame==10) @@ -2124,9 +2124,9 @@ void DrasculaEngine::animation_12_5() {  		pause(4);  		updateRoom(); -		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); +		copyRect(rayo_x[frame], 1, 41, 0, 44, 44, backSurface, screenSurface); +		copyRect(frusky_x[frame], 113, 205, 50, 38, 86, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	}  	stopSound_corte(); @@ -2141,8 +2141,8 @@ void DrasculaEngine::animation_12_5() {  		pause(4);  		updateRoom(); -		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); +		copyRect(elfrusky_x[frame], 47, 192, 39, 66, 106, backSurface, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	}  	anima("frel.bin", 16); @@ -2158,7 +2158,7 @@ void DrasculaEngine::animation_12_5() {  	stopSound();  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	lleva_al_hare(40, 169);  	lleva_al_hare(-14, 175); @@ -2183,7 +2183,7 @@ void DrasculaEngine::animation_13_5() {  	int pos_frusky[6];  	loadPic("auxfr.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	pos_frusky[3] = 81;  	pos_frusky[4] = 44; @@ -2192,8 +2192,8 @@ void DrasculaEngine::animation_13_5() {  	pos_frusky[1] = 1;  	pos_frusky[2] = frank_x;  	updateRoom(); -	copyRectClip(pos_frusky, dir_hare_fondo, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyRectClip(pos_frusky, backSurface, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(15);  	playMusic(18); @@ -2203,8 +2203,8 @@ void DrasculaEngine::animation_13_5() {  		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); +		copyRectClip( pos_frusky, backSurface, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		frank_x = frank_x - 5;  		frame++;  		if (frank_x <= -45) @@ -2221,7 +2221,7 @@ void DrasculaEngine::animation_14_5() {  	flags[11] = 1;  	playSound("s3.als");  	updateRoom(); -	updateScreen(0, 0, 0,0 , 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0,0 , 320, 200, screenSurface);  	stopSound();  	pause(17);  	sentido_hare = 3; @@ -2230,12 +2230,12 @@ void DrasculaEngine::animation_14_5() {  	flags[10] = 1;  	playSound("s7.als");  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	stopSound();  	pause(14);  	sentido_hare = 3;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	talk_solo(_textd[_lang][18], "d18.als");  	fadeToBlack(1);  } @@ -2267,11 +2267,11 @@ void DrasculaEngine::animation_1_6() {  		factor_red[l] = 98;  	loadPic("auxig2.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("auxdr.alg"); -	decompressPic(dir_dibujo2, 1); +	decompressPic(drawSurface2, 1);  	loadPic("car.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	talk_dr_dch(19);  	talk(247);  	talk_dr_dch(20); @@ -2293,15 +2293,15 @@ void DrasculaEngine::animation_1_6() {  	fadeToBlack(1);  	clearRoom();  	loadPic("time1.alg"); -	decompressPic(dir_zona_pantalla, 1); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	decompressPic(screenSurface, 1); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	delay(930);  	clearRoom();  	black();  	hare_se_ve = 0;  	flags[0] = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	fadeFromBlack(1);  	talk(256);  	talk_dr_dch(30); @@ -2309,13 +2309,13 @@ void DrasculaEngine::animation_1_6() {  	fadeToBlack(0);  	clearRoom();  	loadPic("time1.alg"); -	decompressPic(dir_zona_pantalla,1); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	decompressPic(screenSurface,1); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	delay(900);  	clearRoom();  	black();  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	fadeFromBlack(1);  	talk(258);  	talk_dr_dch(31); @@ -2330,7 +2330,7 @@ void DrasculaEngine::animation_1_6() {  	talk_dr_izq(35);  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	clearRoom();  	carga_escoba("102.ald"); @@ -2362,14 +2362,14 @@ void DrasculaEngine::animation_5_6() {  	anima("man.bin", 14);  	for (n = -125; n <= 0; n = n + 2) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre();  		pos_pen[3] = n; -		copyRectClip(pos_pen, dir_dibujo3, dir_zona_pantalla); +		copyRectClip(pos_pen, drawSurface3, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(2);  	} @@ -2382,13 +2382,13 @@ void DrasculaEngine::animation_6_6() {  	withoutVerb();  	removeObject(20);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	rompo = 1;  	objExit = 104;  	hare_x = -1; @@ -2430,22 +2430,22 @@ void DrasculaEngine::animation_9_6() {  	// by the original  	roomNumber = -1;  	loadPic("nota2.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	black();  	sentido_hare = 1;  	hare_x -= 21;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	fadeFromBlack(0);  	pause(96);  	lleva_al_hare(116, 178);  	sentido_hare = 2;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	playMusic(9);  	clearRoom();  	loadPic("nota.alg"); -	decompressPic(dir_dibujo1, COMPLETE_PAL); +	decompressPic(drawSurface1, COMPLETE_PAL);  	color_abc(WHITE);  	talk_solo(_textbj[_lang][24], "bj24.als");  	talk_solo(_textbj[_lang][25], "bj25.als"); @@ -2455,9 +2455,9 @@ void DrasculaEngine::animation_9_6() {  	sentido_hare = 3;  	clearRoom();  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, COMPLETE_PAL); +	decompressPic(frontSurface, COMPLETE_PAL);  	loadPic("nota2.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	talk(_text[_lang][296], "296.als");  	talk(_text[_lang][297], "297.als");  	talk(_text[_lang][298], "298.als"); @@ -2465,15 +2465,15 @@ void DrasculaEngine::animation_9_6() {  	talk(_text[_lang][299], "299.als");  	talk(_text[_lang][300], "300.als");  	updateRoom(); -	copyBackground(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, screenSurface, drawSurface1); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	color_abc(LIGHT_GREEN);  	talk_solo("GOOOOOOOOOOOOOOOL", "s15.als");  	loadPic("nota2.alg"); -	decompressPic(dir_dibujo1, 1); +	decompressPic(drawSurface1, 1);  	sentido_hare = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	talk(_text[_lang][301], "301.als");  	v_cd = _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) / 16;  	v_cd = v_cd + 4; @@ -2492,10 +2492,10 @@ void DrasculaEngine::animation_9_6() {  void DrasculaEngine::animation_10_6() {  	playSound ("s14.als"); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(164, 85, 155, 48, 113, 114, dir_dibujo3, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(164, 85, 155, 48, 113, 114, drawSurface3, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	stopSound();  	talk_taber2(_textt[_lang][23], "t23.als");  	flags[7] = 1; @@ -2537,15 +2537,15 @@ void DrasculaEngine::animation_18_6() {  }  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); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	copyBackground(140, 23, 161, 69, 35, 80, drawSurface3, screenSurface);  	updateRefresh_pre();  	pon_hare(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(6);  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	playSound("s4.als");  	pause(6);  	stopSound(); @@ -2553,26 +2553,26 @@ void DrasculaEngine::animation_19_6() {  void DrasculaEngine::animation_12_2() {  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an12.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(_text[_lang][356], "356.als");  	updateRefresh_pre(); -	copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); -	updateScreen(228, 112, 228, 112, 47, 60, dir_zona_pantalla); +	copyBackground(1, 139, 228, 112, 47, 60, extraSurface, screenSurface); +	updateScreen(228, 112, 228, 112, 47, 60, screenSurface);  	pause(3);  	updateRefresh_pre(); -	copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); +	copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);  	pon_hare(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3);  	stopMusic(); @@ -2582,37 +2582,37 @@ void DrasculaEngine::animation_12_2() {  	converse("op_1.cal");  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[11] = 0;  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_26_2() {  	int n, x = 0;  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an12.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(_text[_lang][392], "392.als");  	updateRefresh_pre(); -	copyBackground(1, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); -	updateScreen(228, 112, 228, 112, 47, 60, dir_zona_pantalla); +	copyBackground(1, 139, 228, 112, 47, 60, extraSurface, screenSurface); +	updateScreen(228, 112, 228, 112, 47, 60, screenSurface);  	pause(3);  	updateRefresh_pre(); -	copyBackground(49, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); +	copyBackground(49, 139, 228, 112, 47, 60, extraSurface, screenSurface);  	pon_hare(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3);  	stopMusic(); @@ -2625,11 +2625,11 @@ void DrasculaEngine::animation_26_2() {  	talk_pianista(_textp[_lang][19], "P19.als");  	loadPic("an26.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	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); +		copyBackground(x, 1, 225, 113, 50, 59, extraSurface, screenSurface); +		updateScreen(225,113, 225,113, 50,59, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -2637,8 +2637,8 @@ void DrasculaEngine::animation_26_2() {  	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); +		copyBackground(x, 61, 225, 113, 50, 59, extraSurface, screenSurface); +		updateScreen(225, 113, 225, 113, 50, 59, screenSurface);  		x = x + 50;  		if (n == 2)  			playSound("s9.als"); @@ -2649,8 +2649,8 @@ void DrasculaEngine::animation_26_2() {  	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); +		copyBackground(x, 121, 225, 113, 50, 59, extraSurface, screenSurface); +		updateScreen(225, 113, 225, 113, 50, 59, screenSurface);  		x = x + 50;  		pause(3);  	} @@ -2659,21 +2659,21 @@ void DrasculaEngine::animation_26_2() {  	removeObject(12);  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[11] = 0;  	flags[39] = 1;  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	roomMusic = 16;  }  void DrasculaEngine::animation_11_2() {  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an11y13.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(352);  	talk_tabernero(1); @@ -2686,15 +2686,15 @@ void DrasculaEngine::animation_11_2() {  	talk_tabernero("No, nada", "d82.als");  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_13_2() {  	loadPic("an11y13.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	if (flags[41] == 0) {  		talk(_text[_lang][103], "103.als"); @@ -2711,7 +2711,7 @@ void DrasculaEngine::animation_13_2() {  	converse("op_2.cal");  	loadPic("964.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  }  void DrasculaEngine::animation_18_2() { @@ -2725,7 +2725,7 @@ void DrasculaEngine::animation_22_2() {  	sentido_hare=2;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	playSound("s13.als");  	stopSound();  	sentido_hare = 1; @@ -2750,7 +2750,7 @@ void DrasculaEngine::animation_24_2() {  	talk(356);  	loadPic("an24.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	animation_32_2(); @@ -2774,14 +2774,14 @@ void DrasculaEngine::animation_32_2() {  	int n, x = 0;  	loadPic("an32_1.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("an32_2.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	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); +		copyBackground(x, 1, 113, 53, 65, 81, drawSurface3, screenSurface); +		updateScreen(113, 53, 113, 53, 65, 81, screenSurface);  		x = x + 65;  		pause(4);  	} @@ -2789,8 +2789,8 @@ void DrasculaEngine::animation_32_2() {  	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); +		copyBackground(x, 83, 113, 53, 65, 81, drawSurface3, screenSurface); +		updateScreen(113, 53, 113, 53, 65, 81, screenSurface);  		x = x + 65;  		pause(4);  	} @@ -2798,8 +2798,8 @@ void DrasculaEngine::animation_32_2() {  	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); +		copyBackground(x, 1, 113, 53, 65, 81, backSurface, screenSurface); +		updateScreen(113, 53, 113, 53, 65, 81, screenSurface);  		x = x + 65;  		pause(4);  	} @@ -2807,15 +2807,15 @@ void DrasculaEngine::animation_32_2() {  	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); +		copyBackground(x, 83, 113, 53, 65, 81, backSurface, screenSurface); +		updateScreen(113, 53, 113, 53, 65, 81, screenSurface);  		x = x + 65;  		if (n < 2)  			pause(4);  	}  	loadPic("aux18.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  }  void DrasculaEngine::animation_34_2() { @@ -2823,17 +2823,17 @@ void DrasculaEngine::animation_34_2() {  	sentido_hare = 1;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("an34_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an34_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	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); +		copyBackground(x, 1, 218, 79, 83, 75, backSurface, screenSurface); +		updateScreen(218, 79, 218, 79, 83, 75, screenSurface);  		x = x + 83;  		pause(3);  	} @@ -2842,8 +2842,8 @@ void DrasculaEngine::animation_34_2() {  	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); +		copyBackground(x, 77, 218, 79, 83, 75, backSurface, screenSurface); +		updateScreen(218, 79, 218, 79, 83, 75, screenSurface);  		x = x + 83;  		pause(3);  	} @@ -2853,8 +2853,8 @@ void DrasculaEngine::animation_34_2() {  	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); +		copyBackground(x, 1, 218, 79, 83, 75,	extraSurface, screenSurface); +		updateScreen(218, 79, 218, 79, 83,75, screenSurface);  		x = x + 83;  		pause(3);  	} @@ -2862,22 +2862,22 @@ void DrasculaEngine::animation_34_2() {  	pause(30); -	copyBackground(1, 77, 218, 79, 83, 75, dir_hare_dch, dir_zona_pantalla); -	updateScreen(218, 79, 218, 79, 83, 75, dir_zona_pantalla); +	copyBackground(1, 77, 218, 79, 83, 75, extraSurface, screenSurface); +	updateScreen(218, 79, 218, 79, 83, 75, screenSurface);  	pause(3);  	loadPic("994.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_36_2() {  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	loadPic("an11y13.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	talk(404);  	talk_tabernero(19); @@ -2888,34 +2888,34 @@ void DrasculaEngine::animation_36_2() {  	talk_tabernero("No, nada", "d82.als");  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  }  void DrasculaEngine::animation_7_2() {  	int n, x = 0;  	loadPic("an7_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an7_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an7_3.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	if (flags[3] == 1) -		copyBackground(258, 110, 85, 44, 23, 53, dir_dibujo3, dir_dibujo1); +		copyBackground(258, 110, 85, 44, 23, 53, drawSurface3, drawSurface1); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64, 51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2924,9 +2924,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2935,9 +2935,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64,	51, 73, extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2946,9 +2946,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2957,28 +2957,28 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64, 51, 73, frontSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	}  	loadPic("an7_4.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an7_5.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an7_6.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("an7_7.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1,	80, 64, 51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2987,9 +2987,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -2998,9 +2998,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1,	80, 64, 51,73, extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3009,9 +3009,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3020,9 +3020,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64, 51, 73, frontSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3031,9 +3031,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3042,9 +3042,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64,	51, 73, frontSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3053,9 +3053,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, frontSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3064,9 +3064,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64, 51, 73, drawSurface3, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3075,24 +3075,24 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, drawSurface3, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	}  	loadPic("an7_8.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an7_9.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64,	51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3101,9 +3101,9 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 75, 80, 64, 51, 73, backSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} @@ -3112,17 +3112,17 @@ void DrasculaEngine::animation_7_2() {  	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); +		copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +		copyRect(x, 1, 80, 64, 51, 73,	extraSurface, screenSurface); +		updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  		x = x + 51;  		pause(3);  	} -	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); +	copyBackground(80, 64, 80, 64, 51, 73, drawSurface1, screenSurface); +	copyRect(1, 75, 80, 64, 51, 73, extraSurface, screenSurface); +	updateScreen(80, 64, 80, 64, 51, 73, screenSurface);  	flags[37] = 1; @@ -3130,13 +3130,13 @@ void DrasculaEngine::animation_7_2() {  		flags[38] = 1;  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("aux3.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  }  void DrasculaEngine::animation_5_2() { @@ -3144,24 +3144,24 @@ void DrasculaEngine::animation_5_2() {  	sentido_hare = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	loadPic("an5_1.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("an5_2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an5_3.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("an5_4.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1); -	copyBackground(1, 1, 213, 66,	53,84, dir_hare_fondo, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(1, 1, 213, 66,	53,84, backSurface, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	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); +		copyBackground(x, 1, 213, 66, 53, 84, backSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84,screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3170,8 +3170,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 86, 213, 66, 53, 84, backSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3180,8 +3180,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 1, 213, 66, 53, 84, extraSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3190,8 +3190,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 1, 213, 66,	53, 84, extraSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3200,8 +3200,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 86, 213, 66, 53, 84, extraSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3210,8 +3210,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 1, 213, 66,	53, 84, frontSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3222,8 +3222,8 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 86, 213, 66, 53, 84, frontSurface, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	} @@ -3233,20 +3233,20 @@ void DrasculaEngine::animation_5_2() {  	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); +		copyBackground(x, 1, 213, 66, 53, 84,	drawSurface3, screenSurface); +		updateScreen(213, 66, 213, 66, 53, 84, screenSurface);  		x = x + 52;  		pause(3);  	}  	loadPic("994.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("974.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("964.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("aux5.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	flags[8] = 1;  	hare_x = hare_x - 4;  	talk_sinc(_text[_lang][46], "46.als", "4442444244244"); @@ -3258,22 +3258,22 @@ void DrasculaEngine::animation_6_2() {  	flags[9] = 1;  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface;  	clearRoom();  	loadPic("ciego1.alg"); // ciego = blind -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("ciego2.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("ciego3.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("ciego4.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("ciego5.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(1); @@ -3284,8 +3284,8 @@ void DrasculaEngine::animation_6_2() {  	pause(4);  	talk_hacker(_textd[_lang][67], "d67.als"); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(10); @@ -3293,19 +3293,19 @@ void DrasculaEngine::animation_6_2() {  	playMusic(roomMusic);  	loadPic("9.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("aux9.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	withoutVerb();  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[9] = 0;  } @@ -3320,21 +3320,21 @@ void DrasculaEngine::animation_33_2() {  	clearRoom();  	loadPic("ciego1.alg"); // ciego = blind -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("ciego2.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("ciego3.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("ciego4.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	loadPic("ciego5.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	if (_lang == kSpanish) -		dir_texto = dir_hare_frente; +		textSurface = frontSurface; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(10); @@ -3346,8 +3346,8 @@ void DrasculaEngine::animation_33_2() {  	talk_blind(_textd[_lang][77], "d77.als", _textd1[_lang][77 - TEXTD_START]);  	talk_hacker(_textd[_lang][65], "d65.als"); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(14); @@ -3355,19 +3355,19 @@ void DrasculaEngine::animation_33_2() {  	playMusic(roomMusic);  	loadPic("9.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("aux9.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("97.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	withoutVerb();  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	flags[33] = 1;  	flags[9] = 0; @@ -3380,17 +3380,17 @@ void DrasculaEngine::animation_1_4() {  		updateRefresh_pre(); -		copyBackground(131, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); -		updateScreen(199, 95, 199, 95, 50, 66, dir_zona_pantalla); +		copyBackground(131, 133, 199, 95, 50, 66, drawSurface3, screenSurface); +		updateScreen(199, 95, 199, 95, 50, 66, screenSurface);  		pause(3);  		updateRefresh_pre(); -		copyBackground(182, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); +		copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface);  		pon_hare(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(3);  		flags[18] = 1; @@ -3405,16 +3405,16 @@ void DrasculaEngine::animation_1_4() {  		updateRefresh_pre(); -		copyBackground(131, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); -		updateScreen(199, 95, 199, 95, 50, 66, dir_zona_pantalla); +		copyBackground(131, 133, 199, 95, 50, 66, drawSurface3, screenSurface); +		updateScreen(199, 95, 199, 95, 50, 66, screenSurface);  		pause(2);  		updateRefresh_pre(); -		copyBackground(182, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); +		copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface);  		pon_hare(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		flags[18] = 1;  		flags[20] = 1; @@ -3432,30 +3432,30 @@ void DrasculaEngine::animation_1_4() {  void DrasculaEngine::animation_5_4(){  	sentido_hare = 3;  	loadPic("anh_dr.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	lleva_al_hare(99, 160);  	lleva_al_hare(38, 177);  	hare_se_ve = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	delay(800);  	anima("bio.bin", 14);  	flags[29] = 1;  	hare_x = 95;  	hare_y = 82;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	openDoor(2, 0);  	loadPic("auxigor.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	x_igor = 100;  	y_igor = 65;  	talk_igor_frente(_texti[_lang][29], "I29.ALS");  	talk_igor_frente(_texti[_lang][30], "I30.als");  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	hare_se_ve = 1;  	fadeToBlack(0);  	exitRoom(0); @@ -3467,29 +3467,29 @@ void DrasculaEngine::animation_6_4() {  	roomNumber = 26;  	clearRoom();  	loadPic("26.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("aux26.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("auxigor.alg"); -	decompressPic(dir_hare_frente, 1); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	decompressPic(frontSurface, 1); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	update_26_pre();  	x_igor = 104;  	y_igor = 71;  	placeIgor(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(40);  	talk_igor_frente(_texti[_lang][26], "I26.als");  	roomNumber = prevRoom;  	clearRoom();  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	loadPic(roomDisk); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	char rm[20];  	sprintf(rm, "%i.alg", roomNumber);  	loadPic(rm); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	withoutVerb();  	updateRoom();  } @@ -3500,16 +3500,16 @@ void DrasculaEngine::animation_8_4() {  	int estanteria_y[] = {1, 1, 1, 1, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74};  	loadPic("an_8.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	for (frame = 0; frame < 14; frame++) {  		pause(2); -		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); +		copyBackground(estanteria_x[frame], estanteria_y[frame], 77, 45, 73, 72, frontSurface, screenSurface); +		updateScreen(77, 45, 77, 45, 73, 72, screenSurface);  	}  	loadPic("96.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1);  	openDoor(7, 2);  } diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index 093cdba1f9..0893cb34bb 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -203,66 +203,66 @@ int DrasculaEngine::go() {  		if (num_ejec != 6) {  			loadPic("95.alg"); -			decompressPic(dir_mesa, 1); +			decompressPic(tableSurface, 1);  		}  		if (num_ejec == 1) {  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  		} else if (num_ejec == 2) {  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			loadPic("pts.alg"); -			decompressPic(dir_dibujo2, 1); +			decompressPic(drawSurface2, 1);  		} else if (num_ejec == 3) {  			loadPic("aux13.alg"); -			decompressPic(dir_dibujo1, COMPLETE_PAL); +			decompressPic(drawSurface1, COMPLETE_PAL);  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, 1); +			decompressPic(frontSurface, 1);  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  		} else if (num_ejec == 4) {  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			if (hay_que_load == 0)  				animation_rayo();  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, 1); +			decompressPic(frontSurface, 1);  			clearRoom();  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  		} else if (num_ejec == 5) {  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  		} else if (num_ejec == 6) {  			x_igor = 105, y_igor = 85, sentido_igor = 1;  			x_dr = 62, y_dr = 99, sentido_dr = 1;  			frame_pen = 0;  			flag_tv = 0; -			dir_pendulum = dir_dibujo3; +			pendulumSurface = drawSurface3;  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  			loadPic("95.alg"); -			decompressPic(dir_mesa, 1); +			decompressPic(tableSurface, 1);  		}  		memset(iconName, 0, sizeof(iconName)); @@ -296,33 +296,33 @@ void DrasculaEngine::releaseGame() {  }  void DrasculaEngine::allocMemory() { -	dir_zona_pantalla = (byte *)malloc(64000); -	assert(dir_zona_pantalla); -	dir_dibujo1 = (byte *)malloc(64000); -	assert(dir_dibujo1); -	dir_hare_fondo = (byte *)malloc(64000); -	assert(dir_hare_fondo); -	dir_dibujo3 = (byte *)malloc(64000); -	assert(dir_dibujo3); -	dir_dibujo2 = (byte *)malloc(64000); -	assert(dir_dibujo2); -	dir_mesa = (byte *)malloc(64000); -	assert(dir_mesa); -	dir_hare_dch = (byte *)malloc(64000); -	assert(dir_hare_dch); -	dir_hare_frente = (byte *)malloc(64000); -	assert(dir_hare_frente); +	screenSurface = (byte *)malloc(64000); +	assert(screenSurface); +	frontSurface = (byte *)malloc(64000); +	assert(frontSurface); +	backSurface = (byte *)malloc(64000); +	assert(backSurface); +	drawSurface1 = (byte *)malloc(64000); +	assert(drawSurface1); +	drawSurface2 = (byte *)malloc(64000); +	assert(drawSurface2); +	drawSurface3 = (byte *)malloc(64000); +	assert(drawSurface3); +	tableSurface = (byte *)malloc(64000); +	assert(tableSurface); +	extraSurface = (byte *)malloc(64000); +	assert(extraSurface);  }  void DrasculaEngine::freeMemory() { -	free(dir_zona_pantalla); -	free(dir_dibujo1); -	free(dir_hare_fondo); -	free(dir_dibujo2); -	free(dir_mesa); -	free(dir_dibujo3); -	free(dir_hare_dch); -	free(dir_hare_frente); +	free(screenSurface); +	free(drawSurface1); +	free(backSurface); +	free(drawSurface2); +	free(tableSurface); +	free(drawSurface3); +	free(extraSurface); +	free(frontSurface);  }  void DrasculaEngine::loadPic(const char *NamePcc) { @@ -502,9 +502,9 @@ bool DrasculaEngine::escoba() {  	int n;  	if (_lang == kSpanish) -		dir_texto = dir_hare_dch; +		textSurface = extraSurface;  	else -		dir_texto = dir_mesa; +		textSurface = tableSurface;  	previousMusic = -1; @@ -539,7 +539,7 @@ bool DrasculaEngine::escoba() {  		withoutVerb();  		loadPic("2aux62.alg"); -		decompressPic(dir_dibujo2, 1); +		decompressPic(drawSurface2, 1);  		sentido_hare = 1;  		objExit = 104;  		if (hay_que_load != 0) { @@ -630,7 +630,7 @@ bool DrasculaEngine::escoba() {  				return true;  			}  			loadPic("auxdr.alg"); -			decompressPic(dir_dibujo2, 1); +			decompressPic(drawSurface2, 1);  		}  	} @@ -654,7 +654,7 @@ bucles:  	}  	moveCursor(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (num_ejec == 2) {  		if (musicStatus() == 0 && roomMusic != 0) @@ -675,7 +675,7 @@ bucles:  			loadPic(menuBackground);  		else  			loadPic("99.alg"); -		decompressPic(dir_hare_fondo, 1); +		decompressPic(backSurface, 1);  		setPalette((byte *)&gamePalette);  		menuScreen = 0;  		updateEvents(); @@ -695,7 +695,7 @@ bucles:  			loadPic("iconsp.alg");  		else  			loadPic("icons.alg"); -		decompressPic(dir_hare_fondo, 1); +		decompressPic(backSurface, 1);  		menuScreen = 1;  		updateEvents();  		withoutVerb(); @@ -766,14 +766,14 @@ bucles:  	} else if (key == Common::KEYCODE_v) {  		withVoices = 1;  		print_abc(_textsys[_lang][2], 96, 86); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		delay(1410);  		if (num_ejec != 3)  			cont_sv = 0;  	} else if (key == Common::KEYCODE_t) {  		withVoices = 0;  		print_abc(_textsys[_lang][3], 94, 86); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		delay(1460);  		if (num_ejec != 3)  			cont_sv = 0; @@ -784,7 +784,7 @@ bucles:  			cont_sv = 0;  	} else if (num_ejec == 6 && key == Common::KEYCODE_0 && roomNumber == 61) {  		 loadPic("alcbar.alg"); -		 decompressPic(dir_dibujo1, 255); +		 decompressPic(drawSurface1, 255);  	} else if (cont_sv == 1500) {  		screenSaver();  		if (num_ejec != 3) @@ -805,13 +805,13 @@ void DrasculaEngine::pickObject(int objeto) {  		loadPic("icons3.alg");  	else  		loadPic("icons.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	chooseObject(objeto);  	if (num_ejec == 2)  		loadPic(menuBackground);  	else  		loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  }  void DrasculaEngine::chooseObject(int objeto) { @@ -822,7 +822,7 @@ void DrasculaEngine::chooseObject(int objeto) {  		if (takeObject == 1 && menuScreen == 0)  			addObject(pickedObject);  	} -	copyBackground(x1d_menu[objeto], y1d_menu[objeto], 0, 0, OBJWIDTH,OBJHEIGHT, dir_hare_fondo, dir_dibujo3); +	copyBackground(x1d_menu[objeto], y1d_menu[objeto], 0, 0, OBJWIDTH,OBJHEIGHT, backSurface, drawSurface3);  	takeObject = 1;  	pickedObject = objeto;  } @@ -852,7 +852,7 @@ void DrasculaEngine::withoutVerb() {  		if (takeObject == 1)  			addObject(pickedObject);  	} -	copyBackground(0, c, 0, 0, OBJWIDTH,OBJHEIGHT, dir_hare_fondo, dir_dibujo3); +	copyBackground(0, c, 0, 0, OBJWIDTH,OBJHEIGHT, backSurface, drawSurface3);  	takeObject = 0;  	hasName = 0; @@ -951,11 +951,11 @@ void DrasculaEngine::carga_escoba(const char *nom_fich) {  		sscanf(buffer, "%s",pant4);  		loadPic(pant2); -		decompressPic(dir_hare_dch, 1); +		decompressPic(extraSurface, 1);  		loadPic(pant1); -		decompressPic(dir_hare_frente, 1); +		decompressPic(frontSurface, 1);  		loadPic(pant4); -		decompressPic(dir_hare_fondo, 1); +		decompressPic(backSurface, 1);  		strcpy(menuBackground, pant4);  	} @@ -1029,11 +1029,11 @@ martini:  			ancho_hare = CHARACTER_WIDTH;  			feetHeight = PIES_HARE;  			loadPic("97.alg"); -			decompressPic(dir_hare_dch, 1); +			decompressPic(extraSurface, 1);  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, 1); +			decompressPic(frontSurface, 1);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			strcpy(menuBackground, "99.alg");  		} @@ -1052,14 +1052,14 @@ martini:  		hare_se_mueve = 0;  	}  	loadPic(roomDisk); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	char rm[20];  	sprintf(rm, "%i.alg", roomNumber);  	loadPic(rm); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL); -	copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, dir_hare_fondo, dir_dibujo3); +	copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3);  	color_hare();  	if (nivel_osc != 0) @@ -1193,7 +1193,7 @@ void DrasculaEngine::lleva_al_hare(int pointX, int pointY) {  	for (;;) {  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if (hare_se_mueve == 0)  			break;  	} @@ -1204,13 +1204,13 @@ void DrasculaEngine::lleva_al_hare(int pointX, int pointY) {  	}  fin:  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::moveCursor() {  	int cursorPos[8]; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	pon_hare(); @@ -1234,7 +1234,7 @@ void DrasculaEngine::moveCursor() {  	cursorPos[3] = mouseY - 17;  	cursorPos[4] = OBJWIDTH;  	cursorPos[5] = OBJHEIGHT; -	copyRectClip(cursorPos, dir_dibujo3, dir_zona_pantalla); +	copyRectClip(cursorPos, drawSurface3, screenSurface);  }  void DrasculaEngine::checkObjects() { @@ -1425,7 +1425,7 @@ void DrasculaEngine::selectVerb(int verbo) {  			addObject(pickedObject);  	} -	copyBackground(OBJWIDTH * verbo, c, 0, 0, OBJWIDTH, OBJHEIGHT, dir_hare_fondo, dir_dibujo3); +	copyBackground(OBJWIDTH * verbo, c, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3);  	takeObject = 1;  	pickedObject = verbo; @@ -1434,8 +1434,8 @@ void DrasculaEngine::selectVerb(int verbo) {  void DrasculaEngine::mesa() {  	int nivel_master, nivel_voc, nivel_cd; -	copyRect(1, 56, 73, 63, 177, 97, dir_mesa, dir_zona_pantalla); -	updateScreen(73, 63, 73, 63, 177, 97, dir_zona_pantalla); +	copyRect(1, 56, 73, 63, 177, 97, tableSurface, screenSurface); +	updateScreen(73, 63, 73, 63, 177, 97, screenSurface);  	for (;;) {  		nivel_master = 72 + 61 - ((_mixer->getVolumeForSoundType(Audio::Mixer::kPlainSoundType) / 16) * 4); @@ -1444,15 +1444,15 @@ void DrasculaEngine::mesa() {  		updateRoom(); -		copyRect(1, 56, 73, 63, 177, 97, dir_mesa, dir_zona_pantalla); +		copyRect(1, 56, 73, 63, 177, 97, tableSurface, screenSurface); -		copyBackground(183, 56, 82, nivel_master, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kPlainSoundType) / 16) * 4), dir_mesa, dir_zona_pantalla); -		copyBackground(183, 56, 138, nivel_voc, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kSFXSoundType) / 16) * 4), dir_mesa, dir_zona_pantalla); -		copyBackground(183, 56, 194, nivel_cd, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) / 16) * 4), dir_mesa, dir_zona_pantalla); +		copyBackground(183, 56, 82, nivel_master, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kPlainSoundType) / 16) * 4), tableSurface, screenSurface); +		copyBackground(183, 56, 138, nivel_voc, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kSFXSoundType) / 16) * 4), tableSurface, screenSurface); +		copyBackground(183, 56, 194, nivel_cd, 39, 2 + ((_mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType) / 16) * 4), tableSurface, screenSurface);  		setCursorTable(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		updateEvents(); @@ -1522,20 +1522,20 @@ bool DrasculaEngine::saves() {  	delete sav;  	loadPic("savescr.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	color_abc(LIGHT_GREEN);  	for (;;) {  		y = 27; -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		for (n = 0; n < NUM_SAVES; n++) {  			print_abc(names[n], 116, y);  			y = y + 9;  		}  		print_abc(select, 117, 15);  		setCursorTable(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		y = 27;  		updateEvents(); @@ -1612,7 +1612,7 @@ bool DrasculaEngine::saves() {  			else if (hay_seleccion == 0) {  				print_abc("elige una partida", 117, 15);  			} -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			delay(400);  		}  		y = 26; @@ -1624,7 +1624,7 @@ bool DrasculaEngine::saves() {  	char rm[20];  	sprintf(rm, "%i.alg", roomNumber);  	loadPic(rm); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	hay_seleccion = 0;  	return true; @@ -1747,7 +1747,7 @@ void DrasculaEngine::print_abc(const char *said, int x_pantalla, int y_pantalla)  		pos_texto[4] = CHAR_WIDTH;  		pos_texto[5] = CHAR_HEIGHT; -		copyRectClip(pos_texto, dir_texto, dir_zona_pantalla); +		copyRectClip(pos_texto, textSurface, screenSurface);  		x_pantalla = x_pantalla + CHAR_WIDTH;  		if (x_pantalla > 317) { @@ -1767,7 +1767,7 @@ bool DrasculaEngine::confirma_salir() {  	color_abc(RED);  	updateRoom();  	centerText(_textsys[_lang][1], 160, 87); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	delay(100);  	for (;;) { @@ -1800,7 +1800,7 @@ void DrasculaEngine::screenSaver() {  	clearRoom();  	loadPic("sv.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	// inicio_ghost();  	copia = (byte *)malloc(64000); @@ -1819,9 +1819,9 @@ void DrasculaEngine::screenSaver() {  	yr = mouseY;  	for (;;) { -		// efecto(dir_dibujo1); +		// efecto(drawSurface1); -		memcpy(copia, dir_dibujo1, 64000); +		memcpy(copia, drawSurface1, 64000);  		coeff += 0.1f;  		coeff2 = coeff; @@ -1881,7 +1881,7 @@ void DrasculaEngine::screenSaver() {  					y1_ -= 200;  				off2 = 320 * y1_ + x1_; -				VGA[320 * i + j] = ghost[dir_dibujo1[off2] + (copia[off1] << 8)]; +				VGA[320 * i + j] = ghost[drawSurface1[off2] + (copia[off1] << 8)];  			}  		}  		_system->copyRectToScreen((const byte *)VGA, 320, 0, 0, 320, 200); @@ -1906,7 +1906,7 @@ void DrasculaEngine::screenSaver() {  	char rm[20];  	sprintf(rm, "%i.alg", roomNumber);  	loadPic(rm); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  }  void DrasculaEngine::fliplay(const char *filefli, int vel) { @@ -2142,7 +2142,7 @@ void DrasculaEngine::placeIgor() {  	pos_igor[4] = 54;  	pos_igor[5] = 61; -	copyRectClip(pos_igor, dir_hare_frente, dir_zona_pantalla); +	copyRectClip(pos_igor, frontSurface, screenSurface);  }  void DrasculaEngine::placeDrascula() { @@ -2161,9 +2161,9 @@ void DrasculaEngine::placeDrascula() {  	pos_dr[5] = 77;  	if (num_ejec == 6) -		copyRectClip(pos_dr, dir_dibujo2, dir_zona_pantalla); +		copyRectClip(pos_dr, drawSurface2, screenSurface);  	else -		copyRectClip(pos_dr, dir_hare_fondo, dir_zona_pantalla); +		copyRectClip(pos_dr, backSurface, screenSurface);  }  void DrasculaEngine::placeBJ() { @@ -2179,7 +2179,7 @@ void DrasculaEngine::placeBJ() {  	pos_bj[4] = 26;  	pos_bj[5] = 76; -	copyRectClip(pos_bj, dir_dibujo3, dir_zona_pantalla); +	copyRectClip(pos_bj, drawSurface3, screenSurface);  }  void DrasculaEngine::hiccup(int counter) { @@ -2192,9 +2192,9 @@ comienza:  	updateRoom();  	if (num_ejec == 3) -		updateScreen(0, 0, 0, y, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, y, 320, 200, screenSurface);  	else -		updateScreen(0, 1, 0, y, 320, 198, dir_zona_pantalla); +		updateScreen(0, 1, 0, y, 320, 198, screenSurface);  	if (sentido == 0)  		y++; @@ -2216,7 +2216,7 @@ comienza:  		goto comienza;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::stopSound() { @@ -2243,13 +2243,13 @@ int DrasculaEngine::musicStatus() {  }  void DrasculaEngine::updateRoom() { -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	if (num_ejec == 3) {  		if (flags[0] == 0)  			pon_hare();  		else -			copyRect(113, 54, hare_x - 20, hare_y - 1, 77, 89, dir_dibujo3, dir_zona_pantalla); +			copyRect(113, 54, hare_x - 20, hare_y - 1, 77, 89, drawSurface3, screenSurface);  	} else {  		pon_hare();  	} @@ -2502,28 +2502,28 @@ void DrasculaEngine::pon_hare() {  		if (sentido_hare == 0) {  			pos_hare[1] = 0;  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_dch, dir_zona_pantalla); +				copyRectClip(pos_hare, extraSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		} else if (sentido_hare == 1) {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_dch, dir_zona_pantalla); +				copyRectClip(pos_hare, extraSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		} else if (sentido_hare == 2) {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_fondo, dir_zona_pantalla); +				copyRectClip(pos_hare, backSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_fondo, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], backSurface, screenSurface);  		} else {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_frente, dir_zona_pantalla); +				copyRectClip(pos_hare, frontSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_frente, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], frontSurface, screenSurface);  		}  	} else if (hare_se_mueve == 1) {  		pos_hare[0] = frame_x[num_frame]; @@ -2540,28 +2540,28 @@ void DrasculaEngine::pon_hare() {  		if (sentido_hare == 0) {  			pos_hare[1] = 0;  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_dch, dir_zona_pantalla); +				copyRectClip(pos_hare, extraSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		} else if (sentido_hare == 1) {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_dch, dir_zona_pantalla); +				copyRectClip(pos_hare, extraSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		} else if (sentido_hare == 2) {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_fondo, dir_zona_pantalla); +				copyRectClip(pos_hare, backSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_fondo, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], backSurface, screenSurface);  		} else {  			if (num_ejec == 2) -				copyRectClip(pos_hare, dir_hare_frente, dir_zona_pantalla); +				copyRectClip(pos_hare, frontSurface, screenSurface);  			else  				reduce_hare_chico(pos_hare[0], pos_hare[1], pos_hare[2], pos_hare[3], pos_hare[4], pos_hare[5], -									factor_red[hare_y + alto_hare], dir_hare_frente, dir_zona_pantalla); +									factor_red[hare_y + alto_hare], frontSurface, screenSurface);  		}  no_vuelco: @@ -2582,13 +2582,13 @@ void DrasculaEngine::menu_sin_volcar() {  		if (h != 0) {  			if (num_ejec == 6)  				copyBackground(x_pol[n], y_pol[n], itemLocations[n].x, itemLocations[n].y, -						OBJWIDTH, OBJHEIGHT, dir_mesa, dir_zona_pantalla); +						OBJWIDTH, OBJHEIGHT, tableSurface, screenSurface);  			else  				copyBackground(x_pol[n], y_pol[n], itemLocations[n].x, itemLocations[n].y, -						OBJWIDTH, OBJHEIGHT, dir_hare_frente, dir_zona_pantalla); +						OBJWIDTH, OBJHEIGHT, frontSurface, screenSurface);  		}  		copyRect(x1d_menu[h], y1d_menu[h], itemLocations[n].x, itemLocations[n].y, -				OBJWIDTH, OBJHEIGHT, dir_hare_fondo, dir_zona_pantalla); +				OBJWIDTH, OBJHEIGHT, backSurface, screenSurface);  	}  	if (x < 7) @@ -2602,7 +2602,7 @@ void DrasculaEngine::clearMenu() {  		if (mouseX > x_barra[n] && mouseX < x_barra[n + 1])  			sobre_verbo = 0;  		copyRect(OBJWIDTH * n, OBJHEIGHT * sobre_verbo, x_barra[n], 2, -						OBJWIDTH, OBJHEIGHT, dir_hare_fondo, dir_zona_pantalla); +						OBJWIDTH, OBJHEIGHT, backSurface, screenSurface);  		sobre_verbo = 1;  	}  } @@ -2639,7 +2639,7 @@ bool DrasculaEngine::exitRoom(int l) {  				lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);  				sentido_hare = sentidobj[l];  				updateRoom(); -				updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +				updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  				hare_se_mueve = 0;  				sentido_hare = sentido_alkeva[l];  				objExit = alapuertakeva[l]; @@ -2696,7 +2696,7 @@ bool DrasculaEngine::exitRoom(int l) {  			lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);  			sentido_hare = sentidobj[l];  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			hare_se_mueve = 0;  			sentido_hare = sentido_alkeva[l];  			objExit = alapuertakeva[l]; @@ -2714,7 +2714,7 @@ bool DrasculaEngine::exitRoom(int l) {  			lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);  			sentido_hare = sentidobj[l];  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			hare_se_mueve = 0;  			sentido_hare = sentido_alkeva[l];  			objExit = alapuertakeva[l]; @@ -2735,7 +2735,7 @@ bool DrasculaEngine::exitRoom(int l) {  			lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);  			sentido_hare = sentidobj[l];  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			hare_se_mueve = 0;  			sentido_hare = sentido_alkeva[l];  			objExit = alapuertakeva[l]; @@ -2754,7 +2754,7 @@ bool DrasculaEngine::exitRoom(int l) {  			lleva_al_hare(sitiobj_x[l], sitiobj_y[l]);  			sentido_hare = sentidobj[l];  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			hare_se_mueve = 0;  			sentido_hare = sentido_alkeva[l];  			objExit = alapuertakeva[l]; @@ -2781,7 +2781,7 @@ bool DrasculaEngine::pickupObject() {  	updateRoom();  	menu_sin_volcar(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (pickedObject < 7)  		goto usando_verbos; @@ -2810,7 +2810,7 @@ usando_verbos:  bool DrasculaEngine::checkFlag(int fl) {  	hare_se_mueve = 0;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	hasAnswer = 1; @@ -3222,7 +3222,7 @@ void DrasculaEngine::setCursorTable() {  	cursorPos[4] = 40;  	cursorPos[5] = 25; -	copyRectClip(cursorPos, dir_mesa, dir_zona_pantalla); +	copyRectClip(cursorPos, tableSurface, screenSurface);  }  void DrasculaEngine::enterName() { @@ -3232,9 +3232,9 @@ void DrasculaEngine::enterName() {  	strcpy(select2, "                      ");  	for (;;) {  		select2[v] = '-'; -		copyBackground(115, 14, 115, 14, 176, 9, dir_dibujo1, dir_zona_pantalla); +		copyBackground(115, 14, 115, 14, 176, 9, drawSurface1, screenSurface);  		print_abc(select2, 117, 15); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		key = getScan();  		delay(70);  		if (key != 0) { @@ -3811,7 +3811,7 @@ void DrasculaEngine::converse(const char *nom_fich) {  			phrase4[h] = ' ';  	loadPic("car.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	// TODO code here should limit y position for mouse in dialog menu,  	// but we can't implement this due lack backend functionality  	// from 1(top) to 31 @@ -3866,7 +3866,7 @@ bucle_opc:  	print_abc_opc(phrase3, 1, 18, game3);  	print_abc_opc(phrase4, 1, 26, game4); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if ((button_izq == 1) && (game1 == 2)) {  		delay(100); @@ -3915,7 +3915,7 @@ bucle_opc:  		loadPic(menuBackground);  	else  		loadPic("99.alg"); -	decompressPic(dir_hare_fondo, 1); +	decompressPic(backSurface, 1);  	if (num_ejec != 5)  		withoutVerb();  } @@ -4022,7 +4022,7 @@ void DrasculaEngine::print_abc_opc(const char *said, int x_pantalla, int y_panta  		pos_texto[4] = CHAR_WIDTH_OPC;  		pos_texto[5] = CHAR_HEIGHT_OPC; -		copyRectClip(pos_texto, dir_hare_fondo, dir_zona_pantalla); +		copyRectClip(pos_texto, backSurface, screenSurface);  		x_pantalla = x_pantalla + CHAR_WIDTH_OPC;  	} @@ -4304,7 +4304,7 @@ void DrasculaEngine::pon_vb() {  			frame_vb = 1;  	} -	copyRectClip(pos_vb, dir_hare_frente, dir_zona_pantalla); +	copyRectClip(pos_vb, frontSurface, screenSurface);  }  void DrasculaEngine::lleva_vb(int pointX) { @@ -4317,7 +4317,7 @@ void DrasculaEngine::lleva_vb(int pointX) {  	for (;;) {  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		if (sentido_vb == 0) {  			vb_x = vb_x - 5;  			if (vb_x <= pointX) @@ -4341,11 +4341,11 @@ void DrasculaEngine::hipo_sin_nadie(int counter){  comienza:  	counter--; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	if (num_ejec == 3) -		updateScreen(0, 0, 0, y, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, y, 320, 200, screenSurface);  	else -		updateScreen(0, 1, 0, y, 320, 198, dir_zona_pantalla); +		updateScreen(0, 1, 0, y, 320, 198, screenSurface);  	if (sentido == 0)  		y++; @@ -4366,8 +4366,8 @@ comienza:  	if (counter > 0)  		goto comienza; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::openDoor(int nflag, int doorNum) { @@ -4385,7 +4385,7 @@ void DrasculaEngine::openDoor(int nflag, int doorNum) {  		if (doorNum != NO_DOOR)  			updateDoor(doorNum);  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		stopSound();  		withoutVerb();  	} @@ -4425,12 +4425,12 @@ void DrasculaEngine::grr() {  	}  	updateRoom(); -	copyBackground(253, 110, 150, 65, 20, 30, dir_dibujo3, dir_zona_pantalla); +	copyBackground(253, 110, 150, 65, 20, 30, drawSurface3, screenSurface);  	if (withVoices == 0)  		centerText(".groaaarrrrgghhh!", 153, 65); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  bucless:  	int key = getScan(); @@ -4449,7 +4449,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::activatePendulum() { @@ -4457,15 +4457,15 @@ void DrasculaEngine::activatePendulum() {  	hare_se_ve = 0;  	roomNumber = 102;  	loadPic("102.alg"); -	decompressPic(dir_dibujo1, HALF_PAL); +	decompressPic(drawSurface1, HALF_PAL);  	loadPic("an_p1.alg"); -	decompressPic(dir_dibujo3, 1); +	decompressPic(drawSurface3, 1);  	loadPic("an_p2.alg"); -	decompressPic(dir_hare_dch, 1); +	decompressPic(extraSurface, 1);  	loadPic("an_p3.alg"); -	decompressPic(dir_hare_frente, 1); +	decompressPic(frontSurface, 1); -	copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, dir_hare_fondo, dir_dibujo3); +	copyBackground(0, 171, 0, 0, OBJWIDTH, OBJHEIGHT, backSurface, drawSurface3);  	conta_blind_vez = vez();  } @@ -4477,7 +4477,7 @@ void DrasculaEngine::closeDoor(int nflag, int doorNum) {  		if (doorNum != NO_DOOR)  			updateDoor(doorNum);  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		stopSound();  		withoutVerb();  	} diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 7008c30ab0..15382aafcf 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -262,16 +262,16 @@ public:  	byte *VGA; -	byte *dir_dibujo1; -	byte *dir_hare_fondo; -	byte *dir_dibujo3; -	byte *dir_dibujo2; -	byte *dir_mesa; -	byte *dir_hare_dch; -	byte *dir_zona_pantalla; -	byte *dir_hare_frente; -	byte *dir_texto; -	byte *dir_pendulum; +	byte *drawSurface1; +	byte *backSurface; +	byte *drawSurface3; +	byte *drawSurface2; +	byte *tableSurface; +	byte *extraSurface;	// not sure about this one, was "dir_hare_dch" +	byte *screenSurface; +	byte *frontSurface; +	byte *textSurface; +	byte *pendulumSurface;  	byte cPal[768];  	byte *pcxBuffer; diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp index 1c2bddfeea..2553e34296 100644 --- a/engines/drascula/rooms.cpp +++ b/engines/drascula/rooms.cpp @@ -311,18 +311,18 @@ void DrasculaEngine::room_3(int fl) {  	} else if (pickedObject == kVerbTalk && fl == 133) {  		talk_sinc(_text[_lang][322], "322.als", "13333334125433333333");  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(25);  		talk(33);  	} else if (pickedObject == kVerbLook && fl == 165) {  		talk(149);  		talk(150);  	} else if (pickedObject == kVerbPick && fl == 165) { -		copyBackground(0, 0, 0,0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0,0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(44, 1, hare_x, hare_y, 41, 70, dir_dibujo2, dir_zona_pantalla); +		copyRect(44, 1, hare_x, hare_y, 41, 70, drawSurface2, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(4);  		pickObject(10);  		flags[3] = 1; @@ -378,45 +378,45 @@ void DrasculaEngine::room_6(int fl){  	else if (pickedObject == kVerbClose && fl == 138)  		closeDoor(0, 1);  	else if (pickedObject == kVerbOpen && fl == 143 && flags[2] == 0) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(228, 102, hare_x + 5, hare_y - 1, 47, 73, dir_dibujo3, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyRect(228, 102, hare_x + 5, hare_y - 1, 47, 73, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(10);  		playSound("s3.als");  		flags[2] = 1;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		stopSound();  	} else if (pickedObject == kVerbClose && fl == 143 && flags[2] == 1) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		flags[2] = 0;  		updateRefresh_pre(); -		copyRect(228, 102, hare_x + 5, hare_y - 1, 47, 73, dir_dibujo3, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyRect(228, 102, hare_x + 5, hare_y - 1, 47, 73, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(5);  		playSound("s4.als");  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		stopSound();  	} else if (pickedObject == kVerbOpen && fl == 139 && flags[1] == 0) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(267, 1, hare_x - 14, hare_y - 2, 52, 73, dir_dibujo3, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyRect(267, 1, hare_x - 14, hare_y - 2, 52, 73, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(19);  		playSound("s3.als");  		flags[1] = 1;  		visible[4] = 1;  		visible[2] = 0;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		stopSound();  	} else if (pickedObject == kVerbPick && fl == 140) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(267, 1, hare_x - 14, hare_y - 2, 52, 73, dir_dibujo3, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyRect(267, 1, hare_x - 14, hare_y - 2, 52, 73, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(19);  		pickObject(9);  		visible[4] = 0; @@ -551,9 +551,9 @@ void DrasculaEngine::room_15(int fl) {  		talk_sinc(_text[_lang][46], "46.als", "4442444244244");  		sentido_hare = 1;  	} else if (pickedObject == 18 && fl == 188 && flags[26] == 0) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -		copyRect(133, 135, hare_x + 6, hare_y, 39, 63, dir_dibujo3, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +		copyRect(133, 135, hare_x + 6, hare_y, 39, 63, drawSurface3, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		playSound("s8.als");  		stopSound();  		talk(_text[_lang][338], "338.als"); @@ -601,7 +601,7 @@ void DrasculaEngine::room_16(int fl) {  			flags[20] = 1;  			sentido_hare = 3;  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			talk(_text[_lang][342], "342.als");  			pickObject(22);  		} @@ -619,7 +619,7 @@ void DrasculaEngine::room_16(int fl) {  		talk(_text[_lang][343], "343.als");  		sentido_hare = 3;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		talk(_text[_lang][344], "344.als");  	} else if (pickedObject == kVerbTalk && fl == 187)  		talk(_text[_lang][345], "345.als"); @@ -659,11 +659,11 @@ void DrasculaEngine::room_18(int fl) {  	else if (pickedObject == kVerbLook && fl == 181)  		talk(_text[_lang][348], "348.als");  	else if (pickedObject == kVerbPick && fl == 182) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(44, 1, hare_x, hare_y, 41, 70, dir_dibujo2, dir_zona_pantalla); +		copyRect(44, 1, hare_x, hare_y, 41, 70, drawSurface2, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(4);  		pickObject(12);  		visible[2] = 0; @@ -693,12 +693,12 @@ void DrasculaEngine::room_18(int fl) {  	else if (pickedObject == 11 && fl == 50 && flags[22] == 0) {  		sentido_hare = 3;  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre(); -		copyRect(1, 1, hare_x - 1, hare_y + 3, 42, 67, dir_dibujo2, dir_zona_pantalla); +		copyRect(1, 1, hare_x - 1, hare_y + 3, 42, 67, drawSurface2, screenSurface);  		updateRefresh(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(6);  		talk(_text[_lang][347], "347.als");  		flags[29] = 1; @@ -838,8 +838,8 @@ void DrasculaEngine::room_26(int fl) {  		lleva_al_hare(153, 180);  	} else if (pickedObject == kVerbPick && fl == 143 && flags[18] == 0) {  		lleva_al_hare(260, 180); -		copyBackground(80, 78, 199, 94, 38, 27, dir_dibujo3, dir_zona_pantalla); -		updateScreen(199, 94, 199, 94, 38, 27, dir_zona_pantalla); +		copyBackground(80, 78, 199, 94, 38, 27, drawSurface3, screenSurface); +		updateScreen(199, 94, 199, 94, 38, 27, screenSurface);  		pause(3);  		talk_igor_peluca(_texti[_lang][25], "I25.als");  		lleva_al_hare(153, 180); @@ -1157,26 +1157,26 @@ void DrasculaEngine::room_59(int fl) {  			lleva_al_hare(174, 168);  			sentido_hare = 2;  			updateRoom(); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			pause(40);  			playSound("s12.als");  			pause(19);  			stopSound_corte();  			hare_se_ve = 0;  			updateRoom(); -			copyRect(101, 34, hare_x - 4, hare_y - 1, 37, 70, dir_dibujo3, dir_zona_pantalla); -			copyBackground(0, 0, 0, 0, 320, 200, dir_zona_pantalla, dir_dibujo1); -			updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +			copyRect(101, 34, hare_x - 4, hare_y - 1, 37, 70, drawSurface3, screenSurface); +			copyBackground(0, 0, 0, 0, 320, 200, screenSurface, drawSurface1); +			updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  			hare_se_ve = 1;  			clearRoom();  			loadPic("tlef0.alg"); -			decompressPic(dir_dibujo1, COMPLETE_PAL); +			decompressPic(drawSurface1, COMPLETE_PAL);  			loadPic("tlef1.alg"); -			decompressPic(dir_dibujo3, 1); +			decompressPic(drawSurface3, 1);  			loadPic("tlef2.alg"); -			decompressPic(dir_hare_frente, 1); +			decompressPic(frontSurface, 1);  			loadPic("tlef3.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			talk_htel(_text[_lang][240], "240.als");  			color_abc(VON_BRAUN); @@ -1195,13 +1195,13 @@ void DrasculaEngine::room_59(int fl) {  			talk_solo(_textvb[_lang][62], "VB62.als");  			clearRoom();  			loadPic("aux59.alg"); -			decompressPic(dir_dibujo3, 1); +			decompressPic(drawSurface3, 1);  			loadPic("96.alg"); -			decompressPic(dir_hare_frente, COMPLETE_PAL); +			decompressPic(frontSurface, COMPLETE_PAL);  			loadPic("99.alg"); -			decompressPic(dir_hare_fondo, 1); +			decompressPic(backSurface, 1);  			loadPic("59.alg"); -			decompressPic(dir_dibujo1, HALF_PAL); +			decompressPic(drawSurface1, HALF_PAL);  			sentido_hare = 3;  			talk(_text[_lang][245], "245.als");  			withoutVerb(); @@ -1464,7 +1464,7 @@ void DrasculaEngine::update_1_pre() {  		hare_claro();  	if (flags[8] == 0) -		copyBackground(2, 158, 208, 67, 27, 40, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 158, 208, 67, 27, 40, drawSurface3, screenSurface);  }  void DrasculaEngine::update_2(){ @@ -1506,26 +1506,26 @@ void DrasculaEngine::update_2(){  	pos_murci[2] = 239;  	pos_murci[3] = 19; -	copyRectClip(pos_murci, dir_dibujo3, dir_zona_pantalla); +	copyRectClip(pos_murci, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	if (diferencia >= 6) {  		frame_bat++;  		conta_blind_vez = vez();  	} -	copyRect(29, 37, 58, 114, 57, 39, dir_dibujo3, dir_zona_pantalla); +	copyRect(29, 37, 58, 114, 57, 39, drawSurface3, screenSurface);  	showMap();  }  void DrasculaEngine::update_3_pre() {  	if (flags[3] == 1) -		copyBackground(258, 110, 85, 44, 23, 53, dir_dibujo3, dir_zona_pantalla); +		copyBackground(258, 110, 85, 44, 23, 53, drawSurface3, screenSurface);  }  void DrasculaEngine::update_3() {  	if (hare_y + alto_hare < 118) -		copyRect(129, 110, 194, 36, 126, 88, dir_dibujo3, dir_zona_pantalla); -	copyRect(47, 57, 277, 143, 43, 50, dir_dibujo3, dir_zona_pantalla); +		copyRect(129, 110, 194, 36, 126, 88, drawSurface3, screenSurface); +	copyRect(47, 57, 277, 143, 43, 50, drawSurface3, screenSurface);  }  void DrasculaEngine::update_4() { @@ -1543,11 +1543,11 @@ void DrasculaEngine::update_4() {  void DrasculaEngine::update_5_pre(){  	if (flags[8] == 0) -		copyBackground(256, 152, 208, 67, 27, 40, dir_dibujo3, dir_zona_pantalla); +		copyBackground(256, 152, 208, 67, 27, 40, drawSurface3, screenSurface);  }  void DrasculaEngine::update_5() { -	copyRect(114, 130, 211, 87, 109, 69, dir_dibujo3, dir_zona_pantalla); +	copyRect(114, 130, 211, 87, 109, 69, drawSurface3, screenSurface);  }  void DrasculaEngine::update_6_pre() { @@ -1565,16 +1565,16 @@ void DrasculaEngine::update_6_pre() {  		hare_claro();  	if (flags[1] == 0) -		copyBackground(97, 117, 34, 148, 36, 31, dir_dibujo3, dir_zona_pantalla); +		copyBackground(97, 117, 34, 148, 36, 31, drawSurface3, screenSurface);  	if (flags[0] == 0) -		copyBackground(3, 103, 185, 69, 23, 76, dir_dibujo3, dir_zona_pantalla); +		copyBackground(3, 103, 185, 69, 23, 76, drawSurface3, screenSurface);  	if (flags[2] == 0) -		copyBackground(28, 100, 219, 72, 64, 97, dir_dibujo3, dir_zona_pantalla); +		copyBackground(28, 100, 219, 72, 64, 97, drawSurface3, screenSurface);  }  void DrasculaEngine::update_7_pre() {  	if (flags[35] == 0) -		copyBackground(1, 72, 158, 162, 19, 12, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 72, 158, 162, 19, 12, drawSurface3, screenSurface);  }  void DrasculaEngine::update_9_pre() { @@ -1582,7 +1582,7 @@ void DrasculaEngine::update_9_pre() {  	int blind_y[] = {51, 51, 51, 51, 51, 51, 51, 127, 127};  	int diferencia; -	copyRect(blind_x[frame_blind], blind_y[frame_blind], 122, 57, 41, 72, dir_dibujo3, dir_zona_pantalla); +	copyRect(blind_x[frame_blind], blind_y[frame_blind], 122, 57, 41, 72, drawSurface3, screenSurface);  	if (flags[9] == 0) {  		diferencia = vez() - conta_blind_vez;  		if (diferencia >= 11) { @@ -1597,17 +1597,17 @@ void DrasculaEngine::update_9_pre() {  void DrasculaEngine::update_12_pre() {  	if (flags[16] == 0) -		copyBackground(1, 131, 106, 117, 55, 68, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 131, 106, 117, 55, 68, drawSurface3, screenSurface);  }  void DrasculaEngine::update_13() {  	if (hare_x > 55 && flags[3] == 0)  		animation_6_3();  	if (flags[1] == 0) -		copyRect(185, 110, 121, 65, 67, 88, dir_dibujo3, dir_zona_pantalla); +		copyRect(185, 110, 121, 65, 67, 88, drawSurface3, screenSurface);  	if (flags[2] == 0) -		copyRect(185, 21, 121, 63, 67, 88, dir_dibujo3, dir_zona_pantalla); -	copyRect(3, 127, 99, 102, 181, 71, dir_dibujo3, dir_zona_pantalla); +		copyRect(185, 21, 121, 63, 67, 88, drawSurface3, screenSurface); +	copyRect(3, 127, 99, 102, 181, 71, drawSurface3, screenSurface);  }  void DrasculaEngine::update_14_pre() { @@ -1617,22 +1617,22 @@ void DrasculaEngine::update_14_pre() {  	int drunk_x[] = {1, 42, 83, 124, 165, 206, 247, 1};  	int diferencia; -	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, dir_dibujo3, dir_zona_pantalla); -	copyBackground(cirio_x[frame_velas], 146, 311, 80, 4, 8, dir_dibujo3, dir_zona_pantalla); +	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, drawSurface3, screenSurface); +	copyBackground(cirio_x[frame_velas], 146, 311, 80, 4, 8, drawSurface3, screenSurface);  	if (blinking == 5) -		copyBackground(1, 149, 127, 52, 9, 5, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 149, 127, 52, 9, 5, drawSurface3, screenSurface);  	if (hare_x > 101 && hare_x < 155) -		copyBackground(31, 138, 178, 51, 18, 16, dir_dibujo3, dir_zona_pantalla); +		copyBackground(31, 138, 178, 51, 18, 16, drawSurface3, screenSurface);  	if (flags[11] == 0) -		copyBackground(pianista_x[frame_piano], 157, 245, 130, 29, 42, dir_dibujo3, dir_zona_pantalla); +		copyBackground(pianista_x[frame_piano], 157, 245, 130, 29, 42, drawSurface3, screenSurface);  	else if (flags[5] == 0) -		copyBackground(145, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); +		copyBackground(145, 139, 228, 112, 47, 60, extraSurface, screenSurface);  	else -		copyBackground(165, 140, 229, 117, 43, 59, dir_dibujo3, dir_zona_pantalla); +		copyBackground(165, 140, 229, 117, 43, 59, drawSurface3, screenSurface);  	if (flags[12] == 1) -		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, dir_dibujo3, dir_zona_pantalla); +		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	if (diferencia > 6) {  		if (flags[12] == 1) { @@ -1656,23 +1656,23 @@ void DrasculaEngine::update_14_pre() {  }  void DrasculaEngine::update_15() { -	copyRect(1, 154, 83, 122, 131, 44, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface);  }  void DrasculaEngine::update_16_pre() {  	if (flags[17] == 0) -		copyBackground(1, 103, 24, 72, 33, 95, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 103, 24, 72, 33, 95, drawSurface3, screenSurface);  	if (flags[19] == 1) -		copyBackground(37, 151, 224, 115, 56, 47, dir_dibujo3, dir_zona_pantalla); +		copyBackground(37, 151, 224, 115, 56, 47, drawSurface3, screenSurface);  }  void DrasculaEngine::update_17_pre() {  	if (flags[15] == 1) -		copyBackground(1, 135, 108, 65, 44, 63, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 135, 108, 65, 44, 63, drawSurface3, screenSurface);  }  void DrasculaEngine::update_17() { -	copyRect(48, 135, 78, 139, 80, 30, dir_dibujo3, dir_zona_pantalla); +	copyRect(48, 135, 78, 139, 80, 30, drawSurface3, screenSurface);  }  void DrasculaEngine::update_18_pre() { @@ -1681,8 +1681,8 @@ void DrasculaEngine::update_18_pre() {  	int snore_y[] = {18, 18, 56, 56, 94, 94, 94, 94, 94, 18, 18, 18, 18, 18, 18, 18};  	if (flags[21] == 0) { -		copyBackground(1, 69, 120, 58, 56, 61, dir_dibujo3, dir_zona_pantalla); -		copyBackground(snore_x[frame_snore], snore_y[frame_snore], 124, 59, 40, 37, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 69, 120, 58, 56, 61, drawSurface3, screenSurface); +		copyBackground(snore_x[frame_snore], snore_y[frame_snore], 124, 59, 40, 37, drawSurface3, screenSurface);  	} else  		pon_vb(); @@ -1697,68 +1697,68 @@ void DrasculaEngine::update_18_pre() {  void DrasculaEngine::update_18() {  	if (flags[24] == 1) -		copyRect(177, 1, 69, 29, 142, 130, dir_dibujo3, dir_zona_pantalla); -	copyRect(105, 132, 109, 108, 196, 65, dir_dibujo3, dir_zona_pantalla); +		copyRect(177, 1, 69, 29, 142, 130, drawSurface3, screenSurface); +	copyRect(105, 132, 109, 108, 196, 65, drawSurface3, screenSurface);  }  void DrasculaEngine::update_20() { -	copyRect(1, 137, 106, 121, 213, 61, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 137, 106, 121, 213, 61, drawSurface3, screenSurface);  }  void DrasculaEngine::update_21_pre() {  	if (flags[0] == 1) -		copyBackground(2, 171, 84, 126, 17, 26, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 171, 84, 126, 17, 26, drawSurface3, screenSurface);  	if (flags[10] == 1) -		copyBackground(20, 163, 257, 149, 14, 34, dir_dibujo3, dir_zona_pantalla); +		copyBackground(20, 163, 257, 149, 14, 34, drawSurface3, screenSurface);  }  void DrasculaEngine::update_22_pre() {  	if (flags[24] == 1) -		copyBackground(2, 187, 107, 106, 62, 12, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 187, 107, 106, 62, 12, drawSurface3, screenSurface);  	if (flags[27] == 0) -		copyBackground(32, 181, 203, 88, 13, 5, dir_dibujo3, dir_zona_pantalla); +		copyBackground(32, 181, 203, 88, 13, 5, drawSurface3, screenSurface);  	if (flags[26] == 0) -		copyBackground(2, 133, 137, 83, 29, 53, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 133, 137, 83, 29, 53, drawSurface3, screenSurface);  	else -		copyBackground(65, 174, 109, 145, 55, 25, dir_dibujo3, dir_zona_pantalla); +		copyBackground(65, 174, 109, 145, 55, 25, drawSurface3, screenSurface);  }  void DrasculaEngine::update_23_pre() {  	if (flags[11] == 1 && flags[0] == 0) -		copyBackground(87, 171, 237, 110, 20, 28, dir_dibujo3, dir_zona_pantalla); +		copyBackground(87, 171, 237, 110, 20, 28, drawSurface3, screenSurface);  	if (flags[0] == 1) -		copyBackground(29, 126, 239, 94, 57, 73, dir_dibujo3, dir_zona_pantalla); +		copyBackground(29, 126, 239, 94, 57, 73, drawSurface3, screenSurface);  	if (flags[1] == 1) -		copyRect(1, 135, 7, 94, 27, 64, dir_dibujo3, dir_zona_pantalla); +		copyRect(1, 135, 7, 94, 27, 64, drawSurface3, screenSurface);  }  void DrasculaEngine::update_24_pre() {  	if (flags[1] == 1) -		copyBackground(1, 163, 225, 124, 12, 36, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 163, 225, 124, 12, 36, drawSurface3, screenSurface);  	if (flags[2] == 1) -		copyBackground(14, 153, 30, 107, 23, 46, dir_dibujo3, dir_zona_pantalla); +		copyBackground(14, 153, 30, 107, 23, 46, drawSurface3, screenSurface);  }  void DrasculaEngine::update_26_pre() {  	int diferencia;  	if (flags[2] == 1) -		copyBackground(1, 130, 87, 44, 50, 69, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 130, 87, 44, 50, 69, drawSurface3, screenSurface);  	if (flags[12] == 1) -		copyBackground(52, 177, 272, 103, 27, 22, dir_dibujo3, dir_zona_pantalla); +		copyBackground(52, 177, 272, 103, 27, 22, drawSurface3, screenSurface);  	if (flags[18] == 0) -		copyBackground(80, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); +		copyBackground(80, 133, 199, 95, 50, 66, drawSurface3, screenSurface);  	if (blinking == 5 && flags[18] == 0) -		copyBackground(52, 172, 226, 106, 3, 4, dir_dibujo3, dir_zona_pantalla); +		copyBackground(52, 172, 226, 106, 3, 4, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	if (diferencia >= 10) { @@ -1767,150 +1767,150 @@ void DrasculaEngine::update_26_pre() {  	}  	if (flags[20] == 1) -		copyBackground(182, 133, 199, 95, 50, 66, dir_dibujo3, dir_zona_pantalla); +		copyBackground(182, 133, 199, 95, 50, 66, drawSurface3, screenSurface);  }  void DrasculaEngine::update_26() {  	if (flags[29] == 1) -		copyRect(93, 1, hare_x, hare_y, 45, 78, dir_hare_fondo, dir_zona_pantalla); +		copyRect(93, 1, hare_x, hare_y, 45, 78, backSurface, screenSurface); -	copyRect(233, 107, 17, 102, 66, 92, dir_dibujo3, dir_zona_pantalla); +	copyRect(233, 107, 17, 102, 66, 92, drawSurface3, screenSurface);  }  void DrasculaEngine::update_27_pre() {  	if (flags[5] == 1) -		copyRect(1, 175, 59, 109, 17, 24, dir_dibujo3, dir_zona_pantalla); +		copyRect(1, 175, 59, 109, 17, 24, drawSurface3, screenSurface);  	if (flags[6] == 1) -		copyRect(19, 177, 161, 103, 18, 22, dir_dibujo3, dir_zona_pantalla); +		copyRect(19, 177, 161, 103, 18, 22, drawSurface3, screenSurface);  }  void DrasculaEngine::update_27() { -	copyRect(38, 177, 103, 171, 21, 22, dir_dibujo3, dir_zona_pantalla); -	copyRect(60, 162, 228, 156, 18, 37, dir_dibujo3, dir_zona_pantalla); +	copyRect(38, 177, 103, 171, 21, 22, drawSurface3, screenSurface); +	copyRect(60, 162, 228, 156, 18, 37, drawSurface3, screenSurface);  }  void DrasculaEngine::update_29_pre() {  	if (flags[4] == 1) -		copyBackground(12, 113, 247, 49, 41, 84, dir_dibujo3, dir_zona_pantalla); +		copyBackground(12, 113, 247, 49, 41, 84, drawSurface3, screenSurface);  }  void DrasculaEngine::update_29() { -	copyRect(1, 180, 150, 126, 10, 17, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 180, 150, 126, 10, 17, drawSurface3, screenSurface);  }  void DrasculaEngine::update_30_pre() {  	if (flags[4] == 1) -		copyBackground(1, 148, 148, 66, 35, 51, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 148, 148, 66, 35, 51, drawSurface3, screenSurface);  	if (flags[16] == 1) -		copyBackground(37, 173, 109, 84, 20, 26, dir_dibujo3, dir_zona_pantalla); +		copyBackground(37, 173, 109, 84, 20, 26, drawSurface3, screenSurface);  }  void DrasculaEngine::update_31_pre() {  	if (flags[13] == 1) -		copyBackground(1, 163, 116, 41, 61, 36, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 163, 116, 41, 61, 36, drawSurface3, screenSurface);  	if (flags[5] == 1) -		copyBackground(1, 78, 245, 63, 30, 84, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 78, 245, 63, 30, 84, drawSurface3, screenSurface);  }  void DrasculaEngine::update_31() { -	copyRect(63, 190, 223, 157, 17, 9, dir_dibujo3, dir_zona_pantalla); +	copyRect(63, 190, 223, 157, 17, 9, drawSurface3, screenSurface);  }  void DrasculaEngine::update_34_pre() {  	if (flags[7] == 1) -		copyBackground(99, 127, 73, 41, 79, 72, dir_dibujo3, dir_zona_pantalla); +		copyBackground(99, 127, 73, 41, 79, 72, drawSurface3, screenSurface);  	if (flags[8] == 1) -		copyBackground(36, 129, 153, 41, 62, 65, dir_dibujo3, dir_zona_pantalla); +		copyBackground(36, 129, 153, 41, 62, 65, drawSurface3, screenSurface);  }  void DrasculaEngine::update_34() { -	copyRect(5, 171, 234, 126, 29, 23, dir_dibujo3, dir_zona_pantalla); +	copyRect(5, 171, 234, 126, 29, 23, drawSurface3, screenSurface);  }  void DrasculaEngine::update_35_pre() {  	if (flags[14] == 1) -		copyBackground(1, 86, 246, 65, 68, 87, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 86, 246, 65, 68, 87, drawSurface3, screenSurface);  	if (flags[17] == 0 && flags[15] == 1) -		copyBackground(111, 150, 118, 52, 40, 23, dir_dibujo3, dir_zona_pantalla); +		copyBackground(111, 150, 118, 52, 40, 23, drawSurface3, screenSurface);  	if (flags[17] == 1) -		copyBackground(70, 150, 118, 52, 40, 23, dir_dibujo3, dir_zona_pantalla); +		copyBackground(70, 150, 118, 52, 40, 23, drawSurface3, screenSurface);  }  void DrasculaEngine::update_35() { -	copyRect(1, 174, 54, 152, 195, 25, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 174, 54, 152, 195, 25, drawSurface3, screenSurface);  }  void DrasculaEngine::update_49_pre() {  	if (flags[6] == 0) -		copyBackground(2, 136, 176, 81, 49, 62, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 136, 176, 81, 49, 62, drawSurface3, screenSurface);  }  void DrasculaEngine::update_50() { -	copyRect(4, 153, 118, 95, 67, 44, dir_dibujo3, dir_zona_pantalla); +	copyRect(4, 153, 118, 95, 67, 44, drawSurface3, screenSurface);  }  void DrasculaEngine::update_53_pre() {  	if (flags[1] == 0) -		copyRect(2, 113, 205, 50, 38, 86, dir_dibujo3, dir_zona_pantalla); +		copyRect(2, 113, 205, 50, 38, 86, drawSurface3, screenSurface);  	if (flags[2] == 0) -		copyBackground(41, 159, 27, 117, 25, 40, dir_dibujo3, dir_zona_pantalla); +		copyBackground(41, 159, 27, 117, 25, 40, drawSurface3, screenSurface);  	if (flags[9] == 1) -		copyBackground(67, 184, 56, 93, 32, 15, dir_dibujo3, dir_zona_pantalla); +		copyBackground(67, 184, 56, 93, 32, 15, drawSurface3, screenSurface);  }  void DrasculaEngine::update_54_pre() {  	if (flags[5] == 1) -		copyBackground(168, 156, 187, 111, 7, 11, dir_dibujo3, dir_zona_pantalla); +		copyBackground(168, 156, 187, 111, 7, 11, drawSurface3, screenSurface);  	if (flags[12] == 1) -		copyBackground(16, 156, 190, 64, 18, 24, dir_dibujo3, dir_zona_pantalla); +		copyBackground(16, 156, 190, 64, 18, 24, drawSurface3, screenSurface);  }  void DrasculaEngine::update_56_pre() {  	if (flags[10] == 0) -		copyBackground(2, 126, 42, 67, 57, 67, dir_dibujo3, dir_zona_pantalla); +		copyBackground(2, 126, 42, 67, 57, 67, drawSurface3, screenSurface);  	if (flags[11] == 1) -		copyBackground(60, 160, 128, 97, 103, 38, dir_dibujo3, dir_zona_pantalla); +		copyBackground(60, 160, 128, 97, 103, 38, drawSurface3, screenSurface);  }  void DrasculaEngine::update_57() { -	copyRect(7, 113, 166, 61, 62, 82, dir_dibujo3, dir_zona_pantalla); +	copyRect(7, 113, 166, 61, 62, 82, drawSurface3, screenSurface);  }  void DrasculaEngine::update_58_pre() {  	if (flags[0] == 0) -		copyBackground(1, 156, 143, 120, 120, 43, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 156, 143, 120, 120, 43, drawSurface3, screenSurface);  	if (flags[1] == 2) -		copyRect(252, 171, 173, 116, 25, 28, dir_dibujo3, dir_zona_pantalla); +		copyRect(252, 171, 173, 116, 25, 28, drawSurface3, screenSurface);  	if (flags[1] == 0 && flags[0] == 0) -		copyRect(278, 171, 173, 116, 25, 28, dir_dibujo3, dir_zona_pantalla); +		copyRect(278, 171, 173, 116, 25, 28, drawSurface3, screenSurface);  	if (flags[2] == 0) {  		placeIgor();  		placeDrascula();  	}  	if (flags[3] == 1) -		copyRect(1, 29, 204, 0, 18, 125, dir_dibujo3, dir_zona_pantalla); +		copyRect(1, 29, 204, 0, 18, 125, drawSurface3, screenSurface);  	if (flags[8] == 1) -		copyBackground(20, 60, 30, 64, 46, 95, dir_dibujo3, dir_zona_pantalla); +		copyBackground(20, 60, 30, 64, 46, 95, drawSurface3, screenSurface);  }  void DrasculaEngine::update_58() {  	if (hare_se_ve == 1) -		copyRect(67, 139, 140, 147, 12, 16, dir_dibujo3, dir_zona_pantalla); +		copyRect(67, 139, 140, 147, 12, 16, drawSurface3, screenSurface);  }  void DrasculaEngine::update_59_pre() {  	if (flags[4] == 0) -		copyRect(1, 146, 65, 106, 83, 40, dir_dibujo3, dir_zona_pantalla); +		copyRect(1, 146, 65, 106, 83, 40, drawSurface3, screenSurface);  	if (flags[9] == 1) { -		copyBackground(65, 103, 65, 103, 49, 38, dir_dibujo1, dir_zona_pantalla); -		copyRect(1, 105, 65, 103, 49, 38, dir_dibujo3, dir_zona_pantalla); +		copyBackground(65, 103, 65, 103, 49, 38, drawSurface1, screenSurface); +		copyRect(1, 105, 65, 103, 49, 38, drawSurface3, screenSurface);  	}  } @@ -1921,10 +1921,10 @@ void DrasculaEngine::update_60_pre() {  	if (flags[5] == 0)  		placeDrascula(); -	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, dir_dibujo3, dir_zona_pantalla); +	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, drawSurface3, screenSurface);  	if (flag_tv == 1) -		copyBackground(114, 158, 8, 30, 8, 23, dir_dibujo3, dir_zona_pantalla); +		copyBackground(114, 158, 8, 30, 8, 23, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	blinking = _rnd->getRandomNumber(7); @@ -1946,7 +1946,7 @@ void DrasculaEngine::update_60() {  }  void DrasculaEngine::update_61() { -	copyRect(1, 154, 83, 122, 131, 44, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface);  }  void DrasculaEngine::update_62_pre() { @@ -1956,24 +1956,24 @@ void DrasculaEngine::update_62_pre() {  	int drunk_x[] = {1, 42, 83, 124, 165, 206, 247, 1 };  	int diferencia; -	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, dir_dibujo3, dir_zona_pantalla); -	copyBackground(cirio_x[frame_velas], 146, 311, 80, 4, 8, dir_dibujo3, dir_zona_pantalla); +	copyBackground(123, velas_y[frame_velas], 142, 14, 39, 13, drawSurface3, screenSurface); +	copyBackground(cirio_x[frame_velas], 146, 311, 80, 4, 8, drawSurface3, screenSurface);  	if (blinking == 5) -		copyBackground(1, 149, 127, 52, 9, 5, dir_dibujo3, dir_zona_pantalla); +		copyBackground(1, 149, 127, 52, 9, 5, drawSurface3, screenSurface);  	if (hare_x > 101 && hare_x < 155) -		copyBackground(31, 138, 178, 51, 18, 16, dir_dibujo3, dir_zona_pantalla); +		copyBackground(31, 138, 178, 51, 18, 16, drawSurface3, screenSurface);  	if (flags[11] == 0) -		copyBackground(pianista_x[frame_piano], 157, 245, 130, 29, 42, dir_dibujo3, dir_zona_pantalla); +		copyBackground(pianista_x[frame_piano], 157, 245, 130, 29, 42, drawSurface3, screenSurface);  	else if (flags[5] == 0) -		copyBackground(145, 139, 228, 112, 47, 60, dir_hare_dch, dir_zona_pantalla); +		copyBackground(145, 139, 228, 112, 47, 60, extraSurface, screenSurface);  	else -		copyBackground(165, 140, 229, 117, 43, 59, dir_dibujo3, dir_zona_pantalla); +		copyBackground(165, 140, 229, 117, 43, 59, drawSurface3, screenSurface);  	if (flags[12] == 1) -		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, dir_dibujo3, dir_zona_pantalla); +		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	if (diferencia > 6) { @@ -2000,16 +2000,16 @@ void DrasculaEngine::update_62_pre() {  void DrasculaEngine::update_62() {  	int drunk_x[] = { 1, 42, 83, 124, 165, 206, 247, 1 }; -	copyRect(1, 1, 0, 0, 62, 142, dir_dibujo2, dir_zona_pantalla); +	copyRect(1, 1, 0, 0, 62, 142, drawSurface2, screenSurface);  	if (hare_y + alto_hare < 89) { -		copyRect(205, 1, 180, 9, 82, 80, dir_dibujo3, dir_zona_pantalla); -		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, dir_dibujo3, dir_zona_pantalla); +		copyRect(205, 1, 180, 9, 82, 80, drawSurface3, screenSurface); +		copyBackground(drunk_x[frame_drunk], 82, 170, 50, 40, 53, drawSurface3, screenSurface);  	}  }  void DrasculaEngine::update_63() { -	copyRect(1, 154, 83, 122, 131, 44, dir_dibujo3, dir_zona_pantalla); +	copyRect(1, 154, 83, 122, 131, 44, drawSurface3, screenSurface);  }  void DrasculaEngine::update_pendulum() { @@ -2017,19 +2017,19 @@ void DrasculaEngine::update_pendulum() {  	int diferencia;  	if (frame_pen <= 4) -		dir_pendulum = dir_dibujo3; +		pendulumSurface = drawSurface3;  	else if (frame_pen <= 11) -		dir_pendulum = dir_hare_dch; +		pendulumSurface = extraSurface;  	else -		dir_pendulum = dir_hare_frente; +		pendulumSurface = frontSurface; -	copyBackground(pendulum_x[frame_pen], 19, 152, 0, 55, 125, dir_pendulum, dir_zona_pantalla); +	copyBackground(pendulum_x[frame_pen], 19, 152, 0, 55, 125, pendulumSurface, screenSurface);  	if (flags[1] == 2) -		copyRect(18, 145, 145, 105, 25, 29, dir_dibujo3, dir_zona_pantalla); +		copyRect(18, 145, 145, 105, 25, 29, drawSurface3, screenSurface);  	if (flags[1] == 0) -		copyRect(44, 145, 145, 105, 25, 29, dir_dibujo3, dir_zona_pantalla); +		copyRect(44, 145, 145, 105, 25, 29, drawSurface3, screenSurface);  	diferencia = vez() - conta_blind_vez;  	if (diferencia > 8) { diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp index 4ca40734d4..afd2988162 100644 --- a/engines/drascula/talk.cpp +++ b/engines/drascula/talk.cpp @@ -61,22 +61,22 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	placeIgor();  	placeDrascula(); -	copyBackground(x_igor + 17, y_igor, x_igor + 17, y_igor, 37, 24, dir_dibujo1, dir_zona_pantalla); +	copyBackground(x_igor + 17, y_igor, x_igor + 17, y_igor, 37, 24, drawSurface1, screenSurface); -	copyRect(x_talk[cara], 148, x_igor + 17, y_igor, 25, 24, dir_hare_frente, dir_zona_pantalla); +	copyRect(x_talk[cara], 148, x_igor + 17, y_igor, 25, 24, frontSurface, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, x_igor + 26, y_igor); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -96,10 +96,10 @@ bucless:  		if (length > 0)  			goto bucless;  	} -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	placeIgor();  	placeDrascula(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_dr_izq(int index) { @@ -123,7 +123,7 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); @@ -132,18 +132,18 @@ bucless:  	if (num_ejec == 6)  		pon_hare(); -	copyBackground(x_dr, y_dr, x_dr, y_dr, 38, 31, dir_dibujo1, dir_zona_pantalla); +	copyBackground(x_dr, y_dr, x_dr, y_dr, 38, 31, drawSurface1, screenSurface);  	if (num_ejec == 6) -		copyRect(x_talk[cara], 90, x_dr, y_dr, 38, 31, dir_dibujo2, dir_zona_pantalla); +		copyRect(x_talk[cara], 90, x_dr, y_dr, 38, 31, drawSurface2, screenSurface);  	else -		copyRect(x_talk[cara], 90, x_dr, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla); +		copyRect(x_talk[cara], 90, x_dr, y_dr, 38, 31, backSurface, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, x_dr + 19, y_dr); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -164,10 +164,10 @@ bucless:  			goto bucless;  	} -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	placeIgor();  	placeDrascula(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_dr_dch(int index) { @@ -191,7 +191,7 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	placeIgor(); @@ -199,18 +199,18 @@ bucless:  	if (num_ejec == 6)  		pon_hare(); -	copyBackground(x_dr, y_dr, x_dr, y_dr, 45, 31, dir_dibujo1, dir_zona_pantalla); +	copyBackground(x_dr, y_dr, x_dr, y_dr, 45, 31, drawSurface1, screenSurface);  	if (num_ejec != 6) -		copyRect(x_talk[cara], 58, x_dr + 7, y_dr, 38, 31, dir_hare_fondo, dir_zona_pantalla); +		copyRect(x_talk[cara], 58, x_dr + 7, y_dr, 38, 31, backSurface, screenSurface);  	else -		copyRect(x_talk[cara], 58, x_dr + 7, y_dr, 38, 31, dir_dibujo2, dir_zona_pantalla); +		copyRect(x_talk[cara], 58, x_dr + 7, y_dr, 38, 31, drawSurface2, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, x_dr + 19, y_dr); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -238,7 +238,7 @@ bucless:  	placeDrascula();  	if (num_ejec == 6)  		pon_hare(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_solo(const char *said, const char *filename) { @@ -254,7 +254,7 @@ void DrasculaEngine::talk_solo(const char *said, const char *filename) {  	talkInit(filename);  	if (num_ejec == 6) -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  bucless: @@ -266,7 +266,7 @@ bucless:  		else if (num_ejec == 5)  			centerText(said, 173, 92);  	} -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	byte key = getScan();  	if (num_ejec == 1 && key == Common::KEYCODE_ESCAPE) @@ -285,8 +285,8 @@ bucless:  			goto bucless;  	}  	if (num_ejec == 6) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	}  } @@ -305,7 +305,7 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); @@ -314,15 +314,15 @@ bucless:  	if (num_ejec == 1)  		placeDrascula();  	if (num_ejec == 1 || num_ejec == 6) -		copyBackground(x_igor, y_igor, x_igor, y_igor, 29, 25, dir_dibujo1, dir_zona_pantalla); -	copyRect(x_talk[cara], 173, x_igor, y_igor, 29, 25, dir_hare_frente, dir_zona_pantalla); +		copyBackground(x_igor, y_igor, x_igor, y_igor, 29, 25, drawSurface1, screenSurface); +	copyRect(x_talk[cara], 173, x_igor, y_igor, 29, 25, frontSurface, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, x_igor + 26, y_igor); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -348,11 +348,11 @@ bucless:  	}  	if (num_ejec == 1) { -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		placeIgor();  		placeDrascula();  	} -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_tabernero(int index) { @@ -384,18 +384,18 @@ bucless:  	cara = _rnd->getRandomNumber(8); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 2, 121, 44, 21, 24, dir_hare_dch, dir_zona_pantalla); +	copyBackground(x_talk[cara], 2, 121, 44, 21, 24, extraSurface, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 132, 45); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -414,7 +414,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_bj(int index) { @@ -438,22 +438,22 @@ bucless:  	if (num_ejec != 5) {  		cara = _rnd->getRandomNumber(4); -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		updateRefresh_pre();  		copyBackground(x_bj + 2, y_bj - 1, x_bj + 2, y_bj - 1, 27, 40, -					dir_dibujo1, dir_zona_pantalla); +					drawSurface1, screenSurface);  		copyRect(x_talk[cara], 99, x_bj + 2, y_bj - 1, 27, 40, -					dir_dibujo3, dir_zona_pantalla); +					drawSurface3, screenSurface);  		pon_hare();  		updateRefresh();  		if (withVoices == 0)  			centerText(said, x_bj + 7, y_bj); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		pause(3);  	} else { @@ -462,7 +462,7 @@ bucless:  		if (withVoices == 0)  			centerText(said, 93, 80); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	}  	byte key = getScan(); @@ -483,7 +483,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk(int index) { @@ -535,71 +535,71 @@ bucless:  	cara = _rnd->getRandomNumber(5); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	if (num_ejec == 2) -		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, ancho_hare, alto_talk - 1, dir_zona_pantalla, dir_dibujo3); +		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, ancho_hare, alto_talk - 1, screenSurface, drawSurface3);  	else  		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, (int)(((float)ancho_hare / 100) * factor_red[hare_y + alto_hare]),  				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), -				dir_zona_pantalla, dir_dibujo3); +				screenSurface, drawSurface3);  	pon_hare();  	if (num_ejec == 2) {  		if (!strcmp(menuBackground, "99.alg") || !strcmp(menuBackground, "994.alg")) -			copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, ancho_hare, alto_talk - 1, dir_dibujo3, dir_zona_pantalla); +			copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, ancho_hare, alto_talk - 1, drawSurface3, screenSurface);  	} else {  		copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, (int)(((float)ancho_hare / 100) * factor_red[hare_y + alto_hare]),  				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), -				dir_dibujo3, dir_zona_pantalla); +				drawSurface3, screenSurface);  	}  	if (sentido_hare == 0) {  		if (num_ejec == 2)  			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 8, hare_y - 1, ancho_talk, alto_talk, -						dir_hare_dch, dir_zona_pantalla); +						extraSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_izq[cara], y_mask_talk, hare_x + (int)((8.0f / 100) * factor_red[hare_y + alto_hare]),  						hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], -						dir_hare_dch, dir_zona_pantalla); +						extraSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 1) {  		if (num_ejec == 2)  			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, -					dir_hare_dch, dir_zona_pantalla); +					extraSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_dch[cara], y_mask_talk, hare_x + (int)((12.0f / 100) * factor_red[hare_y + alto_hare]), -					hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +					hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 2) {  		if (num_ejec == 2)  			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, -					dir_hare_frente, dir_zona_pantalla); +					frontSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_izq[cara], y_mask_talk,  						suma_1_pixel + hare_x + (int)((12.0f / 100) * factor_red[hare_y + alto_hare]),  						hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], -						dir_hare_frente, dir_zona_pantalla); +						frontSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 3) {  		if (num_ejec == 2)  			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 8, hare_y, ancho_talk, alto_talk, -					dir_hare_frente, dir_zona_pantalla); +					frontSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_dch[cara], y_mask_talk,  						suma_1_pixel + hare_x + (int)((8.0f / 100) * factor_red[hare_y + alto_hare]),  						hare_y, ancho_talk,alto_talk, factor_red[hare_y + alto_hare], -						dir_hare_frente, dir_zona_pantalla); +						frontSurface, screenSurface);  		updateRefresh();  	}  	if (withVoices == 0)  		centerText(said, hare_x, hare_y); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -621,7 +621,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (num_ejec == 1) {  		if (musicStatus() == 0 && flags[11] == 0 && musicStopped == 0) @@ -644,19 +644,19 @@ bucless:  	cara = _rnd->getRandomNumber(3); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	copyBackground(x_talk[cara], 139, 228, 112, 47, 60, -				dir_hare_dch, dir_zona_pantalla); +				extraSurface, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 221, 128); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -676,7 +676,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_drunk(const char *said, const char *filename) { @@ -688,7 +688,7 @@ void DrasculaEngine::talk_drunk(const char *said, const char *filename) {  	if (num_ejec == 1) {  		loadPic("an11y13.alg"); -		decompressPic(dir_hare_frente, 1); +		decompressPic(frontSurface, 1);  	}  	flags[13] = 1; @@ -697,7 +697,7 @@ bebiendo:  	if (flags[12] == 1) {  		updateRoom(); -		updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +		updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  		goto bebiendo;  	} @@ -709,18 +709,18 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 29, 177, 50, 19, 19, dir_hare_frente, dir_zona_pantalla); +	copyBackground(x_talk[cara], 29, 177, 50, 19, 19, frontSurface, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 181, 54); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -740,12 +740,12 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	flags[13] = 0;  	if (num_ejec == 1) {  		loadPic("96.alg"); -		decompressPic(dir_hare_frente, 1); +		decompressPic(frontSurface, 1);  	}  	if (num_ejec == 1) { @@ -774,26 +774,26 @@ void DrasculaEngine::talk_vb(const char *said, const char *filename) {  	talkInit(filename); -	copyBackground(vb_x + 5, 64, OBJWIDTH + 1, 0, 25, 27, dir_dibujo1, dir_dibujo3); +	copyBackground(vb_x + 5, 64, OBJWIDTH + 1, 0, 25, 27, drawSurface1, drawSurface3);  bucless:  	if (sentido_vb == 1) {  		cara = _rnd->getRandomNumber(5); -		copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  		pon_hare();  		pon_vb(); -		copyBackground(OBJWIDTH + 1, 0, vb_x + 5, 64, 25, 27, dir_dibujo3, dir_zona_pantalla); -		copyRect(x_talk[cara], 34, vb_x + 5, 64, 25, 27, dir_hare_frente, dir_zona_pantalla); +		copyBackground(OBJWIDTH + 1, 0, vb_x + 5, 64, 25, 27, drawSurface3, screenSurface); +		copyRect(x_talk[cara], 34, vb_x + 5, 64, 25, 27, frontSurface, screenSurface);  		updateRefresh();  	}  	if (withVoices == 0)  		centerText(said, vb_x, 66); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -813,7 +813,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (musicStatus() == 0 && flags[11] == 0 && roomMusic != 0)  		playMusic(roomMusic);  } @@ -838,7 +838,7 @@ bucless:  	updateRoom();  	if (withVoices == 0)  		centerText(said, 150, 80); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	int key = getScan();  	if (key != 0) @@ -856,7 +856,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	if (musicStatus() == 0 && flags[11] == 0 && roomMusic != 0)  		playMusic(roomMusic);  } @@ -869,8 +869,8 @@ void DrasculaEngine::talk_blind(const char *said, const char *filename, const ch  	color_abc(VON_BRAUN); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	talkInit(filename); @@ -881,7 +881,7 @@ void DrasculaEngine::talk_blind(const char *said, const char *filename, const ch  	pos_blind[5] = 149;  bucless: -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	pos_blind[5] = 149;  	char c = toupper(sincronia[p]); @@ -891,28 +891,28 @@ bucless:  		pos_blind[0] = 132;  	if (c == '0') -		num_cara = dir_dibujo3; +		num_cara = drawSurface3;  	else if (c == '1') -		num_cara = dir_dibujo3; +		num_cara = drawSurface3;  	else if (c == '2') -		num_cara = dir_hare_dch; +		num_cara = extraSurface;  	else if (c == '3') -		num_cara = dir_hare_dch; +		num_cara = extraSurface;  	else if (c == '4') -		num_cara = dir_hare_fondo; +		num_cara = backSurface;  	else if (c == '5') -		num_cara = dir_hare_fondo; +		num_cara = backSurface;  	else { -		num_cara = dir_hare_frente; +		num_cara = frontSurface;  		pos_blind[5] = 146;  	} -	copyRectClip( pos_blind, num_cara, dir_zona_pantalla); +	copyRectClip( pos_blind, num_cara, screenSurface);  	if (withVoices == 0)  		centerText(said, 310, 71); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(2);  	p++; @@ -937,8 +937,8 @@ void DrasculaEngine::talk_hacker(const char *said, const char *filename) {  	_rnd->setSeed((unsigned int)_system->getMillis() / 2); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	color_abc(YELLOW); @@ -947,7 +947,7 @@ void DrasculaEngine::talk_hacker(const char *said, const char *filename) {  bucless:  	if (withVoices == 0)  		centerText(said, 156, 170); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	int key = getScan();  	if (key != 0) @@ -982,18 +982,18 @@ bucless:  	cara = _rnd->getRandomNumber(8); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 136, 198, 81, 26, 24, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 136, 198, 81, 26, 24, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 203, 78); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1013,7 +1013,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_mus(const char *said, const char *filename) { @@ -1031,18 +1031,18 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 156, 190, 64, 18, 24, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 156, 190, 64, 18, 24, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 197, 64); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1062,7 +1062,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_pen(const char *said, const char *filename) { @@ -1073,8 +1073,8 @@ void DrasculaEngine::talk_pen(const char *said, const char *filename) {  	flags[1] = 1;  	updateRoom(); -	copyRect(44, 145, 145, 105, 25, 29, dir_dibujo3, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyRect(44, 145, 145, 105, 25, 29, drawSurface3, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	_rnd->setSeed((unsigned int)_system->getMillis() / 2); @@ -1086,18 +1086,18 @@ bucless:  	cara = _rnd->getRandomNumber(7); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyRect(x_talk[cara], 145, 145, 105, 25, 29, dir_dibujo3, dir_zona_pantalla); +	copyRect(x_talk[cara], 145, 145, 105, 25, 29, drawSurface3, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 160, 105); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1117,9 +1117,9 @@ bucless:  	}  	flags[1] = 0; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_pen2(const char *said, const char *filename) { @@ -1139,18 +1139,18 @@ bucless:  	cara = _rnd->getRandomNumber(4); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 171, 173, 116, 25, 28, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 171, 173, 116, 25, 28, drawSurface3, screenSurface);  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 195, 107); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1170,9 +1170,9 @@ bucless:  	}  	flags[1] = 0; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_taber2(const char *said, const char *filename) { @@ -1190,18 +1190,18 @@ bucless:  	cara = _rnd->getRandomNumber(5); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 130, 151, 43, 21, 24, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 130, 151, 43, 21, 24, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 132, 45); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1221,7 +1221,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_bj_bed(int index) { @@ -1245,19 +1245,19 @@ bucless:  	cara = _rnd->getRandomNumber(4); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(65, 103, 65, 103, 49, 38, dir_dibujo1, dir_zona_pantalla); -	copyRect(x_talk[cara], 105, 65, 103, 49, 38, dir_dibujo3, dir_zona_pantalla); +	copyBackground(65, 103, 65, 103, 49, 38, drawSurface1, screenSurface); +	copyRect(x_talk[cara], 105, 65, 103, 49, 38, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 104, 102); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1276,7 +1276,7 @@ bucless:  			goto bucless;  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_htel(const char *said, const char *filename) { @@ -1297,20 +1297,20 @@ bucless:  	pantalla = _rnd->getRandomNumber(2);  	if (cara == 0 && pantalla == 0) -		num_cara = (char *)dir_dibujo3; +		num_cara = (char *)drawSurface3;  	else if (pantalla == 1) -		num_cara = (char *)dir_hare_frente; +		num_cara = (char *)frontSurface;  	else -		num_cara = (char *)dir_hare_fondo; +		num_cara = (char *)backSurface; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); -	copyBackground(x_talk[cara], 1, 45, 24, 92, 108, (byte *)num_cara, dir_zona_pantalla); +	copyBackground(x_talk[cara], 1, 45, 24, 92, 108, (byte *)num_cara, screenSurface);  	if (withVoices == 0)  		centerText(said, 90, 50); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3);  	int key = getScan(); @@ -1328,8 +1328,8 @@ bucless:  			goto bucless;  	} -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_sinc(const char *said, const char *filename, const char *sincronia) { @@ -1370,58 +1370,58 @@ bucless:  	if (sincronia[p] == '7')  		cara = 7; -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre();  	if (num_ejec == 2) -		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, ancho_hare, alto_talk - 1, dir_zona_pantalla, dir_dibujo3); +		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, ancho_hare, alto_talk - 1, screenSurface, drawSurface3);  	else  		copyBackground(hare_x, hare_y, OBJWIDTH + 1, 0, (int)(((float)ancho_hare / 100) * factor_red[hare_y + alto_hare]), -				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), dir_zona_pantalla, dir_dibujo3); +				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), screenSurface, drawSurface3);  	pon_hare();  	if (num_ejec == 2) {  		if (alto_hare != 56) -			copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, ancho_hare, alto_talk - 1, dir_dibujo3, dir_zona_pantalla); +			copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, ancho_hare, alto_talk - 1, drawSurface3, screenSurface);  	} else  		copyBackground(OBJWIDTH + 1, 0, hare_x, hare_y, (int)(((float)ancho_hare / 100) * factor_red[hare_y + alto_hare]), -				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), dir_dibujo3, dir_zona_pantalla); +				(int)(((float)(alto_talk - 1) / 100) * factor_red[hare_y + alto_hare]), drawSurface3, screenSurface);  	if (sentido_hare == 0) {  		if (num_ejec == 2) -			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 8, hare_y - 1, ancho_talk, alto_talk, dir_hare_dch, dir_zona_pantalla); +			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 8, hare_y - 1, ancho_talk, alto_talk, extraSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_izq[cara], y_mask_talk, (int)(hare_x + (8.0f / 100) * factor_red[hare_y + alto_hare]), -							hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +							hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 1) {  		if (num_ejec == 2) -			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, dir_hare_dch, dir_zona_pantalla); +			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, extraSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_dch[cara], y_mask_talk, (int)(hare_x + (12.0f / 100) * factor_red[hare_y + alto_hare]), -							hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], dir_hare_dch, dir_zona_pantalla); +							hare_y, ancho_talk, alto_talk, factor_red[hare_y + alto_hare], extraSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 2) {  		if (num_ejec == 2) -			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, dir_hare_frente, dir_zona_pantalla); +			copyRect(x_talk_izq[cara], y_mask_talk, hare_x + 12, hare_y, ancho_talk, alto_talk, frontSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_izq[cara], y_mask_talk,  						(int)(suma_1_pixel + hare_x + (12.0f / 100) * factor_red[hare_y + alto_hare]), hare_y, -						ancho_talk, alto_talk, factor_red[hare_y + alto_hare], dir_hare_frente, dir_zona_pantalla); +						ancho_talk, alto_talk, factor_red[hare_y + alto_hare], frontSurface, screenSurface);  		updateRefresh();  	} else if (sentido_hare == 3) {  		if (num_ejec == 2) -			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 8, hare_y, ancho_talk, alto_talk, dir_hare_frente, dir_zona_pantalla); +			copyRect(x_talk_dch[cara], y_mask_talk, hare_x + 8, hare_y, ancho_talk, alto_talk, frontSurface, screenSurface);  		else  			reduce_hare_chico(x_talk_dch[cara], y_mask_talk,  						(int)(suma_1_pixel + hare_x + (8.0f / 100) * factor_red[hare_y + alto_hare]), hare_y, -						ancho_talk, alto_talk, factor_red[hare_y + alto_hare], dir_hare_frente, dir_zona_pantalla); +						ancho_talk, alto_talk, factor_red[hare_y + alto_hare], frontSurface, screenSurface);  		updateRefresh();  	}  	if (withVoices == 0)  		centerText(said, hare_x, hare_y); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	p++;  	pause(3); @@ -1472,7 +1472,7 @@ bucless:  	if (withVoices == 0)  		centerText(said, 263, 69); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(4); @@ -1493,7 +1493,7 @@ bucless:  	flags[19] = cara_antes;  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_igorpuerta(const char *said, const char *filename) { @@ -1510,7 +1510,7 @@ bucless:  	updateRoom();  	if (withVoices == 0)  		centerText(said, 87, 66); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	int key = getScan();  	if (key != 0) @@ -1528,7 +1528,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_igor_seated(const char *said, const char *filename) { @@ -1546,18 +1546,18 @@ bucless:  	cara = _rnd->getRandomNumber(3); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 109, 207, 92, 21, 23, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 109, 207, 92, 21, 23, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 221, 102); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1577,7 +1577,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  void DrasculaEngine::talk_igor_peluca(const char *said, const char *filename) { @@ -1595,18 +1595,18 @@ bucless:  	_rnd->getRandomNumber(3); -	copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla); +	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);  	updateRefresh_pre(); -	copyBackground(x_talk[cara], 78, 199, 94, 38, 27, dir_dibujo3, dir_zona_pantalla); +	copyBackground(x_talk[cara], 78, 199, 94, 38, 27, drawSurface3, screenSurface);  	pon_hare();  	updateRefresh();  	if (withVoices == 0)  		centerText(said, 221, 102); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  	pause(3); @@ -1626,7 +1626,7 @@ bucless:  	}  	updateRoom(); -	updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); +	updateScreen(0, 0, 0, 0, 320, 200, screenSurface);  }  } // End of namespace Drascula | 
