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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Jun 4 11:02:23 CEST 2008


Revision: 32528
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32528&view=rev
Author:   thebluegr
Date:     2008-06-04 02:02:23 -0700 (Wed, 04 Jun 2008)

Log Message:
-----------
carga_escoba -> enterNewRoom
talk_sinc -> talk_sync
n_ejec2 -> savedChapter

Removed updatePalette()
Simplified enterNewRoom()
Merged para_cargar() and loadGame()
Slight cleanup to withoutVerb()
Removed set_dac and set_dacSSN

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/animation.cpp
    scummvm/trunk/engines/drascula/drascula.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-04 08:06:04 UTC (rev 32527)
+++ scummvm/trunk/engines/drascula/animation.cpp	2008-06-04 09:02:23 UTC (rev 32528)
@@ -1762,7 +1762,7 @@
 	animate("frel.bin", 16);
 	clearRoom();
 	setBrightPalette();
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 
 	flags[1] = 1;
 
@@ -1785,7 +1785,7 @@
 	curX = -1;
 	objExit = 104;
 	withoutVerb();
-	carga_escoba("57.ald");
+	enterNewRoom(57);
 }
 
 void DrasculaEngine::animation_13_5() {
@@ -1940,7 +1940,7 @@
 		textSurface = extraSurface;
 
 	clearRoom();
-	carga_escoba("102.ald");
+	enterNewRoom(102);
 	activatePendulum();
 }
 
@@ -1996,7 +1996,7 @@
 	objExit = 104;
 	curX = -1;
 	withoutVerb();
-	carga_escoba("58.ald");
+	enterNewRoom(58);
 	hare_se_ve = 1;
 	trackProtagonist = 1;
 	animate("hbp.bin", 14);
@@ -2023,7 +2023,7 @@
 	clearRoom();
 	curX = -1;
 	objExit = 108;
-	carga_escoba("59.ald");
+	enterNewRoom(59);
 	// The room number was originally changed here to "nada.alg",
 	// which is a non-existant file. In reality, this was just a
 	// hack to set the room number to a non-existant one, so that
@@ -2503,7 +2503,7 @@
 	loadPic("aux5.alg", drawSurface3, 1);
 	flags[8] = 1;
 	curX = curX - 4;
-	talk_sinc(_text[_lang][46], "46.als", "4442444244244");
+	talk_sync(_text[_lang][46], "46.als", "4442444244244");
 	withoutVerb();
 }
 

Modified: scummvm/trunk/engines/drascula/drascula.cpp
===================================================================
--- scummvm/trunk/engines/drascula/drascula.cpp	2008-06-04 08:06:04 UTC (rev 32527)
+++ scummvm/trunk/engines/drascula/drascula.cpp	2008-06-04 09:02:23 UTC (rev 32528)
@@ -301,7 +301,7 @@
 		gamePalette[x][1] = dir_lectura[cnt++] / 4;
 		gamePalette[x][2] = dir_lectura[cnt++] / 4;
 	}
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 }
 
 void DrasculaEngine::black() {
@@ -319,10 +319,6 @@
 	setPalette((byte *)&palNegra);
 }
 
