diff options
| author | realtradam <[email protected]> | 2023-06-05 04:40:58 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-06-05 04:40:58 -0400 |
| commit | 06a3fc95288b8301a3b872ec5b4e906240f76fef (patch) | |
| tree | 27fc7b7fb2911e11c661cbebc6161c40cefb0f72 /include | |
| parent | 6ffc61e72504f2a0e99831781ce060dada173aff (diff) | |
| download | RodeoKit-06a3fc95288b8301a3b872ec5b4e906240f76fef.tar.gz RodeoKit-06a3fc95288b8301a3b872ec5b4e906240f76fef.zip | |
begin rewrite to avoid exposed pointers
Diffstat (limited to 'include')
| -rw-r--r-- | include/rodeo/audio.h | 21 | ||||
| -rw-r--r-- | include/rodeo/audio_t.h | 16 | ||||
| -rw-r--r-- | include/rodeo/collision.h | 4 | ||||
| -rw-r--r-- | include/rodeo/collision_t.h | 10 | ||||
| -rw-r--r-- | include/rodeo/gfx.h | 16 | ||||
| -rw-r--r-- | include/rodeo/input.h | 36 | ||||
| -rw-r--r-- | include/rodeo/input_t.h | 29 |
7 files changed, 83 insertions, 49 deletions
diff --git a/include/rodeo/audio.h b/include/rodeo/audio.h index 14ae6f0..092e7f5 100644 --- a/include/rodeo/audio.h +++ b/include/rodeo/audio.h @@ -1,14 +1,15 @@ #pragma once +// -- internal -- +// public +#include "rodeo/audio_t.h" + // -- external -- #include "stc/cstr.h" // -- system -- #include <inttypes.h> -typedef struct rodeo_audio_sound_t rodeo_audio_sound_t; -typedef struct rodeo_audio_music_t rodeo_audio_music_t; - void rodeo_audio_init( uint32_t channels @@ -52,26 +53,26 @@ float rodeo_audio_channelPool_volume_get(uint32_t channel_pool_id); */ -rodeo_audio_sound_t* +rodeo_audio_sound_t rodeo_audio_sound_create_from_path(cstr path); void -rodeo_audio_sound_destroy(rodeo_audio_sound_t* sound); +rodeo_audio_sound_destroy(rodeo_audio_sound_t sound); -rodeo_audio_music_t* +rodeo_audio_music_t rodeo_audio_music_create_from_path(cstr path); void -rodeo_audio_music_destroy(rodeo_audio_music_t* music); +rodeo_audio_music_destroy(rodeo_audio_music_t music); void -rodeo_audio_sound_play(rodeo_audio_sound_t *sound); +rodeo_audio_sound_play(rodeo_audio_sound_t sound); void -rodeo_audio_music_play(rodeo_audio_music_t *music); +rodeo_audio_music_play(rodeo_audio_music_t music); void -rodeo_audio_music_play_fadeIn(rodeo_audio_music_t *music, uint32_t fade_duration_milliseconds); +rodeo_audio_music_play_fadeIn(rodeo_audio_music_t music, uint32_t fade_duration_milliseconds); void rodeo_audio_music_stop(void); diff --git a/include/rodeo/audio_t.h b/include/rodeo/audio_t.h index 45dcbb0..561229a 100644 --- a/include/rodeo/audio_t.h +++ b/include/rodeo/audio_t.h @@ -1,3 +1,19 @@ #pragma once +typedef struct rodeo_audio_sound_data rodeo_audio_sound_data_t; +typedef +struct +{ + rodeo_audio_sound_data_t *data; +} +rodeo_audio_sound_t; + +typedef struct rodeo_audio_music_data rodeo_audio_music_data_t; + +typedef +struct +{ + rodeo_audio_music_data_t *data; +} +rodeo_audio_music_t; diff --git a/include/rodeo/collision.h b/include/rodeo/collision.h index 365522c..b3619f4 100644 --- a/include/rodeo/collision.h +++ b/include/rodeo/collision.h @@ -55,6 +55,6 @@ rodeo_collision_2d_world_compare_other( // from raylib GetCollisionRect rodeo_rectangle_t rodeo_collision_2d_get_collision_rect( - rodeo_collision_2d_world_item_t *a, - rodeo_collision_2d_world_item_t *b + rodeo_rectangle_t a, + rodeo_rectangle_t b ); diff --git a/include/rodeo/collision_t.h b/include/rodeo/collision_t.h index e75d243..21ffbf4 100644 --- a/include/rodeo/collision_t.h +++ b/include/rodeo/collision_t.h @@ -1,5 +1,9 @@ #pragma once +// -- internal -- +// public +#include "rodeo_types.h" + // -- system -- #include <stdint.h> #include <stdbool.h> @@ -17,13 +21,9 @@ typedef struct { world_id id; - float x; - float y; + rodeo_rectangle_t rect; float dx; float dy; - bool is_circle; - float width; - float height; } rodeo_collision_2d_world_item_t; diff --git a/include/rodeo/gfx.h b/include/rodeo/gfx.h index 28d46ff..a10e901 100644 --- a/include/rodeo/gfx.h +++ b/include/rodeo/gfx.h @@ -25,7 +25,7 @@ rodeo_gfx_renderer_name_get(void); void rodeo_gfx_renderer_flush(void); -const rodeo_gfx_texture_2d_t* +rodeo_gfx_texture_2d_t rodeo_gfx_texture_2d_default_get(void); rodeo_gfx_texture_2d_t @@ -39,20 +39,20 @@ rodeo_gfx_texture_2d_t rodeo_gfx_texture_2d_create_from_path(cstr path); void -rodeo_gfx_texture_2d_destroy(rodeo_gfx_texture_2d_t *texture); +rodeo_gfx_texture_2d_destroy(rodeo_gfx_texture_2d_t texture); void rodeo_gfx_rectangle_draw( - const rodeo_rectangle_t *rectangle, - const rodeo_color_RGBAFloat_t *color + const rodeo_rectangle_t rectangle, + const rodeo_color_RGBAFloat_t color ); void rodeo_gfx_texture_2d_draw( - const rodeo_rectangle_t *destination, - const rodeo_rectangle_t *source, - const rodeo_color_RGBAFloat_t *color, - const rodeo_gfx_texture_2d_t *texture + const rodeo_rectangle_t destination, + const rodeo_rectangle_t source, + const rodeo_color_RGBAFloat_t color, + const rodeo_gfx_texture_2d_t texture ); void diff --git a/include/rodeo/input.h b/include/rodeo/input.h index fe2b67d..dac70e9 100644 --- a/include/rodeo/input.h +++ b/include/rodeo/input.h @@ -8,64 +8,64 @@ rodeo_input_poll(void); void rodeo_input_command_register_callback( - rodeo_input_command_t *command, + rodeo_input_command_t command, rodeo_input_callback_function func ); void rodeo_input_command_unregister_callback( - rodeo_input_command_t *command, + rodeo_input_command_t command, rodeo_input_callback_function func ); -rodeo_input_scene_t* +rodeo_input_scene_t rodeo_input_scene_create(void); void -rodeo_input_scene_destroy(rodeo_input_scene_t *scene); +rodeo_input_scene_destroy(rodeo_input_scene_t scene); -rodeo_input_command_t* +rodeo_input_command_t rodeo_input_command_create(uint32_t input_types); // make sure to unregister from all scenes before destroying void -rodeo_input_command_destroy(rodeo_input_command_t *command); +rodeo_input_command_destroy(rodeo_input_command_t command); // returns false if attempting to register // input type that has been set as valid bool rodeo_input_command_register_binary_scancode( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_binary_scancode_t scancode ); bool rodeo_input_command_register_binary_controllerButton( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_binary_controllerButton_t button ); bool rodeo_input_command_register_binary_mouseButton( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_binary_mouseButton_t mouse_button ); bool rodeo_input_command_register_positional_mouse( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_positional_mouse_t mouse_axis ); bool rodeo_input_command_register_boundedRange_controllerAxis( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_boundedRange_controllerAxis_t controller_axis ); bool rodeo_input_command_register_unboundedRange_mouse( - rodeo_input_command_t *input_command, + rodeo_input_command_t input_command, rodeo_input_unboundedRange_mouse_t mouse_axis ); @@ -75,24 +75,24 @@ rodeo_input_command_register_unboundedRange_mouse( void rodeo_input_scene_register_command( - rodeo_input_scene_t *scene, - rodeo_input_command_t *command + rodeo_input_scene_t scene, + rodeo_input_command_t command ); void rodeo_input_scene_unregister_command( - rodeo_input_scene_t *scene, - rodeo_input_command_t *command + rodeo_input_scene_t scene, + rodeo_input_command_t command ); void rodeo_input_scene_activate( - rodeo_input_scene_t *scene + rodeo_input_scene_t scene ); void rodeo_input_scene_deactivate( - rodeo_input_scene_t *scene + rodeo_input_scene_t scene ); void diff --git a/include/rodeo/input_t.h b/include/rodeo/input_t.h index 90ab71d..4903b54 100644 --- a/include/rodeo/input_t.h +++ b/include/rodeo/input_t.h @@ -764,7 +764,8 @@ enum } rodeo_input_binary_mouseButton_t; -typedef enum +typedef +enum { rodeo_input_binary_controllerButton_INVALID = -1, rodeo_input_binary_controllerButton_A, @@ -927,7 +928,7 @@ void* #include <stc/cset.h> #define i_val rodeo_input_boundedRange_controllerAxis_t -#define i_tag input_boundedRange_controllerAxis +#define i_tag input_boundedRange_controllerAxes #include <stc/cset.h> #define i_val rodeo_input_unboundedRange_mouse_t @@ -935,7 +936,7 @@ void* #include <stc/cset.h> #define i_val rodeo_input_binary_controllerButton_t -#define i_tag input_binary_controllerButton +#define i_tag input_binary_controllerButtons #include <stc/cset.h> typedef @@ -949,7 +950,7 @@ struct { cset_input_binary_scancodes scancodes; cset_input_binary_mouseButtons mouse_buttons; - cset_input_binary_controllerButton controller_buttons; + cset_input_binary_controllerButtons controller_buttons; } binary; @@ -961,7 +962,7 @@ struct struct { - cset_input_boundedRange_controllerAxis controller_axes; + cset_input_boundedRange_controllerAxes controller_axes; } bounded_range; @@ -972,9 +973,17 @@ struct unbounded_range; } +rodeo_input_command_data_t; + + +typedef +struct +{ + rodeo_input_command_data_t *data; +} rodeo_input_command_t; -#define i_val rodeo_input_command_t* +#define i_val rodeo_input_command_data_t* #define i_tag input_commands #include <stc/cset.h> @@ -983,4 +992,12 @@ struct { cset_input_commands commands; } +rodeo_input_scene_data_t; + + +typedef +struct +{ + rodeo_input_scene_data_t *data; +} rodeo_input_scene_t; |
