diff --git a/src/savefile/scene_serialize.c b/src/savefile/scene_serialize.c index 70bd2db..f044198 100644 --- a/src/savefile/scene_serialize.c +++ b/src/savefile/scene_serialize.c @@ -316,7 +316,7 @@ void pedestalDeserialize(struct Serializer* serializer, struct Scene* scene) { } void launcherSerialize(struct Serializer* serializer, SerializeAction action, struct Scene* scene) { - for (int i = 0; i < scene->ballLancherCount; ++i) { + for (int i = 0; i < scene->ballLauncherCount; ++i) { struct BallLauncher* launcher = &scene->ballLaunchers[i]; action(serializer, &launcher->currentBall.targetSpeed, sizeof(float)); action(serializer, &launcher->currentBall.flags, sizeof(short)); @@ -333,7 +333,7 @@ void launcherSerialize(struct Serializer* serializer, SerializeAction action, st } void launcherDeserialize(struct Serializer* serializer, struct Scene* scene) { - for (int i = 0; i < scene->ballLancherCount; ++i) { + for (int i = 0; i < scene->ballLauncherCount; ++i) { struct BallLauncher* launcher = &scene->ballLaunchers[i]; serializeRead(serializer, &launcher->currentBall.targetSpeed, sizeof(float)); serializeRead(serializer, &launcher->currentBall.flags, sizeof(short)); @@ -361,8 +361,8 @@ void catcherSerialize(struct Serializer* serializer, SerializeAction action, str short caughtIndex = -1; - for (int launcherIndex = 0; launcherIndex < scene->ballLancherCount; ++launcherIndex) { - if (&scene->ballLaunchers[i].currentBall == catcher->caughtBall) { + for (int launcherIndex = 0; launcherIndex < scene->ballLauncherCount; ++launcherIndex) { + if (&scene->ballLaunchers[launcherIndex].currentBall == catcher->caughtBall) { caughtIndex = launcherIndex; break; } diff --git a/src/scene/ball_catcher.c b/src/scene/ball_catcher.c index 7969f2e..11bf7a4 100644 --- a/src/scene/ball_catcher.c +++ b/src/scene/ball_catcher.c @@ -146,4 +146,5 @@ void ballCatcherHandBall(struct BallCatcher* catcher, struct Ball* caughtBall) { struct Vector3 targetPosition; transformPoint(&catcher->rigidBody.transform, &gLocalCatcherLocation, &targetPosition); catcher->caughtBall->rigidBody.transform.position = targetPosition; + catcher->caughtBall->flags |= BallFlagsPowering; } \ No newline at end of file diff --git a/src/scene/scene.c b/src/scene/scene.c index fe80cd0..33c0a16 100644 --- a/src/scene/scene.c +++ b/src/scene/scene.c @@ -233,9 +233,9 @@ void sceneInitNoPauseMenu(struct Scene* scene, int mainMenuMode) { ballBurnMarkInit(); - scene->ballLancherCount = gCurrentLevel->ballLauncherCount; - scene->ballLaunchers = malloc(sizeof(struct BallLauncher) * scene->ballLancherCount); - for (int i = 0; i < scene->ballLancherCount; ++i) { + scene->ballLauncherCount = gCurrentLevel->ballLauncherCount; + scene->ballLaunchers = malloc(sizeof(struct BallLauncher) * scene->ballLauncherCount); + for (int i = 0; i < scene->ballLauncherCount; ++i) { ballLauncherInit(&scene->ballLaunchers[i], &gCurrentLevel->ballLaunchers[i]); } @@ -672,7 +672,7 @@ void sceneUpdate(struct Scene* scene) { } for (int i = 0; i < scene->ballCatcherCount; ++i) { - ballCatcherUpdate(&scene->ballCatchers[i], scene->ballLaunchers, scene->ballLancherCount); + ballCatcherUpdate(&scene->ballCatchers[i], scene->ballLaunchers, scene->ballLauncherCount); } for (int i = 0; i < scene->triggerListenerCount; ++i) { @@ -735,7 +735,7 @@ void sceneUpdate(struct Scene* scene) { boxDropperUpdate(&scene->boxDroppers[i]); } - for (int i = 0; i < scene->ballLancherCount; ++i) { + for (int i = 0; i < scene->ballLauncherCount; ++i) { ballLauncherUpdate(&scene->ballLaunchers[i]); } diff --git a/src/scene/scene.h b/src/scene/scene.h index 6b9ef65..711f45f 100644 --- a/src/scene/scene.h +++ b/src/scene/scene.h @@ -78,7 +78,7 @@ struct Scene { u8 signageCount; u8 boxDropperCount; u8 switchCount; - u8 ballLancherCount; + u8 ballLauncherCount; u8 ballCatcherCount; u8 clockCount; u8 securityCameraCount;