diff --git a/game/common/server/clientConnection.cs b/game/common/server/clientConnection.cs index caec6fc5..dde9b04e 100644 --- a/game/common/server/clientConnection.cs +++ b/game/common/server/clientConnection.cs @@ -36,6 +36,8 @@ function updateServerParams() %message = %message @ serverGetPrivateSlotsFree() @ "\n"; // private slots avail %message = %message @ serverGetPrivateSlotsUsed() @ "\n"; // private slots used %message = %message @ (!isPCBuild() && XBLiveIsRanked()) @ "\n"; // ranked? + %message = %message @ $Server::MissionGuid @ "\n"; // mission guid + %message = %message @ $Server::MissionName @ "\n"; // mission name // update the server parameters on all clients messageAll('MsgClientSetServerParams', "", %message); diff --git a/game/common/server/missionLoad.cs b/game/common/server/missionLoad.cs index d00c8df5..60f16e4a 100644 --- a/game/common/server/missionLoad.cs +++ b/game/common/server/missionLoad.cs @@ -87,6 +87,8 @@ function loadMissionStage2() // populate id variables for the mission we loaded $Server::MissionId = MissionInfo.level; $Server::GameModeId = GameMissionInfo.getGameModeIdFromString(MissionInfo.gameMode); + $Server::MissionGuid = MissionInfo.guid; + $Server::MissionName = GameMissionInfo.getMissionDisplayNameByGuid(MissionInfo.guid); // Mission cleanup group new SimGroup( MissionCleanup ); diff --git a/game/marble/client/scripts/playerList.cs b/game/marble/client/scripts/playerList.cs index 252da07b..e950f3db 100644 --- a/game/marble/client/scripts/playerList.cs +++ b/game/marble/client/scripts/playerList.cs @@ -59,6 +59,8 @@ function handleClientSetServerParams(%msgType, %msgString, %message) ServerConnection.priSlotsFree = getRecord(%message, 7); ServerConnection.priSlotsUsed = getRecord(%message, 8); ServerConnection.isRanked = getRecord(%message, 9); + ServerConnection.guid = getRecord(%message, 10); + ServerConnection.missionName = getRecord(%message, 11); // set flag indicating that server params are present ServerConnection.hasParams = true; diff --git a/game/marble/client/ui/createGameGui.gui b/game/marble/client/ui/createGameGui.gui index c6764989..5a61d5c8 100644 --- a/game/marble/client/ui/createGameGui.gui +++ b/game/marble/client/ui/createGameGui.gui @@ -359,6 +359,8 @@ function CreateGameGui::createGame(%this) $Server::MissionId = GameMissionInfo.getCurrentMission().level; $Server::GameModeId = GameMissionInfo.getGameModeIdFromString(GameMissionInfo.getCurrentMission().gameMode); $Server::MissionFile = GameMissionInfo.getCurrentMission().file; + $Server::MissionGuid = GameMissionInfo.getCurrentMission().guid; + $Server::MissionName = GameMissionInfo.getMissionDisplayNameByGuid(GameMissionInfo.getCurrentMission().guid); $pref::Server::missionId = $Server::MissionId; onMissionLoaded(); diff --git a/game/marble/client/ui/lobbyGui.gui b/game/marble/client/ui/lobbyGui.gui index 7d9490f4..ee8c9ef2 100644 --- a/game/marble/client/ui/lobbyGui.gui +++ b/game/marble/client/ui/lobbyGui.gui @@ -704,7 +704,7 @@ function LobbyGui::updateHostInfo(%this) // set host info %gameMode = GameMissionInfo.getGameModeDisplayName(ServerConnection.gameModeId); - %missionName = GameMissionInfo.getMissionDisplayName(ServerConnection.missionId); + %missionName = ServerConnection.missionName; //GameMissionInfo.getMissionDisplayName(ServerConnection.missionId); %sanitizedText = ServerConnection.hostName; if ($pref::Lobby::StreamerMode) @@ -918,6 +918,8 @@ function LobbyGui::onLeft(%this) $Server::MissionId = GameMissionInfo.getCurrentMission().level; $Server::GameModeId = GameMissionInfo.getGameModeIdFromString(GameMissionInfo.getCurrentMission().gameMode); $Server::MissionFile = GameMissionInfo.getCurrentMission().file; + $Server::MissionGuid = GameMissionInfo.getCurrentMission().guid; + $Server::MissionName = GameMissionInfo.getMissionDisplayNameByGuid(GameMissionInfo.getCurrentMission().guid); onMissionLoaded(); @@ -946,6 +948,8 @@ function LobbyGui::onRight(%this) $Server::MissionId = GameMissionInfo.getCurrentMission().level; $Server::GameModeId = GameMissionInfo.getGameModeIdFromString(GameMissionInfo.getCurrentMission().gameMode); $Server::MissionFile = GameMissionInfo.getCurrentMission().file; + $Server::MissionGuid = GameMissionInfo.getCurrentMission().guid; + $Server::MissionName = GameMissionInfo.getMissionDisplayNameByGuid(GameMissionInfo.getCurrentMission().guid); onMissionLoaded(); diff --git a/game/marble/data/gameMissionInfo.cs b/game/marble/data/gameMissionInfo.cs index d2fd105f..5b311bdf 100644 --- a/game/marble/data/gameMissionInfo.cs +++ b/game/marble/data/gameMissionInfo.cs @@ -671,6 +671,15 @@ function initLBText() return getMissionNameFromNameVar(%mission); } +function GameMissionInfo::getMissionDisplayNameByGuid(%this, %guid) +{ + %mission = %this.findMissionByGuid(%guid); + if (!isObject(%mission)) + return ""; + else + return getMissionNameFromNameVar(%mission); +} + function getMissionNameFromNameVar(%mission) { %name = %mission.name;