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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Jun 2 12:58:45 CEST 2008


Revision: 32494
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32494&view=rev
Author:   thebluegr
Date:     2008-06-02 03:58:45 -0700 (Mon, 02 Jun 2008)

Log Message:
-----------
Further cleanup of the talk code

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/animation.cpp
    scummvm/trunk/engines/drascula/drascula.h
    scummvm/trunk/engines/drascula/rooms.cpp
    scummvm/trunk/engines/drascula/talk.cpp

Modified: scummvm/trunk/engines/drascula/animation.cpp
===================================================================
--- scummvm/trunk/engines/drascula/animation.cpp	2008-06-02 08:39:56 UTC (rev 32493)
+++ scummvm/trunk/engines/drascula/animation.cpp	2008-06-02 10:58:45 UTC (rev 32494)
@@ -176,7 +176,7 @@
 			break;
 		copyBackground(0, 0, 0, 0, 320, 200, screenSurface, drawSurface1);
 
-		talk_dr_grande(_textd[_lang][1], "D1.als");
+		talk_dr_grande(1);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 
@@ -196,7 +196,7 @@
 		placeIgor();
 		placeDrascula();
 		updateScreen();
-		talk_igor_dch(8);
+		talk_igor(8, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
@@ -257,13 +257,13 @@
 		stopMusic();
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_dch(9);
+		talk_igor(9, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		talk_drascula(9);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_dch(10);
+		talk_igor(10, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		playMusic(11);
@@ -289,7 +289,7 @@
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		sentido_dr = 1;
-		talk_igor_dch(1);
+		talk_igor(1, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		talk_drascula(11, 1);
@@ -320,7 +320,7 @@
 		placeIgor();
 		placeDrascula();
 		updateScreen();
-		talk_igor_dch(2);
+		talk_igor(2, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		pause(13);
@@ -341,19 +341,19 @@
 		talk_drascula(14);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_dch(3);
+		talk_igor(3, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		talk_drascula(15);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_dch(4);
+		talk_igor(4, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		talk_drascula(16);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_dch(5);
+		talk_igor(5, 0);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		sentido_igor = 3;
@@ -363,7 +363,7 @@
 		pause(18);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
-		talk_igor_front(6);
+		talk_igor(6, 1);
 		if ((term_int == 1) || (getScan() == Common::KEYCODE_ESCAPE))
 			break;
 		fadeToBlack(0);
@@ -651,13 +651,13 @@
 	stopMusic();
 	flags[11] = 1;
 
-	talk_pianist(_textp[_lang][1], "p1.als");
+	talk_pianist(1);
 	talk(206);
-	talk_pianist(_textp[_lang][2], "p2.als");
+	talk_pianist(2);
 	talk(207);
-	talk_pianist(_textp[_lang][3], "p3.als");
+	talk_pianist(3);
 	talk(208);
-	talk_pianist(_textp[_lang][4], "p4.als");
+	talk_pianist(4);
 	talk(209);
 
 	if (_lang == kSpanish)
@@ -1449,26 +1449,26 @@
 }
 
 void DrasculaEngine::animation_2_4() {
-	talk_igor_seated(16);
+	talk_igor(16, 3);
 	talk(278);
-	talk_igor_seated(17);
+	talk_igor(17, 3);
 	talk(279);
-	talk_igor_seated(18);
+	talk_igor(18, 3);
 }
 
 void DrasculaEngine::animation_3_4() {
-	talk_igor_seated(19);
-	talk_igor_seated(20);
+	talk_igor(19, 3);
+	talk_igor(20, 3);
 	talk(281);
 }
 
 void DrasculaEngine::animation_4_4() {
 	talk(287);
-	talk_igor_seated(21);
+	talk_igor(21, 3);
 	talk(284);
-	talk_igor_seated(22);
+	talk_igor(22, 3);
 	talk(285);
-	talk_igor_seated(23);
+	talk_igor(23, 3);
 }
 
 void DrasculaEngine::animation_7_4() {
@@ -1928,10 +1928,10 @@
 	talk_drascula(31, 1);
 	animation_5_6();
 	talk_drascula(32, 1);
-	talk_igor_dch(11);
+	talk_igor(11, 0);
 	sentido_igor = 3;
 	talk_drascula(33, 1);
-	talk_igor_front(12);
+	talk_igor(12, 1);
 	talk_drascula(34, 1);
 	sentido_dr = 0;
 	talk_drascula(35);
@@ -2630,9 +2630,9 @@
 		flags[18] = 1;
 		flags[20] = 1;
 
-		talk_igor_seated(13);
-		talk_igor_seated(14);
-		talk_igor_seated(15);
+		talk_igor(13, 3);
+		talk_igor(14, 3);
+		talk_igor(15, 3);
 		flags[21] = 1;
 	} else {
 		talk(356);
@@ -2655,7 +2655,7 @@
 
 		talk(276);
 		pause(14);
-		talk_igor_seated(6);
+		talk_igor(6, 3);
 	}
 
 	converse("op_6.cal");
@@ -2682,8 +2682,8 @@
 	loadPic("auxigor.alg", frontSurface, 1);
 	igorX = 100;
 	igorY = 65;
-	talk_igor_front(29);
-	talk_igor_front(30);
+	talk_igor(29, 1);
+	talk_igor(30, 1);
 	loadPic("96.alg", frontSurface, 1);
 	loadPic("99.alg", backSurface, 1);
 	hare_se_ve = 1;
@@ -2706,7 +2706,7 @@
 	placeIgor();
 	updateScreen();
 	pause(40);
-	talk_igor_front(26);
+	talk_igor(26, 1);
 	roomNumber = prevRoom;
 	clearRoom();
 	loadPic("96.alg", frontSurface, 1);

Modified: scummvm/trunk/engines/drascula/drascula.h
===================================================================
--- scummvm/trunk/engines/drascula/drascula.h	2008-06-02 08:39:56 UTC (rev 32493)
+++ scummvm/trunk/engines/drascula/drascula.h	2008-06-02 10:58:45 UTC (rev 32494)
@@ -420,40 +420,25 @@
 
 	void talkInit(const char *filename);
 	bool isTalkFinished(int* length);
-	void talk_igor_dch(int);
+	void talk_igor(int, int);
 	void talk_drascula(int index, int talkerType = 0);
 	void talk_solo(const char *, const char *);
-	void talk_igor_front(int);
 	void talk_bartender(int, int talkerType = 0);
-	void talk_igor_door(int);
-	void talk_igor_door(const char *said, const char *filename);
-	void talk_igor_wig(int);
-	void talk_igor_wig(const char *said, const char *filename);
 	void talk_pen(const char *, const char *, int);
 	void talk_bj_bed(int);
-	void talk_bj_bed(const char *said, const char * filename);
 	void talk_htel(int);
-	void talk_htel(const char *said, const char *filename);
 	void talk_bj(int);
-	void talk_baul(const char *said, const char *filename);
+	void talk_baul(int);
 	void talk(int);
 	void talk(const char *, const char *);
 	void talk_sinc(const char *, const char *, const char *);
 	void talk_drunk(int);
-	void talk_drunk(const char *said, const char *filename);
 	void talk_pianist(int);
-	void talk_pianist(const char *said, const char *filename);
-	void talk_igor_seated(int);
-	void talk_igor_seated(const char *, const char *);
 	void talk_wolf(int);
-	void talk_wolf(const char *said, const char *filename);
 	void talk_mus(int);
-	void talk_mus(const char *said, const char *filename);
-	void talk_dr_grande(const char *said, const char *filename);
+	void talk_dr_grande(int);
 	void talk_vb(int);
-	void talk_vb(const char *, const char *);
 	void talk_vbpuerta(int);
-	void talk_vbpuerta(const char *said, const char *filename);
 	void talk_blind(int);
 	void talk_hacker(const char *, const char *);
 

Modified: scummvm/trunk/engines/drascula/rooms.cpp
===================================================================
--- scummvm/trunk/engines/drascula/rooms.cpp	2008-06-02 08:39:56 UTC (rev 32493)
+++ scummvm/trunk/engines/drascula/rooms.cpp	2008-06-02 10:58:45 UTC (rev 32494)
@@ -373,7 +373,7 @@
 		pause(10);
 		talk_sinc(_text[_lang][50], "50.als", "11111111111144432554433");
 		pause(3);
-		talk_baul(_text[_lang][83], "d83.als");
+		talk_baul(83);
 	} else if (pickedObject == kVerbOpen && fl == 183) {
 		openDoor(19, NO_DOOR);
 		if (flags[20] == 0) {
@@ -600,16 +600,16 @@
 		flags[12] = 1;
 		closeDoor(2, 0);
 		sentido_hare = 2;
-		talk_igor_door(27);
+		talk_igor(27, 2);
 		flags[30] = 1;
-		talk_igor_door(28);
+		talk_igor(28, 2);
 		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, drawSurface3, screenSurface);
 		updateScreen(199, 94, 199, 94, 38, 27, screenSurface);
 		pause(3);
-		talk_igor_wig(25);
+		talk_igor(25, 4);
 		lleva_al_hare(153, 180);
 	} else if (pickedObject == kVerbTalk && fl == 51)
 		animation_1_4();

Modified: scummvm/trunk/engines/drascula/talk.cpp
===================================================================
--- scummvm/trunk/engines/drascula/talk.cpp	2008-06-02 08:39:56 UTC (rev 32493)
+++ scummvm/trunk/engines/drascula/talk.cpp	2008-06-02 10:58:45 UTC (rev 32494)
@@ -50,11 +50,20 @@
 	return true;
 }
 
-void DrasculaEngine::talk_igor_dch(int index) {
+// talker types:
+// 0: talk_igor_dch
+// 1: talk_igor_front
+// 2: talk_igor_door
+// 3: talk_igor_seated
+// 4: talk_igor_wig
+void DrasculaEngine::talk_igor(int index, int talkerType) {
 	char filename[20];
 	sprintf(filename, "I%i.als", index);
 	const char *said = _texti[_lang][index];
-	int x_talk[8] = { 56, 82, 108, 134, 160, 186, 212, 238 };
+	int  x_talk[8] = {  56,  82, 108, 134, 160, 186, 212, 238 };
+	int x_talk2[8] = {  56,  86, 116, 146, 176, 206, 236, 266 };
+	int x_talk3[4] = {  80, 102, 124, 146 };
+	int x_talk4[4] = { 119, 158, 197, 236 };
 	int face;
 	int length = strlen(said);
 
@@ -63,35 +72,79 @@
 	talkInit(filename);
 
 	do {
-		face = _rnd->getRandomNumber(7);
+		if (talkerType == 0 || talkerType == 1) {
+			face = _rnd->getRandomNumber(7);
+			copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
+			updateRefresh_pre();
+		} else if (talkerType == 3 || talkerType == 4) {
+			face = _rnd->getRandomNumber(3);
+			copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
+			updateRefresh_pre();
+		}
+		
+		if (talkerType == 0) {
+			placeIgor();
+			placeDrascula();
+			copyBackground(igorX + 17, igorY, igorX + 17, igorY, 37, 24, drawSurface1, screenSurface);
+			copyRect(x_talk[face], 148, igorX + 17, igorY, 25, 24, frontSurface, screenSurface);
+			updateRefresh();
+			if (withVoices == 0)
+				centerText(said, igorX + 26, igorY);
+			updateScreen();
+			pause(3);
+		} else if (talkerType == 1) {
+			if (currentChapter == 1 || currentChapter == 4)
+				placeIgor();
+			if (currentChapter == 1)
+				placeDrascula();
+			if (currentChapter == 1 || currentChapter == 6)
+				copyBackground(igorX, igorY, igorX, igorY, 29, 25, drawSurface1, screenSurface);
+			copyRect(x_talk2[face], 173, igorX, igorY, 29, 25, frontSurface, screenSurface);
+			updateRefresh();
+			if (withVoices == 0)
+				centerText(said, igorX + 26, igorY);
+			updateScreen();
+			pause(3);
+		} else if (talkerType == 2) {
+			updateRoom();
+			if (withVoices == 0)
+				centerText(said, 87, 66);
+			updateScreen();
+		} else if (talkerType == 3) {
+			copyBackground(x_talk2[face], 109, 207, 92, 21, 23, drawSurface3, screenSurface);
+			pon_hare();
+			updateRefresh();
+			if (withVoices == 0)
+				centerText(said, 221, 102);
 
-		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
+			updateScreen();
+			pause(3);
+		} else if (talkerType == 4) {
+			copyBackground(x_talk3[face], 78, 199, 94, 38, 27, drawSurface3, screenSurface);
+			pon_hare();
+			updateRefresh();
+			if (withVoices == 0)
+				centerText(said, 221, 102);
 
-		updateRefresh_pre();
+			updateScreen();
+			pause(3);
+		}
+	} while	(!isTalkFinished(&length));
 
+	if ((talkerType == 1 && currentChapter == 6) || 
+		 talkerType == 2 || talkerType == 3 || talkerType == 4) {
+		updateRoom();
+	}
+
+	if (talkerType == 0 || (talkerType == 1 && currentChapter == 1)) {
+		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
 		placeIgor();
 		placeDrascula();
-		copyBackground(igorX + 17, igorY, igorX + 17, igorY, 37, 24, drawSurface1, screenSurface);
-
-		copyRect(x_talk[face], 148, igorX + 17, igorY, 25, 24, frontSurface, screenSurface);
-
-		updateRefresh();
-
-		if (withVoices == 0)
-			centerText(said, igorX + 26, igorY);
-
-		updateScreen();
-
-		pause(3);
-
-	} while	(!isTalkFinished(&length));
-
-	copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
-	placeIgor();
-	placeDrascula();
+	}
 	updateScreen();
 }
 
+// Talker type 0: talk_dr_izq, 1: talk_dr_dch
 void DrasculaEngine::talk_drascula(int index, int talkerType) {
 	const char *said = _textd[_lang][index];
 	char filename[20];
@@ -181,55 +234,6 @@
 	}
 }
 
-void DrasculaEngine::talk_igor_front(int index) {
-	char filename[20];
-	sprintf(filename, "I%i.als", index);
-	const char *said = _texti[_lang][index];
-	int x_talk[8] = { 56, 86, 116, 146, 176, 206, 236, 266 };
-	int face;
-	int length = strlen(said);
-
-	color_abc(kColorWhite);
-
-	talkInit(filename);
-
-	do {
-		face = _rnd->getRandomNumber(7);
-
-		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
-
-		updateRefresh_pre();
-
-		if (currentChapter == 1 || currentChapter == 4)
-			placeIgor();
-		if (currentChapter == 1)
-			placeDrascula();
-		if (currentChapter == 1 || currentChapter == 6)
-			copyBackground(igorX, igorY, igorX, igorY, 29, 25, drawSurface1, screenSurface);
-		copyRect(x_talk[face], 173, igorX, igorY, 29, 25, frontSurface, screenSurface);
-
-		updateRefresh();
-
-		if (withVoices == 0)
-			centerText(said, igorX + 26, igorY);
-
-		updateScreen();
-
-		pause(3);
-	} while (!isTalkFinished(&length));
-
-	if (currentChapter == 6) {
-		updateRoom();
-	}
-
-	if (currentChapter == 1) {
-		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
-		placeIgor();
-		placeDrascula();
-	}
-	updateScreen();
-}
-
 void DrasculaEngine::talk_bartender(int index, int talkerType) {
 	char filename[20];
 	sprintf(filename, "t%i.als", index);
@@ -462,12 +466,9 @@
 }
 
 void DrasculaEngine::talk_pianist(int index) {
-	char name[20];
-	sprintf(name, "P%i.als", index);
-	talk(_textp[_lang][index], name);
-}
-
-void DrasculaEngine::talk_pianist(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "P%i.als", index);
+	const char* said = _textp[_lang][index];
 	int x_talk[4] = { 97, 145, 193, 241 };
 	int face;
 	int length = strlen(said);
@@ -501,12 +502,9 @@
 }
 
 void DrasculaEngine::talk_drunk(int index) {
-	char name[20];
-	sprintf(name, "B%i.als", index);
-	talk_drunk(_textb[_lang][index], name);
-}
-
-void DrasculaEngine::talk_drunk(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "B%i.als", index);
+	const char *said = _textb[_lang][index];
 	int x_talk[8] = { 1, 21, 41, 61, 81, 101, 121, 141 };
 	int face;
 	int length = strlen(said);
@@ -563,12 +561,9 @@
 }
 
 void DrasculaEngine::talk_vb(int index) {
-	char name[20];
-	sprintf(name, "VB%i.als", index);
-	talk_vb(_textvb[_lang][index], name);
-}
-
-void DrasculaEngine::talk_vb(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "VB%i.als", index);
+	const char *said = _textvb[_lang][index];
 	int x_talk[6] = {1, 27, 53, 79, 105, 131};
 	int face;
 	int length = strlen(said);
@@ -607,12 +602,9 @@
 }
 
 void DrasculaEngine::talk_vbpuerta(int index) {
-	char name[20];
-	sprintf(name, "VB%i.als", index);
-	talk_vb(_textvb[_lang][index], name);
-}
-
-void DrasculaEngine::talk_vbpuerta(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "VB%i.als", index);
+	const char *said = _textvb[_lang][index];
 	int length = strlen(said);
 
 	color_abc(kColorBrown);
