cool stuff
This commit is contained in:
@@ -1,19 +1,14 @@
|
||||
<!DOCTYPE codename-mod-options>
|
||||
<!-- NOT WORKING YET -->
|
||||
<!-- TEMPLATE FOR CUSTOM OPTIONS!!! -->
|
||||
<menu name="Mod Options" desc="Modify mod options here">
|
||||
<checkbox id="levelOfIdk" name="Level of idk" />
|
||||
<choice id="levelOfChoice" name="Level of choice">
|
||||
<checkbox id="checkboxExample" name="Checkbox example" />
|
||||
<choice id="choiceExample" name="Choice Example">
|
||||
<value name="Disabled" value="disabled" />
|
||||
<value name="This Only" value="thisonly" />
|
||||
<value name="All" value="all" />
|
||||
</choice>
|
||||
|
||||
<menu name="Submenu" desc="Submenu test">
|
||||
<menu name="Submenu Example" desc="Submenu test">
|
||||
<checkbox id="levelOfIdk2" name="Level of idk" />
|
||||
<choice id="levelOfChoice" name="Level of choice">
|
||||
<value name="Disabled" value="disabled" />
|
||||
<value name="This Only" value="thisonly" />
|
||||
<value name="All" value="all" />
|
||||
</choice>
|
||||
</menu>
|
||||
</menu>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 282 KiB |
+1
-1
@@ -1 +1 @@
|
||||
2482
|
||||
2489
|
||||
@@ -12,7 +12,7 @@ class EditorPicker extends MusicBeatSubstate {
|
||||
{
|
||||
name: "Chart Editor",
|
||||
iconID: 0,
|
||||
state: null
|
||||
state: funkin.editors.charter.CharterSelection
|
||||
},
|
||||
{
|
||||
name: "Character Editor",
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package funkin.editors;
|
||||
|
||||
import flixel.addons.display.FlxBackdrop;
|
||||
import funkin.options.*;
|
||||
|
||||
class EditorTreeMenu extends TreeMenu {
|
||||
public var bg:FlxBackdrop;
|
||||
public var bgType:String = "default";
|
||||
|
||||
public override function create() {
|
||||
super.create();
|
||||
|
||||
bg = new FlxBackdrop();
|
||||
bg.loadGraphic(Paths.image('editors/bgs/${bgType}'));
|
||||
bg.antialiasing = true;
|
||||
add(bg);
|
||||
}
|
||||
|
||||
public override function update(elapsed:Float) {
|
||||
super.update(elapsed);
|
||||
bg.x += elapsed * 125;
|
||||
bg.y += elapsed * 125;
|
||||
}
|
||||
}
|
||||
@@ -1,23 +1,55 @@
|
||||
package funkin.editors.charter;
|
||||
|
||||
import flixel.util.FlxColor;
|
||||
import funkin.menus.FreeplayState.FreeplaySonglist;
|
||||
import funkin.editors.EditorTreeMenu;
|
||||
import funkin.options.*;
|
||||
import funkin.options.type.*;
|
||||
|
||||
class CharterSelection extends MusicBeatState {
|
||||
public var songNames:FlxTypedSpriteGroup<Alphabet>;
|
||||
public var freeplaySonglist:FreeplaySonglist;
|
||||
|
||||
class CharterSelection extends EditorTreeMenu {
|
||||
public var freeplayList:FreeplaySonglist;
|
||||
public override function create() {
|
||||
bgType = "charter";
|
||||
|
||||
super.create();
|
||||
|
||||
songNames = new FlxTypedSpriteGroup<Alphabet>();
|
||||
freeplayList = FreeplaySonglist.get();
|
||||
|
||||
freeplaySonglist = FreeplaySonglist.get();
|
||||
main = new OptionsScreen("Chart Editor", "Select a song to modify the charts from.", [
|
||||
for(s in freeplayList.songs) new IconOption(s.name, "Press ACCEPT to choose a difficulty to edit.", s.icon, function() {
|
||||
optionsTree.add(new OptionsScreen(s.name, "Select a difficulty to continue, or press 1 to add a new one.", [
|
||||
for(d in s.difficulties) new TextOption(d, "Press ACCEPT to edit the chart for the selected difficulty", function() {
|
||||
trace(s.name);
|
||||
trace(d);
|
||||
})
|
||||
]));
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
||||
for(k=>s in freeplaySonglist.songs) {
|
||||
var alphabet = new Alphabet(0, k * 60, s.displayName, true);
|
||||
songNames.add(alphabet);
|
||||
public override function update(elapsed:Float) {
|
||||
super.update(elapsed);
|
||||
|
||||
bg.colorTransform.redOffset = lerp(bg.colorTransform.redOffset, 0, 0.0625);
|
||||
bg.colorTransform.greenOffset = lerp(bg.colorTransform.greenOffset, 0, 0.0625);
|
||||
bg.colorTransform.blueOffset = lerp(bg.colorTransform.blueOffset, 0, 0.0625);
|
||||
bg.colorTransform.redMultiplier = lerp(bg.colorTransform.redMultiplier, 1, 0.0625);
|
||||
bg.colorTransform.greenMultiplier = lerp(bg.colorTransform.greenMultiplier, 1, 0.0625);
|
||||
bg.colorTransform.blueMultiplier = lerp(bg.colorTransform.blueMultiplier, 1, 0.0625);
|
||||
}
|
||||
|
||||
public override function onMenuChange() {
|
||||
super.onMenuChange();
|
||||
if (optionsTree.members.length > 1) { // selected a song
|
||||
// small flashbang
|
||||
var color:FlxColor = freeplayList.songs[main.curSelected].parsedColor.getDefault(0xFFFFFFFF);
|
||||
|
||||
bg.colorTransform.redOffset = 0.25 * color.red;
|
||||
bg.colorTransform.greenOffset = 0.25 * color.green;
|
||||
bg.colorTransform.blueOffset = 0.25 * color.blue;
|
||||
bg.colorTransform.redMultiplier = FlxMath.lerp(1, color.redFloat, 0.25);
|
||||
bg.colorTransform.greenMultiplier = FlxMath.lerp(1, color.greenFloat, 0.25);
|
||||
bg.colorTransform.blueMultiplier = FlxMath.lerp(1, color.blueFloat, 0.25);
|
||||
}
|
||||
|
||||
add(songNames);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package funkin.options.type;
|
||||
|
||||
import funkin.game.HealthIcon;
|
||||
|
||||
class IconOption extends TextOption {
|
||||
public var iconSpr:HealthIcon;
|
||||
|
||||
public function new(name:String, desc:String, icon:String, callback:Void->Void) {
|
||||
super(name, desc, callback);
|
||||
|
||||
iconSpr = new HealthIcon(icon, false);
|
||||
iconSpr.setPosition(90 - iconSpr.width, (__text.height - iconSpr.height) / 2);
|
||||
add(iconSpr);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user