diff --git a/art/flashFiles/Editor_Icons.fla b/art/flashFiles/Editor_Icons.fla
index 6ad80d3d..d9be2190 100644
Binary files a/art/flashFiles/Editor_Icons.fla and b/art/flashFiles/Editor_Icons.fla differ
diff --git a/assets/images/editors/icons.png b/assets/images/editors/icons.png
deleted file mode 100644
index cccc10f9..00000000
Binary files a/assets/images/editors/icons.png and /dev/null differ
diff --git a/assets/images/editors/icons/alphabet.png b/assets/images/editors/icons/alphabet.png
new file mode 100644
index 00000000..5496fcd1
Binary files /dev/null and b/assets/images/editors/icons/alphabet.png differ
diff --git a/assets/images/editors/icons/character.png b/assets/images/editors/icons/character.png
new file mode 100644
index 00000000..b58fbe98
Binary files /dev/null and b/assets/images/editors/icons/character.png differ
diff --git a/assets/images/editors/icons/chart.png b/assets/images/editors/icons/chart.png
new file mode 100644
index 00000000..88f01e64
Binary files /dev/null and b/assets/images/editors/icons/chart.png differ
diff --git a/assets/images/editors/icons/debugOptions.png b/assets/images/editors/icons/debugOptions.png
new file mode 100644
index 00000000..9910412f
Binary files /dev/null and b/assets/images/editors/icons/debugOptions.png differ
diff --git a/assets/images/editors/icons/dialogue.png b/assets/images/editors/icons/dialogue.png
new file mode 100644
index 00000000..c6b6ce1f
Binary files /dev/null and b/assets/images/editors/icons/dialogue.png differ
diff --git a/assets/images/editors/icons/noteskin.png b/assets/images/editors/icons/noteskin.png
new file mode 100644
index 00000000..c508eb79
Binary files /dev/null and b/assets/images/editors/icons/noteskin.png differ
diff --git a/assets/images/editors/icons/stage.png b/assets/images/editors/icons/stage.png
new file mode 100644
index 00000000..3735a3f5
Binary files /dev/null and b/assets/images/editors/icons/stage.png differ
diff --git a/assets/images/editors/icons/uiDebug.png b/assets/images/editors/icons/uiDebug.png
new file mode 100644
index 00000000..527b3328
Binary files /dev/null and b/assets/images/editors/icons/uiDebug.png differ
diff --git a/assets/images/editors/icons/wiki.png b/assets/images/editors/icons/wiki.png
new file mode 100644
index 00000000..47be596f
Binary files /dev/null and b/assets/images/editors/icons/wiki.png differ
diff --git a/project.xml b/project.xml
index dfed7dac..b8c1eb6c 100644
--- a/project.xml
+++ b/project.xml
@@ -64,6 +64,7 @@
+
@@ -153,7 +154,7 @@
-
+
diff --git a/source/funkin/backend/chart/EventsData.hx b/source/funkin/backend/chart/EventsData.hx
index fe19c823..fc3a3de3 100644
--- a/source/funkin/backend/chart/EventsData.hx
+++ b/source/funkin/backend/chart/EventsData.hx
@@ -31,7 +31,7 @@ class EventsData {
{name: "Time (Steps)", type: TFloat(0.25, 9999, 0.25, 2), defValue: 4},
{name: "Camera", type: TDropDown(['camGame', 'camHUD']), defValue: "camHUD"}
],
- "BPM Change" => [{name: "Target BPM", type: TFloat(1), defValue: 100}],
+ "BPM Change" => [{name: "Target BPM", type: TFloat(1.00, null, 0.001, 3), defValue: 100}],
"Scroll Speed Change" => [
{name: "Tween Speed?", type: TBool, defValue: true},
{name: "New Speed", type: TFloat(0.01, 99, 0.01, 2), defValue: 1.},
diff --git a/source/funkin/editors/EditorPicker.hx b/source/funkin/editors/EditorPicker.hx
index f5c99e7b..2c4c6b09 100644
--- a/source/funkin/editors/EditorPicker.hx
+++ b/source/funkin/editors/EditorPicker.hx
@@ -6,44 +6,38 @@ import flixel.math.FlxPoint;
class EditorPicker extends MusicBeatSubstate {
public var bg:FlxSprite;
- // Name is for backwards compatability, dont use it, use id instead
+ // Name is for backwards compatibility, don't use it, use id instead
public var options:Array = [
{
name: "Alphabet Editor",
- id: "alphabetEditor",
- iconID: -1,
+ id: "alphabet",
state: funkin.editors.alphabet.AlphabetSelection
},
{
name: "Chart Editor",
- id: "charter",
- iconID: 0,
+ id: "chart",
state: funkin.editors.charter.CharterSelection
},
{
name: "Character Editor",
- id: "characterEditor",
- iconID: 1,
+ id: "character",
state: funkin.editors.character.CharacterSelection
},
{
name: "Stage Editor",
- id: "stageEditor",
- iconID: 2,
+ id: "stage",
state: null
},
#if (debug || debug_ui)
{
name: "UI Debug State",
id: "uiDebug",
- iconID: 3,
state: UIDebugState
},
#end
{
name: "Wiki",
id: "wiki",
- iconID: 5,
state: null,
onClick: function() {
CoolUtil.openURL("https://codename-engine.com/");
@@ -52,7 +46,6 @@ class EditorPicker extends MusicBeatSubstate {
{
name: "Debug Options",
id: "debugOptions",
- iconID: 4,
state: DebugOptions
}
];
@@ -87,8 +80,8 @@ class EditorPicker extends MusicBeatSubstate {
optionHeight = FlxG.height / options.length;
for(k=>o in options) {
- var visualName = (o.id != null) ? TU.translate(o.id + ".name") : o.name;
- var spr = new EditorPickerOption(visualName, o.iconID, optionHeight);
+ var visualName = (o.id != null) ? TU.translate("editor." + o.id + ".name") : o.name;
+ var spr = new EditorPickerOption(visualName, o.id, optionHeight);
spr.y = k * optionHeight;
add(spr);
sprites.push(spr);
@@ -170,7 +163,6 @@ class EditorPicker extends MusicBeatSubstate {
typedef Editor = {
var name:String;
var id:String;
- var iconID:Int;
var state:Class;
var ?onClick:Void->Void;
}
@@ -186,23 +178,17 @@ class EditorPickerOption extends FlxTypedSpriteGroup {
public var selectionLerp:Float = 0;
public var iconRotationCycle:Float = 0;
- public function new(name:String, iconID:Int, height:Float) {
+ public function new(name:String, iconID:String, height:Float) {
super();
FlxG.mouse.visible = true;
iconSpr = new FlxSprite();
- iconSpr.loadGraphic(Paths.image('editors/icons'), true, 128, 128);
- if(iconID >= 0) {
- iconSpr.animation.add("icon", [iconID], 24, true);
- iconSpr.animation.play("icon");
- } else {
+ if(iconID != null)
+ iconSpr.loadGraphic(Paths.image('editors/icons/$iconID'));
+ else
iconSpr.exists = false;
- }
iconSpr.antialiasing = true;
- if (height < 150) {
- iconSpr.scale.set(height / 150, height / 150);
- iconSpr.updateHitbox();
- }
+ iconSpr.setUnstretchedGraphicSize(110, 110, false);
iconSpr.x = 25 + ((height - iconSpr.width) / 2);
iconSpr.y = (height - iconSpr.height) / 2;
diff --git a/source/funkin/game/StrumLine.hx b/source/funkin/game/StrumLine.hx
index 13c710c7..f46eff2e 100644
--- a/source/funkin/game/StrumLine.hx
+++ b/source/funkin/game/StrumLine.hx
@@ -340,6 +340,7 @@ class StrumLine extends FlxTypedGroup {
super.destroy();
if(startingPos != null)
startingPos.put();
+ notes = FlxDestroyUtil.destroy(notes);
}
/**
diff --git a/source/funkin/game/cutscenes/DialogueCutscene.hx b/source/funkin/game/cutscenes/DialogueCutscene.hx
index dfe45e5c..f44c3855 100644
--- a/source/funkin/game/cutscenes/DialogueCutscene.hx
+++ b/source/funkin/game/cutscenes/DialogueCutscene.hx
@@ -30,14 +30,14 @@ class DialogueCutscene extends ScriptedCutscene {
public static var cutscene:DialogueCutscene;
public var dialogueScript(get, set):Script;
- public function set_curLine(val:DialogueLine) {
+ public inline function set_curLine(val:DialogueLine) {
lastLine = curLine;
return curLine = val;
}
// Backwards compat funcs - Nex
- public function set_dialogueScript(val:Script) return script = val;
- public function get_dialogueScript() return script;
+ public inline function set_dialogueScript(val:Script) return script = val;
+ public inline function get_dialogueScript() return script;
public function new(dialoguePath:String, callback:Void->Void) {
super(this.dialoguePath = dialoguePath, callback);
diff --git a/source/funkin/menus/credits/CreditsMain.hx b/source/funkin/menus/credits/CreditsMain.hx
index fa9f56e4..8cdcd932 100644
--- a/source/funkin/menus/credits/CreditsMain.hx
+++ b/source/funkin/menus/credits/CreditsMain.hx
@@ -13,7 +13,7 @@ class CreditsMain extends TreeMenu {
var items:Array = [];
public override function create() {
- bg = new FlxSprite(-80).loadGraphic(Paths.image('menus/menuBGBlue'));
+ bg = new FlxSprite(-80).loadAnimatedGraphic(Paths.image('menus/menuBGBlue'));
// bg.scrollFactor.set();
bg.scale.set(1.15, 1.15);
bg.updateHitbox();
diff --git a/source/funkin/options/OptionsMenu.hx b/source/funkin/options/OptionsMenu.hx
index 750eb373..ca4535de 100644
--- a/source/funkin/options/OptionsMenu.hx
+++ b/source/funkin/options/OptionsMenu.hx
@@ -45,6 +45,8 @@ class OptionsMenu extends TreeMenu {
}
];
+ var bg:FlxSprite;
+
public override function create() {
super.create();
@@ -52,7 +54,7 @@ class OptionsMenu extends TreeMenu {
DiscordUtil.call("onMenuLoaded", ["Options Menu"]);
- var bg:FlxSprite = new FlxSprite(-80).loadAnimatedGraphic(Paths.image('menus/menuBGBlue'));
+ bg = new FlxSprite(-80).loadAnimatedGraphic(Paths.image('menus/menuBGBlue'));
// bg.scrollFactor.set();
bg.scale.set(1.15, 1.15);
bg.updateHitbox();