Serialize portals

This commit is contained in:
James Lambert 2023-05-05 21:16:38 -06:00
parent b71c0ad26f
commit 012286a98f
4 changed files with 8 additions and 6 deletions

View file

@ -203,7 +203,6 @@ void cutsceneRunnerStartStep(struct CutsceneRunner* runner) {
transformConcat(&exitInverse, &gScene.player.lookTransform, &relativeExit);
quatMultVector(&exitInverse.rotation, &gScene.player.body.velocity, &relativeVelocity);
levelQueueLoad(step->loadLevel.levelIndex, &relativeExit, &relativeVelocity);
checkpointSave(&gScene);
break;
}
case CutsceneStepTypeGoto:
@ -480,7 +479,7 @@ void cutsceneSerializeWrite(struct Serializer* serializer, SerializeAction actio
action(serializer, &volume, sizeof(volume));
}
u16 noSound = SOUND_ID_NONE;
s16 noSound = SOUND_ID_NONE;
action(serializer, &noSound, sizeof(noSound));
}
}
@ -500,7 +499,7 @@ void cutsceneSerializeRead(struct Serializer* serializer) {
serializeRead(serializer, &gTriggeredCutscenes, sizeof (gTriggeredCutscenes));
for (int i = 0; i < CH_COUNT; ++i) {
u16 nextId;
s16 nextId;
serializeRead(serializer, &nextId, sizeof(nextId));
while (nextId != SOUND_ID_NONE) {

View file

@ -232,7 +232,6 @@ static void gameProc(void* arg) {
levelLoadWithCallbacks(levelGetQueued());
cutsceneRunnerReset();
gSceneCallbacks->initCallback(gSceneCallbacks->data);
checkpointLoadLast(&gScene);
}
break;

View file

@ -76,10 +76,14 @@ void sceneInitDynamicColliders(struct Scene* scene) {
void sceneInit(struct Scene* scene) {
sceneInitNoPauseMenu(scene);
gameMenuInit(&gGameMenu, gPauseMenuOptions, sizeof(gPauseMenuOptions) / sizeof(*gPauseMenuOptions), 1);
if (!checkpointExists()) {
checkpointSave(scene);
} else {
checkpointLoadLast(scene);
}
gameMenuInit(&gGameMenu, gPauseMenuOptions, sizeof(gPauseMenuOptions) / sizeof(*gPauseMenuOptions), 1);
gGameMenu.state = GameMenuStateResumeGame;
}

View file

@ -102,6 +102,6 @@ void signalsEvaluateSignals(struct SignalOperator* operator, unsigned count) {
void signalsSerializeRW(struct Serializer* serializer, SerializeAction action) {
int binCount = SIGNAL_BIN_COUNT(gSignalCount);
action(serializer, serializer, sizeof(unsigned long long) * binCount);
action(serializer, gSignals, sizeof(unsigned long long) * binCount);
action(serializer, gDefaultSignals, sizeof(unsigned long long) * binCount);
}