Commit Graph
9244 Commits
Author SHA1 Message Date
sluicebox 71cabc11a6 SCI: Fix memory leak in GfxFontSjis and GfxFontKorean
Coverity CID 1511585
2023-10-18 22:59:58 -07:00
BLooperZ a27f6874d6 SCI: Add detection entries for hebrew fan translations 2023-10-17 09:03:44 -07:00
Ralph Caraveo e9b8394750 SCI: Provide additional errorString context on crash 2023-10-08 08:32:14 +02:00
sluicebox 25a7fc6ab1 SCI: Don't create PRN file in ECO2
Ticket #14640
2023-10-05 13:46:00 -07:00
sluicebox 0ff2062cfa SCI: Update flag debugger for ECO1 floppy 1.1 2023-10-05 13:46:00 -07:00
Ralph Caraveo eeddc6fce2 SCI: Fix crash in Island of Dr. Brain microscope puzzle - bug 14546
When clicking "buy clue" in the microscope puzzle, the game could crash with a division by zero in
cartesian:buyClue, depending on the initialization of the puzzle itself. Because the initialization is
random and non-deterministic, this crash would only occur very rarely
2023-09-30 12:41:28 +03:00
sluicebox e8c7f6f7e8 SCI32: Reuse DrawLists when rendering frames
When converting DrawList to use Common::Array in the previous commit,
I couldn't see a reason to not reuse them in frameOut() and avoid
the extra heap allocations on every frame.
2023-09-30 12:26:46 +03:00
sluicebox b016bcdf70 SCI32: Fix DrawList overflow with a dynamic array
This is an engine limitation that also exists in SSCI,
but it can be exceeded under normal conditions.

Fixes crash at LSL7 pool entrance, bug #14632
2023-09-30 12:26:46 +03:00
D G Turner 7da2765d44 SCI: Fix Signed vs. Unsigned Comparison GCC Compiler Warning 2023-09-29 22:45:31 +01:00
Ralph Caraveo d71a00950e SCI: adds support for debugging/executing kernel calls 2023-09-28 21:03:25 -07:00
sluicebox 2a9439182a SCI32: Fix QFG4 crash on empty import dialog
QFG4 attempts to copy from a null array/string, and this had no effect
in the original interpreter. Now we behave the same.

Update kFileIOOpen to handle the script's subsequent attempt to open a
nameless file.

Fixes bug #14646
2023-09-26 11:31:54 -07:00
Eugene Sandulenko 755086d5f4 SCI: Shut several "unused variable" warnings 2023-09-19 14:50:09 +02:00
sluicebox 3faf0d163b SCI: Fix kMessage crash when message stack is empty
Fixes a crash due to an assertion failure that appeared in Google Play
Console. This would occur if a script somehow called kMessage to get
the next message from the stack before calling kMessage to initialize.

We don't know what game caused this, but I have confirmed that this was
not a fatal error in the original interpreter. I then tested this with
a custom script that calls kMessage in the wrong order.

Now our behavior matches the original and we log a warning.

Fixes bug #14613
2023-09-18 16:16:45 -07:00
sluicebox d2b85bf473 SCI32: Update HOYLE5 Solitaire workarounds for Mac 2023-09-17 15:34:21 -07:00
sluicebox 0de0beb15f SCI32: Update kDoSoundMac32 for HOYLE5 Solitaire 2023-09-17 15:34:20 -07:00
sluicebox c8425b6dff SCI32: Add HOYLE5 Solitaire Mac detection 2023-09-17 15:34:20 -07:00
sluicebox 49da510f80 SCI32: Fix PHANT1 dragon passage lockup
Fixes bug #14568

Thanks to @DustyShinigami for reporting this
2023-09-17 15:34:19 -07:00
Ralph Caraveo 9ed43c6fa5 SCI: Tweak dissassembly for push opcodes
Tweak in scriptdebug.cpp disassembler logic because the new logging wasn't quite working how it was expected.

- These opcodes weren't showing up with their selectors in all scenarios
- Improve output formatting
2023-09-12 13:56:01 +03:00
Ralph Caraveo f2c2453b80 SCI: Improve debugger disassembly selector name context
Show additional selector name context when push0, push1, push2 opcodes are used.

Possible matching selector names are always shown for the debugger disassembly when a `pushi` opcode is encountered. This is great as it gives additional context when push is used for call/send related invocations.

It would be nice to additionally show *possible* matching `selector` methods/properties when `push0`, `push1` or `push2` is encountered because selector names start at 0 so the dissassembly never shows selectors 0 through 2 inclusive.
2023-08-28 23:15:20 +03:00
BLooperZ 17a4318a72 SCI: Add comments regarding usage of SRT subtitles 2023-08-06 14:46:10 +02:00
BLooperZ cf13eb315f SCI: Calculate subtitle position by draw rect 2023-08-06 14:46:10 +02:00
BLooperZ b1420626e6 SCI: Show SRT subtitles on SCI32 videos 2023-08-06 14:46:10 +02:00
BLooperZ 74807eb7a4 SCI: Detect hebrew fan translation of Eco Quest 2023-08-05 09:54:30 +03:00
sluicebox 2c7803d711 SCI32: Fix SQ6 trash can priority 2023-07-28 14:05:24 -07:00
sluicebox fb47444a4e SCI: Add error handling when listing QFG import files 2023-07-22 07:15:13 -07:00
sluicebox 5a9f14cc4e SCI32: Fix kSetShowStyle version checks
Fix version checks and divisions table. Now the early SQ6 demos start.

