20682 Commits

Author SHA1 Message Date
Max Horn
84d68f31e8 MADE: Change MusicPlayer to derive from Audio::MidiPlayer 2011-03-24 16:46:47 +01:00
Max Horn
e76a8a8eb6 M4: Change MidiPlayer to derive from Audio::MidiPlayer
Also fix the _driver double delete regression I recently introduced
2011-03-24 16:46:47 +01:00
Max Horn
94e7a231fe HUGO: Change MidiPlayer to derive from Audio::MidiPlayer 2011-03-24 16:46:47 +01:00
Max Horn
4780eb7393 DRACI: Change MusicPlayer to derive from Audio::MidiPlayer 2011-03-24 16:46:46 +01:00
Max Horn
f4b30ecf6e AGI: Change SoundGenMIDI to derive from Audio::MidiPlayer
As a side effect, this fixes the incorrect handling of 'All Note Off'
in SoundGenMIDI::send.
2011-03-24 16:46:46 +01:00
Max Horn
2d4dff8cb4 DRACI: Fix incorrect 'all notes off' handling 2011-03-24 16:46:46 +01:00
Max Horn
00932cc715 QUEEN: Fix incorrect 'all notes off' handling 2011-03-24 16:46:45 +01:00
Max Horn
754c250c65 HUGO: When erroring out due to a missing file, tell the user which file is missing 2011-03-24 16:46:45 +01:00
Paul Gilbert
b3471354d0 SWORD25: Commit submitted patch of German comments translated to English 2011-03-24 20:48:58 +11:00
Matthew Hoops
4235358fad MOHAWK: Use direct access on the hashmap for Riven variables now 2011-03-23 23:14:59 -04:00
Matthew Hoops
b3e27bc0d6 MOHAWK: Make Riven's save/load code use the variable map directly 2011-03-23 21:45:39 -04:00
Matthew Hoops
aaf05b2a59 MOHAWK: Begin using a hashmap to store Riven variables 2011-03-23 21:33:57 -04:00
Max Horn
088bd7a70b ENGINES: Remove unused MIDI pass-through code 2011-03-23 17:07:48 +01:00
Max Horn
e70fd59b35 ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
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-23 16:49:41 +01:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
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-23 15:25:47 +01:00
Max Horn
2bc842dcee AGOS: Sanitize the mutex locking in MidiPlayer::startTrack 2011-03-23 15:25:46 +01:00
Max Horn
7b02dac3c5 ENGINES: Use Common::StackLock in more places 2011-03-23 15:25:46 +01:00
Max Horn
99dbecf3b4 TINSEL: Make MidiMusicPlayer::_parser and _mutex protected 2011-03-23 15:25:46 +01:00
Max Horn
756f592b61 SCUMM: Remove unused iMuse MIDI 'passthrough' code 2011-03-23 15:25:46 +01:00
Paul Gilbert
649a5adb10 SWORD25: Commit of patch translating German comments to English 2011-03-23 22:25:33 +11:00
Matthew Hoops
50a35193c9 MOHAWK: Remove 'old' from the LB v1 sound function too 2011-03-22 21:16:27 -04:00
Matthew Hoops
bc1c84e6c8 MOHAWK: Rename OldMohawkBitmap to LivingBooksBitmap_v1
'Old' is very ambiguous ;)
2011-03-22 21:13:54 -04:00
Matthew Hoops
e82e5e32ff MOHAWK: Begin to implement Riven opcode 38
Also, renamed it to better reflect its purpose
2011-03-22 20:33:38 -04:00
Matthew Hoops
1ca6781859 MOHAWK: Minor cursor call cleanup 2011-03-22 20:13:01 -04:00
Matthew Hoops
4d6c020cf4 MOHAWK: Remove the Riven 'restart' console command
This ancient console function has no purpose any longer and is half-broken anyway.
2011-03-22 20:04:46 -04:00
Matthew Hoops
a730d30f0c MOHAWK: Cleanup installer handling 2011-03-22 19:54:59 -04:00
Matthew Hoops
f40b74d496 MOHAWK: Handle launcher load fails more gracefully 2011-03-22 19:54:58 -04:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
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-03-22 23:51:47 +01:00
Thierry Crozat
fb4e5f7f84 I18N: Break keyboard shortcut translation by key
In the scumm help dialog, translate single keys, e.g. "Ctrl" or "Alt"
instead of asking the translator to translate individually  "Ctrl a",
"Ctrl b", "Alt a", "Alt b", Ctrl Alt a" and so on. This reduce greatly the
number of strings to translate.
2011-03-22 22:20:18 +00:00
Littleboy
5277c86482 LASTEXPRESS: Fix sound timer to only run every 17 milliseconds 2011-03-22 16:46:31 -04:00
Matthew Hoops
2053936959 MOHAWK: Ignore other 'time' variables when loading saves too 2011-03-22 14:27:32 -04:00
Matthew Hoops
d91c33ca26 MOHAWK: Implement xrwindowsetup 2011-03-22 14:11:24 -04:00
athrxx
ea79336ac9 Merge branch 'master' of https://github.com/scummvm/scummvm 2011-03-22 15:55:17 +01:00
athrxx
92f922aabe SCUMM FM-TOWNS: cleanup (thx LordHoto) 2011-03-22 15:53:43 +01:00
Matthew Hoops
273ba73d5f MOHAWK: Minor cleanup and consistency fixes 2011-03-21 18:33:48 -04:00
Matthew Hoops
6b80d25f6e MOHAWK: Implement the prison viewer 2011-03-21 18:28:02 -04:00
Matthew Hoops
cdc4c3bfa8 MOHAWK: Add a getDuration() function to the VideoManager 2011-03-21 18:27:49 -04:00
Matthew Hoops
40c496d730 MOHAWK: Implement the hardcoded Catherine idle videos 2011-03-21 13:21:47 -04:00
Matthew Hoops
cb948934ab MOHAWK: Add workaround for loading the bytramtime variable 2011-03-21 12:15:14 -04:00
Matthew Hoops
54ac6ade49 MOHAWK: Don't error out when the ReturnStackID cannot be converted 2011-03-21 12:15:14 -04:00
Max Horn
bf4dc80419 SWORD25: Reduce code duplication; formatting 2011-03-21 14:36:25 +01:00
Max Horn
dd88f39bc7 HUGO: Replace Utils::Box by Utils::notifyBox + Common::String::format 2011-03-21 13:16:35 +01:00
Max Horn
458ebbafd2 HUGO: Split Utils::Box -> new funcs Utils::yesNoBox and Utils::promptBox
This also fixes a bug in the kBoxPrompt code (it returned a pointer to
the content of a temporary string object).
2011-03-21 12:53:50 +01:00
Matthew Hoops
96c7f0d22d MOHAWK: Implement the Ytram trap 2011-03-20 16:13:53 -04:00
Gregory Montoir
3d0f255912 TUCKER: add missing code for kSupportsLoadingDuringStartup 2011-03-20 18:31:18 +01:00
md5
89f9c5a9c3 SCI: Moved the engine hunk pointer processing code inside the GfxPorts class
This allows us make _windowList private again
2011-03-20 15:29:12 +02:00
md5
4df049f4d7 SCI: Added a new console command "window_list" or "wl"
This can be used to see a list of the currently open windows. Also, added
a sanity check for the "al" command and performed some minor cleanup
2011-03-20 14:56:13 +02:00
md5
a43689550e SCI: Removed forward references to obsolete classes 2011-03-20 14:54:36 +02:00
dhewg
948c97f31b QUEEN: Fix the journal's music volume slider
Another regression from b5af1568
2011-03-20 12:01:27 +01:00
dhewg
aee359811d QUEEN: Reenable speech per default
Regression (typo) from b5af1568
2011-03-20 11:53:57 +01:00