This commit is contained in:
Ralty
2025-08-01 17:35:32 +07:00
5 changed files with 23 additions and 10 deletions
@@ -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);
}
}
}
@@ -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);
+12 -7
View File
@@ -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();
}
}
}
}
+1 -1
View File
@@ -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);
+3 -1
View File
@@ -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;