[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