Commit Graph
137148 Commits
Author SHA1 Message Date
Donovan Watteau eacd30cceb VKEYBD: Use compresslevel=9 if available in vkeybdpack.py
So that the .zip files don't get too big.
2022-10-07 12:45:40 +02:00
Walter Agazzi d41682b47a DIRECTOR: Add detection for ten Pixeline games (Danish) 2022-10-06 22:59:48 +02:00
Le Philousophe 42ff7120dc SDL: Fix missing replacement for enginesShadersSupported 2022-10-06 19:53:52 +02:00
ScummVM-Translations db56c9dab0 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-10-06 17:01:29 +00:00
Roland van Laar 2e92852d57 TESTS: resolve clang warning
Run tests with -Wno-self-assign-overloaded
Some tests explicitely assign the value of the variable type to itself.

Fixes warnings such as these:

./test/common/str.h:201:9: warning: explicitly assigning value of variable of type 'Common::String' to itself [-Wself-assign-overloaded]
                foo10 = foo10;
                ~~~~~ ^ ~~~~~
2022-10-06 19:01:15 +02:00
Roland van Laar 407902599e TESTS: Fix clang++ warning
./test/common/md5.h:17:3: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation]
                "345678901234567890"
2022-10-06 19:01:15 +02:00
athrxx 9f258474bc NEWS: mention Sam & Max MT-32 fix 2022-10-06 19:00:32 +02:00
ScummVM-Translations 28418513ff I18N: Update translations templates 2022-10-06 16:48:25 +00:00
athrxx 70c2d07f19 SCUMM: (IMS) - minor fixes 2022-10-06 18:47:56 +02:00
athrxx caa96a50f0 SCUMM: (IMS) - refactor MT32/GM drivers
The MT32 driver could be based on the GM driver for the
most parts. Also minor fixes and cleanup.
2022-10-06 18:47:55 +02:00
athrxx ead51cb45e SCUMM: (IMS) - add general midi driver
This is the GM counterpart for the MT32 driver, mostly based on
SAMNMAX, but I have also added the necessary things from the
DOTT driver.
2022-10-06 18:47:51 +02:00
athrxx 6984faf958 AUDIO: add data size arg to MidiChannel::sysEx_customInstrument()
As a safety check...

