DEADSOFTWARE

experiments with fullscreen switching -- failed, but i left the commented code for...
[d2df-sdl.git] / src / game / g_options.pas
index 9009078742262d6ccedecc5b19ca7a49cedc9af4..b92d2578471871aa66962d67a503ee04a330928b 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
@@ -129,12 +129,13 @@ var
   gSFSDebug: Boolean          = False;
   gSFSFastMode: Boolean       = False;
   gDefaultMegawadStart: AnsiString = DF_Default_Megawad_Start;
+  gBerserkAutoswitch: Boolean = True;
 
 implementation
 
 uses
   e_log, e_input, g_window, g_sound, g_gfx, g_player, Math,
-  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_textures,
+  g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_texture,
   g_items, GL, GLExt, wadreader, e_graphics;
 
 procedure g_Options_SetDefault();
@@ -146,6 +147,7 @@ begin
   gMuteWhenInactive := False;
   gAnnouncer := ANNOUNCE_MEPLUS;
   gSoundEffectsDF := True;
+  gUseChatSounds := True;
   g_GFX_SetMax(2000);
   g_Gibs_SetMax(150);
   g_Corpses_SetMax(20);
@@ -250,6 +252,7 @@ begin
   end;
 
   NetUseMaster := True;
+  NetForwardPorts := False;
   g_Net_Slist_Set('mpms.doom2d.org', 25665);
 end;
 
@@ -260,11 +263,11 @@ var
   i: Integer;
 begin
   gAskLanguage := True;
-  e_WriteLog('Reading config', MSG_NOTIFY);
+  e_WriteLog('Reading config', TMsgType.Notify);
 
   if not FileExists(FileName) then
   begin
-    e_WriteLog('Config file '+FileName+' not found', MSG_WARNING);
+    e_WriteLog('Config file '+FileName+' not found', TMsgType.Warning);
     g_Options_SetDefault();
 
   // Default video options:
@@ -311,6 +314,7 @@ begin
   gMuteWhenInactive := config.ReadBool('Sound', 'MuteInactive', False);
   gAnnouncer := Min(Max(config.ReadInt('Sound', 'Announcer', ANNOUNCE_MEPLUS), ANNOUNCE_NONE), ANNOUNCE_ALL);
   gSoundEffectsDF := config.ReadBool('Sound', 'SoundEffectsDF', True);
+  gUseChatSounds := config.ReadBool('Sound', 'ChatSounds', True);
   gsSDLSampleRate := Min(Max(config.ReadInt('Sound', 'SDLSampleRate', 44100), 11025), 96000);
   gsSDLBufferSize := Min(Max(config.ReadInt('Sound', 'SDLBufferSize', 2048), 64), 16384);
 
@@ -435,7 +439,8 @@ begin
   gSFSFastMode := config.ReadBool('Game', 'SFSFastMode', False);
   wadoptFast := gSFSFastMode;
   e_FastScreenshots := config.ReadBool('Game', 'FastScreenshots', True);
-  gDefaultMegawadStart := config.ReadStr('Game', 'DefaultMegawadStart', 'megawads/DOOM2D.WAD:\MAP01');
+  gDefaultMegawadStart := config.ReadStr('Game', 'DefaultMegawadStart', DF_Default_Megawad_Start);
+  gBerserkAutoswitch := config.ReadBool('Game', 'BerserkAutoswitching', True);
 
 // Ãåéìïëåé â ñâîåé èãðå
   gcMap := config.ReadStr('GameplayCustom', 'Map', '');
@@ -506,6 +511,7 @@ begin
   NetUpdateRate := Max(0, config.ReadInt('Server', 'UpdateInterval', 0));
   NetRelupdRate := Max(0, config.ReadInt('Server', 'ReliableUpdateInterval', 18));
   NetMasterRate := Max(1, config.ReadInt('Server', 'MasterSyncInterval', 60000));
+  NetForwardPorts := config.ReadBool('Server', 'ForwardPorts', False);
 
 // Êëèåíò
   NetInterpLevel := Max(0, config.ReadInt('Client', 'InterpolationSteps', 2));
@@ -527,10 +533,7 @@ begin
 
   config.Free();
 
-  if gTextureFilter then
-    TEXTUREFILTER := GL_LINEAR
-  else
-    TEXTUREFILTER := GL_NEAREST;
+  //if gTextureFilter then TEXTUREFILTER := GL_LINEAR else TEXTUREFILTER := GL_NEAREST;
 end;
 
 procedure g_Options_Write(FileName: String);
