Commit Graph
137148 Commits
Author SHA1 Message Date
Paul Gilbert 4718557ac8 AGS: Made Animate's volume be relative to Character.AnimateVolume
From upstream e079deb39511994cfb741a5f9dcf42335835c002
2022-05-10 21:17:59 -07:00
Paul Gilbert 214ef6eec3 AGS: Implemented Character.AnimationVolume
From upstream a2cbdac3ebc79c59b0ee44df2ce85a7017d724cc
2022-05-10 21:17:59 -07:00
Paul Gilbert d39c6cb31f AGS: Added "sound volume" param to all Animate() functions
From upstream 926220f9706baafa80d05ff6264f7fa13296dc16
2022-05-10 21:17:59 -07:00
Paul Gilbert 898650ebbd AGS: Fix WriteOverlays method 2022-05-10 21:17:52 -07:00
Paul Gilbert 81a99e5fc4 AGS: Fix keypresses in textboxes 2022-05-10 20:17:22 -07:00
VAN-Gluon 74360479e1 I18N: Update translation (Japanese)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 21:19:32 +00:00
Eugene Sandulenko b6f26b25b1 I18N: Update translation (Ukrainian)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 21:19:31 +00:00
jepael 88c400d15a I18N: Update translation (Finnish)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 21:19:31 +00:00
Eugene Sandulenko a0c2f10cd2 I18N: Update translation (Russian)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 21:19:23 +00:00
Walter Agazzi c8190b25a3 AGS: Add language detection for games/demos (initial K) 2022-05-10 23:55:27 +03:00
Walter Agazzi 1e09d5ad27 AGS: Add language detection for games/demos (initial J) 2022-05-10 23:55:27 +03:00
Walter Agazzi 6d60879a4b AGS: Add language detection for games/demos (initial I) 2022-05-10 23:55:27 +03:00
Walter Agazzi 2760c0a056 AGS: Add language detection of games/demos (initial H) 2022-05-10 23:55:27 +03:00
Zvika 060e339972 SCI: Hebrew parser: Support 'vav' conjunctive 2022-05-10 16:27:05 +03:00
Donovan Watteau 02da6e28b4 PRINCE: Fix reading translation texts on big-endian systems 2022-05-10 16:25:53 +03:00
Walter Agazzi 59a26a8879 I18N: Update translation (Italian)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 11:48:27 +00:00
Antoniou Athanasios 89e86399e2 I18N: Update translation (Greek)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 10:33:41 +00:00
Marcel Souza Lemes b8e5c6be03 I18N: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 08:41:16 +00:00
George Kormendi ef9f45de6f I18N: Update translation (Hungarian)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 08:41:16 +00:00
Purple T 6f665ee4b3 I18N: Update translation (French)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 08:41:15 +00:00
IlDucci fd6365082b I18N: Update translation (Spanish)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-10 08:41:02 +00:00
Coen Rampen 6ec2329fc9 AGOS: Fix compiler warnings
Add missing override, fix bad memset, remove unused variable.
2022-05-09 20:21:00 +02:00
ScummVM-Translations 17aafbf21b 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-09 18:11:03 +00:00
D G Turner 26b029ceb9 AGOS: Correct Array Initialization for Correct Size Removing Magic Number
MAXIMUM_TRACKS is defined as 120 in the MidiParser superclass, but this
was also lacking a sizeof(byte *) multiplication. This should be neater.
2022-05-09 19:09:18 +01:00
D G Turner 14cb42c6d6 AGOS: Correct Header Guard Define Naming in GMF Midi Parser 2022-05-09 19:08:34 +01:00
ScummVM-Translations 1231c939ad I18N: Update translations templates 2022-05-09 17:55:32 +00:00
ScummVM-Translations 9ccbf0e0c9 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-09 17:55:30 +00:00
Coen Rampen e9f8bc7106 AGOS: Fix multiline I18N strings 2022-05-09 19:55:12 +02:00
IlDucci dcd0346f7f I18N: Update translation (Spanish)
Currently translated at 100.0% (1724 of 1724 strings)
2022-05-09 17:52:46 +00:00
ScummVM-Translations c8865d02e1 I18N: Update translations templates 2022-05-09 17:37:37 +00:00
D G Turner ee4908d398 AGOS: Fix Missing Field Initializers for Group ID of Extra GUI Options 2022-05-09 18:36:42 +01:00
ScummVM-Translations 2d4a5041ea 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-09 16:33:59 +00:00
sluicebox 5fa0168e88 SCI32: Fix KQ7 wooden nickel hotspot in Faux Shop 2022-05-09 12:31:04 -04:00
ScummVM-Translations 60dc4b1535 I18N: Update translations templates 2022-05-09 16:03:04 +00:00
Coen Rampen 3dd5568cab AGOS: Improve E2/WW AdLib SFX timing
This change improves the accuracy of the timing of the AdLib SFX of Elvira 2
and Waxworks. The frequency of the SFX script timer is now synchronized with
the callback timer of the AdLib driver, which makes the timing of the OPL
register writes match that of the original interpreter.
2022-05-09 17:19:45 +02:00
Coen Rampen b2cf9a580b AUDIO: Add AdLib MS driver callback frequency
This change allows a consumer to specify the desired timer callback frequency
for the AdLib multisource MIDI driver.
2022-05-09 17:19:44 +02:00
Coen Rampen 5e95bdcbda AGOS: Elvira 1 - add support for Casio devices
This adds support for the Casio MT-540, CT-460 and CSM-1 for Elvira 1.
2022-05-09 17:19:44 +02:00
Coen Rampen 27e14762e7 AUDIO: Add Casio MT-540/CT-460/CSM-1 MIDI driver
This adds a MIDI driver for the Casio MT-540, CT-460 and CSM-1 devices. These
are supported by Elvira 1 and several Sierra SCI0 games as well as Altered
Destiny and Les Manley 1.
2022-05-09 17:19:44 +02:00
Coen Rampen 5e1905f5f6 AGOS: Waxworks OPL3 mode instrument attack fix
This fixes the slow attack for several instruments, which causes some barely
audible notes in OPL3 mode.
2022-05-09 17:19:44 +02:00
Coen Rampen d0c56f0bbc AUDIO: Remove GMF support from SMF MidiParser
This removes the code for the GMF MIDI format used by Simon The Sorcerer from
the SMF MIDI parser. The GMF format now has its own parser.
2022-05-09 17:19:44 +02:00
Coen Rampen 66bb075f1c AGOS: Add E2/WW AdLib and MT-32 SFX and enhancements
This adds support for the AdLib and MT-32 sound effects in Elvira 2 and
Waxworks. It adds an option to the UI to toggle between sampled and
synthesized SFX. It also adds the following enhancements:
- AdLib OPL3 mode for Elvira 2, Waxworks and Simon 1 floppy demo. This can be
selected using a new UI option.
- Mixed AdLib/MIDI mode for Elvira 2 and Waxworks.
- Implemented "monophonic chords", a feature of the original MIDI code which
would play only the highest note of a chord on AdLib. Most noticable in the
Waxworks music.
- Added UI option to select Simon 1 DOS music tempos.
- Rewrite of the AdLib and MT-32 drivers to remove duplication and make use of
features of the standard multisource drivers.
- Refactored MidiPlayer to standardize interface and remove code moved to the
drivers and parsers.
2022-05-09 17:19:44 +02:00
Coen Rampen 97745050c2 AGOS: Add option for Simon 1 DOS tempos to parsers
The DOS version of Simon 1 has different music tempos compared to the Windows
version. This commit adds the option to both the DOS and Windows MIDI parsers
to use either the DOS or Windows tempos.
2022-05-09 17:19:43 +02:00
Coen Rampen a0ffa1e005 AGOS: Fix PC-98 MIDI driver not using Native MT-32
The AGOS PC-98 MIDI driver did not check the native_mt32 flag when determining
the type of MIDI device. This would cause a hardware MT-32 or external
softsynth to be treated as a GM device.
This commit fixes this by adding the missing check.
2022-05-09 17:19:43 +02:00
Coen Rampen 13da6f9cb5 AUDIO: Move null MidiDriver remove timer proc 2022-05-09 17:19:43 +02:00
Coen Rampen 32ba866499 AUDIO: Move MIDI parser source handling to superclass
This commit moves the source handling from the SMF and XMIDI parsers to the
MIDI parser superclass. This reduces code duplication.
2022-05-09 17:19:43 +02:00
Coen Rampen 6a9fc73962 AUDIO: Small MIDI driver enhancements and fixes
This commit adds the following functionality to the MIDI drivers:

