diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas
index cdf0f13604090c4ba58716ec568d6cdbc43c660d..8331660c6107c21c00137101818cc3ce0aa28a37 100644 (file)
--- a/src/game/g_menu.pas
+++ b/src/game/g_menu.pas
gcMaxLives := StrToIntDef(TGUIEdit(GetControl('edMaxLives')).Text, 0);
gcTeamDamage := TGUISwitch(GetControl('swTeamDamage')).ItemIndex = 0;
+ gcRespawnItems := TGUISwitch(GetControl('swRespawnItems')).ItemIndex = 0;
gcAllowExit := TGUISwitch(GetControl('swEnableExits')).ItemIndex = 0;
gcWeaponStay := TGUISwitch(GetControl('swWeaponStay')).ItemIndex = 0;
gcMonsters := TGUISwitch(GetControl('swMonsters')).ItemIndex = 0;
Options := 0;
if gcTeamDamage then
Options := Options or GAME_OPTION_TEAMDAMAGE;
+ if gcRespawnItems then
+ Options := Options or GAME_OPTION_RESPAWNITEMS;
if gcAllowExit then
Options := Options or GAME_OPTION_ALLOWEXIT;
if gcWeaponStay then
NetPort := StrToIntDef(TGUIEdit(GetControl('edPort')).Text, 0);
gnTeamDamage := TGUISwitch(GetControl('swTeamDamage')).ItemIndex = 0;
+ gnRespawnItems := TGUISwitch(GetControl('swRespawnItems')).ItemIndex = 0;
gnAllowExit := TGUISwitch(GetControl('swEnableExits')).ItemIndex = 0;
gnWeaponStay := TGUISwitch(GetControl('swWeaponStay')).ItemIndex = 0;
gnMonsters := TGUISwitch(GetControl('swMonsters')).ItemIndex = 0;
Options := 0;
if gnTeamDamage then
Options := Options or GAME_OPTION_TEAMDAMAGE;
+ if gnRespawnItems then
+ Options := Options or GAME_OPTION_RESPAWNITEMS;
if gnAllowExit then
Options := Options or GAME_OPTION_ALLOWEXIT;
if gnWeaponStay then
procedure ProcSinglePlayer (n: Integer);
var wad, map: AnsiString;
begin
+ assert(n >= 1);
wad := g_ExtractWadName(gDefaultMegawadStart);
map := g_ExtractFilePathName(gDefaultMegawadStart);
if e_FindResource(AllMapDirs, wad) then
begin
wad := ExpandFileName(wad);
- g_Game_StartSingle(wad + ':\' + map, False, n);
- end;
+ g_Game_StartSingle(wad + ':\' + map, n > 1, n)
+ end
end;
procedure ProcSingle1Player;
else
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_RESPAWN_ITEMS]) do
+ begin
+ Name := 'swRespawnItems';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if gnRespawnItems then
+ ItemIndex := 0
+ else
+ ItemIndex := 1;
+ end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';
else
ItemIndex := 1;
end;
+ with AddSwitch(_lc[I_MENU_RESPAWN_ITEMS]) do
+ begin
+ Name := 'swRespawnItems';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ if gcRespawnItems then
+ ItemIndex := 0
+ else
+ ItemIndex := 1;
+ end;
with AddSwitch(_lc[I_MENU_ENABLE_EXITS]) do
begin
Name := 'swEnableExits';