Matthew Hoops
1bbe49dba9
SCI: Silence a gcc warning
...
svn-id: r55043
2010-12-26 14:56:51 +00:00
Filippos Karapetis
9af30a2546
SCI: Now saving/loading the list of synonyms (set by kSetSynonyms), like 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-24 14:47:47 +00:00
Filippos Karapetis
de2ef2edc0
SCI: Removed the system strings code and replaced it with a much more simplified version, thus greatly simplifying handling of system strings
...
svn-id: r54805
2010-12-07 00:47:05 +00:00
Max Horn
ba3e826872
SCI: Remove any use of printf
...
svn-id: r54037
2010-11-02 09:49:47 +00:00
Max Horn
a984fb17c2
GUI: Add GCC_PRINTF to GUI::Debugger::DebugPrintf & fix resulting warnings
...
svn-id: r54007
2010-11-01 16:03:35 +00:00
Willem Jan Palenstijn
11d9f1ec54
SCI: Support alternative inputs from vocab 913
...
This allows the input of accented characters and Japanese using plain ascii
in non-English games.
svn-id: r53001
2010-10-03 20:58:50 +00:00
Willem Jan Palenstijn
73310fe237
SCI: Remove unused function
...
svn-id: r52990
2010-10-03 10:49:58 +00:00
Willem Jan Palenstijn
f98536eef5
SCI: Allow multiple word groups in parser
...
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-03 10:49:42 +00:00
Willem Jan Palenstijn
a6839d5ffd
SCI: Fix memleak
...
svn-id: r52986
2010-10-02 23:17:19 +00:00
Willem Jan Palenstijn
ab46bf0f61
SCI: Allow multiple word groups in parse tree leafs
...
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-02 23:17:03 +00:00
Willem Jan Palenstijn
4a9f2204c4
SCI: Fix typo in testcase
...
svn-id: r52984
2010-10-02 22:11:51 +00:00
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