diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas
index 8d385ad8448441b69806254c84f8e222d3e720bc..39da0203a5cd3b4ee9eaa5ba59a9e61086a117ea 100644 (file)
--- a/src/game/g_menu.pas
+++ b/src/game/g_menu.pas
with menu do
begin
g_Console_BindKey(g_Console_FindBind(1, 'screenshot'), '');
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;
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;
gPlayer1Settings.Color := Model.Color;
end;
with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mvP1Model')) do
begin
gPlayer1Settings.Model := Model.Name;
gPlayer1Settings.Color := Model.Color;
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,
+ 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);
TEAM_RED, TEAM_BLUE);
-
- with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP1Menu').GetControl('mvP1Model')) do
+ with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mvP2Model')) do
begin
begin
- gPlayer1Settings.Model := Model.Name;
- gPlayer1Settings.Color := Model.Color;
+ gPlayer2Settings.Model := Model.Name;
+ 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.SkipFist := TGUISwitch(menu.GetControl('swWeaponAllowFist')).ItemIndex;
end;
menu := TGUIMenu(g_GUI_GetWindow('OptionsPlayersP1WeaponMenu').GetControl('mOptionsPlayersP1WeaponMenu'));
gPlayer1Settings.WeaponSwitch := TGUISwitch(menu.GetControl('swWeaponAutoswitch')).ItemIndex;
gPlayer1Settings.SwitchToEmpty := TGUISwitch(menu.GetControl('swWeaponAllowEmpty')).ItemIndex;
gPlayer1Settings.SkipFist := TGUISwitch(menu.GetControl('swWeaponAllowFist')).ItemIndex;
-
menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP1WeaponMenu').GetControl('mOptionsPreferencesP1WeaponMenu'));
with menu do
begin
menu := TGUIMenu(g_GUI_GetWindow('OptionsPreferencesP1WeaponMenu').GetControl('mOptionsPreferencesP1WeaponMenu'));
with menu do
begin
end;
end;
end;
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);
- with TGUIModelView(g_GUI_GetWindow('OptionsPlayersP2Menu').GetControl('mvP2Model')) do
- begin
- gPlayer2Settings.Model := Model.Name;
- gPlayer2Settings.Color := Model.Color;
- 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);
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.SetColor(gPlayer2Settings.Color)
else
if gPlayer2.Team <> gPlayer2Settings.Team then
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
+ //if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer2.UID);
end;
end;
end;
end;
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;
gsScoreLimit := StrToIntDef(TGUIEdit(GetControl('edScoreLimit')).Text, 0);
gsMaxLives := StrToIntDef(TGUIEdit(GetControl('edMaxLives')).Text, 0);
gsItemRespawnTime := StrToIntDef(TGUIEdit(GetControl('edItemRespawnTime')).Text, 0);
gsScoreLimit := StrToIntDef(TGUIEdit(GetControl('edScoreLimit')).Text, 0);
gsMaxLives := StrToIntDef(TGUIEdit(GetControl('edMaxLives')).Text, 0);
gsItemRespawnTime := StrToIntDef(TGUIEdit(GetControl('edItemRespawnTime')).Text, 0);
+ gsRulezTimeMultiplier := StrToIntDef(TGUIEdit(GetControl('edRulezTimeMultiplier')).Text, 0);
gsPlayers := TGUISwitch(GetControl('swPlayers')).ItemIndex;
gsMap := Map;
gsPlayers := TGUISwitch(GetControl('swPlayers')).ItemIndex;
gsMap := Map;
gsGameFlags := gsGameFlags or GAME_OPTION_WEAPONSTAY;
if TGUISwitch(GetControl('swMonsters')).ItemIndex = 0 then
gsGameFlags := gsGameFlags or GAME_OPTION_MONSTERS;
gsGameFlags := gsGameFlags or GAME_OPTION_WEAPONSTAY;
if TGUISwitch(GetControl('swMonsters')).ItemIndex = 0 then
gsGameFlags := gsGameFlags or GAME_OPTION_MONSTERS;
+ if TGUISwitch(GetControl('swRulezRandom')).ItemIndex = 0 then
+ gsGameFlags := gsGameFlags or GAME_OPTION_RULEZRANDOM;
case TGUISwitch(GetControl('swTeamHit')).ItemIndex of
1: gsGameFlags := gsGameFlags or GAME_OPTION_TEAMHITTRACE;
case TGUISwitch(GetControl('swTeamHit')).ItemIndex of
1: gsGameFlags := gsGameFlags or GAME_OPTION_TEAMHITTRACE;
// TODO: get this crap out of here
gGameSettings.ItemRespawnTime := gsItemRespawnTime;
// TODO: get this crap out of here
gGameSettings.ItemRespawnTime := gsItemRespawnTime;
+ gGameSettings.RulezTimeMultiplier := gsRulezTimeMultiplier;
gGameSettings.WarmupTime := gsWarmupTime;
gGameSettings.SpawnInvul := gsSpawnInvul;
end;
gGameSettings.WarmupTime := gsWarmupTime;
gGameSettings.SpawnInvul := gsSpawnInvul;
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
TempResScale := Round(r_pixel_scale - 1);
with TGUISwitch(menu.GetControl('swResFactor')) do
TempResScale := Round(r_pixel_scale - 1);
with TGUISwitch(menu.GetControl('swResFactor')) do
- ItemIndex := Min(TempResScale, gRC_Width div 640 - 1);
+ ItemIndex := Max(Min(TempResScale, gRC_Width div 640 - 1), 0);
end;
procedure ProcApplyVideoOptions();
end;
procedure ProcApplyVideoOptions();
if gsItemRespawnTime > 0 then
Text := IntToStr(gsItemRespawnTime);
end;
if gsItemRespawnTime > 0 then
Text := IntToStr(gsItemRespawnTime);
end;
+ with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_MULTIPLIER]) do
+ begin
+ Name := 'edRulezTimeMultiplier';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsRulezTimeMultiplier > 0 then
+ Text := IntToStr(gsRulezTimeMultiplier);
+ end;
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
else
ItemIndex := 1;
end;
else
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_ENABLE_RULEZ_RANDOM]) do
+ begin
+ Name := 'swRulezRandom';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if LongBool(gsGameFlags and GAME_OPTION_RULEZRANDOM) then
+ ItemIndex := 1
+ else
+ ItemIndex := 0;
+ end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
Name := 'swBotsVS';
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
Name := 'swBotsVS';
if gsItemRespawnTime > 0 then
Text := IntToStr(gsItemRespawnTime);
end;
if gsItemRespawnTime > 0 then
Text := IntToStr(gsItemRespawnTime);
end;
+ with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_MULTIPLIER]) do
+ begin
+ Name := 'edRulezTimeMultiplier';
+ OnlyDigits := True;
+ Width := 4;
+ MaxLength := 5;
+ if gsRulezTimeMultiplier > 0 then
+ Text := IntToStr(gsRulezTimeMultiplier);
+ end;
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
with AddSwitch(_lc[I_MENU_PLAYERS]) do
begin
Name := 'swPlayers';
else
ItemIndex := 1;
end;
else
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_ENABLE_RULEZ_RANDOM]) do
+ begin
+ Name := 'swRulezRandom';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if LongBool(gsGameFlags and GAME_OPTION_RULEZRANDOM) then
+ ItemIndex := 0
+ else
+ ItemIndex := 1;
+ end;
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
Name := 'swBotsVS';
with AddSwitch(_lc[I_MENU_BOTS_VS]) do
begin
Name := 'swBotsVS';
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;