]> git.lizzy.rs Git - nothing.git/commitdiff
(#132) Test sound medium
authorrexim <reximkut@gmail.com>
Thu, 29 Mar 2018 20:23:16 +0000 (03:23 +0700)
committerrexim <reximkut@gmail.com>
Thu, 29 Mar 2018 20:23:16 +0000 (03:23 +0700)
src/game.c
src/game.h
src/main.c

index ed30d609503d45e505f772509b3aa1a0fe655437..2cf2b45316fed580e53c4d96a0b5cc9d80440f05 100644 (file)
@@ -25,11 +25,9 @@ typedef struct game_t {
     game_state_t state;
     level_t *level;
     char *level_file_path;
     game_state_t state;
     level_t *level;
     char *level_file_path;
-    sound_medium_t *sound_medium;
 } game_t;
 
 } game_t;
 
-game_t *create_game(const char *level_file_path,
-                    const char *sounds_folder_path)
+game_t *create_game(const char *level_file_path)
 {
     assert(level_file_path);
 
 {
     assert(level_file_path);
 
@@ -60,14 +58,6 @@ game_t *create_game(const char *level_file_path,
 
     strcpy(game->level_file_path, level_file_path);
 
 
     strcpy(game->level_file_path, level_file_path);
 
-    game->sound_medium = PUSH_LT(
-        lt,
-        create_sound_medium_from_folder(sounds_folder_path),
-        destroy_sound_medium);
-    if (game->sound_medium == NULL) {
-        RETURN_LT(lt, NULL);
-    }
-
     game->state = GAME_STATE_RUNNING;
     game->lt = lt;
 
     game->state = GAME_STATE_RUNNING;
     game->lt = lt;
 
index 3c5461420121452d1b611803f38f5bcbaeea6376..8691b4c9b01b6b6a955e9d1694ee97562296e3c8 100644 (file)
@@ -4,8 +4,7 @@
 typedef struct game_t game_t;
 typedef struct SDL_Renderer SDL_Renderer;
 
 typedef struct game_t game_t;
 typedef struct SDL_Renderer SDL_Renderer;
 
-game_t *create_game(const char *platforms_file_path,
-                    const char *sounds_folder_path);
+game_t *create_game(const char *platforms_file_path);
 void destroy_game(game_t *game);
 
 int game_render(const game_t *game, SDL_Renderer *renderer);
 void destroy_game(game_t *game);
 
 int game_render(const game_t *game, SDL_Renderer *renderer);
index f4bcc4d05a00ec92407d35b03427499ece9d0298..84d2720856826602e784aa56aeb4bbe4afbf2e2c 100644 (file)
@@ -10,6 +10,9 @@
 #include "./game.h"
 #include "./lt.h"
 #include "./path.h"
 #include "./game.h"
 #include "./lt.h"
 #include "./path.h"
+#include "./point.h"
+#include "./sound_sample.h"
+#include "./sound_medium.h"
 
 #define SCREEN_WIDTH 800
 #define SCREEN_HEIGHT 600
 
 #define SCREEN_WIDTH 800
 #define SCREEN_HEIGHT 600
@@ -107,17 +110,30 @@ int main(int argc, char *argv[])
         print_error_msg(ERROR_TYPE_SDL2_MIXER, "Could not initialize the audio\n");
         RETURN_LT(lt, -1);
     }
         print_error_msg(ERROR_TYPE_SDL2_MIXER, "Could not initialize the audio\n");
         RETURN_LT(lt, -1);
     }
-
     PUSH_LT(lt, 42, Mix_CloseAudio_lt);
 
     PUSH_LT(lt, 42, Mix_CloseAudio_lt);
 
+    Mix_AllocateChannels(16);
+
+    Mix_Chunk * sound_samples[] = {
+        PUSH_LT(lt, Mix_LoadWAV("./sounds/nothing.wav"), Mix_FreeChunk),
+        PUSH_LT(lt, Mix_LoadWAV("./sounds/something.wav"), Mix_FreeChunk)
+    };
+    const size_t sound_samples_count = sizeof(sound_samples) / sizeof(Mix_Chunk*);
+
+    sound_medium_t *sound_medium =
+        PUSH_LT(lt, create_sound_medium(sound_samples, sound_samples_count), destroy_sound_medium);
+
+    sound_medium_play_sound(sound_medium, 1, vec(0.0, 0.0));
+
     // ------------------------------
 
     char *sounds_folder = PUSH_LT(lt, base_path_folder("sounds"), free);
     if (sounds_folder == NULL) {
     // ------------------------------
 
     char *sounds_folder = PUSH_LT(lt, base_path_folder("sounds"), free);
     if (sounds_folder == NULL) {
+        print_current_error_msg("Could not get the sounds folder");
         RETURN_LT(lt, -1);
     }
 
         RETURN_LT(lt, -1);
     }
 
-    game_t *const game = PUSH_LT(lt, create_game(argv[1], sounds_folder), destroy_game);
+    game_t *const game = PUSH_LT(lt, create_game(argv[1]), destroy_game);
     if (game == NULL) {
         print_current_error_msg("Could not create the game object");
         RETURN_LT(lt, -1);
     if (game == NULL) {
         print_current_error_msg("Could not create the game object");
         RETURN_LT(lt, -1);