Commit Graph

149349 Commits

Author SHA1 Message Date
Kaloyan Chehlarski
0f4ce35613 NANCY: Add support for nancy8 PianoPuzzle
The puzzle is used for the harmonica item, and adds
two special hover cursors.
2024-02-10 13:27:12 +01:00
Kaloyan Chehlarski
c0a529c763 NANCY: Add sensible default listener on new scene
Whenever a SceneChangeDescription is constructed
manually (e.g. in Conversation), it now has its
listenerFrontVector initialized with the default value
(pointing straight forward).
2024-02-10 13:27:12 +01:00
Kaloyan Chehlarski
b508ea4740 NANCY: Add sensible sound defaults 2024-02-10 13:27:12 +01:00
Kaloyan Chehlarski
477006c8a9 NANCY: Add PopScene() failsafe
When trying to pop an item scene with none pushed,
PopScene will now attempt to pop a regular pushed scene.
2024-02-10 13:27:12 +01:00
Kaloyan Chehlarski
f5aef15d69 NANCY: Allow invalid item ids in some Scene functions
The addItemToInventory() and removeItemFromInventory()
were still using uints, which meant that if they were
somehow called with an id of -1 (which marks an invalid
item), they'd crash the engine. This shouldn't matter for
regular play, but may occur when debugging.
2024-02-10 13:27:11 +01:00
Kaloyan Chehlarski
4558690ec9 NANCY: Implement GoInvViewScene record type
This record goes to an item's associated scene, and
(optionally) adds it to the inventory if it's not already
present in it.
2024-02-10 13:27:11 +01:00
Kaloyan Chehlarski
5683e5f6e6 NANCY: Implement even terser Conversation records
Implemented the ConversationSoundTerse and
ConversationCelTerse action records, which are even
shorter variants of the corresponding Conversation types.
Made changes to the base ConversationSound to reduce
code duplication.
2024-02-10 13:27:11 +01:00
Christian Krause
a04bb51bf5 ICB: compile fix for GCC 14
- cast const away to allow modification (as intended according to
  existing comments)
2024-02-10 12:17:39 +01:00
Torbjörn Andersson
e14e571ec1 GUI: Hopefully fix download dialog regression
I don't know how to test this, but appendComponent() returns a new path,
so use that instead of assuming it added things to the existing path. I
discussed this with lephilousophe before committing.
2024-02-10 10:43:04 +01:00
Torbjörn Andersson
d4c91352eb GRIM: Fix .ogv player regression... sort of
After discussing with lephilousophe, the .ogv player (used by the
remastered version of Grim Fandango) once again finds the movie it's
looking for. Unfortunately, the player doesn't work at all for me,
making the game less playable than before. But it's how 2.8 behaves, so
there's that.
2024-02-10 10:35:37 +01:00
Paul Gilbert
b9b305844f M4: Fix crash pressing Gizmo green button 2024-02-09 20:02:45 -08:00
Paul Gilbert
dae8fa2b97 M4: Fixes for slipping on kibble 2024-02-09 19:32:15 -08:00
antoniou79
7ec6f59d22 M4: Remove unwanted call to unload() for a sound 2024-02-09 18:21:29 -08:00
antoniou79
e81e01c3ca M4: Fix speech cue sequence using the kibble
This was tested in the demo, but it looks like it should be the same case for game proper

