Age | Commit message (Collapse) | Author |
|
This is mainly to aid investigation of bug Trac #6310.
|
|
The _gfxScreen instance is nullptr for SCI32 games, thus this console
command previously caused a segfault.
|
|
|
|
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.
|
|
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.
|
|
|
|
Refactoring, no changes in behaviour.
|
|
|
|
|
|
Currently translated at 100.0% (1000 of 1000 strings)
|
|
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.
|
|
Currently translated at 100.0% (1000 of 1000 strings)
|
|
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".
|
|
This is replaced by the global "all" option for debugflags and defining
this triggers a warning about the conflict at runtime.
|
|
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.
|
|
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.
|
|
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().
|
|
|
|
Fixes a lockup in the original game
|
|
|
|
instance
|
|
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
|
|
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.
|
|
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.
|
|
Fixes a lockup in the original game
|
|
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.
|
|
|
|
|
|
This fixes bug Trac #10739.
|
|
This fixes bug Trac #10740.
|
|
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.
|
|
|
|
This should also fix this for other instances of ScrollContainer, though
the dialogs / widgets may require the same change.
This fixes bug Trac #10741.
|
|
|
|
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.
|
|
Currently translated at 100.0% (1000 of 1000 strings)
|
|
Currently translated at 93.3% (933 of 1000 strings)
|
|
This is bug Trac #10735.
|
|
This allows the recovery of saved games with the dead-end condition from
bug Trac #6842.
|
|
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.
|
|
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.
|
|
Currently translated at 93.3% (933 of 1000 strings)
|
|
|
|
Fixes wrong message in cd versions, bug #10724
|
|
Fixes wrong message in floppy versions, bug #10723
|
|
|
|
Currently translated at 93.3% (933 of 1000 strings)
|
|
This is from bug Trac #10653.
|
|
This is as per bug Trac #10654.
|
|
|