87006 Commits

Author SHA1 Message Date
D G Turner
9173223999 SCI: Fix Segfault When Using Console "show_map" Command on SCI32 games.
The _gfxScreen instance is nullptr for SCI32 games, thus this console
command previously caused a segfault.
2018-10-18 22:25:21 +01:00
Thierry Crozat
c7fc6bbc30 I18N: Regenerate translations data file 2018-10-18 22:26:57 +02:00
Jozef Legény
b705262b09 IOS: Hide keyboard when rotating to landscape
On iOS12 at least, the rotation did not force the keyboard to hide. This
fix will force it to be retracted in landscape and restored when
rotating back to the portrait position.
2018-10-18 19:48:00 +01:00
D G Turner
15306581ab SHERLOCK: RT: Disable Loading from GMM During Prolog or Credits.
Loading from the GMM during the prolog resulted in the mouse cursor
getting stuck hidden and possibly other game state issues, so best to
disable loading in these cases as already was done for saving.

This fixes bug Trac #10746.
2018-10-17 23:29:01 +01:00
Evgeny Grechnikov
8a374bdf0c LASTEXPRESS: rnd() should not return a constant 2018-10-18 00:56:28 +03:00
Evgeny Grechnikov
54562554f9 LASTEXPRESS: better names in sound code
Refactoring, no changes in behaviour.
2018-10-18 00:38:01 +03:00
Evgeny Grechnikov
b7b5fbbad2 LASTEXPRESS: support for looped sounds 2018-10-17 23:03:00 +03:00
D G Turner
3d7bb383db SWORD25: Fix Debug Console Activation via CTRL-d. 2018-10-17 15:01:12 +01:00
scootergrisen
50503741dc I18N: Update translation (Danish)
Currently translated at 100.0% (1000 of 1000 strings)
2018-10-16 22:58:28 +02:00
Evgeny Grechnikov
d561fd8a83 LASTEXPRESS: dynamic adjusting of sound volume
Now it works just like in the original game,
including fading where it is applicable
(e.g. in a passengers list if closing the list while a sound is playing).

By the way, p2s sequence is known as http://oeis.org/A000265 ,
p1s is 4 - A007814, and p2s[i]/2**p1s[i] is just i/16.
It is time to get rid of these arrays.
2018-10-16 23:57:25 +03:00
scootergrisen
84f948de91 I18N: Update translation (Danish)
Currently translated at 100.0% (1000 of 1000 strings)
2018-10-16 22:01:39 +02:00
Evgeny Grechnikov
29f6ce1d9a LASTEXPRESS: support for delay-activated sounds
Not very obvious, but noticeable e.g. when knocking on harem doors.
I suppose this is the problem that wiki describes
as "improper triggering of actions on sound end".
2018-10-16 23:01:26 +03:00
D G Turner
cc5d858169 LASTEXPRESS: Remove Engine Specific All Debug Level.
This is replaced by the global "all" option for debugflags and defining
this triggers a warning about the conflict at runtime.
2018-10-16 18:25:03 +01:00
D G Turner
5d340d244c LASTEXPRESS: Fix Compiler Warning in Sound Code.
The SoundFlag type is an enumeration which have a default underlying
type of unsigned int in most case.

Thus comparing this to -1 causes a compiler warning. Since the default
entity sound flag type is 0xFFFF... which is equivalent to -1, then
replacing this with the correct enum symbol fixes the issue and should
result in the correct behaviour. Examination of the resulting code line
seems to confirm that this is the correct expected logic.
2018-10-16 13:30:44 +01:00
Evgeny Grechnikov
43fb9ebb1b LASTEXPRESS: drop sound thread
The backend runs its own sound thread anyway,
with the corresponding bookkeeping that we use.
We don't need yet another sound thread,
and it is always nice to not have something
that could change our structures from underneath us.
2018-10-16 01:03:55 +03:00
Evgeny Grechnikov
8162309212 LASTEXPRESS: fix race condition in sound code
SoundEntry::play() calls StreamedSound::setFilterId(),
StreamSound::setFilterId() requires the underlying reference to be alive.
SoundQueue::handleTimer() checks that the stream is still alive
by calling SoundEntry::isFinished(). However, if the stream is finalized
just between calls to SoundEntry::isFinished() and SoundEntry::play(),
the sound mixer frees the stream leading to use-after-free in setFilterId().

