index 4b9573d99a9ee476f8b57bec618f9a972f8e2a7d..f4ce7984547a0362e13b66e2d6a2885a67b1ce1d 100644 (file)
--- a/src/game/g_netmaster.pas
+++ b/src/game/g_netmaster.pas
-(* Copyright (C) DooM 2D:Forever Developers
+(* Copyright (C) Doom 2D: Forever Developers
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
uses
SysUtils, e_msg, e_input, e_graphics, e_log, g_window, g_net, g_console,
- g_map, g_game, g_sound, g_textures, g_gui, g_menu, g_options, g_language, wadreader;
+ g_map, g_game, g_sound, g_gui, g_menu, g_options, g_language, wadreader;
var
NetMEvent: ENetEvent;
if not g_Net_Slist_Connect then
Exit;
- e_WriteLog('Fetching serverlist...', MSG_NOTIFY);
+ e_WriteLog('Fetching serverlist...', TMsgType.Notify);
g_Console_Add(_lc[I_NET_MSG] + _lc[I_NET_SLIST_FETCH]);
NetOut.Clear();
NetOut.Write(Byte(NET_MMSG_GET));
- e_WriteLog('Wr ' + IntToStr(PByte(NetOut.Data)^) + ' !.', MSG_NOTIFY);
- e_WriteLog('Wr ' + IntToStr(NetOut.CurSize) + ' !.', MSG_NOTIFY);
P := enet_packet_create(NetOut.Data, NetOut.CurSize, Cardinal(ENET_PACKET_FLAG_RELIABLE));
enet_peer_send(NetMPeer, NET_MCHAN_MAIN, P);
if not InMsg.Init(NetMEvent.packet^.data, NetMEvent.packet^.dataLength, True) then continue;
MID := InMsg.ReadByte();
- e_WriteLog('Retrieved ' + IntToStr(MID) + ' !.', MSG_NOTIFY);
if MID <> NET_MMSG_GET then continue;
Cnt := InMsg.ReadByte();
- e_WriteLog('Retrieved ' + IntToStr(Cnt) + ' server(s).', MSG_NOTIFY);
g_Console_Add(_lc[I_NET_MSG] + Format(_lc[I_NET_SLIST_RETRIEVED], [Cnt]), True);
- //writeln('BOO!');
if Cnt > 0 then
begin
begin
enet_address_set_host(@NetSlistAddr, PChar(Addr(IP[1])));
NetSlistAddr.Port := Port;
- e_WriteLog('Masterserver address set to ' + IP + ':' + IntToStr(Port), MSG_NOTIFY);
+ e_WriteLog('Masterserver address set to ' + IP + ':' + IntToStr(Port), TMsgType.Notify);
end;
end;
procedure g_Serverlist_Draw(var SL: TNetServerList);
var
sy, i, y, mw, mx, l: Integer;
- cw, ch: Byte;
- ww, hh: Word;
+ cw: Byte = 0;
+ ch: Byte = 0;
+ ww: Word = 0;
+ hh: Word = 0;
ip: string;
begin
ip := '';
end;
procedure g_Serverlist_Control(var SL: TNetServerList);
+var
+ qm: Boolean;
begin
if gConsoleShow or gChatShow then
Exit;
- e_PollInput();
+ qm := g_ProcessMessages(); // this updates kbd
- if e_KeyPressed(IK_ESCAPE) then
+ if qm or e_KeyPressed(IK_ESCAPE) or e_KeyPressed(VK_ESCAPE) then
begin
SL := nil;
gState := STATE_MENU;
Exit;
end;
- if e_KeyPressed(IK_SPACE) then
+ if e_KeyPressed(IK_SPACE) or e_KeyPressed(VK_JUMP) then
begin
if not slFetched then
begin
if SL = nil then Exit;
- if e_KeyPressed(IK_RETURN) or e_KeyPressed(IK_KPRETURN) then
+ if e_KeyPressed(IK_RETURN) or e_KeyPressed(IK_KPRETURN) or e_KeyPressed(VK_FIRE) or e_KeyPressed(VK_OPEN) then
begin
if not slReturnPressed then
begin
else
slReturnPressed := False;
- if e_KeyPressed(IK_DOWN) or e_KeyPressed(IK_KPDOWN) then
+ if e_KeyPressed(IK_DOWN) or e_KeyPressed(IK_KPDOWN) or e_KeyPressed(VK_DOWN) then
begin
if not slDirPressed then
begin
end;
end;
- if e_KeyPressed(IK_UP) or e_KeyPressed(IK_KPUP) then
+ if e_KeyPressed(IK_UP) or e_KeyPressed(IK_KPUP) or e_KeyPressed(VK_UP) then
begin
if not slDirPressed then
begin
end;
end;
- if (not e_KeyPressed(IK_DOWN)) and (not e_KeyPressed(IK_UP)) and (not e_KeyPressed(IK_KPDOWN)) and (not e_KeyPressed(IK_KPUP)) then
+ if (not e_KeyPressed(IK_DOWN)) and (not e_KeyPressed(IK_UP)) and (not e_KeyPressed(IK_KPDOWN)) and (not e_KeyPressed(IK_KPUP)) and (not e_KeyPressed(VK_DOWN)) and (not e_KeyPressed(VK_UP)) then
slDirPressed := False;
end;