diff --git a/src/sound.cpp b/src/sound.cpp --- a/src/sound.cpp +++ b/src/sound.cpp @@ -31,6 +31,9 @@ static void OpenBankFile(const char *fil { memset(_original_sounds, 0, sizeof(_original_sounds)); + /* If there is no sound file (nosound set), don't load anything */ + if (filename == NULL) return; + FioOpenFile(SOUND_SLOT, filename); size_t pos = FioGetPos(); uint count = FioReadDword(); @@ -162,6 +165,9 @@ static void StartSound(SoundID sound_id, const SoundEntry *sound = GetSound(sound_id); if (sound == NULL) return; + /* Empty sound? */ + if (sound->rate == 0) return; + MixerChannel *mc = MxAllocateChannel(); if (mc == NULL) return;