Commit Graph

123906 Commits

Author SHA1 Message Date
Scott Percival
47c5b37067 DIRECTOR: Fix use-after-free in Sprite 2021-10-12 01:08:34 +08:00
Scott Percival
8b240f69b8 DIRECTOR: Fix inkBlitShape to use destRect for drawing 2021-10-12 01:08:34 +08:00
Scott Percival
0e0254a5f7 DIRECTOR: Fix currentFrameRate loading for v4 2021-10-12 01:08:34 +08:00
Scott Percival
257fd958e7 DIRECTOR: Add blitting code to FilmLoopCastMember 2021-10-12 01:08:34 +08:00
Scott Percival
8963cf211a DIRECTOR: Move methods from Window to DirectorPlotData 2021-10-12 01:08:34 +08:00
Scott Percival
e4f767c916 DIRECTOR: Move methods from Channel to Sprite 2021-10-12 01:08:34 +08:00
Scott Percival
6f60e8c54e DIRECTOR: Add stub for FilmLoopCastMember::createWidget 2021-10-12 01:08:34 +08:00
Scott Percival
0efc7139a9 DIRECTOR: Refactor FilmLoopCastMember to use Sprite 2021-10-12 01:08:34 +08:00
Scott Percival
0ecdd9b26f DIRECTOR: Add preliminary loader for film loops 2021-10-12 01:08:34 +08:00
Scott Percival
d61a03d120 DIRECTOR: LINGO: Fix memory leak 2021-10-12 01:08:34 +08:00
ScummVM-Translations
87b7ddc782 I18N: Update translations templates 2021-10-10 23:59:13 +00:00
ScummVM-Translations
cc534f0c29 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/
2021-10-10 23:59:12 +00:00
Thierry Crozat
594a81f93c OPENGLSDL: Fix restoring window size when exiting fullscreen
When entering fullscreen it was storing the default window size
in the config, which was overwriting the current window size. As
a result when exiting window size, instead of restoring to the
previous window size it was restoring to the default window size.
2021-10-11 02:59:01 +03:00
Thierry Crozat
45a803c71c OPENGLSDL: Fix always restoring window to maximized size when exiting fullscreen
When loadVideoMode gets called to exit fullscreen, the window is
still fullscreen, which means that the SDL_WINDOW_MAXIMIZED is set
(at least on macOS). As a result the window was resized to the
stored maximized window size instead of the size it had before
entering fullscreen.
2021-10-11 02:59:01 +03:00
ScummVM-Translations
c659033fbf I18N: Update translations templates 2021-10-10 19:41:05 +00:00
Cameron Cawley
c40b2bf125 GUI: Disable widgets in the options dialog relating to unavailable features 2021-10-10 22:40:55 +03:00
ScummVM-Translations
815a0e9a3f 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/
2021-10-10 17:35:56 +00:00
Martin Gerhardy
379ddd1ff2 TWINE: converted more render methods 2021-10-10 16:24:51 +02:00
ScummVM-Translations
d7de876032 I18N: Update translations templates 2021-10-10 14:03:43 +00:00
eientei
c89840f1fa SCI: Add PQ2 v1.001.106, mark 5.25" DOS PQ2 releases as such 2021-10-10 17:03:32 +03:00
Martin Gerhardy
d8761a1bd0 TWINE: forward color as int16
because some of the polygon fill methods rely on the color value being a range
from start to end
2021-10-10 11:52:39 +02:00
Martin Gerhardy
8296ad436f TWINE: fixed restoring the menu texts after quitting the credits scene
when the credits scene is shown from the menu, we have to restore the proper
menu text - otherwise the scene text is still active
2021-10-10 11:52:39 +02:00
Martin Gerhardy
1a6ac67be1 TWINE: todo comment 2021-10-10 11:52:39 +02:00
Martin Gerhardy
002de89fad TWINE: the color values can contain two values - start and end color 2021-10-10 11:52:39 +02:00
Martin Gerhardy
37c48f7e44 TWINE: fixed filler methods 2021-10-10 11:52:39 +02:00
Martin Gerhardy
40dc338671 TWINE: fixed low detail render method 2021-10-10 11:52:39 +02:00
Martin Gerhardy
2d6abce5ca TWINE: renamed method 2021-10-10 11:52:39 +02:00
Martin Gerhardy
808516dc2f TWINE: circle rendering is using proper fill methods now 2021-10-10 11:52:39 +02:00
Martin Gerhardy
010a29a413 TWINE: prepare for color blending in marble fill method 2021-10-10 11:52:39 +02:00
Martin Gerhardy
d157596665 TWINE: started to implement polygon render types for circles 2021-10-10 11:52:39 +02:00
Martin Gerhardy
87d9232202 TWINE: renamed variables 2021-10-10 11:52:39 +02:00
Martin Gerhardy
da0e5a8193 TWINE: improved polygon render methods 2021-10-10 11:52:39 +02:00
Martin Gerhardy
efc5e0bcf5 TWINE: added low poly details render methods 2021-10-10 11:52:39 +02:00
Martin Gerhardy
b39e1c260d TWINE: implemented most of the polygon details mappings 2021-10-10 11:52:39 +02:00
Martin Gerhardy
ae07194e58 TWINE: fixed polygon filler type enums 2021-10-10 11:52:39 +02:00
Martin Gerhardy
46a810558e TWINE: play midi track 1 while showing introd fla 2021-10-10 11:52:38 +02:00
Martin Gerhardy
e8680cee24 TWINE: fixed warnings 2021-10-10 11:52:38 +02:00
Thierry Crozat
aac0f40d2c BACKENDS: Add overloadable removeFile in DefaultSaveFileManager
This allows using the DefaultSaveFileManager on system where
remove() does not exist. See bug #12975.
2021-10-10 11:39:47 +03:00
Eugene Sandulenko
08f29237ed
DISTS: ANDROID: Update store metadata 2021-10-09 21:48:03 +03:00
Coen Rampen
5369ed6ecc MADE: Add option for MIDI introduction music
The Return to Zork installer has an option to turn off the digital music during
the introduction and play MIDI music instead. ScummVM would always play the
digital music. This commit adds the installer option to the launcher GUI.
2021-10-09 16:59:45 +02:00
Coen Rampen
245c4cc923 MADE: Display MT-32 quit message
This commit adds the message displayed on the MT-32 display when the game quits.
2021-10-09 16:59:45 +02:00
Coen Rampen
8ec8f65d5f MADE: Improve unpausing game when movie is playing
The movie player would use OSystem::getMillis to check the elapsed playing time
to keep audio and video in sync. This would go wrong when the game was paused
during movie playback, as the player would try to make up for the pause time,
fast forwarding the movie and breaking A/V sync.
This commit improves this by using Engine::getTotalPlayTime, which subtracts
pause time, and Mixer::getElapsedTime, which returns the actual length of audio
played. The player seems to restart later than the audio when unpausing, so it
still catches up for about 10 frames, but it's not as bad as before and it does
not lose A/V sync.
2021-10-09 16:59:45 +02:00
Coen Rampen
30a6c8428c MADE: Fix audible gap when sounds loop
For looping sounds the game script regularly checks if the sound has finished
playing, then plays it again. This works in the original interpreter (possibly
because it checks the first buffer of double-buffered sound output); it does
not work in ScummVM because the mixer will return if the sound has actually
stopped playing. This causes an audible gap when the sound loops.

