From 3cc7f7407d0052559a07ed882a74da3d09c055c4 Mon Sep 17 00:00:00 2001 From: nebulazorua <rainbowsmokefox@gmail.com> Date: Wed, 8 May 2024 21:08:17 +0800 Subject: [PATCH 1/2] fix focuscamera CLASSIC breaking zooms and snapping --- source/funkin/play/event/FocusCameraSongEvent.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/play/event/FocusCameraSongEvent.hx b/source/funkin/play/event/FocusCameraSongEvent.hx index 074fafccf..1bcac9ad3 100644 --- a/source/funkin/play/event/FocusCameraSongEvent.hx +++ b/source/funkin/play/event/FocusCameraSongEvent.hx @@ -127,7 +127,7 @@ class FocusCameraSongEvent extends SongEvent switch (ease) { case 'CLASSIC': // Old-school. No ease. Just set follow point. - PlayState.instance.resetCamera(false, true); + PlayState.instance.cancelCameraFollowTween(); PlayState.instance.cameraFollowPoint.setPosition(targetX, targetY); case 'INSTANT': // Instant ease. Duration is automatically 0. PlayState.instance.tweenCameraToPosition(targetX, targetY, 0); From fae625a795919fe8b46c29aaa2ebe535f4e95333 Mon Sep 17 00:00:00 2001 From: nebulazorua <rainbowsmokefox@gmail.com> Date: Wed, 15 May 2024 20:42:11 +0800 Subject: [PATCH 2/2] last commit, if merged, would've likely caused issues if going from tween to classic should be fixed now? --- source/funkin/play/PlayState.hx | 4 ++-- source/funkin/play/event/FocusCameraSongEvent.hx | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/funkin/play/PlayState.hx b/source/funkin/play/PlayState.hx index 44ad819c4..8f2c2b674 100644 --- a/source/funkin/play/PlayState.hx +++ b/source/funkin/play/PlayState.hx @@ -3128,7 +3128,7 @@ class PlayState extends MusicBeatSubState /** * Resets the camera's zoom level and focus point. */ - public function resetCamera(?resetZoom:Bool = true, ?cancelTweens:Bool = true):Void + public function resetCamera(?resetZoom:Bool = true, ?cancelTweens:Bool = true, ?snap:Bool = true):Void { // Cancel camera tweens if any are active. if (cancelTweens) @@ -3145,7 +3145,7 @@ class PlayState extends MusicBeatSubState } // Snap the camera to the follow point immediately. - FlxG.camera.focusOn(cameraFollowPoint.getPosition()); + if (snap) FlxG.camera.focusOn(cameraFollowPoint.getPosition()); } /** diff --git a/source/funkin/play/event/FocusCameraSongEvent.hx b/source/funkin/play/event/FocusCameraSongEvent.hx index 1bcac9ad3..ecb41de98 100644 --- a/source/funkin/play/event/FocusCameraSongEvent.hx +++ b/source/funkin/play/event/FocusCameraSongEvent.hx @@ -127,6 +127,7 @@ class FocusCameraSongEvent extends SongEvent switch (ease) { case 'CLASSIC': // Old-school. No ease. Just set follow point. + PlayState.instance.resetCamera(false, false, false); PlayState.instance.cancelCameraFollowTween(); PlayState.instance.cameraFollowPoint.setPosition(targetX, targetY); case 'INSTANT': // Instant ease. Duration is automatically 0.