diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas
index b29a5137c4ff173c7e67b41bac7359d980736c76..484b513c208e50a63f9175c540fbd6c53fb45fb3 100644 (file)
--- a/src/game/g_menu.pas
+++ b/src/game/g_menu.pas
gTextureFilter := TGUISwitch(menu.GetControl('swTextureFilter')).ItemIndex = 0;
glNPOTOverride := not (TGUISwitch(menu.GetControl('swLegacyNPOT')).ItemIndex = 0);
+ gLerpActors := TGUISwitch(menu.GetControl('swInterp')).ItemIndex = 0;
menu := TGUIMenu(g_GUI_GetWindow('OptionsSoundMenu').GetControl('mOptionsSoundMenu'));
with TGUISwitch(menu.GetControl('swLegacyNPOT')) do
if not glNPOTOverride then ItemIndex := 0 else ItemIndex := 1;
+ with TGUISwitch(menu.GetControl('swInterp')) do
+ if gLerpActors then ItemIndex := 0 else ItemIndex := 1;
+
menu := TGUIMenu(g_GUI_GetWindow('OptionsSoundMenu').GetControl('mOptionsSoundMenu'));
TGUIScroll(menu.GetControl('scSoundLevel')).Value := Round(gSoundLevel/16);
else gsGameFlags := gsGameFlags or GAME_OPTION_BOTVSPLAYER;
end;
- gGameSettings.ItemRespawnTime := gsItemRespawnTime; // TODO: get this crap out of here
+ // TODO: get this crap out of here
+ gGameSettings.ItemRespawnTime := gsItemRespawnTime;
+ gGameSettings.WarmupTime := gsWarmupTime;
+ gGameSettings.SpawnInvul := gsSpawnInvul;
end;
end;
ItemIndex := 1;
TempResScale := Round(r_pixel_scale - 1);
- TGUIScroll(menu.GetControl('scResFactor')).Value := TempResScale;
+ with TGUISwitch(menu.GetControl('swResFactor')) do
+ ItemIndex := Min(TempResScale, gRC_Width div 640 - 1);
end;
procedure ProcApplyVideoOptions();
begin
SWidth := gWinSizeX;
SHeight := gWinSizeY;
+ TempResScale := Min(TempResScale, SWidth div 640 - 1);
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
- 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;
AddItem(_lc[I_MENU_YES]);
AddItem(_lc[I_MENU_NO]);
end;
+ with AddSwitch(_lc[I_MENU_VIDEO_INTERPOLATION]) do
+ begin
+ Name := 'swInterp';
+ AddItem(_lc[I_MENU_YES]);
+ AddItem(_lc[I_MENU_NO]);
+ end;
with AddSwitch(_lc[I_MENU_VIDEO_LEGACY_COMPATIBLE]) do
begin
Name := 'swLegacyNPOT';
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
- 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]);