NWengine 0.9
Loading...
Searching...
No Matches
NWengine.h
1#pragma once
2
3/*
4
5
6 /$$ /$$ /$$ /$$ /$$
7 | $$$ | $$| $$ /$ | $$ |__/
8 | $$$$| $$| $$ /$$$| $$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$$$$$$ /$$$$$$
9 | $$ $$ $$| $$/$$ $$ $$ /$$__ $$| $$__ $$ /$$__ $$| $$| $$__ $$ /$$__ $$
10 | $$ $$$$| $$$$_ $$$$| $$$$$$$$| $$ \ $$| $$ \ $$| $$| $$ \ $$| $$$$$$$$
11 | $$\ $$$| $$$/ \ $$$| $$_____/| $$ | $$| $$ | $$| $$| $$ | $$| $$_____/
12 | $$ \ $$| $$/ \ $$| $$$$$$$| $$ | $$| $$$$$$$| $$| $$ | $$| $$$$$$$
13 |__/ \__/|__/ \__/ \_______/|__/ |__/ \____ $$|__/|__/ |__/ \_______/
14 /$$ \ $$
15 | $$$$$$/
16 \______/
17
18*/
19
20
21#include "Primitives.h"
22#include "Inputs.h"
23#include "Context.h"
24#include "Camera.h"
25#include "Renderer.h"
26#include "Scene.h"
27#include "Components.h"
28#include "Batch.h"
29#include "Text.h"
30
31#include "Utilities.h"
32#include "Globals.h"
33#include "NWTime.h"
34
35
36
37
38#define NW_NO_MANGLING extern "C"
39#ifdef NW_DLL
40#define NW_EXPORT __declspec(dllexport)
41#else
42#define NW_EXPORT
43#endif
44#define NW_PREFIX NW_NO_MANGLING NW_EXPORT
45
46enum class ON_MAIN_CALL_LOCATION {
47
48 InitBegin, //Executed just after context initialization
49 InitEnd, //Executed at the end of engine init, after initialization of engine system
50 FrameBegin, //Executed at beginning of each frame
51 FrameIntermediate, //Executed each frame just before updating context buffer
52 FrameEnd, //Executed each frame after updating context
53 Destroy //Called before destruction of engine systems
54};
55
56extern std::unordered_map<ON_MAIN_CALL_LOCATION, std::vector<void(*)()>> functionMap;
57
58NW_PREFIX int NWengineInit();
59NW_PREFIX void NWengineLoop();
60NW_PREFIX void NWengineShutdown();
61NW_PREFIX bool NWenginePushFunction(ON_MAIN_CALL_LOCATION loc, void(*func)());
62NW_PREFIX bool NWenginePopFunction(ON_MAIN_CALL_LOCATION loc, void(*func)() = nullptr);
This file contains the declaration of the Batch class.
This file contains the declarations of various components used in the game engine.
This file contains the declaration of the Inputs class and related input constants.