[Scummvm-cvs-logs] SF.net SVN: scummvm: [25938] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Fri Mar 2 23:34:13 CET 2007


Revision: 25938
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25938&view=rev
Author:   peres001
Date:     2007-03-02 14:34:12 -0800 (Fri, 02 Mar 2007)

Log Message:
-----------
added Script loader routine

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/animation.cpp
    scummvm/trunk/engines/parallaction/disk.cpp
    scummvm/trunk/engines/parallaction/disk.h

Modified: scummvm/trunk/engines/parallaction/animation.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/animation.cpp	2007-03-02 22:26:39 UTC (rev 25937)
+++ scummvm/trunk/engines/parallaction/animation.cpp	2007-03-02 22:34:12 UTC (rev 25938)
@@ -251,22 +251,10 @@
 void Parallaction::loadProgram(Animation *a, char *filename) {
 //	printf("loadProgram(%s)\n", filename);
 
+	// the largest script in Nippon Safes is 3,668 bytes, so 4 kb is well enough
+	char* src = (char*)memAlloc(0x1000);
+	loadScript(filename, src);
 
-	char vC8[PATH_LEN];
-
-	sprintf(vC8, "%s.script", filename);
-
-	if (!_archive.openArchivedFile(vC8))
-		errorFileNotFound(vC8);
-
-	uint32 size = _archive.size();
-	char* src = (char*)memAlloc(size+1);
-
-	_archive.read(src, size);
-	src[size] = '\0';
-
-	_archive.closeArchivedFile();
-
 	_numLocals = 0;
 
 	Script *script = new Script(src);

Modified: scummvm/trunk/engines/parallaction/disk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk.cpp	2007-03-02 22:26:39 UTC (rev 25937)
+++ scummvm/trunk/engines/parallaction/disk.cpp	2007-03-02 22:34:12 UTC (rev 25938)
@@ -89,6 +89,24 @@
 
 }
 
+void loadScript(const char* name, char *script) {
+
+	char vC8[PATH_LEN];
+
+	sprintf(vC8, "%s.script", name);
+
+	if (!_vm->_archive.openArchivedFile(vC8))
+		errorFileNotFound(vC8);
+
+	uint32 size = _vm->_archive.size();
+
+	_vm->_archive.read(script, size);
+	script[size] = '\0';
+
+	_vm->_archive.closeArchivedFile();
+
+}
+
 void loadHead(const char* name, StaticCnv* cnv) {
 
 	char path[PATH_LEN];

Modified: scummvm/trunk/engines/parallaction/disk.h
===================================================================
--- scummvm/trunk/engines/parallaction/disk.h	2007-03-02 22:26:39 UTC (rev 25937)
+++ scummvm/trunk/engines/parallaction/disk.h	2007-03-02 22:34:12 UTC (rev 25938)
@@ -73,6 +73,7 @@
 };
 
 void loadLocation(const char *name, char* script);
+void loadScript(const char* name, char *script);
 void loadTalk(const char *name, Cnv *cnv);
 void loadObjects(const char *name, Cnv *cnv);
 void loadPointer(StaticCnv* cnv);


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