diff --git a/src/game/g_options.pas b/src/game/g_options.pas
index c70af6d73b516d5de6c97bcee57749185afaf4f3..5caaf40f9520fe1659381f53515e480b10f11934 100644 (file)
--- a/src/game/g_options.pas
+++ b/src/game/g_options.pas
+(* 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *)
{$MODE DELPHI}
unit g_options;
KeyNextWeapon: Word;
KeyPrevWeapon: Word;
KeyOpen: Word;
+ KeyStrafe: Word;
+ KeyWeapon: array [0..9] of Word;
+
+ KeyRight2: Word;
+ KeyLeft2: Word;
+ KeyUp2: Word;
+ KeyDown2: Word;
+ KeyFire2: Word;
+ KeyJump2: Word;
+ KeyNextWeapon2: Word;
+ KeyPrevWeapon2: Word;
+ KeyOpen2: Word;
+ KeyStrafe2: Word;
+ KeyWeapon2: array [0..9] of Word;
end;
TGameControls = record
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_items, GL, GLExt, wadreader;
+ g_items, GL, GLExt, wadreader, e_graphics;
procedure g_Options_SetDefault();
var
KeyNextWeapon := 73;
KeyPrevWeapon := 71;
KeyOpen := 54;
+ KeyStrafe := 0;
+ for i := 0 to High(KeyWeapon) do
+ KeyWeapon[i] := 0;
+
+ KeyRight2 := 0;
+ KeyLeft2 := 0;
+ KeyUp2 := 0;
+ KeyDown2 := 0;
+ KeyFire2 := 0;
+ KeyJump2 := 0;
+ KeyNextWeapon2 := 0;
+ KeyPrevWeapon2 := 0;
+ KeyOpen2 := 0;
+ KeyStrafe2 := 0;
+ for i := 0 to High(KeyWeapon2) do
+ KeyWeapon2[i] := 0;
end;
with gGameControls.P2Control do
KeyNextWeapon := 19;
KeyPrevWeapon := 17;
KeyOpen := 58;
+ KeyStrafe := 0;
+ for i := 0 to High(KeyWeapon) do
+ KeyWeapon[i] := 0;
+
+ KeyRight2 := 0;
+ KeyLeft2 := 0;
+ KeyUp2 := 0;
+ KeyDown2 := 0;
+ KeyFire2 := 0;
+ KeyJump2 := 0;
+ KeyNextWeapon2 := 0;
+ KeyPrevWeapon2 := 0;
+ KeyOpen2 := 0;
+ KeyStrafe2 := 0;
+ for i := 0 to High(KeyWeapon2) do
+ KeyWeapon2[i] := 0;
end;
with gPlayer1Settings do
KeyNextWeapon := ReadInt('Player1', 'KeyNextWeapon', 19);
KeyPrevWeapon := ReadInt('Player1', 'KeyPrevWeapon', 17);
KeyOpen := ReadInt('Player1', 'KeyOpen', 58);
+ KeyStrafe := ReadInt('Player1', 'KeyStrafe', 0);
+ for i := 0 to High(KeyWeapon) do
+ KeyWeapon[i] := ReadInt('Player1', 'KeyWeapon' + IntToStr(i), 0);
+
+ KeyRight2 := ReadInt('Player1', 'KeyRight2', 0);
+ KeyLeft2 := ReadInt('Player1', 'KeyLeft2', 0);
+ KeyUp2 := ReadInt('Player1', 'KeyUp2', 0);
+ KeyDown2 := ReadInt('Player1', 'KeyDown2', 0);
+ KeyFire2 := ReadInt('Player1', 'KeyFire2', 0);
+ KeyJump2 := ReadInt('Player1', 'KeyJump2', 0);
+ KeyNextWeapon2 := ReadInt('Player1', 'KeyNextWeapon2', 0);
+ KeyPrevWeapon2 := ReadInt('Player1', 'KeyPrevWeapon2', 0);
+ KeyOpen2 := ReadInt('Player1', 'KeyOpen2', 0);
+ KeyStrafe2 := ReadInt('Player1', 'KeyStrafe2', 0);
+ for i := 0 to High(KeyWeapon2) do
+ KeyWeapon2[i] := ReadInt('Player1', 'KeyWeapon2' + IntToStr(i), 0);
end;
with gPlayer1Settings, config do
KeyNextWeapon := ReadInt('Player2', 'KeyNextWeapon', 73);
KeyPrevWeapon := ReadInt('Player2', 'KeyPrevWeapon', 71);
KeyOpen := ReadInt('Player2', 'KeyOpen', 54);
+ KeyStrafe := ReadInt('Player2', 'KeyStrafe', 0);
+ for i := 0 to High(KeyWeapon) do
+ KeyWeapon[i] := ReadInt('Player2', 'KeyWeapon' + IntToStr(i), 0);
+
+ KeyRight2 := ReadInt('Player2', 'KeyRight2', 0);
+ KeyLeft2 := ReadInt('Player2', 'KeyLeft2', 0);
+ KeyUp2 := ReadInt('Player2', 'KeyUp2', 0);
+ KeyDown2 := ReadInt('Player2', 'KeyDown2', 0);
+ KeyFire2 := ReadInt('Player2', 'KeyFire2', 0);
+ KeyJump2 := ReadInt('Player2', 'KeyJump2', 0);
+ KeyNextWeapon2 := ReadInt('Player2', 'KeyNextWeapon2', 0);
+ KeyPrevWeapon2 := ReadInt('Player2', 'KeyPrevWeapon2', 0);
+ KeyOpen2 := ReadInt('Player2', 'KeyOpen2', 0);
+ KeyStrafe2 := ReadInt('Player2', 'KeyStrafe2', 0);
+ for i := 0 to High(KeyWeapon2) do
+ KeyWeapon2[i] := ReadInt('Player2', 'KeyWeapon2' + IntToStr(i), 0);
end;
with gPlayer2Settings, config do
wadoptDebug := gSFSDebug;
gSFSFastMode := config.ReadBool('Game', 'SFSFastMode', False);
wadoptFast := gSFSFastMode;
+ e_FastScreenshots := config.ReadBool('Game', 'FastScreenshots', True);
// Ãåéìïëåé â ñâîåé èãðå
gcMap := config.ReadStr('GameplayCustom', 'Map', '');
WriteInt('Player1', 'KeyNextWeapon', KeyNextWeapon);
WriteInt('Player1', 'KeyPrevWeapon', KeyPrevWeapon);
WriteInt('Player1', 'KeyOpen', KeyOpen);
+ WriteInt('Player1', 'KeyStrafe', KeyStrafe);
+ for i := 0 to High(KeyWeapon) do
+ WriteInt('Player1', 'KeyWeapon' + IntToStr(i), KeyWeapon[i]);
+
+ WriteInt('Player1', 'KeyRight2', KeyRight2);
+ WriteInt('Player1', 'KeyLeft2', KeyLeft2);
+ WriteInt('Player1', 'KeyUp2', KeyUp2);
+ WriteInt('Player1', 'KeyDown2', KeyDown2);
+ WriteInt('Player1', 'KeyFire2', KeyFire2);
+ WriteInt('Player1', 'KeyJump2', KeyJump2);
+ WriteInt('Player1', 'KeyNextWeapon2', KeyNextWeapon2);
+ WriteInt('Player1', 'KeyPrevWeapon2', KeyPrevWeapon2);
+ WriteInt('Player1', 'KeyOpen2', KeyOpen2);
+ WriteInt('Player1', 'KeyStrafe2', KeyStrafe2);
+ for i := 0 to High(KeyWeapon2) do
+ WriteInt('Player1', 'KeyWeapon2' + IntToStr(i), KeyWeapon2[i]);
WriteStr('Player1', 'Name', Name);
WriteStr('Player1', 'model', Model);
WriteInt('Player2', 'KeyNextWeapon', KeyNextWeapon);
WriteInt('Player2', 'KeyPrevWeapon', KeyPrevWeapon);
WriteInt('Player2', 'KeyOpen', KeyOpen);
+ WriteInt('Player2', 'KeyStrafe', KeyStrafe);
+ for i := 0 to High(KeyWeapon) do
+ WriteInt('Player2', 'KeyWeapon' + IntToStr(i), KeyWeapon[i]);
+
+ WriteInt('Player2', 'KeyRight2', KeyRight2);
+ WriteInt('Player2', 'KeyLeft2', KeyLeft2);
+ WriteInt('Player2', 'KeyUp2', KeyUp2);
+ WriteInt('Player2', 'KeyDown2', KeyDown2);
+ WriteInt('Player2', 'KeyFire2', KeyFire2);
+ WriteInt('Player2', 'KeyJump2', KeyJump2);
+ WriteInt('Player2', 'KeyNextWeapon2', KeyNextWeapon2);
+ WriteInt('Player2', 'KeyPrevWeapon2', KeyPrevWeapon2);
+ WriteInt('Player2', 'KeyOpen2', KeyOpen2);
+ WriteInt('Player2', 'KeyStrafe2', KeyStrafe2);
+ for i := 0 to High(KeyWeapon2) do
+ WriteInt('Player2', 'KeyWeapon2' + IntToStr(i), KeyWeapon2[i]);
WriteStr('Player2', 'Name', Name);
WriteStr('Player2', 'model', Model);
config.WriteInt('Game', 'ChatBubble', gChatBubble);
config.WriteBool('Game', 'SFSDebug', gSFSDebug);
config.WriteBool('Game', 'SFSFastMode', gSFSFastMode);
+ config.WriteBool('Game', 'FastScreenshots', e_FastScreenshots);
config.WriteStr ('GameplayCustom', 'Map', gcMap);
config.WriteStr ('GameplayCustom', 'GameMode', gcGameMode);