Also throw out some warnings when loading savegames
with instrument data for a different device (the savegame
incompatibility would be very nice to be fixed, but it is not
trivial.
2022-10-06 18:47:47 +02:00
athrxx 40b459164b SCUMM: (IMS) - add dedicated MT-32 sound driver
(fixes bug no. 1248 - "SAM: some MIDI channels missing on MT-32")

This is a very obvious bug if the speech is turned off (otherwise the speech will
kind of cover it up). In the SAMNMAX intro it is hardly playing anything.

The reason is that the newer sound system has an extra driver layer between the
imuse parts and the actual hardware which mananges the channels (similar to
what we already do for AdLib, Amiga, FM-Towns...). Whenever the songs are
attempting to use a Midi part > 9 our current system will fail.

I have written the MT-32 player to also handle the older games music and sound
effects. This will allow cleaning up various more hacks in the common sound code.
I have done only little cleanup here, since it is not the main purpose of the commit.

I will also write a GM driver. This is going to be easier. Currently, there is a only
some init and skeleton code for it, the rest is just pass-through...
2022-10-06 18:47:46 +02:00
athrxx 99dd6cb248 SCUMM: (IMS) - minor restructuring and cleanup
Currently, Roland MT-32 sound is broken for
SAMNMAX. Just try the intro song with shut off
speech. It is very obvious that it plays with a quite
reduced number of channels compared to the
original interpreter.

Now, due to the not-so-helpful code design (much
of the iMuse code has been drawn into the common
code) it has become increasingly difficult to fix Midi
related thing in iMuse. I have added more and more
crude hacks over time.

SAMNMAX requires more elaborate channel
allocation. To make it happen I have added driver
wrappers for Midi to the iMuse code.

Other than that, I have done only minor cleanup here.

Actually, I would have liked to withdraw much more
of the iMuse code from the common code and move
it to SCUMM (basically all the MidiChannel
stuff which is exclusively used by iMuse. But it turns
out that it is so thoroughly intertwined (the major
blocker here being the AdLib driver) that it requires
more thought and effort and would just distract me
from fixing the SAMNMAX sound.
2022-10-06 18:47:40 +02:00
Roland van Laar be7e6731a9 BUILD: run clean-test on distclean
The expectation of distclean is that it cleans as much as possible.
Now the tests are also cleaned on distclean.
2022-10-06 17:52:47 +02:00
Roland van Laar ea8b9b0d48 TESTS: add buildartifact to make clean-test
test/null_osystem.o wasn't cleaned up. The result was failing tests
when scummvm itself was build with changed configure settings.
2022-10-06 17:50:17 +02:00
Roland van Laar 70e715b6f8 TESTS: Fix compiler warnings integer comparisons
Use suffix `U` for integers when comparing results of `size`.
Use uints in the forloops.
2022-10-06 17:41:41 +02:00
Roland van Laar 07478b38be TESTS: plug memory leaks in span tests
Declare dataPtr as a byte pointer instead of a void pointer to
be able to delete it at the end of the test.
2022-10-06 16:12:27 +02:00
alxpnv cd11578f2b ASYLUM: fix animation of floating bodies in Chapter 4
Bug no. 13558
2022-10-06 13:41:58 +03:00
alxpnv c5044f433c ASYLUM: fix formatting 2022-10-06 13:41:58 +03:00
Walter Agazzi e456740542 DIRECTOR: Add detection for a couple incomplete entries 2022-10-06 11:42:35 +02:00
Walter Agazzi 7f9c2885c8 DIRECTOR: Fix missing title for some detection entries 2022-10-06 11:42:35 +02:00
Scott Percival 94e482145b VIDEO: Fix infinite loop when loading greyscale QT videos 2022-10-06 00:05:17 +02:00
Scott Percival 0dce88baf3 DIRECTOR: Add CompuServe Demo to detection list 2022-10-06 00:05:17 +02:00
Scott Percival 2a261d0fba DIRECTOR: Allow for tempo changes when seeking to arbitrary frames
In Director, FPS entries in the tempo channel apply to all subsequent
frames. If we seek to an arbitrary frame, the correct tempo settings
should be applied.

Fixes the animation speeds of the cauldron and the walking teapot in
Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival b2d13c5ea1 DIRECTOR: Stop playing videos when sprite gets replaced
Fixes cupcake song not stopping in Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival e477106daa DIRECTOR: Update Channel::_movieTime in Score::updateWidgets
Previously this would be updated in
DigitalVideoCastMember::createWidget, which meant it was possible for a
movie to complete without updating _movieTime to the final end position.

Fixes the cupcakes from not stopping animating once the song is finished
in Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival 802c583b10 DIRECTOR: Improve breakpoint debugger command 2022-10-06 00:05:17 +02:00
Scott Percival 32f87b27cb VIDEO: Fix VideoDecoder::needsUpdate to work for audio-only files
VideoDecoder::needsUpdate() only returns true if there are frames
remaining to be rendered. This won't work for video files that are
audio-only, so in the event of a such a file, fall back to checking
endOfVideo() which includes audio tracks.

Fixes audio-only DigitalVideoCastMembers in the Director engine.

Fixes playback of the cupcake song in Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival dcceb4c34b DIRECTOR: Add "disasm all" debugger command 2022-10-06 00:05:17 +02:00
Donovan Watteau 1cc9c40109 SCUMM: Add detection for the French 4-disk VGA floppy version of MI1
Unlike the 8-disk version, this one has proper MT-32 resources (see
commit 655afcdf55 for more context).

Reported by a French player owning this (rare?) release.
2022-10-05 21:15:19 +02:00
Donovan Watteau 2d2a92ddcf NEWS: Mention more improvements for 2.6.1 2022-10-05 19:59:03 +02:00
Roland van Laar e78a88e2fb TESTS: plug memory leaks
Use `clear` instead of `release` where possible.
Both clean up the span object. They differ in that `release` returns a pointer to
the internal data and `clear` destroys the internal data.
2022-10-05 18:11:10 +02:00
Stian Schultz 22fac5c4cc I18N: Update translation (Norwegian Bokmål)
Currently translated at 100.0% (1767 of 1767 strings)
2022-10-05 16:10:15 +00:00
eientei 31d7c3708b SCUMM: Add detection for Monkey Island (ES, EGA, 4 disk), Monkey Island (ES, VGA, 8 disk), Last Crusade (ES, v1.4), French fan translation of Last Crusade (VGA, atp-fr.com v0.9a)
SCUMM: Add sizes to multiple DOS entries
2022-10-05 12:58:21 +02:00
Walter Agazzi 3e76123d71 AGS: Add detection for latest Primordia update (GOG - Windows) 2022-10-05 12:00:16 +02:00
ScummVM-Translations 23b616dc13 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-10-05 05:06:59 +00:00
Torbjörn Andersson 45fdb1fea8 WINTERMUTE: Add another Alpha Polaris detection entry
The game starts, but does not appear playable. For one thing, no
character models are drawn.
2022-10-05 07:06:11 +02:00
ScummVM-Translations 93b8439b0e I18N: Update translations templates 2022-10-05 03:32:17 +00:00
Paul Gilbert d21bc7df8b GLK: ALAN2: Add detection entry for Hollywood Murders
It's an unsupported earlier 2.6 game, but at least
this way it'll be recognised as such rather than
not being dtected at all.
2022-10-04 20:30:35 -07:00
AndywinXp 87676d1365 SCUMM: Limit screen update on cursor change to v7-8 2022-10-04 21:31:59 +02:00
Lothar Serra Mari 23069ff279 NEWS: Update NEWS file for upcoming 2.6.1 release 2022-10-04 20:55:01 +02:00
BLooperZ b17b1d3250 MOHAWK: hide overlay when movie is skipped 2022-10-04 20:37:09 +03:00
Walter Agazzi e9f995a959 SWORD: fix typo 2022-10-04 20:35:31 +03:00
Walter Agazzi 70264816fe SWORD: Update spanish demo strings using speech transcript 2022-10-04 20:35:31 +03:00
Walter Agazzi e2575b86f6 SWORD: Add workaround for missing strings in Spanish demo 2022-10-04 20:35:31 +03:00
AndywinXp 7077d8d124 SCUMM: Fix AmigaOS and NDS builds 2022-10-04 13:50:49 +02:00
AndywinXp a7a4d9f120 SCUMM: DiMUSE: Implement antiskip system for devices with slow load times
This code is present in all the original interpreters using Digital iMUSE, and it was implemented
in order to allow slower CD drives to fetch new data without having music skipping during load times.
This works by basically flooding the music buffer with data whenever a big resource, a voice file, or
a SMUSH movie is loaded.
Arguably this is not needed for devices using SSD drives, but since this change had its benefits on a
quite old laptop of mine, and since the memory overhead is very minimal, I have decided to implement it.
2022-10-04 11:34:14 +02:00
Andrea Boscarino 6ad5ed0b92 SCUMM: DiMUSE: Solve very rare deadlocks caused by two different mutex objects 2022-10-04 11:33:26 +02:00
SupSuper ac771ac2de GUI: Fix engine icons only showing up in grid once 2022-10-04 01:37:28 +01:00