[Scummvm-cvs-logs] SF.net SVN: scummvm:[42794] scummvm/branches/branch-1-0-0/engines/ parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sun Jul 26 10:37:40 CEST 2009


Revision: 42794
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42794&view=rev
Author:   peres001
Date:     2009-07-26 08:37:40 +0000 (Sun, 26 Jul 2009)

Log Message:
-----------
Backport of r42793: Moved parser functions arrays to file scope, as they were tripping up the obsolete gcc used for the BeOS/Haiku port. If anybody can work out a better solution please apply it, because this makes me sick.

Modified Paths:
--------------
    scummvm/branches/branch-1-0-0/engines/parallaction/parser.h
    scummvm/branches/branch-1-0-0/engines/parallaction/parser_br.cpp
    scummvm/branches/branch-1-0-0/engines/parallaction/parser_ns.cpp

Modified: scummvm/branches/branch-1-0-0/engines/parallaction/parser.h
===================================================================
--- scummvm/branches/branch-1-0-0/engines/parallaction/parser.h	2009-07-26 08:37:03 UTC (rev 42793)
+++ scummvm/branches/branch-1-0-0/engines/parallaction/parser.h	2009-07-26 08:37:40 UTC (rev 42794)
@@ -172,14 +172,14 @@
 	DECLARE_UNQUALIFIED_COMMAND_PARSER(simple);
 	DECLARE_UNQUALIFIED_COMMAND_PARSER(move);
 	DECLARE_UNQUALIFIED_COMMAND_PARSER(endcommands);
-
+public:
 	virtual void parseGetData(ZonePtr z);
 	virtual void parseExamineData(ZonePtr z);
 	virtual void parseDoorData(ZonePtr z);
 	virtual void parseMergeData(ZonePtr z);
 	virtual void parseHearData(ZonePtr z);
 	virtual void parseSpeakData(ZonePtr z);
-
+protected:
 	Common::String	parseComment();
 	Common::String	parseDialogueString();
 	Dialogue	*parseDialogue();
@@ -289,10 +289,12 @@
 	DECLARE_UNQUALIFIED_ANIM_PARSER(endanimation);
 
 	virtual void	parseZoneTypeBlock(ZonePtr z);
-	void			parsePathData(ZonePtr z);
-	void			parseGetData(ZonePtr z);
-	void			parseDoorData(ZonePtr z);
-	void			parseAnswerCounter(Answer *answer);
+public:
+	virtual void	parsePathData(ZonePtr z);
+	virtual void	parseGetData(ZonePtr z);
+	virtual void	parseDoorData(ZonePtr z);
+protected:
+	void	parseAnswerCounter(Answer *answer);
 	virtual Answer *parseAnswer();
 
 public:

Modified: scummvm/branches/branch-1-0-0/engines/parallaction/parser_br.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/parallaction/parser_br.cpp	2009-07-26 08:37:03 UTC (rev 42793)
+++ scummvm/branches/branch-1-0-0/engines/parallaction/parser_br.cpp	2009-07-26 08:37:40 UTC (rev 42794)
@@ -808,26 +808,27 @@
 	}
 }
 
+typedef void (LocationParser_br::*ZoneTypeParser)(ZonePtr);
+static ZoneTypeParser parsers[] = {
+	0,	// no type
+	&LocationParser_br::parseExamineData,
+	&LocationParser_br::parseDoorData,
+	&LocationParser_br::parseGetData,
+	&LocationParser_br::parseMergeData,
+	0,	// taste
+	&LocationParser_br::parseHearData,
+	0,	// feel
+	&LocationParser_br::parseSpeakData,
+	0,	// none
+	0,	// trap
+	0,	// you
+	0,	// command
+	&LocationParser_br::parsePathData,
+	0,	// box
+};
+
 void LocationParser_br::parseZoneTypeBlock(ZonePtr z) {
 	debugC(7, kDebugParser, "parseZoneTypeBlock(name: %s, type: %x)", z->_name, z->_type);
-	typedef void (LocationParser_br::*ZoneTypeParser)(ZonePtr);
-	ZoneTypeParser parsers[] = {
-		0,	// no type
-		&LocationParser_br::parseExamineData,
-		&LocationParser_br::parseDoorData,
-		&LocationParser_br::parseGetData,
-		&LocationParser_br::parseMergeData,
-		0,	// taste
-		&LocationParser_br::parseHearData,
-		0,	// feel
-		&LocationParser_br::parseSpeakData,
-		0,	// none
-		0,	// trap
-		0,	// you
-		0,	// command
-		&LocationParser_br::parsePathData,
-		0,	// box
-	};
 
 	ZoneTypeParser p = parsers[ACTIONTYPE(z)];
 	do {

Modified: scummvm/branches/branch-1-0-0/engines/parallaction/parser_ns.cpp
===================================================================
--- scummvm/branches/branch-1-0-0/engines/parallaction/parser_ns.cpp	2009-07-26 08:37:03 UTC (rev 42793)
+++ scummvm/branches/branch-1-0-0/engines/parallaction/parser_ns.cpp	2009-07-26 08:37:40 UTC (rev 42794)
@@ -1411,24 +1411,25 @@
 	}
 }
 
+typedef void (LocationParser_ns::*ZoneTypeParser)(ZonePtr);
+static ZoneTypeParser parsers[] = {
+	0,	// no type
+	&LocationParser_ns::parseExamineData,
+	&LocationParser_ns::parseDoorData,
+	&LocationParser_ns::parseGetData,
+	&LocationParser_ns::parseMergeData,
+	0,	// taste
+	&LocationParser_ns::parseHearData,
+	0,	// feel
+	&LocationParser_ns::parseSpeakData,
+	0,	// none
+	0,	// trap
+	0,	// you
+	0	// command
+};
+
 void LocationParser_ns::parseZoneTypeBlock(ZonePtr z) {
 	debugC(7, kDebugParser, "parseZoneTypeBlock(name: %s, type: %x)", z->_name, z->_type);
-	typedef void (LocationParser_ns::*ZoneTypeParser)(ZonePtr);
-	ZoneTypeParser parsers[] = {
-		0,	// no type
-		&LocationParser_ns::parseExamineData,
-		&LocationParser_ns::parseDoorData,
-		&LocationParser_ns::parseGetData,
-		&LocationParser_ns::parseMergeData,
-		0,	// taste
-		&LocationParser_ns::parseHearData,
-		0,	// feel
-		&LocationParser_ns::parseSpeakData,
-		0,	// none
-		0,	// trap
-		0,	// you
-		0	// command
-	};
 
 	ZoneTypeParser p = parsers[ACTIONTYPE(z)];
 	do {


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