Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Game.h
338 views
1
#ifndef GAME_H
2
#define GAME_H
3
4
// =====================================================================
5
// RSDK Project: Sonic Mania (Plus)
6
// Decompiled by: Rubberduckycooly & RMGRich
7
// =====================================================================
8
9
// -------------------------
10
// ENGINE VERSIONS
11
// -------------------------
12
13
#ifndef RETRO_REVISION
14
#define RETRO_REVISION (3)
15
#endif
16
17
#define RETRO_REV01 (RETRO_REVISION == 1)
18
19
// RSDKv5 was revised & updated for plus onwards
20
// this is basically the same functionality as "MANIA_USE_PLUS"
21
// but I split this one to be more specific about engine changes vs game changes
22
#define RETRO_REV02 (RETRO_REVISION >= 2)
23
24
// RSDKv5 was revised & updated to v5U for sonic origins
25
// enabling this will add the RSDKv5U funcs and allow this to run properly on that engine ver
26
#define RETRO_REV0U (RETRO_REVISION >= 3)
27
28
29
// Controls whether EditorLoad & EditorDraw should be included in the final product or not
30
// This is a copy of what the original game likely had, as the original game does not include EditorLoad or EditorDraw funcs for any objects
31
#ifndef GAME_INCLUDE_EDITOR
32
#ifdef RETRO_INCLUDE_EDITOR
33
#define GAME_INCLUDE_EDITOR RETRO_INCLUDE_EDITOR
34
#else
35
#define GAME_INCLUDE_EDITOR (1)
36
#endif
37
#endif
38
39
#ifndef RETRO_USE_MOD_LOADER
40
#define RETRO_USE_MOD_LOADER (1)
41
#endif
42
43
#ifndef RETRO_MOD_LOADER_VER
44
#define RETRO_MOD_LOADER_VER (2)
45
#endif
46
47
// -------------------------
48
// GAME VERSIONS
49
// -------------------------
50
51
#define VER_100 (0) // 1.00 (initial console release)
52
#define VER_103 (3) // 1.03 (PC release/console patch)
53
#define VER_105 (5) // 1.04/1.05 (mania plus release)
54
#define VER_106 (6) // 1.06 (steam denuvo removal update)
55
#define VER_107 (7) // 1.07 (EGS/Origin releases)
56
57
#if MANIA_PREPLUS
58
59
#if MANIA_FIRST_RELEASE
60
61
#undef GAME_VERSION
62
#define GAME_VERSION VER_100
63
#undef RETRO_REVISION
64
#define RETRO_REVISION (1)
65
66
#else
67
68
#undef GAME_VERSION
69
#define GAME_VERSION VER_103
70
#undef RETRO_REVISION
71
#define RETRO_REVISION (1)
72
73
#endif
74
75
#else
76
77
#ifndef GAME_VERSION
78
#define GAME_VERSION VER_106
79
#endif
80
81
#endif
82
83
#define MANIA_USE_PLUS (GAME_VERSION >= VER_105)
84
#define MANIA_USE_EGS (GAME_VERSION == VER_107)
85
86
// -------------------------
87
// GAME LOGIC
88
// -------------------------
89
90
#include "GameLink.h"
91
#include "GameVariables.h"
92
#include "GameObjects.h"
93
94
#endif //! GAME_H
95
96