diff options
Diffstat (limited to 'src/sound')
-rw-r--r-- | src/sound/null_s.cpp | 1 | ||||
-rw-r--r-- | src/sound/null_s.h | 2 | ||||
-rw-r--r-- | src/sound/sdl_s.cpp | 2 | ||||
-rw-r--r-- | src/sound/sdl_s.h | 2 | ||||
-rw-r--r-- | src/sound/win32_s.cpp | 20 |
5 files changed, 12 insertions, 15 deletions
diff --git a/src/sound/null_s.cpp b/src/sound/null_s.cpp index f68c4b13a..e2c5ce2d8 100644 --- a/src/sound/null_s.cpp +++ b/src/sound/null_s.cpp @@ -1,7 +1,6 @@ /* $Id$ */ #include "../stdafx.h" -#include "../openttd.h" #include "null_s.h" static const char *NullSoundStart(const char * const *parm) { return NULL; } diff --git a/src/sound/null_s.h b/src/sound/null_s.h index 6ccd19aed..204c58376 100644 --- a/src/sound/null_s.h +++ b/src/sound/null_s.h @@ -7,4 +7,4 @@ extern const HalSoundDriver _null_sound_driver; -#endif +#endif /* SOUND_NULL_H */ diff --git a/src/sound/sdl_s.cpp b/src/sound/sdl_s.cpp index 4b1da52d6..8ec31e9fb 100644 --- a/src/sound/sdl_s.cpp +++ b/src/sound/sdl_s.cpp @@ -44,4 +44,4 @@ const HalSoundDriver _sdl_sound_driver = { SdlSoundStop, }; -#endif +#endif /* WITH_SDL */ diff --git a/src/sound/sdl_s.h b/src/sound/sdl_s.h index 6fc2b6dc0..a667e137a 100644 --- a/src/sound/sdl_s.h +++ b/src/sound/sdl_s.h @@ -7,4 +7,4 @@ extern const HalSoundDriver _sdl_sound_driver; -#endif +#endif /* SOUND_SDL_H */ diff --git a/src/sound/win32_s.cpp b/src/sound/win32_s.cpp index 68194ad39..77d688eb4 100644 --- a/src/sound/win32_s.cpp +++ b/src/sound/win32_s.cpp @@ -42,29 +42,27 @@ static void CALLBACK waveOutProc(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, { switch (uMsg) { case WOM_DONE: - if (_waveout) FillHeaders(); - break; - - default: + if (_waveout != NULL) FillHeaders(); break; + default: break; } } static const char *Win32SoundStart(const char* const* parm) { WAVEFORMATEX wfex; - int hz; - - _bufsize = GetDriverParamInt(parm, "bufsize", 1024); - hz = GetDriverParamInt(parm, "hz", 11025); wfex.wFormatTag = WAVE_FORMAT_PCM; wfex.nChannels = 2; - wfex.nSamplesPerSec = hz; - wfex.nAvgBytesPerSec = hz * 2 * 2; - wfex.nBlockAlign = 4; wfex.wBitsPerSample = 16; + wfex.nSamplesPerSec = GetDriverParamInt(parm, "hz", 11025); + wfex.nBlockAlign = (wfex.nChannels * wfex.wBitsPerSample) / 8; + wfex.nAvgBytesPerSec = wfex.nSamplesPerSec * wfex.nBlockAlign; + + _bufsize = GetDriverParamInt(parm, "bufsize", 1024); + if (waveOutOpen(&_waveout, WAVE_MAPPER, &wfex, (DWORD_PTR)&waveOutProc, 0, CALLBACK_FUNCTION) != MMSYSERR_NOERROR) return "waveOutOpen failed"; + PrepareHeader(&_wave_hdr[0]); PrepareHeader(&_wave_hdr[1]); FillHeaders(); |