diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 34a387ab255c4a9fb8eefee58216c06dfca0a291..29668f59753441a102be2a84c092bf300417c2a7 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
CloseFile(s);
end;
CloseFile(s);
end;
+procedure ClearDebugCvars();
+begin
+ g_debug_Sounds := False;
+ g_debug_Frames := False;
+ g_debug_WinMsgs := False;
+ g_debug_MonsterOff := False;
+ g_debug_BotAIOff := 0;
+ g_debug_HealthBar := False;
+ g_Debug_Player := False;
+end;
+
function g_Game_ModeToText(Mode: Byte): string;
begin
Result := '';
function g_Game_ModeToText(Mode: Byte): string;
begin
Result := '';
function g_Game_IsNet(): Boolean;
begin
Result := (gGameSettings.GameType in [GT_SERVER, GT_CLIENT]);
function g_Game_IsNet(): Boolean;
begin
Result := (gGameSettings.GameType in [GT_SERVER, GT_CLIENT]);
-
- if gGameSettings.GameType in [GT_SERVER, GT_CLIENT] then
- begin
- // set debug options to false to avoid cheaters
- g_debug_Sounds := False;
- g_debug_Frames := False;
- g_debug_WinMsgs := False;
- g_debug_MonsterOff := False;
- g_debug_BotAIOff := 0;
- g_debug_HealthBar := False;
- g_Debug_Player := False;
- Exit;
- end;
end;
function g_Game_IsServer(): Boolean;
end;
function g_Game_IsServer(): Boolean;
g_Game_ClearLoading();
g_Game_ClearLoading();
+ ClearDebugCvars();
+
// Íàñòðîéêè èãðû:
gGameSettings.GameType := GT_SERVER;
gGameSettings.GameMode := GameMode;
// Íàñòðîéêè èãðû:
gGameSettings.GameType := GT_SERVER;
gGameSettings.GameMode := GameMode;
g_Game_ClearLoading();
g_Game_ClearLoading();
+ ClearDebugCvars();
+
// Íàñòðîéêè èãðû:
gGameSettings.GameType := GT_CLIENT;
// Íàñòðîéêè èãðû:
gGameSettings.GameType := GT_CLIENT;
if (pl <> nil) then
begin
s := g_Net_ClientName_ByID(pl^.ID);
if (pl <> nil) then
begin
s := g_Net_ClientName_ByID(pl^.ID);
- enet_peer_disconnect(pl^.Peer, NET_DISC_KICK);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_KICK);
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
if NetClients[a].Used and (NetClients[a].Peer <> nil) then
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
if NetClients[a].Used and (NetClients[a].Peer <> nil) then
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
- enet_peer_disconnect(NetClients[a].Peer, NET_DISC_KICK);
+ g_Net_Host_Kick(NetClients[a].ID, NET_DISC_KICK);
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
if (pl <> nil) and pl^.Used and (pl^.Peer <> nil) then
begin
s := g_Net_ClientName_ByID(pl^.ID);
if (pl <> nil) and pl^.Used and (pl^.Peer <> nil) then
begin
s := g_Net_ClientName_ByID(pl^.ID);
- enet_peer_disconnect(pl^.Peer, NET_DISC_KICK);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_KICK);
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_KICK], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_KICK, 0, s);
g_Net_Slist_ServerPlayerLeaves();
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host, False);
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host, False);
- enet_peer_disconnect(pl^.Peer, NET_DISC_TEMPBAN);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_TEMPBAN);
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
g_Net_BanHost(NetClients[a].Peer^.address.host, False);
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
g_Net_BanHost(NetClients[a].Peer^.address.host, False);
- enet_peer_disconnect(NetClients[a].Peer, NET_DISC_TEMPBAN);
+ g_Net_Host_Kick(NetClients[a].ID, NET_DISC_TEMPBAN);
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host, False);
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host, False);
- enet_peer_disconnect(pl^.Peer, NET_DISC_TEMPBAN);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_TEMPBAN);
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_Slist_ServerPlayerLeaves();
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host);
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host);
- enet_peer_disconnect(pl^.Peer, NET_DISC_BAN);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_BAN);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
g_Net_BanHost(NetClients[a].Peer^.address.host);
begin
s := g_Net_ClientName_ByID(NetClients[a].ID);
g_Net_BanHost(NetClients[a].Peer^.address.host);
- enet_peer_disconnect(NetClients[a].Peer, NET_DISC_BAN);
+ g_Net_Host_Kick(NetClients[a].ID, NET_DISC_BAN);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host);
begin
s := g_Net_ClientName_ByID(pl^.ID);
g_Net_BanHost(pl^.Peer^.address.host);
- enet_peer_disconnect(pl^.Peer, NET_DISC_BAN);
+ g_Net_Host_Kick(pl^.ID, NET_DISC_TEMPBAN);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Net_SaveBanList();
g_Console_Add(Format(_lc[I_PLAYER_BAN], [s]));
MH_SEND_GameEvent(NET_EV_PLAYER_BAN, 0, s);
g_Console_Add(_lc[I_MSG_GM_UNAVAIL])
end
end
g_Console_Add(_lc[I_MSG_GM_UNAVAIL])
end
end
+ else if not e_IsValidResourceName(P[1]) then
+ begin
+ g_Console_Add('wad name must not be absolute or relative');
+ end
else
begin
if g_Game_IsServer and (gGameSettings.GameType <> GT_SINGLE) then
else
begin
if g_Game_IsServer and (gGameSettings.GameType <> GT_SINGLE) then
g_Console_Add(_lc[I_MSG_GM_UNAVAIL]);
end;
end
g_Console_Add(_lc[I_MSG_GM_UNAVAIL]);
end;
end
+ else if not e_IsValidResourceName(P[1]) then
+ begin
+ g_Console_Add('wad name must not be absolute or relative');
+ end
else
begin
nm := False;
else
begin
nm := False;