diff --git a/source/funkin/backend/chart/VSliceParser.hx b/source/funkin/backend/chart/VSliceParser.hx index cf44eaf6..f94d8308 100644 --- a/source/funkin/backend/chart/VSliceParser.hx +++ b/source/funkin/backend/chart/VSliceParser.hx @@ -107,11 +107,14 @@ class VSliceParser { switch (event.e) { case "FocusCamera": + var isPosOnly = false; var arr:Array = [switch(values.char) { // more cases here in the future if they add em? (i hope not) - Nex case 0: 1; case 1: 0; - case -1: -1; + case -1: + isPosOnly = true; + -1; default: 2; }]; if (values.ease != "CLASSIC" && values.ease != null) { @@ -121,16 +124,16 @@ class VSliceParser { arr = arr.concat([true, values.duration == null ? 4 : values.duration, cneEase[0], cneEase[1]]); } } - if (values.x != null || values.y != null) result.events.push({ - time: event.t, - name: "Camera Position", - params: [values.x, values.y, arr[1], arr[2], arr[3], arr[4], true] - }); - if (arr[0] != -1) result.events.push({ + if (!isPosOnly) result.events.push({ time: event.t, name: "Camera Movement", params: arr }); + if (isPosOnly || ((values.x != null && values.x > 0) || (values.y != null && values.y > 0))) result.events.push({ + time: event.t, + name: "Camera Position", + params: [values.x, values.y, arr[1], arr[2], arr[3], arr[4], true] + }); case "PlayAnimation": result.events.push({ time: event.t,