diff --git a/src/game/g_options.pas b/src/game/g_options.pas
index fd68a7af5a2bf4996b5036de065ef597bedff1fc..a2624391c73f16f38161db5094764afa8e7a8d40 100644 (file)
--- a/src/game/g_options.pas
+++ b/src/game/g_options.pas
* 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}
+{$INCLUDE g_amodes.inc}
unit g_options;
interface
uses
- g_language;
+ g_language, g_weapons;
type
TPlayerControl = record
KeyNextWeapon: Word;
KeyPrevWeapon: Word;
KeyOpen: Word;
+ KeyStrafe: Word;
+ KeyWeapon: array [WP_FIRST..WP_LAST] of Word;
+
+ KeyRight2: Word;
+ KeyLeft2: Word;
+ KeyUp2: Word;
+ KeyDown2: Word;
+ KeyFire2: Word;
+ KeyJump2: Word;
+ KeyNextWeapon2: Word;
+ KeyPrevWeapon2: Word;
+ KeyOpen2: Word;
+ KeyStrafe2: Word;
+ KeyWeapon2: array [WP_FIRST..WP_LAST] of Word;
end;
TGameControls = record
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
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);