X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_options.pas;h=02889313813d3d9cbbba34e7db62f47efa24e6ac;hb=6f5375e6179294fde838bcf61f0dafeb4e018ee7;hp=481eb70c9491c354976b8aa2475aecaf573bb308;hpb=c2809bc43b3c99586d523e90b00272280a9cd69b;p=d2df-sdl.git diff --git a/src/game/g_options.pas b/src/game/g_options.pas index 481eb70..0288931 100644 --- a/src/game/g_options.pas +++ b/src/game/g_options.pas @@ -60,6 +60,8 @@ var gRevertPlayers: Boolean; gLanguage: String; gAskLanguage: Boolean; + gSaveStats: Boolean = False; + gScreenshotStats: Boolean = False; gcMap: String; gcGameMode: String; gcTimeLimit: Word; @@ -71,6 +73,9 @@ var gcWeaponStay: Boolean; gcMonsters: Boolean; gcBotsVS: String; + gcDeathmatchKeys: Boolean = True; + gcRespawnItems: Boolean = True; + gcSpawnInvul: Integer = 0; gnMap: String; gnGameMode: String; gnTimeLimit: Word; @@ -82,6 +87,9 @@ var gnWeaponStay: Boolean; gnMonsters: Boolean; gnBotsVS: String; + gnDeathmatchKeys: Boolean = True; + gnRespawnItems: Boolean = True; + gnSpawnInvul: Integer = 0; gsSDLSampleRate: Integer; gsSDLBufferSize: Integer; gDefaultMegawadStart: AnsiString; @@ -171,6 +179,10 @@ begin gVSync := True; gTextureFilter := True; glLegacyNPOT := False; + gRC_Width := gScreenWidth; + gRC_Height := gScreenHeight; + gRC_FullScreen := gFullScreen; + gRC_Maximized := gWinMaximized; e_LogWriteLn('g_Options_SetDefaultVideo: w = ' + IntToStr(gScreenWidth) + ' h = ' + IntToStr(gScreenHeight)); g_Console_ResetBinds; end; @@ -185,6 +197,10 @@ begin gVSync := True; gTextureFilter := True; glLegacyNPOT := False; + gRC_Width := gScreenWidth; + gRC_Height := gScreenHeight; + gRC_FullScreen := gFullScreen; + gRC_Maximized := gWinMaximized; e_LogWriteLn('g_Options_SetDefaultVideo: w = ' + IntToStr(gScreenWidth) + ' h = ' + IntToStr(gScreenHeight)); g_Console_ResetBinds; end; @@ -256,6 +272,7 @@ begin gDefaultMegawadStart := DF_Default_Megawad_Start; gBerserkAutoswitch := True; g_dbg_scale := 1.0; + gSaveStats := False; gAskLanguage := True; gLanguage := LANGUAGE_ENGLISH; @@ -272,6 +289,9 @@ begin gcWeaponStay := False; gcMonsters := False; gcBotsVS := 'Everybody'; + gcDeathmatchKeys := True; + gcRespawnItems := True; + gcSpawnInvul := 0; (* section GameplayNetwork *) gnMap := ''; @@ -285,6 +305,9 @@ begin gnWeaponStay := False; gnMonsters := False; gnBotsVS := 'Everybody'; + gnDeathmatchKeys := True; + gnRespawnItems := True; + gnSpawnInvul := 0; (* section MasterServer *) NetSlistIP := 'mpms.doom2d.org'; @@ -399,6 +422,9 @@ begin ReadBoolean(gcWeaponStay, 'WeaponStay'); ReadBoolean(gcMonsters, 'Monsters'); ReadString(gcBotsVS, 'BotsVS'); + ReadBoolean(gcDeathmatchKeys, 'DeathmatchKeys'); + ReadBoolean(gcRespawnItems, 'RespawnItems'); + ReadInteger(gcSpawnInvul, 'SpawnInvul'); with gGameSettings do begin @@ -426,6 +452,10 @@ begin Options := Options or GAME_OPTION_BOTVSPLAYER; if gcBotsVS = 'Monsters' then Options := Options or GAME_OPTION_BOTVSMONSTER; + if gcDeathmatchKeys then + Options := Options or GAME_OPTION_DMKEYS; + if gcRespawnItems then + Options := Options or GAME_OPTION_RESPAWNITEMS; end; section := 'GameplayNetwork'; @@ -440,6 +470,9 @@ begin ReadBoolean(gnWeaponStay, 'WeaponStay'); ReadBoolean(gnMonsters, 'Monsters'); ReadString(gnBotsVS, 'BotsVS'); + ReadBoolean(gnDeathmatchKeys, 'DeathmatchKeys'); + ReadBoolean(gnRespawnItems, 'RespawnItems'); + ReadInteger(gnSpawnInvul, 'SpawnInvul'); section := 'MasterServer'; ReadString(NetSlistIP, 'IP'); @@ -510,6 +543,9 @@ begin config.WriteBool('GameplayCustom', 'WeaponStay', gcWeaponStay); config.WriteBool('GameplayCustom', 'Monsters', gcMonsters); config.WriteStr ('GameplayCustom', 'BotsVS', gcBotsVS); + config.WriteBool('GameplayCustom', 'DeathmatchKeys', gcDeathmatchKeys); + config.WriteBool('GameplayCustom', 'RespawnItems', gcRespawnItems); + config.WriteInt ('GameplayCustom', 'SpawnInvul', gcSpawnInvul); config.WriteStr ('GameplayNetwork', 'Map', gnMap); config.WriteStr ('GameplayNetwork', 'GameMode', gnGameMode); @@ -522,6 +558,9 @@ begin config.WriteBool('GameplayNetwork', 'WeaponStay', gnWeaponStay); config.WriteBool('GameplayNetwork', 'Monsters', gnMonsters); config.WriteStr ('GameplayNetwork', 'BotsVS', gnBotsVS); + config.WriteBool('GameplayNetwork', 'DeathmatchKeys', gnDeathmatchKeys); + config.WriteBool('GameplayNetwork', 'RespawnItems', gnRespawnItems); + config.WriteInt ('GameplayNetwork', 'SpawnInvul', gnSpawnInvul); config.WriteStr('MasterServer', 'IP', NetSlistIP); config.WriteInt('MasterServer', 'Port', NetSlistPort); @@ -568,6 +607,9 @@ begin config.WriteBool('GameplayCustom', 'WeaponStay', gcWeaponStay); config.WriteBool('GameplayCustom', 'Monsters', gcMonsters); config.WriteStr ('GameplayCustom', 'BotsVS', gcBotsVS); + config.WriteBool('GameplayCustom', 'DeathmatchKeys', gcDeathmatchKeys); + config.WriteBool('GameplayCustom', 'RespawnItems', gcRespawnItems); + config.WriteInt ('GameplayCustom', 'SpawnInvul', gcSpawnInvul); config.SaveFile(FileName); config.Free(); @@ -592,6 +634,9 @@ begin config.WriteBool('GameplayNetwork', 'WeaponStay', gnWeaponStay); config.WriteBool('GameplayNetwork', 'Monsters', gnMonsters); config.WriteStr ('GameplayNetwork', 'BotsVS', gnBotsVS); + config.WriteBool('GameplayNetwork', 'DeathmatchKeys', gnDeathmatchKeys); + config.WriteBool('GameplayNetwork', 'RespawnItems', gnRespawnItems); + config.WriteInt ('GameplayNetwork', 'SpawnInvul', gnSpawnInvul); config.SaveFile(FileName); config.Free(); @@ -642,7 +687,7 @@ begin gRC_Width := Max(1, gRC_Width); gRC_Height := Max(1, gRC_Height); gBPP := Max(1, gBPP); - if sys_SetDisplayMode(gRC_Width, gRC_Height, gBPP, gRC_FullScreen) = True then + if sys_SetDisplayMode(gRC_Width, gRC_Height, gBPP, gRC_FullScreen, gRC_Maximized) = True then e_LogWriteln('resolution changed') else e_LogWriteln('resolution not changed') @@ -796,5 +841,6 @@ initialization conRegVar('sfs_fastmode', @wadoptFast, '', ''); conRegVar('g_fast_screenshots', @e_FastScreenshots, '', ''); conRegVar('g_default_megawad', @gDefaultMegawadStart, '', ''); - + conRegVar('g_save_stats', @gSaveStats, '', ''); + conRegVar('g_screenshot_stats', @gScreenshotStats, '', ''); end.