diff --git a/source/funkin/ui/charSelect/CharSelectSubState.hx b/source/funkin/ui/charSelect/CharSelectSubState.hx index 70731ac2e4..c8311ce974 100644 --- a/source/funkin/ui/charSelect/CharSelectSubState.hx +++ b/source/funkin/ui/charSelect/CharSelectSubState.hx @@ -175,6 +175,7 @@ class CharSelectSubState extends MusicBeatSubState playerChillOut = new CharSelectPlayer(0, 0); playerChillOut.switchChar("bf"); + playerChillOut.visible = false; add(playerChillOut); playerChill = new CharSelectPlayer(0, 0); @@ -543,6 +544,7 @@ class CharSelectSubState extends MusicBeatSubState nametag.switchChar(char); gfChill.switchGF(char); + gfChill.visible = true; var icon = new PixelatedIcon(0, 0); icon.setCharacter(char); @@ -797,8 +799,6 @@ class CharSelectSubState extends MusicBeatSubState if (allowInput && !pressedSelect && controls.ACCEPT) { cursorConfirmed.visible = true; - cursorConfirmed.x = cursor.x - 2; - cursorConfirmed.y = cursor.y - 4; cursorConfirmed.animation.play("idle", true); grpCursors.visible = false; @@ -855,8 +855,6 @@ class CharSelectSubState extends MusicBeatSubState if (allowInput && controls.ACCEPT) { cursorDenied.visible = true; - cursorDenied.x = cursor.x - 2; - cursorDenied.y = cursor.y - 4; playerChill.playAnimation("cannot select Label", true); @@ -892,6 +890,12 @@ class CharSelectSubState extends MusicBeatSubState cursorDarkBlue.x = MathUtil.coolLerp(cursorDarkBlue.x, cursorLocIntended.x, lerpAmnt * 0.2); cursorDarkBlue.y = MathUtil.coolLerp(cursorDarkBlue.y, cursorLocIntended.y, lerpAmnt * 0.2); + + cursorConfirmed.x = cursor.x - 2; + cursorConfirmed.y = cursor.y - 4; + + cursorDenied.x = cursor.x - 2; + cursorDenied.y = cursor.y - 4; } var bopTimer:Float = 0; @@ -1056,18 +1060,20 @@ class CharSelectSubState extends MusicBeatSubState staticSound.stop(); nametag.switchChar(value); + gfChill.visible = false; playerChill.visible = false; playerChillOut.visible = true; playerChillOut.playAnimation("slideout"); var index = playerChillOut.anim.getFrameLabel("slideout").index; playerChillOut.onAnimationFrame.add((_, frame:Int) -> { - if (frame == index + 1) + if (frame >= index + 1) { playerChill.visible = true; playerChill.switchChar(value); gfChill.switchGF(value); + gfChill.visible = true; } - if (frame == index + 2) + if (frame >= index + 2) { playerChillOut.switchChar(value); playerChillOut.visible = false;