@@ -711,12 +703,9 @@
 }
 
 void DrasculaEngine::talk_wolf(int index) {
-	char name[20];
-	sprintf(name, "L%i.als", index);
-	talk_wolf(_textl[_lang][index], name);
-}
-
-void DrasculaEngine::talk_wolf(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "L%i.als", index);
+	const char *said = _textl[_lang][index];
 	int x_talk[9] = {52, 79, 106, 133, 160, 187, 214, 241, 268};
 	int face;
 	int length = strlen(said);
@@ -749,12 +738,9 @@
 }
 
 void DrasculaEngine::talk_mus(int index) {
-	char name[20];
-	sprintf(name, "E%i.als", index);
-	talk_mus(_texte[_lang][index], name);
-}
-
-void DrasculaEngine::talk_mus(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "E%i.als", index);
+	const char *said = _texte[_lang][index];
 	int x_talk[8] = { 16, 35, 54, 73, 92, 111, 130, 149};
 	int face;
 	int length = strlen(said);
@@ -840,12 +826,9 @@
 }
 
 void DrasculaEngine::talk_bj_bed(int index) {
-	char name[20];
-	sprintf(name, "BJ%i.als", index);
-	talk_bj_bed(_textbj[_lang][index], name);
-}
-
-void DrasculaEngine::talk_bj_bed(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "BJ%i.als", index);
+	const char *said = _textbj[_lang][index];
 	int x_talk[5] = {51, 101, 151, 201, 251};
 	int face;
 	int length = strlen(said);
