songs/weeks list modes flags

This commit is contained in:
⍚~Nex
2024-09-01 03:47:41 +02:00
parent 807206e768
commit cb1d6fcacf
5 changed files with 32 additions and 9 deletions
+5 -1
View File
@@ -6,9 +6,13 @@ import lime.utils.AssetType;
import funkin.backend.assets.IModsAssetLibrary;
import funkin.backend.assets.ScriptedAssetLibrary;
/**
* A class that reads the `flags.ini` file, allowing to read settable Flags (customs too).
*/
@:build(funkin.backend.system.macros.FlagMacro.build())
class Flags {
public static var FPS_BUILD_TEXT:String = "Commit ${build} (${commit})";
public static var SONGS_LIST_MOD_MODE:Allow<"prepend", "override", "append"> = "override";
public static var WEEKS_LIST_MOD_MODE:Allow<"prepend", "override", "append"> = "override";
// Internal stuff
@@ -12,8 +12,6 @@ class CodenameBuildField extends TextField {
reload();
}
public function reload() {
var buildText = Flags.FPS_BUILD_TEXT.replace("${build}", Std.string(GitCommitMacro.commitNumber)).replace("${commit}", GitCommitMacro.commitHash);
text = 'Codename Engine ${Main.releaseCycle}\n' + buildText;
}
public function reload()
text = 'Codename Engine ${Main.releaseCycle}\nCommit ${GitCommitMacro.commitNumber} (${GitCommitMacro.commitHash})';
}
+2
View File
@@ -22,6 +22,8 @@ import flixel.math.FlxMath;
import flixel.tweens.FlxEase;
import flixel.util.FlxDestroyUtil;
import funkin.backend.system.Flags;
import funkin.menus.ui.Alphabet;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
+11 -2
View File
@@ -465,8 +465,17 @@ class FreeplaySonglist {
public static function get(useTxt:Bool = true) {
var songList = new FreeplaySonglist();
if (songList.getSongsFromSource(MODS, useTxt))
songList.getSongsFromSource(SOURCE, useTxt);
switch(Flags.SONGS_LIST_MOD_MODE) {
case 'prepend':
songList.getSongsFromSource(MODS, useTxt);
songList.getSongsFromSource(SOURCE, useTxt);
case 'append':
songList.getSongsFromSource(SOURCE, useTxt);
songList.getSongsFromSource(MODS, useTxt);
default /*case 'override'*/:
if (songList.getSongsFromSource(MODS, useTxt))
songList.getSongsFromSource(SOURCE, useTxt);
}
return songList;
}
+12 -2
View File
@@ -205,8 +205,18 @@ class StoryMenuState extends MusicBeatState {
public function loadXMLs() {
// CoolUtil.coolTextFile(Paths.txt('freeplaySonglist'));
var weeks:Array<String> = [];
if (getWeeksFromSource(weeks, MODS))
getWeeksFromSource(weeks, SOURCE);
switch(Flags.WEEKS_LIST_MOD_MODE) {
case 'prepend':
getWeeksFromSource(weeks, MODS);
getWeeksFromSource(weeks, SOURCE);
case 'append':
getWeeksFromSource(weeks, SOURCE);
getWeeksFromSource(weeks, MODS);
default /*case 'override'*/:
if (getWeeksFromSource(weeks, MODS))
getWeeksFromSource(weeks, SOURCE);
}
for(k=>weekName in weeks) {
var week:Access = null;