This commit is contained in:
RandomityGuy 2023-06-08 00:08:11 +05:30
parent 0bb561fecb
commit a9917d1ea1
3 changed files with 26 additions and 45 deletions

View file

@ -63,56 +63,18 @@ class MissionList {
return difficultyMissions;
}
var goldMissions:Map<String, Array<Mission>> = [];
var platinumMissions:Map<String, Array<Mission>> = [];
var ultraMissions:Map<String, Array<Mission>> = [];
goldMissions.set("beginner", parseDifficulty("gold", "missions_mbg", "beginner"));
goldMissions.set("intermediate", parseDifficulty("gold", "missions_mbg", "intermediate"));
goldMissions.set("advanced", parseDifficulty("gold", "missions_mbg", "advanced"));
ultraMissions.set("beginner", parseDifficulty("ultra", "missions", "beginner"));
ultraMissions.set("intermediate", parseDifficulty("ultra", "missions", "intermediate"));
ultraMissions.set("advanced", parseDifficulty("ultra", "missions", "advanced"));
platinumMissions.set("beginner", parseDifficulty("platinum", "missions_mbp", "beginner"));
platinumMissions.set("intermediate", parseDifficulty("platinum", "missions_mbp", "intermediate"));
platinumMissions.set("advanced", parseDifficulty("platinum", "missions_mbp", "advanced"));
platinumMissions.set("expert", parseDifficulty("platinum", "missions_mbp", "expert"));
ultraMissions.set("beginner", parseDifficulty("ultra", "missions_mbu", "beginner"));
ultraMissions.set("intermediate", parseDifficulty("ultra", "missions_mbu", "intermediate"));
ultraMissions.set("advanced", parseDifficulty("ultra", "missions_mbu", "advanced"));
customMissions = parseDifficulty("custom", "missions", "custom");
@:privateAccess goldMissions["beginner"][goldMissions["beginner"].length - 1].next = goldMissions["intermediate"][0];
@:privateAccess goldMissions["intermediate"][goldMissions["intermediate"].length - 1].next = goldMissions["advanced"][0];
@:privateAccess goldMissions["advanced"][goldMissions["advanced"].length - 1].next = goldMissions["beginner"][0];
@:privateAccess platinumMissions["beginner"][platinumMissions["beginner"].length - 1].next = platinumMissions["intermediate"][0];
@:privateAccess platinumMissions["intermediate"][platinumMissions["intermediate"].length - 1].next = platinumMissions["advanced"][0];
@:privateAccess platinumMissions["advanced"][platinumMissions["advanced"].length - 1].next = platinumMissions["expert"][0];
@:privateAccess platinumMissions["expert"][platinumMissions["expert"].length - 1].next = platinumMissions["beginner"][0];
@:privateAccess ultraMissions["beginner"][ultraMissions["beginner"].length - 1].next = ultraMissions["intermediate"][0];
@:privateAccess ultraMissions["intermediate"][ultraMissions["intermediate"].length - 1].next = ultraMissions["advanced"][0];
@:privateAccess ultraMissions["advanced"][ultraMissions["advanced"].length - 1].next = ultraMissions["beginner"][0];
// Hypercube uses MBG logic
ultraMissions["advanced"][ultraMissions["advanced"].length - 1].game = "gold";
missionList.set("gold", goldMissions);
missionList.set("platinum", platinumMissions);
missionList.set("ultra", ultraMissions);
Console.log("Loaded MissionList");
Console.log("Gold Beginner: " + goldMissions["beginner"].length);
Console.log("Gold Intermediate: " + goldMissions["intermediate"].length);
Console.log("Gold Advanced: " + goldMissions["advanced"].length);
Console.log("Platinum Beginner: " + platinumMissions["beginner"].length);
Console.log("Platinum Intermediate: " + platinumMissions["intermediate"].length);
Console.log("Platinum Advanced: " + platinumMissions["advanced"].length);
Console.log("Platinum Expert: " + platinumMissions["expert"].length);
Console.log("Ultra Beginner: " + ultraMissions["beginner"].length);
Console.log("Ultra Intermediate: " + ultraMissions["intermediate"].length);
Console.log("Ultra Advanced: " + ultraMissions["advanced"].length);
Console.log("Custom: " + customMissions.length);
// parseCLAList();
_build = true;

View file

@ -28,9 +28,9 @@ import src.MarbleGame;
class PlayMissionGui extends GuiImage {
static var currentSelectionStatic:Int = -1;
static var currentCategoryStatic:String = "beginner";
static var currentGameStatic:String = "platinum";
static var currentGameStatic:String = "ultra";
var currentGame:String = "platinum";
var currentGame:String = "ultra";
var currentSelection:Int = 0;
var currentCategory:String = "beginner";
var currentList:Array<Mission>;
@ -62,7 +62,7 @@ class PlayMissionGui extends GuiImage {
// currentSelectionStatic = cast Math.min(MissionList.missionList["platinum"]["beginner"].length - 1,
// Settings.progression[["beginner", "intermediate", "advanced", "expert"].indexOf(currentCategory)]);
if (currentSelectionStatic == -1) {
currentSelectionStatic = MissionList.missionList["platinum"]["beginner"].length - 1;
currentSelectionStatic = MissionList.missionList["ultra"]["beginner"].length - 1;
}
// currentSelection = PlayMissionGui.currentSelectionStatic;
@ -810,7 +810,7 @@ class PlayMissionGui extends GuiImage {
}
}
currentList = MissionList.missionList["platinum"]["beginner"];
currentList = MissionList.missionList["ultra"]["beginner"];
setCategoryFunc = function(game:String, category:String, ?doRender:Bool = true) {
currentList = category == "custom" ? (switch (game) {

View file

@ -38,8 +38,24 @@ class MisParser {
var currentElementId = 0;
var variables:Map<String, String>;
static var localizations:Map<String, String>;
public function new(text:String) {
this.text = text;
if (localizations == null) {
// Read the localization strings
var lfile = ResourceLoader.getFileEntry("data/englishStrings.inf");
var contents = lfile.entry.getText();
var lines = contents.split('\r\n');
localizations = [];
var rgx = ~/(\$(?:\w|\d|:)+)\s*=\s*"(.+?)";/g;
for (line in lines) {
if (rgx.match(line)) {
if (!localizations.exists(rgx.matched(1)))
localizations.set(rgx.matched(1), rgx.matched(2));
}
}
}
}
public function parse() {
@ -50,6 +66,9 @@ class MisParser {
// Find all specified variables
this.variables = ["$usermods" => '""']; // Just make $usermods point to nothing
for (key => value in localizations) {
this.variables.set(key, '"' + value + '"');
}
var startText = outsideText;