Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Rubberduckycooly
GitHub Repository: Rubberduckycooly/RSDKv5-Decompilation
Path: blob/master/RSDKv5/RSDK/Storage/Legacy/UserStorageLegacy.hpp
1167 views
1
2
namespace Legacy
3
{
4
5
#define LEGACY_GLOBALVAR_COUNT (0x100)
6
7
#define LEGACY_SAVEDATA_SIZE (0x2000)
8
9
#if RETRO_USE_MOD_LOADER
10
#define LEGACY_v4_NATIIVEFUNCTION_COUNT (0x30)
11
#else
12
#define LEGACY_v4_NATIIVEFUNCTION_COUNT (0x10)
13
#endif
14
15
struct GlobalVariable {
16
char name[0x20];
17
int32 value;
18
};
19
20
extern void *nativeFunction[LEGACY_v4_NATIIVEFUNCTION_COUNT];
21
extern int32 nativeFunctionCount;
22
23
extern int32 globalVariablesCount;
24
extern GlobalVariable globalVariables[LEGACY_GLOBALVAR_COUNT];
25
26
extern int32 saveRAM[LEGACY_SAVEDATA_SIZE];
27
28
int32 GetGlobalVariableByName(const char *name);
29
void SetGlobalVariableByName(const char *name, int32 value);
30
int32 GetGlobalVariableID(const char *name);
31
32
#define AddNativeFunction(name, funcPtr) \
33
if (nativeFunctionCount < LEGACY_v4_NATIIVEFUNCTION_COUNT) { \
34
SetGlobalVariableByName(name, nativeFunctionCount); \
35
nativeFunction[nativeFunctionCount++] = (void *)funcPtr; \
36
}
37
38
bool32 ReadSaveRAM();
39
bool32 WriteSaveRAM();
40
41
namespace v3
42
{
43
44
void SetAchievement(int32 achievementID, int32 achievementDone);
45
void SetLeaderboard(int32 leaderboardID, int32 score);
46
inline void LoadAchievementsMenu() {}
47
inline void LoadLeaderboardsMenu() {}
48
49
} // namespace v3
50
51
namespace v4
52
{
53
// Native Functions
54
void SetAchievement(int32 *achievementID, int32 *status);
55
void SetLeaderboard(int32 *leaderboardID, int32 *score);
56
void HapticEffect(int32 *id, int32 *unknown1, int32 *unknown2, int32 *unknown3);
57
58
void NotifyCallback(int32 *callback, int32 *param1, int32 *param2, int32 *param3);
59
60
} // namespace v4
61
62
} // namespace Legacy
63