readd the beta warning state as a template state (WarningState.hx)

This commit is contained in:
Frakits
2025-07-24 13:51:58 +03:00
parent 17f072a40f
commit e8332c688f
4 changed files with 67 additions and 2 deletions
+1 -1
View File
@@ -182,7 +182,7 @@ class Flags {
public static var JSON_PRETTY_PRINT:String = "\t";
public static var DISABLE_EDITORS:Bool = false;
public static var DISABLE_BETA_WARNING_SCREEN:Bool = false;
public static var DISABLE_WARNING_SCREEN:Bool = true;
public static var DISABLE_TRANSITIONS:Bool = false;
@:also(funkin.backend.MusicBeatTransition.script)
+2 -1
View File
@@ -135,6 +135,7 @@ class MainState extends FlxState {
}
}
FlxG.switchState(new TitleState());
if (!Flags.DISABLE_WARNING_SCREEN) FlxG.switchState(new funkin.menu.WarningState());
else FlxG.switchState(new TitleState());
}
}
@@ -27,6 +27,9 @@ MOD_DOWNLOAD_LINK="YOUR MOD PAGE LINK HERE"
[Flags]
DISABLE_BETA_WARNING_SCREEN=true
DISABLE_WARNING_SCREEN=true
# Set this to false if you want to bring back the warning state (prior to 1.0.0)
# NOTE: Beta warning state has been renamed from BetaWarningState.hx to WarningState.hx
[Discord]
MOD_DISCORD_CLIENT_ID=""
+61
View File
@@ -0,0 +1,61 @@
package funkin.menus;
import flixel.util.FlxColor;
import flixel.text.FlxText;
import funkin.backend.FunkinText;
class WarningState extends MusicBeatState {
var titleAlphabet:Alphabet;
var disclaimer:FunkinText;
var transitioning:Bool = false;
public override function create() {
titleAlphabet = new Alphabet(0, 0, "WARNING", true);
titleAlphabet.screenCenter(X);
add(titleAlphabet);
disclaimer = new FunkinText(16, titleAlphabet.y + titleAlphabet.height + 10, FlxG.width - 32, "", 32);
disclaimer.alignment = CENTER;
disclaimer.text = "This is a warning state! Make a script #./data/states/WarningState.hx# to edit this text! \n\n Note: you can use * or # to highlight your text in red or yellow, or you can just make your own markup using postCreate";
super.create();
disclaimer.applyMarkup(disclaimer.text,
[
new FlxTextFormatMarkerPair(new FlxTextFormat(0xFFFF4444), "*"),
new FlxTextFormatMarkerPair(new FlxTextFormat(0xFFFFFF44), "#")
]
);
add(disclaimer);
var off = Std.int((FlxG.height - (disclaimer.y + disclaimer.height)) / 2);
disclaimer.y += off;
titleAlphabet.y += off;
DiscordUtil.call("onMenuLoaded", ["Beta Warning"]);
}
public override function update(elapsed:Float) {
super.update(elapsed);
if (controls.ACCEPT && transitioning) {
FlxG.camera.stopFX(); FlxG.camera.visible = false;
goToTitle();
}
if (controls.ACCEPT && !transitioning) {
transitioning = true;
CoolUtil.playMenuSFX(CONFIRM);
FlxG.camera.flash(FlxColor.WHITE, 1, function() {
FlxG.camera.fade(FlxColor.BLACK, 2.5, false, goToTitle);
});
}
}
private function goToTitle() {
MusicBeatState.skipTransIn = MusicBeatState.skipTransOut = true;
FlxG.switchState(new TitleState());
}
}