File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change 1
1
#include " achievement_manager.h"
2
2
#include < os/logger.h>
3
+ #include < kernel/memory.h>
3
4
#include < ui/achievement_overlay.h>
4
5
#include < user/config.h>
5
6
@@ -84,6 +85,24 @@ void AchievementManager::UnlockAll()
84
85
void AchievementManager::Reset ()
85
86
{
86
87
Data = {};
88
+
89
+ // The first usage of the shoe upgrades get stored within a session persistent boolean flag.
90
+ // This causes issues with popping the achievement for the use of these abilities when the player
91
+ // starts a new save file after they already used them in a session as these bools are never reset
92
+ // unless the game is exited.
93
+ // As a solution we reset these flags whenever the achievement data is being reset too.
94
+
95
+ // Lay the Smackdown
96
+ *(bool *)g_memory.Translate (0x833647C5 ) = false ;
97
+
98
+ // Wall Crawler
99
+ *(bool *)g_memory.Translate (0x83363004 ) = false ;
100
+
101
+ // Airdevil
102
+ *(bool *)g_memory.Translate (0x833647BC ) = false ;
103
+
104
+ // Hyperdrive
105
+ *(bool *)g_memory.Translate (0x833647C4 ) = false ;
87
106
}
88
107
89
108
void AchievementManager::Load ()
You can’t perform that action at this time.
0 commit comments