From e39fe457ec64d8a6daa7432e35c82a7d68d1fa7a Mon Sep 17 00:00:00 2001 From: Kolziak <53307233+Kolziak@users.noreply.github.com> Date: Mon, 16 Jun 2025 13:47:52 +0200 Subject: [PATCH 1/7] fixed the game crashing --- source/funkin/editors/charter/ChartDataScreen.hx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/funkin/editors/charter/ChartDataScreen.hx b/source/funkin/editors/charter/ChartDataScreen.hx index 71219726..ca395764 100644 --- a/source/funkin/editors/charter/ChartDataScreen.hx +++ b/source/funkin/editors/charter/ChartDataScreen.hx @@ -76,8 +76,6 @@ class ChartDataScreen extends UISubstateWindow { } public function saveInfo() { - UIUtil.confirmUISelections(this); - var oldData:{stage:String, speed:Float} = {stage: PlayState.SONG.stage, speed: PlayState.SONG.scrollSpeed}; PlayState.SONG.stage = stageTextBox.label.text; @@ -100,4 +98,4 @@ class ChartDataScreen extends UISubstateWindow { super.destroy(); FlxG.cameras.remove(strumLineCam); } -} \ No newline at end of file +} From 5a9502c606cea45799d70fe5438c3d7c0250f41b Mon Sep 17 00:00:00 2001 From: Kolziak Date: Mon, 16 Jun 2025 13:50:59 +0200 Subject: [PATCH 2/7] antialiasing by default --- source/funkin/editors/stage/StageEditor.hx | 1 + 1 file changed, 1 insertion(+) diff --git a/source/funkin/editors/stage/StageEditor.hx b/source/funkin/editors/stage/StageEditor.hx index da9c8518..717f7cb4 100644 --- a/source/funkin/editors/stage/StageEditor.hx +++ b/source/funkin/editors/stage/StageEditor.hx @@ -532,6 +532,7 @@ class StageEditor extends UIState { sprite.extra.set(exID("parentNode"), stage.stageXML.x); sprite.extra.set(exID("highMemory"), false); sprite.extra.set(exID("lowMemory"), false); + sprite.antialiasing = true; xmlMap.set(sprite, node); var button:StageSpriteButton = new StageSpriteButton(0, 0, sprite, node); From 563bc93d4b51e2443e5ab894fcf338f2c63a3b5e Mon Sep 17 00:00:00 2001 From: Kolze <53307233+KolzeYT@users.noreply.github.com> Date: Sun, 27 Jul 2025 14:26:17 +0200 Subject: [PATCH 3/7] fixed the width of characters not loading --- source/funkin/editors/stage/StageEditor.hx | 1 + 1 file changed, 1 insertion(+) diff --git a/source/funkin/editors/stage/StageEditor.hx b/source/funkin/editors/stage/StageEditor.hx index fb63c10a..799fdc8b 100644 --- a/source/funkin/editors/stage/StageEditor.hx +++ b/source/funkin/editors/stage/StageEditor.hx @@ -395,6 +395,7 @@ class StageEditor extends UIState { char.extra.set(exID("parentNode"), parent); char.extra.set(exID("highMemory"), parent.name == "highMemory"); char.extra.set(exID("lowMemory"), parent.name == "lowMemory"); + char.scale.x = node.has.scalex ? Std.parseFloat(node.att.scalex) : 1; chars.push(char); stage.applyCharStuff(char, charPos.name, 0); From 7646fdc70577ace8c19765c4240b0bd3a5ddceea Mon Sep 17 00:00:00 2001 From: Kolze <53307233+KolzeYT@users.noreply.github.com> Date: Sun, 27 Jul 2025 20:30:14 +0200 Subject: [PATCH 4/7] fixed the icon color picker not working properly --- source/funkin/editors/ui/UIIconColorPicker.hx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/funkin/editors/ui/UIIconColorPicker.hx b/source/funkin/editors/ui/UIIconColorPicker.hx index a59dc107..9d3a0f83 100644 --- a/source/funkin/editors/ui/UIIconColorPicker.hx +++ b/source/funkin/editors/ui/UIIconColorPicker.hx @@ -2,7 +2,7 @@ package funkin.editors.ui; import openfl.display.BitmapData; import flixel.util.FlxColor; - +import flixel.graphics.frames.FlxAtlasFrames; using funkin.backend.utils.BitmapUtil; class UIIconColorPicker extends UISliceSprite { @@ -41,12 +41,17 @@ class UIIconColorPicker extends UISliceSprite { if (iconSprite.animation.exists(icon)) return; @:privateAccess iconSprite.animation.clearAnimations(); - var path:String = Paths.image('icons/$icon'); - if (!Assets.exists(path)) path = Paths.image('icons/face'); + var path:String = Assets.exists(Paths.image('icons/$icon/icon')) ? Paths.image('icons/$icon/icon') : Paths.image('icons/$icon'); + if (!Assets.exists(path)) path = Paths.image('icons/face/icon'); - iconSprite.loadGraphic(__path = path, true, 150, 150); - iconSprite.animation.add(icon, [0], 0, false); - iconSprite.animation.play(icon); + if(Assets.exists(Paths.getPath('images/icons/$icon/icon.xml'))) { + iconSprite.frames = FlxAtlasFrames.fromSparrow(__path = path, Paths.getPath('images/icons/$icon/icon.xml')); + iconSprite.animation.add("idle", [0], 24, true, false, false); + iconSprite.animation.play("idle"); + } else { + iconSprite.loadGraphic(__path = path, true, 150, 150); + } + iconSprite.scale.set(125/150, 125/150); iconSprite.updateHitbox(); @@ -70,4 +75,4 @@ class UIIconColorPicker extends UISliceSprite { colorWheel.updateWheel(); } } -} \ No newline at end of file +} From d9bc14a51730c836e53104fabff5d1f275b7a13a Mon Sep 17 00:00:00 2001 From: Kolze <53307233+KolzeYT@users.noreply.github.com> Date: Sun, 27 Jul 2025 23:12:52 +0200 Subject: [PATCH 5/7] fixed event icons not updating after changing the character --- source/funkin/editors/charter/CharterStrumlineScreen.hx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/funkin/editors/charter/CharterStrumlineScreen.hx b/source/funkin/editors/charter/CharterStrumlineScreen.hx index e4b1b318..ce7aaad9 100644 --- a/source/funkin/editors/charter/CharterStrumlineScreen.hx +++ b/source/funkin/editors/charter/CharterStrumlineScreen.hx @@ -144,6 +144,9 @@ class CharterStrumlineScreen extends UISubstateWindow { saveButton = new UIButton(windowSpr.x + windowSpr.bWidth - 20 - 125, windowSpr.y + windowSpr.bHeight - 16 - 32, TU.translate("editor.saveClose"), function() { saveStrumline(); + for (grp in [Charter.instance.leftEventsGroup, Charter.instance.rightEventsGroup]) { + for (e in grp.members) e.refreshEventIcons(); + } close(); }, 125); add(saveButton); @@ -284,4 +287,4 @@ class CharacterButton extends UIButton { super.update(elapsed); } -} \ No newline at end of file +} From 51c720583a7bf37af6e5acf25b3d6aed3dae3930 Mon Sep 17 00:00:00 2001 From: Kolziak Date: Thu, 31 Jul 2025 20:37:41 +0200 Subject: [PATCH 6/7] fucking shit why was the debugMode working like that --- source/funkin/editors/stage/StageEditor.hx | 3 ++- source/funkin/game/Character.hx | 2 +- source/funkin/game/Stage.hx | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source/funkin/editors/stage/StageEditor.hx b/source/funkin/editors/stage/StageEditor.hx index 799fdc8b..798c7893 100644 --- a/source/funkin/editors/stage/StageEditor.hx +++ b/source/funkin/editors/stage/StageEditor.hx @@ -386,6 +386,7 @@ class StageEditor extends UIState { // Add it to the stage char.visible = true; char.alpha = 0.75; + char.extra.set(exID("node"), node); char.extra.set(exID("spacingX"), charPos.charSpacingX); char.extra.set(exID("spacingY"), charPos.charSpacingY); @@ -395,7 +396,6 @@ class StageEditor extends UIState { char.extra.set(exID("parentNode"), parent); char.extra.set(exID("highMemory"), parent.name == "highMemory"); char.extra.set(exID("lowMemory"), parent.name == "lowMemory"); - char.scale.x = node.has.scalex ? Std.parseFloat(node.att.scalex) : 1; chars.push(char); stage.applyCharStuff(char, charPos.name, 0); @@ -403,6 +403,7 @@ class StageEditor extends UIState { remove(charPos, true); charPos.destroy(); + return char; } diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 15a9729f..1e4d76ba 100644 --- a/source/funkin/game/Character.hx +++ b/source/funkin/game/Character.hx @@ -391,7 +391,7 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset } for (attribute in xml.x.attributes()) - if (!characterProperties.contains(attribute)) + if (!characterProperties.contains(attribute)) extra[attribute] = xml.x.get(attribute); fixChar(__switchAnims, !hasInterval); diff --git a/source/funkin/game/Stage.hx b/source/funkin/game/Stage.hx index 4b5cc8c8..5ef140b6 100644 --- a/source/funkin/game/Stage.hx +++ b/source/funkin/game/Stage.hx @@ -1,6 +1,7 @@ package funkin.game; import flixel.util.typeLimit.OneOfTwo; +import funkin.editors.character.CharacterEditor; import flixel.FlxState; import flixel.math.FlxPoint; import haxe.xml.Access; @@ -415,8 +416,9 @@ class StageCharPos extends FlxObject { oldInfo = getOldInfo(char); char.setPosition(x + (id * charSpacingX), y + (id * charSpacingY)); char.scrollFactor.set(scrollFactor.x, scrollFactor.y); - if (!char.debugMode) + if (!Std.isOfType(FlxG.state, CharacterEditor)) { char.scale.x *= scale.x; char.scale.y *= scale.y; + } char.cameraOffset += FlxPoint.weak(camxoffset, camyoffset); char.skew.x += skewX; char.skew.y += skewY; char.alpha *= alpha; From 85fbf9ffef00881f1f9fa794df8147f0ecf23022 Mon Sep 17 00:00:00 2001 From: Kolziak Date: Thu, 31 Jul 2025 20:41:17 +0200 Subject: [PATCH 7/7] returned the thing --- source/funkin/editors/charter/ChartDataScreen.hx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/funkin/editors/charter/ChartDataScreen.hx b/source/funkin/editors/charter/ChartDataScreen.hx index 0cb996b7..411553a6 100644 --- a/source/funkin/editors/charter/ChartDataScreen.hx +++ b/source/funkin/editors/charter/ChartDataScreen.hx @@ -76,6 +76,8 @@ class ChartDataScreen extends UISubstateWindow { } public function saveInfo() { + UIUtil.confirmUISelections(this); + var oldData:{stage:String, speed:Float} = {stage: PlayState.SONG.stage, speed: PlayState.SONG.scrollSpeed}; PlayState.SONG.stage = stageTextBox.label.text;