New lobby connect/registration page. Not perfect but fixes most of the outstanding issues. Refs #2312
This was SVN commit r15069.
This commit is contained in:
parent
15e9ffa21b
commit
dfacf5358c
@ -141,15 +141,15 @@
|
||||
<!-- title frame -->
|
||||
<image texture = "global/modern/titlebar-middle.png"
|
||||
real_texture_placement = "0 0 128 32"
|
||||
size = "50%-72 0%-18 50%+72 15"
|
||||
size = "50%-108 0%-18 50%+108 15"
|
||||
/>
|
||||
<image texture = "global/modern/titlebar-left.png"
|
||||
real_texture_placement = "0 0 32 32"
|
||||
size = "50%-98 0%-18 50%-66 15"
|
||||
size = "50%-134 0%-18 50%-102 15"
|
||||
/>
|
||||
<image texture = "global/modern/titlebar-left.png"
|
||||
real_texture_placement = "32 32 0 0"
|
||||
size = "50%+66 0%-18 50%+98 15"
|
||||
size = "50%+102 0%-18 50%+134 15"
|
||||
/>
|
||||
</sprite>
|
||||
|
||||
@ -433,35 +433,35 @@
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernTickOn">
|
||||
<image texture="global/modern/tick-on.png"
|
||||
<image texture="global/modern/tick-on.png"
|
||||
real_texture_placement="0 0 27 27"
|
||||
size="0 0 22 22"
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernTickOff">
|
||||
<image texture="global/modern/tick-off.png"
|
||||
<image texture="global/modern/tick-off.png"
|
||||
real_texture_placement="0 0 27 27"
|
||||
size="0 0 22 22"
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernTickDisabled">
|
||||
<image texture="global/modern/tick-disabled.png"
|
||||
<image texture="global/modern/tick-disabled.png"
|
||||
real_texture_placement="0 0 27 27"
|
||||
size="0 0 22 22"
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernGear">
|
||||
<image texture="global/modern/gear.png"
|
||||
<image texture="global/modern/gear.png"
|
||||
texture_size="0 0 24 24"
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernGearHover">
|
||||
<image texture="global/modern/gear-hover.png"
|
||||
<image texture="global/modern/gear-hover.png"
|
||||
texture_size="0 0 24 24"
|
||||
/>
|
||||
</sprite>
|
||||
<sprite name="ModernGearPressed">
|
||||
<image texture="global/modern/gear-press.png"
|
||||
<image texture="global/modern/gear-press.png"
|
||||
texture_size="0 0 24 24"
|
||||
/>
|
||||
</sprite>
|
||||
|
@ -1,10 +1,15 @@
|
||||
var g_LobbyIsConnecting = false;
|
||||
var g_EncrytedPassword = "";
|
||||
var g_PasswordInputIsHidden = false;
|
||||
var g_TermsOfServiceRead = false;
|
||||
var g_TermsOfUseRead = false;
|
||||
var g_hasSystemMessage = false;
|
||||
|
||||
function init()
|
||||
{
|
||||
g_EncrytedPassword = Engine.ConfigDB_GetValue("user", "lobby.password");
|
||||
if (Engine.ConfigDB_GetValue("user", "lobby.login") && g_EncrytedPassword)
|
||||
switchPage("connect");
|
||||
}
|
||||
|
||||
function lobbyStop()
|
||||
@ -18,7 +23,7 @@ function lobbyStop()
|
||||
Engine.StopXmppClient();
|
||||
}
|
||||
|
||||
function lobbyStart()
|
||||
function lobbyStartConnect()
|
||||
{
|
||||
if (g_LobbyIsConnecting)
|
||||
return;
|
||||
@ -44,27 +49,16 @@ function lobbyStart()
|
||||
|
||||
function lobbyStartRegister()
|
||||
{
|
||||
if (g_LobbyIsConnecting != false)
|
||||
if (g_LobbyIsConnecting)
|
||||
return;
|
||||
|
||||
if (Engine.HasXmppClient())
|
||||
Engine.StopXmppClient();
|
||||
|
||||
var account = Engine.GetGUIObjectByName("connectUsername").caption;
|
||||
var password = Engine.GetGUIObjectByName("connectPassword").caption;
|
||||
var passwordAgain = Engine.GetGUIObjectByName("registerPasswordAgain").caption;
|
||||
var account = Engine.GetGUIObjectByName("registerUsername").caption;
|
||||
var password = Engine.GetGUIObjectByName("registerPassword").caption;
|
||||
var feedback = Engine.GetGUIObjectByName("feedback");
|
||||
|
||||
// Check the passwords match.
|
||||
if (password != passwordAgain)
|
||||
{
|
||||
feedback.caption = translate("Passwords do not match");
|
||||
Engine.GetGUIObjectByName("connectPassword").caption = "";
|
||||
Engine.GetGUIObjectByName("registerPasswordAgain").caption = "";
|
||||
switchRegister();
|
||||
return;
|
||||
}
|
||||
|
||||
feedback.caption = translate("Registering...");
|
||||
g_EncrytedPassword = Engine.EncryptPassword(password, account);
|
||||
Engine.StartRegisterXmppClient(account, g_EncrytedPassword);
|
||||
@ -72,64 +66,94 @@ function lobbyStartRegister()
|
||||
Engine.ConnectXmppClient();
|
||||
}
|
||||
|
||||
function switchRegister()
|
||||
function onTick()
|
||||
{
|
||||
if (Engine.GetGUIObjectByName("pageRegister").hidden)
|
||||
var pageRegisterHidden = Engine.GetGUIObjectByName("pageRegister").hidden;
|
||||
if (pageRegisterHidden)
|
||||
{
|
||||
lobbyStop();
|
||||
Engine.GetGUIObjectByName("pageRegister").hidden = false;
|
||||
Engine.GetGUIObjectByName("pageConnect").hidden = true;
|
||||
Engine.GetGUIObjectByName("connect").enabled = false;
|
||||
var username = Engine.GetGUIObjectByName("connectUsername").caption;
|
||||
var password = Engine.GetGUIObjectByName("connectPassword").caption;
|
||||
}
|
||||
else
|
||||
{
|
||||
Engine.GetGUIObjectByName("pageRegister").hidden = true;
|
||||
Engine.GetGUIObjectByName("pageConnect").hidden = false;
|
||||
Engine.GetGUIObjectByName("connect").enabled = true;
|
||||
var username = Engine.GetGUIObjectByName("registerUsername").caption;
|
||||
var password = Engine.GetGUIObjectByName("registerPassword").caption;
|
||||
}
|
||||
}
|
||||
|
||||
function onTick()
|
||||
{
|
||||
//
|
||||
var username = Engine.GetGUIObjectByName("connectUsername").caption;
|
||||
var password = Engine.GetGUIObjectByName("connectPassword").caption;
|
||||
var passwordAgain = Engine.GetGUIObjectByName("registerPasswordAgain").caption;
|
||||
var agreeTerms = Engine.GetGUIObjectByName("registerAgreeTerms");
|
||||
var feedback = Engine.GetGUIObjectByName("feedback");
|
||||
var pageRegisterHidden = Engine.GetGUIObjectByName("pageRegister").hidden;
|
||||
var connectButton = Engine.GetGUIObjectByName("connect");
|
||||
var registerButton = Engine.GetGUIObjectByName("register");
|
||||
var sanitizedName = sanitizePlayerName(username, true, true)
|
||||
// If there aren't a username and password entered, we can't start registration or connection.
|
||||
if (!username || !password)
|
||||
var continueButton = Engine.GetGUIObjectByName("continue");
|
||||
var sanitizedName = sanitizePlayerName(username, true, true);
|
||||
|
||||
// Do not change feedback while connecting.
|
||||
if (g_LobbyIsConnecting) {}
|
||||
// Do not show feedback on the welcome screen.
|
||||
else if (!Engine.GetGUIObjectByName("pageWelcome").hidden)
|
||||
{
|
||||
connectButton.enabled = false;
|
||||
registerButton.enabled = false;
|
||||
if (!username && !password)
|
||||
feedback.caption = translate("Please enter existing login or desired registration credentials.");
|
||||
feedback.caption = "";
|
||||
}
|
||||
// Check they are using a valid account name.
|
||||
// Check that they entered a username.
|
||||
else if (!username)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please enter your username");
|
||||
}
|
||||
// Check that they are using a valid username.
|
||||
else if (username != sanitizedName)
|
||||
{
|
||||
feedback.caption = translate("Usernames can't contain [, ], unicode, whitespace, or commas.");
|
||||
connectButton.enabled = false;
|
||||
registerButton.enabled = false;
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Usernames can't contain [, ], unicode, whitespace, or commas");
|
||||
}
|
||||
// Allow them to connect/begin registation if there aren't any problems.
|
||||
// Check that they entered a password.
|
||||
else if (!password)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please enter your password");
|
||||
}
|
||||
// Allow them to connect if tests pass up to this point.
|
||||
else if (pageRegisterHidden)
|
||||
{
|
||||
// TODO Do this without comparing the caption
|
||||
if (feedback.caption == translate("Usernames can't contain [, ], unicode, whitespace, or commas.") ||
|
||||
feedback.caption == translate("Please enter existing login or desired registration credentials."))
|
||||
if (!g_hasSystemMessage)
|
||||
feedback.caption = "";
|
||||
connectButton.enabled = true;
|
||||
registerButton.enabled = true;
|
||||
continueButton.enabled = true;
|
||||
}
|
||||
// Check that they entered their password again.
|
||||
else if (!passwordAgain)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please enter your password again");
|
||||
}
|
||||
// Check that the passwords match.
|
||||
else if (passwordAgain != password)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Passwords do not match");
|
||||
}
|
||||
// Check that they read the Terms of Service.
|
||||
else if (!g_TermsOfServiceRead)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please read the Terms of Service");
|
||||
}
|
||||
// Check that they read the Terms of Use.
|
||||
else if (!g_TermsOfUseRead)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please read the Terms of Use");
|
||||
}
|
||||
// Check that they agree to the terms of service and use.
|
||||
else if (!agreeTerms.checked)
|
||||
{
|
||||
continueButton.enabled = false;
|
||||
feedback.caption = translate("Please agree to the Terms of Service and Terms of Use");
|
||||
}
|
||||
// Allow them to register.
|
||||
else
|
||||
{
|
||||
if (!g_hasSystemMessage)
|
||||
feedback.caption = "";
|
||||
continueButton.enabled = true;
|
||||
}
|
||||
// If the password hasn't been entered again, we can't complete registation.
|
||||
if (!pageRegisterHidden && !passwordAgain)
|
||||
registerButton.enabled = false;
|
||||
else if (!pageRegisterHidden)
|
||||
registerButton.enabled = true;
|
||||
|
||||
if (!g_LobbyIsConnecting)
|
||||
// The Xmpp Client has not been created
|
||||
@ -171,13 +195,62 @@ function onTick()
|
||||
feedback.caption = toTitleCase(message.text);
|
||||
Engine.StopXmppClient();
|
||||
g_LobbyIsConnecting = false;
|
||||
switchRegister();
|
||||
Engine.GetGUIObjectByName("connectUsername").caption = username;
|
||||
Engine.GetGUIObjectByName("connectPassword").caption = password;
|
||||
switchPage("connect");
|
||||
}
|
||||
else if(message.type == "system" && (message.level == "error" || message.text == "disconnected"))
|
||||
{
|
||||
g_hasSystemMessage = true;
|
||||
feedback.caption = toTitleCase(message.text);
|
||||
Engine.StopXmppClient();
|
||||
g_LobbyIsConnecting = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function switchPage(page)
|
||||
{
|
||||
// First hide everything.
|
||||
if (!Engine.GetGUIObjectByName("pageWelcome").hidden)
|
||||
{
|
||||
Engine.GetGUIObjectByName("pageWelcome").hidden = true;
|
||||
}
|
||||
else if (!Engine.GetGUIObjectByName("pageRegister").hidden)
|
||||
{
|
||||
Engine.GetGUIObjectByName("pageRegister").hidden = true;
|
||||
Engine.GetGUIObjectByName("continue").hidden = true;
|
||||
var dialog = Engine.GetGUIObjectByName("dialog");
|
||||
var newSize = dialog.size;
|
||||
newSize.bottom -= 150;
|
||||
dialog.size = newSize;
|
||||
}
|
||||
else if (!Engine.GetGUIObjectByName("pageConnect").hidden)
|
||||
{
|
||||
Engine.GetGUIObjectByName("pageConnect").hidden = true;
|
||||
Engine.GetGUIObjectByName("continue").hidden = true;
|
||||
}
|
||||
|
||||
// Then show appropriate page.
|
||||
switch(page)
|
||||
{
|
||||
case "welcome":
|
||||
Engine.GetGUIObjectByName("pageWelcome").hidden = false;
|
||||
break;
|
||||
case "register":
|
||||
var dialog = Engine.GetGUIObjectByName("dialog");
|
||||
var newSize = dialog.size;
|
||||
newSize.bottom += 150;
|
||||
dialog.size = newSize;
|
||||
Engine.GetGUIObjectByName("pageRegister").hidden = false;
|
||||
Engine.GetGUIObjectByName("continue").caption = translate("Register");
|
||||
Engine.GetGUIObjectByName("continue").hidden = false;
|
||||
break;
|
||||
case "connect":
|
||||
Engine.GetGUIObjectByName("pageConnect").hidden = false;
|
||||
Engine.GetGUIObjectByName("continue").caption = translate("Connect");
|
||||
Engine.GetGUIObjectByName("continue").hidden = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,17 @@
|
||||
<translatableAttribute id="caption">Multiplayer Lobby</translatableAttribute>
|
||||
</object>
|
||||
|
||||
<object name="pageConnect" size="0 32 100% 100%">
|
||||
<object name="pageWelcome" size="0 32 100% 100%">
|
||||
<object type="button" size="50 12 100%-50 68" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Create a new account</translatableAttribute>
|
||||
<action on="Press">switchPage("register");</action>
|
||||
</object>
|
||||
<object type="button" size="50 80 100%-50 136" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Login to an existing account</translatableAttribute>
|
||||
<action on="Press">switchPage("connect");</action>
|
||||
</object>
|
||||
</object>
|
||||
<object name="pageConnect" size="0 32 100% 100%" hidden="true">
|
||||
<object type="text" size="0 0 400 30" style="ModernLabelText" text_align="center">
|
||||
<translatableAttribute id="caption">Connect to the game lobby</translatableAttribute>
|
||||
</object>
|
||||
@ -45,51 +55,75 @@
|
||||
this.caption = Engine.ConfigDB_GetValue("user", "lobby.password").substring(0, 10);
|
||||
</action>
|
||||
<action on="Press">
|
||||
lobbyStart();
|
||||
lobbyStartConnect();
|
||||
</action>
|
||||
</object>
|
||||
</object>
|
||||
<object name="pageRegister" size="0 32 100% 100%" hidden="true">
|
||||
|
||||
<object type="text" style="ModernLabelText" size="0 0 400 30" text_align="center">
|
||||
<translatableAttribute id="caption">Registration</translatableAttribute>
|
||||
</object>
|
||||
<object type="text" size="50 40 170 70" style="ModernLabelText" text_align="right">
|
||||
|
||||
<object name="registerUsernameLabel" type="text" size="50 40 130 70" style="ModernLabelText" text_align="right">
|
||||
<translatableAttribute id="caption">Login:</translatableAttribute>
|
||||
</object>
|
||||
<object name="registerUsername" type="input" size="140 40 100%-50 64" style="ModernInput"/>
|
||||
|
||||
<object name="registerPasswordLabel" type="text" size="50 80 130 110" style="ModernLabelText" text_align="right">
|
||||
<translatableAttribute id="caption">Password:</translatableAttribute>
|
||||
</object>
|
||||
<object name="registerPassword" type="input" size="140 80 100%-50 104" style="ModernInput" mask="true" mask_char="*"/>
|
||||
|
||||
<object name="registerPasswordAgainLabel" type="text" size="50 120 130 150" style="ModernLabelText" text_align="right">
|
||||
<translatableAttribute id="caption">Password again:</translatableAttribute>
|
||||
</object>
|
||||
<object name="registerPasswordAgain" type="input" size="180 40 100%-50 64" style="ModernInput" mask="true" mask_char="*">
|
||||
<object name="registerPasswordAgain" type="input" size="140 120 100%-50 144" style="ModernInput" mask="true" mask_char="*"/>
|
||||
|
||||
<object type="button" size="50 160 100%-50 188" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Terms of Service</translatableAttribute>
|
||||
<action on="Press">
|
||||
lobbyStartRegister()
|
||||
g_TermsOfServiceRead = true;
|
||||
Engine.PushGuiPage("page_manual.xml", {"page":"lobby/Terms_of_Service", "title":"Terms of Service"})
|
||||
</action>
|
||||
</object>
|
||||
|
||||
<object type="button" size="50 200 100%-50 228" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Terms of Use</translatableAttribute>
|
||||
<action on="Press">
|
||||
g_TermsOfUseRead = true;
|
||||
Engine.PushGuiPage("page_manual.xml", {"page":"lobby/Terms_of_Use", "title":"Terms of Use"})
|
||||
</action>
|
||||
</object>
|
||||
|
||||
<object name="registerAgreeTermsLabel" type="text" size="50 240 285 270" style="ModernLabelText">
|
||||
<translatableAttribute id="caption">I have read and agree to the Terms of Service and Terms of Use:</translatableAttribute>
|
||||
</object>
|
||||
<object name="registerAgreeTerms" type="checkbox" size="295 245 100%-50 270" style="ModernTickBox" enabled="false">
|
||||
<action on="Tick"><![CDATA[this.enabled = g_TermsOfServiceRead && g_TermsOfUseRead;]]></action>
|
||||
</object>
|
||||
|
||||
</object>
|
||||
<object name="feedback" type="text" size="50 150 100%-50 190" style="ModernLabelText" textcolor="red" text_align="center"/>
|
||||
<object type="button" size="18 100%-45 126 100%-17" style="ModernButtonRed">
|
||||
<object name="feedback" type="text" size="50 100%-90 100%-50 100%-50" style="ModernLabelText" textcolor="red" text_align="center"/>
|
||||
<object name="cancel" type="button" size="18 100%-45 50%-5 100%-17" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Cancel</translatableAttribute>
|
||||
<action on="Press">
|
||||
if (Engine.GetGUIObjectByName("pageRegister").hidden)
|
||||
if (Engine.GetGUIObjectByName("pageWelcome").hidden)
|
||||
switchPage("welcome");
|
||||
else
|
||||
{
|
||||
lobbyStop();
|
||||
Engine.PopGuiPage();
|
||||
}
|
||||
else
|
||||
switchRegister();
|
||||
</action>
|
||||
</object>
|
||||
<object name="register" type="button" size="136 100%-45 244 100%-17" style="ModernButtonRed">
|
||||
<translatableAttribute id="caption">Register</translatableAttribute>
|
||||
<action on="Press">
|
||||
if (Engine.GetGUIObjectByName("pageRegister").hidden)
|
||||
{
|
||||
switchRegister();
|
||||
}
|
||||
else
|
||||
lobbyStartRegister()
|
||||
</action>
|
||||
</object>
|
||||
<object name="connect" type="button" size="254 100%-45 100%-18 100%-17" style="ModernButtonRed">
|
||||
<object name="continue" type="button" size="50%+5 100%-45 100%-18 100%-17" style="ModernButtonRed" enabled="false" hidden="true">
|
||||
<translatableAttribute id="caption">Connect</translatableAttribute>
|
||||
<action on="Press">
|
||||
lobbyStart();
|
||||
if (!Engine.GetGUIObjectByName("pageConnect").hidden)
|
||||
lobbyStartConnect();
|
||||
else if (!Engine.GetGUIObjectByName("pageRegister").hidden)
|
||||
lobbyStartRegister();
|
||||
</action>
|
||||
</object>
|
||||
|
||||
|
@ -2,9 +2,22 @@ var hasCallback = false;
|
||||
|
||||
function init(data)
|
||||
{
|
||||
Engine.GetGUIObjectByName("mainText").caption = Engine.TranslateLines(Engine.ReadFile("gui/manual/" + data.page + ".txt"));
|
||||
Engine.GetGUIObjectByName("mainText").caption = Engine.TranslateLines(Engine.ReadFile("gui/" + data.page + ".txt"));
|
||||
if (data.callback)
|
||||
hasCallback = true;
|
||||
if (data.title)
|
||||
Engine.GetGUIObjectByName("title").caption = data.title;
|
||||
if (data.url)
|
||||
{
|
||||
var urlButton = Engine.GetGUIObjectByName("url");
|
||||
var callback = function(url)
|
||||
{
|
||||
return function()
|
||||
openURL(url);
|
||||
}(data.url)
|
||||
urlButton.onPress = callback;
|
||||
urlButton.hidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
function closeManual()
|
||||
|
@ -8,19 +8,16 @@
|
||||
<object type="image" z="0" style="TranslucentPanel"/>
|
||||
|
||||
<object type="image" style="ModernDialog" size="50%-466 50%-316 50%+466 50%+316">
|
||||
<object type="text" style="TitleText" size="50%-128 0%-16 50%+128 16">
|
||||
<translatableAttribute id="caption">Manual</translatableAttribute>
|
||||
<object name="title" type="text" style="TitleText" size="50%-128 0%-16 50%+128 16">
|
||||
<translatableAttribute id="caption">Information</translatableAttribute>
|
||||
</object>
|
||||
|
||||
<object type="image" sprite="ModernFade" size="20 20 100%-20 100%-58">
|
||||
<object name="mainText" type="text" style="textPanel"/>
|
||||
</object>
|
||||
|
||||
<object type="button" style="StoneButton" size="100%-308 100%-52 100%-168 100%-24">
|
||||
<translatableAttribute id="caption">Online Manual</translatableAttribute>
|
||||
<action on="Press"><![CDATA[
|
||||
openURL("http://trac.wildfiregames.com/wiki/0adManual");
|
||||
]]></action>
|
||||
<object name="url" type="button" style="StoneButton" size="100%-308 100%-52 100%-168 100%-24" hidden="true">
|
||||
<translatableAttribute id="caption">View Online</translatableAttribute>
|
||||
</object>
|
||||
<object type="button" style="StoneButton" tooltip_style="snToolTip" size="100%-164 100%-52 100%-24 100%-24">
|
||||
<translatableAttribute id="caption">Close</translatableAttribute>
|
||||
|
@ -106,7 +106,7 @@
|
||||
</object>
|
||||
<object type="button" style="StoneButton" size="100%-146 100%-36 100%-8 100%-8">
|
||||
<translatableAttribute id="caption">Technical details</translatableAttribute>
|
||||
<action on="Press">Engine.PushGuiPage("page_manual.xml", { "page": "userreport" });</action>
|
||||
<action on="Press">Engine.PushGuiPage("page_manual.xml", {"page":"manual/userreport", "title":translate("Technical Details")});</action>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
@ -137,7 +137,7 @@
|
||||
</object>
|
||||
<object type="button" style="StoneButton" size="100%-146 100%-36 100%-8 100%-8">
|
||||
<translatableAttribute id="caption">Technical details</translatableAttribute>
|
||||
<action on="Press">Engine.PushGuiPage("page_manual.xml", { "page": "userreport" });</action>
|
||||
<action on="Press">Engine.PushGuiPage("page_manual.xml", {"page":"manual/userreport", "title":translate("Technical Details")});</action>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
@ -398,7 +398,7 @@
|
||||
<action on="Press">
|
||||
closeMenu();
|
||||
<![CDATA[
|
||||
Engine.PushGuiPage("page_manual.xml", { "page": "intro" });
|
||||
Engine.PushGuiPage("page_manual.xml", { "page":"manual/intro", "title":translate("Manual"), "url":"http://trac.wildfiregames.com/wiki/0adManual"});
|
||||
]]>
|
||||
</action>
|
||||
</object>
|
||||
@ -561,7 +561,7 @@
|
||||
>
|
||||
|
||||
<!-- COMPANY LOGO -->
|
||||
<object name="companyLogo"
|
||||
<object name="companyLogo"
|
||||
type="image"
|
||||
sprite="companyLogo"
|
||||
ghost="true"
|
||||
@ -570,7 +570,7 @@
|
||||
|
||||
<!-- COMPANY NAME -->
|
||||
<object type="text"
|
||||
style="MediumTitleText"
|
||||
style="MediumTitleText"
|
||||
ghost="true"
|
||||
size="50%-128 32 50%+128 48"
|
||||
>
|
||||
|
@ -660,7 +660,7 @@ function openManual()
|
||||
closeMenu();
|
||||
closeOpenDialogs();
|
||||
pauseGame();
|
||||
Engine.PushGuiPage("page_manual.xml", {"page": "intro", "callback": "resumeGame"});
|
||||
Engine.PushGuiPage("page_manual.xml", {"page": "intro", "title":translate("Manual"), "url":"http://trac.wildfiregames.com/wiki/0adManual", "callback": "resumeGame"});
|
||||
}
|
||||
|
||||
function toggleDeveloperOverlay()
|
||||
|
Loading…
Reference in New Issue
Block a user