X-Git-Url: https://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_options.pas;h=79da12ec4439c1e57f490e504481e15ce2bf730a;hp=853c612964cda47af0fe40d2d824ec27216a77dc;hb=HEAD;hpb=546a929a401a64c32fda3380c3fe71306fd54eb1 diff --git a/src/game/g_options.pas b/src/game/g_options.pas index 853c612..79da12e 100644 --- a/src/game/g_options.pas +++ b/src/game/g_options.pas @@ -18,7 +18,7 @@ unit g_options; interface uses - g_language, g_weapons, utils; + g_language, g_game, g_weapons, utils; function GenPlayerName (n: Integer): String; @@ -62,19 +62,21 @@ 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; + gsGameFlags: TGameOptions; gsSpawnInvul: Integer = 0; gsItemRespawnTime: Word = 60; + gsItemRespawnRandom: Word = 0; + gsPowerupRespawnTime: Word = 60; + gsPowerupRespawnRandom: Word = 0; gsWarmupTime: Word = 30; implementation @@ -85,7 +87,7 @@ uses SDL2, {$ENDIF} e_log, e_input, g_console, g_window, g_sound, g_gfx, g_player, Math, - g_map, g_net, g_netmaster, SysUtils, CONFIG, g_game, g_main, e_texture, + g_map, g_net, g_netmaster, SysUtils, CONFIG, g_main, e_texture, g_items, wadreader, e_graphics, g_touch, envvars, g_system; var @@ -98,7 +100,7 @@ uses if Result = '' then Result := 'Player' + IntToStr(machine MOD 10000); if n = 1 then - Result := Copy(Result, 1, 12) + ' ' + Result := Copy(Result, 1, 12) else Result := Copy(Result, 1, 10) + ' ' + IntToStr(n) end; @@ -115,7 +117,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? *) @@ -254,7 +256,6 @@ begin wadoptFast := False; e_FastScreenshots := True; gDefaultMegawadStart := DF_Default_Megawad_Start; - gBerserkAutoswitch := True; g_dbg_scale := 1.0; gSaveStats := False; @@ -264,22 +265,24 @@ begin gsMap := ''; gsGameMode := _lc[I_MENU_GAME_TYPE_DM]; gsTimeLimit := 0; - gsGoalLimit := 0; + gsScoreLimit := 0; gsMaxLives := 0; gsPlayers := 1; gsSpawnInvul := 0; gsItemRespawnTime := 60; - gsGameFlags := GAME_OPTION_ALLOWEXIT or GAME_OPTION_DMKEYS or - GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER or - GAME_OPTION_TEAMHITTRACE or GAME_OPTION_TEAMHITPROJECTILE or - GAME_OPTION_ALLOWDROPFLAG; + gsItemRespawnRandom := 0; + gsPowerupRespawnTime := 60; + gsPowerupRespawnRandom := 0; + gsGameFlags := [TGameOption.ALLOW_EXIT, TGameOption.DM_KEYS, TGameOption.BOTS_VS_PLAYERS, + TGameOption.BOTS_VS_MONSTERS, TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE, + TGameOption.ALLOW_DROP_FLAG]; 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 *) @@ -313,10 +316,13 @@ begin if GameMode = GM_SINGLE then GameMode := GM_COOP; TimeLimit := gsTimeLimit; - GoalLimit := gsGoalLimit; + ScoreLimit := gsScoreLimit; MaxLives := gsMaxLives; SpawnInvul := gsSpawnInvul; ItemRespawnTime := gsItemRespawnTime; + ItemRespawnRandom := gsItemRespawnRandom; + PowerupRespawnTime := gsPowerupRespawnTime; + PowerupRespawnRandom := gsPowerupRespawnRandom; WarmupTime := gsWarmupTime; Options := gsGameFlags; end;