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 +} diff --git a/source/funkin/editors/stage/StageEditor.hx b/source/funkin/editors/stage/StageEditor.hx index 8900c24f..6469d0ea 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); @@ -402,6 +403,7 @@ class StageEditor extends UIState { remove(charPos, true); charPos.destroy(); + return char; } @@ -540,6 +542,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); 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 +} diff --git a/source/funkin/game/Character.hx b/source/funkin/game/Character.hx index 32008f18..32375290 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;