Age | Commit message (Collapse) | Author |
|
When reallocation is unsuccessful, the passed buffer is not freed. In this case, assigning the result (NULL) will result in a leak of the original memory buffer.
See http://msdn.microsoft.com/en-us/library/kkedhy7c.aspx
|
|
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
|
|
For the records, this was introduced by Eugene in SVN revision 30106,
corresponding to git commit b87b0f21
|
|
|
|
|
|
|
|
Safer and less portability issues.
|
|
|
|
|
|
|
|
|
|
|
|
Also get rid of a slight bias for 0 in the random numbers (it was
selected twice as often as any other number).
|
|
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
|
|
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
|
|
|
|
Some backends may break as I only compiled SDL
|
|
|
|
|
|
|
|
|
|
|
|
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.
This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
|
|
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
|
|
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.
The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom
Also fixed some engines which were leaking MidiDriver instances.
|
|
And set global volume levels
|
|
This is currently done by converting the internal palette from RGBA(?) to RGB
when setPalette is called.
|
|
svn-id: r55850
|
|
svn-id: r55818
|
|
svn-id: r55806
|
|
svn-id: r54815
|
|
menu and screen when mouse is moved.
svn-id: r54747
|
|
This makes it possible to write
DECLARE_SINGLETON(foo);
instead of
DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.
svn-id: r54258
|
|
svn-id: r54236
|
|
svn-id: r54106
|
|
svn-id: r54011
|
|
svn-id: r54001
|
|
svn-id: r53762
|
|
This is a somewhat cleaner version than my previous commit
svn-id: r53516
|
|
svn-id: r53484
|
|
Only the warning for res_struct.cpp is valid to be fixed
svn-id: r53469
|
|
svn-id: r53402
|
|
svn-id: r53039
|
|
svn-id: r53029
|
|
svn-id: r53026
|
|
This workaround prevents the Weregate from closing whilst Goewin is still within it
svn-id: r52971
|
|
This is currently done in the engine code. I adapted AGI, AGOS, DRACI,
GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset
device on startup. The sound output still works fine (started up a game
from every engine), so this should hopefully not introduce any regressions.
As far as I can tell it seems that SCUMM does send a proper device reset, so
I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am
not sure about SCI though.
This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI".
svn-id: r52736
|
|
svn-id: r52378
|
|
svn-id: r51101
|
|
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
document it.
* Add more doxygen comments
* Cleanup
svn-id: r50963
|