Commit Graph
27 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
Matthew Hoops 00ff92e9e0 SCI: Remove SCI01 vocab warning, this behavior is normal
svn-id: r51421
2010-07-28 14:34:32 +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 688416ca30 SCI: Swap suffix' class_mask result_class
Now 'coldly' is correctly recognized as the adverb form of 'cold',
and 'attained' as the adjective form of 'attain'.

svn-id: r51166
2010-07-22 21:13:06 +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
Martin Kiewitz f4a5714477 SCI: make sci0 foreign vocabulary also work
makes pq2 load japanese vocabulary too

svn-id: r51033
2010-07-19 16:01:16 +00:00
Martin Kiewitz b7b904f981 SCI: fix regression of r51027
we have to reset the parser when switching vocabulary

svn-id: r51031
2010-07-19 15:30:27 +00:00
Martin Kiewitz cda55fe770 SCI: parser now matches extended chars too
fixes multilingual games not accepting words that contain extended chars (>= 0x80)

svn-id: r51029
2010-07-19 14:50:37 +00:00
Martin Kiewitz 2a0cff5c6d SCI: implement foreign vocabulary support
not fully working, extended chars do not work currently as input

svn-id: r51027
2010-07-19 13:50:06 +00:00
Martin Kiewitz 07009b045e SCI: fix parser crash on >=0x80 chars
svn-id: r51025
2010-07-19 11:41:20 +00:00
Martin Kiewitz 42107e2f5c SCI: vocab version change for pq2 japanese
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-19 10:38:03 +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 bbcf020457 SCI: adding detection for SCI01 vocab inside a SCI0 game that's using the SCI0 vocab resource number, fixes pq2 japanese crashing on startup
svn-id: r50970
2010-07-17 22:11:35 +00:00
Martin Kiewitz 7ac5c3ef4f SCI: added iceman hack to original said.y as well
svn-id: r50959
2010-07-17 12:57:05 +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
Martin Kiewitz e000d28654 SCI: fix debugging code of parser, add 0xffe special group into debug support
svn-id: r50956
2010-07-17 12:06:31 +00:00
Filippos Karapetis 1faebccce2 Cleanup, remove unused/obsolete code
svn-id: r50403
2010-06-27 21:29:35 +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
Martin Kiewitz db74441d55 SCI: fixing crash in _vocab_add_rule when running qfg2 demo
svn-id: r49160
2010-05-23 16:59:09 +00:00
Martin Kiewitz e3297ef2ca SCI: fixing crash in pq2 - not sure about this, lskovlun should take a look at this
svn-id: r49077
2010-05-18 12:34:14 +00:00
Max Horn ac4d325e0d SCI: Add global g_sci pointer to the active SciEngine instance
svn-id: r48046
2010-02-13 17:42:49 +00:00
Max Horn 2c9883773c SCI: Remove unused PARSE_HEAP_SIZE
svn-id: r48043
2010-02-13 11:57:44 +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
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +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