]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/sound_samples.c
Merge pull request #602 from tsoding/valgrind
[nothing.git] / src / game / sound_samples.c
index 48eee459f79dacba121207a6812dc1ea67773132..b8d9126d24ffb2964c75880b439fc17d2bb16723 100644 (file)
@@ -1,12 +1,11 @@
 #include <SDL2/SDL.h>
 #include <SDL2/SDL_mixer.h>
-#include <assert.h>
+#include "system/stacktrace.h"
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "math/pi.h"
 #include "sound_samples.h"
-#include "system/error.h"
 #include "system/log.h"
 #include "system/lt.h"
 #include "system/nth_alloc.h"
@@ -33,8 +32,8 @@ static int mix_get_free_channel(void)
 Sound_samples *create_sound_samples(const char *sample_files[],
                                       size_t sample_files_count)
 {
-    assert(sample_files);
-    assert(sample_files_count > 0);
+    trace_assert(sample_files);
+    trace_assert(sample_files_count > 0);
 
     Lt *lt = create_lt();
     if (lt == NULL) {
@@ -43,7 +42,6 @@ Sound_samples *create_sound_samples(const char *sample_files[],
 
     Sound_samples *sound_samples = PUSH_LT(lt, nth_alloc(sizeof(Sound_samples)), free);
     if (sound_samples == NULL) {
-        throw_error(ERROR_TYPE_LIBC);
         RETURN_LT(lt, NULL);
     }
 
@@ -52,7 +50,6 @@ Sound_samples *create_sound_samples(const char *sample_files[],
         nth_alloc(sizeof(Mix_Chunk*) * sample_files_count),
         free);
     if (sound_samples->samples == NULL) {
-        throw_error(ERROR_TYPE_LIBC);
         RETURN_LT(lt, NULL);
     }
 
@@ -62,7 +59,7 @@ Sound_samples *create_sound_samples(const char *sample_files[],
             Mix_LoadWAV(sample_files[i]),
             Mix_FreeChunk);
         if (sound_samples->samples[i] == NULL) {
-            throw_error(ERROR_TYPE_SDL2_MIXER);
+            log_fail("Could not load '%s': %s\n", sample_files[i], Mix_GetError());
             RETURN_LT(lt, NULL);
         }
     }
@@ -77,7 +74,7 @@ Sound_samples *create_sound_samples(const char *sample_files[],
 
 void destroy_sound_samples(Sound_samples *sound_samples)
 {
-    assert(sound_samples);
+    trace_assert(sound_samples);
     RETURN_LT0(sound_samples->lt);
 }
 
@@ -85,7 +82,7 @@ int sound_samples_play_sound(Sound_samples *sound_samples,
                             size_t sound_index,
                             int loops)
 {
-    assert(sound_samples);
+    trace_assert(sound_samples);
 
     if (sound_index < sound_samples->samples_count) {
         const int free_channel = mix_get_free_channel();
@@ -102,7 +99,7 @@ int sound_samples_play_sound(Sound_samples *sound_samples,
 
 int sound_samples_toggle_pause(Sound_samples *sound_samples)
 {
-    assert(sound_samples);
+    trace_assert(sound_samples);
 
     if (sound_samples->paused) {
         Mix_Resume(-1);