summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-05-02 20:49:16 -0400
committerrealtradam <[email protected]>2023-05-02 20:49:16 -0400
commit9761b2ab4ded859f6f2252eae449ce8fd2b81c83 (patch)
treec275e29ac697768f257c07e8f9a146e60680cd27 /src
parentf079cdd1d182d6a24bd705627a72fba638f4d8b1 (diff)
downloadrodeo_sample_game-9761b2ab4ded859f6f2252eae449ce8fd2b81c83.tar.gz
rodeo_sample_game-9761b2ab4ded859f6f2252eae449ce8fd2b81c83.zip
rodeo bump
Diffstat (limited to 'src')
-rw-r--r--src/input.c32
-rw-r--r--src/input.h7
-rw-r--r--src/main.c8
3 files changed, 46 insertions, 1 deletions
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