mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
3ab0c45bdb
Closing the window with the X button will not close it immediately during the rendering of a frame, causing it to actually crash, but will set the engine in a pending state until it finishes the current frame.
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#ifndef MarsGameH
|
|
#define MarsGameH
|
|
|
|
#include "raylib.h"
|
|
#include <map>
|
|
#include <string>
|
|
|
|
class OTRGame {
|
|
public:
|
|
std::map<std::string, Font> Fonts;
|
|
std::map<std::string, Model> Models;
|
|
std::map<std::string, Texture2D> Textures;
|
|
float ModelRotation = 0.0f;
|
|
Camera camera;
|
|
|
|
void preload();
|
|
void init();
|
|
void imgui();
|
|
void update();
|
|
void draw();
|
|
void exit();
|
|
|
|
inline bool CloseRequested() { return closeRequested; }
|
|
protected:
|
|
void LoadTexture(const std::string& name, const std::string& path) {
|
|
const Image tmp = LoadImage(path.c_str());
|
|
Textures[name] = LoadTextureFromImage(tmp);
|
|
UnloadImage(tmp);
|
|
}
|
|
|
|
void LoadFont(const std::string& name, const std::string& path) {
|
|
Font font = LoadFontEx(path.c_str(), 16, nullptr, 0);
|
|
GenTextureMipmaps(&font.texture);
|
|
SetTextureFilter(font.texture, TEXTURE_FILTER_POINT);
|
|
Fonts[name] = font;
|
|
}
|
|
|
|
private:
|
|
bool closeRequested = false;
|
|
};
|
|
|
|
extern OTRGame* Game;
|
|
|
|
#endif |