diff options
author | Nicola Mettifogo | 2009-07-26 08:37:03 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2009-07-26 08:37:03 +0000 |
commit | 83c86791278146a271d2d7ec0a79963fc8408e63 (patch) | |
tree | 2f45f35c3cbfdb2bd7783e91b6e1251162b14cac /engines/parallaction/parser_ns.cpp | |
parent | 5870635ba6694807adee8009b7b7b8517b6763d2 (diff) | |
download | scummvm-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.cpp | 33 |
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 { |