summaryrefslogtreecommitdiffhomepage
path: root/include/rodeo
diff options
context:
space:
mode:
Diffstat (limited to 'include/rodeo')
-rw-r--r--include/rodeo/common.h20
-rw-r--r--include/rodeo/log.h11
-rw-r--r--include/rodeo/log_t.h40
3 files changed, 71 insertions, 0 deletions
diff --git a/include/rodeo/common.h b/include/rodeo/common.h
new file mode 100644
index 0000000..886a82c
--- /dev/null
+++ b/include/rodeo/common.h
@@ -0,0 +1,20 @@
+
+#define mrodeo_name_concat(prefix, suffix) prefix##suffix
+
+#define mrodeo_macrovar(prefix) mrodeo_name_concat(prefix##_, __LINE__)
+
+#define mrodeo_defer_do(start, end) \
+ for( \
+ int mrodeo_macrovar(_macrovar_) = (start, 0); \
+ !mrodeo_macrovar(_macrovar_); \
+ (mrodeo_macrovar(_macrovar_) += 1), end \
+ ) \
+
+#define \
+mrodeo_vargs_do(final_arg) \
+ va_list vargs; \
+ mrodeo_defer_do( \
+ va_start(vargs, final_arg), \
+ va_end(vargs) \
+ ) \
+
diff --git a/include/rodeo/log.h b/include/rodeo/log.h
new file mode 100644
index 0000000..837e795
--- /dev/null
+++ b/include/rodeo/log.h
@@ -0,0 +1,11 @@
+
+// -- internal --
+// public
+#include "rodeo/log_t.h"
+
+void
+rodeo_log(
+ rodeo_logLevel_t loglevel,
+ const char *format,
+ ...
+);
diff --git a/include/rodeo/log_t.h b/include/rodeo/log_t.h
new file mode 100644
index 0000000..844601a
--- /dev/null
+++ b/include/rodeo/log_t.h
@@ -0,0 +1,40 @@
+#pragma once
+
+// -- external --
+#include "stc/cstr.h"
+
+typedef
+enum
+{
+ rodeo_logLevel_info,
+ rodeo_logLevel_warning,
+ rodeo_logLevel_error
+}
+rodeo_logLevel_t;
+
+typedef
+void
+(*rodeo_log_function)(cstr text);
+
+typedef
+union
+{
+ struct {
+ float x;
+ float y;
+ };
+ float array[2];
+}
+rodeo_vector2_t;
+
+typedef
+union
+{
+ struct {
+ float x;
+ float y;
+ float z;
+ };
+ float array[3];
+}
+rodeo_vector3_t;