Ticket #3476: 3476_start_time_lobby_v1.2.patch
File 3476_start_time_lobby_v1.2.patch, 4.5 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/lobby/lobby.js
615 615 return; 616 616 617 617 Engine.GetGUIObjectByName("sgMapName").caption = translateMapTitle(game.niceMapName); 618 Engine.GetGUIObjectByName("sgNbPlayers").caption = sprintf( 618 619 let sgGameStartTime = Engine.GetGUIObjectByName("sgGameStartTime"); 620 let sgNbPlayers = Engine.GetGUIObjectByName("sgNbPlayers"); 621 let sgPlayersNames = Engine.GetGUIObjectByName("sgPlayersNames"); 622 623 let playersNamesSize = sgPlayersNames.size; 624 playersNamesSize.top = game.startTime ? sgGameStartTime.size.bottom : sgNbPlayers.size.bottom; 625 playersNamesSize.rtop = game.startTime ? sgGameStartTime.size.rbottom : sgNbPlayers.size.rbottom; 626 sgPlayersNames.size = playersNamesSize; 627 628 sgGameStartTime.hidden = !game.startTime; 629 if (game.startTime) 630 sgGameStartTime.caption = sprintf( 631 translate("Game started at: %(time)s"), { 632 "time": Engine.FormatMillisecondsIntoDateString(+game.startTime*1000, translate("HH:mm")) 633 }); 634 635 sgNbPlayers.caption = sprintf( 619 636 translate("Players: %(current)s/%(total)s"), { 620 637 "current": game.nbp, 621 638 "total": game.maxnbp 622 639 }); 623 640 624 Engine.GetGUIObjectByName("sgPlayersNames").caption = formatPlayerInfo(stringifiedTeamListToPlayerData(game.players));641 sgPlayersNames.caption = formatPlayerInfo(stringifiedTeamListToPlayerData(game.players)); 625 642 Engine.GetGUIObjectByName("sgMapSize").caption = translateMapSize(game.mapSize); 626 643 627 644 let mapTypeIdx = g_MapTypes.Name.indexOf(game.mapType); -
binaries/data/mods/public/gui/lobby/lobby.xml
137 137 <object size="5 284 100%-5 285" type="image" sprite="ModernWhiteLine" z="25"/> 138 138 139 139 <!-- Map Description --> 140 <object type="image" sprite="ModernDarkBoxWhite" size="3% 290 97% 75%">140 <object type="image" sprite="ModernDarkBoxWhite" size="3% 290 97% 65%"> 141 141 <object name="sgMapDescription" size="0 0 100% 100%" type="text" style="ModernText" font="sans-12"/> 142 142 </object> 143 143 144 <object type="image" sprite="ModernDarkBoxWhite" size="3% 75%+5 97% 99%">144 <object type="image" sprite="ModernDarkBoxWhite" size="3% 65%+5 97% 99%"> 145 145 <!-- Number of Players --> 146 <object name="sgNbPlayers" size="3% 3% 97% 12%" type="text" style="ModernLeftLabelText" text_align="center"/> 146 <object name="sgNbPlayers" size="3% 3% 97% 3%+15" type="text" style="ModernLeftLabelText" text_align="center"/> 147 <!-- Game Start Time --> 148 <object name="sgGameStartTime" size="3%+24 6% 97% 3%+35" type="text" style="ModernLeftLabelText" text_align="center"/> 147 149 148 150 <!-- Player Names --> 149 <object name="sgPlayersNames" size="0 15%100% 100%" type="text" style="MapPlayerList"/>151 <object name="sgPlayersNames" size="0 0 100% 100%" type="text" style="MapPlayerList"/> 150 152 </object> 151 153 </object> 152 154 <object name="joinGameButton" type="button" style="ModernButtonRed" size="0 100%-85 100% 100%-60" hidden="true"> -
source/lobby/XmppClient.cpp
502 502 JSAutoRequest rq(cx); 503 503 504 504 scriptInterface.Eval("([])", ret); 505 const char* stats[] = { "name", "ip", "port", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition" };505 const char* stats[] = { "name", "ip", "port", "state", "nbp", "maxnbp", "players", "mapName", "niceMapName", "mapSize", "mapType", "victoryCondition", "startTime" }; 506 506 for(const glooxwrapper::Tag* const& t : m_GameList) 507 507 { 508 508 JS::RootedValue game(cx); -
source/tools/XpartaMuPP/XpartaMuPP.py
307 307 self.gameList[JID]['state'] = 'running' 308 308 self.gameList[JID]['nbp'] = data['nbp'] 309 309 self.gameList[JID]['players'] = data['players'] 310 if 'startTime' not in self.gameList[JID]: 311 self.gameList[JID]['startTime'] = str(round(time.time())) 310 312 311 313 ## Class which manages different game reports from clients ## 312 314 ## and calls leaderboard functions as appropriate. ##