Commit Graph

44683 Commits

Author SHA1 Message Date
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
c70c8864f1 AUDIO: Introduce a new MidiDriver_BASE base class.
The actual MidiDriver derives from it. MidiDriver_BASE only
provides the minimal API necessary for transmitting MIDI data.
The idea is that this is all MidiParser needs, thus allowing
us to simplify the various MidiPlayer classes in our engines.
2011-03-23 15:25:47 +01:00
Max Horn
a539be098d AUDIO: Update some comments, remove some obsolete ones 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
Max Horn
4172414e35 COMMON: Remove TODO from struct Event
I moved this TODO to the Wiki TODO page and extended it there. Yet
while I originally wrote it, I now think that we are probably best off
keeping things as they are.
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
92716d71ed NEWS: Mention new Swedish translation 2011-03-22 22:32:18 +00:00
Thierry Crozat
ca772d1460 I18N: Update translation data file 2011-03-22 22:20:20 +00:00
Thierry Crozat
3e630ea09b I18N: Clean po files (remove obsolete strings) 2011-03-22 22:20:19 +00:00
Thierry Crozat
9adb25444c I18N: Regenerate translation template and update po files
This follows the modification done in the scumm help dialog to
reduce the number of strings to translate.
2011-03-22 22:20:18 +00: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
Thierry Crozat
c2d20b90d8 BUILD: remove obsolete rule for translation support 2011-03-22 22:20:18 +00:00
Thierry Crozat
649304db3c CREDITS: Add credits for Swedish translation 2011-03-22 22:20:17 +00:00
Thierry Crozat
6f59d02db7 I18N: Regenerate translation data file 2011-03-22 22:20:15 +00:00
Thierry Crozat
300c8b81e5 I18N: Update translations files from template 2011-03-22 22:20:14 +00:00
Thierry Crozat
14b13f54ae I18N: Update translation template from source code 2011-03-22 22:20:14 +00:00
Thierry Crozat
a6f11186c5 I18N: Change language name from Swedish to Svenska 2011-03-22 22:20:14 +00:00
Thierry Crozat
541a9b8703 I18N: Add Swedish translation from path #3232066 2011-03-22 22:20:14 +00:00
Littleboy
5277c86482 LASTEXPRESS: Fix sound timer to only run every 17 milliseconds 2011-03-22 16:46:31 -04:00
dhewg
5f96dc6867 ANDROID: Fix timer frequency to match SDL 2011-03-22 21:02:42 +01:00
dhewg
18d9654ca2 TIMER: Cleanup 2011-03-22 21:02:41 +01:00
dhewg
bb12acfa0f AUDIO: Cleanup
Is it just me or is overwriting-but-not-marking-as-virtual
irritating?
2011-03-22 21:02:08 +01: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
Jordi Vilalta Prat
55231f18cd CONFIGURE: Apply patch #3193021 (AMIGAOS4: Typo in configure) 2011-03-22 17:50:40 +01: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
94c27e4657 VIDEO: Add a getDuration() function to SeekableVideoDecoder
This function returns the total duration of the video
2011-03-21 18:27:10 -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
Johannes Schickel
c064fa5c5b OPENGL: Fix mouse cursor position in Normal mode when AR is enabled. 2011-03-21 00:43:16 +01:00