Age | Commit message (Collapse) | Author |
|
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
|
|
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.
|
|
|
|
|
|
|
|
|
|
svn-id: r55850
|
|
svn-id: r55806
|
|
svn-id: r55765
|
|
Since various apps can modify the type/creator of the files, we can't rely on the header of the resource fork to take the md5. I've therefore also recalculated all of the detector entries (all 5 of them) that use the Mac resource fork code.
svn-id: r55764
|
|
svn-id: r55150
|
|
svn-id: r54961
|
|
svn-id: r54385
|
|
svn-id: r54148
|
|
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).
The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.
svn-id: r54147
|
|
svn-id: r54119
|
|
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.
The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.
svn-id: r54004
|
|
Additionally fixed some NEWS file punctuation.
svn-id: r53874
|
|
svn-id: r53484
|
|
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.
Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.
svn-id: r53399
|
|
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
|
|
- Obey the mute setting.
- Report the supported music types.
svn-id: r52633
|
|
svn-id: r51495
|
|
svn-id: r51274
|
|
svn-id: r51206
|
|
- Make some small optimizations to the VDX player. The changes aren't
noticeable on desktop computers, but it showed changes on the profiler.
Let's see if it helps limited platforms.
- Clarify a few variable names and clean their usage.
svn-id: r51205
|
|
* 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
|
|
svn-id: r50840
|
|
svn-id: r50667
|
|
svn-id: r50611
|
|
be found. The intro music in the Mac version now plays.
svn-id: r50564
|
|
select MDT_PREFER_MT32 or MDT_PREFER_GM
svn-id: r50288
|
|
svn-id: r50165
|
|
svn-id: r50163
|
|
svn-id: r50128
|
|
easier to see what it's doing.
svn-id: r50114
|
|
svn-id: r49919
|
|
svn-id: r49883
|
|
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.
svn-id: r49788
|
|
svn-id: r49678
|
|
Now AD can search nested directories. By default it is turned off,
but there is new parameter to ADParameters struct. Usually value
of 2 is good enough for all purposes.
svn-id: r49653
|
|
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem.
- Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL.
svn-id: r49548
|
|
- Rewritten T7G's font code to subclass Graphics::Font and make it cleaner.
- Use theme fonts for the Mac version of T7G (which used ugly system fonts
originally). With this the Mac version should be completable.
- Cleanup include interdependencies.
svn-id: r49487
|
|
svn-id: r49119
|
|
svn-id: r49117
|
|
svn-id: r49112
|
|
svn-id: r49005
|
|
svn-id: r48936
|