Commit Graph

149349 Commits

Author SHA1 Message Date
Kaloyan Chehlarski
af2ff22907 NANCY: Split data-related records to separate file
Created a new header file for action records that mainly
serve to manipulate data. This is done in preparation for the
addition of SetValue, SetValueCombo, and ValueTest.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski
f5311cfe87 NANCY: Expand TableData struct
From nancy8 on, a new method of writing and evaluating
data started being used. This commit expands the existing
TableData struct to accommodate it.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski
7682560cc7 NANCY: Add detection for nancy10 & 11
The games absolutely will not run yet, but they're useful
to have around so their data can be inspected.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski
a45a521ff5 NANCY: Disambiguate detection entries
Added more rigid entries for some game variants where
the ciftree.dat file is not present inside the cabfiles. Now,
those entries require a second file that can only be found
when the cabs are extracted.
2024-02-07 23:15:23 +01:00
Paul Gilbert
712d6ce6e7 M4: Vera fixes in test 5 2024-02-06 21:57:14 -08:00
Paul Gilbert
78768afb76 M4: Fix exiting basement in test 3 2024-02-06 20:39:44 -08:00
Strangerke
ff3682aae1 EFH: Fix various crashes when exiting in the middle of an interaction 2024-02-07 00:09:15 +01:00
Kaloyan Chehlarski
5b2929ce4d NANCY: Fix kThroughBlack special effects
The transition type that fades to black, and then to the
next scene now no longer gets stuck on a black screen
forever.
2024-02-06 20:32:28 +01:00
Kaloyan Chehlarski
a2f6f38105 NANCY: Fix Overlay crash in nancy7 2024-02-06 20:32:28 +01:00
Kaloyan Chehlarski
dd749d6042 NANCY: Add Bink support to play_video command 2024-02-06 20:32:28 +01:00
Kaloyan Chehlarski
d6016dfbc6 NANCY: Proper fix for nancy7 movie fades
This commit makes changes that ensure the nancy7
dog scare sequence will have the correct fades to black
without impacting other scene transitions. This is achieved
by delaying full-screen movies by exactly one frame.
2024-02-06 20:32:28 +01:00
Kaloyan Chehlarski
d468406f25 Revert "NANCY: Fix fades in nancy7 dog scare sequence"
This reverts commit 1f5a3c64cc.

The changes in this commit break other fades in nancy7.
2024-02-06 20:32:28 +01:00
Kaloyan Chehlarski
66a7fdb58e NANCY: Implement SpigotPuzzle
Implemented the AR responsible for nancy7's spigot puzzle.
2024-02-06 20:32:27 +01:00
Kaloyan Chehlarski
716041603d NANCY: Carry over unshown text to next scene
A couple of scenes in nancy7 draw to the textbox, then
immediately change the scene, which clears said text.
This commit adds a check for whether text was actually
drawn, and if it hasn't, makes sure it is shown in the next
scene. This is behavior not present in the original engine.
2024-02-06 20:32:27 +01:00
Kaloyan Chehlarski
482da55d33 NANCY: Fix drawing of MouseLightPuzzle
Previously, the record worked based on the assumption that
its background will be completely black. This is not the
case in several nancy7 scenes. To support it, an additional
4-byte ARGB pixel format is now allowed in the engine, since
we need to be able to set an alpha value for the surface.
2024-02-06 20:32:27 +01:00
neuromancer
5e855ea2c2 FREESCAPE: make sure _soundFx pointer array is properly deallocated 2024-02-06 08:14:13 +01:00
neuromancer
c58629e17d FREESCAPE: implement PWM sounds from dos release of eclipse 2024-02-06 08:14:13 +01:00
sluicebox
5a12df7b4b SCI32: Fix LIGHTHOUSE uninit variable read on VMD playback
Fixes bug #14924
2024-02-05 22:33:26 -08:00
sluicebox
16ba8872b6 FREESCAPE: Fix MSVC warning
Hopefully fixes github builds
2024-02-05 22:33:26 -08:00
Paul Gilbert
d36ec09657 M4: Fix define for cels byte swapping code 2024-02-05 19:04:49 -08:00
Paul Gilbert
144b4fd1cd M4: Cleaner implementation of BE handling for cels
I don't have a BE system to test this out properly, but in
theory it should be cleaner to do any byte swapping for
loaded resources at load time rather than everywhere the
resource is accessed.