-void DrasculaEngine::updatePalette() {
-	setPalette((byte *)&gamePalette);
-}
-
 void DrasculaEngine::setPalette(byte *PalBuf) {
 	byte pal[256 * 4];
 	int i;
@@ -453,11 +449,11 @@
 		trackProtagonist = 1;
 		objExit = 104;
 		if (hay_que_load != 0) {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 		} else {
-			carga_escoba("62.ald");
+			enterNewRoom(62);
 			curX = -20;
 			curY = 56;
 			gotoObject(65, 145);
@@ -467,9 +463,9 @@
 		trackProtagonist = 3;
 		objExit = 162;
 		if (hay_que_load == 0)
-			carga_escoba("14.ald");
+			enterNewRoom(14);
 		else {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 		}
@@ -485,9 +481,9 @@
 		trackProtagonist = 1;
 		objExit = 99;
 		if (hay_que_load == 0)
-			carga_escoba("20.ald");
+			enterNewRoom(20);
 		else {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 		}
@@ -498,12 +494,12 @@
 		addObject(22);
 		objExit = 100;
 		if (hay_que_load == 0) {
-			carga_escoba("21.ald");
+			enterNewRoom(21);
 			trackProtagonist = 0;
 			curX = 235;
 			curY = 164;
 		} else {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 		}
@@ -520,9 +516,9 @@
 		trackProtagonist = 1;
 		objExit = 100;
 		if (hay_que_load == 0) {
-			carga_escoba("45.ald");
+			enterNewRoom(45);
 		} else {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 		}
@@ -533,10 +529,10 @@
 		trackProtagonist = 1;
 		objExit = 104;
 		if (hay_que_load == 0) {
-			carga_escoba("58.ald");
+			enterNewRoom(58);
 			animation_1_6();
 		} else {
-			if (!para_cargar(saveName)) {
+			if (!loadGame(saveName)) {
 				return true;
 			}
 			loadPic("auxdr.alg", drawSurface2, 1);
@@ -743,9 +739,8 @@
 }
 
 void DrasculaEngine::withoutVerb() {
-	int c = 171;
-	if (menuScreen == 1)
-		c = 0;
+	int c = (menuScreen == 1) ? 0 : 171;
+
 	if (currentChapter == 5) {
 		if (takeObject == 1 && pickedObject != 16)
 			addObject(pickedObject);
@@ -759,22 +754,6 @@
 	hasName = 0;
 }
 
-bool DrasculaEngine::para_cargar(char gameName[]) {
-	previousMusic = roomMusic;
-	menuScreen = 0;
-	if (currentChapter != 1)
-		clearRoom();
-	if (!loadGame(gameName))
-		return false;
-	if (currentChapter == 2 || currentChapter == 3 || currentChapter == 5) {
-		//
-	}
-	carga_escoba(currentData);
-	withoutVerb();
-
-	return true;
-}
-
 char *DrasculaEngine::getLine(char *buf, int len) {
 	byte c;
 	char *b;
@@ -808,7 +787,9 @@
 	sscanf(buf, "%s", result);
 }
 
-void DrasculaEngine::carga_escoba(const char *fileName) {
+void DrasculaEngine::enterNewRoom(int index) {
+	char fileName[20];
+	sprintf(fileName, "%d.ald", index);
 	int soc, l, martin = 0, objIsExit = 0;
 	float chiquez = 0, pequegnez = 0;
 	char pant1[20], pant2[20], pant3[20], pant4[20];
@@ -1445,7 +1426,7 @@
 			}
 
 			if (mouseX > 125 && mouseY > 123 && mouseX < 199 && mouseY < 149 && selectionMade == 1) {
-				if (!para_cargar(file))
+				if (!loadGame(file))
 					return false;
 				break;
 			} else if (mouseX > 208 && mouseY > 123 && mouseX < 282 && mouseY < 149 && selectionMade == 1) {
@@ -1851,7 +1832,7 @@
 	memcpy(VGA, AuxBuffDes, 64000);
 	_system->copyRectToScreen((const byte *)VGA, 320, 0, 0, 320, 200);
 	_system->updateScreen();
-	set_dac(cPal);
+	setPalette(cPal);
 	memcpy(AuxBuffLast, AuxBuffDes, 64000);
 	WaitForNext(FPS);
 	while (cnt < NFrames) {
@@ -2033,17 +2014,22 @@
 }
 
 bool DrasculaEngine::loadGame(const char *gameName) {
-	int l, n_ejec2;
+	int l, savedChapter, roomNum = 0;
 	Common::InSaveFile *sav;
 
+	previousMusic = roomMusic;
+	menuScreen = 0;
+	if (currentChapter != 1)
+		clearRoom();
+
 	if (!(sav = _saveFileMan->openForLoading(gameName))) {
 		error("missing savegame file");
 	}
 
-	n_ejec2 = sav->readSint32LE();
-	if (n_ejec2 != currentChapter) {
+	savedChapter = sav->readSint32LE();
+	if (savedChapter != currentChapter) {
 		strcpy(saveName, gameName);
-		currentChapter = n_ejec2 - 1;
+		currentChapter = savedChapter - 1;
 		hay_que_load = 1;
 		return false;
 	}
@@ -2063,6 +2049,9 @@
 	takeObject = sav->readSint32LE();
 	pickedObject = sav->readSint32LE();
 	hay_que_load = 0;
+	sscanf(currentData, "%d.ald", &roomNum);
+	enterNewRoom(roomNum);
+	withoutVerb();
 
 	return true;
 }
@@ -2153,7 +2142,7 @@
 			gamePalette[color][component] = defaultPalette[color][component];
 		}
 	}
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 }
 
 void DrasculaEngine::setBrightPalette() {
@@ -2164,7 +2153,7 @@
 			gamePalette[color][component] = brightPalette[color][component];
 	}
 
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 }
 
 void DrasculaEngine::setDarkPalette() {
@@ -2174,7 +2163,7 @@
 		for (component = 0; component < 3; component++)
 			gamePalette[color][component] = darkPalette[color][component];
 
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 }
 
 void DrasculaEngine::setPaletteBase(int darkness) {
@@ -2188,7 +2177,7 @@
 		}
 	}
 
-	updatePalette();
+	setPalette((byte *)&gamePalette);
 }
 
 void DrasculaEngine::startWalking() {
@@ -2422,7 +2411,7 @@
 }
 
 bool DrasculaEngine::exitRoom(int l) {
-	char roomExit[13];
+	int roomNum = 0;
 
 	if (currentChapter == 1) {
 		if (objectNum[l] == 105 && flags[0] == 0)
@@ -2445,10 +2434,9 @@
 					return true;
 				}
 				clearRoom();
-				strcpy(roomExit, _targetSurface[l]);
-				strcat(roomExit, ".ald");
+				sscanf(_targetSurface[l], "%d", &roomNum);
 				curX = -1;
-				carga_escoba(roomExit);
+				enterNewRoom(roomNum);
 			}
 		}
 	} else if (currentChapter == 2) {
@@ -2477,11 +2465,9 @@
 				addObject(11);
 			}
 			clearRoom();
