mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +00:00
(svn r20105) -Revert (r20102) [FS#3938]: resetting DirectMusic completely, although working, causes a temporary freeze of OpenTTD. As MCI behaves better than DirectMusic that has become the default music driver; small delay between songs beats wrongly pitched/bad sounding songs
This commit is contained in:
parent
58f1470129
commit
d4da257ff9
@ -66,6 +66,22 @@ No suitable AI can be found
|
||||
"AI Settings" -> "Select AI" -> "Check Online Content" which is also
|
||||
accessed via the main menu.
|
||||
|
||||
Long delay between switching songs/music
|
||||
On Windows there is a delay of a (few) second(s) between switching of
|
||||
songs for the "win32" driver. This delay is caused by the fact that
|
||||
opening a MIDI file via MCI is extremely slow.
|
||||
|
||||
DirectMusic, known as "dmusic" in OpenTTD, has a much shorter delay.
|
||||
However, under some circumstances DirectMusic does not reset its
|
||||
state properly causing wrongly pitched/bad sounding songs. This
|
||||
problem is in DirectMusic as it is reproducable with Microsoft's
|
||||
DirectMusic Producer. DirectMusic has been deprecated since 2004
|
||||
and as such has no support for 64 bits OpenTTD.
|
||||
|
||||
As a delay is favourable over bad sounding music the "win32" driver
|
||||
is the default driver for OpenTTD. You can change this default by
|
||||
setting the "musicdriver" in your openttd.cfg to "dmusic".
|
||||
|
||||
Clipping problems [FS#119]
|
||||
In some cases sprites are not drawn as one would expect. Examples of
|
||||
this are aircraft that might be hidden below the runway or trees that
|
||||
|
@ -165,8 +165,8 @@ void MusicDriver_DMusic::PlaySong(const char *filename)
|
||||
|
||||
/* release the existing segment if we have any */
|
||||
if (segment != NULL) {
|
||||
this->Stop();
|
||||
if (this->Start(NULL) != NULL) return;
|
||||
segment->Release();
|
||||
segment = NULL;
|
||||
}
|
||||
|
||||
/* make a new segment */
|
||||
|
@ -32,7 +32,7 @@ public:
|
||||
|
||||
class FMusicDriver_DMusic: public MusicDriverFactory<FMusicDriver_DMusic> {
|
||||
public:
|
||||
static const int priority = 10;
|
||||
static const int priority = 5;
|
||||
/* virtual */ const char *GetName() { return "dmusic"; }
|
||||
/* virtual */ const char *GetDescription() { return "DirectMusic MIDI Driver"; }
|
||||
/* virtual */ Driver *CreateInstance() { return new MusicDriver_DMusic(); }
|
||||
|
@ -32,7 +32,7 @@ public:
|
||||
|
||||
class FMusicDriver_Win32: public MusicDriverFactory<FMusicDriver_Win32> {
|
||||
public:
|
||||
static const int priority = 5;
|
||||
static const int priority = 10;
|
||||
/* virtual */ const char *GetName() { return "win32"; }
|
||||
/* virtual */ const char *GetDescription() { return "Win32 Music Driver"; }
|
||||
/* virtual */ Driver *CreateInstance() { return new MusicDriver_Win32(); }
|
||||
|
Loading…
Reference in New Issue
Block a user