commit 4987983dc6e655183b34258fed905be2fba73e0a Author: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon Apr 1 06:32:22 2024 -0700 fix charter bug commit 1135b53d4d4ab48fb74a9d5693579d0a2e4923db Author: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon Apr 1 00:46:53 2024 -0700 small changes commit 102931f3511c9f0423cf887ebf91eaeeb1024abe Author: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun Mar 31 23:03:03 2024 -0700 update spelling mistakes commit 87ad53ae91bc8b4d3b49af3ebb8c07db9f13765b Author: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Sun Mar 31 22:40:48 2024 -0700 Chart editor updates commit 8f7cae8a80a681158ff125c3e2547c9fd4dee7c1 Author: NeeEoo <NeeEoo@users.noreply.github.com> Date: Mon Apr 1 07:03:30 2024 +0200 Redesigned Chart Editor commit dbb94ba3bd8455a91883d6e5b59b25da87aefa32 Author: NeeEoo <NeeEoo@users.noreply.github.com> Date: Mon Apr 1 02:20:57 2024 +0200 Added Stage Editor
77 lines
2.6 KiB
Haxe
77 lines
2.6 KiB
Haxe
package funkin.backend.system;
|
|
|
|
#if MOD_SUPPORT
|
|
import sys.FileSystem;
|
|
#end
|
|
import funkin.backend.assets.ModsFolder;
|
|
import funkin.menus.TitleState;
|
|
import funkin.menus.BetaWarningState;
|
|
import funkin.backend.chart.EventsData;
|
|
import flixel.FlxState;
|
|
|
|
/**
|
|
* Simple state used for loading the game
|
|
*/
|
|
class MainState extends FlxState {
|
|
public static var initiated:Bool = false;
|
|
public static var betaWarningShown:Bool = false;
|
|
public override function create() {
|
|
super.create();
|
|
if (!initiated)
|
|
Main.loadGameSettings();
|
|
initiated = true;
|
|
|
|
#if sys
|
|
CoolUtil.deleteFolder('./.temp/'); // delete temp folder
|
|
#end
|
|
Options.save();
|
|
|
|
FlxG.bitmap.reset();
|
|
FlxG.sound.destroy(true);
|
|
|
|
Paths.assetsTree.reset();
|
|
|
|
#if MOD_SUPPORT
|
|
var _lowPriorityAddons:Array<String> = [];
|
|
var _highPriorityAddons:Array<String> = [];
|
|
var _noPriorityAddons:Array<String> = [];
|
|
if (FileSystem.exists(ModsFolder.addonsPath) && FileSystem.isDirectory(ModsFolder.addonsPath)) {
|
|
for(i=>addon in [for(dir in FileSystem.readDirectory(ModsFolder.addonsPath)) if (FileSystem.isDirectory('${ModsFolder.addonsPath}$dir')) dir]) {
|
|
if (addon.startsWith("[LOW]")) _lowPriorityAddons.insert(0, addon);
|
|
else if (addon.startsWith("[HIGH]")) _highPriorityAddons.insert(0, addon);
|
|
else _noPriorityAddons.insert(0, addon);
|
|
}
|
|
for (addon in _lowPriorityAddons)
|
|
Paths.assetsTree.addLibrary(ModsFolder.loadModLib('${ModsFolder.addonsPath}$addon', StringTools.ltrim(addon.substr("[LOW]".length))));
|
|
}
|
|
if (ModsFolder.currentModFolder != null)
|
|
Paths.assetsTree.addLibrary(ModsFolder.loadModLib('${ModsFolder.modsPath}${ModsFolder.currentModFolder}', ModsFolder.currentModFolder));
|
|
|
|
if (FileSystem.exists(ModsFolder.addonsPath) && FileSystem.isDirectory(ModsFolder.addonsPath)){
|
|
for (addon in _noPriorityAddons) Paths.assetsTree.addLibrary(ModsFolder.loadModLib('${ModsFolder.addonsPath}$addon', addon));
|
|
for (addon in _highPriorityAddons) Paths.assetsTree.addLibrary(ModsFolder.loadModLib('${ModsFolder.addonsPath}$addon', StringTools.ltrim(addon.substr("[HIGH]".length))));
|
|
}
|
|
#end
|
|
|
|
Main.refreshAssets();
|
|
ModsFolder.onModSwitch.dispatch(ModsFolder.currentModFolder);
|
|
DiscordUtil.init();
|
|
EventsData.reloadEvents();
|
|
TitleState.initialized = false;
|
|
|
|
if (betaWarningShown)
|
|
FlxG.switchState(new TitleState());
|
|
else {
|
|
FlxG.switchState(new BetaWarningState());
|
|
betaWarningShown = true;
|
|
}
|
|
|
|
WindowUtils.resetTitle();
|
|
WindowUtils.updateTitle();
|
|
|
|
#if sys
|
|
sys.FileSystem.createDirectory('./.temp/');
|
|
#if windows new funkin.backend.utils.native.HiddenProcess("attrib +h .temp"); #end
|
|
#end
|
|
}
|
|
} |