aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kparse.cpp
AgeCommit message (Collapse)Author
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
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-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
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.
2011-01-01SCI: debugC calls no longer require a debug level of 2 to show outputFilippos Karapetis
svn-id: r55086
2010-12-28SCI: Fixed script bug #3038870 - "SCI Fanmade - Demo Quest: ScummVM hangs ↵Filippos Karapetis
with typo" and removed a related FIXME svn-id: r55056
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-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-09-02SCI: Added a FIXME for bug #3038870, related to kParse()Filippos Karapetis
svn-id: r52497
2010-07-28SCI: Fix compilation when DEBUG_PARSER is definedMatthew Hoops
svn-id: r51425
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: implement foreign vocabulary supportMartin Kiewitz
not fully working, extended chars do not work currently as input svn-id: r51027
2010-07-18SCI: Fix warningWillem Jan Palenstijn
svn-id: r50988
2010-07-17SCI: fix debugging code of parser, add 0xffe special group into debug supportMartin Kiewitz
svn-id: r50956
2010-06-10Fixed regression from commit #49564Filippos Karapetis
svn-id: r49569
2010-06-10Unified invokeSelector() and invokeSelectorArgv(), and removed the INV_SEL ↵Filippos Karapetis
kludge. Also, removed the selectorInvocation parameter - if invokeSelector() fails, the error is in most cases unrecoverable, and the error description thrown covers all cases where kContinueOnInvalidSelector was used. This uncovered a bug too: in some places, non reg_t parameters were parsed svn-id: r49564
2010-06-10Removed the pointer to the game object from the EngineState classFilippos Karapetis
svn-id: r49562
2010-06-01The parser vocabulary remains static throughout the game, thus it has been ↵Filippos Karapetis
removed from the engine state svn-id: r49373
2010-05-29Mass renaming of selector-related functions, and removed some defines which ↵Filippos Karapetis
were just cloaking functions with a different name - GET_SEL32 -> readSelector - GET_SEL32V -> readSelectorValue - PUT_SEL32 -> writeSelector - PUT_SEL32V -> writeSelectorValue Also, changed some selector-related function names and variables to CamelCase svn-id: r49317
2010-05-26SCI: Making various object and script related things constMax Horn
svn-id: r49246
2010-03-08SCI: Make EngineState parameter to INV_SEL explicitMax Horn
svn-id: r48202
2010-02-05SCI: Add a 'SELECTOR' macroMax Horn
svn-id: r47918
2010-01-30SCI: Remove extra '\n's in debugC messagesWillem Jan Palenstijn
svn-id: r47707
2010-01-29SCI: Move selector stuff to new header; reorder k_argc & k_argp param of ↵Max Horn
invoke_selector svn-id: r47665
2010-01-23kSetSynonyms is really parser related, but it's an empty function in games ↵Filippos Karapetis
without a parser svn-id: r47484
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