Commit Graph
10 Commits
Author SHA1 Message Date
Matthew Hoops 07b67fe44b SCI: Fix using the parser in SCI Fan Games
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-28 19:03:49 +00:00
Martin Kiewitz d49d1d60fe SCI: added said spec dump ability to logkernel
svn-id: r51242
2010-07-24 11:51:09 +00:00
Willem Jan Palenstijn 198986b25b SCI: Add more parser test cases
svn-id: r51167
2010-07-22 21:16:36 +00:00
Willem Jan Palenstijn a97d8875f5 SCI: Rewrite said spec handling.
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-21 19:59:33 +00:00
Willem Jan Palenstijn 1e72d48867 SCI: Work on optional expressions in said rules.
This fixes a number of said specs in Iceman, but has a good
chance of introducing regressions since it's fairly invasive.
It also removes the need for the hack in r50958.

svn-id: r50992
2010-07-18 13:31:23 +00:00
Martin Kiewitz e9ed821953 SCI: add hack for iceman to skip [!*] in kSaid, fixes green board / depth affirmative not recognized
svn-id: r50958
2010-07-17 12:46:57 +00:00
Filippos Karapetis 9c92bd1b81 The parser vocabulary remains static throughout the game, thus it has been removed from the engine state
svn-id: r49373
2010-06-01 15:11:20 +00:00
Max Horn b90acf431b SCI: Update said.y to match changes made to said.cpp; regenerate said.cpp using 'bison -l -o said.cpp said.y'
svn-id: r48033
2010-02-10 16:47:53 +00:00
Filippos Karapetis 722233fd0d - Moved all of the parser-related variables inside the Vocabulary class
- 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-23 19:10:56 +00:00
Filippos Karapetis df149e1509 Separated the parser code
svn-id: r47480
2010-01-23 17:55:54 +00:00