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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Tue Feb 20 10:10:22 CET 2007


Revision: 25737
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25737&view=rev
Author:   peres001
Date:     2007-02-20 01:10:21 -0800 (Tue, 20 Feb 2007)

Log Message:
-----------
animation scripts are now parsed through the same pipeline used for location scripts. Thus, animation scripts are now cached instead of being read line by line.

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

Modified: scummvm/trunk/engines/parallaction/animation.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/animation.cpp	2007-02-20 03:06:42 UTC (rev 25736)
+++ scummvm/trunk/engines/parallaction/animation.cpp	2007-02-20 09:10:21 UTC (rev 25737)
@@ -259,9 +259,21 @@
 	ArchivedFile *file = openArchivedFile(vC8);
 	if (!file) errorFileNotFound(vC8);
 
+	uint32 size = getArchivedFileLength(vC8);
+	char* src = (char*)memAlloc(size+1);
+
+	readArchivedFile(file, src, size);
+	src[size] = '\0';
+
+	closeArchivedFile(file);
+
 	_numLocals = 0;
-	scriptFillBuffers(file);
 
+	LocScript *script = new LocScript(src);
+//	scriptFillBuffers(file);
+
+	fillBuffers(*script);
+
 	a->_program = (Program*)memAlloc(sizeof(Program));
 	memset(a->_program, 0, sizeof(Program));
 	a->_program->_locals = (LocalVariable*)memAlloc(sizeof(LocalVariable)*10);
@@ -278,7 +290,8 @@
 
 		vCC = (Instruction*)memAlloc(sizeof(Instruction));
 		memset(vCC, 0, sizeof(Instruction));
-		scriptFillBuffers(file);
+		fillBuffers(*script);
+		//	scriptFillBuffers(file);
 	}
 
 	vCC->_index = INST_END;
@@ -286,8 +299,6 @@
 
 	a->_program->_ip = (Instruction*)a->_program->_node._next;
 
-	closeArchivedFile(file);
-
 	return;
 }
 

Modified: scummvm/trunk/engines/parallaction/parser.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parser.cpp	2007-02-20 03:06:42 UTC (rev 25736)
+++ scummvm/trunk/engines/parallaction/parser.cpp	2007-02-20 09:10:21 UTC (rev 25737)
@@ -221,8 +221,8 @@
 
 	return fillTokens(line);
 }
-*/
 
+
 //	FIXME
 //	this function does the same Job as fillBuffers, except that
 //	it gets input from an ArchivedFile instead of a memory buffer
@@ -243,5 +243,5 @@
 
 	return fillTokens(line);
 }
-
+*/
 } // namespace Parallaction

Modified: scummvm/trunk/engines/parallaction/parser.h
===================================================================
--- scummvm/trunk/engines/parallaction/parser.h	2007-02-20 03:06:42 UTC (rev 25736)
+++ scummvm/trunk/engines/parallaction/parser.h	2007-02-20 09:10:21 UTC (rev 25737)
@@ -36,8 +36,8 @@
 uint16 fillBuffers(Common::SeekableReadStream &stream, bool errorOnEOF = false);
 char   *parseNextToken(char *s, char *tok, uint16 count, const char *brk);
 
-uint16  tableFillBuffers(Common::SeekableReadStream &stream);
-uint16	scriptFillBuffers(ArchivedFile *file);
+//uint16  tableFillBuffers(Common::SeekableReadStream &stream);
+//uint16	scriptFillBuffers(ArchivedFile *file);
 
 
 extern char _tokens[][40];


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