aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/parser/vocabulary.cpp
AgeCommit message (Collapse)Author
2019-12-01SCI: Fix Missing Default Switch CasesD G Turner
These are flagged by GCC if -Wswitch-default is enabled.
2019-09-14SCI: Add a sanity check when loading vocab 901 (suffixes)Filippos Karapetis
An invalid access error, uncovered by the Span mechanism. Fixes the QFG2 demo (bug #11147)
2019-04-09SCI: Add parser support for LSL3, SQ3 German Amigasluicebox
Add parser support for multilingual Amiga versions that were released in 1991 and are SCI_VERSION_1_MIDDLE
2017-05-13SCI: Guard against potential stack overflow in vocab word parserColin Snover
2017-05-13SCI: Fix access violation reading Hoyle1 vocabularyColin Snover
The vocab file for this game does not seem to be valid (other utilities like SV cannot parse it either), and this game does not seem to need the parser, so just exit early like the SCI1 branch when unexpectedly running out of bytes in the vocab file. Fixes Trac#9765.
2017-03-30SCI: Update formatting strings to match updated Span APIColin Snover
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2017-02-07SCI: Fix warningsWillem Jan Palenstijn
2017-02-05SCI: Fix more unsafe C-string usageColin Snover
2017-02-05SCI: Use strnlen instead of strlen to avoid buffer overflowsColin Snover
2016-10-28SCI: Fix broken loop count check in checkAltInputsWillem Jan Palenstijn
2016-03-01SCI: Use uint32 instead of unsigned intFilippos Karapetis
2015-05-03SCI: Handle pronouns in parserWillem Jan Palenstijn
When parsing a sentence, its type 0x142 word (presumably the object) is now stored. Any pronouns (type 0x080) are then automatically replaced by this stored word.
2014-10-15SCI: Simplify check for non-alphanumeric characters in the parserFilippos Karapetis
This is also for bug #6608. Many thanks to wjp for his help with this
2014-10-15SCI: Ignore most of the non-alphanumeric characters in the parserFilippos Karapetis
This is a more proper handling of non-alphanumeric characters (e.g. apostrophes) in SCI games with a parser - bug #6608
2014-08-08SCI: Handle 's at the end of words - bug #6608Filippos Karapetis
2014-05-27ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf.Johannes Schickel
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-27SCI: fix negative array access in parseNodesMartin Kiewitz
was used for debug command only CID 1003543
2013-04-17SCI: Remove dead codeWillem Jan Palenstijn
2012-02-20COMMON: Move isFoo functions to namespace Common, add doxygen commentsMax Horn
2012-02-15ALL: Avoid using is* macros from ctype.hMax Horn
On some systems, passing signed chars to macros like isspace() etc. lead to a runtime error. Hence, mark these macros as forbidden by default, and introduce otherwise equivalent alternatives for them.
2011-05-14SCI: Don't do suffix expansions after exact dict matchWillem Jan Palenstijn
This fixes the parsing of "buy healing pills" in QfG2 (bug #3288328). The behaviour is half-confirmed with experimentation in SSCI.
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-02-27SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLYmd5
This renaming allows us to better distinguish that this version is for games that only had an EGA version, and avoid confusion with newer SCI1 game releases with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2, a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2010-12-07SCI: Removed the system strings code and replaced it with a much more ↵Filippos Karapetis
simplified version, thus greatly simplifying handling of system strings svn-id: r54805
2010-11-02SCI: Remove any use of printfMax Horn
svn-id: r54037
2010-11-01GUI: Add GCC_PRINTF to GUI::Debugger::DebugPrintf & fix resulting warningsMax Horn
svn-id: r54007
2010-10-03SCI: Support alternative inputs from vocab 913Willem Jan Palenstijn
This allows the input of accented characters and Japanese using plain ascii in non-English games. svn-id: r53001
2010-10-03SCI: Remove unused functionWillem Jan Palenstijn
svn-id: r52990
2010-10-03SCI: Allow multiple word groups in parserWillem Jan Palenstijn
In SCI01 and up, each typed word may be interpreted as multiple class,group pairs. This patch adds support to the vocabulary and parser. It uses the matcher support added in r52985. This fixes parser issues in German LSL3, but needs testing. svn-id: r52989
2010-10-02SCI: Allow multiple word groups in parse tree leafsWillem Jan Palenstijn
This is to prepare for multilingual SCI versions. In those a single typed word may be parsed to multiple class,group pairs, any of which may match the said specs. The actual parsing is not yet implemented. svn-id: r52985
2010-07-28SCI: Remove SCI01 vocab warning, this behavior is normalMatthew Hoops
svn-id: r51421
2010-07-24SCI: added said spec dump ability to logkernelMartin Kiewitz
svn-id: r51242
2010-07-22SCI: Swap suffix' class_mask result_classWillem Jan Palenstijn
Now 'coldly' is correctly recognized as the adverb form of 'cold', and 'attained' as the adjective form of 'attain'. svn-id: r51166
2010-07-21SCI: Rewrite said spec handling.Willem Jan Palenstijn
We now use a manual parser instead of a bison-generated one, and the new code to match said trees with parse trees matches sierra's more closely. Also change the parse/spec tree nodes to use direct pointers to their child nodes to make it more convenient to manipulate the trees. This has a high potential for regressions. svn-id: r51099
2010-07-19SCI: make sci0 foreign vocabulary also workMartin Kiewitz
makes pq2 load japanese vocabulary too svn-id: r51033
2010-07-19SCI: fix regression of r51027Martin Kiewitz
we have to reset the parser when switching vocabulary svn-id: r51031
2010-07-19SCI: parser now matches extended chars tooMartin Kiewitz
fixes multilingual games not accepting words that contain extended chars (>= 0x80) svn-id: r51029
2010-07-19SCI: implement foreign vocabulary supportMartin Kiewitz
not fully working, extended chars do not work currently as input svn-id: r51027
2010-07-19SCI: fix parser crash on >=0x80 charsMartin Kiewitz
svn-id: r51025
2010-07-19SCI: vocab version change for pq2 japaneseMartin Kiewitz
pq2 japanese only uses sci01 vocabulary and everything else is still like in sci0 - fixes pq2 not accepting any input in parser svn-id: r51024
2010-07-17SCI: adding detection for SCI01 vocab inside a SCI0 game that's using the ↵Martin Kiewitz
SCI0 vocab resource number, fixes pq2 japanese crashing on startup svn-id: r50970
2010-07-17SCI: fix debugging code of parser, add 0xffe special group into debug supportMartin Kiewitz
svn-id: r50956
2010-06-27Cleanup, remove unused/obsolete codeFilippos Karapetis
svn-id: r50403
2010-02-13SCI: Add global g_sci pointer to the active SciEngine instanceMax Horn
svn-id: r48046
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2010-01-23- Moved all of the parser-related variables inside the Vocabulary classFilippos Karapetis
- Moved the kSetSynonyms() function inside kscripts (as it's for script synonyms, not parser word synonyms) - The parser vocabulary is now only initialized for SCI0 and SCI01 games, which had a parser svn-id: r47483
2010-01-23Separated the parser codeFilippos Karapetis
svn-id: r47480