-
-			strcpy(roomExit, _targetSurface[l]);
-			strcat(roomExit, ".ald");
+			sscanf(_targetSurface[l], "%d", &roomNum);
 			curX =- 1;
-			carga_escoba(roomExit);
+			enterNewRoom(roomNum);
 		}
 	} else if (currentChapter == 3) {
 		updateDoor(l);
@@ -2496,10 +2482,9 @@
 			doBreak = 1;
 			previousMusic = roomMusic;
 			clearRoom();
-			strcpy(roomExit, _targetSurface[l]);
-			strcat(roomExit, ".ald");
+			sscanf(_targetSurface[l], "%d", &roomNum);
 			curX =- 1;
-			carga_escoba(roomExit);
+			enterNewRoom(roomNum);
 		}
 	} else if (currentChapter == 4) {
 		updateDoor(l);
@@ -2517,10 +2502,9 @@
 			if (objectNum[l] == 108)
 				gotoObject(171, 78);
 			clearRoom();
-			strcpy(roomExit, _targetSurface[l]);
-			strcat(roomExit, ".ald");
+			sscanf(_targetSurface[l], "%d", &roomNum);
 			curX = -1;
-			carga_escoba(roomExit);
+			enterNewRoom(roomNum);
 		}
 	} else if (currentChapter == 5) {
 		updateDoor(l);
@@ -2536,10 +2520,9 @@
 			previousMusic = roomMusic;
 			hare_se_ve = 1;
 			clearRoom();
-			strcpy(roomExit, _targetSurface[l]);
-			strcat(roomExit, ".ald");
+			sscanf(_targetSurface[l], "%d", &roomNum);
 			curX = -1;
-			carga_escoba(roomExit);
+			enterNewRoom(roomNum);
 		}
 	} else if (currentChapter == 6) {
 		updateDoor(l);
@@ -2554,10 +2537,9 @@
 			doBreak = 1;
 			previousMusic = roomMusic;
 			clearRoom();
-			strcpy(roomExit, _targetSurface[l]);
-			strcat(roomExit, ".ald");
+			sscanf(_targetSurface[l], "%d", &roomNum);
 			curX = -1;
-			carga_escoba(roomExit);
+			enterNewRoom(roomNum);
 
 			if (objExit == 105)
 				animation_19_6();
@@ -2690,7 +2672,7 @@
 			memcpy(dacSSN, mSession, 768);
 			mSession += 768;
 		}
-		set_dacSSN(dacSSN);
+		setPalette(dacSSN);
 		break;
 	case kFrameEmptyFrame:
 		WaitFrameSSN();
@@ -2789,10 +2771,6 @@
 	return pointer;
 }
 
-void DrasculaEngine::set_dacSSN(byte *PalBuf) {
-	setPalette((byte *)PalBuf);
-}
-
 void DrasculaEngine::Des_OFF(byte *BufferOFF, byte *MiVideoOFF, int Lenght) {
 	int x = 0;
 	unsigned char Reps;
@@ -2867,10 +2845,6 @@
 	return AuxBuffDes;
 }
 
-void DrasculaEngine::set_dac(byte *dac) {
-	setPalette((byte *)dac);
-}
-
 void DrasculaEngine::WaitForNext(int FPS) {
 	_system->delayMillis(1000 / FPS);
 }