This commit alters the sfSoundPlaying function to check if the current elapsed
playing time is less than 100ms before the end of the sound, which fixes the
issue. Not sure if this change is necessary or desirable for games other than
Return to Zork. This fixes issue #6443.
2021-10-09 16:59:45 +02:00
Coen Rampen
0a702a6e3f MADE: Pause MIDI music when pausing engine
The MIDI music on external softsynths and devices would keep playing while the
engine was paused. This commit fixes this by implementing the
Engine::pauseEngineIntern method to pause the MIDI music when the engine is
paused.
2021-10-09 16:59:45 +02:00
Coen Rampen
2d5e8dbee6 MADE: New MIDI player
This rewrites the MADE music player to remove the use of the MidiPlayer. This
fixes the following issues in Return to Zork:
- User music volume control did not work for AdLib.
- MIDI channels were remapped; sometimes channels were missing (f.e. at the
  lighthouse exterior).
- Some music tracks did not play because the current track had to be stopped
  before playing a new track (f.e. the music over the credits after the intro).
- MIDI played at half volume and volume control would reset when a new track
  started playing.
- "Native MT-32" flag was not checked, so the Miles driver was not used for
  hardware MT-32.
- MT-32 to GM instrument mapping did not work.
- Roland GS mode now works.
2021-10-09 16:59:44 +02:00
Coen Rampen
d8491ecea4 AUDIO: Add default for OPL channel volume
This adds an option to the AdLib multisource driver to set the MIDI channel
volume that will be used to initialize to OPL 4x registers.
2021-10-09 16:59:44 +02:00
Coen Rampen
111b237e02 AUDIO: Fix Roland GS emulation not using MT-32 drumkit
The Roland GS MT-32 emulation option would not select the MT-32 drumkit on the
GS device, because the drumkit change was filtered out in the MT32GM driver.
This commit fixes this by adding an exception for this drumkit change when GS
MT-32 emulation is active.
2021-10-09 16:59:44 +02:00
Coen Rampen
69629944e5 MADE: Use SFX sound type for sampled audio
The engine used the plain sound type for sampled sound effects and movie audio
and applied the SFX user volume control to the plain sound type. This caused
emulators like the AdLib emulator and Munt to be affected by the SFX user
volume control, because they use the plain sound type. This commit fixes this
by using the SFX sound type instead of the plain sound type. User volume is
applied by Engine::syncSoundSettings.

This commit also fixes the setSoundVolume script function. Volume was
previously applied to the SFX and speech sound types, which were not used.
Also, by directly using Mixer::setVolumeForSoundType, it would override the
user volume setting. This is fixed by storing the game sound volume in a field
and applying this to the current and future audio streams. This fixes bug
#6444.
2021-10-09 16:59:44 +02:00
Lothar Serra Mari
84e88b9b3c DISTS: Update appcast.xml for 2.5.0 2021-10-09 16:24:18 +02:00
Martin Gerhardy
fa09c80830 TWINE: fixed missing holomap surface mappings 2021-10-09 10:46:46 +02:00