- Add checking if a driver is ready to process MIDI events for a specific
source (rather than any source). To facilitate this, SysExes can now be sent
using a source number. This is stored with the SysEx data in the SysEx queue
and can be checked when isReady is called with a source number.
- Allow specifying controller default values per MIDI channel. Currently this
is only implemented for program.
- The OPL dynamic channel allocation algorithm will now respect statically
allocated channels, in case a subclass uses combined static and dynamic channel
allocation.

It also fixes the following bugs:

- Instrument remapping can now be specified using const arrays.
- OPL instrument writing code is refactored to a separate function.
- OPL note on with velocity 0 would be handled as a note off, and then
continued to be processed as a note on.
- OPL writeFrequency would always write key on bit, even if the note is not
active.
- MT-32 default channel volume was incorrect.
2022-05-09 17:19:43 +02:00
Coen Rampen 00a907f524 MIDI: Fix parser auto loop skipping first event
The auto loop functionality of the MIDI parser would call jumpToTick to jump
back to the start of the MIDI stream, then call parseNextEvent to read the
first MIDI event. However, jumpToTick already makes sure the first MIDI event
after the jump point is parsed. Calling parseNextEvent again would discard the
first and parse the second MIDI event.
Fixed this by removing the call to parseNextEvent after jumping to the start.
2022-05-09 17:19:43 +02:00
Coen Rampen a72704764b AGOS: Fix Simon 2 intro first scene MT-32 music
The first scene of the Simon The Sorcerer 2 intro uses 3 music tracks. The last
2 are missing from the MT-32 MIDI data set. The original interpreter just stops
playing music after the first track and does not restart until the next scene.

This commit fixes this problem by using the GM versions of these 2 tracks
instead and mapping the GM instruments to MT-32 ones.
2022-05-09 17:19:43 +02:00
Coen Rampen b55b1da128 AUDIO: Add arbitrary MIDI instrument remapping
This commit adds a function to the multisource MIDI drivers for specifying an
arbitrary instrument map for remapping the instruments in the MIDI data.

This is used for remapping instruments from two Simon 2 GM tracks to MT-32
because they are missing from the MT-32 MIDI data set.
2022-05-09 17:19:42 +02:00
Coen Rampen f1e3c12895 AGOS: Improve Simon 2 MIDI code
The DOS versions of Simon the Sorcerer 2 now use the Miles drivers. AdLib now
sounds like the original does. ScummVM would use the second set of XMIDI data,
written for the MT-32, for GM with instrument remapping. Now the first set is
used, which uses GM instruments and has extra instruments on several pieces.
For all versions music fade-outs have been added during screen fades.
2022-05-09 17:19:42 +02:00