144767 Commits

Author SHA1 Message Date
Cameron Cawley
d71d4c2d36 SWORD25: Add support for opaque blending modes 2023-08-26 01:26:55 +02:00
Cameron Cawley
54423ab73d SURFACESDL: Move the AspectRatio class into the graphics manager class 2023-08-26 01:25:51 +02:00
Misty De Meo
9433836fc1 DIRECTOR: handle void argument to soundBusy
Horror Tour 2 occasionally calls this with one void argument. It looks
like a bug in the original game, but one that original Director doesn't
crash on.
2023-08-26 01:25:17 +02:00
AndywinXp
cdb924151b SCUMM: HE (Sound): Reimplement 3DO music support
Heh, I forgot to do that :-)
2023-08-26 00:38:30 +02:00
eientei
ff94d2a56d PINK: Add detection for German pink demo 2023-08-26 00:56:25 +03:00
AndywinXp
e462e4a004 SCUMM: HE (Sound): Don't remove sound from heap if it's an override of a spooled sound 2023-08-25 22:07:40 +02:00
AndywinXp
390f7ecc0a SCUMM: HE (Sound): Add more debug information 2023-08-25 22:07:06 +02:00
AndywinXp
952e309e91 SCUMM: HE (Sound): Remove loop size assertion
This was in the original code for technical reasons regarding
how the original mixer did its job. We don't need it here. Bye!
2023-08-25 21:29:47 +02:00
Kaloyan Chehlarski
c9c784c2fa NANCY: Clear textbox on every scene change
The previous design, where the textbox kept its contents
unless it was explicitly cleared, was probably a leftover
from the early days of the engine, though I honestly can't
remember.
2023-08-25 20:32:06 +03:00
Kaloyan Chehlarski
3850da2c92 NANCY: Implement TextboxClear action record 2023-08-25 20:32:06 +03:00
Kaloyan Chehlarski
dac3378729 NANCY: Implement HotMultiframeMultisceneCursorTypeSceneChange
Implemented action record type which selects a scene based
on the item the player is currently holding. Yes, that's the
actual name the original devs used.
2023-08-25 20:32:06 +03:00
Kaloyan Chehlarski
31f90a3015 NANCY: Implement EventFlagsCursorHS record type 2023-08-25 20:32:06 +03:00
Kaloyan Chehlarski
9754cc9b33 NANCY: Implement font id token in text
Added logic for the <f#> token introduced in nancy5,
which selects which font to use when rendering the string.

Rewrote the hypertext handling to use StringTokenizer.
This makes the addition of new tokens much easier, while
also ensuring unimplemented tokens no longer crash the
engine.
2023-08-25 20:32:06 +03:00
Misty De Meo
8ade383e6a
DIRECTOR: misc xlib handles missing file 2023-08-25 09:43:15 -07:00
Walter Agazzi
b1279dcbd1 AGS: Fix possible index out of bounds in PalRender plugin
From upstream 3e25fc6a550b471f472af80ac87966f8998d7fc7
Originally reported by mjunix@8b8a597
2023-08-25 16:47:21 +02:00
Walter Agazzi
2a255da048 AGS: Engine: Fix possible index out of bounds in SetBlender
From upstream 0f8e385d23f419e2faed7465d871c0260eda1a1c
Originally reported by mjunix@74037c7
2023-08-25 16:41:57 +02:00
athrxx
a25b068b6a SCUMM: (SCUMM4-6) - fix actor turning direction
This is the same thing that already got fixed for v1-3. Turns
out that the code for v4-6 is exactly the same.
2023-08-25 13:38:56 +02:00
athrxx
c23d43bc16 KYRA: fix some Coverity warnings 2023-08-25 13:37:49 +02:00
Kaloyan Chehlarski
f6157c5301 NANCY: Correctly render type 2 AVF frames 2023-08-25 14:19:47 +03:00
Kaloyan Chehlarski
21ccd1d783 NANCY: Properly handle empty video frames
Fixed support for empty video frames in AVF type 2 videos.
This makes all AVF videos properly seekable.
2023-08-25 14:19:47 +03:00
Kaloyan Chehlarski
6303a5b0b7 NANCY: Implement PlayDigiSoundCC record type
Added support for PlayDigiSoundCC, which plays a sound
file and displays text in the textbox. First introduced in nancy5.
2023-08-25 14:19:47 +03:00
antoniou79
59ac590df2 PINK: Don't use references to Strings in initModule
initModule calls removeModule() which results to wiping out the current _module object