Fix version typo introduced in e23f5fe855
2023-07-18 11:48:26 -07:00
sluicebox c3f6ccfdca SCI32: Add fixes for early SQ6 demos 2023-07-18 11:48:26 -07:00
sluicebox f16f8c792f SCI32: Fix SQ6 demo inventory crash
Fixes bug #14547
2023-07-18 11:46:38 -07:00
sluicebox 6a83bcbd95 SCI32: Fix SQ6 broken walk icon
Fixes bug #14537

Thanks to @Twixxi691 for reporting this
2023-07-15 12:18:25 -07:00
sluicebox 7cee0a5480 SCI: Update speed test overflow fix for more versions 2023-07-13 16:34:37 -07:00
sluicebox ddb0ef1de5 SCI: Fix overflow in SCI0 speed test script
Fixes a long delay on a black screen at the end of KQ4 introduction.

Thanks to @eriktorbjorn for reporting and reproducing this
2023-07-13 14:56:24 -07:00
Eugene Sandulenko ae288086e7 SCI: Uncomment Shivers2 which now will be detected with a Missing Code message 2023-07-13 15:48:20 +02:00
sluicebox 0243c1f775 SCI: Update LSL5 palette animation patch 2023-07-12 21:57:00 -07:00
Torbjörn Andersson 636e2d341d SCI: Speed up the palette animation for Mr. Bigg's closeup in LSL5
This happens during the first meeting in the LSL5 intro. There is no
consensus on how fast this animation should run, but ScummVM runs it
extremely slow, possibly due to speed throttling. This speeds it up
by updating the animation ever 6th time the doit script is run,
rather than the original every 32nd time.
2023-07-12 21:57:00 -07:00
sluicebox 08b9c26752 SCI: Fix kSetSignalLoop handling in early SCI0 and KQ4
Fixes KQ4 introduction not automatically ending

Thanks to @athrxx for locating the correct behavior in disassembly
Thanks to @eriktorbjorn for reporting this
2023-07-12 08:15:20 -07:00
BLooperZ 435c41a906 SCI: Detect hebrew fan translation of PHANT1 2023-06-22 12:26:26 +03:00
Vladimir Serbinenko f7ca5998a7 SCI: Add Md5 of Another variant of Hebrew Laura Bow 2023-05-26 21:14:02 +02:00
sluicebox 811033288e SCI32: Add compatibility with GK1 CD Italian fan translation
Fixes errors when displaying text and using the Walkman.
2023-05-24 13:49:50 -07:00
Filippos Karapetis a1eed24c22 SCI: More work on the Hoyle 5 poker logic 2023-05-21 23:30:12 +03:00
Kaloyan Chehlarski 5ca776639f AUDIO: Allow adjusting of rate in RateConverter
The RateConverter class has been modified to allow for
variable input and output rates. The optimized code paths
for copy/simple conversions are retained, but have been moved
inside separate functions instead of subclasses. The templatization
of the stereo parameters has been maintained, and is implemented
via the newly-added RateConverter_Impl template class.
Internal variables have been renamed to be more readable. The
flow() function has been renamed to convert(). The drain()
function has been removed, since it was never implemented
or used anywhere.
2023-05-14 22:04:56 +02:00
sluicebox 042693c52a SCI: Resolve TODO about script exports 2023-05-03 15:33:37 -07:00
sluicebox bca426ee5e SCI: Add locals console debugger command
Allows viewing and editing local variables in any loaded script.

This is different from `vm_vars` because vm_vars only operates
on variables in the current execution context.
2023-05-02 14:29:05 -07:00
sluicebox 03af299b6a SCI: Use kMoveCursor in ECO1 Demo
Fixes crash when pressing tab or arrow keys on demo dialog
2023-04-29 23:41:02 -07:00
Miro Kropacek 864bc308ad SCI: Inline reg_t::getOffset() & reg_t::setOffset() 2023-04-29 12:20:58 +02:00
Miro Kropacek d9d087ac3f SCI: Inline getSciVersion() 2023-04-29 12:20:58 +02:00
Miro Kropacek 0a1d1cb29b SCI: Inline Script::offsetIsObject() 2023-04-29 12:20:58 +02:00
sluicebox 036c390478 SCI: Update LSL1 elevator polygon patch
The patch is now only applied to versions with the script bug
2023-04-28 13:39:32 -07:00
sluicebox 0c91983ee9 SCI: Update QFG2 patch notes for saurus freeze
I confirmed that the potential conflict identified in the notes
is not an issue, but added an alternate approach if needed.
2023-04-26 10:13:45 -07:00
sluicebox 6fe44fcbbf SCI: Update ECO1 stayAndHelp script patch
Simplifies the patch
2023-04-24 16:38:15 -07:00
sluicebox 9b6d2314dc SCI: Fix QFG2 visa crash 2023-04-24 15:41:30 -07:00