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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Mon Feb 8 17:12:45 CET 2010


Revision: 47991
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47991&view=rev
Author:   peres001
Date:     2010-02-08 16:12:45 +0000 (Mon, 08 Feb 2010)

Log Message:
-----------
The text parser functions can create their temporary buffers on the stack.

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

Modified: scummvm/trunk/engines/drascula/converse.cpp
===================================================================
--- scummvm/trunk/engines/drascula/converse.cpp	2010-02-08 16:12:22 UTC (rev 47990)
+++ scummvm/trunk/engines/drascula/converse.cpp	2010-02-08 16:12:45 UTC (rev 47991)
@@ -145,23 +145,22 @@
 	char sound1[13], sound2[13], sound3[13], sound4[13];
 	int phrase1_bottom, phrase2_bottom, phrase3_bottom, phrase4_bottom;
 	int answer1, answer2, answer3;
-	char buffer[256];
 
 	breakOut = 0;
 
 	selectVerb(kVerbNone);
 
-	getStringFromLine(buffer, size, phrase1);
-	getStringFromLine(buffer, size, phrase2);
-	getStringFromLine(buffer, size, phrase3);
-	getStringFromLine(buffer, size, phrase4);
-	getStringFromLine(buffer, size, sound1);
-	getStringFromLine(buffer, size, sound2);
-	getStringFromLine(buffer, size, sound3);
-	getStringFromLine(buffer, size, sound4);
-	getIntFromLine(buffer, size, &answer1);
-	getIntFromLine(buffer, size, &answer2);
-	getIntFromLine(buffer, size, &answer3);
+	getStringFromLine(size, phrase1);
+	getStringFromLine(size, phrase2);
+	getStringFromLine(size, phrase3);
+	getStringFromLine(size, phrase4);
+	getStringFromLine(size, sound1);
+	getStringFromLine(size, sound2);
+	getStringFromLine(size, sound3);
+	getStringFromLine(size, sound4);
+	getIntFromLine(size, &answer1);
+	getIntFromLine(size, &answer2);
+	getIntFromLine(size, &answer3);
 
 	_arj.close();
 

Modified: scummvm/trunk/engines/drascula/rooms.cpp
===================================================================
--- scummvm/trunk/engines/drascula/rooms.cpp	2010-02-08 16:12:22 UTC (rev 47990)
+++ scummvm/trunk/engines/drascula/rooms.cpp	2010-02-08 16:12:45 UTC (rev 47991)
@@ -1643,7 +1643,6 @@
 	int soc, l, martin = 0, objIsExit = 0;
 	float chiquez = 0, pequegnez = 0;
 	char pant1[20], pant2[20], pant3[20], pant4[20];
-	char buffer[256];
 	int palLevel = 0;
 
 	_hasName = false;
@@ -1656,61 +1655,61 @@
 	}
 	int size = _arj.size();
 
-	getIntFromLine(buffer, size, &roomNumber);
-	getIntFromLine(buffer, size, &roomMusic);
-	getStringFromLine(buffer, size, roomDisk);
-	getIntFromLine(buffer, size, &palLevel);
+	getIntFromLine(size, &roomNumber);
+	getIntFromLine(size, &roomMusic);
+	getStringFromLine(size, roomDisk);
+	getIntFromLine(size, &palLevel);
 
 	if (currentChapter == 2)
-		getIntFromLine(buffer, size, &martin);
+		getIntFromLine(size, &martin);
 
 	if (currentChapter == 2 && martin != 0) {
 		curWidth = martin;
-		getIntFromLine(buffer, size, &curHeight);
-		getIntFromLine(buffer, size, &feetHeight);
-		getIntFromLine(buffer, size, &stepX);
-		getIntFromLine(buffer, size, &stepY);
+		getIntFromLine(size, &curHeight);
+		getIntFromLine(size, &feetHeight);
+		getIntFromLine(size, &stepX);
+		getIntFromLine(size, &stepY);
 
-		getStringFromLine(buffer, size, pant1);
-		getStringFromLine(buffer, size, pant2);
-		getStringFromLine(buffer, size, pant3);
-		getStringFromLine(buffer, size, pant4);
+		getStringFromLine(size, pant1);
+		getStringFromLine(size, pant2);
+		getStringFromLine(size, pant3);
+		getStringFromLine(size, pant4);
 
 		strcpy(menuBackground, pant4);
 	}
 
-	getIntFromLine(buffer, size, &numRoomObjs);
+	getIntFromLine(size, &numRoomObjs);
 
 	for (l = 0; l < numRoomObjs; l++) {
-		getIntFromLine(buffer, size, &objectNum[l]);
-		getStringFromLine(buffer, size, objName[l]);
-		getIntFromLine(buffer, size, &x1[l]);
-		getIntFromLine(buffer, size, &y1[l]);
-		getIntFromLine(buffer, size, &x2[l]);
-		getIntFromLine(buffer, size, &y2[l]);
-		getIntFromLine(buffer, size, &roomObjX[l]);
-		getIntFromLine(buffer, size, &roomObjY[l]);
-		getIntFromLine(buffer, size, &trackObj[l]);
-		getIntFromLine(buffer, size, &visible[l]);
-		getIntFromLine(buffer, size, &isDoor[l]);
+		getIntFromLine(size, &objectNum[l]);
+		getStringFromLine(size, objName[l]);
+		getIntFromLine(size, &x1[l]);
+		getIntFromLine(size, &y1[l]);
+		getIntFromLine(size, &x2[l]);
+		getIntFromLine(size, &y2[l]);
+		getIntFromLine(size, &roomObjX[l]);
+		getIntFromLine(size, &roomObjY[l]);
+		getIntFromLine(size, &trackObj[l]);
+		getIntFromLine(size, &visible[l]);
+		getIntFromLine(size, &isDoor[l]);
 		if (isDoor[l] != 0) {
-			getStringFromLine(buffer, size, _targetSurface[l]);
-			getIntFromLine(buffer, size, &_destX[l]);
-			getIntFromLine(buffer, size, &_destY[l]);
-			getIntFromLine(buffer, size, &trackCharacter_alkeva[l]);
-			getIntFromLine(buffer, size, &roomExits[l]);
+			getStringFromLine(size, _targetSurface[l]);
+			getIntFromLine(size, &_destX[l]);
+			getIntFromLine(size, &_destY[l]);
+			getIntFromLine(size, &trackCharacter_alkeva[l]);
+			getIntFromLine(size, &roomExits[l]);
 			updateDoor(l);
 		}
 	}
 
-	getIntFromLine(buffer, size, &floorX1);
-	getIntFromLine(buffer, size, &floorY1);
-	getIntFromLine(buffer, size, &floorX2);
-	getIntFromLine(buffer, size, &floorY2);
+	getIntFromLine(size, &floorX1);
+	getIntFromLine(size, &floorY1);
+	getIntFromLine(size, &floorX2);
+	getIntFromLine(size, &floorY2);
 
 	if (currentChapter != 2) {
-		getIntFromLine(buffer, size, &upperLimit);
-		getIntFromLine(buffer, size, &lowerLimit);
+		getIntFromLine(size, &upperLimit);
+		getIntFromLine(size, &lowerLimit);
 	}
 	_arj.close();
 


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