aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/parser_ns.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2009-07-26 08:37:03 +0000
committerNicola Mettifogo2009-07-26 08:37:03 +0000
commit83c86791278146a271d2d7ec0a79963fc8408e63 (patch)
tree2f45f35c3cbfdb2bd7783e91b6e1251162b14cac /engines/parallaction/parser_ns.cpp
parent5870635ba6694807adee8009b7b7b8517b6763d2 (diff)
downloadscummvm-rg350-83c86791278146a271d2d7ec0a79963fc8408e63.tar.gz
scummvm-rg350-83c86791278146a271d2d7ec0a79963fc8408e63.tar.bz2
scummvm-rg350-83c86791278146a271d2d7ec0a79963fc8408e63.zip
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.
svn-id: r42793
Diffstat (limited to 'engines/parallaction/parser_ns.cpp')
-rw-r--r--engines/parallaction/parser_ns.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index 9971828c31..1c06f86bfa 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -1411,24 +1411,25 @@ void LocationParser_ns::parseSpeakData(ZonePtr z) {
}
}
+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 {