aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel
AgeCommit message (Collapse)Author
2011-04-13TINSEL: Clean up code a bit, since we now handle digital audio muting ↵Johannes Schickel
differently.
2011-04-13TINSEL: Move custom ADPCM decoders to tinsel engineMax Horn
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
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.
2011-04-12TINSEL: cleanupMax Horn
2011-04-10TINSEL: Make the cdFlags array in drives.cpp static again.Johannes Schickel
2011-04-10TINSEL: Removed some unused global static variablesmd5
2011-04-10TINSEL: Merged NewName() inside DoSave() in order to remove a static varmd5
2011-04-10TINSEL: Cleanup - removed obsolete definesmd5
2011-04-10TINSEL: Changed cdFlags to be non-static and constantmd5
2011-04-10TINSEL: Removed the dummy ForceEntireRedraw() functionmd5
2011-04-10TINSEL: Removed the useless LookAtBuffers() functionmd5
2011-04-08TINSEL: Added numeric key mappings for function keysPaul Gilbert
2011-03-30TINSEL: Remove dead variablesMax Horn
2011-03-28AUDIO: Add Audio::MidiPlayer::createDriver(), let some engines use itMax Horn
2011-03-25AUDIO: Move more common code to Audio::MidiPlayerMax Horn
This also should fix some regressions from the previous commits, related to MidiParser's either being leaked, or being deleted and then used again (i.e., crashing). I tested as many games as I had available, but further testing of all affected engines is called for anyway.
2011-03-25TINSEL: Remove unused TinselEngine::_musicVolume memberMax Horn
2011-03-24TINSEL: Change MidiMusicPlayer to derive from Audio::MidiPlayerMax Horn
2011-03-23ENGINES: Further simplify pseudo MidiDrivers; fix some regressionsMax Horn
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.
2011-03-23AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclassesMax Horn
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.
2011-03-23TINSEL: Make MidiMusicPlayer::_parser and _mutex protectedMax Horn
2011-03-22AUDIO: Add pure virtual MidiDriver::isOpen() methodMax Horn
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.
2011-02-24TINSEL: Added enhanced music support for the German CD "Neon Edition" ↵md5
re-release of DW1 (bug #2827022)
2011-02-15TINSEL: Adapt to setPalette RGBA->RGB change.Johannes Schickel
This is done by converting the internal RGBA palette data to RGB before calling setPalette. This might not be the best solution, but looking a bit into the engine it seems like changing all the code to work with RGB instead of RGBA might require some bit of work.
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-02-07ALL: Fix whitespaces / indentionMax Horn
svn-id: r55818
2011-02-07COMMON: OSystem now has a PaletteManagerMax Horn
svn-id: r55806
2011-02-02MIDI: Fix for bug #3170988 - "MONKEY2: Messed up MT-32 music"Filippos Karapetis
This is a regression from r55256. Apparently, SCUMM has issues when sending a sustain off on a notes off event. Thus, this has been turned into a feature, which is disabled by default. Since MADE, SAGA and tinsel all share the same music code and play regular MIDI files, and this feature fixes hanging notes for them, it has been enabled for them. Also, applied a patch for a bug regarding the notes off event in MADE and tinsel, which has been applied in SAGA already svn-id: r55746
2011-01-30TINSEL: Memory Leak Fix in Coroutines.David Turner
This fixes the leak from the COR0_BEGIN_CODE macro's CoroContextTag allocation. Setting the _sleep value to negative values prevented the deallocation of these. Have tested for obvious regressions, but a full DW/DW2 playtest should be done to confirm that this doesn't cause any issues. Thanks to fingolfin for indicating this solution. svn-id: r55671
2011-01-02JANITORIAL: Suppress some useless includesArnaud Boutonné
svn-id: r55091
2010-12-07DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engineMax Horn
svn-id: r54815
2010-12-07TINSEL: Improve support for DW mac demo (see bug #3110936)Max Horn
svn-id: r54811
2010-11-23TINSEL: Fix support for file names with a trailing dotMax Horn
When copying data files with 8.3 names from a CD, they sometimes end up with a trailing dot, e.g. "INDEX." instead of "INDEX". Comon::File supports this, but in r54392 Tinsel stopped using Common::File. This commit also removes the useless SeekableSubReadStream wrapper around the actual file stream. svn-id: r54446
2010-11-23TINSEL: Turn TinselFile into a SeekableReadStreamMax Horn
svn-id: r54439
2010-11-23TINSEL: Restrict use of memstream.h & substream.hMax Horn
svn-id: r54437
2010-11-20TINSEL: Preliminary functionality for reading BE data filesPaul Gilbert
svn-id: r54392
2010-11-19COMMON: Split common/stream.h into several headersMax Horn
svn-id: r54385
2010-11-17TINSEL: Get rid of some global variablesMax Horn
These were actually all "harmless" (i.e. where no obstructions to RTL support). Still good to get rid of 'em! svn-id: r54286
2010-11-16TINSEL: Fixed compilation with MSVCFilippos Karapetis
svn-id: r54271
2010-11-16TINSEL: Remove unnecessary 'static'Max Horn
svn-id: r54263
2010-11-16TINSEL: Mark all (?) global vars with a FIXME commentMax Horn
Use of global vars is what prevents RTL from working in Tinsel (and probably in other engines). More specifically, the fact that many global vars are not explicitly inited when the engine is (re)launched. svn-id: r54262
2010-11-16TINSEL: Removed unnecessary 'static'Max Horn
svn-id: r54261
2010-11-08COMMON: Push #include audiocd.h in system.h out to .cpp filesMax Horn
svn-id: r54148
2010-11-08BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes onlyMax Horn
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
2010-11-07COMMON: Rename and tweak MD5 functionsMax Horn
* names now comply to our naming conventions * the function computeStreamMD5AsString which computes the MD5 as a hex string now returns it as a Common::String * add doxygen comments svn-id: r54121
2010-11-07DETECTOR: Get rid of ADGF_KEEPMATCHMax Horn
Also fix some typos, and minor tweaks svn-id: r54118
2010-11-01TINSEL: Correcting my previous commit, oopsMax Horn
svn-id: r54030
2010-11-01TINSEL: Fix a leak in DW2, and a potential OOB in NextTaggedActorMax Horn
svn-id: r54029
2010-11-01TINSEL: Fixed two places that weren't reset when exiting to the launcher and ↵Filippos Karapetis
reentering the game. There could be (and most likely are) others as well svn-id: r54028
2010-11-01TINSEL: Explain why exactly RTL is disabledMax Horn
The very same issue probably affects more engines, possibly even some which have RTL enabled. svn-id: r54027
2010-11-01ENGINES: Get rid of some (f)printfsMax Horn
svn-id: r54011