summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-06-05 04:40:58 -0400
committerrealtradam <[email protected]>2023-06-05 04:40:58 -0400
commit06a3fc95288b8301a3b872ec5b4e906240f76fef (patch)
tree27fc7b7fb2911e11c661cbebc6161c40cefb0f72 /include
parent6ffc61e72504f2a0e99831781ce060dada173aff (diff)
downloadRodeoKit-06a3fc95288b8301a3b872ec5b4e906240f76fef.tar.gz
RodeoKit-06a3fc95288b8301a3b872ec5b4e906240f76fef.zip
begin rewrite to avoid exposed pointers
Diffstat (limited to 'include')
-rw-r--r--include/rodeo/audio.h21
-rw-r--r--include/rodeo/audio_t.h16
-rw-r--r--include/rodeo/collision.h4
-rw-r--r--include/rodeo/collision_t.h10
-rw-r--r--include/rodeo/gfx.h16
-rw-r--r--include/rodeo/input.h36
-rw-r--r--include/rodeo/input_t.h29
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;