DEADSOFTWARE

net: it is now possible to use more than one master (use "List=host:port,host:port...
[d2df-sdl.git] / src / game / g_options.pas
index ac80a1b1f786cd8d11f7356510ca1c743b344b6a..a80d682cc3fdfcc5764377011b4a3d9c2821afe7 100644 (file)
@@ -125,13 +125,20 @@ var
   percentage: Integer;
 begin
   (* Display 0 = Primary display *)
-  SDL_GetDesktopDisplayMode(0, @display);
-  {$IF DEFINED(ANDROID)}
+  gScreenWidth := 640;
+  gScreenHeight := 480;
+  //gBPP := SDL_BITSPERPIXEL(dispaly.format);
+  gBPP := 32;
+  {$IFDEF ANDROID}
+    gFullScreen := True; (* rotation not allowed? *)
+  {$ELSE}
+    gFullScreen := False;
+  {$ENDIF}
+  if SDL_GetDesktopDisplayMode(0, @display) = 0 then
+  begin
+  {$IFDEF ANDROID}
     gScreenWidth := display.w;
     gScreenHeight := display.h;
-    //gBPP := SDL_BITSPERPIXEL(dispaly.format);
-    gBPP := 32;
-    gFullScreen := True; (* rotation not allowed? *)
   {$ELSE}
     (* Window must be smaller than display *)
     closest.w := display.w;
@@ -156,9 +163,12 @@ begin
     gScreenWidth := closest.w;
     gScreenHeight := closest.h;
     //gBPP := SDL_BITSPERPIXEL(closest.format); (* Resolution list didn't work for some reason *)
-    gBPP := 32;
-    gFullScreen := False;
   {$ENDIF}
+  end
+  else
+  begin
+    e_LogWritefln('SDL: Failed to get desktop display mode: %s', [SDL_GetError])
+  end;
   (* Must be positioned on primary display *)
   gWinRealPosX := SDL_WINDOWPOS_CENTERED;
   gWinRealPosY := SDL_WINDOWPOS_CENTERED;
@@ -172,7 +182,6 @@ end;
 {$ELSE}
 procedure g_Options_SetDefaultVideo;
 begin
-  {$WARNING stub}
   gScreenWidth := 640;
   gScreenHeight := 480;
   gBPP := 32;
@@ -287,7 +296,7 @@ begin
   (* section MasterServer *)
   NetSlistIP := 'mpms.doom2d.org';
   NetSlistPort := 25665;
-  g_Net_Slist_Set(NetSlistIP, NetSlistPort);
+  g_Net_Slist_Set(NetSlistIP, NetSlistPort, NetSlistList);
 
   (* section Server *)
   NetServerName := 'Unnamed Server';
@@ -509,7 +518,8 @@ begin
   section := 'MasterServer';
   ReadString(NetSlistIP, 'IP');
   ReadInteger(NetSlistPort, 'Port', 0, 65535);
-  g_Net_Slist_Set(NetSlistIP, NetSlistPort);
+  ReadString(NetSlistList, 'List');
+  g_Net_Slist_Set(NetSlistIP, NetSlistPort, NetSlistList);
 
   section := 'Server';
   ReadString(NetServerName, 'Name');
@@ -646,6 +656,7 @@ begin
 
   config.WriteStr('MasterServer', 'IP', NetSlistIP);
   config.WriteInt('MasterServer', 'Port', NetSlistPort);
+  config.WriteStr('MasterServer', 'List', NetSlistList);
 
   config.WriteStr ('Server', 'Name', NetServerName);
   config.WriteStr ('Server', 'Password', NetPassword);