KTech
1.1.0
C++ 2D terminal game engine library
Loading...
Searching...
No Matches
ktech
ktech.hpp
1
/*
2
KTech, Kaup's C++ 2D terminal game engine library.
3
Copyright (C) 2023-2025 Ethan Kaufman (AKA Kaup)
4
5
This file is part of KTech.
6
7
KTech is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
any later version.
11
12
KTech is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with KTech. If not, see <https://www.gnu.org/licenses/>.
19
*/
20
21
/*
22
| / ----- ----- ----- - -
23
|| /\ | |--- | |---|
24
|||/ \ | \____ \____ | | kaup's c++ 2d terminal game engine library
25
26
In order to contact me (Kaup), refer to the "readme.md" file.
27
*/
28
29
#pragma once
30
31
namespace
KTech
32
{
33
// Basic structures.
34
// Definitions in `basic_structs/`.
35
struct
RGB;
36
struct
RGBA;
37
struct
Point;
38
struct
UPoint;
39
struct
Cell;
40
struct
CellA;
41
// World structures.
42
// Definitions in `world/`
43
struct
Texture;
44
struct
Collider;
45
class
Object;
46
class
Layer;
47
class
Camera;
48
class
Map;
49
class
Widget;
50
class
UI;
51
// Engine and its components.
52
// Definitions in `engine/`
53
class
Collision;
54
class
Input;
55
class
Memory;
56
class
Output;
57
class
Time;
58
class
Engine;
59
// Defined in `utility/`
60
class
Animation;
61
template
<
typename
T>
62
struct
ID;
63
template
<
typename
T>
64
constexpr
ID<T> nullID;
65
template
<
typename
T>
66
class
CachingRegistry;
67
namespace
RGBColors {}
68
namespace
RGBAColors {}
69
namespace
Keys {}
70
}
71
72
#include <cstdint>
73
#ifdef _WIN32
74
#include <Windows.h>
75
#undef RGB
76
#undef max
77
#endif
78
79
#ifndef KTECH_DEFINITION
// See `documentation/faq.md#`
80
#include "basic/point.hpp"
81
#include "basic/upoint.hpp"
82
#include "basic/rgb.hpp"
83
#include "basic/rgba.hpp"
84
#include "basic/cell.hpp"
85
#include "basic/cella.hpp"
86
87
#include "world/collider.hpp"
88
#include "world/texture.hpp"
89
#include "world/object.hpp"
90
#include "world/layer.hpp"
91
#include "world/camera.hpp"
92
#include "world/map.hpp"
93
#include "world/widget.hpp"
94
#include "world/ui.hpp"
95
96
#include "utility/animation.hpp"
97
#include "utility/cachingregistry.hpp"
98
#include "utility/id.hpp"
99
#include "utility/keys.hpp"
100
#include "utility/rgbcolors.hpp"
101
#include "utility/rgbacolors.hpp"
102
103
#include "engine/collision.hpp"
104
#include "engine/input/input.hpp"
105
#include "engine/input/callbackgroup.hpp"
106
#include "engine/memory.hpp"
107
#include "engine/time/time.hpp"
108
#include "engine/engine.hpp"
109
#endif
Generated by
1.12.0