This commit is contained in:
Vasily Petrov 2026-06-18 01:18:29 +03:00
commit 2fe6ca2f65
1473 changed files with 251771 additions and 0 deletions

View file

@ -0,0 +1,414 @@
class "opt_video_adv" (CUIWindow)
function opt_video_adv:__init() super()
end
function opt_video_adv:__finalize()
end
function all_modes(render_id)
return true
end
function mode_1(id)
return id == "renderer_r1"
end
function mode_2(id)
return id ~= "renderer_r1"
end
function mode_4(id)
return id == "renderer_r4"
end
function opt_video_adv:InitControls(x, y, xml, handler)
self:SetWndPos(vector2():set(x,y))
self:SetWndSize(vector2():set(738,416))
self:SetAutoDelete(true)
self.scroll_v = xml:InitScrollView("video_adv:scroll_v", self)
handler.scroll_v = self.scroll_v
btn = xml:Init3tButton("video_adv:btn_to_simply", self)
handler:Register(btn, "btn_simply_graphic")
local ctl = nil
local _st = nil
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
local lineFrame = function (prec, text)
local static = xml:InitStatic("video_adv:templ_item", nil)
local temp = xml:InitFrameLine("video_adv:header_setup", static)
local tempText = xml:InitTextWnd("video_adv:cap_header_setup", temp)
table.insert(handler.m_preconditions, {func=prec, control=static})
tempText:SetTextST(text)
end
local reloadControls = function()
local pos = handler.scroll_v:GetCurrentScrollPos()
handler:UpdateDependControls()
handler.scroll_v:SetScrollPos(pos)
end
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(all_modes, "st_common_settings")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_detail_density", _st)
xml:InitTrackBar("video_adv:track_detail_density", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_detail_radius", _st)
xml:InitTrackBar("video_adv:track_detail_radius", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_vis_dist", _st)
xml:InitTrackBar("video_adv:track_vis_dist", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_geometry_lod", _st)
xml:InitTrackBar("video_adv:track_geometry_lod", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(all_modes, "st_surface_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_texture_lod", _st)
ctl = xml:InitTrackBar("video_adv:track_texture_lod", _st)
handler.texture_lod_track = ctl
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_aniso", _st)
xml:InitTrackBar("video_adv:track_aniso", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r1_detail_textures", _st)
ctl = xml:InitCheck("video_adv:check_r1_detail_textures", _st)
table.insert(handler.m_preconditions, {func=mode_1, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_detail_bump", _st)
ctl = xml:InitCheck("video_adv:check_r2_detail_bump", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_steep_parallax", _st)
ctl = xml:InitCheck("video_adv:check_r2_steep_parallax", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r4_tessellation", _st)
ctl = xml:InitCheck("video_adv:check_r4_tessellation", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(all_modes, "st_aa_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r_scale_mode", _st)
ctl = xml:InitComboBox("video_adv:list_r_scale_mode", _st)
handler:Register(ctl, "scaleMode")
handler.scaleMode = ctl
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
handler:AddCallback("scaleMode", ui_events.LIST_ITEM_SELECT, reloadControls, nil)
local scalePresetPrec = function(id)
if mode_4(id) then
local current_id = handler.scaleMode:CurrentID()
if current_id > 1 then
return true
end
-- get_console():execute("vid_scale_preset st_scale_custom")
-- handler.scalePreset:SetCurrentOptValue()
end
return false
end
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r_scale_preset", _st)
ctl = xml:InitComboBox("video_adv:list_r_scale_preset", _st)
handler:Register(ctl, "scalePreset")
handler.scalePreset = ctl
table.insert(handler.m_preconditions, {func=scalePresetPrec, control=_st})
handler:AddCallback("scalePreset", ui_events.LIST_ITEM_SELECT, reloadControls, nil)
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_vid_scale", _st)
ctl = xml:InitTrackBar("video_adv:track_vid_scale", _st)
local vidScalePrec = function(id)
if mode_4(id) then
local scale_mode = handler.scaleMode:CurrentID()
if scale_mode > 1 then
local scale_preset = handler.scalePreset:CurrentID()
local value = handler.scalePreset:GetValueOf(scale_preset)
return value == "st_scale_custom"
end
return true
end
return false
end
table.insert(handler.m_preconditions, {func=vidScalePrec, control=_st})
local typeAAPrec = function(id)
if mode_4(id) then
local current_id = handler.scaleMode:CurrentID()
if current_id > 1 then
handler.hashedAplha:Enable(true)
return false
end
handler.hashedAplha:Enable(false)
handler.hashedAplha:SetCheck(false)
end
return true
end
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r_type_aa", _st)
ctl = xml:InitComboBox("video_adv:list_r_type_aa", _st)
table.insert(handler.m_preconditions, {func=typeAAPrec, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_cas_sharpening", _st)
xml:InitTrackBar("video_adv:track_cas_sharpening", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r4_hashed_aref", _st)
ctl = xml:InitCheck ("video_adv:check_r4_hashed_aref", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
handler.hashedAplha = ctl
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(all_modes, "st_lights_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_particles_distance", _st)
ctl = xml:InitTrackBar("video_adv:track_particles_distance", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_light_distance", _st)
ctl = xml:InitTrackBar("video_adv:track_light_distance", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_npc_torch", _st)
xml:InitCheck("video_adv:check_npc_torch", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_volumetric_light", _st)
ctl = xml:InitCheck("video_adv:check_volumetric_light", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r4_hud_shadows", _st)
ctl = xml:InitCheck ("video_adv:check_r4_hud_shadows", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r_actor_shadow", _st)
ctl = xml:InitCheck ("video_adv:check_r_actor_shadow", _st)
table.insert(handler.m_preconditions, {func=all_modes, control=_st})
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(mode_2, "st_sunlight_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_sun", _st)
ctl = xml:InitCheck("video_adv:check_r2_sun", _st)
handler:Register(ctl, "enableSun")
handler.enableSun = ctl
local sunTable = {}
local enableSunFunc = function(id)
if mode_2(id) then
for _, control in pairs(sunTable) do
control:Enable(handler.enableSun:GetCheck())
if control.GetCheck then
control:SetCheck(control:GetCheck() and handler.enableSun:GetCheck())
end
end
return true
end
return false
end
table.insert(handler.m_preconditions, {func=enableSunFunc, control=_st})
handler:AddCallback("enableSun", ui_events.BUTTON_CLICKED, reloadControls, nil)
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_sun_details", _st)
ctl = xml:InitCheck ("video_adv:check_r2_sun_details", _st)
table.insert(sunTable, ctl)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_lights_details", _st)
ctl = xml:InitCheck ("video_adv:check_r2_lights_details", _st)
table.insert(sunTable, ctl)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_cloud_shadows", _st)
ctl = xml:InitCheck ("video_adv:check_r2_cloud_shadows", _st)
table.insert(sunTable, ctl)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r2_sun_quality", _st)
ctl = xml:InitComboBox("video_adv:list_r2_sun_quality", _st)
table.insert(sunTable, ctl)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_sun_shafts", _st)
ctl = xml:InitComboBox("video_adv:combo_sun_shafts", _st)
table.insert(sunTable, ctl)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_smap_size", _st)
ctl = xml:InitComboBox("video_adv:combo_smap_size", _st)
handler.combo_smap_size = ctl
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(mode_2, "st_effects_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_ao", _st)
ctl = xml:InitComboBox("video_adv:combo_ao_options", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_soft_water", _st)
ctl = xml:InitCheck("video_adv:check_soft_water", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_soft_particles", _st)
ctl = xml:InitCheck("video_adv:check_soft_particles", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r3_dynamic_wet_surfaces", _st)
ctl = xml:InitCheck ("video_adv:check_r3_dynamic_wet_surfaces", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_sslr_water", _st)
ctl = xml:InitCheck("video_adv:check_sslr_water", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r3_volumetric_smoke", _st)
ctl = xml:InitCheck("video_adv:check_r3_volumetric_smoke", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_r4_puddles", _st)
ctl = xml:InitCheck("video_adv:check_r4_puddles", _st)
table.insert(handler.m_preconditions, {func=mode_4, control=_st})
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
lineFrame(mode_2, "st_postprocess_options")
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_vignette", _st)
ctl = xml:InitCheck("video_adv:check_vignette", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_aberration", _st)
ctl = xml:InitCheck("video_adv:check_aberration", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_saturation", _st)
ctl = xml:InitCheck("video_adv:check_saturation", _st)
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_dof", _st)
ctl = xml:InitCheck("video_adv:check_dof", _st)
handler:Register(ctl, "enableDof")
handler.enableDof = ctl
table.insert(handler.m_preconditions, {func=mode_2, control=_st})
handler:AddCallback("enableDof", ui_events.BUTTON_CLICKED, reloadControls, nil)
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_dof_reload", _st)
ctl = xml:InitCheck("video_adv:check_dof_reload", _st)
handler.reloadDof = ctl
local enableReloadDofFunc = function(id)
if mode_2(id) then
handler.reloadDof:Enable(handler.enableDof:GetCheck())
handler.reloadDof:SetCheck(handler.reloadDof:GetCheck() and handler.enableDof:GetCheck())
return true
end
return false
end
table.insert(handler.m_preconditions, {func=enableReloadDofFunc, control=_st})
_st = xml:InitStatic("video_adv:templ_item", nil)
xml:InitStatic("video_adv:cap_dof_talk", _st)
ctl = xml:InitCheck("video_adv:check_dof_talk", _st)
handler.talkDof = ctl
local enableTalkDofFunc = function(id)
if mode_2(id) then
handler.talkDof:Enable(handler.enableDof:GetCheck())
handler.talkDof:SetCheck(handler.talkDof:GetCheck() and handler.enableDof:GetCheck())
return true
end
return false
end
table.insert(handler.m_preconditions, {func=enableTalkDofFunc, control=_st})
end