/*********************************/ /* YABS ( // */ /* yabs_CORE ( )/ */ /* by salade )(/ */ /* ________________ ( /) */ /* ()__)____________))))) :^} */ /*********************************/ #ifndef YABS_CORE_H #define YABS_CORE_H #include "raylib.h" #include "raymath.h" #include #include "yabs_structs.h" #ifdef __FreeBSD__ # define YABS_SCREENWIDTH 1080 # define YABS_SCREENHEIGHT 720 #else # define YABS_SCREENWIDTH 1080 # define YABS_SCREENHEIGHT 720 #endif #define YABS_TITLE "YABS" #define YABS_DOUBLEPI 6.28318530717958647692f // half sizes are reduced by 5 pixels to be centered #define YABS_HALFSWIDTH (YABS_SCREENWIDTH/2) - 15 #define YABS_HALFSHEIGHT (YABS_SCREENHEIGHT/2) - 10 // movement sensibility: lower is faster #define YABS_PLAYER_MOVEMENT_SENSITIVITY 3 #define YABS_CAMERA_MOUSE_MOVE_SENSITIVITY 0.0005f #define YABS_GROUND_LEVEL 1.0f #define YABS_CROSSHAIR_TEX "meta/media/img/crosshair.png" #define ENEMIES_N 10 #define YABS_COOLPURPLE \ CLITERAL(Color) { 153, 0, 0, 255 } // cool Purple namespace yabs { namespace core { 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 and structs int reset_camera(Scene3D& scene_3d); int render(RenderObjs & robjs); int tick(TickObjs & tobjs, Scene3D & scene_3d); void init_game(); } // namespace core } // namespace yabs #endif /* YABS_CORE_H */