It looks like a typo in the assignment of the _G(wilbur_should) global var, made the engine/script only play the first speech cue and then do a different action
(which also used to cause a crash https://bugs.scummvm.org/ticket/14948)

The game when played in DosBox, plays the speech cues and returns control to the player.

However, as of yet, there are two issues I could find with this speech sequence:
1. Sometimes the "hmmm" idle animation of Wilbur will interfere while the speech cues are playing (in between them I think) and then Wilbur will get stuck (soft lock)
without the engine giving control back to the player. An assumption here is that due to the engine currently not playing the speech animation for Wilbur, which may be could "block"
the idle animation from kicking in(?).
2. The sfx (a "crunch" sound) (600_008) and first speech cue (602w012) when using the kibble only plays the first time. Subsequenct uses do not produce the sfx sound (but the speech plays). On DosBox the sfx plays in subsequent uses.
2024-02-09 18:21:29 -08:00
Scott Percival
48333ad9fa
DIRECTOR: Fix return value of b_power
Fixes the puzzle minigame in Astrid Lindgren's Pippi.
2024-02-10 09:10:31 +08:00
Walter Agazzi
d68b8354d5 AGS: Update blackwell1, add detection for new games 2024-02-10 02:09:42 +01:00
Einar Johan Trøan Sømåen
539acd02ce
DIRECTOR: Add detection for Cyberfalsk 2024-02-10 00:08:17 +01:00
athrxx
5751362d1c SCUMM: (INDY3/MAC) - minor lq music fix 2024-02-09 21:37:58 +01:00
Eugene Sandulenko
94f6298eec
SCUMM: MOONBASE: Partial fix for distortion effect
Now, the pitch is computed correctly, still, the displacement
is too big and looks inverted.
2024-02-09 21:07:40 +01:00
athrxx
7d48995d44 SCUMM: (INDY3/MAC) - add launcher option for lq music
(just attaching the alread existing option)
2024-02-09 20:54:52 +01:00
athrxx
569bb43b06 SCUMM: (INDY3/MAC) - change music default back to auto
(which always seems to result in high quality in ScummVM,
since we never fail the scripted speed test)
2024-02-09 19:24:23 +01:00
Torbjörn Andersson
18ff31bc92 COMMON: Flag some Path functions as WARN_UNUSED_RESULT
This would have caught the recent Hopkins regression. It also warns
about a few other things at the moment, so that has to be looked into at
some point.
2024-02-09 18:54:54 +01:00
athrxx
0ad2ebc9c4 SCUMM: (INDY4/MAC) - minor fix 2024-02-09 16:06:00 +01:00
athrxx
0df5112bb0 SCUMM: (INDY3/MAC) - add support for low quality music 2024-02-09 15:58:27 +01:00
Scott Percival
ea07939c1b DIRECTOR: Fix Channel::setClean resetting the same video
Fixes introductory movies in The Dark Eye.
2024-02-09 21:17:57 +08:00
Scott Percival
b163dba86d DIRECTOR: Add CD loading delay quirk
Spaceship Warlock is optimised for very slow disk reads; quite a lot of
movie changes will be preceded by a music cue and a still image, knowing
that the system will take a couple of seconds to read the next file.

As a compromise, add a fake delay of [file size]*1000/150000 ms to movie
switches. This can be short-circuited by clicking the mouse, so it is
still possible to navigate around quickly.
2024-02-09 21:17:57 +08:00
Scott Percival
d3ffe66fe5 DIRECTOR: Fix handling of relative path markers
It is possible to use relative path syntax (e.g. multiple colons in Mac
path syntax, . or .. in Windows path syntax) to move up the directory
tree in relation to the current path. Because resolvePath() works from a
fixed base, we have to rectify any paths with relative markers so they
become an absolute path, which is then resolved in the usual way.

Fixes entering the bridge for the Asteroid or Terra missions in
Spaceship Warlock; both of these movies need to jump to a movie
named BBalcView in a different folder, and without rectification it will
select BBalcView in the current (WARLOCKSHIP) folder which is used for
the first mission only.
2024-02-09 21:17:57 +08:00
Scott Percival
e03afb0a45 DIRECTOR: Allow calls to b_label with integer argument
Fixes the story playback mode in Astrid Lindgren's Pippi.
2024-02-09 21:17:57 +08:00
Scott Percival
2efa99bda9 DIRECTOR: Cap palette cycling framerate to _fpsLimit 2024-02-09 21:17:57 +08:00
Scott Percival
6c6565bbe5 DIRECTOR: Clear cast ID in D2 when sprite is a shape
Fixes various graphical artifacts, e.g. movie ENG:J11@230
of Spaceship Warlock having a big steam cloud in the top-left instead of
the left-turn hotspot, the Invictus logo in Over-Ring-Under having a
large white box to the right of the text.
2024-02-09 21:17:57 +08:00
Scott Percival
67562eaded DIRECTOR: Prevent repeats in DirectorSound::playExternalSound
This should give the same behaviour as DirectorSound::playCastMember.

Fixes sounds playing twice if the animation takes too long in Spaceship
Warlock (e.g. the hovertaxi landing in the demo).
2024-02-09 21:17:57 +08:00
Scott Percival
10b2abcd9b DIRECTOR: Fix MacArchive::getFileSize() 2024-02-09 21:17:57 +08:00
Paul Gilbert
40923700b5 M4: Don't add money to inventory in demo 2024-02-08 20:35:12 -08:00
Paul Gilbert
656582619a M4: Fix crash eating kibble in demo 2024-02-08 20:27:43 -08:00
Paul Gilbert
b5165741df M4: Fix duplications putting wire on phone cord 2024-02-08 19:42:41 -08:00
Paul Gilbert
716fbe707f M4: Fix duplicated Wilbur when giving collar to Vipe 2024-02-08 19:20:59 -08:00
Kaloyan Chehlarski
ff39bce6ea NANCY: Implement drawing Autotext marks
Marks are the special symbols introduced in nancy8,
and are used in the task list to mark done/not done tasks
using a checkmark graphic.
2024-02-08 23:12:33 +01:00
Kaloyan Chehlarski
80d351969d NANCY: Implement TextScroll and AutotextEntryList
Added support for the record types that replaced the bare
Autotext, and combined it with a PeepholePuzzle. This
necessitates some ugly, diamond-shaped multiple
inheritance, but the original engine's solution of replacing
the current record with a different type one at runtime
is even uglier. Also, made changes to Autotext to correctly
support LIFO ordering.
2024-02-08 23:12:14 +01:00
Kaloyan Chehlarski
b51cb98d42 NANCY: Read MARK chunk
Added a struct corresponding to the MARK boot chunk,
which contains the source rects for the autotext markings
introduced in nancy8 (and used in the journal).
2024-02-08 23:12:14 +01:00
Kaloyan Chehlarski
0b8e43f65f NANCY: Implement jornal-editing action records
Implemented the AddListEntry, DeleteListEntry, and
MarkListEntry action records. These are responsible for
modifying the list of autotext strings for each autotext
surface. Also, the JournalData struct now includes data
for entry marking. The last change breaks compatibility
with nancy6+ saves.
2024-02-08 23:12:14 +01:00
Torbjörn Andersson
3705880357 HOPKINS: Fix loadMusic() regression
We tried to open the base filename, without the .MOD or .TWA extension,
since append() returns the new filename, rather than appending in place.
2024-02-08 21:53:25 +01:00
Torbjörn Andersson
2e3f4619fb JANITORIA: Remove redundant semicolons 2024-02-08 21:20:02 +01:00
Paul Gilbert
97397d7049 M4: Fix disappearing fan & chain in test 4 2024-02-07 21:44:19 -08:00
Paul Gilbert
20913b2e11 M4: Fix entering townhall after Elmo loses island 2024-02-07 21:08:04 -08:00
Paul Gilbert
3bb079bc2d M4: Add term_message for mine room entrances 2024-02-07 18:45:58 -08:00
Paul Gilbert
657a684415 M4: Add guard against moving to invalid rooms in mine 2024-02-07 18:38:34 -08:00
Paul Gilbert
5ac50d8154 M4: Fix looking at TV in test 4 2024-02-07 18:11:15 -08:00
Kaloyan Chehlarski
8745a64dfc NANCY: Implement ValueTest
Implemented the record type responsible for actually
checking the values inside TableData.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski
a8dcc387a4 NANCY: Implement SetValueCombo
Implemented the action record type that computes a
sum of values, each one with an attached percentage
weight. The values themselves can be either supplied
verbatim, or extracted from the TableData struct.
This was implemented in nancy8, but only started getting
used in nancy9.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski
1369449374 NANCY: Implement SetValue
Added support for the simplest of the data access action
records. This simply sets or adds to a value inside the
TableData struct.
2024-02-07 23:15:23 +01:00