Commit graph

123393 commits

Author SHA1 Message Date
Thierry Crozat
66431a0f03 IOS7: Fix rotating the device while ScummVM is innactive
This fixes bug #7137
2021-09-29 00:25:57 +01:00
Thierry Crozat
269b80d87e NEWS: Grammatical consistency 2021-09-29 00:25:47 +01:00
Thierry Crozat
aecb869e41 IOS7: Fix using arrow keys from physical keyboard on iOS 15
This fixes part of bug #12942.
2021-09-29 00:25:40 +01:00
Thierry Crozat
038118c3a6 JANITORIAL: Fix indentation in iOS7 backend source code 2021-09-29 00:25:32 +01:00
Eugene Sandulenko
9f5112da37
SCUMM: Fix detection for Japanese Mac fbpack 2021-09-28 21:45:01 +02:00
Eugene Sandulenko
c541dd87fc
SCUMM: Added detection for Japanese Mac fbpack 2021-09-28 21:12:41 +02:00
Paul Gilbert
64c94097b5 AGS: Added detection entries 2021-09-27 18:58:18 -07:00
Torbjörn Andersson
097694720a GRIM: Partially revert 6bb4658ea6 to work around bug #12932
The moveToFadeOutTrack() function was introduced many years ago to fix
"sound skipping a bit when a fade out track starts". Unfortunately,
while this may have worked flawlessly back then it causes crashes in
certain cases now.

The point of this is to avoid the crash for the upcoming release. A more
long-term solution should be in the works.
2021-09-27 22:21:29 +02:00
Thierry Crozat
36b7b08fa5 AGS: Disable loading from the launcher for some games
Kathy Rain and Whispers of a Machine use the ags_sprite_font plugin
and load the fonts in their game_start script. This script is called
when starting a new game, but not when loading a savegame on startup
(for good reasons). As a result when loading a savegame from the
launcher we were missing those fonts and it was using replacement
fonts that do not quite work properly.

