Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
|
|
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 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.
|
|
Fixes wrong message in cd versions, bug #10724
|
|
Fixes wrong message in floppy versions, bug #10723
|
|
The original game scripts are missing a delay.
Fixes #10727.
|
|
|
|
This is from bug Trac #10678.
|
|
These are from bug Trac #6745 "MOHAWK: Two unknown Living Book game
variants..."
|
|
This is from Bug Trac #10705.
|
|
This is from Trac #10399.
|
|
|
|
Fixes a lockup in the original game
|
|
This is from Trac #10725, and the demo appears to be multilingual at
least in terms of English and German, so adding two entries.
|
|
Fixes missing messages in floppy version
|
|
This fixes bug #10398 ("FULLPIPE: memory leak when exiting via in-game
menu (not gmm)").
|
|
This can be found at:
https://archive.org/details/StarTrek25thAnniversaryDemo
|
|
|
|
This was previously comparing the Object Model to the Object Enum.
This has been corrected, but should have no functional change as the
underlying enum value of 1 is identical for both symbols.
|
|
These were for missing parentheses to clarify logical expressions.
|
|
|
|
Fixes a broken message in floppy version
|
|
* WINTERMUTE: Flush ConfMan to disk
|
|
Fixes a lockup in the original game
|
|
|
|
|
|
This omission might have caused detection issues, but unlikely to cause
crashes.
|
|
|
|
engines/director/lingo/lingo-funcs.cpp: In member function ‘void Director::Lingo::func_goto(Director::Datum&, Director::Datum&)’:
engines/director/lingo/lingo-funcs.cpp:194:39: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
cleanedFilename += (const char) *p;
|
|
engines/sword2/screen.cpp: In member function ‘void Sword2::Screen::rollCredits()’:
engines/sword2/screen.cpp:1121:102: warning: cast from type ‘const char*’ to type ‘byte*’ {aka ‘unsigned char*’} casts away qualifiers [-Wcast-qual]
creditsLines[i]->sprite = _vm->_fontRenderer->makeTextSprite((byte *)creditsLines[i]->str.c_str(), 600, 14, _vm->_speechFontId, 0);
|
|
engines/lastexpress/entities/alexei.cpp: In member function ‘void LastExpress::Alexei::standingAtWindow(const LastExpress::SavePoint&)’:
engines/lastexpress/entities/alexei.cpp:772:49: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C++ engines/lastexpress/entities/chapters.o
engines/lastexpress/entities/august.cpp: In member function ‘void LastExpress::August::function21(const LastExpress::SavePoint&)’:
engines/lastexpress/entities/august.cpp:672:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
switch(params->param5) {
^~~~~~
engines/lastexpress/entities/august.cpp:694:3: note: here
case 9:
^~~~
|
|
|
|
|