@@ -538,7 +541,7 @@ var
   config: TConfig;
   i: Integer;
 begin
-  e_WriteLog('Writing config', MSG_NOTIFY);
+  e_WriteLog('Writing config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
 
@@ -560,6 +563,7 @@ begin
   config.WriteBool('Sound', 'MuteInactive', gMuteWhenInactive);
   config.WriteInt('Sound', 'Announcer', gAnnouncer);
   config.WriteBool('Sound', 'SoundEffectsDF', gSoundEffectsDF);
+  config.WriteBool('Sound', 'ChatSounds', gUseChatSounds);
   config.WriteInt('Sound', 'SDLSampleRate', gsSDLSampleRate);
   config.WriteInt('Sound', 'SDLBufferSize', gsSDLBufferSize);
 
@@ -673,6 +677,7 @@ begin
   config.WriteBool('Game', 'SFSFastMode', gSFSFastMode);
   config.WriteBool('Game', 'FastScreenshots', e_FastScreenshots);
   config.WriteStr('Game', 'DefaultMegawadStart', gDefaultMegawadStart);
+  config.WriteBool('Game', 'BerserkAutoswitching', gBerserkAutoswitch);
 
   config.WriteStr ('GameplayCustom', 'Map', gcMap);
   config.WriteStr ('GameplayCustom', 'GameMode', gcGameMode);
@@ -708,6 +713,7 @@ begin
   config.WriteBool('Server', 'RCON', NetAllowRCON);
   config.WriteStr ('Server', 'RCONPassword', NetRCONPassword);
   config.WriteBool('Server', 'SyncWithMaster', NetUseMaster);
+  config.WriteBool('Server', 'ForwardPorts', NetForwardPorts);
   config.WriteInt ('Server', 'UpdateInterval', NetUpdateRate);
   config.WriteInt ('Server', 'ReliableUpdateInterval', NetRelupdRate);
   config.WriteInt ('Server', 'MasterSyncInterval', NetMasterRate);
@@ -726,7 +732,7 @@ procedure g_Options_Write_Language(FileName: String);
 var
   config: TConfig;
 begin
-  e_WriteLog('Writing language config', MSG_NOTIFY);
+  e_WriteLog('Writing language config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
   config.WriteStr('Game', 'Language', gLanguage);
@@ -739,7 +745,7 @@ var
   config: TConfig;
   sW, sH: Integer;
 begin
-  e_WriteLog('Writing resolution to config', MSG_NOTIFY);
+  e_WriteLog('Writing resolution to config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
 
@@ -753,6 +759,7 @@ begin
       sW := gScreenWidth;
       sH := gScreenHeight;
     end;
+  e_LogWritefln('  (ws=%dx%d) (ss=%dx%d)', [gWinSizeX, gWinSizeY, gScreenWidth, gScreenHeight]);
 
   config.WriteInt('Video', 'ScreenWidth', sW);
   config.WriteInt('Video', 'ScreenHeight', sH);
@@ -769,7 +776,7 @@ procedure g_Options_Write_Gameplay_Custom(FileName: String);
 var
   config: TConfig;
 begin
-  e_WriteLog('Writing custom gameplay config', MSG_NOTIFY);
+  e_WriteLog('Writing custom gameplay config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
 
@@ -793,7 +800,7 @@ procedure g_Options_Write_Gameplay_Net(FileName: String);
 var
   config: TConfig;
 begin
-  e_WriteLog('Writing network gameplay config', MSG_NOTIFY);
+  e_WriteLog('Writing network gameplay config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
 
@@ -817,7 +824,7 @@ procedure g_Options_Write_Net_Server(FileName: String);
 var
   config: TConfig;
 begin
-  e_WriteLog('Writing server config', MSG_NOTIFY);
+  e_WriteLog('Writing server config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);
 
@@ -826,6 +833,7 @@ begin
   config.WriteInt ('Server', 'Port', NetPort);
   config.WriteInt ('Server', 'MaxClients', NetMaxClients);
   config.WriteBool('Server', 'SyncWithMaster', NetUseMaster);
+  config.WriteBool('Server', 'ForwardPorts', NetForwardPorts);
 
   config.SaveFile(FileName);
   config.Free();
@@ -835,7 +843,7 @@ procedure g_Options_Write_Net_Client(FileName: String);
 var
   config: TConfig;
 begin
-  e_WriteLog('Writing client config', MSG_NOTIFY);
+  e_WriteLog('Writing client config', TMsgType.Notify);
 
   config := TConfig.CreateFile(FileName);