Commit graph

188 commits

Author SHA1 Message Date
sluicebox
1961f162d5 SCI32: Implement MOTHERGOOSE custom Mac saving 2020-05-05 14:49:11 -07:00
sluicebox
12d37a352b SCI32: Implement KQ7/SHIVERS custom Mac saving
Implements the custom Mac save and restore kPlatform subops
for KQ7 and Shivers. Still TODO: Mothergoose and Lighthouse.
2020-04-19 23:46:13 -07:00
Filippos Karapetis
ff044aa431 SCI: Move the GK2 subtitle patch dialog inside the SciEngine class
This is now grouped together with the other GUI messages. The script
patcher class itself does not need to handle such logic
2020-02-09 23:27:11 +02:00
sluicebox
7079f01044 SCI32: Stub out and document kPlatformMac32 subops 2020-01-30 17:14:06 -08: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
sluicebox
9f71bcab74 SCI32: Return correct KPlatform32 value on Mac
Fixes GK1 Mac intro and other slideshow movies
2019-10-24 14:36:17 -07:00
sluicebox
511e5441e3 SCI32: Enable Mac code (remove ENABLE_SCI32_MAC) 2019-10-11 14:18:26 -07:00
Filippos Karapetis
e086ac376e SCI32: Some initial work on the Hoyle 5 poker logic
The game can be entered now, but there's only some dummy logic in place
to get it working
2019-10-08 01:36:43 +03:00
D G Turner
0e258cafd4 SCI: Fix GCC Compilation Error from Missing Format String 2019-07-24 19:43:26 +01:00
Le Philousophe
96103179af SCI: Fix build when SCI32 isn't enabled 2019-07-08 10:15:09 +03:00
Filippos Karapetis
49a6346966 SCI32: Add stub for the Hoyle 5 Poker game logic 2019-07-07 22:26:03 +03:00
Kawa
9aadb27267 SCI: Add some more SCI11+ features
Also gate them behind the presence of a 184.VOC resource instead of GID_CATDATE. This should not matter with regards to the remap effects -- the 2015 and 2016 demos had none, and the first that did has an unknown release status. Only the 2017 demo would fall, which would be easily fixed by dropping in a valid 184.VOC patch file.
2019-06-23 01:46:53 +03:00
sluicebox
0008fab4f5 SCI: Fix Mac icon bar crash on restart (KQ6, FPFP)
Add support for reinitializing the mac icon bar when restarting.
Restarting runs the game's init script which calls KPlatform again.
Prior to this, restarting these games would fail an assertion.
2019-03-25 11:42:54 +02:00
Lars Skovlund
b94ef3dab0 SCI: Rename kRestartGame to kRestartGame16 2019-01-05 22:25:31 +02:00
Kawa
ca2209cb5f SCI: Add support for The Dating Pool (#1403) 2018-12-02 22:56:19 +02:00
Filippos Karapetis
ef841f615e SCI32: Always start in the Bridge room in Hoyle 5 Bridge
It's the only game included, so there's no point showing the game
selection menu in this case. This follows the behavior of the original
2018-10-23 01:32:26 +03:00
Filippos Karapetis
16aab5b281 SCI32: Add handling for config settings used in Hoyle 5 2018-08-21 03:36:06 +03:00
Filippos Karapetis
89785ea804 SCI32: Add stub for kWinDLL - used in Hoyle 5 2018-08-21 03:36:06 +03:00
Colin Snover
743082ac8c SCI32: Disable all SCI32 Mac code
This code is currently untestable and is almost certainly at least
partly based on guesswork & not actual reverse-engineering (as was
the case for all other pre-2015 SCI32 code), so future developers
interested in adding SCI32 Mac support should use it only as an
intermediate reference rather than as known good code.
2017-09-24 22:56:59 -05:00
Colin Snover
b0b1e89abe SCI32: Hide warning about CD-ROM speed setting in kGetSierraProfileInt
In the DOS interpreters, this function is a no-op. Lighthouse calls
it regardless of platform, so dummy it out for non-Windows
platforms. This is not known to address any particular issue, and
is really just to eliminate the warning about an unknown
configuration setting when starting Lighthouse in a manner that is
compatible with the original interpreter.
2017-09-19 19:54:29 -05:00
Colin Snover
f200cc110f SCI32: Send correct color depth to Phant2
This is not known to fix any particular issue, but the game does
set some flags internally if it's running in 256-color Windows,
which is possibly undesirable since we do run 16-bit videos
regardless.
2017-09-09 23:29:57 -05:00
Torbjörn Andersson
70a2ca8b7d JANITORIAL: Silence more GCC 7 warnings
All these fall through were marked as deliberate, so again I've only
changed the comment to silence GCC.
2017-08-06 13:30:51 +02:00
Colin Snover
f88bcb3ee9 SCI32: Add deflang (default language) kGetConfig key for MGDX 2017-07-24 19:36:32 -05:00
Colin Snover
03ba3e41f9 SCI32: Return CD speed in kPlatform
This fixes missing playback of some videos in Rama, like the
background video that plays when selecting an email at the
computer at the start of the game.
2017-05-31 22:03:13 -05:00
Colin Snover
63a87ac1f7 SCI32: Fix return value of kWebConnect
On macOS, the return code from OSystem::openUrl was the opposite
of what it was supposed to be; it is now fixed, so this caller
needs to be fixed too.
2017-05-21 19:37:42 -05:00
Colin Snover
14a521a211 SCI32: Fix kPlatform operation for SCI2 through SCI2.1early
Fixes Trac#9795.
2017-05-20 21:14:18 -05:00
Colin Snover
3b34f17fb3 SCI32: Add kWebConnect and kWinExec
Used by Phant2.
2017-03-30 19:46:27 -05:00
Colin Snover
02540b8d38 SCI32: Add support for kPrintDebug 2016-09-29 19:39:16 -05:00
Filippos Karapetis
f238ed18ec SCI: Fix compilation when SCI32 is not enabled 2016-08-23 01:48:06 +03:00
Filippos Karapetis
ba8d6f6c03 SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32
This was left in the SCI16 code in commit 80d9182554
2016-08-22 19:56:06 +03:00
Filippos Karapetis
39307d1f4d SCI: Return the correct platform in kPlatform for Mac versions 2016-08-22 19:48:56 +03:00
Colin Snover
7da359755d SCI32: Split kPlatform for SCI32 2016-08-19 13:57:40 -05:00
Colin Snover
ef2c44bf1f SCI32: Implement kShowMovie 2016-08-12 09:28:46 -05:00
Colin Snover
31f344079f SCI32: Temporarily revert kShowMovie due to buildbot failures
Revert "SCI32: Fix KQ7 1.51 video background"

This reverts commit c8affb54cc.

Revert "SCI32: Fix crash when kShowMovie is called but the video cannot be found"

This reverts commit 93b06f4a9e.

Revert "SCI32: Fix KQ7 1.51 basic video playback"

This reverts commit cdab24aa07.

Revert "SCI32: Additional Video32 documentation"

This reverts commit 4ff0924e57.

Revert "SCI32: Implement kShowMovie"

This reverts commit 13297c1929.
2016-08-11 21:43:57 -05:00
Colin Snover
13297c1929 SCI32: Implement kShowMovie 2016-08-11 20:50:33 -05:00
Omer Mor
7c19e26610 SCI: Add detection to the Hoyle 5 family of games
Added games are:
  Hoyle Classic Games
  Hoyle Bridge
  Hoyle Children's Collection
  Hoyle Solitaire (CD and Hard Drive versions)

Additionaly, kGetConfig was modified to support two settings used by
these games: "laptop" and "jumpto".
2016-07-25 22:44:11 +03:00
Colin Snover
593560e876 SCI32: Add detection for Hoyle 5 demo 2016-07-11 13:02:27 -05:00
Willem Jan Palenstijn
08f1727b08 SCI: Improve kernel subfunction logging
ExecStack now stores the kernel call number as well as the subfunction.
This allows kStub and backtraces to log the actual subfunction called.

The kernel call number in ExecStack used to be stored in the
debugSelector field. It now has its own field, to avoid confusion.
2016-07-02 21:25:53 +02:00
Omer Mor
36c7e7d252 SCI: Fixed KGetTime with SYSDATE subop in SCI0-LATE.
SSCI implementation of the SYSDATE subop of the GetTime kernel function was
changed between SCI0-LATE and SCI01: The base year used was changed from 1920 to
1980.
This subop is used in "Codename: Iceman" (Say "ask for date" to a passing girl
on the beach).

The Atari ST version of "Codename: Iceman" use the 1980 base year.
The Amiga version of "Codename: Iceman" appears to return the time instead of
date, with 0 for the YEAR part.
2016-06-27 08:16:58 +03:00
Martin Kiewitz
050ec1ef31 SCI: Make kMemory behavior like original SCI
We added 1 to the size as a workaround, but it's not really a
workaround, because original SCI allocated at least 2 bytes more.
They also made sure the size is even. We now do the same.
2016-02-08 21:12:37 +01:00
Martin Kiewitz
0aa9924df1 SCI: add user option for high resolution graphics
Instead of choosing Windows as platform, users can now also simply
click this option for Gabriel Knight 1 + King's Quest 6
Defaults to high resolution graphics
2016-01-22 02:01:28 +01:00
Colin Snover
76bd2eeb2e SCI: Use tick-based timing more consistently
This means tick-based times are saved to save games, as in SCI32
engine, instead of seconds, which are not accurate enough. It
also means places in SCI engine that need to access game ticks
should do so through g_sci instead of g_system or g_engine.
2016-01-14 16:13:22 -06:00
Martin Kiewitz
0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
2015-12-29 01:44:11 +01:00
Martin Kiewitz
058fc2327f SCI: fix kGetTime, fixes bug #6605
current year part wasn't calculated properly
2014-06-01 19:58:23 +02:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis
5a47afea9e SCI: Move kGetWindowsOption together with the other misc kernel functions 2012-07-03 18:11:41 +03: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
Filippos Karapetis
0a3fb38bc7 SCI: Add handling of two more configuration settings for LSL7 2012-06-14 12:20:37 +03:00
Filippos Karapetis
93024c073b SCI: Handle the torindebug config setting for Torin's Passage French
Thanks to LePhilousophe for testing and providing a patch
2012-06-13 12:27:02 +03:00
Filippos Karapetis
15306bc554 SCI: Return the default value for unknown configuration settings
Based on a patch by LePhilousophe
2012-06-11 21:17:19 +03:00