@@ -879,12 +862,9 @@
 }
 
 void DrasculaEngine::talk_htel(int index) {
-	char name[20];
-	sprintf(name, "%i.als", index);
-	talk_htel(_text[_lang][index], name);
-}
-
-void DrasculaEngine::talk_htel(const char *said, const char *filename) {
+	char filename[20];
+	sprintf(filename, "%i.als", index);
+	const char *said = _text[_lang][index];
 	char *num_cara;
 	int x_talk[3] = {1, 94, 187};
 	int face, pantalla;
@@ -1005,7 +985,10 @@
 		playMusic(roomMusic);
 }
 
-void DrasculaEngine::talk_baul(const char *said, const char *filename) {
+void DrasculaEngine::talk_baul(int index) {
+	char filename[20];
+	sprintf(filename, "d%i.als", index);
+	const char *said = _text[_lang][index];
 	int face = 0, cara_antes;
 	int length = strlen(said);
 
@@ -1034,107 +1017,10 @@
 	updateScreen();
 }
 
-void DrasculaEngine::talk_igor_door(int index) {
-	char name[20];
-	sprintf(name, "I%i.als", index);
-	talk_igor_door(_texti[_lang][index], name);
-}
-
-void DrasculaEngine::talk_igor_door(const char *said, const char *filename) {
-	int length = strlen(said);
-
-	color_abc(kColorWhite);
-
-	talkInit(filename);
-
-	do {
-		updateRoom();
-		if (withVoices == 0)
-			centerText(said, 87, 66);
-		updateScreen();
-	} while (!isTalkFinished(&length));
-
-	updateRoom();
-	updateScreen();
-}
-
-void DrasculaEngine::talk_igor_seated(int index) {
-	char name[20];
-	sprintf(name, "I%i.als", index);
-	talk_igor_seated(_texti[_lang][index], name);
-}
-
-void DrasculaEngine::talk_igor_seated(const char *said, const char *filename) {
-	int x_talk[4] = { 80, 102, 124, 146 };
-	int face;
-	int length = strlen(said);
-
-	color_abc(kColorWhite);
-
-	talkInit(filename);
-
-	do {
-		face = _rnd->getRandomNumber(3);
-
-		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
-
-		updateRefresh_pre();
-
-		copyBackground(x_talk[face], 109, 207, 92, 21, 23, drawSurface3, screenSurface);
-		pon_hare();
-		updateRefresh();
-
-		if (withVoices == 0)
-			centerText(said, 221, 102);
-
-		updateScreen();
-
-		pause(3);
-	} while (!isTalkFinished(&length));
-
-	updateRoom();
-	updateScreen();
-}
-
-void DrasculaEngine::talk_igor_wig(int index) {
-	char name[20];
-	sprintf(name, "I%i.als", index);
-	talk_igor_wig(_texti[_lang][index], name);
-}
-
-void DrasculaEngine::talk_igor_wig(const char *said, const char *filename) {
-	int x_talk[4] = {119, 158, 197, 236};
-	int face = 0;
-	int length = strlen(said);
-
-	color_abc(kColorWhite);
-
-	talkInit(filename);
-
-	do {
-		face = _rnd->getRandomNumber(3);
-
-		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
-
-		updateRefresh_pre();
-
-		copyBackground(x_talk[face], 78, 199, 94, 38, 27, drawSurface3, screenSurface);
-		pon_hare();
-		updateRefresh();
-
-		if (withVoices == 0)
-			centerText(said, 221, 102);
-
-		updateScreen();
-
-		pause(3);
-	} while (!isTalkFinished(&length));
-
-	updateRoom();
-	updateScreen();
-}
-
-void DrasculaEngine::talk_dr_grande(const char *said, const char *filename) {
+void DrasculaEngine::talk_dr_grande(int index) {
+	char filename[20];
+	sprintf(filename, "D%i.als", index);
+	const char *said = _textd[_lang][index];
 	int x_talk[4] = {47, 93, 139, 185};
 	int face;
 	int l = 0;


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




More information about the Scummvm-git-logs mailing list