1
0
forked from 0ad/0ad
0ad/binaries/data/mods/official/gui/test/2_mainmenu.xml

752 lines
21 KiB
XML

<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?>
<!DOCTYPE objects SYSTEM "../gui.dtd">
<objects>
<!--
==========================================
- MAIN MENU - "COMMANDER'S TENT" BACKDROP
==========================================
-->
<object name="pregame_gui"
style="default"
type="image"
absolute="true"
sprite="pregame_mainmenu_background"
>
<action on="Load"><![CDATA[
// Play main 0 A.D. theme when the main menu starts.
curr_music = newRandomSound("music", "menu");
curr_music.loop();
]]></action>
<!--
==========================================
- MAIN MENU - PARCHMENT BUTTONS
==========================================
-->
<object name="pregame_mainmenu_sp_button"
style="pregame_mainmenu_button"
type="button"
size="52.9296875% 23.95833333% 67.578125% 42.317708333%"
sprite_over="pregame_mainmenu_spbt"
tooltip="Want to move some Dudes around or test something? Click here to start a new game on the default map."
>
<action on="Press"><![CDATA[
// Open Skirmish Map Selection Window.
OpenMainMenuSubWindow ("pregame_sp_mapsel");
]]></action>
</object>
<object name="pregame_mainmenu_mp_button"
style="pregame_mainmenu_button"
type="button"
size="61.03515625% 48.6979166% 74.12109375% 66.40625%"
sprite_over="pregame_mainmenu_mpbt"
tooltip="Tired of playing with yourself? Fight against one or more human players in a multiplayer game."
>
<action on="Press"><![CDATA[
// Open Multiplayer connection window.
OpenMainMenuSubWindow ("pregame_mp_modesel");
]]></action>
</object>
<object name="pregame_mainmenu_ed_button"
style="pregame_mainmenu_button"
type="button"
size="43.75% 61.84895833% 63.4765625% 82.682291667%"
sprite_over="pregame_mainmenu_edbt"
tooltip="Come forth and witness a totally non-functioning Editor, a mere shadow of its potential self!"
>
<action on="Press"><![CDATA[
// Open Atlas Editor.
// *** Defunct; use this button to toggle the wxWidgets Atlas UI.
GUIObjectHide ("pregame_gui");
GUIObjectUnhide ("atlas_gui");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - GAME LOGO AND VERSION NUMBER
==========================================
-->
<object name="pregame_mainmenu_0ad_logo"
type="image"
ghost="true"
size="21.1914062% 3.125% 68.0664062% 31.5104166%"
sprite="pregame_mainmenu_0ad_logo_480x218"
/>
<object name="pregame_mainmenu_versionnumber"
style="text_prospero16_gold"
type="text"
ghost="true"
size="43% 24% 43%+282 24%+25"
>
<action on="Load"><![CDATA[
this.caption = "Build: " + buildTime(0) + " " + getLanguageID();
]]></action>
</object>
<!--
==========================================
- MAIN MENU - COMPANY LOGO
==========================================
-->
<object name="pregame_mainmenu_wfg_logo"
style="pregame_mainmenu_button"
type="button"
size="10 91.666666%-30 25.9765% 100%-30"
sprite="pregame_mainmenu_wfg_logo_256x64"
tooltip="These are the guys who made this game. Visit them at http://www.wildfiregames.com/0ad/"
>
<action on="Press"><![CDATA[
btCode = new Array("GUIObjectHide('mb_main');");
messageBox(420, 420, "[icon=0ad_icon] A.D. - History Is Yours For The Taking\nby Wildfire Games, 2002-2005\n\nVersion 0.1.2 (PASAP II)\n\n" +
"This is a confidental pre-release version of the game!\n\nVisit http://www.wildfiregames.com/0ad/ " +
"to learn more about [icon=0ad_icon] A.D., participate in the community and meet the developers.\n\n", "About [icon=0ad_icon] A.D.", 2, new Array(), btCode);
]]></action>
</object>
<!--
==========================================
- MAIN MENU - STATIC TOOLTIP WINDOW
==========================================
-->
<object name="pregame_mainmenu_tooltip"
style="text_prospero16_white"
type="text"
hidden="true"
sprite="pregame_mainmenu_tooltip_background"
size="69% 6.3802% 97.0703125% 28.125%"
>tooltipText
</object>
<!--
==========================================
- MAIN MENU - EXIT BUTTON
==========================================
-->
<object name="exit_button"
style="pregame_mainmenu_checkbox"
type="button"
size="100%-18 2 100%-2 18"
tooltip="Tired of 0 A.D. ? Click here to leave and reenter the real world."
>
<action on="Press"><![CDATA[
btCaptions = new Array("Yes, let me out!", "Nooooo!");
btCode = new Array("exit();", "");
messageBox(400, 200, "Do you really want to quit [icon=0ad_icon] A.D.? This will cause a sudden return to reality.", "Confirmation", 0, btCaptions, btCode);
]]></action>
</object>
</object>
<!--
==========================================
- MAIN MENU - BACKGROUND MASK
==========================================
-->
<object name="pregame_subwindow_bkg"
type="image"
z="90"
absolute="true"
hidden="true"
sprite="translucent_background"
>
<!--
===============================================
- MULTIPLAYER MODE SELECTION SCREEN -
===============================================
-->
<object name="pregame_mp_modesel"
style="0ad_window"
type="image"
hidden="true"
size="50%-200 50%-90 50%+200 50%+90"
>
<object name="pregame_mp_modesel_titlebar"
style="0ad_window_titlebar"
type="button"
>Multiplayer
</object>
<object name="pregame_mp_modesel_exit_button"
style="0ad_window_checkbox"
type="button"
>
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_mp_modesel");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - PLAYER NAME CONTROLS
==========================================
-->
<object name="pregame_mp_modesel_txt1"
type="text"
size="0 0 400 30"
>Please enter the Player name you would like to use during the game.
</object>
<object name="pregame_mp_modesel_playername_txt"
type="text"
size="0 40 200 60"
>Player Name (temporary):
</object>
<object name="pregame_mp_modesel_playername"
style="border_box_black"
type="input"
size="220 40 350 60"
>Player
</object>
<object name="pregame_mp_modesel_divider1"
style="border_box_black"
type="image"
size="10 80 100%-10 80"
/>
<!--
==========================================
- MAIN MENU - HOST / JOIN CONTROLS
==========================================
-->
<object name="pregame_mp_modesel_txt"
type="text"
size="0 100 400 120"
>Please select whether you want to join a game or host your own game.
</object>
<object name="pregame_mp_modesel_hostjoin_txt"
style="text_tahoma16_black"
type="text"
size="0 140 200 170"
text_valign="center"
>Game Mode
</object>
<object name="pregame_mp_modesel_join_button"
style="0ad_window_button"
type="button"
size="130 140 230 170"
>Join Game
<action on="Press"><![CDATA[
// rudimentary client connection code; finally working now :)
SwitchWindow ("pregame_mp_modesel", "pregame_mp_join");
]]></action>
</object>
<!-- (need code for the game start procedure here) -->
<object name="pregame_mp_modesel_host_button"
style="0ad_window_button"
type="button"
size="250 140 350 170"
>Host Game
<action on="Press"><![CDATA[
SwitchWindow ("pregame_mp_modesel", "pregame_mp_host");
]]></action>
</object>
</object>
<!--
===============================================
- MULTIPLAYER HOST GAME SCREEN -
===============================================
-->
<object name="pregame_mp_host"
style="0ad_window"
type="image"
hidden="true"
size="50%-190 50%-120 50%+190 50%+120"
>
<object name="pregame_mp_host_titlebar"
style="0ad_window_titlebar"
type="button"
>Host a game
</object>
<object name="pregame_mp_host_exit_button"
style="0ad_window_checkbox"
type="button"
>
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_mp_host");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - SERVER/GAME NAME CONTROLS
==========================================
-->
<object name="pregame_mp_host_txt1"
type="text"
size="0 0 400 30"
>Setting up your server.
</object>
<object name="pregame_mp_host_gamename_txt"
style="text_tahoma16_black"
type="text"
size="0 40 200 60"
>Game (Server) Name:
</object>
<object name="pregame_mp_host_gamename"
style="border_box_black"
type="input"
size="220 40 370 60"
>My Game
</object>
<!--
==========================================
- MAIN MENU - WELCOME MESSAGE CONTROLS
==========================================
-->
<object name="pregame_mp_host_welcomemsg_txt"
style="text_tahoma16_black"
type="text"
size="0 70 200 90"
>Welcome Message:
</object>
<object name="pregame_mp_host_txt2"
type="text"
size="0 100 200 180"
>You can enter some message which is displayed to new players upon joining here.
</object>
<object name="pregame_mp_host_welcomemsg"
style="border_box_black_verdana9"
type="input"
size="220 70 370 180"
>Uhm, welcome to my game. Have fun!
</object>
<!--
==========================================
- MAIN MENU - CONTINUE / BACK CONTROLS
==========================================
-->
<object name="pregame_mp_host_setup_button"
style="0ad_window_button"
type="button"
size="50%-125 200 50%-25 230"
>Continue
<action on="Press"><![CDATA[
gameName = getGUIObjectByName("pregame_mp_host_gamename").caption;
SwitchWindow ("pregame_mp_host", "pregame_mp_setup_host");
GUIObjectHide("pregame_mainmenu_versionnumber");
// Set up the server
server = createServer();
// Welcome message
server.welcomeMessage = getGUIObjectByName("pregame_mp_host_welcomemsg").caption;
// Server Name
server.serverName = getGUIObjectByName("pregame_mp_host_gamename").caption;
// start listening
res = server.open();
if (!res)
{
messageBox(400, 200, "Error creating server.", "Error", 0, new array(), new array());
}
server.onClientConnect = function (event)
{
console.write("A new client has successfully connected! ID: " + event.id + ", Name: " + event.name + ", Session: " + event.session);
var playerSlot = g_GameAttributes.getOpenSlot();
// assign a slot
playerSlot.assignToSession(event.session);
console.write("slot: " + playerSlot.player);
// need to refresh the dialog control data here
}
]]></action>
</object>
<object name="pregame_mp_host_back_button"
style="0ad_window_button"
type="button"
size="50%+25 200 50%+125 230"
>Back
<action on="Press"><![CDATA[
SwitchWindow ("pregame_mp_host", "pregame_mp_modesel");
]]></action>
</object>
</object>
<!--
===============================================
- MULTIPLAYER JOIN GAME SCREEN -
===============================================
-->
<object name="pregame_mp_join"
style="0ad_window"
type="image"
hidden="true"
size="50%-190 50%-120 50%+190 50%+120"
>
<object name="pregame_mp_join_titlebar"
style="0ad_window_titlebar"
type="button"
>Join a game
</object>
<object name="pregame_mp_join_exit_button"
style="0ad_window_checkbox"
type="button"
>
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_mp_join");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - SERVER NAME / IP CONTROLS
==========================================
-->
<object name="pregame_mp_join_txt1"
type="text"
size="0 0 400 30"
>Joining an existing game.
</object>
<object name="pregame_mp_join_serverip_txt"
style="text_tahoma16_black"
type="text"
size="0 40 200 60"
>Server Hostname or IP:
</object>
<object name="pregame_mp_join_serverip"
style="border_box_black"
type="input"
size="220 40 370 60"
>127.0.0.1
</object>
<!--
==========================================
- MAIN MENU - CONTINUE / BACK CONTROLS
==========================================
-->
<object name="pregame_mp_join_setup_button"
style="0ad_window_button"
type="button"
size="50%-125 200 50%-25 230"
>Continue
<action on="Press"><![CDATA[
// creating the client instance
client = createClient();
client.playerName=getGUIObjectByName("pregame_mp_modesel_playername").caption;
// we've got a fixed IP (bound to localhost) here for testing purposes
// success = client.beginConnect("127.0.0.1");
ipAddress = getGUIObjectByName("pregame_mp_join_serverip").caption;
success = client.beginConnect(ipAddress);
if (!success) {
// need proper message box code here later
console.write ("Failed to connect to server. Please check the network connection.");
}
else
{
// see above
console.write ("Client successfully connected.");
}
]]></action>
</object>
<object name="pregame_mp_join_back_button"
style="0ad_window_button"
type="button"
size="50%+25 200 50%+125 230"
>Back
<action on="Press"><![CDATA[
SwitchWindow ("pregame_mp_join", "pregame_mp_modesel");
]]></action>
</object>
</object>
<!--
===============================================
- MULTIPLAYER SESSION SETUP SCREEN -
===============================================
-->
<object name="pregame_mp_setup_host"
style="0ad_window"
type="image"
hidden="true"
size="50%-400 50%-300 50%+400 50%+300"
>
<object name="pregame_mp_setup_host_titlebar"
style="0ad_window_titlebar"
type="button"
>
<action on="Load"><![CDATA[
this.caption = "Hosting: " + getGUIObjectByName("pregame_mp_host_gamename").caption;
]]></action>
</object>
<object name="pregame_mp_setup_host_exit_button"
style="0ad_window_checkbox"
type="button"
tooltip_style="session_tooltip"
>
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_mp_setup_host");
GUIObjectUnhide("pregame_mainmenu_versionnumber");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - PLAYER SLOTS
==========================================
-->
<object name="pregame_mp_setup_host_playerhead"
style="text_giovanni22bold_black"
type="text"
size="30 10 320 40"
>Player Slots
</object>
<object name="pregame_mp_setup_host_p1_txt"
style="text_tahoma16_black"
type="text"
size="30 50 320 80"
>
<action on="Load"><![CDATA[
this.caption = "P1: " + getGUIObjectByName("pregame_mp_modesel_playername").caption + " (Host)";
]]></action>
</object>
<object name="pregame_mp_setup_host_p2_txt"
style="text_tahoma16_black"
type="text"
size="30 90 320 120"
>
<action on="Load"><![CDATA[
this.caption = "P2: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p3_txt"
style="text_tahoma16_black"
type="text"
size="30 130 320 160"
>
<action on="Load"><![CDATA[
this.caption = "P3: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p4_txt"
style="text_tahoma16_black"
type="text"
size="30 170 320 200"
>
<action on="Load"><![CDATA[
this.caption = "P4: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p5_txt"
style="text_tahoma16_black"
type="text"
size="30 210 320 240"
>
<action on="Load"><![CDATA[
this.caption = "P5: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p6_txt"
style="text_tahoma16_black"
type="text"
size="30 250 320 280"
>
<action on="Load"><![CDATA[
this.caption = "P6: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p7_txt"
style="text_tahoma16_black"
type="text"
size="30 290 320 320"
>
<action on="Load"><![CDATA[
this.caption = "P7: Open";
]]></action>
</object>
<object name="pregame_mp_setup_host_p8_txt"
style="text_tahoma16_black"
type="text"
size="30 330 320 360"
>
<action on="Load"><![CDATA[
this.caption = "P8: Open";
]]></action>
</object>
<!--
==========================================
- MAIN MENU - MAP NAME CONTROLS (TEMPORARY)
==========================================
-->
<object name="pregame_mp_setup_host_mapname_txt"
type="text"
size="400 32 590 52"
>Map name:
</object>
<object name="pregame_mp_setup_host_mapname"
style="border_box_black"
type="input"
size="600 32 750 52"
>gathertest
</object>
<!--
==========================================
- MAIN MENU - BUTTONS
==========================================
-->
<object name="pregame_mp_setup_start_button"
style="0ad_window_button"
type="button"
size="50%-125 540 50%-25 570"
>Start!
<action on="Press"><![CDATA[
StartMap (getGUIObjectByName("pregame_mp_setup_host_mapname").caption,
"pregame_mp_setup_host", 1);
]]></action>
</object>
<object name="pregame_mp_setup_host_cancel_button"
style="0ad_window_button"
type="button"
size="50%+25 540 50%+125 570"
>Cancel
<action on="Press"><![CDATA[
SwitchWindow ("pregame_mp_setup_host", "pregame_mp_modesel");
]]></action>
</object>
</object>
<!-- (Insert rewritten SESSION SETUP SCREEN here (in two variants: HOST and JOIN)) -->
<!--
===============================================
- SINGLEPLAYER TEMPORARY MAP SELECTION DIALOG -
===============================================
-->
<object name="pregame_sp_mapsel"
style="0ad_window"
type="image"
hidden="true"
size="50%-150 50%-90 50%+150 50%+90"
>
<!-- The placement of this titlebar object is VERY hackish (see y-placement), but it doesn't work any other way so far, and this dialog will be temporary anyway -->
<object name="pregame_sp_mapsel_titlebar"
style="0ad_window_titlebar"
type="button"
>Map selection
</object>
<object name="pregame_sp_mapsel_exit_button"
style="0ad_window_checkbox"
type="button"
>
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_sp_mapsel");
]]></action>
</object>
<!--
==========================================
- MAIN MENU - MAP SELECTION
==========================================
-->
<object name="pregame_sp_infotext"
type="text"
size="10 10 290 60"
>Type the name of the map you want to start into the box. The name is relative to /data/mods/official/maps/scenarios/.
</object>
<object name="pregame_sp_mapname_txt"
type="text"
size="10 90 120 110"
>Map Name:
</object>
<object name="pregame_sp_mapname"
style="border_box_black"
type="input"
size="130 90 290 110"
>gathertest2
</object>
<!--
==========================================
- MAIN MENU - BUTTONS
==========================================
-->
<object name="pregame_sp_start_bt"
style="0ad_window_button"
type="button"
size="50%-100 100%-50 50%-10 100%-20"
>Start Game
<action on="Press"><![CDATA[
StartMap (getGUIObjectByName("pregame_sp_mapname").caption,
"pregame_sp_mapsel", 0);
]]></action>
</object>
<object name="pregame_sp_mapsel_abort_button"
style="0ad_window_button"
type="button"
size="50%+10 100%-50 50%+90 100%-20"
>Abort
<action on="Press"><![CDATA[
CloseMainMenuSubWindow ("pregame_sp_mapsel");
]]></action>
</object>
</object>
</object>
</objects>