#ifndef ENGINE_CLASS #define ENGINE_CLASS //OVERARCHING LIBRARIES #include #include //OPENGL LIBRARIES #include #include //MANMADE LIBRARIES #include "common.h" inline int fps = 60; // Game time runs this many times faster than real time. Every deltatime in the game loop is scaled by it. inline float GetGameTimeScale() { return 144.0f / float(fps); } void framebuffer_size_callback(GLFWwindow* windowe, int w, int h); void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods); void char_callback(GLFWwindow* window, unsigned int codepoint); void scroll_callback(GLFWwindow* window, double xoffset, double yoffset); void mouse_callback(GLFWwindow* windowe, double xposIn, double yposIn); void mouse_button_callback(GLFWwindow* window, int button, int action, int mods); class Physics; class RenderSystem; class SoundSystem; class Folder; class ParticleEmitter; class Camera; class Animator; class CharacterManager; class Console; class HitboxSystem; class Engine { public: //SYSTEMS Physics* physicsengine = nullptr; RenderSystem* rendersystem = nullptr; CharacterManager* charactermanager = nullptr; Console* console = nullptr; HitboxSystem* hitboxsystem = nullptr; // every attack's hitboxes, and what they hit public: //METADATA int frame = 0; public: //DEBUG bool renderwireframe = false; bool showHitboxes = false; public: //RESOURCE MANAGEMENT Folder* mainf; public: //CAMERA Camera* camera; public: Engine(); void Initiate(); }; #endif