This fixes bugs #12945 and #12964.
2021-09-27 19:25:45 +01:00
Eugene Sandulenko
44b12eb0c7
BASE: Set debug flags before instantiating an engine 2021-09-26 13:44:02 +02:00
Paul Gilbert
d9ed62041d AGS: Skip videos with unsupported video tracks rather than erroring 2021-09-25 10:29:21 -07:00
Paul Gilbert
c924c3e84e AGS: Implemented fade_interpolate 2021-09-25 09:54:55 -07:00
Thierry Crozat
6bbee47f71 AGS: Try to load font with WinFont as a fallback when TTFFont fails
This fixes bug #12948 AGS: Segfault when picking up at police report.
For that bug the font is properly loaded by FreeType, but it is a
non-scalable Windows font whose size does not match the requested
size. The original AGS handles TTF font sizes differently to how we
do it in TTFFont (and also has some hacks on top of that), and it
was easier here to use WinFont that try to tweak TTFont to work
with this case.
2021-09-24 23:52:00 +01:00
Thierry Crozat
f6eeae4736 GRAPHICS: Support loading a Windows font from an existing stream 2021-09-24 23:51:46 +01:00
Paul Gilbert
9a22f1b913 AGS: Correct some game names 2021-09-23 19:27:52 -07:00
Paul Gilbert
c92c15583d AGS: Added detection entries 2021-09-23 19:17:53 -07:00
athrxx
c0960a1172 SCUMM: (SCUMM7/8) - fix minor walking code glitch
(see https://bugs.scummvm.org/ticket/12499#comment:11)

In Actor::startWalkActor() we call adjustXYToBeInBox() twice, first with the dest coords, then again with the resulting coords from the first call. In the example from the bug ticket (clicking on Kenny the lemonade selling pirate) this will adjust the x position from 503 to 501 on the first pass and from 501 to 500 on the second pass.

The original SCUMM 5 and 6 (I checked MI2 and SAM) actually do it exactly like that, so it becomes kind of obvious where our code originates from.

However, for SCUMM 7 and 8 (I checked FT, DIG, COMI) the function has been simplified considerately. It makes the call to adjustXYToBeInBox() only once (and no call to checkXYInBoxBounds() either), so in our COMI example the x position will stay at 501.
2021-09-23 23:14:50 +02:00
Marcus Comstedt
3e62c8e1d7 DC: Request disc swap when needed for plugin loading 2021-09-23 23:05:45 +02:00
djsrv
d014bdd92c CREDITS: Update name 2021-09-23 11:49:59 -04:00
Matthew Duggan
2e135b284e ULTIMA8: Adjust proc loop detection workaround again
The previous workaround value chosen to fix U8 bug #12913 really locked up
Crusader too long (>10 s), so there's no clean solution here that works for
both games it seems.  Revert the threshold back for Crusader games only, and
keep the high threshold for U8.  I hope the next time I touch this line is to
remove it because I work out the root cause of the problem :|
2021-09-23 16:09:55 +09:00
Paul Gilbert
4d37530ed2 AGS: Cleanup of A Tale of Two Kingdoms detections 2021-09-22 20:13:13 -07:00
Thierry Crozat
00b6576dc9 IOS7: Support using Escape key on external keyboards 2021-09-23 00:13:40 +01:00
Matthew Duggan
b476d645f9 ULTIMA8: Put back ARG_NULL8 macro with fix
Removed this macro in dc17170 because it had one usage and was wrong anyway,
but it's nice to avoid the unused variable warning.
2021-09-23 07:47:44 +09:00
Matthew Duggan
8fcfd9cd6f ULTIMA8: Use 2 bytes of intrinsic stack for UINT8
This fixes #12917.

The usecode "push byte" opcodes (0x0A and 0x5D) always push 16 bits on the
stack, but the ARG_UINT8 macro was only removing 1 byte.  Most of the time this
went unnoticed because the UINT8 was the last argument in most cases (eg, a z
val), or unused.

This led to an inconsistency where sometimes z values were being popped with
ARG_UINT16 and sometimes ARG_UINT8.  The original games do not support z values
beyond 254, so this should always be UINT8.

Additionaly, a while back "push byte" was fixed so it always sign extends, but
this could result in a case where we pop incorrect values.  For example, a high
Z value could get sign-extended on push, and then popped back as a UINT16,
giving a z of 64000ish.

Fix by always moving the SP by 2 bytes, only use the first one.

Correcting this also fixes the strange color ordering I thought was needed for
I_jumpToAllGivenColor in Crusader: No Regret, where actually it should have
been popping the values as 16-bit instead of 8-bit.
2021-09-23 07:47:35 +09:00
Thierry Crozat
bdcd554a05 IOS7: Fix calling UI API on a background thread
This is a genealization of commit 0d8b9d272 that only fixed the
issue for some cases. The issue still occured when suspending the
app for example.
2021-09-22 23:28:33 +01:00
Paul Gilbert
3da05fa6b7 AGS: AGSParallax plugin fix, workaround for Stargate Adventures 2021-09-21 21:09:21 -07:00
Paul Gilbert
6945f9e50f AGS: Added detection entries 2021-09-21 18:55:21 -07:00
sluicebox
3d624cf8aa SCI: Don't poll input events from MIDI thread
In March, b67c2d72d6 moved some MIDI
initialization from the main thread to the MIDI thread. This caused
MidiPlayer_Midi::sysEx() to run on the MIDI thread for the first time.
This is a problem because it calls SciEngine:sleep(), which polls
events, and that causes MacOS to throw an exception for calling
SDL_PollEvent() on a non-main thread.

While investigating, it also turns out that MidiPlayer_Midi::sysEx()
and MidiPlayer_Fb01::sysEx() were calling OSystem::updateScreen(),
and that also shouldn't be happening on a non-main thread.

Now SciEngine::sleep() is only called on the main thread, and
OSystem::delayMillis() is called on the MIDI timer thread.
Continuing to call sleep() on the main thread keeps the UI responsive
when loading patches, which can take several seconds.
The OSystem::updateScreen() calls had no effect and have been removed.

Fixes bug #12947
2021-09-21 16:37:24 -05:00
Lothar Serra Mari
4ddadd76ce NEWS: Update German NEWS file 2021-09-21 18:11:24 +02:00
Paul Gilbert
87d6bff265 TITANIC: Add entry for should fix to NEWS.md 2021-09-20 18:55:50 -07:00
Paul Gilbert
c17c9b7dd6 TITANIC: Make findByWordClass a static method 2021-09-20 18:55:10 -07:00
Marcus Comstedt
c016cb57cd DC: Preserve appDomain when reloading config on disc swap
This is needed to prevent essential settings like
always_run_fallback_detection_extern from being removed.
2021-09-20 23:31:03 +02:00
Marcus Comstedt
6f746e51a8 DC: Enable options to save more memory 2021-09-20 23:30:56 +02:00
Marcus Comstedt
e8ed75d884 PLUGINS: In uncached mode, try plugin which matches engine name first
Trying all engine plugins in alphabetical order is a time consuming
process, so start by trying the plugin which has the same name as the
engine id first, if it exists, as it will usually be the right one.

In the rare case that it would be the wrong one there is no problem;
the code will simply fall through to the old scanning and then record
the correct plugin in the engine_plugin_files domain where it will be
found the next time the plugin is needed.
2021-09-20 23:30:49 +02:00
Marcus Comstedt
da5e8c667d PLUGINS: Make detection plugin filename check case insensitive
Plugin filenames are all upper case on Dreamcast due to the ISO 9660
filesystem.  It doesn't seem likely that making the check case
insensitive would cause any problems even on a file system that
is case sensitive.
2021-09-20 23:30:44 +02:00
Ben Castricum
50a759cc36 I18N: Update translation (Dutch)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-20 12:26:05 +00:00
Lothar Serra Mari
7c28e2d170 GUI: Update translations datafile 2021-09-20 14:22:05 +02:00
Purple T
c5a145812d I18N: Update translation (French)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-20 01:26:06 +00:00
Paul Gilbert
a2e0753596 AGS: Added Sepulchre detection 2021-09-19 12:12:11 -07:00
Paul Gilbert
b057ba5d9e AGS: Added Broken WIndows detections 2021-09-19 12:04:22 -07:00
Paul Gilbert
26279bfc20 AGS: Added KQ4 Retold detection 2021-09-19 12:04:09 -07:00
ScummVM-Translations
928f80122f 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-09-19 14:58:28 +00:00
SupSuper
84c34e8df4
WINTERMUTE: Replace convert_utf with built-in conversions
Now that ScummVM supports UTF8 we can just use it
2021-09-19 16:58:03 +02:00
VAN-Gluon
c308a09060 I18N: Update translation (Japanese)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-19 01:26:08 +00:00
Marcel Souza Lemes
aabc970554 I18N: Update translation (Portuguese (Brazil))
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-19 01:26:08 +00:00
Antoniou Athanasios
2f84b45c9c I18N: Update translation (Greek)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-18 14:27:08 +00:00
George Kormendi
e477edc801 I18N: Update translation (Hungarian)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-18 12:49:23 +00:00
IlDucci
81d138d76a I18N: Update translation (Spanish)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-18 12:49:16 +00:00
Eugene Sandulenko
5f8541dd21 I18N: Update translation (Ukrainian)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-18 10:02:36 +00:00
Timo Mikkolainen
f02fc7fed0 I18N: Update translation (Finnish)
Currently translated at 100.0% (1682 of 1682 strings)
2021-09-18 10:02:35 +00:00