Index: binaries/data/mods/public/gui/autostart/autostart.js
===================================================================
--- /dev/null
+++ binaries/data/mods/public/gui/autostart/autostart.js
@@ -0,0 +1,17 @@
+function init(initData)
+{
+ let settings = new GameSettings().init();
+ settings.fromInitAttributes(initData);
+ let assignments = {
+ "local": {
+ "player": 1,
+ "name": Engine.ConfigDB_GetValue("user", "playername.singleplayer") || Engine.GetSystemUsername()
+ }
+ };
+ settings.launchGame(assignments);
+
+ Engine.SwitchGuiPage("page_loading.xml", {
+ "attribs": settings.toInitAttributes(),
+ "playerAssignments": assignments
+ });
+}
Index: binaries/data/mods/public/gui/autostart/autostart.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/gui/autostart/autostart.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js
===================================================================
--- binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js
+++ binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js
@@ -39,15 +39,37 @@
let level = this.getSelectedLevelData();
if (!meetsRequirements(this.run, level))
return;
- Engine.SwitchGuiPage("page_gamesetup.xml", {
+
+ let settings = {
"mapType": level.MapType,
"map": "maps/" + level.Map,
- "autostart": true,
+ "settings": {
+ "CheatsEnabled": true
+ },
"campaignData": {
"run": this.run.filename,
"levelID": this.levelSelection.list_data[this.selectedLevel],
"data": this.run.data
}
+ };
+ let assignments = {
+ "local": {
+ "player": 1,
+ "name": Engine.ConfigDB_GetValue("user", "playername.singleplayer") || Engine.GetSystemUsername()
+ }
+ };
+
+ let gameSettings = new GameSettings().init();
+ gameSettings.fromInitAttributes(settings);
+ if (level.Preview)
+ gameSettings.mapPreview.setCustom("cropped:" + 400/512 + "," + 300/512 + ":" + level.Preview);
+ gameSettings.mapName.set(this.getLevelName(level));
+ // TODO: level description should also be passed, ideally.
+
+ gameSettings.launchGame(assignments);
+ Engine.SwitchGuiPage("page_loading.xml", {
+ "attribs": gameSettings.toInitAttributes(),
+ "playerAssignments": assignments
});
}
Index: binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.xml
===================================================================
--- binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.xml
+++ binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.xml
@@ -2,6 +2,9 @@
+
+
+