In a few places, such as script execution, it won't be
feasible to track down which bytes are the opcodes and
switch them beforehand. But for others, such as cels,
it should be possible to similar to what I've done here
to ensure the data can be accessed natively afterwards.
2024-02-05 18:58:39 -08:00
Giovanni Cascione
2927be0280 LIBRETRO: add retroarch playlist path retrieving 2024-02-05 23:21:23 +01:00
Giovanni Cascione
fc097c3dbf LIBRETRO: add setLibretroDir 2024-02-05 23:21:01 +01:00
Giovanni Cascione
3d5c3d7afa LIBRETRO: remove THREAD_SWITCH_UPDATE short loop 2024-02-05 23:20:46 +01:00
Giovanni Cascione
cf30fe324f LIBRETRO: refactor and improve audio run loop 2024-02-05 23:20:30 +01:00
Giovanni Cascione
f30910e636 LIBRETRO: fix free audio buffers 2024-02-05 23:20:13 +01:00
neuromancer
f8a9cde697 FREESCAPE: clean up usage of spaces/tab in unlock.cpp 2024-02-05 15:37:11 +01:00
neuromancer
5b791014bb FREESCAPE: more code for dos releases of eclipse 2024-02-05 14:28:36 +01:00
Eugene Sandulenko
ab790486e5
SCUMM: Fix warning
The enum has range restriction, which could lead to an undefined
behavior when using as a variadic parameter. This is indicated
by the following wanring:

  passing an object that undergoes default argument promotion to 'va_start' has undefined behavior

Switching it to 'int' type solves the problem while keeping
the functionality
2024-02-05 12:38:10 +01:00
Eugene Sandulenko
c2fe238f20
FREESCAPE: Remove 'register' variable qualifier 2024-02-05 12:38:10 +01:00
Paul Gilbert
dbc231d6d9 M4: Fixes for playing footstep sounds 2024-02-04 15:50:40 -08:00
Paul Gilbert
e7a0adcae2 M4: Clarifying Digi code for loading and playing footsteps 2024-02-04 14:12:46 -08:00
Kaloyan Chehlarski
c49c10432c NANCY: Respect text end marker
It appears the <e> marker also expects the text
renderer to ignore everything past it. Doing so fixes the
broken string in nancy7 scene 5770.
2024-02-04 16:29:55 +01:00
Kaloyan Chehlarski
1483cb1834 NANCY: Fix switching between item scenes
When inside an item's scene, opening another item's
scene no longer softlocks the game.
2024-02-04 16:29:55 +01:00
Kaloyan Chehlarski
5b15c4c6f0 NANCY: Fix incorrect navigation AR name 2024-02-04 16:29:55 +01:00
Kaloyan Chehlarski
898903f535 NANCY: Fix reading of SetVolume AR 2024-02-04 16:29:55 +01:00
Kaloyan Chehlarski
140a8a209b NANCY: Get rid of PlaySecondaryVideo parameter
Was completely functionless, and multiple channels don't
seem to be used after TVD anyway.
2024-02-04 16:29:55 +01:00
Eugene Sandulenko
5963aeed14
JANITORIAL: Fix code formatting 2024-02-04 10:42:13 +01:00
Paul Gilbert
68127e8fd1 M4: Fix background monitors animation in room 801 2024-02-03 21:26:39 -08:00
Paul Gilbert
9331e68f1c M4: Change field to _wilburMode in room 801 2024-02-03 21:23:35 -08:00
Paul Gilbert
41848a6b91 M4: Fix looking at field/island from the bridge 2024-02-03 20:21:47 -08:00
Paul Gilbert
375ba813a5 M4: Fix using Escape key to abort intro cutscenes 2024-02-03 20:13:12 -08:00
Paul Gilbert
33cfcd0f22 M4: Added anim enum to room 602 2024-02-03 18:43:19 -08:00
athrxx
4958fa03ea SCUMM: (INDY3/MAC) - disable sample interpolation for music
It was meant as a feature, but seems not to be suitable for high notes.
Disabling it improves the playback quality.
2024-02-04 03:18:15 +01:00
athrxx
a680509332 SCUMM: (INDY3/MAC) - add internal 16 bit handling to sound player
(could improve the music slightly, but probably more in
theory than in practice)
2024-02-04 03:18:05 +01:00
Paul Gilbert
0710f13636 M4: Fix hampster wheel crash in test 2 2024-02-03 17:34:37 -08:00
Paul Gilbert
7b0f5dbac3 M4: Fixes for Vera and Burl in the diner 2024-02-03 17:15:34 -08:00
Kaloyan Chehlarski
283dcbb2f5 NANCY: Support nancy7 RippedLetterPuzzle
The puzzle got some changes in nancy7, allowing it to
only rotate 180 degrees or skip rotation entirely, and just
reorder elements instead. Also, a custom pick up graphic
can be used instead of the individual elements; this is used
in the folder reordering puzzle, where a picked up folder
is shown in full.
2024-02-04 01:30:30 +01:00
Kaloyan Chehlarski
fde77e4312 NANCY: Implement custom cursors
Added support for the two (four) custom cursor types.
It's unclear where exactly these get used, but it's most likely
in some puzzles.
2024-02-04 00:32:40 +01:00
Kaloyan Chehlarski
1357331fb0 NANCY: Accurately set sound flags in nancy8
In nancy8 the point at which flags in sounds got moved,
so now the flag is set at the beginning of the sound
instead of at the end.
2024-02-03 22:52:09 +01:00