Turn off the automatical disposing, delete the stream in SoundEntry::~SoundEntry().
2018-10-16 00:49:07 +03:00
Thierry Crozat
45641f3de5 I18N: Regenerate translations data file 2018-10-15 05:05:08 +02:00
sluicebox
9ed826c9bc SCI: Fix LB2 back rub east entrance bug #10729
Fixes a lockup in the original game
2018-10-15 00:18:33 +03:00
Thierry Crozat
457c4ee8ac LASTEXPRESS: Fix compilation with some compilers 2018-10-14 22:00:13 +01:00
Thierry Crozat
941d22c047 BACKENDS: Use OSystem::destroy() instead of deleting directly the g_system instance 2018-10-14 21:25:33 +01:00
Thierry Crozat
1e11da712b COMMON: Add mutex to protect access to the String memory pool
This fixes a crash due to concurrent access to the global MemoryPool
used by the String class when String objects are used simultaneously
from several threads (as is for example the case when enabling the
cloud features).

See bug #10524: Thread safety issue with MemoryPool
2018-10-14 21:25:16 +01:00
Thierry Crozat
c39dcc57a0 OSYSTEM: Add backendInitialized() function
Some feature, such as mutexes, are only available once the backend
has been initialized. This new function can be used to avoid using
those feature too early or too late.
2018-10-14 21:25:02 +01:00
Evgeny Grechnikov
53cd6616c9 LASTEXPRESS: refactor sound flags
Merge SoundFlag and SoundStatus into a single enum;
SoundEntry::setupStatus just casts one to another.

Keep only definitions of bits in SoundFlag; drop compound flags
like kFlagSteam = kSoundTypeAmbient | kSoundFlagLooped | kVolume7,
use ORed simple flags in calls; change the signature
of SoundManager::playSoundWithSubtitles to use uint32
instead of SoundFlag to avoid excess casting.

Add meaningful names to flags; add some comments.

Get rid of endian-unsafe SoundStatusUnion.

Fixes an issue with big-endian hosts.
No changes in behaviour on little-endian hosts.
2018-10-14 20:08:32 +03:00
sluicebox
46fe0aafd6 SCI: Fix LB2 'Bugs With Meat' lockup, bug #10730
Fixes a lockup in the original game
2018-10-14 17:53:01 +03:00
Evgeny Grechnikov
d36aadd3a6 LASTEXPRESS: fix constants in sound serializer
Wrong enum member used: (status & 0x7000000)
should be checked against 0x3000000, not against 3
(this is a check of sound type to skip menu sounds in savefiles).

Activate delay should not be compared with sound volume;
comparison with 0x8000000 is just a sanity check against overflow.
2018-10-14 17:29:47 +03:00
Andrei Prykhodko
b13e235242 PINK: removed unnecessary G key 2018-10-12 22:45:47 +03:00
Andrei Prykhodko
18c6a1a25c PINK: added missing sequencer update in Moving state 2018-10-12 22:41:46 +03:00
D G Turner
13b0a08dda AGI: Add Detection Entry for AGI Combat (Beta).
This fixes bug Trac #10739.
2018-10-11 11:25:10 +01:00
D G Turner
d616cbf63d AGI: Add Detection Entry for Sarien Test Demo.
This fixes bug Trac #10740.
2018-10-11 10:43:51 +01:00
D G Turner
c8b98dd41c AGI: Clamp Graphics Blit into Screen Area.
Some games, especially fangames appear to blit to co-ordinates outside
the screen area, which caused an assertion in the graphics backend.

To prevent this and allow further debugging in these cases, we clamp
this to the screen area. Note that there are several other locations
which do backend graphics calls, so this may need to be applied
elsewhere in the general case.

