[Scummvm-cvs-logs] CVS: scummvm/sky compact.cpp,1.38.2.2,1.38.2.3

Joost Peters joostp at users.sourceforge.net
Sat Feb 4 06:09:05 CET 2006


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27228/sky

Modified Files:
      Tag: branch-0-8-0
	compact.cpp 
Log Message:
backport sky.cpt size check


Index: compact.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/compact.cpp,v
retrieving revision 1.38.2.2
retrieving revision 1.38.2.3
diff -u -d -r1.38.2.2 -r1.38.2.3
--- compact.cpp	18 Jan 2006 18:07:35 -0000	1.38.2.2
+++ compact.cpp	4 Feb 2006 14:08:25 -0000	1.38.2.3
@@ -27,6 +27,8 @@
 
 namespace Sky {
 
+#define	SKY_CPT_SIZE	419427	
+	
 #define OFFS(type,item) (((long)(&((type*)0)->item)))
 #define MK32(type,item) OFFS(type, item),0,0,0
 #define MK16(type,item) OFFS(type, item),0
@@ -130,6 +132,12 @@
 	if (fileVersion != 0)
 		error("unknown \"sky.cpt\" version");
 
+	if (SKY_CPT_SIZE != _cptFile->size()) {
+		GUI::MessageDialog dialog("The \"sky.cpt\" file has an incorrect size.\nPlease (re)download it from www.scummvm.org", "OK", NULL);
+		dialog.runModal();
+		error("Incorrect sky.cpt size (%d, expected: %d)", _cptFile->size(), SKY_CPT_SIZE);
+	}
+	
 	// set the necessary data structs up...
 	_numDataLists = _cptFile->readUint16LE();
 	_cptNames	  = (char***)malloc(_numDataLists * sizeof(char**));





More information about the Scummvm-git-logs mailing list