DEADSOFTWARE

game: improve rulez respawn timer
[d2df-sdl.git] / src / game / g_options.pas
index 3f53262185953dc4fc8a1a306df54d3ef49cdd62..b0153192dc5c2c6995922ab13424c190c06f7073 100644 (file)
@@ -38,6 +38,9 @@ var
   glLegacyNPOT: Boolean;
   glRenderToFBO: Boolean = True;
   gTextureFilter: Boolean;
+  gLerpActors: Boolean = True;
+  gFrameTime: Integer = 5;
+  gMaxFPS: Integer = 200;
   gNoSound: Boolean;
   gSoundLevel: Integer;
   gMusicLevel: Integer;
@@ -59,19 +62,20 @@ var
   gsSDLSampleRate: Integer;
   gsSDLBufferSize: Integer;
   gDefaultMegawadStart: AnsiString;
-  gBerserkAutoswitch: Boolean;
   glNPOTOverride: Boolean = false;
 
   (* Latched game settings *)
   gsMap: String;
   gsGameMode: String;
   gsTimeLimit: Word;
-  gsGoalLimit: Word;
+  gsScoreLimit: Word;
   gsMaxLives: Byte;
   gsPlayers: Byte;
   gsGameFlags: LongWord;
   gsSpawnInvul: Integer = 0;
   gsItemRespawnTime: Word = 60;
+  gsRulezRespawnTime: Word = 60;
+  gsRulezRespawnRandom: Word = 0;
   gsWarmupTime: Word = 30;
 
 implementation
@@ -112,7 +116,7 @@ begin
   gScreenHeight := 480;
   gWinSizeX := 640;
   gWinSizeY := 480;
-  //gBPP := SDL_BITSPERPIXEL(dispaly.format);
+  //gBPP := SDL_BITSPERPIXEL(display.format);
   gBPP := 32;
   {$IFDEF ANDROID}
     gFullScreen := True; (* rotation not allowed? *)
@@ -251,7 +255,6 @@ begin
   wadoptFast := False;
   e_FastScreenshots := True;
   gDefaultMegawadStart := DF_Default_Megawad_Start;
-  gBerserkAutoswitch := True;
   g_dbg_scale := 1.0;
   gSaveStats := False;
 
@@ -261,17 +264,24 @@ begin
   gsMap := '';
   gsGameMode := _lc[I_MENU_GAME_TYPE_DM];
   gsTimeLimit := 0;
-  gsGoalLimit := 0;
+  gsScoreLimit := 0;
   gsMaxLives := 0;
   gsPlayers := 1;
   gsSpawnInvul := 0;
   gsItemRespawnTime := 60;
+  gsRulezRespawnTime := 60;
+  gsRulezRespawnRandom := 0;
   gsGameFlags := GAME_OPTION_ALLOWEXIT or GAME_OPTION_DMKEYS or
-    GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER;
+    GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER or
+    GAME_OPTION_TEAMHITTRACE or GAME_OPTION_TEAMHITPROJECTILE or
+    GAME_OPTION_ALLOWDROPFLAG or GAME_OPTION_RULEZRANDOM;
   gsPlayers := 1;
 
+  if not gGameOn then
+    g_Options_ApplyGameSettings;
+
   (* section MasterServer *)
-  NetMasterList := 'mpms.doom2d.org:25665, deadsoftware.ru:25665';
+  NetMasterList := 'mpms.doom2d.org:25665, deadsoftware.ru:25665, terminalcorner.ru:25665';
   g_Net_Slist_Set(NetMasterList);
 
   (* section Server *)
@@ -305,10 +315,12 @@ begin
     if GameMode = GM_SINGLE then
       GameMode := GM_COOP;
     TimeLimit := gsTimeLimit;
-    GoalLimit := gsGoalLimit;
+    ScoreLimit := gsScoreLimit;
     MaxLives := gsMaxLives;
     SpawnInvul := gsSpawnInvul;
     ItemRespawnTime := gsItemRespawnTime;
+    RulezRespawnTime := gsRulezRespawnTime;
+    RulezRespawnRandom := gsRulezRespawnRandom;
     WarmupTime := gsWarmupTime;
     Options := gsGameFlags;
   end;
@@ -327,6 +339,7 @@ initialization
   conRegVar('r_vsync', @gVSync, '', '');
   conRegVar('r_texfilter', @gTextureFilter, '', '');
   conRegVar('r_npot', @glNPOTOverride, '', '');
+  conRegVar('r_interp', @gLerpActors, '', 'interpolate actors');
 
   (* Sound *)
   conRegVar('s_nosound', @gNoSound, '', '');