Files
combattest/Engine.h
T
2026-11-08 07:45:01 -05:00

74 lines
1.6 KiB
C++

#ifndef ENGINE_CLASS
#define ENGINE_CLASS
//OVERARCHING LIBRARIES
#include <iostream>
#include <vector>
//OPENGL LIBRARIES
#include<glad/glad.h>
#include<GLFW/glfw3.h>
//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