Commit Graph
58 Commits
Author SHA1 Message Date
Zvika 060e339972 SCI: Hebrew parser: Support 'vav' conjunctive 2022-05-10 16:27:05 +03:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 940c7bfc14 SCI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Eugene Sandulenko 5e7fe2dc57 JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Filippos Karapetis bd7e708fc3 SCI: Move resource related functionality into a separate folder 2020-11-29 14:34:55 +02:00
Zvika Haramaty 7fdc931088 SCI: Hebrew - add prefix rule (second letter is Yud) 2020-08-25 17:49:48 -07:00
Zvika Haramaty 19323836c9 SCI: Hebrew - add prefix rules
Added verb prefix rules required for SQ3 Hebrew translation.
Removed the suffix rules, since they are now added with a vocab.901 file
2020-08-05 13:07:38 -07:00
Zvika 9f10fbcfc1 SCI: Hebrew SQ3 - fixed rejects 2020-05-25 03:21:59 +03:00
Zvika Haramaty 6ab0cb78e0 SCI: Improve vm_hooks ; Support Hebrew SQ3
- vm_hooks: fully support 'call*'
- make required changes to support Hebrew SQ3 (which is still a WIP
project)
2020-05-25 03:21:59 +03:00
D G Turner d11c61db14 SCI: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-01 05:06:31 +00:00
Filippos Karapetis 6accd633b8 SCI: Add a sanity check when loading vocab 901 (suffixes)
An invalid access error, uncovered by the Span mechanism. Fixes the
QFG2 demo (bug #11147)
2019-09-14 20:53:10 +03:00
sluicebox bc2ab79261 SCI: Add parser support for LSL3, SQ3 German Amiga
Add parser support for multilingual Amiga versions that were released
in 1991 and are SCI_VERSION_1_MIDDLE
2019-04-09 20:50:28 +03:00
Colin Snover dec12f5b6d SCI: Guard against potential stack overflow in vocab word parser 2017-05-13 23:45:59 -05:00
Colin Snover 444b11b1bb SCI: Fix access violation reading Hoyle1 vocabulary
The vocab file for this game does not seem to be valid (other
utilities like SV cannot parse it either), and this game does not
seem to need the parser, so just exit early like the SCI1 branch
when unexpectedly running out of bytes in the vocab file.

Fixes Trac#9765.
2017-05-13 23:45:59 -05:00
Colin Snover a233696212 SCI: Update formatting strings to match updated Span API 2017-03-30 14:23:41 -05:00
Colin Snover 31daa956d6 SCI: Implement bounds-checked reads of game resources 2017-03-27 19:42:31 -05:00
Willem Jan Palenstijn 2f4f130918 SCI: Fix warnings 2017-02-07 21:45:17 +01:00
Colin Snover 10d97ce379 SCI: Fix more unsafe C-string usage 2017-02-05 12:38:21 -06:00
Colin Snover b1c3332fdd SCI: Use strnlen instead of strlen to avoid buffer overflows 2017-02-05 10:24:02 -06:00
Willem Jan Palenstijn ebf173b9ce SCI: Fix broken loop count check in checkAltInputs 2016-10-28 21:40:14 +02:00
Filippos Karapetis cdbd7c8add SCI: Use uint32 instead of unsigned int 2016-03-01 01:12:58 +02:00
Willem Jan Palenstijn 3d0c691694 SCI: Handle pronouns in parser
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.
2015-05-03 17:21:07 +02:00
Filippos Karapetis 740d1620f2 SCI: Simplify check for non-alphanumeric characters in the parser
This is also for bug #6608. Many thanks to wjp for his help with this
2014-10-15 19:44:03 +03:00
Filippos Karapetis e6d1337e11 SCI: Ignore most of the non-alphanumeric characters in the parser
This is a more proper handling of non-alphanumeric characters (e.g.
apostrophes) in SCI games with a parser - bug #6608
2014-10-15 18:51:14 +03:00
Filippos Karapetis e11fe13620 SCI: Handle 's at the end of words - bug #6608 2014-08-08 03:59:02 +03:00
Johannes Schickel daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Martin Kiewitz 3f116d98bc SCI: fix negative array access in parseNodes
was used for debug command only
CID 1003543
2014-01-27 22:27:21 +01:00
Willem Jan Palenstijn b1534913c1 SCI: Remove dead code 2013-04-17 23:49:08 +02:00
Max Horn 4f8665fc83 COMMON: Move isFoo functions to namespace Common, add doxygen comments 2012-02-20 16:18:27 +01:00
Max Horn 658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Willem Jan Palenstijn 0788493015 SCI: Don't do suffix expansions after exact dict match
This fixes the parsing of "buy healing pills" in QfG2 (bug #3288328).
The behaviour is half-confirmed with experimentation in SSCI.
2011-05-14 18:08:20 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
md5 72f65b3946 SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY
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-02-27 16:48:53 +02: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 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
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 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