DEADSOFTWARE

Reserved key range for virtual keyboard + alternative virtkbd layout
[d2df-sdl.git] / src / game / g_netmaster.pas
index 4b9573d99a9ee476f8b57bec618f9a972f8e2a7d..f4ce7984547a0362e13b66e2d6a2885a67b1ce1d 100644 (file)
@@ -1,4 +1,4 @@
-(* 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
@@ -73,7 +73,7 @@ implementation
 
 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;
@@ -125,13 +125,11 @@ begin
   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);
@@ -144,14 +142,11 @@ begin
       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
@@ -381,15 +376,17 @@ 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 := '';
@@ -508,13 +505,15 @@ begin
 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;
@@ -525,7 +524,7 @@ begin
     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
@@ -550,7 +549,7 @@ 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
@@ -574,7 +573,7 @@ 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
@@ -584,7 +583,7 @@ 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
@@ -595,7 +594,7 @@ 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;