Commit Graph
137148 Commits
Author SHA1 Message Date
Coen Rampen 8c4c80d844 AUDIO: Add determineDataSize to XMIDI parser
This is needed for Simon 2.
2022-05-09 17:19:42 +02:00
Coen Rampen 1f19bf2d31 AGOS: Improve sound pausing and volume management
MIDI music is now paused by pausing the parser(s) instead of relying on the
mixer streams to stop providing callbacks. This gives more consistent behavior
as external MIDI devices or softsynths now also pause playback.

Muting sound now sets the volume to 0 instead of pausing playback.
2022-05-09 17:19:42 +02:00
Coen Rampen 7b3949aed6 AGOS: Improve Simon 1 MIDI code
The MIDI code now supports mixed MIDI mode for the DOS floppy version of
Simon 1. The code for loading the various MIDI formats has been simplified.
2022-05-09 17:19:42 +02:00
Coen Rampen d37681a729 AGOS: Update Simon 1 AdLib drivers
This updates the Simon 1 DOS AdLib driver and adds an AdLib driver for Windows.

The DOS driver now has OPL3 support, which eliminates the note cut off that
frequently occurs on an OPL2. It also allows for some limited use of stereo.
The driver now plays the floppy SFX accurately compared to the original
interpreter. It also implements multisource functionality, allowing for
separate volume control for music and SFX for the floppy version.

The Windows driver just maps the MT-32 instruments of the Simon 1 MIDI data to
the equivalent GM instruments.
2022-05-09 17:19:42 +02:00
Coen Rampen 1f0e905160 AGOS: Add MIDI parsers for GMF and Windows
This commit adds MIDI parser subclasses for the Simon 1 GMF format and for the
SMF variant used by the Windows versions of Simon 1 and 2.

The GMF format was handled by the SMF parser, which can now be removed from
that class. It also fixes the tempos not matching the DOS interpreter.

The Simon Windows SMF variant was handled in the AGOS midi class. Moving it to
a separate parser allows for some cleaner code in that class. It now also
corrects the tempos to match those of the DOS interpreter.
2022-05-09 17:19:41 +02:00
Coen Rampen 734817597b AUDIO: Add rhythm mode support to AdLib MS driver
This adds support for the OPL rhythm mode to the AdLib multisource MIDI driver.
Some games (f.e. Simon 1) use this to generate the rhythm sounds of their music.
2022-05-09 17:19:41 +02:00
Paul Gilbert d00106fc6e DEVTOOLS: Initial commit of new create_engine tool 2022-05-08 21:11:41 -07:00
Paul Gilbert 1607b2530b AGS: Fixed script errors when non-obligatory callbacks are missing
From upstream 29aaa19d712c3edf5701c648833283011c2f7298
2022-05-08 11:37:49 -07:00
Paul Gilbert a123a7473f AGS: Updated build version (3.6.0.25)
From upstream 7e426edb3530e9d89120f614c33e52ddf13881d9
2022-05-08 11:37:49 -07:00
Paul Gilbert c143ceb01b AGS: Tidied and fixed InputBox to work with SDL2 input
From upstream adec08a02664c0ab35ab358ca255ca6f2e3801b1
2022-05-08 11:37:49 -07:00
Paul Gilbert f782f0f2b2 AGS: Implemented Overlay.Graphic
From upstream b3ca7d110664f29f54c11315400486a0fc11d33a
2022-05-08 11:37:49 -07:00
Paul Gilbert a8ebf2b41b AGS: Added "clone" parameter to Overlay.CreateGraphical()
From upstream 2a7adfb6a3424017913c9a6c240525029debf1e0
2022-05-08 11:37:49 -07:00
Paul Gilbert 3ac6998a98 AGS: Support Overlays not copying the image, but storing a sprite id
From upstream fd14bd4075bd9e6a577235f2434275b260250c46
2022-05-08 11:37:49 -07:00
ScummVM-Translations f7aa3a84a3 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/
2022-05-08 18:22:58 +00:00
Lothar Serra Mari db1127bef5 NEWS: Update German NEWS file 2022-05-08 20:22:30 +02:00
ScummVM-Translations cf7a713691 I18N: Update translations templates 2022-05-08 16:07:19 +00:00
antoniou79 d30e952802 BLADERUNNER: Mute music and sfx for on-demand outtakes 2022-05-08 19:04:49 +03:00
D G Turner 137a775ea0 TINSEL: Fix GCC Compiler Warnings 2022-05-08 16:57:48 +01:00
Filippos Karapetis 0b84a042d5 TINSEL: Fix regression with inventory objects in DW1 and DW2
Regression caused by 70d1dbb00f.

This change will break the inventory changes done for DW3, and will
need to be fixed accordingly for it.

