[Scummvm-cvs-logs] SF.net SVN: scummvm: [32652] scummvm/trunk/tools/create_drascula

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Tue Jun 10 23:14:41 CEST 2008


Revision: 32652
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32652&view=rev
Author:   thebluegr
Date:     2008-06-10 14:14:38 -0700 (Tue, 10 Jun 2008)

Log Message:
-----------
Write signed values as signed (the actual contents of drascula.dat remain unchanged)

Modified Paths:
--------------
    scummvm/trunk/tools/create_drascula/create_drascula.cpp
    scummvm/trunk/tools/create_drascula/create_drascula.h

Modified: scummvm/trunk/tools/create_drascula/create_drascula.cpp
===================================================================
--- scummvm/trunk/tools/create_drascula/create_drascula.cpp	2008-06-10 21:07:11 UTC (rev 32651)
+++ scummvm/trunk/tools/create_drascula/create_drascula.cpp	2008-06-10 21:14:38 UTC (rev 32652)
@@ -49,6 +49,10 @@
 	writeByte(fp, (uint8)(value & 0xFF));
 }
 
+void writeSint16BE(FILE *fp, int16 value) {
+	writeUint16BE(fp, (uint16)value);
+}
+
 int main(int argc, char *argv[]) {
 	FILE* outFile;
 	int i, lang;
@@ -69,103 +73,103 @@
 	writeUint16BE(outFile, ARRAYSIZE(charMap));
 	for (i = 0; i < ARRAYSIZE(charMap); i++) {
 		writeByte(outFile, charMap[i].inChar);
-		writeUint16BE(outFile, charMap[i].mappedChar);
+		writeSint16BE(outFile, charMap[i].mappedChar);
 		writeByte(outFile, charMap[i].charType);
 	}
 
 	// Write item locations
 	writeUint16BE(outFile, ARRAYSIZE(itemLocations));
 	for (i = 0; i < ARRAYSIZE(itemLocations); i++) {
-		writeUint16BE(outFile, itemLocations[i].x);
-		writeUint16BE(outFile, itemLocations[i].y);
+		writeSint16BE(outFile, itemLocations[i].x);
+		writeSint16BE(outFile, itemLocations[i].y);
 	}
 
 	// Write x_pol and y_pol
 	writeUint16BE(outFile, ARRAYSIZE(x_pol));
 	for (i = 0; i < ARRAYSIZE(x_pol); i++) {
-		writeUint16BE(outFile, x_pol[i]);
-		writeUint16BE(outFile, y_pol[i]);
+		writeSint16BE(outFile, x_pol[i]);
+		writeSint16BE(outFile, y_pol[i]);
 	}
 
 	// Write verbBarX
 	writeUint16BE(outFile, ARRAYSIZE(verbBarX));
 	for (i = 0; i < ARRAYSIZE(verbBarX); i++) {
-		writeUint16BE(outFile, verbBarX[i]);
+		writeSint16BE(outFile, verbBarX[i]);
 	}
 
 	// Write x1d_menu and y1d_menu
 	writeUint16BE(outFile, ARRAYSIZE(x1d_menu));
 	for (i = 0; i < ARRAYSIZE(x1d_menu); i++) {
-		writeUint16BE(outFile, x1d_menu[i]);
-		writeUint16BE(outFile, y1d_menu[i]);
+		writeSint16BE(outFile, x1d_menu[i]);
+		writeSint16BE(outFile, y1d_menu[i]);
 	}
 
 	// Write frameX
 	writeUint16BE(outFile, ARRAYSIZE(frameX));
 	for (i = 0; i < ARRAYSIZE(frameX); i++) {
-		writeUint16BE(outFile, frameX[i]);
+		writeSint16BE(outFile, frameX[i]);
 	}
 
 	// Write candleX and candleY
 	writeUint16BE(outFile, ARRAYSIZE(candleX));
 	for (i = 0; i < ARRAYSIZE(candleX); i++) {
-		writeUint16BE(outFile, candleX[i]);
-		writeUint16BE(outFile, candleY[i]);
+		writeSint16BE(outFile, candleX[i]);
+		writeSint16BE(outFile, candleY[i]);
 	}
 
 	// Write pianistX
 	writeUint16BE(outFile, ARRAYSIZE(pianistX));
 	for (i = 0; i < ARRAYSIZE(pianistX); i++) {
-		writeUint16BE(outFile, pianistX[i]);
+		writeSint16BE(outFile, pianistX[i]);
 	}
 
 	// Write drunkX
 	writeUint16BE(outFile, ARRAYSIZE(drunkX));
 	for (i = 0; i < ARRAYSIZE(drunkX); i++) {
-		writeUint16BE(outFile, drunkX[i]);
+		writeSint16BE(outFile, drunkX[i]);
 	}
 
 	// Write preupdates
 	writeUint16BE(outFile, ARRAYSIZE(roomPreUpdates));
 
 	for (i = 0; i < ARRAYSIZE(roomPreUpdates); i++) {
-		writeUint16BE(outFile, roomPreUpdates[i].roomNum);
-		writeUint16BE(outFile, roomPreUpdates[i].flag);
-		writeUint16BE(outFile, roomPreUpdates[i].flagValue);
-		writeUint16BE(outFile, roomPreUpdates[i].sourceX);
-		writeUint16BE(outFile, roomPreUpdates[i].sourceY);
-		writeUint16BE(outFile, roomPreUpdates[i].destX);
-		writeUint16BE(outFile, roomPreUpdates[i].destY);
-		writeUint16BE(outFile, roomPreUpdates[i].width);
-		writeUint16BE(outFile, roomPreUpdates[i].height);
-		writeUint16BE(outFile, roomPreUpdates[i].type);
+		writeSint16BE(outFile, roomPreUpdates[i].roomNum);
+		writeSint16BE(outFile, roomPreUpdates[i].flag);
+		writeSint16BE(outFile, roomPreUpdates[i].flagValue);
+		writeSint16BE(outFile, roomPreUpdates[i].sourceX);
+		writeSint16BE(outFile, roomPreUpdates[i].sourceY);
+		writeSint16BE(outFile, roomPreUpdates[i].destX);
+		writeSint16BE(outFile, roomPreUpdates[i].destY);
+		writeSint16BE(outFile, roomPreUpdates[i].width);
+		writeSint16BE(outFile, roomPreUpdates[i].height);
+		writeSint16BE(outFile, roomPreUpdates[i].type);
 	}
 
 	// Write updates
 	writeUint16BE(outFile, ARRAYSIZE(roomUpdates));
 
 	for (i = 0; i < ARRAYSIZE(roomUpdates); i++) {
-		writeUint16BE(outFile, roomUpdates[i].roomNum);
-		writeUint16BE(outFile, roomUpdates[i].flag);
-		writeUint16BE(outFile, roomUpdates[i].flagValue);
-		writeUint16BE(outFile, roomUpdates[i].sourceX);
-		writeUint16BE(outFile, roomUpdates[i].sourceY);
-		writeUint16BE(outFile, roomUpdates[i].destX);
-		writeUint16BE(outFile, roomUpdates[i].destY);
-		writeUint16BE(outFile, roomUpdates[i].width);
-		writeUint16BE(outFile, roomUpdates[i].height);
-		writeUint16BE(outFile, roomUpdates[i].type);
+		writeSint16BE(outFile, roomUpdates[i].roomNum);
+		writeSint16BE(outFile, roomUpdates[i].flag);
+		writeSint16BE(outFile, roomUpdates[i].flagValue);
+		writeSint16BE(outFile, roomUpdates[i].sourceX);
+		writeSint16BE(outFile, roomUpdates[i].sourceY);
+		writeSint16BE(outFile, roomUpdates[i].destX);
+		writeSint16BE(outFile, roomUpdates[i].destY);
+		writeSint16BE(outFile, roomUpdates[i].width);
+		writeSint16BE(outFile, roomUpdates[i].height);
+		writeSint16BE(outFile, roomUpdates[i].type);
 	}
 
 	// Write room actions
 	writeUint16BE(outFile, ARRAYSIZE(roomActions));
 
 	for (i = 0; i < ARRAYSIZE(roomActions); i++) {
-		writeUint16BE(outFile, roomActions[i].room);
-		writeUint16BE(outFile, roomActions[i].chapter);
-		writeUint16BE(outFile, roomActions[i].action);
-		writeUint16BE(outFile, roomActions[i].objectID);
-		writeUint16BE(outFile, roomActions[i].speechID);
+		writeSint16BE(outFile, roomActions[i].room);
+		writeSint16BE(outFile, roomActions[i].chapter);
+		writeSint16BE(outFile, roomActions[i].action);
+		writeSint16BE(outFile, roomActions[i].objectID);
+		writeSint16BE(outFile, roomActions[i].speechID);
 	}
 
 	// langs

Modified: scummvm/trunk/tools/create_drascula/create_drascula.h
===================================================================
--- scummvm/trunk/tools/create_drascula/create_drascula.h	2008-06-10 21:07:11 UTC (rev 32651)
+++ scummvm/trunk/tools/create_drascula/create_drascula.h	2008-06-10 21:14:38 UTC (rev 32652)
@@ -49,6 +49,7 @@
 
 typedef unsigned char   uint8;
 typedef unsigned short uint16;
+typedef signed short int16;
 
 enum Verbs {
 	kVerbDefault = -1,


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