aboutsummaryrefslogtreecommitdiffstats
path: root/src/yabs_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yabs_core.h')
-rw-r--r--src/yabs_core.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/yabs_core.h b/src/yabs_core.h
new file mode 100644
index 0000000..15a6d4c
--- /dev/null
+++ b/src/yabs_core.h
@@ -0,0 +1,54 @@
+#ifndef YABS_CORE_H
+#define YABS_CORE_H
+
+/*********************************/
+/* YABS ( // */
+/* yabs_CORE ( )/ */
+/* by salade )(/ */
+/* ________________ ( /) */
+/* ()__)____________))))) :^} */
+/*********************************/
+
+#include "raylib.h"
+
+#define YABS_SCREENWIDTH 1600
+#define YABS_SCREENHEIGHT 900
+#define YABS_TITLE "YABS"
+
+#define YABS_DOUBLEPI 6.28318530717958647692f
+
+#define YABS_PLAYER_MOVEMENT_SENSITIVITY 3
+#define YABS_CAMERA_MOUSE_MOVE_SENSITIVITY 0.0005f
+
+namespace yabs {
+
+typedef struct Scene3D {
+ Camera camera;
+ Vector3 movement;
+ Vector3 rotation;
+ Vector2 lastMousePos;
+} Scene3D;
+
+typedef enum gameState {
+ TITLE = 0,
+ PICK,
+ DEATH,
+ GAMEPLAY,
+ NEXT,
+ ENDING
+} gameState;
+
+// core functions
+namespace core {
+
+// draw takes a reference to the game_state, which is checked on each frame
+// for next level or death
+int reset_camera(Scene3D const& scene_3d);
+
+int draw(gameState const& game_state);
+
+} // namespace core
+
+} // namespace yabs
+
+#endif /* YABS_CORE_H */