From a382265aa000491091e87cc95371e6d57d24dc50 Mon Sep 17 00:00:00 2001 From: xesf Date: Sun, 20 Oct 2024 22:03:59 +0100 Subject: [PATCH] simplify play sample hidden entries --- src/game.c | 6 ++---- src/sample.c | 7 +++++++ src/sample.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/game.c b/src/game.c index 655938e..c4e20e9 100644 --- a/src/game.c +++ b/src/game.c @@ -86,10 +86,8 @@ void game_introduction() { if (!hqr_get_entry_alloc(&menu_samples, HQR_RESSOURCE, HQR_MENU_SAMPLES)) { printf("Error: Couldn't load palette %d\n", HQR_MENU_SAMPLES); } - i32 sample_hidden_index = 0; - u8 *sample_ptr = NULL; - u32 entry_size = hqr_get_hidden_entry_ptr(&sample_ptr, menu_samples, 0); - sample_play_ptr(HQR_MENU_SAMPLES * 100 + sample_hidden_index, sample_ptr, entry_size, 22050, 0, 0); + sample_play_hidden(HQR_MENU_SAMPLES, 0, menu_samples, 22050, 0, 0); + sample_play_hidden(HQR_MENU_SAMPLES, 1, menu_samples, 22050, 0, 0); memory_free(menu_samples); } diff --git a/src/sample.c b/src/sample.c index 3d545d6..378e99d 100644 --- a/src/sample.c +++ b/src/sample.c @@ -49,6 +49,13 @@ void sample_play(i32 index, i32 frequency, i32 repeat, i32 pan) { memory_free(sample_ptr); } +void sample_play_hidden(i32 index, i32 hidden_index, u8* menu_samples, i32 frequency, i32 repeat, i32 pan) { + i32 sample_hidden_index = 0; + u8 *sample_ptr = NULL; + u32 entry_size = hqr_get_hidden_entry_ptr(&sample_ptr, menu_samples, 0); + sample_play_ptr(index * 100 + hidden_index, sample_ptr, entry_size, 22050, 0, 0); +} + void sample_play_ptr(i32 index, u8* sample_ptr, i32 sample_size, i32 frequency, i32 repeat, i32 pan) { sample_play_position(index, sample_ptr, sample_size, frequency, repeat, 0, 0, 0, -1, 0, 0, 0); } diff --git a/src/sample.h b/src/sample.h index 50128c2..4a9c8ec 100644 --- a/src/sample.h +++ b/src/sample.h @@ -11,6 +11,7 @@ void sample_init(); i32 sample_is_playing(i32 index); void sample_play(i32 index, i32 frequency, i32 repeat, i32 pan); +void sample_play_hidden(i32 index, i32 hidden_index, u8* menu_samples, i32 frequency, i32 repeat, i32 pan); void sample_play_ptr(i32 index, u8* sample_ptr, i32 sample_size, i32 frequency, i32 repeat, i32 pan); void sample_play_position(i32 index, u8* sample_ptr, i32 sample_size, i32 frequency, i32 repeat, i32 x, i32 y, i32 z, i32 actor_index, i32 hero_x, i32 hero_y, i32 hero_z); void sample_pause();