Elevate Engine 1
Loading...
Searching...
No Matches
Core.h
Go to the documentation of this file.
1 #pragma once
2
3// Soundengine
4// todo fix this asap
5#ifndef EE_NO_SOUNDENGINE
6 #define EE_NO_SOUNDENGINE 0 // todo change back once managed by the lua
7#endif
8
9#define EE_API
10
11#if defined(EE_PLATFORM_WINDOWS) || defined(EE_PLATFORM_LINUX) || defined(EE_PLATFORM_WEB)
12 #ifdef EE_DIST
13 #ifdef _WIN32
14 #pragma comment(linker, "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
15 #endif
16 #endif
17#else
18 #error ElevateEngine is currently only supported on Windows, Linux and Web.
19#endif
20
21#ifdef EE_PLATFORM_WEB
22 #define EE_SHADER_VERSION_STRING "#version 300"
23 #define EE_SHADER_PROFILE_STRING "es"
24 #define EE_SHADER_PRECISION_STRING "precision highp float;\n"
25#else
26 #define EE_SHADER_VERSION_STRING "#version 410"
27 #define EE_SHADER_PROFILE_STRING "core"
28 #define EE_SHADER_PRECISION_STRING ""
29#endif
30
31#define EE_SHADER_VERSION_HEADER EE_SHADER_VERSION_STRING " " EE_SHADER_PROFILE_STRING
32#define EE_SHADER_HEADER EE_SHADER_VERSION_HEADER "\n" EE_SHADER_PRECISION_STRING
33
34#ifndef EE_PLATFORM_WEB
35 #define EE_ENGINE_DIR EE_RESOURCE_DIR "/Engine/"
36 #define EE_EDITOR_DIR EE_RESOURCE_DIR "/Editor/"
37#else
38 #define EE_ENGINE_DIR "/Engine/"
39 #define EE_EDITOR_DIR "/Editor/"
40#endif
41#define EE_CONTENT_ROOT "./Content/"
42
43#define BIT(x) (1 << x)
44
45#define EE_BIND_EVNT_FN(fn) std::bind(&fn, this, std::placeholders::_1)