Skip to content

Commit 5bb5013

Browse files
committed
Use SaveManager for racer unlocks
1 parent 1ae49bb commit 5bb5013

6 files changed

Lines changed: 7 additions & 4 deletions

File tree

SWR_AP_Client/APCallBacks.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ namespace SWRGame
219219

220220
void SetStartingRacers(int value)
221221
{
222-
progress.unlockedRacers = (SWRMemTools::RacerUnlocks)value;
222+
saveManager.apRacerUnlocks = static_cast<SWRMemTools::RacerUnlocks>(value);
223223
Patches::LimitAvailableRacers();
224224
}
225225

SWR_AP_Client/APCallbacks.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
#include "Structs.h"
33
#include "Items.h"
44
#include "APCpp/Archipelago.h"
5+
#include "SWRMemTools/include/Save.h"
56

67
#define COURSE_MAPPINGS_OFFSET 0xC0018
78

89
namespace SWRGame
910
{
1011
extern AP_ProgressData progress;
12+
extern SWRMemTools::SaveManager saveManager;
1113
extern AP_ServerInfo serverInfo;
1214
extern void Log(const char* format, ...);
1315

SWR_AP_Client/Patches.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void Patches::LimitAvailableRacers()
6161
};
6262

6363
// Overwrite 0 with racers value
64-
SWRMemTools::RacerUnlocks* unlockedRacersPtr = &SWRGame::progress.unlockedRacers;
64+
SWRMemTools::RacerUnlocks* unlockedRacersPtr = &SWRGame::saveManager.apRacerUnlocks;
6565
memcpy(&limitRacers[2], &unlockedRacersPtr, 4);
6666

6767
WritePatch(DEFAULT_RACERS_OPCODE, &limitRacers, 6);

SWR_AP_Client/Patches.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
#include "Enums.h"
33
#include "Structs.h"
44
#include "Locations.h"
5+
#include "SWRMemTools/include/Save.h"
56

67
namespace SWRGame
78
{
89
extern int baseAddress;
910
extern AP_ProgressData progress;
11+
extern SWRMemTools::SaveManager saveManager;
1012
extern void Log(const char* format, ...);
1113
extern char saveDirectory[64];
1214
extern void OnDraw();

SWR_AP_Client/SWR.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ namespace SWRGame
459459

460460
void GiveRacer(int racerID)
461461
{
462-
progress.unlockedRacers = (SWRMemTools::RacerUnlocks)((int)progress.unlockedRacers | racerID);
462+
saveManager.GiveRacer(static_cast<SWRMemTools::RacerUnlocks>(racerID));
463463
}
464464

465465
void GivePitDroid()

SWR_AP_Client/Structs.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@ struct TextPtrStructure
176176

177177
struct AP_ProgressData
178178
{
179-
SWRMemTools::RacerUnlocks unlockedRacers;
180179
SWR_SaveData cachedSave;
181180
int pitDroidCounter = 1;
182181
};

0 commit comments

Comments
 (0)