Fix savefiles

This commit is contained in:
James Lambert 2023-08-26 13:51:08 -06:00
parent 4d66641be7
commit 0ed4fa8244
3 changed files with 32 additions and 3 deletions

View file

@ -244,4 +244,32 @@ int levelGetChamberNumber(int levelIndex, int roomIndex){
default:
return 0;
}
}
int chamberNumberGetLevel(int chamberIndex) {
switch (chamberIndex) {
case 0:
case 1:
return 0;
case 2:
case 3:
return 1;
case 4:
case 5:
return 2;
case 6:
case 7:
return 3;
case 8:
return 4;
case 9:
return 5;
case 10:
return 6;
case 11:
case 12:
return 7;
default:
return 0;
}
}

View file

@ -29,6 +29,7 @@ Gfx* levelMaterialRevert(int index);
int levelQuadIndex(struct CollisionObject* pointer);
int levelGetChamberNumber(int levelIndex, int roomIndex);
int chamberNumberGetLevel(int chamberIndex);
struct Location* levelGetLocation(short index);

View file

@ -31,12 +31,12 @@ void loadGamePopulate(struct LoadGameMenu* loadGame) {
enum MenuDirection loadGameUpdate(struct LoadGameMenu* loadGame) {
if (controllerGetButtonDown(0, A_BUTTON) && loadGame->savefileList->numberOfSaves) {
Checkpoint* save = stackMalloc(MAX_CHECKPOINT_SIZE);
int level;
int testChamber;
int testSubject;
savefileLoadGame(savefileGetSlot(loadGame->savefileList), save, &level, &testSubject);
savefileLoadGame(savefileGetSlot(loadGame->savefileList), save, &testChamber, &testSubject);
gCurrentTestSubject = testSubject;
levelQueueLoad(level, NULL, NULL);
levelQueueLoad(chamberNumberGetLevel(testChamber), NULL, NULL);
checkpointUse(save);
stackMallocFree(save);