This fixes bug Trac #10736.
2018-10-11 10:18:48 +01:00
Thierry Crozat
c5db13d5e0 I18N: Update translations templates 2018-10-11 06:45:31 +02:00
D G Turner
efcd857083 GUI: Fix Mouse Wheel Input for Unknown Game Dialog.
This should also fix this for other instances of ScrollContainer, though
the dialogs / widgets may require the same change.

This fixes bug Trac #10741.
2018-10-11 05:52:02 +01:00
Thierry Crozat
6fc08fd2b1 I18N: Update translations templates 2018-10-10 09:15:24 +02:00
D G Turner
9831f6ddd2 GUI: Disable Current View Selection Button in Save/Load Chooser.
Switching between List and Grid views causes a nasty redraw flicker.
This also occurs if you press the button for the current view type.

This patch does not fix the underlying refresh issue, but it does
disable the button for the current view type as pressing this is not
useful in any case.

This is a partial fix for bug Trac #10441.
2018-10-10 08:20:17 +01:00
scootergrisen
88001f8310 I18N: Update translation (Italian)
Currently translated at 100.0% (1000 of 1000 strings)
2018-10-10 08:17:25 +02:00
scootergrisen
4729a67b8d I18N: Update translation (Galician)
Currently translated at 93.3% (933 of 1000 strings)
2018-10-10 08:17:25 +02:00
D G Turner
b60a4e5770 AGI: Fix ScummVM Quit if Return To Launcher from AGI Quit Dialog.
This is bug Trac #10735.
2018-10-10 07:25:50 +01:00
D G Turner
110a1e3df5 CGE2: Allow Triggering of Carpet Workaround from Debug Console.
This allows the recovery of saved games with the dead-end condition from
bug Trac #6842.
2018-10-09 18:10:40 +01:00
D G Turner
f39a9b5563 CGE2: Add Script Workaround for Clothes Horse Carpet Bug.
This now allows the Carpet to be placed and removed from the Clothes
Horse repeatedly, thus avoiding the dead-end when you do not beat the
Carpet with the Racket on first attempt.

This is bug Trac #6842.
2018-10-09 18:07:59 +01:00
D G Turner
f0ae36e1d7 SCI: Add Detection Entry for Hoyles Classic Games for Laptops.
This is basically Hoyle 5, but may be missing the main menu so might
require separate entries for each game i.e. cfg files.

This is from bug Trac #10676.
2018-10-08 06:04:53 +01:00
scootergrisen
9dde40ce29 I18N: Update translation (Danish)
Currently translated at 93.3% (933 of 1000 strings)
2018-10-08 06:42:47 +02:00
Thierry Crozat
350fcf8167 I18N: Regenerate translations data file 2018-10-08 05:05:05 +02:00
sluicebox
817d9dc80a SCI: Fix LB2CD Yvette/Tut murderless message
Fixes wrong message in cd versions, bug #10724
2018-10-08 02:42:04 +03:00
sluicebox
0fee5b3ec5 SCI: Fix LB2 Yvette/Tut premature murder message
Fixes wrong message in floppy versions, bug #10723
2018-10-08 02:39:00 +03:00
D G Turner
f7b349ae66 DS: Fix Compilation. 2018-10-08 00:16:23 +01:00
scootergrisen
709f496a75 I18N: Update translation (Danish)
Currently translated at 93.3% (933 of 1000 strings)
2018-10-07 23:46:56 +02:00
D G Turner
1f06cad15d DS: Fix Out Of Bounds Array Access Errors.
This is from bug Trac #10653.
2018-10-07 22:32:27 +01:00
D G Turner
9c1dfe41aa PSP: Fix Minor Memory Access Error and Leaks in Backend Code.
This is as per bug Trac #10654.
2018-10-07 21:23:29 +01:00
Thierry Crozat
5390c258d2 I18N: Rename danish translations file 2018-10-07 17:25:58 +01:00
Bastien Bouclet
2f851edfc2 MOHAWK: Show the closed gate on the 3rd channelwood level
The original game scripts are missing a delay.
Fixes #10727.
2018-10-07 16:12:22 +02:00