Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
The original game scripts are missing a delay.
Fixes #10727.
|
|
This is the last fix for bug Trac #10655.
|
|
Have compared output dat files from the tool before and after this
change and they are identical.
|
|
These were various shadowed variable and unsigned vs. signed
comparison warnings.
|
|
|
|
This is part of the fix for bug Trac #10655.
|
|
This is part of the fix for bug Trac #10655.
|
|
This is part of the fix for bug Trac #10655.
|
|
|
|
This is as per bug Trac #10656.
|
|
|