X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_options.pas;h=1f3bd4881e0f9f7e5d4e8d5032d5c11bb6695caf;hb=4fd8798646bcb768e925ba667b0c4790e99e1e71;hp=86761de063a688abc621149e2b2adc531c906755;hpb=a5056ac53bbdf8d6060df07a91ee318ba4feccf5;p=d2df-sdl.git diff --git a/src/game/g_options.pas b/src/game/g_options.pas index 86761de..1f3bd48 100644 --- a/src/game/g_options.pas +++ b/src/game/g_options.pas @@ -61,6 +61,8 @@ type P2Control: TPlayerControl; end; +function GenPlayerName (n: Integer): String; + procedure g_Options_SetDefault(); procedure g_Options_Read(FileName: String); procedure g_Options_Write(FileName: String); @@ -137,7 +139,22 @@ uses {$INCLUDE ../nogl/noGLuses.inc} 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_texture, - g_items, wadreader, e_graphics, g_touch, SDL2; + g_items, wadreader, e_graphics, g_touch, SDL2, envvars; + + var + machine: Integer; + + function GenPlayerName (n: Integer): String; + begin + ASSERT(n >= 1); + Result := GetUserName; + if Result = '' then + Result := 'Player' + IntToStr(machine MOD 10000); + if n = 1 then + Result := Copy(Result, 1, 12) + ' ' + else + Result := Copy(Result, 1, 10) + ' ' + IntToStr(n) + end; procedure g_Options_SetDefaultVideo; var @@ -259,7 +276,7 @@ begin with gPlayer1Settings do begin - Name := 'Player1'; + Name := GenPlayerName(1); Model := STD_PLAYER_MODEL; Color.R := PLAYER1_DEF_COLOR.R; Color.G := PLAYER1_DEF_COLOR.G; @@ -304,7 +321,7 @@ begin with gPlayer2Settings do begin - Name := 'Player2'; + Name := GenPlayerName(2); Model := STD_PLAYER_MODEL; Color.R := PLAYER2_DEF_COLOR.R; Color.G := PLAYER2_DEF_COLOR.G; @@ -340,6 +357,7 @@ begin gShowMessages := True; gRevertPlayers := False; gChatBubble := 4; + gPlayerIndicator := True; gSFSDebug := False; gSFSFastMode := False; e_FastScreenshots := True; @@ -619,6 +637,7 @@ begin ReadBoolean(gShowMessages, 'Messages'); ReadBoolean(gRevertPlayers, 'RevertPlayers'); ReadInteger(gChatBubble, 'ChatBubble', 0, 4); + ReadBoolean(gPlayerIndicator, 'PlayerIndicator'); ReadBoolean(gSFSDebug, 'SFSDebug'); wadoptDebug := gSFSDebug; ReadBoolean(gSFSFastMode, 'SFSFastMode'); wadoptFast := gSFSFastMode; ReadBoolean(e_FastScreenshots, 'FastScreenshots'); @@ -857,6 +876,7 @@ begin config.WriteBool('Game', 'Messages', gShowMessages); config.WriteBool('Game', 'RevertPlayers', gRevertPlayers); config.WriteInt('Game', 'ChatBubble', gChatBubble); + config.WriteBool('Game', 'PlayerIndicator', gPlayerIndicator); config.WriteBool('Game', 'SFSDebug', gSFSDebug); config.WriteBool('Game', 'SFSFastMode', gSFSFastMode); config.WriteBool('Game', 'FastScreenshots', e_FastScreenshots); @@ -953,6 +973,9 @@ begin config.WriteBool('Video', 'Fullscreen', gFullscreen); config.WriteBool('Video', 'Maximized', gWinMaximized); + config.WriteStr('Player1', 'Name', gPlayer1Settings.Name); + config.WriteStr('Player2', 'Name', gPlayer2Settings.Name); + config.SaveFile(FileName); config.Free(); end; @@ -1039,4 +1062,6 @@ begin config.Free(); end; +initialization + machine := Random(10000) end.