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.
|
|
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
|
|
This is a regression from r25630, which caused the code to send some garbage
data to the GS device, which resulted in some devices to fail with an
"Address Error." (like the Roland SC-55).
This might also fix bug #1927501 "GS option is broken". Even though actually
the device there failed with another error it is likely to be caused by the
same code. At least it is the only iMuse MIDI code change between 0.9.0 and
0.12.0, which might result in such a problem.
svn-id: r54727
|
|
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
|
|
svn-id: r52792
|
|
- Start rewriting audio code for FM-TOWNS versions of Loom, Indy3 and Monkey Island 1 using the recently added code in towns_audio.cpp (Zak should work the same way, but I can't test, since I don't own that one).
- All sound types (pcm, euphony and cd audio) now support volume and balance control (e.g. try walking into/out of the kitchen and opening/closing the door in the Scumm Bar in Monkey Island 1 or walking into/out of the circus tent).
- Pcm sounds now support proper loop start/end and note offsets (e.g. try out the hammer sound in the forge in LOOM for example).
- some other minor improvements
- The FM-Towns versions of Indy 4 and Monkey Island 2 are not affected. I don't have Monkey Island 2, but I presume that it will work like Indy 4. Adding support for these will be a separate task, since they work quite differently.
svn-id: r52198
|
|
svn-id: r49489
|
|
/ company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)
This commit does not touch "adlib" and "ADLIB" uses!
Also it does not update all the SCUMM detection entries, which still use "Adlib".
svn-id: r47279
|
|
before freeing it, which isn't necessary.
svn-id: r46941
|
|
svn-id: r46143
|
|
minor change.
svn-id: r46081
|
|
svn-id: r44214
|
|
svn-id: r44186
|
|
report #1088045 "MI2: Minor problems in native MT-32 mode").
svn-id: r44185
|
|
report #1088045 "MI2: Minor problems in native MT-32 mode").
svn-id: r44184
|
|
the base class does not have that virtual function anymore. Code moved to the destructor.
svn-id: r43714
|
|
overflow along with it.
svn-id: r43445
|
|
look at debug() and debugC(), since I'm really bored with this now. :-)
svn-id: r41061
|
|
said the timer changes fixed it. This time, I've made the workaround a bit
simpler to understand, though.
svn-id: r30429
|
|
svn-id: r30419
|
|
been updated.
svn-id: r28966
|
|
svn-id: r27830
|
|
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
|
|
header files are only included once. Many of them didn't have a SCUMM prefix
which could have lead to clashes with common header files.
svn-id: r25727
|
|
'len' is now one less than it used to in sysexHandler_Scumm(). Let's hope I
changed all the cases that needed changing, and nothing else...
svn-id: r25671
|
|
particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class)
svn-id: r25630
|
|
were explicitly markes as such. Doing that now (might break old savegames on some ports :/)
svn-id: r25629
|
|
Rapp is instantiating isn't synchronized"). I don't know if our timing is off,
or if it's just a case of overly optimistic scripting, but the pause / unpause
music instructions are issued in the wrong order.
svn-id: r24726
|
|
svn-id: r24682
|
|
svn-id: r24681
|
|
svn-id: r24680
|
|
svn-id: r24655
|
|
svn-id: r24327
|
|
the linker dependency graph). Porters will have to update project files
svn-id: r23974
|
|
NOT fix bug #1481383, even if that's where I heard about this problem.
svn-id: r22479
|
|
it in several calls to avoid duplication!!11!
svn-id: r21607
|
|
svn-id: r21604
|
|
to ~250). Many greetings to eriktorbjorn, and have fun recompiling.
svn-id: r21500
|
|
svn-id: r21441
|
|
svn-id: r21281
|
|
svn-id: r21279
|
|
removes all game-specific references from the Player class. Bloodshed Dev-C++ project file updated.
svn-id: r21241
|
|
svn-id: r21214
|
|
svn-id: r21213
|
|
on Bug 1088045.
svn-id: r21156
|
|
svn-id: r21107
|
|
svn-id: r21106
|