DW3 has two new fields in its INV_OBJECT struct. However, there are
variables in the code that are cast from memory blobs, so adding
these new fields breaks DW1 and DW2. We'll either need to add a new
structure for DW3, or read the struct members individually instead of
casting the memory blobs to this struct.
2022-05-08 15:12:31 +03:00
Filippos Karapetis 760547eb52 TINSEL: Remove redundant cast 2022-05-08 15:08:33 +03:00
Filippos Karapetis 8be80717bb TINSEL: Simplify reading of process information 2022-05-08 13:30:04 +03:00
Filippos Karapetis 1a75e459c5 TINSEL: Fix typos 2022-05-08 13:30:03 +03:00
Filippos Karapetis acf70850f2 TINSEL: Fix typo 2022-05-08 13:30:03 +03:00
neuromancer 36d437682f HYPNO: parse and load almost all the levels in boyz 2022-05-08 11:35:16 +02:00
neuromancer 44b080a21d HYPNO: implemented basic health handling and some cheats in boyz 2022-05-08 11:35:16 +02:00
Le Philousophe 5e3d0029b3 COMMON: Implement move constructor of ScopedPtr
This helps when passing ScopedPtr as function arguments
2022-05-08 11:07:40 +02:00
Le Philousophe fe26ec3b81 TINSEL: Fix int vs int32 discrepancies 2022-05-08 10:32:09 +02:00
Le Philousophe 3e406ed5af COMMON: Fix nullptr_t usage 2022-05-08 10:27:59 +02:00
Paul Gilbert 509504d16f COMMON: Support nullptr assignments to ScopedPtr 2022-05-07 20:16:31 -07:00
Einar Johan Trøan Sømåen 1985bbce8b TINSEL: Map the correct colors for menus in Noir 2022-05-08 01:07:25 +02:00
Einar Johan Trøan Sømåen 3675462951 TINSEL: Implement constant rendering for Noir
(This needs to take 16 bpp into account)
2022-05-08 01:07:15 +02:00
ScummVM-Translations 316e09a78d 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/
2022-05-07 19:58:56 +00:00
Einar Johan Trøan Sømåen 60ee470a88 TINSEL: Implement ADDINV3 (Noir) 2022-05-07 21:58:39 +02:00
Einar Johan Trøan Sømåen 102a90cfd9 TINSEL: Implement DECINV2 for NOIR 2022-05-07 21:57:34 +02:00
ScummVM-Translations 57470e2a64 I18N: Update translations templates 2022-05-07 19:56:31 +00:00
antoniou79 e68142d3e6 BLADERUNNER: Add support for old v2 VQAs
These are VQAs with companion VQP files used for Blade Runner teaser (Sizzle reel)
2022-05-07 22:54:25 +03:00
antoniou79 043cc1c8fb BLADERUNNER: Add extra conditions for canSaveGameStateCurrently() 2022-05-07 22:54:25 +03:00
D G Turner dbaa9439da AGS: Remove Various Unused Variables Causing Compiler Warnings 2022-05-07 20:41:45 +01:00
Einar Johan Trøan Sømåen 0be8059cec TINSEL: Size WCOMP appropriately for Noir. 2022-05-07 21:25:44 +02:00
Einar Johan Trøan Sømåen 0c908cd1db TINSEL: Use scoped enum for system reels.
Also map a few more of them.
2022-05-07 21:25:32 +02:00
Einar Johan Trøan Sømåen 58fa9fa6da TINSEL: Implement WhichInventoryOpen for Noir. 2022-05-07 21:25:23 +02:00
Einar Johan Trøan Sømåen 492651b03a TINSEL: Stub Notebook-polygon functions 2022-05-07 21:24:47 +02:00
Filippos Karapetis 2759252fcc TINSEL: Remove unneeded packing around the OBJ_INIT struct
No casting is done for this struct from memory blobs, so there's no
reason to pack it
2022-05-07 22:21:38 +03:00
D G Turner ae776639e0 TINSEL: Fix GCC Signed vs. Unsigned Comparison Compiler Warnings 2022-05-07 19:12:53 +01:00
elasota 1ea57c994c GRAPHICS: Add support for loading oversized Mac CURS resources 2022-05-07 20:51:44 +03:00
Einar Johan Trøan Sømåen 30b7ab77f8 TINSEL: Add a MultiBounds function
We'll need to query all 4 corners of a multi-object a few times in Noir,
so we might as well put that in a single function.
2022-05-07 20:44:05 +03:00
Einar Johan Trøan Sømåen 36c7cab071 TINSEL: Add a MultiSetAniXYZ function to simplify some X,Y,Z setting 2022-05-07 20:44:05 +03:00
Einar Johan Trøan Sømåen b3dee3c147 TINSEL: Replace guarded MultiDeleteObject with MultiDeleteObjectIfExists
This behaves closer to how free() and delete works, in that it's a no-op
for nullptr. Also to be slightly safer, it will set the pointer to nullptr
afterwards.

The application is slightly indiscriminate, so a few extra nullptr
writes are added, even where the pointer would be immediately assigned
a new value afterwards.
2022-05-07 20:44:05 +03:00
neuromancer 36359a8026 HYPNO: implemented some missing pointer change in spider 2022-05-07 16:58:59 +02:00
Peter Kohaut c8453d5f70 TINSEL: Fix build 2022-05-07 12:38:41 +02:00