89 Commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Filippos Karapetis
ee2995fe82 SCI: Don't hook up kDisplay to TTS
kDisplay is used to redraw parts of the UI, so it's not ideal to hook
TTS there, as it keeps spamming sentences that get redrawn in the UI
frequently, such as the intro text and the points in SQ5
2021-12-24 02:57:27 +02:00
Filippos Karapetis
a488bb47e8 SCI: Text to Speech (TTS) functionality for SCI16 (SCI0 - SCI1.1) games
This is based on the work done for GSoC by @taylorzhancher in PR #3256

Highlights:
- TTS has been hooked globally onto places where text is shown
- TTS is currently performed for textboxes and button texts
- TTS stops when text windows are disposed (which enhances the in-game
  experience)
- No game-specific logic has been added
- This hasn't been extensively tested with all SCI16 games yet
- There will be cases that are not handled properly yet
- The TTS functions have been grouped under a SciTTS class
2021-12-24 02:57:27 +02:00
Orgad Shaneh
940c7bfc14 SCI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Willem Jan Palenstijn
2cc67cd29b SCI: Add custom palette mods for SQ3 and LSL2
This adds a devtools script to convert scifx config files from FreeSCI
into C++ code to apply the palette mods.

The actual palette mods are by Matt Hargett, and from FreeSCI.
2020-10-31 11:44:28 +02:00
Walter van Niftrik
22593de73f SCI: Rename font.h/cpp to scifont.h/cpp
This avoids an issue with MSVC where if (non-SCI) "graphics/font.h" is
included through another include file from the SCI engine root, it finds
"sci/graphics/font.h" first and uses that instead.
2020-08-27 14:56:17 +02:00
sluicebox
852e6c2954 SCI: Removed unused GfxPicture::_animationNr 2020-08-02 22:20:48 -07:00
Kawa
ca2209cb5f SCI: Add support for The Dating Pool (#1403) 2018-12-02 22:56:19 +02:00
Colin Snover
8fd19f84c8 SCI: Deduplicate call origin formatting 2016-09-29 19:39:16 -05:00
Colin Snover
3201440d11 SCI: Generalize code for getting information on the current call 2016-09-29 19:39:16 -05:00
Colin Snover
4e1a9be816 SCI32: Remove CoordAdjuster32, at least for the moment
This may come back in the future to deduplicate some gfx code,
but SCI32 had two different inlined ways of doing coordinate
conversions with different rounding methods, so CoordAdjuster32
didn't get used when the graphics system was rewritten.

At the moment, SCI32 code uses the mulru/mulinc methods from
helper.h for scaling up/down coordinates.
2016-08-19 15:23:10 -05:00
Colin Snover
2071196f42 SCI32: Add bitmap segment and remove GC option from hunk segment 2016-08-01 10:37:14 -05:00
Colin Snover
4a637d65c3 SCI32: Enable optional explicit memory management of hunk entries
Bitmaps in ScrollWindow and Robot code are managed by the kernel
and not by game scripts, although they must be able to be
referenced through a reg_t. To prevent incorrect GC of bitmaps
that are in use but not referenced by any game script, explicit
memory management of hunk entries can be enabled.
2016-08-01 10:37:14 -05:00
Martin Kiewitz
062c535d1b SCI: workaround sig pq2/demo:lb+hq1 migrated
- also kDisplay cleanup, removed dummy opcodes
- workarounds should be used instead
- fixed hq1 workaround entry, it seems we are able
   to read vocabulary now
2015-04-19 15:49:43 +02:00
Martin Kiewitz
eff78c4424 SCI: fix Japanese Space Quest 4 (intro + buttons)
At least SQ4 uses #j text prefix as signal for the
interpreter to not use the PC9801 hires font, but
to use the internal low res font instead
2014-11-04 22:01:21 +01:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
619baf67ae SCI: Initialize some members of GfxPaint16 - CID 1010057 2013-05-01 01:51:10 +03:00
Max Horn
51bde6ced5 SCI: Remove a bunch of unused private member variables
All instances uncovered by clang warnings.
2013-04-18 23:50:20 +02:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Filippos Karapetis
2b50824133 SCI: Add setter/getter methods to reg_t's
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
2012-06-18 05:24:06 +03:00
Christoph Mallon
75efdd2d84 JANITORIAL: Replace (x ? false : true) by !(x). 2012-03-13 15:43:36 +01:00
Filippos Karapetis
de6e5c7366 SCI: Fixed script bug #3425276 - "SCI: PQ2: Game crashes when looking at file" 2011-10-19 15:24:45 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Willem Jan Palenstijn
0ff44497c7 SCI: Round left/right edges in bitsShow to even coords
This fixes the vertical black line glitch in the QfG3 start menu (#3293351)
2011-05-01 13:41:06 +02:00
md5
6d05012bda SCI: Fixed bug #3289744 - "Hero Quest 1 demo crashes" 2011-04-29 03:06:15 +03:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Lars Skovlund
40d922206b SCI32: Support for views with 640x400 native resolution
(fixes Wolfgang closeup, room 720)
2011-03-30 21:30:51 +02:00
md5
fe7d2026b1 SCI: Added a comment for the additional code in kDisplay
This extra code that is responsible for changing text placing has been
found in SCI1 middle (i.e. LSL1VGA) and newer games
2011-03-04 14:37:41 +02:00
Willem Jan Palenstijn
a55179177e Revert "SCI: Fixed bug #3039775 - "KQ4: Graphics glitch [...]""
This reverts commit 74e99328ec0fa43074c52b69d21922407153a1aa.
SSCI takes care of this issue in a different manner, which
the next commit emulates.
2011-03-02 23:48:57 +01:00
md5
ba42c6ff7d SCI: Fixed text positioning in the credits screen of Dr. Brain Amiga
The additional text positioning code in kDisplay was added in SCI1
middle, not SCI1 late. Also, did some slight cleanup
2011-03-02 20:07:46 +02:00
md5
74e99328ec SCI: Fixed bug #3039775 - "KQ4: Graphics glitch in the mansion tower" 2011-03-02 10:48:44 +02:00
md5
0d555c497d SCI: Moved hunk pointer handling to the GC, and removed some related workarounds
SCI scripts can contain stale pointers, which are used later on. We now delete
the contents of hunk entries without invalidating the relevant pointers and let
the GC clear the references. Many thanks to waltervn and wjp for all their work
and help on this.
2011-02-28 15:56:03 +02:00
md5
ae88f41596 SCI: Slight cleanup 2011-02-20 12:20:40 +02:00
Filippos Karapetis
cf94a99bb7 SCI: Changed the bShow parameter of GfxText16:Box() into a bool
svn-id: r55179
2011-01-09 00:32:26 +00:00
Filippos Karapetis
4b836d611f SCI: Fixed bug #3037945 - "PQ3 : Graphical Glitch with White Mercedes on Freeway"
svn-id: r54975
2010-12-20 12:21:18 +00:00
Martin Kiewitz
432b7b25d9 SCI: kDrawPic setting _picNotValid on non-front
fixes lsl5 english graphic corruption during taj mahal wakeup, should also fix sq5 1.03 graphic corruption right after scrubbing (bug #3041069)

save for backporting

svn-id: r52911
2010-09-26 15:47:13 +00:00
Martin Kiewitz
512bf22af6 SCI: adding workaround for camelot during ending
fixes bug #3044734
also fixing heap corruption during the ending

svn-id: r52077
2010-08-14 06:05:54 +00:00
Martin Kiewitz
0c7932cc7c SCI: fixing kGraphFillBoxAny implementation
working now like in sierra sci, when using priority/control - fixes pepper adventures in time - no failure screen - bug #3040185
cleanup of GfxPaint16::fillRect

svn-id: r51994
2010-08-11 18:19:58 +00:00
Matthew Hoops
642b03fb44 SCI: Add kDisplay workarounds for the Hero's Quest demo
svn-id: r51742
2010-08-04 17:50:09 +00:00
Matthew Hoops
79bf94c877 SCI: Move kernelShakeScreen to GfxScreen so it can be used in SCI32 (it's used in GK1)
svn-id: r51583
2010-08-01 17:54:48 +00:00
Martin Kiewitz
57136cd86a SCI: implement scaling for kDrawCel
fixes qfg4 demo properly (bug #3034506, previous commit r51304)

svn-id: r51332
2010-07-26 19:25:56 +00:00
Martin Kiewitz
63c945f93a SCI: fix warning and remove duplicate code
svn-id: r51243
2010-07-24 11:59:40 +00:00
Martin Kiewitz
c8cde0735f SCI: adding workaround for sq4 room 391
svn-id: r51238
2010-07-24 07:55:29 +00:00
Martin Kiewitz
20b1d80d59 SCI: adding table for kDisplay workarounds
and removing hardcoded checks, adding another workaround for kGraph(drawLine) in island of dr. brain (also gene explanation chart)
Moving trackOriginAndFindWorkaround() into workarounds.cpp

svn-id: r51209
2010-07-23 14:32:24 +00:00
Martin Kiewitz
0bcc3af422 SCI: adding workaround for sq4/room 391
kDisplay is called with an object as opcode, we simply skip over it

svn-id: r51208
2010-07-23 13:57:45 +00:00
Martin Kiewitz
b8ff75047b SCI: changing adjusting of upscaled hires box coordinates
svn-id: r50593
2010-07-02 09:09:22 +00:00
Max Horn
8db0f726c0 SCI: Rewrap more comments
svn-id: r50500
2010-06-29 14:55:32 +00:00
Max Horn
1027f870a6 SCI: Add some const qualifiers
svn-id: r50499
2010-06-29 14:55:09 +00:00
Martin Kiewitz
41aca44b03 SCI: another commit for adding a workaround for islang room 300 again (although i already commited it already, stupid torturegit)
svn-id: r50330
2010-06-26 16:27:01 +00:00
Filippos Karapetis
784f52a677 Removed the getHunkPointer error - it's valid SCI behavior (e.g. when loading/quitting sometimes, since hunks are not saved). We check for valid hunk pointers anyway, so there's no reason for the warning/error
svn-id: r50279
2010-06-25 17:59:49 +00:00