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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sun Jun 13 11:07:15 CEST 2010


Revision: 49628
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49628&view=rev
Author:   peres001
Date:     2010-06-13 09:07:15 +0000 (Sun, 13 Jun 2010)

Log Message:
-----------
Added a parser for kZoneNone zones/animations in BRA.

The only thing it does is parsing a possible command list, which is enough to support the script bug in "scende2". See ticket #3005384.

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

Modified: scummvm/trunk/engines/parallaction/parser.h
===================================================================
--- scummvm/trunk/engines/parallaction/parser.h	2010-06-13 08:53:06 UTC (rev 49627)
+++ scummvm/trunk/engines/parallaction/parser.h	2010-06-13 09:07:15 UTC (rev 49628)
@@ -294,6 +294,7 @@
 	virtual void	parseGetData(ZonePtr z);
 	virtual void	parseDoorData(ZonePtr z);
 	virtual void	parseHearData(ZonePtr z);
+	virtual void 	parseNoneData(ZonePtr z);
 protected:
 	void	parseAnswerCounter(Answer *answer);
 	virtual Answer *parseAnswer();

Modified: scummvm/trunk/engines/parallaction/parser_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parser_br.cpp	2010-06-13 08:53:06 UTC (rev 49627)
+++ scummvm/trunk/engines/parallaction/parser_br.cpp	2010-06-13 09:07:15 UTC (rev 49628)
@@ -825,6 +825,16 @@
 	}
 }
 
+void LocationParser_br::parseNoneData(ZonePtr z) {
+	/* the only case we have to handle here is that of "scende2", which is the only Animation with 
+	   a command list following the type marker.
+	*/
+	if (!scumm_stricmp(_tokens[0], "commands")) {
+		parseCommands(z->_commands);
+	} 
+}
+
+
 typedef void (LocationParser_br::*ZoneTypeParser)(ZonePtr);
 static ZoneTypeParser parsers[] = {
 	0,	// no type
@@ -836,7 +846,7 @@
 	&LocationParser_br::parseHearData,
 	0,	// feel
 	&LocationParser_br::parseSpeakData,
-	0,	// none
+	&LocationParser_br::parseNoneData,
 	0,	// trap
 	0,	// you
 	0,	// command
@@ -882,7 +892,6 @@
 //	ctxt.a->_moveTo.z = atoi(_tokens[3]);
 }
 
-
 DECLARE_ANIM_PARSER(endanimation)  {
 	debugC(7, kDebugParser, "ANIM_PARSER(endanimation) ");
 


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