aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/parser
AgeCommit message (Collapse)Author
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-08-08SCI: Code formatting fixesFilippos 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-25SCI: Fix (unlikely) memory leakWillem Jan Palenstijn
2013-04-17SCI: Remove dead codeWillem Jan Palenstijn
2012-02-21Merge pull request #182 from fingolfin/forbid-ctypeWillem Jan Palenstijn
ALL: Avoid using is* macros from ctype.h
2012-02-20COMMON: Move isFoo functions to namespace Common, add doxygen commentsMax Horn
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
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-08-07JANITORIAL: Remove trailing empty lines.Christoph Mallon
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
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-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-29JANITORIAL: Remove/comment unused varsdhewg
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-08SCI: Remove unused argument to saidWillem Jan Palenstijn
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-26SCI: Silence a gcc warningMatthew Hoops
svn-id: r55043
2010-12-24SCI: Now saving/loading the list of synonyms (set by kSetSynonyms), like ↵Filippos Karapetis
SSCI did This is a more correct way of fixing bug #3037618 than in rev #55017. - Changed replaceant/replacement to be uint16's (they're very small positive values, usually smaller than 4096) - Changed SynonymList to an Array (so that it can be saved/loaded) - Removed the PQ2 script patch to Game::replay() - Added savegame history svn-id: r55032
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: Fix memleakWillem Jan Palenstijn
svn-id: r52986
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-10-02SCI: Fix typo in testcaseWillem Jan Palenstijn
svn-id: r52984
2010-07-28SCI: Fix using the parser in SCI Fan GamesMatthew Hoops
Get a pointer to the said spec instead of copying to a buffer. The fan games use a said spec with size < 64. Also, make said() take a const pointer as the spec cannot change. Thanks to waltervn and wjp. svn-id: r51432
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: Add more parser test casesWillem Jan Palenstijn
svn-id: r51167
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