Golias Engine
A C++ 20 'game engine' built with SDL3 with wide platform support.
stdafx.h
Go to the documentation of this file.
1 #pragma once
2 #define NOMINMAX
3 #include <SDL3/SDL.h>
4 #include <SDL3_ttf/SDL_ttf.h>
5 #include <chrono>
6 #include <stdio.h>
7 
8 // #include <lua.hpp>
9 #include <sol.hpp>
10 
11 #define FLECS_CUSTOM_BUILD
12 #define FLECS_SYSTEM
13 #define FLECS_NO_LOG
14 #define FLECS_META
15 #define FLECS_CPP
16 #define FLECS_PIPELINE
17 #include <flecs/flecs.h>
18 
19 #include <string>
20 #include <unordered_map>
21 #include <vector>
22 #include <functional>
23 #include <mutex>
24 #include <map>
25 #include <deque>
26 #include <condition_variable>
27 #include <random>
28 
29 #include <glad.h>
30 
31 #include "json.hpp"
32 
33 #include <glm/glm.hpp>
34 #include <glm/gtc/constants.hpp>
35 #include <glm/gtc/matrix_transform.hpp>
36 #include <glm/gtc/quaternion.hpp>
37 #include <glm/gtc/type_ptr.hpp>
38 
39 
40 #include <assimp/Importer.hpp>
41 #include <assimp/postprocess.h>
42 #include <assimp/scene.h>
43 
44 #define GLM_ENABLE_EXPERIMENTAL
45 #include <glm/gtx/string_cast.hpp>
46 
47 
48 #include <filesystem>
49 
50 #include <miniaudio.h>
51 
52 #if defined(SDL_PLATFORM_EMSCRIPTEN)
53 #include <emscripten.h>
54 #endif
55 
56 #include <tinyxml2.h>
57 
58 
59 #include <spdlog/spdlog.h>
60 #include <spdlog/sinks/basic_file_sink.h>
61 #include <spdlog/sinks/rotating_file_sink.h>
62 #include <spdlog/sinks/stdout_color_sinks.h>
63 #include <spdlog/sinks/android_sink.h>
64 
65 using Json = nlohmann::json;
66 
67 #if __ANDROID__
68 const std::filesystem::path BASE_PATH = "";
69 #define ASSETS_PATH std::string("")
70 #elif __APPLE__
71 const std::filesystem::path BASE_PATH = SDL_GetBasePath();
72 #define ASSETS_PATH (BASE_PATH / "res/").string()
73 #else
74 const std::filesystem::path BASE_PATH = SDL_GetBasePath();
75 #define ASSETS_PATH std::string("res/")
76 #endif
77 
78 #include "definitions.h"
79 
80 #include "nuklear_include.h"
81 
82 #include <stb_image.h>
const std::filesystem::path BASE_PATH
Definition: stdafx.h:74
nlohmann::json Json
Definition: stdafx.h:65