Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/pregame/mainmenu.js
Show All 18 Lines | |||||
{ | { | ||||
initMusic(); | initMusic(); | ||||
global.music.setState(global.music.states.MENU); | global.music.setState(global.music.states.MENU); | ||||
// Initialize currentSubmenuType with placeholder to avoid null when switching | // Initialize currentSubmenuType with placeholder to avoid null when switching | ||||
currentSubmenuType = "submenuSinglePlayer"; | currentSubmenuType = "submenuSinglePlayer"; | ||||
EnableUserReport(Engine.IsUserReportEnabled()); | initUserReport(); | ||||
// Only show splash screen(s) once at startup, but not again after hotloading | // Only show splash screen(s) once at startup, but not again after hotloading | ||||
g_ShowSplashScreens = hotloadData ? hotloadData.showSplashScreens : initData && initData.isStartup; | g_ShowSplashScreens = hotloadData ? hotloadData.showSplashScreens : initData && initData.isStartup; | ||||
// Pick a random background and initialise it | // Pick a random background and initialise it | ||||
g_BackgroundLayerset = pickRandom(g_BackgroundLayerData); | g_BackgroundLayerset = pickRandom(g_BackgroundLayerData); | ||||
for (let i = 0; i < g_BackgroundLayerset.length; ++i) | for (let i = 0; i < g_BackgroundLayerset.length; ++i) | ||||
{ | { | ||||
let guiObj = Engine.GetGUIObjectByName("background[" + i + "]"); | let guiObj = Engine.GetGUIObjectByName("background[" + i + "]"); | ||||
guiObj.hidden = false; | guiObj.hidden = false; | ||||
guiObj.sprite = g_BackgroundLayerset[i].sprite; | guiObj.sprite = g_BackgroundLayerset[i].sprite; | ||||
guiObj.z = i; | guiObj.z = i; | ||||
} | } | ||||
Engine.GetGUIObjectByName("structreeButton").tooltip = colorizeHotkey( | Engine.GetGUIObjectByName("structreeButton").tooltip = colorizeHotkey( | ||||
translate("%(hotkey)s: View the structure tree of civilizations featured in 0 A.D."), | translate("%(hotkey)s: View the structure tree of civilizations featured in 0 A.D."), | ||||
"structree"); | "structree"); | ||||
Engine.GetGUIObjectByName("civInfoButton").tooltip = colorizeHotkey( | Engine.GetGUIObjectByName("civInfoButton").tooltip = colorizeHotkey( | ||||
translate("%(hotkey)s: Learn about the many civilizations featured in 0 A.D."), | translate("%(hotkey)s: Learn about the many civilizations featured in 0 A.D."), | ||||
"civinfo"); | "civinfo"); | ||||
Engine.GetGUIObjectByName("lobbyButton").tooltip = colorizeHotkey( | Engine.GetGUIObjectByName("lobbyButton").tooltip = colorizeHotkey( | ||||
translate("%(hotkey)s: Launch the multiplayer lobby to join and host publicly visible games and chat with other players."), | translate("%(hotkey)s: Launch the multiplayer lobby to join and host publicly visible games and chat with other players."), | ||||
"lobby"); | "lobby"); | ||||
} | } | ||||
function initUserReport() | |||||
{ | |||||
let userReportPrivacyPolicy = Engine.TranslateLines(Engine.ReadFile("gui/pregame/Privacy_Policy.txt")); | |||||
bb: semi | |||||
Engine.GetGUIObjectByName("userReportPrivacyPolicyMainText").caption = userReportPrivacyPolicy; | |||||
let agreeTerms = Engine.CalculateMD5(userReportPrivacyPolicy) == Engine.ConfigDB_GetValue("user", "userreport.privacy_policy"); | |||||
Not Done Inline ActionsShould there be caps everywhere ? Stan: Should there be caps everywhere ? | |||||
Engine.GetGUIObjectByName("userReportPrivacyPolicyCheckbox").checked = agreeTerms; | |||||
EnableUserReport(agreeTerms && Engine.IsUserReportEnabled()); | |||||
updateUserReportPrivacyPolicyFeedback(); | |||||
} | |||||
function getHotloadData() | function getHotloadData() | ||||
{ | { | ||||
return { "showSplashScreens": g_ShowSplashScreens }; | return { "showSplashScreens": g_ShowSplashScreens }; | ||||
} | } | ||||
function scrollBackgrounds() | function scrollBackgrounds() | ||||
{ | { | ||||
for (let i = 0; i < g_BackgroundLayerset.length; ++i) | for (let i = 0; i < g_BackgroundLayerset.length; ++i) | ||||
▲ Show 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | if (Engine.Renderer_GetRenderPath() == "fixed") | ||||
); | ); | ||||
} | } | ||||
function SplashScreenClosedCallback() | function SplashScreenClosedCallback() | ||||
{ | { | ||||
ShowRenderPathMessage(); | ShowRenderPathMessage(); | ||||
} | } | ||||
function acceptUserReportPrivacyPolicy(accept) | |||||
{ | |||||
if (accept) | |||||
saveSettingAndWriteToUserConfig( | |||||
"userreport.privacy_policy", | |||||
Engine.CalculateMD5(Engine.GetGUIObjectByName("userReportPrivacyPolicyMainText").caption)); | |||||
else | |||||
{ | |||||
EnableUserReport(false); | |||||
saveSettingAndWriteToUserConfig("userreport.privacy_policy", "0"); | |||||
} | |||||
updateUserReportPrivacyPolicyFeedback(accept); | |||||
} | |||||
function EnableUserReport(Enabled) | function EnableUserReport(Enabled) | ||||
{ | { | ||||
Engine.GetGUIObjectByName("userReportDisabled").hidden = Enabled; | Engine.GetGUIObjectByName("userReportDisabled").hidden = Enabled; | ||||
Engine.GetGUIObjectByName("userReportEnabled").hidden = !Enabled; | Engine.GetGUIObjectByName("userReportEnabled").hidden = !Enabled; | ||||
Engine.SetUserReportEnabled(Enabled); | Engine.SetUserReportEnabled(Enabled); | ||||
updateUserReportPrivacyPolicyFeedback(); | |||||
} | |||||
function updateUserReportPrivacyPolicyFeedback() | |||||
{ | |||||
let agreeTerms = Engine.GetGUIObjectByName("userReportPrivacyPolicyCheckbox").checked; | |||||
let enableButtonUserReportPrivacyPolicy = Engine.GetGUIObjectByName("enableButtonUserReportPrivacyPolicy"); | |||||
enableButtonUserReportPrivacyPolicy.enabled = agreeTerms; | |||||
enableButtonUserReportPrivacyPolicy.tooltip = agreeTerms ? "" : translate("Please agree to the Privacy Policy."); | |||||
let userReportEnabled = Engine.IsUserReportEnabled(); | |||||
enableButtonUserReportPrivacyPolicy.hidden = userReportEnabled; | |||||
Engine.GetGUIObjectByName("disableButtonUserReportPrivacyPolicy").hidden = !userReportEnabled; | |||||
} | } | ||||
/** | /** | ||||
* Slide menu. | * Slide menu. | ||||
*/ | */ | ||||
function updateMenuPosition(dt) | function updateMenuPosition(dt) | ||||
{ | { | ||||
let submenu = Engine.GetGUIObjectByName("submenu"); | let submenu = Engine.GetGUIObjectByName("submenu"); | ||||
▲ Show 20 Lines • Show All 112 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
semi