Modified: scummvm/trunk/engines/drascula/drascula.h
===================================================================
--- scummvm/trunk/engines/drascula/drascula.h	2008-06-04 08:06:04 UTC (rev 32527)
+++ scummvm/trunk/engines/drascula/drascula.h	2008-06-04 09:02:23 UTC (rev 32528)
@@ -185,7 +185,6 @@
 
 	void setRGB(byte *dir_lectura, int plt);
 	void assignDefaultPalette();
-	void updatePalette();
 	void setPalette(byte *PalBuf);
 	void copyBackground(int xorg, int yorg, int xdes, int ydes, int width,
 				int height, byte *src, byte *dest);
@@ -315,8 +314,7 @@
 	void setDarkPalette();
 
 	void withoutVerb();
-	bool para_cargar(char[]);
-	void carga_escoba(const char *);
+	void enterNewRoom(int);
 	void clearRoom();
 	void gotoObject(int, int);
 	void moveCursor();
@@ -361,7 +359,7 @@
 	void talk_baul(int);
 	void talk(int);
 	void talk(const char *, const char *);
-	void talk_sinc(const char *, const char *, const char *);
+	void talk_sync(const char *, const char *, const char *);
 	void talk_drunk(int);
 	void talk_pianist(int);
 	void talk_wolf(int);
@@ -406,7 +404,6 @@
 	void MixVideo(byte *OldScreen, byte *NewScreen);
 	void Des_RLE(byte *BufferRLE, byte *MiVideoRLE);
 	void Des_OFF(byte *BufferOFF, byte *MiVideoOFF, int Lenght);
-	void set_dacSSN(byte *dacSSN);
 	byte *TryInMem();
 	void EndSSN();
 	int playFrameSSN();
@@ -429,7 +426,6 @@
 	int flag_tv;
 
 	byte *loadPCX(byte *NamePcc);
-	void set_dac(byte *dac);
 	void WaitForNext(int FPS);
 	int getTime();
 	void reduce_hare_chico(int, int, int, int, int, int, int, byte *, byte *);

Modified: scummvm/trunk/engines/drascula/rooms.cpp
===================================================================
--- scummvm/trunk/engines/drascula/rooms.cpp	2008-06-04 08:06:04 UTC (rev 32527)
+++ scummvm/trunk/engines/drascula/rooms.cpp	2008-06-04 09:02:23 UTC (rev 32528)
@@ -99,9 +99,9 @@
 	if (pickedObject == kVerbTalk && fl == 129) {
 		talk(23);
 		pause(6);
-		talk_sinc(_text[_lang][50], "50.als", "11111111111144432554433");
+		talk_sync(_text[_lang][50], "50.als", "11111111111144432554433");
 	} else if (pickedObject == kVerbTalk && fl == 133) {
-		talk_sinc(_text[_lang][322], "322.als", "13333334125433333333");
+		talk_sync(_text[_lang][322], "322.als", "13333334125433333333");
 		updateRoom();
 		updateScreen();
 		pause(25);
@@ -326,7 +326,7 @@
 		talk(336);
 		trackProtagonist = 3;
 		talk(337);
-		talk_sinc(_text[_lang][46], "46.als", "4442444244244");
+		talk_sync(_text[_lang][46], "46.als", "4442444244244");
 		trackProtagonist = 1;
 	} else if (pickedObject == 18 && fl == 188 && flags[26] == 0) {
 		copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface);
@@ -361,7 +361,7 @@
 	else if (pickedObject == kVerbTalk && fl == 183) {
 		talk(341);
 		pause(10);
-		talk_sinc(_text[_lang][50], "50.als", "11111111111144432554433");
+		talk_sync(_text[_lang][50], "50.als", "11111111111144432554433");
 		pause(3);
 		talk_baul(83);
 	} else if (pickedObject == kVerbOpen && fl == 183) {

Modified: scummvm/trunk/engines/drascula/talk.cpp
===================================================================
--- scummvm/trunk/engines/drascula/talk.cpp	2008-06-04 08:06:04 UTC (rev 32527)
+++ scummvm/trunk/engines/drascula/talk.cpp	2008-06-04 09:02:23 UTC (rev 32528)
@@ -901,7 +901,7 @@
 	updateScreen();
 }
 
-void DrasculaEngine::talk_sinc(const char *said, const char *filename, const char *syncChar) {
+void DrasculaEngine::talk_sync(const char *said, const char *filename, const char *syncChar) {
 	int talkOffset = 1;
 	int y_mask_talk = 170;
 	int p, face = 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