aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel
AgeCommit message (Collapse)Author
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
2010-11-01GUI: Add GCC_PRINTF to GUI::Debugger::DebugPrintf & fix resulting warningsMax Horn
svn-id: r54007
2010-10-31TINSEL: Reintroduce DUMMY variable removed in r53932Ori Avtalion
This placates compilers that complain about the semicolon in "CORO_BEGIN_CONTEXT;" svn-id: r53992
2010-10-31TINSEL: cleanupMax Horn
svn-id: r53991
2010-10-30TINSEL: Remove redundant if()Max Horn
svn-id: r53936
2010-10-30TINSEL: Remove unnecessary CORO_PARAM from ObjectTextOutMax Horn
As a nice side effect, this gets rid of 25 out of 64 occurrences of nullContext in the TINSEL code. svn-id: r53935
2010-10-30TINSEL: Fix subtle leak in coroutine code, some minor tweaksMax Horn
* Fix a bug which caused coroutines invoked with nullContext to leak their state. Sadly, nullContext is underdocumented, yet very delicate and full of subtleties... ./ * Move nullContext decl from sched.cpp to coroutine.cpp * Enhance a few doxygen comments svn-id: r53934
2010-10-30TINSEL: Dispose state of active coroutines in Scheduler destructorMax Horn
This fixes some leaks that occurred when exiting the game resp. returning to launcher. Note that we still leak some coroutines when exiting after loading a savegame. svn-id: r53933
2010-10-30TINSEL: Add COROUTINE_DEBUG macro to ease debugging coroutine codeMax Horn
svn-id: r53932
2010-10-22TINSEL: Fix for #3091314 - Added extra detection entries for Multi-lingual DW1Paul Gilbert
This adds in German, Italian, and Spanish as detection entries, so a user can immediately select what language to run the game in. svn-id: r53724
2010-10-22TINSEL: Ignore SV_SPEECHDELAY in DW2 DemoPaul Gilbert
This stops the long delays at the start of playing each sample svn-id: r53717
2010-10-22TINSEL: Load samples file for DW2 DemoPaul Gilbert
svn-id: r53714
2010-10-22TINSEL: Fix incorrectly mapped opcode in DW2 DemoPaul Gilbert
svn-id: r53712
2010-10-22TINSEL: Remove unused functionPaul Gilbert
svn-id: r53711
2010-10-22TINSEL: Compilation fixPaul Gilbert
svn-id: r53709