X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_menu.pas;h=d9a8c6d7a16d39be58481ba48c93467af4a5d7e9;hb=d0c37e245a31713f3207059347ded7e97dfb5564;hp=ed4e25dc7b89ab84452ae47b199b02164aa80384;hpb=94590b18ecb2eeb8b0527d1eee20c7f85ada60b7;p=d2df-sdl.git diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas index ed4e25d..d9a8c6d 100644 --- a/src/game/g_menu.pas +++ b/src/game/g_menu.pas @@ -736,13 +736,16 @@ begin 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); + gsRulezRespawnTime := StrToIntDef(TGUIEdit(GetControl('edRulezRespawnTime')).Text, 0); + gsRulezRespawnRandom := StrToIntDef(TGUIEdit(GetControl('edRulezRespawnRandom')).Text, 0); gsPlayers := TGUISwitch(GetControl('swPlayers')).ItemIndex; gsMap := Map; gsGameFlags := 0; if TGUISwitch(GetControl('swTeamDamage')).ItemIndex = 0 then gsGameFlags := gsGameFlags or GAME_OPTION_TEAMDAMAGE; + if TGUISwitch(GetControl('swTeamAbsorbDamage')).ItemIndex = 0 then + gsGameFlags := gsGameFlags or GAME_OPTION_TEAMABSORBDAMAGE; if TGUISwitch(GetControl('swDeathmatchKeys')).ItemIndex = 0 then gsGameFlags := gsGameFlags or GAME_OPTION_DMKEYS; if TGUISwitch(GetControl('swEnableExits')).ItemIndex = 0 then @@ -774,7 +777,8 @@ begin // TODO: get this crap out of here gGameSettings.ItemRespawnTime := gsItemRespawnTime; - gGameSettings.RulezTimeMultiplier := gsRulezTimeMultiplier; + gGameSettings.RulezRespawnTime := gsRulezRespawnTime; + gGameSettings.RulezRespawnRandom := gsRulezRespawnRandom; gGameSettings.WarmupTime := gsWarmupTime; gGameSettings.SpawnInvul := gsSpawnInvul; end; @@ -2329,15 +2333,36 @@ begin if gsItemRespawnTime > 0 then Text := IntToStr(gsItemRespawnTime); end; - with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_MULTIPLIER]) do + AddSpace(); // Rulez Respawn block + with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_TIME]) do begin - Name := 'edRulezTimeMultiplier'; + Name := 'edRulezRespawnTime'; OnlyDigits := True; Width := 4; MaxLength := 5; - if gsRulezTimeMultiplier > 0 then - Text := IntToStr(gsRulezTimeMultiplier); + if gsRulezRespawnTime > 0 then + Text := IntToStr(gsRulezRespawnTime); end; + with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_RANDOM]) do + begin + Name := 'edRulezRespawnRandom'; + OnlyDigits := True; + Width := 4; + MaxLength := 5; + if gsRulezRespawnRandom > 0 then + Text := IntToStr(gsRulezRespawnRandom); + 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; + AddSpace(); with AddSwitch(_lc[I_MENU_PLAYERS]) do begin Name := 'swPlayers'; @@ -2372,6 +2397,16 @@ begin else 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 LongBool(gsGameFlags and GAME_OPTION_TEAMABSORBDAMAGE) then + ItemIndex := 0 + else + ItemIndex := 1; + end; with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do begin Name := 'swDeathmatchKeys'; @@ -2412,16 +2447,6 @@ begin else ItemIndex := 1; end; - with AddSwitch(_lc[I_MENU_ENABLE_RULEZ_RANDOM]) do - begin - Name := 'swRulezRandom'; - AddItem(_lc[I_MENU_NO]); - AddItem(_lc[I_MENU_YES]); - 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'; @@ -2596,15 +2621,36 @@ begin if gsItemRespawnTime > 0 then Text := IntToStr(gsItemRespawnTime); end; - with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_MULTIPLIER]) do + AddSpace(); // Rulez Respawn block + with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_TIME]) do begin - Name := 'edRulezTimeMultiplier'; + Name := 'edRulezRespawnTime'; OnlyDigits := True; Width := 4; MaxLength := 5; - if gsRulezTimeMultiplier > 0 then - Text := IntToStr(gsRulezTimeMultiplier); + if gsRulezRespawnTime > 0 then + Text := IntToStr(gsRulezRespawnTime); end; + with AddEdit(_lc[I_MENU_RULEZ_RESPAWN_RANDOM]) do + begin + Name := 'edRulezRespawnRandom'; + OnlyDigits := True; + Width := 4; + MaxLength := 5; + if gsRulezRespawnRandom > 0 then + Text := IntToStr(gsRulezRespawnRandom); + 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; + AddSpace(); with AddSwitch(_lc[I_MENU_PLAYERS]) do begin Name := 'swPlayers'; @@ -2639,6 +2685,16 @@ begin else 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 LongBool(gsGameFlags and GAME_OPTION_TEAMABSORBDAMAGE) then + ItemIndex := 0 + else + ItemIndex := 1; + end; with AddSwitch(_lc[I_MENU_DEATHMATCH_KEYS]) do begin Name := 'swDeathmatchKeys'; @@ -2679,16 +2735,6 @@ begin else ItemIndex := 1; end; - with AddSwitch(_lc[I_MENU_ENABLE_RULEZ_RANDOM]) do - begin - Name := 'swRulezRandom'; - AddItem(_lc[I_MENU_NO]); - AddItem(_lc[I_MENU_YES]); - 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';