-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththeory.hh
139 lines (110 loc) · 3.45 KB
/
theory.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/*
*----------------------------------------------------------------------
* Theory Engine / https://github.com/SDmodding/TheoryEngine
* ===========================================================
* - Includes everything necessary for working with the engine.
* - This is not a complete re-write of the engine.
* - You will need to use at least 'C++17' for building.
* - Based on "Sleeping Dogs: Definitive Edition"
* ----------------------------------------------------------------------
*
* REQUIREMENTS:
* - C++17
* - 64-bit (x64)
* - Should be buildable under x86, but not recommended.
*
* BEFORE INCLUDING:
* #define THEORY_IMPL
* -This is necessary, otherwise no functions will be implemented.
*
* CREDITS:
* sneakyevil - Lead Developer
*
*/
#pragma once
/* Platform Defines */
#define THEORY_WINDOWS
#define THEORY_PLATFORM_PC
/* Keyword Defines */
#define THEORY_INLINE __forceinline
/* Libraries */
#include <cstdarg>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <new>
#ifdef THEORY_PLATFORM_PC
#include <d3d11.h>
#endif
/* Quark Defines */
#ifdef THEORY_PLATFORM_PC
#define qDebugBreak() __debugbreak()
#else
#define qDebugBreak() (void)(0)
#endif
#define qMin(a, b) (a < b ? a : b)
#define qMax(a, b) (a > b ? a : b)
//-------------------------------------------------------------------
// [Quark] Includes
//-------------------------------------------------------------------
#include "quark/types.hh"
#include "quark/assert.hh"
#include "quark/bitflags.hh"
#include "quark/offset.hh"
#include "quark/list.hh"
#include "quark/treerb.hh"
#include "quark/treerb64.hh"
#include "quark/math.hh"
#include "quark/halfmath.hh"
#include "quark/process.hh"
#include "quark/memory.hh"
#include "quark/string.hh"
#include "quark/internal/assertplat.hh"
#ifdef THEORY_PLATFORM_PC
#include "quark/pc/processplat.hh"
#include "quark/pc/stringplat.hh"
#endif
#include "quark/checksum.hh"
#include "quark/qsymbol.hh"
#include "quark/memorypool.hh"
#include "quark/memorypoollinearallocator.hh"
#include "quark/timer.hh"
#include "quark/file.hh"
#include "quark/resource.hh"
#include "quark/resourcefile.hh"
#include "quark/resource_uid.hh"
#include "quark/quark.hh"
#ifdef THEORY_PLATFORM_PC
#include "quark/pc/fileplat.hh"
#include "quark/pc/timerplat.hh"
#endif
//-------------------------------------------------------------------
// [Illusion] Includes
//-------------------------------------------------------------------
#include "illusion/memimageschema.hh"
#include "illusion/state.hh"
#include "illusion/bonepalette.h"
#include "illusion/vertexdescriptor.hh"
#include "illusion/vertexdecl.hh"
#ifdef THEORY_PLATFORM_PC
#include "illusion/pc/modelplat.hh"
#endif
#include "illusion/material.hh"
#include "illusion/materialuser.hh"
#include "illusion/materialmodifier.hh"
#include "illusion/model.hh"
#include "illusion/stateblock.hh"
#include "illusion/internal/factoryplat.hh"
#include "illusion/illusion.hh"
//==================================================================
#ifdef THEORY_IMPL
//-------------------------------------------------------------------
// [Quark] Implementations
//-------------------------------------------------------------------
#include "quark/resourcefile_impl.hh"
#include "quark/string_impl.hh"
//-------------------------------------------------------------------
// [Illusion] Implementations
//-------------------------------------------------------------------
#include "illusion/material_impl.hh"
#endif