diff options
Diffstat (limited to 'src/input.c')
| -rw-r--r-- | src/input.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/input.c b/src/input.c index 420648c..45cce8e 100644 --- a/src/input.c +++ b/src/input.c @@ -237,6 +237,39 @@ play_sound_input3(rodeo_input_any_state_t *input_state, void *data) return &down; } + +void* +mouse_x_input( + rodeo_input_any_state_t *input_state, + void *data +) +{ + static int64_t pos = 0; + + if(NULL != input_state) + { + pos = input_state->data.positional_state; + } + + return &pos; +} + +void* +mouse_y_input( + rodeo_input_any_state_t *input_state, + void *data +) +{ + static int64_t pos = 0; + + if(NULL != input_state) + { + pos = input_state->data.positional_state; + } + + return &pos; +} + #ifdef __clang__ #pragma clang diagnostic pop #endif @@ -266,6 +299,13 @@ register_inputs(void) rodeo_input_type_Binary | rodeo_input_type_UnboundedRange | rodeo_input_type_BoundedRange ); + inputs.mouse_x = rodeo_input_command_create( + rodeo_input_type_Positional + ); + inputs.mouse_y = rodeo_input_command_create( + rodeo_input_type_Positional + ); + inputs.play_sound = rodeo_input_command_create( rodeo_input_type_Binary ); @@ -295,6 +335,9 @@ register_inputs(void) 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_positional_mouse(inputs.mouse_x, rodeo_input_positional_mouse_X); + rodeo_input_command_register_positional_mouse(inputs.mouse_y, rodeo_input_positional_mouse_Y); + rodeo_input_command_register_binary_scancode(inputs.play_sound, rodeo_input_binary_scancode_M); rodeo_input_command_register_binary_scancode(inputs.play_sound2, rodeo_input_binary_scancode_N); rodeo_input_command_register_binary_scancode(inputs.play_sound3, rodeo_input_binary_scancode_B); @@ -307,6 +350,9 @@ register_inputs(void) 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.mouse_x, *mouse_x_input); + rodeo_input_command_register_callback(inputs.mouse_y, *mouse_y_input); + rodeo_input_command_register_callback(inputs.play_sound, *play_sound_input); rodeo_input_command_register_callback(inputs.play_sound2, *play_sound_input2); rodeo_input_command_register_callback(inputs.play_sound3, *play_sound_input3); @@ -319,6 +365,9 @@ register_inputs(void) 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.mouse_x); + rodeo_input_scene_register_command(inputs.scene, inputs.mouse_y); + rodeo_input_scene_register_command(inputs.scene, inputs.play_sound); rodeo_input_scene_register_command(inputs.scene, inputs.play_sound2); rodeo_input_scene_register_command(inputs.scene, inputs.play_sound3); |
