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
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
Filippos Karapetis
a816a27928
SCI: Added a FIXME for bug #3038870 , related to kParse()
...
svn-id: r52497
2010-09-02 13:50:49 +00:00
Matthew Hoops
3f5958af78
SCI: Fix compilation when DEBUG_PARSER is defined
...
svn-id: r51425
2010-07-28 16:00:13 +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
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
Willem Jan Palenstijn
f36eb7e2ed
SCI: Fix warning
...
svn-id: r50988
2010-07-18 12:26:22 +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
944b511633
Fixed regression from commit #49564
...
svn-id: r49569
2010-06-10 11:35:15 +00:00
Filippos Karapetis
cc6f5eb3e4
Unified invokeSelector() and invokeSelectorArgv(), and removed the INV_SEL 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-10 09:22:30 +00:00
Filippos Karapetis
0ab7c908bb
Removed the pointer to the game object from the EngineState class
...
svn-id: r49562
2010-06-10 08:11:38 +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
Filippos Karapetis
67de5b1bd3
Mass renaming of selector-related functions, and removed some defines which 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-29 23:37:15 +00:00
Max Horn
0197e9f6a1
SCI: Making various object and script related things const
...
svn-id: r49246
2010-05-26 16:30:10 +00:00
Max Horn
38bf3d0d3c
SCI: Make EngineState parameter to INV_SEL explicit
...
svn-id: r48202
2010-03-08 21:54:07 +00:00
Max Horn
f86618f92b
SCI: Add a 'SELECTOR' macro
...
svn-id: r47918
2010-02-05 22:55:18 +00:00
Willem Jan Palenstijn
06bd17ee71
SCI: Remove extra '\n's in debugC messages
...
svn-id: r47707
2010-01-30 11:59:05 +00:00
Max Horn
4ffec28103
SCI: Move selector stuff to new header; reorder k_argc & k_argp param of invoke_selector
...
svn-id: r47665
2010-01-29 11:03:54 +00:00
Filippos Karapetis
dcbcb41855
kSetSynonyms is really parser related, but it's an empty function in games without a parser
...
svn-id: r47484
2010-01-23 20:27:14 +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