diff options
| author | Kiloku <mateus.sateles@protonmail.com> | 2025-01-03 19:19:10 -0300 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2025-01-03 16:59:24 -0600 |
| commit | 6560c012fc5f98fef5fe4ce6168edac487c919ec (patch) | |
| tree | bcb311212c6e1766690ae0ffa69384bd87111e2f /src/engine/fox_play.c | |
| parent | eb44ba0f044586e010daeaa573c65dadd0784e0a (diff) | |
per-level checkpoints
Diffstat (limited to 'src/engine/fox_play.c')
| -rw-r--r-- | src/engine/fox_play.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/engine/fox_play.c b/src/engine/fox_play.c index 74ffdb13..9f72f4e8 100644 --- a/src/engine/fox_play.c +++ b/src/engine/fox_play.c @@ -4678,10 +4678,15 @@ void Player_Setup(Player* playerx) { gDisplayedHitCount = gHitCount; D_hud_80161730 = 0; - if (CVarGetInteger("gCheckpoint.Set", 0) && CVarGetInteger("gCheckpoint.gSavedLevel", -1) == gCurrentLevel) { - gSavedGroundSurface = CVarGetInteger("gCheckpoint.gSavedGroundSurface", gSavedGroundSurface); - gSavedPathProgress = CVarGetFloat("gCheckpoint.gSavedPathProgress", gSavedPathProgress); - gSavedObjectLoadIndex = CVarGetInteger("gCheckpoint.gSavedObjectLoadIndex", gSavedObjectLoadIndex); + char buffer [48] = {"\0"}; + sprintf(buffer, "gCheckpoint.%d.Set", gCurrentLevel); + if (CVarGetInteger(buffer, 0)) { + sprintf(buffer, "gCheckpoint.%d.gSavedGroundSurface", gCurrentLevel); + gSavedGroundSurface = CVarGetInteger(buffer, gSavedGroundSurface); + sprintf(buffer, "gCheckpoint.%d.gSavedPathProgress", gCurrentLevel); + gSavedPathProgress = CVarGetFloat(buffer, gSavedPathProgress); + sprintf(buffer, "gCheckpoint.%d.gSavedObjectLoadIndex", gCurrentLevel); + gSavedObjectLoadIndex = CVarGetInteger(buffer, gSavedObjectLoadIndex); } gMissedZoSearchlight = gSavedZoSearchlightStatus; |
