forked from 0ad/0ad
335 lines
16 KiB
XML
335 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<objects>
|
|
<script file="gui/common/functions_global_object.js"/>
|
|
<script file="gui/common/functions_utility.js"/>
|
|
<script file="gui/common/timer.js"/>
|
|
<script file="gui/common/music.js"/>
|
|
|
|
<script file="gui/lobby/lobby.js"/>
|
|
|
|
<object type="image" style="ModernWindow" size="0 0 100% 100%" name="lobbyWindow">
|
|
|
|
<object style="ModernLabelText" type="text" size="50%-128 0%+4 50%+128 36">
|
|
<translatableAttribute id="caption">Multiplayer Lobby</translatableAttribute>
|
|
</object>
|
|
|
|
<action on="Tick">
|
|
onTick();
|
|
</action>
|
|
|
|
<!-- Left panel: Player list. -->
|
|
<object name="leftPanel" size="20 30 20% 100%-280">
|
|
<object name="playersBox" style="ModernList" type="olist" size="0 0 100% 100%" font="sans-bold-stroke-13">
|
|
<def id="status" width="26%">
|
|
<translatableAttribute id="heading">Status</translatableAttribute>
|
|
</def>
|
|
<def id="name" width="50%">
|
|
<translatableAttribute id="heading">Name</translatableAttribute>
|
|
</def>
|
|
<def id="rating" width="24%">
|
|
<translatableAttribute id="heading">Rating</translatableAttribute>
|
|
</def>
|
|
<action on="SelectionChange">
|
|
displayProfile("lobbylist");
|
|
</action>
|
|
</object>
|
|
</object>
|
|
|
|
<object name="profilePanel" size="20 100%-275 20% 100%-80">
|
|
<object name="profileBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
|
|
<object name="profileArea" size="0 0 100% 100%" hidden="true">
|
|
<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" text_align="center" font="sans-bold-16" />
|
|
<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" text_align="center" font="sans-bold-stroke-12" />
|
|
<object size="0 70 40%+40 90" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|
|
</object>
|
|
<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 90 40%+40 110" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|
|
</object>
|
|
<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 110 40%+40 130" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Total Games:</translatableAttribute>
|
|
</object>
|
|
<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 130 40%+40 150" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Wins:</translatableAttribute>
|
|
</object>
|
|
<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 150 40%+40 170" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Losses:</translatableAttribute>
|
|
</object>
|
|
<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 170 40%+40 190" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|
|
</object>
|
|
<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
</object>
|
|
</object>
|
|
</object>
|
|
|
|
<object name="leftButtonPanel" size="20 100%-75 20% 100%-20">
|
|
<object type="button" style="ModernButtonRed" size="0 0 100% 25">
|
|
<translatableAttribute id="caption">Leaderboard</translatableAttribute>
|
|
<action on="Press">
|
|
Engine.GetGUIObjectByName("leaderboard").hidden = false;
|
|
Engine.GetGUIObjectByName("fade").hidden = false;
|
|
displayProfile("leaderboard");
|
|
</action>
|
|
</object>
|
|
<object type="button" style="ModernButtonRed" size="0 30 100% 100%">
|
|
<translatableAttribute id="caption">User Profile Lookup</translatableAttribute>
|
|
<action on="Press">
|
|
Engine.GetGUIObjectByName("profileFetch").hidden = false;
|
|
Engine.GetGUIObjectByName("fade").hidden = false;
|
|
</action>
|
|
</object>
|
|
</object>
|
|
|
|
<!-- Right panel: Game details. -->
|
|
<object name="rightPanel" size="100%-250 30 100%-20 100%-20" >
|
|
<object name="gameInfoEmpty" size="0 0 100% 100%-60" type="image" sprite="ModernDarkBoxGold" hidden="false">
|
|
<object name="logo" size="50%-110 40 50%+110 140" type="image" sprite="logo"/>
|
|
<object name="subjectBox" type="image" sprite="ModernDarkBoxWhite" size="3% 180 97% 99%">
|
|
<object name="subject" size="5 5 100%-5 100%-5" type="text" style="ModernText" text_align="center"/>
|
|
</object>
|
|
</object>
|
|
<object name="gameInfo" size="0 0 100% 100%-90" type="image" sprite="ModernDarkBoxGold" hidden="true">
|
|
|
|
<!-- Map Name -->
|
|
<object name="sgMapName" size="0 5 100% 20" type="text" style="ModernLabelText"/>
|
|
|
|
<!-- Map Preview -->
|
|
<object name="sgMapPreview" size="5 25 100%-5 190" type="image" sprite=""/>
|
|
|
|
<object size="5 194 100%-5 195" type="image" sprite="ModernWhiteLine" z="25"/>
|
|
|
|
<!-- Map Type -->
|
|
<object size="5 195 50% 240" type="image" sprite="ModernItemBackShadeLeft">
|
|
<object size="0 0 100%-10 100%" type="text" style="ModernLabelText" text_align="right">
|
|
<translatableAttribute id="caption">Map Type:</translatableAttribute>
|
|
</object>
|
|
</object>
|
|
<object size="50% 195 100%-5 240" type="image" sprite="ModernItemBackShadeRight">
|
|
<object name="sgMapType" size="0 0 100% 100%" type="text" style="ModernLabelText" text_align="left"/>
|
|
</object>
|
|
|
|
<object size="5 239 100%-5 240" type="image" sprite="ModernWhiteLine" z="25"/>
|
|
|
|
<!-- Map Size -->
|
|
<object size="5 240 50% 285" type="image" sprite="ModernItemBackShadeLeft">
|
|
<object size="0 0 100%-10 100%" type="text" style="ModernLabelText" text_align="right">
|
|
<translatableAttribute id="caption">Map Size:</translatableAttribute>
|
|
</object>
|
|
</object>
|
|
<object size="50% 240 100%-5 285" type="image" sprite="ModernItemBackShadeRight">
|
|
<object name="sgMapSize" size="0 0 100% 100%" type="text" style="ModernLabelText" text_align="left"/>
|
|
</object>
|
|
|
|
<object size="5 284 100%-5 285" type="image" sprite="ModernWhiteLine" z="25"/>
|
|
|
|
<!-- Map Description -->
|
|
<object type="image" sprite="ModernDarkBoxWhite" size="3% 290 97% 75%">
|
|
<object name="sgMapDescription" size="0 0 100% 100%" type="text" style="ModernText" font="sans-12"/>
|
|
</object>
|
|
|
|
<object type="image" sprite="ModernDarkBoxWhite" size="3% 75%+5 97% 99%">
|
|
<!-- Number of Players -->
|
|
<object size="0% 3% 57% 12%" type="text" style="ModernRightLabelText">
|
|
<translatableAttribute id="caption">Players:</translatableAttribute>
|
|
</object>
|
|
<object name="sgNbPlayers" size="58% 3% 70% 12%" type="text" style="ModernLeftLabelText" text_align="left"/>
|
|
|
|
<!-- Player Names -->
|
|
<object name="sgPlayersNames" size="0 15% 100% 100%" type="text" style="MapPlayerList"/>
|
|
</object>
|
|
</object>
|
|
<object name="joinGameButton" type="button" style="ModernButtonRed" size="0 100%-85 100% 100%-60" hidden="true">
|
|
<translatableAttribute id="caption" comment="Join the game currently selected in the list.">Join Game</translatableAttribute>
|
|
<action on="Press">
|
|
joinSelectedGame();
|
|
</action>
|
|
</object>
|
|
<object name="hostButton" type="button" style="ModernButtonRed" size="0 100%-55 100% 100%-30">
|
|
<translatableAttribute id="caption">Host Game</translatableAttribute>
|
|
<action on="Press">
|
|
hostGame();
|
|
</action>
|
|
</object>
|
|
|
|
<object type="button" style="ModernButtonRed" size="0 100%-25 100% 100%">
|
|
<translatableAttribute id="caption">Main Menu</translatableAttribute>
|
|
<action on="Press">
|
|
lobbyStop();
|
|
Engine.SwitchGuiPage("page_pregame.xml");
|
|
</action>
|
|
</object>
|
|
</object>
|
|
|
|
<!-- Middle panel: Filters, game list, chat box. -->
|
|
<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
|
|
<object name="gamesBox" style="ModernList" type="olist" size="0 25 100% 48%" font="sans-stroke-13">
|
|
<action on="SelectionChange">updateGameSelection();</action>
|
|
<def id="name" color="0 60 0" width="27%">
|
|
<translatableAttribute id="heading">Name</translatableAttribute>
|
|
</def>
|
|
<!--<def id="ip" heading="IP" color="0 128 128" width="170"/>-->
|
|
<def id="mapName" color="128 128 128" width="25%">
|
|
<translatableAttribute id="heading">Map Name</translatableAttribute>
|
|
</def>
|
|
<def id="mapSize" color="128 128 128" width="16%">
|
|
<translatableAttribute id="heading" context="map">Size</translatableAttribute>
|
|
</def>
|
|
<def id="mapType" color="0 128 128" width="16%">
|
|
<translatableAttribute id="heading" context="map">Type</translatableAttribute>
|
|
</def>
|
|
<def id="nPlayers" color="0 128 128" width="16%">
|
|
<translatableAttribute id="heading">Players</translatableAttribute>
|
|
</def>
|
|
</object>
|
|
|
|
<object name="filterPanel" size="0 0 100% 24">
|
|
<object name="mapSizeFilter"
|
|
type="dropdown"
|
|
style="ModernDropDown"
|
|
size="52%-5 0 68%-10 100%"
|
|
font="sans-bold-13">
|
|
<action on="SelectionChange">applyFilters();</action>
|
|
</object>
|
|
|
|
<object name="mapTypeFilter"
|
|
type="dropdown"
|
|
style="ModernDropDown"
|
|
size="68%-5 0 84%-10 100%"
|
|
font="sans-bold-13">
|
|
<action on="SelectionChange">applyFilters();</action>
|
|
</object>
|
|
|
|
<object name="playersNumberFilter"
|
|
type="dropdown"
|
|
style="ModernDropDown"
|
|
size="84%-5 0 100% 100%"
|
|
font="sans-bold-13">
|
|
<action on="SelectionChange">applyFilters();</action>
|
|
</object>
|
|
|
|
<object type="text" size="22 0 52%-10 100%" text_align="left" textcolor="white">
|
|
<translatableAttribute id="caption">Show full games</translatableAttribute>
|
|
</object>
|
|
<object name="showFullFilter"
|
|
type="checkbox"
|
|
checked="true"
|
|
style="ModernTickBox"
|
|
size="0 0 20 20"
|
|
font="sans-bold-13">
|
|
<action on="Press">applyFilters();</action>
|
|
</object>
|
|
</object>
|
|
|
|
<object name="chatPanel" size="0 49% 100% 100%" type="image" sprite="ModernDarkBoxGold">
|
|
<object name="chatText" size="0 0 100% 94%" type="text" style="ChatPanel" font="sans-13"/>
|
|
<object name="chatInput" size="0 94% 100% 100%" type="input" style="ModernInput" font="sans-13">
|
|
<action on="Press">submitChatInput();</action>
|
|
<action on="Tab">completeNick();</action>
|
|
</object>
|
|
</object>
|
|
</object>
|
|
|
|
<!-- START Window for leaderboard stats -->
|
|
<!-- Add a translucent black background to fade out the menu page -->
|
|
<object hidden="true" name="fade" type="image" z="100" sprite="ModernFade"/>
|
|
<object hidden="true" name="leaderboard" type="image" style="ModernDialog" size="50%-224 50%-160 50%+224 50%+160" z="101">
|
|
<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
|
|
<translatableAttribute id="caption">Leaderboard</translatableAttribute>
|
|
</object>
|
|
<object name="leaderboardBox"
|
|
style="ModernList"
|
|
type="olist"
|
|
size="19 19 100%-19 100%-62">
|
|
<def id="rank" color="255 255 255" width="15%">
|
|
<translatableAttribute id="heading">Rank</translatableAttribute>
|
|
</def>
|
|
<def id="name" color="255 255 255" width="55%">
|
|
<translatableAttribute id="heading">Name</translatableAttribute>
|
|
</def>
|
|
<def id="rating" color="255 255 255" width="30%">
|
|
<translatableAttribute id="heading">Rating</translatableAttribute>
|
|
</def>
|
|
<action on="SelectionChange">
|
|
displayProfile("leaderboard");
|
|
</action>
|
|
</object>
|
|
<object type="button" style="ModernButtonRed" size="50%-133 100%-45 50%-5 100%-17">
|
|
<translatableAttribute id="caption">Back</translatableAttribute>
|
|
<action on="Press">
|
|
Engine.GetGUIObjectByName("leaderboard").hidden = true;
|
|
Engine.GetGUIObjectByName("fade").hidden = true;
|
|
displayProfile("lobbylist");
|
|
</action>
|
|
</object>
|
|
<object type="button" style="ModernButtonRed" size="50%+5 100%-45 50%+133 100%-17">
|
|
<translatableAttribute id="caption">Update</translatableAttribute>
|
|
<action on="Press">Engine.SendGetBoardList();</action>
|
|
</object>
|
|
</object>
|
|
<!-- END Window for leaderboard stats -->
|
|
<object hidden="true" name="profileFetch" type="image" style="ModernDialog" size="50%-224 50%-160 50%+224 50%+160" z="102">
|
|
<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
|
|
<translatableAttribute id="caption">User Profile Lookup</translatableAttribute>
|
|
</object>
|
|
<object type="text" size="15 25 40% 50" text_align="right" textcolor="white">
|
|
<translatableAttribute id="caption">Enter username:</translatableAttribute>
|
|
</object>
|
|
<object name="fetchInput" size="40%+10 25 100%-25 50" type="input" style="ModernInput" font="sans-13">
|
|
<action on="Press">displayProfile("fetch");</action>
|
|
</object>
|
|
<object type="button" style="ModernButtonRed" size="50%-64 60 50%+64 85">
|
|
<translatableAttribute id="caption">View Profile</translatableAttribute>
|
|
<action on="Press">displayProfile("fetch");</action>
|
|
</object>
|
|
<object name="profileWindowPanel" size="25 95 100%-25 100%-60">
|
|
<object name="profileWindowBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
|
|
<object name="profileWindowArea" size="0 0 100% 100%" hidden="false">
|
|
<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" text_align="center" font="sans-bold-16" />
|
|
<object size="0 30 40%+40 50" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Current Rank:</translatableAttribute>
|
|
</object>
|
|
<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 50 40%+40 70" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
|
|
</object>
|
|
<object name="profileHighestRatingText" size="40%+45 50 100% 70" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 70 40%+40 90" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Total Games:</translatableAttribute>
|
|
</object>
|
|
<object name="profileTotalGamesText" size="40%+45 70 100% 90" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 90 40%+40 110" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Wins:</translatableAttribute>
|
|
</object>
|
|
<object name="profileWinsText" size="40%+45 90 100% 110" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 110 40%+40 130" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Losses:</translatableAttribute>
|
|
</object>
|
|
<object name="profileLossesText" size="40%+45 110 100% 130" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
<object size="0 130 40%+40 150" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
|
|
<translatableAttribute id="caption">Win Rate:</translatableAttribute>
|
|
</object>
|
|
<object name="profileRatioText" size="40%+45 130 100% 150" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
|
|
</object>
|
|
<object name="profileErrorText" size="25% 25% 75% 75%" type="text" style="ModernLabelText" text_align="center" font="sans-bold-stroke-13" hidden="true">
|
|
<translatableAttribute id="caption">Player not found.</translatableAttribute>
|
|
</object>
|
|
</object>
|
|
</object>
|
|
<object type="button" style="ModernButtonRed" size="50%-64 100%-50 50%+64 100%-25">
|
|
<translatableAttribute id="caption">Back</translatableAttribute>
|
|
<action on="Press">
|
|
Engine.GetGUIObjectByName("profileFetch").hidden = true;
|
|
Engine.GetGUIObjectByName("fade").hidden = true;
|
|
</action>
|
|
</object>
|
|
</object>
|
|
</object>
|
|
</objects>
|