From 887fd56f8c48dc5712fd94d305e4a0d102f2cd1d Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sat, 3 Feb 2024 15:49:17 -0700 Subject: [PATCH] Alt anim Idle in evnet --- source/funkin/backend/chart/EventsData.hx | 2 +- source/funkin/game/Character.hx | 5 +++-- source/funkin/game/PlayState.hx | 20 +++++++++++--------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/source/funkin/backend/chart/EventsData.hx b/source/funkin/backend/chart/EventsData.hx index 39b332e0..36f20a2e 100644 --- a/source/funkin/backend/chart/EventsData.hx +++ b/source/funkin/backend/chart/EventsData.hx @@ -47,7 +47,7 @@ class EventsData { defValue: "In" } ], - "Alt Animation Toggle" => [{name: "Strumline", type: TStrumLine, defValue: 0}, {name: "Enable", type: TBool, defValue: true}], + "Alt Animation Toggle" => [{name: "Enable On Sing Poses", type: TBool, defValue: true}, {name: "Enable On Idle", type: TBool, defValue: true}, {name: "Strumline", type: TStrumLine, defValue: 0}], "Play Animation" => [{name: "Character", type: TStrumLine, defValue: 0}, {name: "Animation", type: TString, defValue: "animation"}], ]; diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 0c3e50cd..569b58dc 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -62,6 +62,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset public var xml:Access; public var shadowFrame:CharacterShadowFrame; + public var idleSuffix:String = ""; public inline function getCameraPosition() { @@ -219,10 +220,10 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset default: if (isDanceLeftDanceRight) { - playAnim((danced = !danced) ? 'danceLeft' : 'danceRight', DANCE); + playAnim(((danced = !danced) ? 'danceLeft' : 'danceRight') + idleSuffix, DANCE); } else - playAnim('idle', DANCE); + playAnim('idle' + idleSuffix, DANCE); } } } diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx index ae449173..4bec15b2 100644 --- a/source/funkin/game/PlayState.hx +++ b/source/funkin/game/PlayState.hx @@ -1244,12 +1244,9 @@ class PlayState extends MusicBeatState switch(event.name) { case "HScript Call": - if (event.params[0] is String && event.params[1] is String) { - scripts.call(event.params[0], event.params[1].split(',')); - } + scripts.call(event.params[0], event.params[1].split(',')); case "Camera Movement": - if (event.params[0] is Int) - curCameraTarget = event.params[0]; + curCameraTarget = event.params[0]; case "Add Camera Zoom": var camera:FlxCamera = event.params[1] == "camHUD" ? camHUD : camGame; camera.zoom += event.params[0]; @@ -1272,10 +1269,15 @@ class PlayState extends MusicBeatState else scrollSpeedTween = FlxTween.tween(this, {scrollSpeed: event.params[1]}, (Conductor.stepCrochet / 1000) * event.params[2], {ease: CoolUtil.flxeaseFromString(event.params[3], event.params[4])}); case "Alt Animation Toggle": - if (event.params[0] is Int && event.params[1] is Bool) { - var strLine = strumLines.members[event.params[0]]; - if (strLine != null) - strLine.altAnim = cast event.params[1]; + var strLine = strumLines.members[event.params[2]]; + if (strLine != null) { + strLine.altAnim = cast event.params[0]; + + if (event.params[1]) // Alt anim Idle + for (character in strLine.characters) { + if (character == null) continue; + character.idleSuffix = event.params[1] ? "-alt" : ""; + } } case "Play Animation": if (strumLines.members[event.params[0]] != null && strumLines.members[event.params[0]].characters != null)