summaryrefslogtreecommitdiffhomepage
path: root/src/rodeo_internal_types.h
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-03-08 00:19:55 -0500
committerrealtradam <[email protected]>2023-03-08 00:19:55 -0500
commit4b410af18ed7e76b42be1d2ab2ebdfe8e5bf97e8 (patch)
treeb6b20aa5470e240189c5e46288d9c261879d345c /src/rodeo_internal_types.h
parente58d0577634b1405a40a4b1ebd0a36323fa81970 (diff)
downloadRodeoKit-4b410af18ed7e76b42be1d2ab2ebdfe8e5bf97e8.tar.gz
RodeoKit-4b410af18ed7e76b42be1d2ab2ebdfe8e5bf97e8.zip
Continued cleanup and refactoring. Added string type.
Diffstat (limited to 'src/rodeo_internal_types.h')
-rw-r--r--src/rodeo_internal_types.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/rodeo_internal_types.h b/src/rodeo_internal_types.h
new file mode 100644
index 0000000..9816e86
--- /dev/null
+++ b/src/rodeo_internal_types.h
@@ -0,0 +1,37 @@
+#pragma once
+
+// public internal
+#include "rodeo_config.h"
+#include "rodeo_types.h"
+
+// system
+#if __EMSCRIPTEN__
+#include <emscripten/emscripten.h>
+#endif
+#include "SDL2/SDL.h"
+#include "SDL2/SDL_syswm.h"
+#include "bgfx/c99/bgfx.h"
+
+typedef struct
+{
+ SDL_Window* window;
+ SDL_Surface* screen_surface;
+ SDL_SysWMinfo wmi;
+ int screen_width;
+ int screen_height;
+ SDL_Event sdl_event;
+ bool quit;
+
+ bgfx_vertex_layout_t vertex_layout;
+ bgfx_dynamic_vertex_buffer_handle_t vertex_buffer_handle;
+ bgfx_dynamic_index_buffer_handle_t index_buffer_handle;
+ uint16_t vertex_size;
+ rodeo_vertex_t batched_vertices[mrodeo_vertex_size_max];
+ uint16_t index_count;
+ uint16_t index_size;
+ uint16_t batched_indices[(mrodeo_vertex_size_max / 4) * 6];
+ bgfx_shader_handle_t vertex_shader;
+ bgfx_shader_handle_t fragment_shader;
+ bgfx_program_handle_t program_shader;
+}
+irodeo_state_t;