From 9761b2ab4ded859f6f2252eae449ce8fd2b81c83 Mon Sep 17 00:00:00 2001 From: realtradam Date: Tue, 2 May 2023 20:49:16 -0400 Subject: rodeo bump --- assets/sample.wav | Bin 0 -> 8462 bytes external/RodeoKit | 2 +- src/input.c | 32 +++++++++++++++++++++++++++++++- src/input.h | 7 +++++++ src/main.c | 8 ++++++++ 5 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 assets/sample.wav diff --git a/assets/sample.wav b/assets/sample.wav new file mode 100644 index 0000000..64b8e1b Binary files /dev/null and b/assets/sample.wav differ diff --git a/external/RodeoKit b/external/RodeoKit index 4b6ae78..87ca456 160000 --- a/external/RodeoKit +++ b/external/RodeoKit @@ -1 +1 @@ -Subproject commit 4b6ae783ce2c9f08d21d2a2969826412cc587de2 +Subproject commit 87ca456c3f3e97f149604bc033fdd57998e2dcd4 diff --git a/src/input.c b/src/input.c index 1cb21df..c9d05e1 100644 --- a/src/input.c +++ b/src/input.c @@ -1,6 +1,7 @@ #include "input.h" #include "rodeo/input.h" +#include "rodeo/audio.h" scenes_and_commands_t inputs = {0}; @@ -177,7 +178,26 @@ units_move_down_input(rodeo_input_any_state_t *input_state, void *data) *(bool*)data ); return &move; -} +} + +void* +play_sound_input(rodeo_input_any_state_t *input_state, void *data) +{ + static bool down = false; + + if(NULL != input_state) + { + down = input_state->data.binary_state; + } + /* + else if(down) + { + rodeo_audio_playSample(); + } + */ + + return &down; +} #ifdef __clang__ #pragma clang diagnostic pop @@ -207,6 +227,10 @@ register_inputs(void) inputs.right = rodeo_input_command_create( rodeo_input_type_Binary | rodeo_input_type_UnboundedRange | rodeo_input_type_BoundedRange ); + + inputs.play_sound = rodeo_input_command_create( + rodeo_input_type_Binary + ); // -- // - register inputs - @@ -226,6 +250,8 @@ register_inputs(void) rodeo_input_command_register_boundedRange_controllerAxis(inputs.down, rodeo_input_boundedRange_controllerAxisLeft_Y); rodeo_input_command_register_boundedRange_controllerAxis(inputs.left, rodeo_input_boundedRange_controllerAxisLeft_X); rodeo_input_command_register_boundedRange_controllerAxis(inputs.right, rodeo_input_boundedRange_controllerAxisLeft_X); + + rodeo_input_command_register_binary_scancode(inputs.play_sound, rodeo_input_binary_scancode_M); // -- // - register callbacks - @@ -234,6 +260,8 @@ register_inputs(void) rodeo_input_command_register_callback(inputs.down, *units_move_down_input); rodeo_input_command_register_callback(inputs.left, *units_move_left_input); rodeo_input_command_register_callback(inputs.right, *units_move_right_input); + + rodeo_input_command_register_callback(inputs.play_sound, *play_sound_input); // -- // - register commands - @@ -242,6 +270,8 @@ register_inputs(void) rodeo_input_scene_register_command(inputs.scene, inputs.down); rodeo_input_scene_register_command(inputs.scene, inputs.left); rodeo_input_scene_register_command(inputs.scene, inputs.right); + + rodeo_input_scene_register_command(inputs.scene, inputs.play_sound); // -- // activate scene diff --git a/src/input.h b/src/input.h index 58abf5d..cef1519 100644 --- a/src/input.h +++ b/src/input.h @@ -10,6 +10,7 @@ struct rodeo_input_command_t *right; rodeo_input_command_t *up; rodeo_input_command_t *down; + rodeo_input_command_t *play_sound; } scenes_and_commands_t; @@ -51,6 +52,12 @@ units_move_down_input( void *data ); +void* +play_sound_input( + rodeo_input_any_state_t *input_state, + void *data +); + void register_inputs(void); diff --git a/src/main.c b/src/main.c index 225ade7..4cb1cf8 100644 --- a/src/main.c +++ b/src/main.c @@ -117,6 +117,13 @@ main_loop(void) summon_position.x += *(float*)units_move_right_input(NULL, NULL) + *(float*)units_move_left_input(NULL, NULL); summon_position.y += *(float*)units_move_down_input(NULL, NULL) + *(float*)units_move_up_input(NULL, NULL); + if(*(bool*)play_sound_input(NULL, NULL)) + { + rodeo_audio_playSample(); + } + + //play_sound_input(NULL, NULL); + if(*(bool*)summon_units_input(NULL, NULL)) { summon_units(); @@ -268,6 +275,7 @@ main(void) //); texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/orc.png")); + rodeo_audio_loadSample(); rodeo_mainLoop_run( main_loop -- cgit v1.2.3