X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_netmsg.pas;h=52e7ae64e0fa0d563a40b52ca1e1fb076e9b89b3;hb=1b867d9fa61767acfef258fe29b900d3fd1af104;hp=1c44acacf18cd4b437c528ac620b1c3c4c168f2d;hpb=a192c0b164766b2145a011938ee11dfa854a42c5;p=d2df-sdl.git diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas index 1c44aca..52e7ae6 100644 --- a/src/game/g_netmsg.pas +++ b/src/game/g_netmsg.pas @@ -476,7 +476,11 @@ begin if gState in [STATE_INTERCUSTOM, STATE_FOLD] then MH_SEND_GameEvent(NET_EV_MAPEND, 0, 'N', C^.ID); - if NetUseMaster then g_Net_Slist_Update; + if NetUseMaster then + begin + //g_Net_Slist_Update; + g_Net_Slist_Pulse(); + end; end; @@ -487,6 +491,7 @@ begin if not C.WaitForFirstSpawn then exit; plr := g_Player_Get(C^.Player); if not assigned(plr) then exit; + g_Net_Slist_ServerPlayerComes(); e_LogWritefln('*** client #%u (cid #%u) first spawn', [C.ID, C.Player]); C.WaitForFirstSpawn := false; plr.FNoRespawn := false; @@ -820,18 +825,14 @@ begin end; procedure MH_SEND_Info(ID: Byte); -var - Map: string; begin - Map := g_ExtractFileName(gMapInfo.Map); - NetOut.Clear(); NetOut.Write(Byte(NET_MSG_INFO)); NetOut.Write(ID); NetOut.Write(NetClients[ID].Player); - NetOut.Write(gGameSettings.WAD); - NetOut.Write(Map); + NetOut.Write(ExtractFileName(gGameSettings.WAD)); + NetOut.Write(g_ExtractFileName(gMapInfo.Map)); NetOut.Write(gWADHash); NetOut.Write(gGameSettings.GameMode); NetOut.Write(gGameSettings.GoalLimit); @@ -1796,7 +1797,7 @@ begin gGameSettings.GameMode := gSwitchGameMode; gWADHash := EvHash; - if not g_Game_StartMap(EvStr, True) then + if not g_Game_StartMap(false{asMegawad}, EvStr, True) then begin if not isWadPath(EvStr) then g_FatalError(Format(_lc[I_GAME_ERROR_MAP_LOAD], [gGameSettings.WAD + ':\' + EvStr]))