forked from 0ad/0ad
Display the gamestart time in the lobby. Patch by Imarok, combined with d7d0a7f869
fixes #3476.
XPartaMupp patch reviewed by scythetwirler. This was SVN commit r18601.
This commit is contained in:
parent
416049e4b4
commit
e4000d11cf
@ -615,13 +615,30 @@ function updateGameSelection()
|
||||
return;
|
||||
|
||||
Engine.GetGUIObjectByName("sgMapName").caption = translateMapTitle(game.niceMapName);
|
||||
Engine.GetGUIObjectByName("sgNbPlayers").caption = sprintf(
|
||||
|
||||
let sgGameStartTime = Engine.GetGUIObjectByName("sgGameStartTime");
|
||||
let sgNbPlayers = Engine.GetGUIObjectByName("sgNbPlayers");
|
||||
let sgPlayersNames = Engine.GetGUIObjectByName("sgPlayersNames");
|
||||
|
||||
let playersNamesSize = sgPlayersNames.size;
|
||||
playersNamesSize.top = game.startTime ? sgGameStartTime.size.bottom : sgNbPlayers.size.bottom;
|
||||
playersNamesSize.rtop = game.startTime ? sgGameStartTime.size.rbottom : sgNbPlayers.size.rbottom;
|
||||
sgPlayersNames.size = playersNamesSize;
|
||||
|
||||
sgGameStartTime.hidden = !game.startTime;
|
||||
if (game.startTime)
|
||||
sgGameStartTime.caption = sprintf(
|
||||
translate("Game started at %(time)s"), {
|
||||
"time": Engine.FormatMillisecondsIntoDateString(+game.startTime*1000, translate("HH:mm"))
|
||||
});
|
||||
|
||||
sgNbPlayers.caption = sprintf(
|
||||
translate("Players: %(current)s/%(total)s"), {
|
||||
"current": game.nbp,
|
||||
"total": game.maxnbp
|
||||
});
|
||||
|
||||
Engine.GetGUIObjectByName("sgPlayersNames").caption = formatPlayerInfo(stringifiedTeamListToPlayerData(game.players));
|
||||
sgPlayersNames.caption = formatPlayerInfo(stringifiedTeamListToPlayerData(game.players));
|
||||
Engine.GetGUIObjectByName("sgMapSize").caption = translateMapSize(game.mapSize);
|
||||
|
||||
let mapTypeIdx = g_MapTypes.Name.indexOf(game.mapType);
|
||||
|
@ -137,16 +137,18 @@
|
||||
<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 type="image" sprite="ModernDarkBoxWhite" size="3% 290 97% 65%">
|
||||
<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%">
|
||||
<object type="image" sprite="ModernDarkBoxWhite" size="3% 65%+5 97% 99%">
|
||||
<!-- Number of Players -->
|
||||
<object name="sgNbPlayers" size="3% 3% 97% 12%" type="text" style="ModernLeftLabelText" text_align="center"/>
|
||||
<object name="sgNbPlayers" size="3% 3% 97% 3%+15" type="text" style="ModernLeftLabelText" text_align="center"/>
|
||||
<!-- Game Start Time -->
|
||||
<object name="sgGameStartTime" size="3%+24 6% 97% 3%+35" type="text" style="ModernLeftLabelText" text_align="center"/>
|
||||
|
||||
<!-- Player Names -->
|
||||
<object name="sgPlayersNames" size="0 15% 100% 100%" type="text" style="MapPlayerList"/>
|
||||
<object name="sgPlayersNames" size="0 0 100% 100%" type="text" style="MapPlayerList"/>
|
||||
</object>
|
||||
</object>
|
||||
<object name="joinGameButton" type="button" style="ModernButtonRed" size="0 100%-85 100% 100%-60" hidden="true">
|
||||
|
@ -502,7 +502,7 @@ void XmppClient::GUIGetGameList(ScriptInterface& scriptInterface, JS::MutableHan
|
||||
JSAutoRequest rq(cx);
|
||||
|
||||
scriptInterface.Eval("([])", ret);
|
||||
const char* stats[] = { "name", "ip", "port", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition" };
|
||||
const char* stats[] = { "name", "ip", "port", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition", "startTime" };
|
||||
for(const glooxwrapper::Tag* const& t : m_GameList)
|
||||
{
|
||||
JS::RootedValue game(cx);
|
||||
|
@ -307,6 +307,8 @@ class GameList():
|
||||
self.gameList[JID]['state'] = 'running'
|
||||
self.gameList[JID]['nbp'] = data['nbp']
|
||||
self.gameList[JID]['players'] = data['players']
|
||||
if 'startTime' not in self.gameList[JID]:
|
||||
self.gameList[JID]['startTime'] = str(round(time.time()))
|
||||
|
||||
## Class which manages different game reports from clients ##
|
||||
## and calls leaderboard functions as appropriate. ##
|
||||
|
Loading…
Reference in New Issue
Block a user