This would previously result to String references no longer refering to valid Strings. This should fix the issue with segmentation fault
during the game intro when selecting New Game (and the glitch of replaying that intro video on top of itself).
2023-08-25 13:01:00 +03:00
Misty De Meo
7eb19ad3bc
DIRECTOR: fix misc xlib finding movies
The only examples of this being used are for looking up movies.
findMoviePath will handle a file extension mismatch, which happens in
a D5 game that specifies a .DIR filename when the file on disc is .DXR.
2023-08-24 20:47:42 -07:00
Misty De Meo
111ebfd2a0
DIRECTOR: add willywabbitmath 2023-08-24 20:47:42 -07:00
neuromancer
69638ccb4d FREESCAPE: simplified entrance code for eclipse 2023-08-24 22:53:26 +02:00
neuromancer
45dace5e80 FREESCAPE: fix area transitions for some dark areas 2023-08-24 22:53:26 +02:00
Miro Kropacek
17f0941878 GRAPHICS: Fix compilation of blit-atari.cpp 2023-08-24 22:42:04 +02:00
Orgad Shaneh
406960afeb AUDIO: Use inline member initialization in SoundHandle 2023-08-24 21:02:22 +03:00
Kaloyan Chehlarski
a5b1143fc6 NANCY: Add workaround for broken video
Added a workaround for a broken nancy3 video file which
would otherwise crash the engine.
2023-08-24 12:47:51 +03:00
Kaloyan Chehlarski
bc12fbf01c NANCY: Implement PianoPuzzle
Implemented nancy3's PianoPuzzle action record. Since the
record is extremely similar to OrderingPuzzle, the latter's
implementation was extended to cover both record types.
2023-08-24 12:47:50 +03:00
Kaloyan Chehlarski
452e259281 NANCY: Implement kRandom dependency type
Implemented the random dependency type, which evaluates
to true or false based on random chance.
2023-08-24 12:47:50 +03:00
Kaloyan Chehlarski
0ec7f97605 NANCY: Add getters for sound rate and volume 2023-08-24 12:47:50 +03:00
Kaloyan Chehlarski
4c5d0d2299 NANCY: Silence warnings
Fixed several small issues that caused compiler and/or
Coverity warnings.
2023-08-24 12:47:50 +03:00
Antoniou Athanasios
21e2ca475a I18N: Update translation (Greek)
Currently translated at 100.0% (1977 of 1977 strings)
2023-08-24 09:05:33 +00:00
Orgad Shaneh
6d434028a1 SCUMM: HE: Fix initialization of mixer channels
Detected by GCC 13:
mixer_he.cpp:278:15: warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct Scumm::HEMixer::HEMixerChannel'; use assignment or value-initialization instead [-Wclass-memaccess]
  278 |         memset(_mixerChannels, 0, sizeof(_mixerChannels));
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2023-08-23 22:35:27 +02:00
Kaloyan Chehlarski
83b3d3a91b NANCY: Implement cel caching in ConversationCel
Added facilities for preloading and caching individual cels
in ConversationCel. This makes use of the new
DeferredLoader.
2023-08-23 12:15:06 +03:00
Kaloyan Chehlarski
911a542b12 NANCY: Implement frame caching for AVF video
Added a frame cache to AVF videos, which allows for
preloading of frames using the new DeferredLoader class.
2023-08-23 12:15:06 +03:00
Kaloyan Chehlarski
e761b5ae25 NANCY: Implement deferred loading for RaycastPuzzle
Added facilities for deferred loading of data that would take
far too long for a single frame. Deferred loading is
executed after the regular loop, where the system would
previously just sleep. Added deferred loading to RaycastPuzzle, which now no longer freezes the game
while initializing.
2023-08-23 12:15:06 +03:00
ScummVM-Translations
e803547fb4 I18N: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
2023-08-22 22:55:14 +00:00
Thierry Crozat
c949acb387 DOC: Add description for the Discord integration setting 2023-08-22 23:54:36 +01:00
ScummVM-Translations
65d661cb94 I18N: Update translations templates 2023-08-22 22:37:22 +00:00
Lars Sundström
baf59da8d0 LURE: Improve top menu handling for touch based systems
The top menu bar was problematic to control on touch based systems
since the default behaviour for taps is to send button down and up
events on taps. Make the top menu work in this case as well by
closing the menu only when the user have made a decision.
2023-08-22 23:37:11 +01:00
Thierry Crozat
309eda6913 LURE: Use kFeatureTouchscreen instead of LURE_CLICKABLE_MENUS define 2023-08-22 23:37:11 +01:00
Thierry Crozat
ef7c881416 OSYSTEM: Add kFeatureTouchscreen to identify backends with a touchscreen 2023-08-22 23:37:11 +01:00
Thierry Crozat
5b35830ea1 NANCY: Fix 'expected unqualified-id' compilation error
'or', 'and', and 'not' are keywords in C++ (they are alternatives
to ||, && and ! respectively) and thus should not be used as
variable names.
2023-08-22 23:31:17 +01:00
athrxx
b36c487112 SCUMM: fix bug no. 14582
(pathfinding doesn't match original)

This does not address the (allegedly) wrong actor turning direction.
2023-08-22 20:27:48 +02:00
Kaloyan Chehlarski
4a3e074b7d NANCY: Do not apply 3D effects to inappropriate sounds
Added a missing check without which some sounds that
weren't marked as 3D would still get positioned in space.
2023-08-22 21:08:17 +03:00
Kaloyan Chehlarski
2deb31503a NANCY: Add sound_info console command
Added a console command that displays info about
currently playing channels.
2023-08-22 21:08:17 +03:00
Kaloyan Chehlarski
67188041d7 NANCY: Pause all sounds in GMM and console
Fixes an issue where some sounds would still play even
when the GMM or console were open.
2023-08-22 21:08:17 +03:00
AndywinXp
67cdc309b0 SCUMM: HE (Sound): Fix HE60 sound-running opcode for MIDI sound 2023-08-22 16:35:21 +02:00