diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas
index c56d6e821bd6d7224387c6ae68a434b4b0b2cce9..8fe06a3f8e5d8ac952ef6ae2a80bc8cb638d844a 100644 (file)
--- a/src/game/g_menu.pas
+++ b/src/game/g_menu.pas
g_dbg_scale := TempScale + 1;
end;
g_dbg_scale := TempScale + 1;
end;
+
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsMenu').GetControl('mOptionsControlsMenu'));
with menu do
begin
g_Console_BindKey(g_Console_FindBind(1, 'screenshot'), '');
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsMenu').GetControl('mOptionsControlsMenu'));
with menu do
begin
g_Console_BindKey(g_Console_FindBind(1, 'screenshot'), '');
- g_Console_BindKey(g_Console_FindBind(1, '+p1_scores', '-p1_scores'), '');
+ g_Console_BindKey(g_Console_FindBind(1, '+scores', '-scores'), '');
g_Console_BindKey(g_Console_FindBind(1, 'togglechat'), '');
g_Console_BindKey(g_Console_FindBind(1, 'toggleteamchat'), '');
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_SCREENSHOT])).Key, 'screenshot');
g_Console_BindKey(g_Console_FindBind(1, 'togglechat'), '');
g_Console_BindKey(g_Console_FindBind(1, 'toggleteamchat'), '');
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_SCREENSHOT])).Key, 'screenshot');
- g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_STAT])).Key, '+p1_scores', '-p1_scores');
+ g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_STAT])).Key, '+scores', '-scores');
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_CHAT])).Key, 'togglechat');
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_TEAMCHAT])).Key, 'toggleteamchat');
end;
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_CHAT])).Key, 'togglechat');
g_Console_BindKey(TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_TEAMCHAT])).Key, 'toggleteamchat');
end;
g_Console_BindKey(g_Console_FindBind(1, '+p1_lookdown', '-p1_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_attack', '-p1_attack'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_jump', '-p1_jump'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_lookdown', '-p1_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_attack', '-p1_attack'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_jump', '-p1_jump'), '');
- g_Console_BindKey(g_Console_FindBind(1, '+p1_weapnext', '-p1_weapnext'), '');
- g_Console_BindKey(g_Console_FindBind(1, '+p1_weapprev', '-p1_weapprev'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_activate', '-p1_activate'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_strafe', '-p1_strafe'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_activate', '-p1_activate'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p1_strafe', '-p1_strafe'), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p1_dropflag', ''), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p1_weapnext', ''), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p1_weapprev', ''), '');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key0, '+p1_moveright', '-p1_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key0, '+p1_moveleft', '-p1_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key0, '+p1_lookup', '-p1_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0, '+p1_lookdown', '-p1_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0, '+p1_attack', '-p1_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0, '+p1_jump', '-p1_jump');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key0, '+p1_moveright', '-p1_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key0, '+p1_moveleft', '-p1_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key0, '+p1_lookup', '-p1_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0, '+p1_lookdown', '-p1_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0, '+p1_attack', '-p1_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0, '+p1_jump', '-p1_jump');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0, '+p1_weapnext', '-p1_weapnext');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0, '+p1_weapprev', '-p1_weapprev');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0, '+p1_activate', '-p1_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0, '+p1_strafe', '-p1_strafe');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0, '+p1_activate', '-p1_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0, '+p1_strafe', '-p1_strafe');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key0, 'p1_dropflag', '');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0, 'p1_weapnext', '', True);
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0, 'p1_weapprev', '', True);
// second set
g_Console_BindKey(g_Console_FindBind(2, '+p1_moveright', '-p1_moveright'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_moveleft', '-p1_moveleft'), '');
// second set
g_Console_BindKey(g_Console_FindBind(2, '+p1_moveright', '-p1_moveright'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_moveleft', '-p1_moveleft'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_lookdown', '-p1_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_attack', '-p1_attack'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_jump', '-p1_jump'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_lookdown', '-p1_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_attack', '-p1_attack'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_jump', '-p1_jump'), '');
- g_Console_BindKey(g_Console_FindBind(2, '+p1_weapnext', '-p1_weapnext'), '');
- g_Console_BindKey(g_Console_FindBind(2, '+p1_weapprev', '-p1_weapprev'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_activate', '-p1_activate'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_strafe', '-p1_strafe'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_activate', '-p1_activate'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p1_strafe', '-p1_strafe'), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p1_dropflag', ''), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p1_weapnext', ''), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p1_weapprev', ''), '');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1, '+p1_moveright', '-p1_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1, '+p1_moveleft', '-p1_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key1, '+p1_lookup', '-p1_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1, '+p1_lookdown', '-p1_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1, '+p1_attack', '-p1_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1, '+p1_jump', '-p1_jump');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1, '+p1_moveright', '-p1_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1, '+p1_moveleft', '-p1_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key1, '+p1_lookup', '-p1_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1, '+p1_lookdown', '-p1_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1, '+p1_attack', '-p1_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1, '+p1_jump', '-p1_jump');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1, '+p1_weapnext', '-p1_weapnext');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1, '+p1_weapprev', '-p1_weapprev');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1, '+p1_activate', '-p1_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1, '+p1_strafe', '-p1_strafe');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1, '+p1_activate', '-p1_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1, '+p1_strafe', '-p1_strafe');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key1, 'p1_dropflag', '');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1, 'p1_weapnext', '', True);
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1, 'p1_weapprev', '', True);
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP1MenuWeapons').GetControl('mOptionsControlsP1MenuWeapons'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP1MenuWeapons').GetControl('mOptionsControlsP1MenuWeapons'));
g_Console_BindKey(g_Console_FindBind(1, '+p2_lookdown', '-p2_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_attack', '-p2_attack'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_jump', '-p2_jump'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_lookdown', '-p2_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_attack', '-p2_attack'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_jump', '-p2_jump'), '');
- g_Console_BindKey(g_Console_FindBind(1, '+p2_weapnext', '-p2_weapnext'), '');
- g_Console_BindKey(g_Console_FindBind(1, '+p2_weapprev', '-p2_weapprev'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_activate', '-p2_activate'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_strafe', '-p2_strafe'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_activate', '-p2_activate'), '');
g_Console_BindKey(g_Console_FindBind(1, '+p2_strafe', '-p2_strafe'), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p2_dropflag', ''), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p2_weapnext', ''), '');
+ g_Console_BindKey(g_Console_FindBind(1, 'p2_weapprev', ''), '');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key0, '+p2_moveright', '-p2_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key0, '+p2_moveleft', '-p2_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key0, '+p2_lookup', '-p2_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0, '+p2_lookdown', '-p2_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0, '+p2_attack', '-p2_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0, '+p2_jump', '-p2_jump');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key0, '+p2_moveright', '-p2_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key0, '+p2_moveleft', '-p2_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key0, '+p2_lookup', '-p2_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0, '+p2_lookdown', '-p2_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0, '+p2_attack', '-p2_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0, '+p2_jump', '-p2_jump');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0, '+p2_weapnext', '-p2_weapnext');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0, '+p2_weapprev', '-p2_weapprev');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0, '+p2_activate', '-p2_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0, '+p2_strafe', '-p2_strafe');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0, '+p2_activate', '-p2_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0, '+p2_strafe', '-p2_strafe');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key0, 'p2_dropflag', '');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0, 'p2_weapnext', '', True);
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0, 'p2_weapprev', '', True);
// second set
g_Console_BindKey(g_Console_FindBind(2, '+p2_moveright', '-p2_moveright'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_moveleft', '-p2_moveleft'), '');
// second set
g_Console_BindKey(g_Console_FindBind(2, '+p2_moveright', '-p2_moveright'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_moveleft', '-p2_moveleft'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_lookdown', '-p2_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_attack', '-p2_attack'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_jump', '-p2_jump'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_lookdown', '-p2_lookdown'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_attack', '-p2_attack'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_jump', '-p2_jump'), '');
- g_Console_BindKey(g_Console_FindBind(2, '+p2_weapnext', '-p2_weapnext'), '');
- g_Console_BindKey(g_Console_FindBind(2, '+p2_weapprev', '-p2_weapprev'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_activate', '-p2_activate'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_strafe', '-p2_strafe'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_activate', '-p2_activate'), '');
g_Console_BindKey(g_Console_FindBind(2, '+p2_strafe', '-p2_strafe'), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p2_dropflag', ''), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p2_weapnext', ''), '');
+ g_Console_BindKey(g_Console_FindBind(2, 'p2_weapprev', ''), '');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1, '+p2_moveright', '-p2_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1, '+p2_moveleft', '-p2_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key1, '+p2_lookup', '-p2_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1, '+p2_lookdown', '-p2_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1, '+p2_attack', '-p2_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1, '+p2_jump', '-p2_jump');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1, '+p2_moveright', '-p2_moveright');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1, '+p2_moveleft', '-p2_moveleft');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_UP])).Key1, '+p2_lookup', '-p2_lookup');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1, '+p2_lookdown', '-p2_lookdown');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1, '+p2_attack', '-p2_attack');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1, '+p2_jump', '-p2_jump');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1, '+p2_weapnext', '-p2_weapnext');
- g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1, '+p2_weapprev', '-p2_weapprev');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1, '+p2_activate', '-p2_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1, '+p2_strafe', '-p2_strafe');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1, '+p2_activate', '-p2_activate');
g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1, '+p2_strafe', '-p2_strafe');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key1, 'p2_dropflag', '');
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1, 'p2_weapnext', '', True);
+ g_Console_BindKey(TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1, 'p2_weapprev', '', True);
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP2MenuWeapons').GetControl('mOptionsControlsP2MenuWeapons'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP2MenuWeapons').GetControl('mOptionsControlsP2MenuWeapons'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mOptionsPlayersP1Menu'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mOptionsPlayersP1Menu'));
-
gPlayer1Settings.Name := b_Text_Unformat(TGUIEdit(menu.GetControl('edP1Name')).Text);
gPlayer1Settings.Team := IfThen(TGUISwitch(menu.GetControl('swP1Team')).ItemIndex = 0,
TEAM_RED, TEAM_BLUE);
gPlayer1Settings.Name := b_Text_Unformat(TGUIEdit(menu.GetControl('edP1Name')).Text);
gPlayer1Settings.Team := IfThen(TGUISwitch(menu.GetControl('swP1Team')).ItemIndex = 0,
TEAM_RED, TEAM_BLUE);
-
with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mvP1Model')) do
begin
gPlayer1Settings.Model := Model.Name;
with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mvP1Model')) do
begin
gPlayer1Settings.Model := Model.Name;
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mOptionsPlayersP2Menu'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mOptionsPlayersP2Menu'));
-
gPlayer2Settings.Name := b_Text_Unformat(TGUIEdit(menu.GetControl('edP2Name')).Text);
gPlayer2Settings.Team := IfThen(TGUISwitch(menu.GetControl('swP2Team')).ItemIndex = 0,
TEAM_RED, TEAM_BLUE);
gPlayer2Settings.Name := b_Text_Unformat(TGUIEdit(menu.GetControl('edP2Name')).Text);
gPlayer2Settings.Team := IfThen(TGUISwitch(menu.GetControl('swP2Team')).ItemIndex = 0,
TEAM_RED, TEAM_BLUE);
gPlayer2Settings.Color := Model.Color;
end;
gPlayer2Settings.Color := Model.Color;
end;
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1WeaponMenu').GetControl('mOptionsPlayersP1WeaponMenu'));
+ gPlayer1Settings.WeaponSwitch := TGUISwitch(menu.GetControl('swWeaponAutoswitch')).ItemIndex;
+ gPlayer1Settings.SwitchToEmpty := TGUISwitch(menu.GetControl('swWeaponAllowEmpty')).ItemIndex;
+ gPlayer1Settings.SkipIronFist := TGUISwitch(menu.GetControl('swWeaponAllowIronFist')).ItemIndex;
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP1WeaponMenu').GetControl('mOptionsPreferencesP1WeaponMenu'));
+ with menu do
+ begin
+ for i := WP_FIRST to WP_LAST+1 do
+ begin
+ gPlayer1Settings.WeaponPreferences[i] := TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex;
+ end;
+ end;
+
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2WeaponMenu').GetControl('mOptionsPlayersP2WeaponMenu'));
+ gPlayer2Settings.WeaponSwitch := TGUISwitch(menu.GetControl('swWeaponAutoswitch')).ItemIndex;
+ gPlayer2Settings.SwitchToEmpty := TGUISwitch(menu.GetControl('swWeaponAllowEmpty')).ItemIndex;
+ gPlayer2Settings.SkipIronFist := TGUISwitch(menu.GetControl('swWeaponAllowIronFist')).ItemIndex;
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP2WeaponMenu').GetControl('mOptionsPreferencesP2WeaponMenu'));
+ with menu do
+ begin
+ for i := WP_FIRST to WP_LAST+1 do
+ begin
+ gPlayer2Settings.WeaponPreferences[i] := TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex;
+ end;
+ end;
+
if gPlayer1Settings.Name = '' then gPlayer1Settings.Name := GenPlayerName(1);
if gPlayer2Settings.Name = '' then gPlayer2Settings.Name := GenPlayerName(2);
if gPlayer1Settings.Name = '' then gPlayer1Settings.Name := GenPlayerName(1);
if gPlayer2Settings.Name = '' then gPlayer2Settings.Name := GenPlayerName(2);
else
if gPlayer1.Team <> gPlayer1Settings.Team then
gPlayer1.SwitchTeam;
else
if gPlayer1.Team <> gPlayer1Settings.Team then
gPlayer1.SwitchTeam;
-
+ gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
+ gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
+ gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipIronFist := gPlayer1Settings.SkipIronFist;
if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID);
end;
if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID);
end;
begin
gPlayer2.SetModel(gPlayer2Settings.Model);
gPlayer2.Name := gPlayer2Settings.Name;
begin
gPlayer2.SetModel(gPlayer2Settings.Model);
gPlayer2.Name := gPlayer2Settings.Name;
- if (gGameSettings.GameMode <> GM_TDM) and (gGameSettings.GameMode <> GM_CTF) then
+ if not (gGameSettings.GameMode in [GM_TDM, GM_CTF]) then
gPlayer2.SetColor(gPlayer2Settings.Color)
else
if gPlayer2.Team <> gPlayer2Settings.Team then
gPlayer2.SwitchTeam;
gPlayer2.SetColor(gPlayer2Settings.Color)
else
if gPlayer2.Team <> gPlayer2Settings.Team then
gPlayer2.SwitchTeam;
+ gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
+ gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
+ gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
+ gPlayer2.SkipIronFist := gPlayer2Settings.SkipIronFist;
+ //if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID);
end;
end;
end;
end;
- if g_Game_IsClient then MC_SEND_PlayerSettings;
+ if g_Game_IsClient then
+ begin
+ MC_SEND_PlayerSettings;
+ gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
+ end;
g_Console_WriteGameConfig;
end;
g_Console_WriteGameConfig;
end;
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0 := g_Console_FindBind(1, '+p1_lookdown', '-p1_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0 := g_Console_FindBind(1, '+p1_attack', '-p1_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0 := g_Console_FindBind(1, '+p1_jump', '-p1_jump');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0 := g_Console_FindBind(1, '+p1_lookdown', '-p1_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0 := g_Console_FindBind(1, '+p1_attack', '-p1_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0 := g_Console_FindBind(1, '+p1_jump', '-p1_jump');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0 := g_Console_FindBind(1, '+p1_weapnext', '-p1_weapnext');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0 := g_Console_FindBind(1, '+p1_weapprev', '-p1_weapprev');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0 := g_Console_FindBind(1, '+p1_activate', '-p1_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0 := g_Console_FindBind(1, '+p1_strafe', '-p1_strafe');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0 := g_Console_FindBind(1, '+p1_activate', '-p1_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0 := g_Console_FindBind(1, '+p1_strafe', '-p1_strafe');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key0 := g_Console_FindBind(1, 'p1_dropflag', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0 := g_Console_FindBind(1, 'p1_weapnext', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0 := g_Console_FindBind(1, 'p1_weapprev', '');
// second set
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1 := g_Console_FindBind(2, '+p1_moveright', '-p1_moveright');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1 := g_Console_FindBind(2, '+p1_moveleft', '-p1_moveleft');
// second set
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1 := g_Console_FindBind(2, '+p1_moveright', '-p1_moveright');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1 := g_Console_FindBind(2, '+p1_moveleft', '-p1_moveleft');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1 := g_Console_FindBind(2, '+p1_lookdown', '-p1_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1 := g_Console_FindBind(2, '+p1_attack', '-p1_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1 := g_Console_FindBind(2, '+p1_jump', '-p1_jump');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1 := g_Console_FindBind(2, '+p1_lookdown', '-p1_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1 := g_Console_FindBind(2, '+p1_attack', '-p1_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1 := g_Console_FindBind(2, '+p1_jump', '-p1_jump');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1 := g_Console_FindBind(2, '+p1_weapnext', '-p1_weapnext');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1 := g_Console_FindBind(2, '+p1_weapprev', '-p1_weapprev');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1 := g_Console_FindBind(2, '+p1_activate', '-p1_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1 := g_Console_FindBind(2, '+p1_strafe', '-p1_strafe');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1 := g_Console_FindBind(2, '+p1_activate', '-p1_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1 := g_Console_FindBind(2, '+p1_strafe', '-p1_strafe');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key1 := g_Console_FindBind(2, 'p1_dropflag', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1 := g_Console_FindBind(2, 'p1_weapnext', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1 := g_Console_FindBind(2, 'p1_weapprev', '');
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP1MenuWeapons').GetControl('mOptionsControlsP1MenuWeapons'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP1MenuWeapons').GetControl('mOptionsControlsP1MenuWeapons'));
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0 := g_Console_FindBind(1, '+p2_lookdown', '-p2_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0 := g_Console_FindBind(1, '+p2_attack', '-p2_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0 := g_Console_FindBind(1, '+p2_jump', '-p2_jump');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key0 := g_Console_FindBind(1, '+p2_lookdown', '-p2_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key0 := g_Console_FindBind(1, '+p2_attack', '-p2_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key0 := g_Console_FindBind(1, '+p2_jump', '-p2_jump');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0 := g_Console_FindBind(1, '+p2_weapnext', '-p2_weapnext');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0 := g_Console_FindBind(1, '+p2_weapprev', '-p2_weapprev');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0 := g_Console_FindBind(1, '+p2_activate', '-p2_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0 := g_Console_FindBind(1, '+p2_strafe', '-p2_strafe');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key0 := g_Console_FindBind(1, '+p2_activate', '-p2_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key0 := g_Console_FindBind(1, '+p2_strafe', '-p2_strafe');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key0 := g_Console_FindBind(1, 'p2_dropflag', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key0 := g_Console_FindBind(1, 'p2_weapnext', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key0 := g_Console_FindBind(1, 'p2_weapprev', '');
// second set
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1 := g_Console_FindBind(2, '+p2_moveright', '-p2_moveright');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1 := g_Console_FindBind(2, '+p2_moveleft', '-p2_moveleft');
// second set
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_RIGHT])).Key1 := g_Console_FindBind(2, '+p2_moveright', '-p2_moveright');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_LEFT])).Key1 := g_Console_FindBind(2, '+p2_moveleft', '-p2_moveleft');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1 := g_Console_FindBind(2, '+p2_lookdown', '-p2_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1 := g_Console_FindBind(2, '+p2_attack', '-p2_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1 := g_Console_FindBind(2, '+p2_jump', '-p2_jump');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DOWN])).Key1 := g_Console_FindBind(2, '+p2_lookdown', '-p2_lookdown');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_FIRE])).Key1 := g_Console_FindBind(2, '+p2_attack', '-p2_attack');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_JUMP])).Key1 := g_Console_FindBind(2, '+p2_jump', '-p2_jump');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1 := g_Console_FindBind(2, '+p2_weapnext', '-p2_weapnext');
- TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1 := g_Console_FindBind(2, '+p2_weapprev', '-p2_weapprev');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1 := g_Console_FindBind(2, '+p2_activate', '-p2_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1 := g_Console_FindBind(2, '+p2_strafe', '-p2_strafe');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_USE])).Key1 := g_Console_FindBind(2, '+p2_activate', '-p2_activate');
TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_STRAFE])).Key1 := g_Console_FindBind(2, '+p2_strafe', '-p2_strafe');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_DROPFLAG])).Key1 := g_Console_FindBind(2, 'p2_dropflag', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_NEXT_WEAPON])).Key1 := g_Console_FindBind(2, 'p2_weapnext', '');
+ TGUIKeyRead2(GetControl(_lc[I_MENU_CONTROL_PREV_WEAPON])).Key1 := g_Console_FindBind(2, 'p2_weapprev', '');
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP2MenuWeapons').GetControl('mOptionsControlsP2MenuWeapons'));
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsControlsP2MenuWeapons').GetControl('mOptionsControlsP2MenuWeapons'));
with menu do
begin
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_SCREENSHOT])).Key := g_Console_FindBind(1, 'screenshot');
with menu do
begin
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_SCREENSHOT])).Key := g_Console_FindBind(1, 'screenshot');
- TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_STAT])).Key := g_Console_FindBind(1, '+p1_scores', '-p1_scores');
+ TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_STAT])).Key := g_Console_FindBind(1, '+scores', '-scores');
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_CHAT])).Key := g_Console_FindBind(1, 'togglechat');
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_TEAMCHAT])).Key := g_Console_FindBind(1, 'toggleteamchat');
end;
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_CHAT])).Key := g_Console_FindBind(1, 'togglechat');
TGUIKeyRead(GetControl(_lc[I_MENU_CONTROL_TEAMCHAT])).Key := g_Console_FindBind(1, 'toggleteamchat');
end;
TGUIScroll(menu.GetControl('scP1Green')).Value := Round(gPlayer1Settings.Color.G/16);
TGUIScroll(menu.GetControl('scP1Blue')).Value := Round(gPlayer1Settings.Color.B/16);
TGUIScroll(menu.GetControl('scP1Green')).Value := Round(gPlayer1Settings.Color.G/16);
TGUIScroll(menu.GetControl('scP1Blue')).Value := Round(gPlayer1Settings.Color.B/16);
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1WeaponMenu').GetControl('mOptionsPlayersP1WeaponMenu'));
+ TGUISwitch(menu.GetControl('swWeaponAutoswitch')).ItemIndex := gPlayer1Settings.WeaponSwitch;
+ TGUISwitch(menu.GetControl('swWeaponAllowEmpty')).ItemIndex := gPlayer1Settings.SwitchToEmpty;
+ TGUISwitch(menu.GetControl('swWeaponAllowIronFist')).ItemIndex := gPlayer1Settings.SkipIronFist;
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP1WeaponMenu').GetControl('mOptionsPreferencesP1WeaponMenu'));
+ for i := WP_FIRST to WP_LAST+1 do
+ begin
+ if (gPlayer1Settings.WeaponPreferences[i] > 0) and (gPlayer1Settings.WeaponPreferences[i] <= WP_LAST+1) then TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex := gPlayer1Settings.WeaponPreferences[i]
+ else TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex := 0;
+ end;
+
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2WeaponMenu').GetControl('mOptionsPlayersP2WeaponMenu'));
+ TGUISwitch(menu.GetControl('swWeaponAutoswitch')).ItemIndex := gPlayer2Settings.WeaponSwitch;
+ TGUISwitch(menu.GetControl('swWeaponAllowEmpty')).ItemIndex := gPlayer2Settings.SwitchToEmpty;
+ TGUISwitch(menu.GetControl('swWeaponAllowIronFist')).ItemIndex := gPlayer2Settings.SkipIronFist;
+ menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP2WeaponMenu').GetControl('mOptionsPreferencesP2WeaponMenu'));
+ for i := WP_FIRST to WP_LAST+1 do
+ begin
+ if (gPlayer2Settings.WeaponPreferences[i] > 0) and (gPlayer2Settings.WeaponPreferences[i] <= WP_LAST+1) then TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex := gPlayer2Settings.WeaponPreferences[i]
+ else TGUISwitch(menu.GetControl(IntToStr(i))).ItemIndex := 0;
+ end;
+
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mOptionsPlayersP2Menu'));
TGUIListBox(menu.GetControl('lsP2Model')).SelectItem(gPlayer2Settings.Model);
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mOptionsPlayersP2Menu'));
TGUIListBox(menu.GetControl('lsP2Model')).SelectItem(gPlayer2Settings.Model);
Result := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
gsGameMode := TGUISwitch(GetControl('swGameMode')).GetText;
gsTimeLimit := StrToIntDef(TGUIEdit(GetControl('edTimeLimit')).Text, 0);
Result := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
gsGameMode := TGUISwitch(GetControl('swGameMode')).GetText;
gsTimeLimit := StrToIntDef(TGUIEdit(GetControl('edTimeLimit')).Text, 0);
- gsGoalLimit := StrToIntDef(TGUIEdit(GetControl('edGoalLimit')).Text, 0);
+ gsScoreLimit := StrToIntDef(TGUIEdit(GetControl('edScoreLimit')).Text, 0);
gsMaxLives := StrToIntDef(TGUIEdit(GetControl('edMaxLives')).Text, 0);
gsMaxLives := StrToIntDef(TGUIEdit(GetControl('edMaxLives')).Text, 0);
- gsItemRespawnTime := StrToIntDef(TGUIEdit(GetControl('edItemRespawnTime')).Text, 0);
gsPlayers := TGUISwitch(GetControl('swPlayers')).ItemIndex;
gsMap := Map;
gsPlayers := TGUISwitch(GetControl('swPlayers')).ItemIndex;
gsMap := Map;
- gsGameFlags := 0;
+ gsGameFlags := [];
if TGUISwitch(GetControl('swTeamDamage')).ItemIndex = 0 then
if TGUISwitch(GetControl('swTeamDamage')).ItemIndex = 0 then
- gsGameFlags := gsGameFlags or GAME_OPTION_TEAMDAMAGE;
+ gsGameFlags += [TGameOption.TEAM_DAMAGE];
+ if TGUISwitch(GetControl('swTeamAbsorbDamage')).ItemIndex = 0 then
+ gsGameFlags += [TGameOption.TEAM_ABSORB_DAMAGE];
if TGUISwitch(GetControl('swDeathmatchKeys')).ItemIndex = 0 then
if TGUISwitch(GetControl('swDeathmatchKeys')).ItemIndex = 0 then
- gsGameFlags := gsGameFlags or GAME_OPTION_DMKEYS;
+ gsGameFlags += [TGameOption.DM_KEYS];
if TGUISwitch(GetControl('swEnableExits')).ItemIndex = 0 then
if TGUISwitch(GetControl('swEnableExits')).ItemIndex = 0 then
- gsGameFlags := gsGameFlags or GAME_OPTION_ALLOWEXIT;
+ gsGameFlags += [TGameOption.ALLOW_EXIT];
if TGUISwitch(GetControl('swWeaponStay')).ItemIndex = 0 then
if TGUISwitch(GetControl('swWeaponStay')).ItemIndex = 0 then
- gsGameFlags := gsGameFlags or GAME_OPTION_WEAPONSTAY;
+ gsGameFlags += [TGameOption.WEAPONS_STAY];
if TGUISwitch(GetControl('swMonsters')).ItemIndex = 0 then
if TGUISwitch(GetControl('swMonsters')).ItemIndex = 0 then
- gsGameFlags := gsGameFlags or GAME_OPTION_MONSTERS;
+ gsGameFlags += [TGameOption.MONSTERS];
+
+ case TGUISwitch(GetControl('swTeamHit')).ItemIndex of
+ 1: gsGameFlags += [TGameOption.TEAM_HIT_TRACE];
+ 2: gsGameFlags += [TGameOption.TEAM_HIT_PROJECTILE];
+ 0: gsGameFlags += [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE];
+ end;
case TGUISwitch(GetControl('swBotsVS')).ItemIndex of
case TGUISwitch(GetControl('swBotsVS')).ItemIndex of
- 1: gsGameFlags := gsGameFlags or GAME_OPTION_BOTVSMONSTER;
- 2: gsGameFlags := gsGameFlags or GAME_OPTION_BOTVSPLAYER or GAME_OPTION_BOTVSMONSTER;
- else gsGameFlags := gsGameFlags or GAME_OPTION_BOTVSPLAYER;
+ 1: gsGameFlags += [TGameOption.BOTS_VS_MONSTERS];
+ 2: gsGameFlags += [TGameOption.BOTS_VS_PLAYERS, TGameOption.BOTS_VS_MONSTERS];
+ else gsGameFlags += [TGameOption.BOTS_VS_PLAYERS];
+ end;
+
+ case TGUISwitch(GetControl('swFlagDrop')).ItemIndex of
+ 0: gsGameFlags += [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG];
+ 1: gsGameFlags += [TGameOption.ALLOW_DROP_FLAG];
+ else gsGameFlags -= [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG];
end;
// TODO: get this crap out of here
end;
// TODO: get this crap out of here
- gGameSettings.ItemRespawnTime := gsItemRespawnTime;
gGameSettings.WarmupTime := gsWarmupTime;
gGameSettings.SpawnInvul := gsSpawnInvul;
end;
gGameSettings.WarmupTime := gsWarmupTime;
gGameSettings.SpawnInvul := gsSpawnInvul;
end;
+
+ // HACK: We keep the variables for the items in a different menu
+ with TGUIMenu(g_GUI_GetWindow('ItemsRespawnMenu').GetControl('mItemsRespawnMenu')) do
+ begin
+ gsItemRespawnTime := StrToIntDef(TGUIEdit(GetControl('edItemRespawnTime')).Text, 0);
+ gsItemRespawnRandom := StrToIntDef(TGUIEdit(GetControl('edItemRespawnRandom')).Text, 0);
+ gsPowerupRespawnTime := StrToIntDef(TGUIEdit(GetControl('edPowerupRespawnTime')).Text, 0);
+ gsPowerupRespawnRandom := StrToIntDef(TGUIEdit(GetControl('edPowerupRespawnRandom')).Text, 0);
+
+ if TGUISwitch(GetControl('swPowerupRandom')).ItemIndex = 0 then
+ gsGameFlags += [TGameOption.POWERUP_RANDOM];
+
+ case TGUISwitch(GetControl('swItemsRandom')).ItemIndex of
+ 1: gsGameFlags += [TGameOption.ITEM_LIFE_RANDOM];
+ 2: gsGameFlags += [TGameOption.ITEM_AMMO_RANDOM];
+ 3: gsGameFlags += [TGameOption.ITEM_WEAPON_RANDOM];
+ 4: gsGameFlags += [TGameOption.ITEM_LIFE_RANDOM, TGameOption.ITEM_AMMO_RANDOM];
+ 5: gsGameFlags += [TGameOption.ITEM_LIFE_RANDOM, TGameOption.ITEM_WEAPON_RANDOM];
+ 6: gsGameFlags += [TGameOption.ITEM_AMMO_RANDOM, TGameOption.ITEM_WEAPON_RANDOM];
+ 0: gsGameFlags += [TGameOption.ITEM_ALL_RANDOM];
+ end;
+
+ // TODO: get this crap out of here
+ gGameSettings.ItemRespawnTime := gsItemRespawnTime;
+ gGameSettings.ItemRespawnRandom := gsItemRespawnRandom;
+ gGameSettings.PowerupRespawnTime := gsPowerupRespawnTime;
+ gGameSettings.PowerupRespawnRandom := gsPowerupRespawnRandom;
+ end;
end;
procedure ProcStartCustomGame();
end;
procedure ProcStartCustomGame();
if GameMode = GM_NONE then Exit;
g_Console_WriteGameConfig;
if GameMode = GM_NONE then Exit;
g_Console_WriteGameConfig;
- g_Game_StartCustom(gsMap, GameMode, gsTimeLimit, gsGoalLimit,
+ g_Game_StartCustom(gsMap, GameMode, gsTimeLimit, gsScoreLimit,
gsMaxLives, gsGameFlags, gsPlayers);
end;
gsMaxLives, gsGameFlags, gsPlayers);
end;
end;
g_Console_WriteGameConfig;
end;
g_Console_WriteGameConfig;
- g_Game_StartServer(gsMap, GameMode, gsTimeLimit, gsGoalLimit, gsMaxLives,
+ g_Game_StartServer(gsMap, GameMode, gsTimeLimit, gsScoreLimit, gsMaxLives,
gsGameFlags, gsPlayers, 0, NetPort);
end;
gsGameFlags, gsPlayers, 0, NetPort);
end;
g_GUI_ShowWindow('OptionsPlayersMIMenu');
end;
g_GUI_ShowWindow('OptionsPlayersMIMenu');
end;
+procedure ProcOptionsPlayerP1WeaponMenu();
+var
+ a: string;
+begin
+ a := TGUIListBox(TGUIMenu(g_ActiveWindow.GetControl('mOptionsPlayers'+'P1'+'Menu')).GetControl('ls'+'P1'+'Model')).SelectedItem;
+ if a = '' then Exit;
+ g_GUI_ShowWindow('OptionsPlayersP1WeaponMenu');
+end;
+
+procedure ProcOptionsPlayerP1WeaponPreferencesMenu();
+begin
+ g_GUI_ShowWindow('OptionsPreferencesP1WeaponMenu');
+end;
+
+procedure ProcOptionsPlayerP2WeaponMenu();
+var
+ a: string;
+begin
+ a := TGUIListBox(TGUIMenu(g_ActiveWindow.GetControl('mOptionsPlayers'+'P2'+'Menu')).GetControl('ls'+'P2'+'Model')).SelectedItem;
+ if a = '' then Exit;
+ g_GUI_ShowWindow('OptionsPlayersP2WeaponMenu');
+end;
+
+procedure ProcOptionsPlayerP2WeaponPreferencesMenu();
+begin
+ g_GUI_ShowWindow('OptionsPreferencesP2WeaponMenu');
+end;
+
procedure ProcOptionsPlayersAnim();
var
s: String;
procedure ProcOptionsPlayersAnim();
var
s: String;
end;
end;
end;
end;
+procedure ProcItemsRespawnMenu();
+var
+ menu: TGUIMenu;
+begin
+ menu := TGUIMenu(g_GUI_GetWindow('ItemsRespawnMenu').GetControl('mItemsRespawnMenu'));
+
+ g_GUI_ShowWindow('ItemsRespawnMenu');
+end;
+
procedure ReadGameSettings();
var
menu: TGUIMenu;
procedure ReadGameSettings();
var
menu: TGUIMenu;
with gGameSettings do
begin
with TGUISwitch(menu.GetControl('swTeamDamage')) do
with gGameSettings do
begin
with TGUISwitch(menu.GetControl('swTeamDamage')) do
- if LongBool(Options and GAME_OPTION_TEAMDAMAGE) then
+ if TGameOption.TEAM_DAMAGE in Options
+ then ItemIndex := 0
+ else ItemIndex := 1;
+ with TGUISwitch(menu.GetControl('swTeamHit')) do
+ if [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE] <= Options then
ItemIndex := 0
ItemIndex := 0
+ else if TGameOption.TEAM_HIT_TRACE in Options then
+ ItemIndex := 1
+ else if TGameOption.TEAM_HIT_PROJECTILE in Options then
+ ItemIndex := 2
else
else
- ItemIndex := 1;
+ ItemIndex := 3;
with TGUISwitch(menu.GetControl('swDeathmatchKeys')) do
with TGUISwitch(menu.GetControl('swDeathmatchKeys')) do
- if LongBool(Options and GAME_OPTION_DMKEYS) then
+ if TGameOption.DM_KEYS in Options
+ then ItemIndex := 0
+ else ItemIndex := 1;
+ with TGUISwitch(menu.GetControl('swFlagDrop')) do
+ if [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG] <= Options then
ItemIndex := 0
ItemIndex := 0
+ else if TGameOption.ALLOW_DROP_FLAG in Options then
+ ItemIndex := 1
else
else
- ItemIndex := 1;
+ ItemIndex := 2;
TGUIEdit(menu.GetControl('edTimeLimit')).Text := IntToStr(TimeLimit);
TGUIEdit(menu.GetControl('edTimeLimit')).Text := IntToStr(TimeLimit);
- TGUIEdit(menu.GetControl('edGoalLimit')).Text := IntToStr(GoalLimit);
+ TGUIEdit(menu.GetControl('edScoreLimit')).Text := IntToStr(ScoreLimit);
TGUIEdit(menu.GetControl('edMaxLives')).Text := IntToStr(MaxLives);
with TGUISwitch(menu.GetControl('swBotsVS')) do
TGUIEdit(menu.GetControl('edMaxLives')).Text := IntToStr(MaxLives);
with TGUISwitch(menu.GetControl('swBotsVS')) do
- if LongBool(Options and GAME_OPTION_BOTVSPLAYER) and
- LongBool(Options and GAME_OPTION_BOTVSMONSTER) then
+ if [TGameOption.BOTS_VS_PLAYERS, TGameOption.BOTS_VS_MONSTERS] <= Options then
ItemIndex := 2
ItemIndex := 2
+ else if TGameOption.BOTS_VS_MONSTERS in Options then
+ ItemIndex := 1
else
else
- if LongBool(Options and GAME_OPTION_BOTVSMONSTER) then
- ItemIndex := 1
- else
- ItemIndex := 0;
+ ItemIndex := 0;
if GameType in [GT_CUSTOM, GT_SERVER] then
if GameType in [GT_CUSTOM, GT_SERVER] then
+ begin
+ TGUISwitch(menu.GetControl('swTeamDamage')).Enabled := True;
+ TGUISwitch(menu.GetControl('swTeamHit')).Enabled := True;
+ if (GameMode in [GM_DM, GM_TDM, GM_CTF]) then
begin
begin
- TGUISwitch(menu.GetControl('swTeamDamage')).Enabled := True;
- if (GameMode in [GM_DM, GM_TDM, GM_CTF]) then
- begin
- TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := True;
- TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_ITEMSTEXT_COLOR;
- end
- else
- begin
- TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := False;
- TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_UNACTIVEITEMS_COLOR;
- end;
- TGUIEdit(menu.GetControl('edTimeLimit')).Enabled := True;
- TGUILabel(menu.GetControlsText('edTimeLimit')).Color := MENU_ITEMSTEXT_COLOR;
- TGUIEdit(menu.GetControl('edGoalLimit')).Enabled := True;
- TGUILabel(menu.GetControlsText('edGoalLimit')).Color := MENU_ITEMSTEXT_COLOR;
- TGUIEdit(menu.GetControl('edMaxLives')).Enabled := True;
- TGUILabel(menu.GetControlsText('edMaxLives')).Color := MENU_ITEMSTEXT_COLOR;
- TGUISwitch(menu.GetControl('swBotsVS')).Enabled := True;
+ TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := True;
+ TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_ITEMSTEXT_COLOR;
end
end
- else
+ else
begin
begin
- TGUISwitch(menu.GetControl('swTeamDamage')).Enabled := True;
TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := False;
TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_UNACTIVEITEMS_COLOR;
TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := False;
TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_UNACTIVEITEMS_COLOR;
- with TGUIEdit(menu.GetControl('edTimeLimit')) do
- begin
- Enabled := False;
- Text := '';
- end;
- TGUILabel(menu.GetControlsText('edTimeLimit')).Color := MENU_UNACTIVEITEMS_COLOR;
- with TGUIEdit(menu.GetControl('edGoalLimit')) do
- begin
- Enabled := False;
- Text := '';
- end;
- TGUILabel(menu.GetControlsText('edGoalLimit')).Color := MENU_UNACTIVEITEMS_COLOR;
- with TGUIEdit(menu.GetControl('edMaxLives')) do
- begin
- Enabled := False;
- Text := '';
- end;
- TGUILabel(menu.GetControlsText('edMaxLives')).Color := MENU_UNACTIVEITEMS_COLOR;
- TGUISwitch(menu.GetControl('swBotsVS')).Enabled := True;
end;
end;
+ TGUIEdit(menu.GetControl('edTimeLimit')).Enabled := True;
+ TGUILabel(menu.GetControlsText('edTimeLimit')).Color := MENU_ITEMSTEXT_COLOR;
+ TGUIEdit(menu.GetControl('edScoreLimit')).Enabled := True;
+ TGUILabel(menu.GetControlsText('edScoreLimit')).Color := MENU_ITEMSTEXT_COLOR;
+ TGUIEdit(menu.GetControl('edMaxLives')).Enabled := True;
+ TGUILabel(menu.GetControlsText('edMaxLives')).Color := MENU_ITEMSTEXT_COLOR;
+ TGUISwitch(menu.GetControl('swBotsVS')).Enabled := True;
+ TGUISwitch(menu.GetControl('swFlagDrop')).Enabled := True;
+ end
+ else
+ begin
+ TGUISwitch(menu.GetControl('swTeamDamage')).Enabled := True;
+ TGUISwitch(menu.GetControl('swTeamHit')).Enabled := True;
+ TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled := False;
+ TGUILabel(menu.GetControlsText('swDeathmatchKeys')).Color := MENU_UNACTIVEITEMS_COLOR;
+ with TGUIEdit(menu.GetControl('edTimeLimit')) do
+ begin
+ Enabled := False;
+ Text := '';
+ end;
+ TGUILabel(menu.GetControlsText('edTimeLimit')).Color := MENU_UNACTIVEITEMS_COLOR;
+ with TGUIEdit(menu.GetControl('edScoreLimit')) do
+ begin
+ Enabled := False;
+ Text := '';
+ end;
+ TGUILabel(menu.GetControlsText('edScoreLimit')).Color := MENU_UNACTIVEITEMS_COLOR;
+ with TGUIEdit(menu.GetControl('edMaxLives')) do
+ begin
+ Enabled := False;
+ Text := '';
+ end;
+ TGUILabel(menu.GetControlsText('edMaxLives')).Color := MENU_UNACTIVEITEMS_COLOR;
+ TGUISwitch(menu.GetControl('swBotsVS')).Enabled := True;
+ TGUISwitch(menu.GetControl('swFlagDrop')).Enabled := False;
+ end;
end;
end;
end;
end;
begin
if TGUISwitch(menu.GetControl('swTeamDamage')).Enabled then
begin
begin
if TGUISwitch(menu.GetControl('swTeamDamage')).Enabled then
begin
- if TGUISwitch(menu.GetControl('swTeamDamage')).ItemIndex = 0 then
- Options := Options or GAME_OPTION_TEAMDAMAGE
- else
- Options := Options and (not GAME_OPTION_TEAMDAMAGE);
+ if TGUISwitch(menu.GetControl('swTeamDamage')).ItemIndex = 0
+ then Options += [TGameOption.TEAM_DAMAGE]
+ else Options -= [TGameOption.TEAM_DAMAGE];
+ end;
+
+ if TGUISwitch(menu.GetControl('swTeamHit')).Enabled then
+ begin
+ Options -= [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE];
+ case TGUISwitch(menu.GetControl('swTeamHit')).ItemIndex of
+ 1: Options += [TGameOption.TEAM_HIT_TRACE];
+ 2: Options += [TGameOption.TEAM_HIT_PROJECTILE];
+ 0: Options += [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE];
+ end;
end;
if TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled then
begin
end;
if TGUISwitch(menu.GetControl('swDeathmatchKeys')).Enabled then
begin
- if TGUISwitch(menu.GetControl('swDeathmatchKeys')).ItemIndex = 0 then
- Options := Options or GAME_OPTION_DMKEYS
- else
- Options := Options and (not GAME_OPTION_DMKEYS);
+ if TGUISwitch(menu.GetControl('swDeathmatchKeys')).ItemIndex = 0
+ then Options += [TGameOption.DM_KEYS]
+ else Options -= [TGameOption.DM_KEYS];
end;
if TGUIEdit(menu.GetControl('edTimeLimit')).Enabled then
end;
if TGUIEdit(menu.GetControl('edTimeLimit')).Enabled then
end;
end;
end;
end;
- if TGUIEdit(menu.GetControl('edGoalLimit')).Enabled then
+ if TGUIEdit(menu.GetControl('edScoreLimit')).Enabled then
begin
begin
- n := StrToIntDef(TGUIEdit(menu.GetControl('edGoalLimit')).Text, GoalLimit);
+ n := StrToIntDef(TGUIEdit(menu.GetControl('edScoreLimit')).Text, ScoreLimit);
if n = 0 then
if n = 0 then
- GoalLimit := 0
+ ScoreLimit := 0
else
begin
b := 0;
else
begin
b := 0;
b := stat[a].Frags;
end
else // CTF
b := stat[a].Frags;
end
else // CTF
- b := Max(gTeamStat[TEAM_RED].Goals, gTeamStat[TEAM_BLUE].Goals);
+ b := Max(gTeamStat[TEAM_RED].Score, gTeamStat[TEAM_BLUE].Score);
- GoalLimit := Max(n, b);
+ ScoreLimit := Max(n, b);
end;
end;
if TGUIEdit(menu.GetControl('edMaxLives')).Enabled then
begin
end;
end;
if TGUIEdit(menu.GetControl('edMaxLives')).Enabled then
begin
- n := StrToIntDef(TGUIEdit(menu.GetControl('edMaxLives')).Text, GoalLimit);
+ n := StrToIntDef(TGUIEdit(menu.GetControl('edMaxLives')).Text, MaxLives);
if n < 0 then n := 0;
if n > 255 then n := 255;
if n = 0 then
if n < 0 then n := 0;
if n > 255 then n := 255;
if n = 0 then
if TGUISwitch(menu.GetControl('swBotsVS')).Enabled then
begin
case TGUISwitch(menu.GetControl('swBotsVS')).ItemIndex of
if TGUISwitch(menu.GetControl('swBotsVS')).Enabled then
begin
case TGUISwitch(menu.GetControl('swBotsVS')).ItemIndex of
- 1:
- begin
- Options := Options and (not GAME_OPTION_BOTVSPLAYER);
- Options := Options or GAME_OPTION_BOTVSMONSTER;
- end;
- 2:
- begin
- Options := Options or GAME_OPTION_BOTVSPLAYER;
- Options := Options or GAME_OPTION_BOTVSMONSTER;
- end;
+ 1: begin
+ Options -= [TGameOption.BOTS_VS_PLAYERS];
+ Options += [TGameOption.BOTS_VS_MONSTERS];
+ end;
+
+ 2: Options += [TGameOption.BOTS_VS_PLAYERS, TGameOption.BOTS_VS_MONSTERS];
+
else
else
- begin
- Options := Options or GAME_OPTION_BOTVSPLAYER;
- Options := Options and (not GAME_OPTION_BOTVSMONSTER);
- end;
+ Options -= [TGameOption.BOTS_VS_MONSTERS];
+ Options += [TGameOption.BOTS_VS_PLAYERS];
+ end;
+ end;
+
+ if TGUISwitch(menu.GetControl('swFlagDrop')).Enabled then
+ begin
+ case TGUISwitch(menu.GetControl('swFlagDrop')).ItemIndex of
+ 0: Options += [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG];
+ 1: Options += [TGameOption.ALLOW_DROP_FLAG];
+ else Options -= [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG];
end;
end;
// don't forget to latch this shit
gsGameFlags := Options;
gsMaxLives := MaxLives;
end;
end;
// don't forget to latch this shit
gsGameFlags := Options;
gsMaxLives := MaxLives;
- gsGoalLimit := GoalLimit;
+ gsScoreLimit := ScoreLimit;
gsTimeLimit := TimeLimit;
end;
gsTimeLimit := TimeLimit;
end;
if list <> nil then
begin
Items := list;
if list <> nil then
begin
Items := list;
- ItemIndex := Length(list)
+ ItemIndex := -1; (* nothing selected *)
end
else
begin
end
else
begin
ItemIndex := 1;
TempResScale := Round(r_pixel_scale - 1);
ItemIndex := 1;
TempResScale := Round(r_pixel_scale - 1);
- TGUIScroll(menu.GetControl('scResFactor')).Value := TempResScale;
+ with TGUISwitch(menu.GetControl('swResFactor')) do
+ ItemIndex := Max(Min(TempResScale, gRC_Width div 640 - 1), 0);
end;
procedure ProcApplyVideoOptions();
end;
procedure ProcApplyVideoOptions();
begin
SWidth := gWinSizeX;
SHeight := gWinSizeY;
begin
SWidth := gWinSizeX;
SHeight := gWinSizeY;
+ TempResScale := Min(TempResScale, SWidth div 640 - 1);
end;
Fullscreen := TGUISwitch(menu.GetControl('swFullScreen')).ItemIndex = 0;
ScaleChanged := False;
end;
Fullscreen := TGUISwitch(menu.GetControl('swFullScreen')).ItemIndex = 0;
ScaleChanged := False;
- if TGUIScroll(menu.GetControl('scResFactor')).Value <> TempResScale then
+ if TGUISwitch(menu.GetControl('swResFactor')).ItemIndex <> TempResScale then
begin
begin
- TempResScale := TGUIScroll(menu.GetControl('scResFactor')).Value;
+ TempResScale := Min(TGUISwitch(menu.GetControl('swResFactor')).ItemIndex, SWidth div 640 - 1);
r_pixel_scale := TempResScale + 1;
ScaleChanged := True;
end;
r_pixel_scale := TempResScale + 1;
ScaleChanged := True;
end;
AddButton(@ProcOptionsPlayersAnim, _lc[I_MENU_MODEL_ANIMATION]);
AddButton(@ProcOptionsPlayersWeap, _lc[I_MENU_MODEL_CHANGE_WEAPON]);
AddButton(@ProcOptionsPlayersRot, _lc[I_MENU_MODEL_ROTATE]);
AddButton(@ProcOptionsPlayersAnim, _lc[I_MENU_MODEL_ANIMATION]);
AddButton(@ProcOptionsPlayersWeap, _lc[I_MENU_MODEL_CHANGE_WEAPON]);
AddButton(@ProcOptionsPlayersRot, _lc[I_MENU_MODEL_ROTATE]);
-
+ if s = 'P1' then AddButton(@ProcOptionsPlayerP1WeaponMenu, _lc[I_MENU_WEAPON])
+ else AddButton(@ProcOptionsPlayerP2WeaponMenu, _lc[I_MENU_WEAPON]);
with TGUIModelView(Menu.AddChild(TGUIModelView.Create)) do
begin
Name := 'mv'+s+'Model';
with TGUIModelView(Menu.AddChild(TGUIModelView.Create)) do
begin
Name := 'mv'+s+'Model';
Name := 'mmNewGameMenu';
AddButton(@ProcSingle1Player, _lc[I_MENU_1_PLAYER]);
AddButton(@ProcSingle2Players, _lc[I_MENU_2_PLAYERS]);
Name := 'mmNewGameMenu';
AddButton(@ProcSingle1Player, _lc[I_MENU_1_PLAYER]);
AddButton(@ProcSingle2Players, _lc[I_MENU_2_PLAYERS]);
- AddButton(nil, _lc[I_MENU_CUSTOM_GAME], 'CustomGameMenu');
AddButton(@ProcSelectCampaignMenu, _lc[I_MENU_CAMPAIGN], 'CampaignMenu');
AddButton(@ProcSelectCampaignMenu, _lc[I_MENU_CAMPAIGN], 'CampaignMenu');
+ AddButton(nil, _lc[I_MENU_CUSTOM_GAME], 'CustomGameMenu');
end;
Menu.DefControl := 'mmNewGameMenu';
g_GUI_AddWindow(Menu);
end;
Menu.DefControl := 'mmNewGameMenu';
g_GUI_AddWindow(Menu);
if gsTimeLimit > 0 then
Text := IntToStr(gsTimeLimit);
end;
if gsTimeLimit > 0 then
Text := IntToStr(gsTimeLimit);
end;
- with AddEdit(_lc[I_MENU_GOAL_LIMIT]) do
+ with AddEdit(_lc[I_MENU_SCORE_LIMIT]) do
begin
begin
- Name := 'edGoalLimit';
+ Name := 'edScoreLimit';
OnlyDigits := True;
Width := 4;
MaxLength := 5;
OnlyDigits := True;
Width := 4;
MaxLength := 5;
- if gsGoalLimit > 0 then
- Text := IntToStr(gsGoalLimit);
+ if gsScoreLimit > 0 then
+ Text := IntToStr(gsScoreLimit);
end;
with AddEdit(_lc[I_MENU_MAX_LIVES]) do
begin
end;
with AddEdit(_lc[I_MENU_MAX_LIVES]) do
begin
if gsMaxLives > 0 then
Text := IntToStr(gsMaxLives);
end;
if gsMaxLives > 0 then
Text := IntToStr(gsMaxLives);
end;
- with AddEdit(_lc[I_MENU_ITEM_RESPAWN_TIME]) do
+ with AddLabel(_lc[I_MENU_SELECT_ITEM_RESPAWN]) do
begin
begin
- Name := 'edItemRespawnTime';
- OnlyDigits := True;
- Width := 4;
- MaxLength := 5;
- if gsItemRespawnTime > 0 then
- Text := IntToStr(gsItemRespawnTime);
+ Name := 'lbItemsRespawn';
+ FixedLength := 16;
+ OnClick := @ProcItemsRespawnMenu;
end;
end;
+ AddSpace();
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
Name := 'swTeamDamage';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
Name := 'swTeamDamage';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_TEAMDAMAGE) then
+ if TGameOption.TEAM_DAMAGE in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
+ end;
+ with AddSwitch(_lc[I_MENU_TEAM_HIT]) do
+ begin
+ Name := 'swTeamHit';
+ AddItem(_lc[I_MENU_TEAM_HIT_BOTH]);
+ AddItem(_lc[I_MENU_TEAM_HIT_TRACE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_PROJECTILE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_NOTHING]);
+ if [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE] <= gsGameFlags then
ItemIndex := 0
ItemIndex := 0
+ else if TGameOption.TEAM_HIT_TRACE in gsGameFlags then
+ ItemIndex := 1
+ else if TGameOption.TEAM_HIT_PROJECTILE in gsGameFlags then
+ ItemIndex := 2
else
else
- ItemIndex := 1;
+ ItemIndex := 3;
+ end;
+ with AddSwitch(_lc[I_MENU_ENABLE_TEAM_DAMAGE_ABSOBR]) do
+ begin
+ Name := 'swTeamAbsorbDamage';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if TGameOption.TEAM_ABSORB_DAMAGE in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_DMKEYS) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.DM_KEYS in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_ALLOWEXIT) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.ALLOW_EXIT in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_WEAPONS_STAY]) do
begin
Name := 'swWeaponStay';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_WEAPONS_STAY]) do
begin
Name := 'swWeaponStay';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_WEAPONSTAY) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.WEAPONS_STAY in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_ENABLE_MONSTERS]) do
begin
Name := 'swMonsters';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_ENABLE_MONSTERS]) do
begin
Name := 'swMonsters';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_MONSTERS) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.MONSTERS in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
AddItem(_lc[I_MENU_BOTS_VS_MONSTERS]);
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
AddItem(_lc[I_MENU_BOTS_VS_MONSTERS]);
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
- if not LongBool(gsGameFlags and GAME_OPTION_BOTVSMONSTER) then
+ if not (TGameOption.BOTS_VS_MONSTERS in gsGameFlags) then
ItemIndex := 0;
ItemIndex := 0;
- if not LongBool(gsGameFlags and GAME_OPTION_BOTVSPLAYER) then
+ if not (TGameOption.BOTS_VS_PLAYERS in gsGameFlags) then
ItemIndex := 1;
end;
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_FLAG_DROP]) do
+ begin
+ Name := 'swFlagDrop';
+ AddItem(_lc[I_MENU_FLAG_THROW]);
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG] <= gsGameFlags then
+ ItemIndex := 0
+ else if TGameOption.ALLOW_DROP_FLAG in gsGameFlags then
+ ItemIndex := 1
+ else
+ ItemIndex := 2;
+ end;
AddSpace();
AddButton(@ProcStartNetGame, _lc[I_MENU_START_GAME]);
AddSpace();
AddButton(@ProcStartNetGame, _lc[I_MENU_START_GAME]);
with AddEdit(_lc[I_NET_ADDRESS]) do
begin
Name := 'edIP';
with AddEdit(_lc[I_NET_ADDRESS]) do
begin
Name := 'edIP';
- OnlyDigits :=False;
+ OnlyDigits := False;
Width := 12;
MaxLength := 64;
Text := 'localhost';
Width := 12;
MaxLength := 64;
Text := 'localhost';
if gsTimeLimit > 0 then
Text := IntToStr(gsTimeLimit);
end;
if gsTimeLimit > 0 then
Text := IntToStr(gsTimeLimit);
end;
- with AddEdit(_lc[I_MENU_GOAL_LIMIT]) do
+ with AddEdit(_lc[I_MENU_SCORE_LIMIT]) do
begin
begin
- Name := 'edGoalLimit';
+ Name := 'edScoreLimit';
OnlyDigits := True;
Width := 4;
MaxLength := 5;
OnlyDigits := True;
Width := 4;
MaxLength := 5;
- if gsGoalLimit > 0 then
- Text := IntToStr(gsGoalLimit);
+ if gsScoreLimit > 0 then
+ Text := IntToStr(gsScoreLimit);
end;
with AddEdit(_lc[I_MENU_MAX_LIVES]) do
begin
end;
with AddEdit(_lc[I_MENU_MAX_LIVES]) do
begin
if gsMaxLives > 0 then
Text := IntToStr(gsMaxLives);
end;
if gsMaxLives > 0 then
Text := IntToStr(gsMaxLives);
end;
- with AddEdit(_lc[I_MENU_ITEM_RESPAWN_TIME]) do
+ with AddLabel(_lc[I_MENU_SELECT_ITEM_RESPAWN]) do
begin
begin
- Name := 'edItemRespawnTime';
- OnlyDigits := True;
- Width := 4;
- MaxLength := 5;
- if gsItemRespawnTime > 0 then
- Text := IntToStr(gsItemRespawnTime);
+ Name := 'lbItemsRespawn';
+ FixedLength := 16;
+ OnClick := @ProcItemsRespawnMenu;
end;
end;
+ AddSpace();
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
Name := 'swTeamDamage';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
Name := 'swTeamDamage';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_TEAMDAMAGE) then
+ if TGameOption.TEAM_DAMAGE in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
+ end;
+ with AddSwitch(_lc[I_MENU_TEAM_HIT]) do
+ begin
+ Name := 'swTeamHit';
+ AddItem(_lc[I_MENU_TEAM_HIT_BOTH]);
+ AddItem(_lc[I_MENU_TEAM_HIT_TRACE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_PROJECTILE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_NOTHING]);
+ if [TGameOption.TEAM_HIT_TRACE, TGameOption.TEAM_HIT_PROJECTILE] <= gsGameFlags then
ItemIndex := 0
ItemIndex := 0
+ else if TGameOption.TEAM_HIT_TRACE in gsGameFlags then
+ ItemIndex := 1
+ else if TGameOption.TEAM_HIT_PROJECTILE in gsGameFlags then
+ ItemIndex := 2
else
else
- ItemIndex := 1;
+ ItemIndex := 3;
+ end;
+ with AddSwitch(_lc[I_MENU_ENABLE_TEAM_DAMAGE_ABSOBR]) do
+ begin
+ Name := 'swTeamAbsorbDamage';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if TGameOption.TEAM_ABSORB_DAMAGE in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_DMKEYS) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.DM_KEYS in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_ALLOWEXIT) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.ALLOW_EXIT in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_WEAPONS_STAY]) do
begin
Name := 'swWeaponStay';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_WEAPONS_STAY]) do
begin
Name := 'swWeaponStay';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_WEAPONSTAY) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.WEAPONS_STAY in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_ENABLE_MONSTERS]) do
begin
Name := 'swMonsters';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
with AddSwitch(_lc[I_MENU_ENABLE_MONSTERS]) do
begin
Name := 'swMonsters';
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
- if LongBool(gsGameFlags and GAME_OPTION_MONSTERS) then
- ItemIndex := 0
- else
- ItemIndex := 1;
+ if TGameOption.MONSTERS in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
AddItem(_lc[I_MENU_BOTS_VS_MONSTERS]);
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
AddItem(_lc[I_MENU_BOTS_VS_MONSTERS]);
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
- if not LongBool(gsGameFlags and GAME_OPTION_BOTVSMONSTER) then
+ if not (TGameOption.BOTS_VS_MONSTERS in gsGameFlags) then
ItemIndex := 0;
ItemIndex := 0;
- if not LongBool(gsGameFlags and GAME_OPTION_BOTVSPLAYER) then
+ if not (TGameOption.BOTS_VS_PLAYERS in gsGameFlags) then
ItemIndex := 1;
end;
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_FLAG_DROP]) do
+ begin
+ Name := 'swFlagDrop';
+ AddItem(_lc[I_MENU_FLAG_THROW]);
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if [TGameOption.ALLOW_DROP_FLAG, TGameOption.THROW_FLAG] <= gsGameFlags then
+ ItemIndex := 0
+ else if TGameOption.ALLOW_DROP_FLAG in gsGameFlags then
+ ItemIndex := 1
+ else
+ ItemIndex := 2;
+ end;
AddSpace();
AddButton(@ProcStartCustomGame, _lc[I_MENU_START_GAME]);
AddSpace();
AddButton(@ProcStartCustomGame, _lc[I_MENU_START_GAME]);
FixedLength := 10;
Enabled := False;
end;
FixedLength := 10;
Enabled := False;
end;
- with AddMemo(_lc[I_MENU_MAP_DESCRIPTION], 12, 4) do
+ with AddMemo(_lc[I_MENU_MAP_DESCRIPTION], 20, 4) do
begin
Name := 'meMapDescription';
end;
begin
Name := 'meMapDescription';
end;
Menu.DefControl := 'mSelectMapMenu';
g_GUI_AddWindow(Menu);
Menu.DefControl := 'mSelectMapMenu';
g_GUI_AddWindow(Menu);
+ Menu := TGUIWindow.Create('ItemsRespawnMenu');
+ with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_ITEM_RESPAWN]))) do
+ begin
+ Name := 'mItemsRespawnMenu';
+
+ // Switches separate from the time entry fields
+ with AddSwitch(_lc[I_MENU_ENABLE_POWERUP_RANDOM]) do
+ begin
+ Name := 'swPowerupRandom';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if TGameOption.POWERUP_RANDOM in gsGameFlags
+ then ItemIndex := 0
+ else ItemIndex := 1;
+ end;
+ with AddSwitch(_lc[I_MENU_ENABLE_ITEM_RANDOM]) do
+ begin
+ Name := 'swItemsRandom';
+ AddItem(_lc[I_MENU_ITEM_RANDOM_ALL]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_LIFE_ONLY]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_AMMO_ONLY]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_WEAPON_ONLY]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_LIFE_AMMO]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_LIFE_WEAPON]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_WEAPON_AMMO]);
+ AddItem(_lc[I_MENU_ITEM_RANDOM_NOTHING]);
+ if TGameOption.ITEM_ALL_RANDOM in gsGameFlags then
+ ItemIndex := 0
+ else if TGameOption.ITEM_LIFE_RANDOM in gsGameFlags then
+ ItemIndex := 1
+ else if TGameOption.ITEM_AMMO_RANDOM in gsGameFlags then
+ ItemIndex := 2
+ else if TGameOption.ITEM_WEAPON_RANDOM in gsGameFlags then
+ ItemIndex := 3
+ else if [TGameOption.ITEM_LIFE_RANDOM, TGameOption.ITEM_AMMO_RANDOM] <= gsGameFlags then
+ ItemIndex := 4
+ else if [TGameOption.ITEM_LIFE_RANDOM, TGameOption.ITEM_WEAPON_RANDOM] <= gsGameFlags then
+ ItemIndex := 5
+ else if [TGameOption.ITEM_AMMO_RANDOM, TGameOption.ITEM_WEAPON_RANDOM] <= gsGameFlags then
+ ItemIndex := 6
+ else
+ ItemIndex := 7;
+ end;
+ AddSpace();// Items Respawn block
+ with AddEdit(_lc[I_MENU_ITEM_RESPAWN_TIME]) do
+ begin
+ Name := 'edItemRespawnTime';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsItemRespawnTime > 0 then
+ Text := IntToStr(gsItemRespawnTime);
+ end;
+ with AddEdit(_lc[I_MENU_ITEM_RESPAWN_RANDOM]) do
+ begin
+ Name := 'edItemRespawnRandom';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsItemRespawnTime > 0 then
+ Text := IntToStr(gsItemRespawnRandom);
+ end;
+ // Powerup Respawn block
+ with AddEdit(_lc[I_MENU_POWERUP_RESPAWN_TIME]) do
+ begin
+ Name := 'edPowerupRespawnTime';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsPowerupRespawnTime > 0 then
+ Text := IntToStr(gsPowerupRespawnTime);
+ end;
+ with AddEdit(_lc[I_MENU_POWERUP_RESPAWN_RANDOM]) do
+ begin
+ Name := 'edPowerupRespawnRandom';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsPowerupRespawnRandom > 0 then
+ Text := IntToStr(gsPowerupRespawnRandom);
+ end;
+ AddSpace();
+ end;
+ Menu.DefControl := 'mItemsRespawnMenu';
+ g_GUI_AddWindow(Menu);
+
Menu := TGUIWindow.Create('OptionsMenu');
with TGUIMainMenu(Menu.AddChild(TGUIMainMenu.Create(gMenuFont, '', _lc[I_MENU_OPTIONS]))) do
begin
Menu := TGUIWindow.Create('OptionsMenu');
with TGUIMainMenu(Menu.AddChild(TGUIMainMenu.Create(gMenuFont, '', _lc[I_MENU_OPTIONS]))) do
begin
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
- with AddScroll(_lc[I_MENU_GAME_SCALE_FACTOR]) do
+ with AddSwitch(_lc[I_MENU_GAME_SCALE_FACTOR]) do
begin
begin
- Name := 'scResFactor';
- Max := 10;
+ Name := 'swResFactor';
+ AddItem('1x');
+ for i := 2 to gRC_Width div 640 do
+ AddItem(IntToStr(i) + 'x');
end;
AddSpace();
AddButton(@ProcApplyVideoOptions, _lc[I_MENU_RESOLUTION_APPLY]);
end;
AddSpace();
AddButton(@ProcApplyVideoOptions, _lc[I_MENU_RESOLUTION_APPLY]);
AddKeyRead2(_lc[I_MENU_CONTROL_NEXT_WEAPON]).Name := _lc[I_MENU_CONTROL_NEXT_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_PREV_WEAPON]).Name := _lc[I_MENU_CONTROL_PREV_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_STRAFE]).Name := _lc[I_MENU_CONTROL_STRAFE];
AddKeyRead2(_lc[I_MENU_CONTROL_NEXT_WEAPON]).Name := _lc[I_MENU_CONTROL_NEXT_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_PREV_WEAPON]).Name := _lc[I_MENU_CONTROL_PREV_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_STRAFE]).Name := _lc[I_MENU_CONTROL_STRAFE];
+ AddKeyRead2(_lc[I_MENU_CONTROL_DROPFLAG]).Name := _lc[I_MENU_CONTROL_DROPFLAG];
end;
Menu.DefControl := 'mOptionsControlsP1Menu';
g_GUI_AddWindow(Menu);
end;
Menu.DefControl := 'mOptionsControlsP1Menu';
g_GUI_AddWindow(Menu);
AddKeyRead2(_lc[I_MENU_CONTROL_NEXT_WEAPON]).Name := _lc[I_MENU_CONTROL_NEXT_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_PREV_WEAPON]).Name := _lc[I_MENU_CONTROL_PREV_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_STRAFE]).Name := _lc[I_MENU_CONTROL_STRAFE];
AddKeyRead2(_lc[I_MENU_CONTROL_NEXT_WEAPON]).Name := _lc[I_MENU_CONTROL_NEXT_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_PREV_WEAPON]).Name := _lc[I_MENU_CONTROL_PREV_WEAPON];
AddKeyRead2(_lc[I_MENU_CONTROL_STRAFE]).Name := _lc[I_MENU_CONTROL_STRAFE];
+ AddKeyRead2(_lc[I_MENU_CONTROL_DROPFLAG]).Name := _lc[I_MENU_CONTROL_DROPFLAG];
end;
Menu.DefControl := 'mOptionsControlsP2Menu';
g_GUI_AddWindow(Menu);
end;
Menu.DefControl := 'mOptionsControlsP2Menu';
g_GUI_AddWindow(Menu);
Menu.DefControl := 'mOptionsPlayersMIMenu';
g_GUI_AddWindow(Menu);
Menu.DefControl := 'mOptionsPlayersMIMenu';
g_GUI_AddWindow(Menu);
+ Menu := TGUIWindow.Create('OptionsPlayersP1WeaponMenu');
+ with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_WEAPON]))) do
+ begin
+ Name := 'mOptionsPlayersP1WeaponMenu';
+ with AddSwitch(_lc[I_MENU_WEAPON_SWITCH]) do
+ begin
+ Name := 'swWeaponAutoswitch';
+ AddItem(_lc[I_MENU_NO]);
+ AddItem(_lc[I_MENU_WEAPON_SWITCH_LINEAR]);
+ AddItem(_lc[I_MENU_WEAPON_SWITCH_PREFERENCE]);
+ end;
+ with AddSwitch(_lc[I_MENU_WEAPON_ALLOW_EMPTY]) do
+ begin
+ Name := 'swWeaponAllowEmpty';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ end;
+ with AddSwitch(_lc[I_MENU_IRONFIST_ALLOW]) do
+ begin
+ Name := 'swWeaponAllowIronFist';
+ AddItem(_lc[I_MENU_IRONFIST_ALLOW_ALWAYS]);
+ AddItem(_lc[I_MENU_IRONFIST_ALLOW_BERSERK]);
+ end;
+ AddButton(@ProcOptionsPlayerP1WeaponPreferencesMenu, _lc[I_MENU_WEAPON_SWITCH_PRIORITY]);
+ ReAlign();
+ end;
+ Menu.DefControl := 'mOptionsPlayersP1WeaponMenu';
+ g_GUI_AddWindow(Menu);
+
+ Menu := TGUIWindow.Create('OptionsPreferencesP1WeaponMenu');
+ with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_WEAPON_PRIORITY_PLAYER_1]))) do
+ begin
+ Name := 'mOptionsPreferencesP1WeaponMenu';
+ for i := WP_FIRST to WP_LAST do
+ begin
+ with AddSwitch(_lc[TStrings_Locale(Cardinal(I_GAME_WEAPON0) + i)]) do
+ begin
+ Name := IntToStr(i);
+ for a := WP_FIRST to WP_LAST+1 do
+ begin
+ AddItem(IntToStr(a));
+ end;
+ ItemIndex := i
+ end;
+ end;
+ with AddSwitch(_lc[I_GAME_WEAPON_BERSERK]) do
+ begin
+ Name := IntToStr(WP_LAST+1);
+ for a := WP_FIRST to WP_LAST+1 do
+ begin
+ AddItem(IntToStr(a));
+ end;
+ ItemIndex := WP_LAST + 1;
+ end;
+ end;
+ Menu.DefControl := 'mOptionsPreferencesP1WeaponMenu';
+ g_GUI_AddWindow(Menu);
+
+
+ Menu := TGUIWindow.Create('OptionsPlayersP2WeaponMenu');
+ with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_WEAPON]))) do
+ begin
+ Name := 'mOptionsPlayersP2WeaponMenu';
+ with AddSwitch(_lc[I_MENU_WEAPON_SWITCH]) do
+ begin
+ Name := 'swWeaponAutoswitch';
+ AddItem(_lc[I_MENU_NO]);
+ AddItem(_lc[I_MENU_WEAPON_SWITCH_LINEAR]);
+ AddItem(_lc[I_MENU_WEAPON_SWITCH_PREFERENCE]);
+ end;
+ with AddSwitch(_lc[I_MENU_WEAPON_ALLOW_EMPTY]) do
+ begin
+ Name := 'swWeaponAllowEmpty';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ end;
+ with AddSwitch(_lc[I_MENU_IRONFIST_ALLOW]) do
+ begin
+ Name := 'swWeaponAllowIronFist';
+ AddItem(_lc[I_MENU_IRONFIST_ALLOW_ALWAYS]);
+ AddItem(_lc[I_MENU_IRONFIST_ALLOW_BERSERK]);
+ end;
+ AddButton(@ProcOptionsPlayerP2WeaponPreferencesMenu, _lc[I_MENU_WEAPON_SWITCH_PRIORITY]);
+ ReAlign();
+ end;
+ Menu.DefControl := 'mOptionsPlayersP2WeaponMenu';
+ g_GUI_AddWindow(Menu);
+
+ Menu := TGUIWindow.Create('OptionsPreferencesP2WeaponMenu');
+ with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_WEAPON_PRIORITY_PLAYER_2]))) do
+ begin
+ Name := 'mOptionsPreferencesP2WeaponMenu';
+ for i := WP_FIRST to WP_LAST do
+ begin
+ with AddSwitch(_lc[TStrings_Locale(Cardinal(I_GAME_WEAPON0) + i)]) do
+ begin
+ Name := IntToStr(i);
+ for a := WP_FIRST to WP_LAST+1 do
+ begin
+ AddItem(IntToStr(a));
+ end;
+ ItemIndex := i
+ end;
+ end;
+ with AddSwitch(_lc[I_GAME_WEAPON_BERSERK]) do
+ begin
+ Name := IntToStr(WP_LAST+1);
+ for a := WP_FIRST to WP_LAST+1 do
+ begin
+ AddItem(IntToStr(a));
+ end;
+ ItemIndex := WP_LAST + 1;
+ end;
+ end;
+ Menu.DefControl := 'mOptionsPreferencesP2WeaponMenu';
+ g_GUI_AddWindow(Menu);
+
Menu := TGUIWindow.Create('OptionsLanguageMenu');
with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_LANGUAGE_OPTIONS]))) do
begin
Menu := TGUIWindow.Create('OptionsLanguageMenu');
with TGUIMenu(Menu.AddChild(TGUIMenu.Create(gMenuFont, gMenuSmallFont, _lc[I_MENU_LANGUAGE_OPTIONS]))) do
begin
AddItem(_lc[I_MENU_NO]);
ItemIndex := 1;
end;
AddItem(_lc[I_MENU_NO]);
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_TEAM_HIT]) do
+ begin
+ Name := 'swTeamHit';
+ AddItem(_lc[I_MENU_TEAM_HIT_BOTH]);
+ AddItem(_lc[I_MENU_TEAM_HIT_TRACE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_PROJECTILE]);
+ AddItem(_lc[I_MENU_TEAM_HIT_NOTHING]);
+ ItemIndex := 0
+ end;
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do
begin
Name := 'swDeathmatchKeys';
Width := 4;
MaxLength := 5;
end;
Width := 4;
MaxLength := 5;
end;
- with AddEdit(_lc[I_MENU_GOAL_LIMIT]) do
+ with AddEdit(_lc[I_MENU_SCORE_LIMIT]) do
begin
begin
- Name := 'edGoalLimit';
+ Name := 'edScoreLimit';
OnlyDigits := True;
Width := 4;
MaxLength := 5;
OnlyDigits := True;
Width := 4;
MaxLength := 5;
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
end;
AddItem(_lc[I_MENU_BOTS_VS_ALL]);
ItemIndex := 2;
end;
+ with AddSwitch(_lc[I_MENU_FLAG_DROP]) do
+ begin
+ Name := 'swFlagDrop';
+ AddItem(_lc[I_MENU_FLAG_THROW]);
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ ItemIndex := 2;
+ end;
ReAlign();
end;
ReAlign();
end;