Skip to content

Commit

Permalink
Added Steam COP ui_mm_opt_main.script
Browse files Browse the repository at this point in the history
Added Steam COP rain_patch_normal_new.ps
Plus added newly created *_msaa and *_nomsaa variants
  • Loading branch information
Xottab-DUTY committed Jul 13, 2018
1 parent 76e3db6 commit 886de2b
Show file tree
Hide file tree
Showing 4 changed files with 374 additions and 0 deletions.
374 changes: 374 additions & 0 deletions res/gamedata/scripts/ui_mm_opt_main.script
Original file line number Diff line number Diff line change
@@ -0,0 +1,374 @@
class "options_dialog" (CUIScriptWnd)

function options_dialog:__init() super()

self.m_preconditions = {}
self:InitControls()
self:InitCallBacks()
self.tab:SetActiveTab ("video")
end

function options_dialog:__finalize()

end

function options_dialog:InitControls()
self:SetWndRect (Frect():set(0,0,1024,768))
self:Enable (true)

local xml = CScriptXmlInit()
xml:ParseFile ("ui_mm_opt.xml")

xml:InitStatic ("background", self)
self.dialog = xml:InitStatic("main_dialog:dialog", self)

-- xml:InitStatic ("main_dialog:cap_options", self.dialog)

self.dlg_video = ui_mm_opt_video.opt_video()
self.dlg_video:InitControls (0,0, xml, self)
self.dlg_video:Show (false)
self.dialog:AttachChild (self.dlg_video)
xml:InitWindow ("tab_size", 0, self.dlg_video)

self.dlg_sound = ui_mm_opt_sound.opt_sound()
self.dlg_sound:InitControls (0,0, xml, self)
self.dlg_sound:Show (false)
self.dialog:AttachChild (self.dlg_sound)
xml:InitWindow ("tab_size", 0, self.dlg_sound)

self.dlg_gameplay = ui_mm_opt_gameplay.opt_gameplay()
self.dlg_gameplay:InitControls(0,0, xml, self)
self.dlg_gameplay:Show (false)
self.dialog:AttachChild (self.dlg_gameplay)
xml:InitWindow ("tab_size", 0, self.dlg_gameplay)

self.dlg_controls = ui_mm_opt_controls.opt_controls()
self.dlg_controls:InitControls(0,0, xml, self)
self.dlg_controls:Show (false)
self.dialog:AttachChild (self.dlg_controls)
xml:InitWindow ("tab_size", 0, self.dlg_controls)
--[[
self.dlg_con_cmd = ui_mm_opt_con_cmd.opt_con_cmd()
self.dlg_con_cmd:InitControls(0,0, xml, self)
self.dlg_con_cmd:Show (false)
self.dialog:AttachChild (self.dlg_con_cmd)
xml:InitWindow ("tab_size", 0, self.dlg_con_cmd)
]]
self.dlg_video_adv = ui_mm_opt_video_adv.opt_video_adv()
self.dlg_video_adv:InitControls(0,0, xml, self)
self.dlg_video_adv:Show (false)
self.dialog:AttachChild (self.dlg_video_adv)
xml:InitWindow ("tab_size", 0, self.dlg_video_adv)

local btn
btn = xml:Init3tButton ("main_dialog:btn_accept", self.dialog)
self:Register (btn, "btn_accept")
btn = xml:Init3tButton ("main_dialog:btn_cancel", self.dialog)
self:Register (btn, "btn_cancel")

self.tab = xml:InitTab("main_dialog:tab", self.dialog)
self:Register (self.tab, "tab")


self.message_box = CUIMessageBoxEx()
self:Register (self.message_box, "mb")

self.b_restart_system_shown = false
self.timer = nil

self.cap_download = xml:InitStatic ("download_static",self)
self.text_download = xml:InitStatic ("download_text",self)
self.download_progress = xml:InitProgressBar ("progress_download", self)
self.btn_cancel_download = xml:Init3tButton ("btn_cancel_download", self)
self:Register (self.btn_cancel_download, "btn_cancel_download")

end

function options_dialog:SetCurrentValues()
local opt = COptionsManager()

opt:SetCurrentValues("mm_opt_video_preset")
opt:SaveBackupValues("mm_opt_video_preset")

opt:SetCurrentValues("mm_opt_video")
opt:SaveBackupValues("mm_opt_video")

opt:SetCurrentValues("mm_opt_video_adv")
opt:SaveBackupValues("mm_opt_video_adv")

opt:SetCurrentValues("mm_opt_gameplay")
opt:SaveBackupValues("mm_opt_gameplay")

opt:SetCurrentValues("mm_opt_sound")
opt:SaveBackupValues("mm_opt_sound")

opt:SetCurrentValues("mm_opt_controls")
opt:SaveBackupValues("mm_opt_controls")

opt:SetCurrentValues("key_binding")
opt:SaveBackupValues("key_binding")

self:UpdateDependControls()
end

function options_dialog:UpdateDependControls()
self.scroll_v:Clear()
local _current_id = self.combo_renderer:CurrentID()

for i,j in pairs(self.m_preconditions) do
if(j.func(_current_id)) then
self.scroll_v:AddWindow(j.control, true)
j.control:SetAutoDelete(false)
end
end

local max_texture_lod = 4
local min_texture_lod = 0

if _current_id ~= 0 then
if not is_enough_address_space_available() then
min_texture_lod = 1
end
end

self.texture_lod_track:SetOptIBounds(min_texture_lod, max_texture_lod)
self:OnAOOptionChange()
end

function options_dialog:InitCallBacks()
self:AddCallback("tab", ui_events.TAB_CHANGED, self.OnTabChange, self)
self:AddCallback("btn_advanced_graphic",ui_events.BUTTON_CLICKED, self.OnBtnAdvGraphic, self)
self:AddCallback("btn_accept", ui_events.BUTTON_CLICKED, self.OnBtnAccept, self)
self:AddCallback("btn_cancel", ui_events.BUTTON_CLICKED, self.OnBtnCancel, self)
self:AddCallback("btn_default_graphic", ui_events.BUTTON_CLICKED, self.OnBtnDefGraph, self)
self:AddCallback("btn_default_sound", ui_events.BUTTON_CLICKED, self.OnBtnDefSound, self)
self:AddCallback("combo_preset", ui_events.LIST_ITEM_SELECT, self.OnPresetChanged, self)
self:AddCallback("btn_simply_graphic", ui_events.BUTTON_CLICKED, self.OnSimplyGraphic, self)
self:AddCallback("btn_keyb_default", ui_events.BUTTON_CLICKED, self.OnBtnKeybDefault, self)
self:AddCallback("btn_check_updates", ui_events.BUTTON_CLICKED, self.OnBtnCheckUpdates, self)
self:AddCallback("combo_renderer", ui_events.LIST_ITEM_SELECT, self.UpdateDependControls, self)
self:AddCallback("btn_cancel_download", ui_events.BUTTON_CLICKED, self.OnBtn_CancelDownload, self)
self:AddCallback("tab_ao_opt", ui_events.TAB_CHANGED, self.OnAOOptionChange, self)

self:AddCallback("mb", ui_events.MESSAGE_BOX_YES_CLICKED, self.OnApplyChanges, self)
self:AddCallback("mb", ui_events.MESSAGE_BOX_NO_CLICKED, self.OnDiscardChanges,self)
-- self:AddCallback("trb_ssample", ui_events.BUTTON_CLICKED, self.UpdateDependControls, self)
-- self:AddCallback("cb_ssample", ui_events.LIST_ITEM_SELECT, self.UpdateDependControls, self)

end

function options_dialog:OnBtnCheckUpdates()
local console = get_console()
console:execute ("check_for_updates 1")
end

function options_dialog:OnBtnKeybDefault()
local console = get_console()
console:execute ("default_controls")

local opt = COptionsManager()
opt:SetCurrentValues ("mm_opt_controls")
opt:SetCurrentValues ("key_binding")
end

function options_dialog:OnPresetChanged()
local opt = COptionsManager()
opt:SetCurrentValues ("mm_opt_video_adv")
end


function options_dialog:OnBtnDefGraph()
local opt = COptionsManager()
opt:SendMessage2Group("mm_opt_video","set_default_value")
end

function options_dialog:OnBtnDefSound()
local opt = COptionsManager()
opt:SendMessage2Group("mm_opt_sound","set_default_value")
end

function options_dialog:OnBtnAccept()

local opt = COptionsManager()
local console = get_console()

console:execute("cfg_save tmp")

opt:SaveValues("mm_opt_video_preset")
opt:SaveValues("key_binding")
opt:SaveValues("mm_opt_video")
opt:SaveValues("mm_opt_video_adv")
opt:SaveValues("mm_opt_gameplay")
opt:SaveValues("mm_opt_sound")
opt:SaveValues("mm_opt_controls")

if opt:NeedVidRestart() then
_G.b_discard_settings_shown = true
self.message_box:InitMessageBox("message_box_yes_no")
self.message_box:SetText(string.format("%s %d% s", game.translate_string("ui_mm_confirm_changes"), 15, game.translate_string("mp_si_sec")))
self.message_box:ShowDialog(true)
else
self:OnApplyChanges()
end

opt:OptionsPostAccept()

console:execute("cfg_save")
end

function options_dialog:OnBtnCancel()
local opt = COptionsManager()
opt:UndoGroup ("mm_opt_video_preset")
opt:UndoGroup ("mm_opt_video")
opt:UndoGroup ("mm_opt_video_adv")
opt:UndoGroup ("mm_opt_sound")
opt:OptionsPostAccept ()

self.owner:ShowDialog(true)
self:HideDialog()
self.owner:Show(true)
end

function options_dialog:OnTabChange()
self.dlg_video:Show (false)
self.dlg_sound:Show (false)
self.dlg_gameplay:Show (false)
self.dlg_controls:Show (false)
self.dlg_video_adv:Show (false)

local ids = self.tab:GetActiveId()
if ids == "video" then
self.dlg_video:Show(true)
elseif ids == "sound" then
self.dlg_sound:Show(true)
elseif ids == "gameplay" then
self.dlg_gameplay:Show(true)
elseif ids == "controls" then
self.dlg_controls:Show(true)
end

end

function options_dialog:OnAOOptionChange()
local ao_opt_id = self.tab_ao_opt:GetActiveId()
local render_id = self.combo_renderer:CurrentID()
if(render_id>=4) and (ao_opt_id=="hdao") then
self.combo_ssao:enable_id(4)
else
self.combo_ssao:disable_id(4)
end
self.combo_ssao:SetCurrentOptValue()
end

function options_dialog:OnBtnAdvGraphic()
self.dlg_video:Show (false)
self.dlg_video_adv:Show (true)
end

function options_dialog:OnSimplyGraphic()
self.dlg_video:Show (true)
self.dlg_video_adv:Show (false)
end

function options_dialog:OnKeyboard(dik, keyboard_action)
local res = CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)

if res==false then

local bind = dik_to_bind(dik)

if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
if dik == DIK_keys.DIK_ESCAPE then
if self.dlg_video_adv:IsShown() then
self.dlg_video_adv:Show (false)
self.dlg_video:Show (true)
else
self.owner:ShowDialog(true)
self:HideDialog()
self.owner:Show(true)
end
end

end
end

return res
end

function options_dialog:Update()
CUIScriptWnd.Update(self)

local mm = main_menu.get_main_menu()
local sss = mm:GetPatchProgress()

if sss:GetInProgress() then
self.text_download:Show (true)
self.cap_download:Show (true)
self.download_progress:Show (true)
local _progr = sss:GetProgress()
self.download_progress:SetProgressPos (_progr)
local str = string.format("%.0f%%(%s)",_progr,sss:GetFlieName())
self.text_download:TextControl():SetText (str)
self.btn_cancel_download:Show (true)
else
self.text_download:Show (false)
self.cap_download:Show (false)
self.download_progress:Show (false)
self.btn_cancel_download:Show (false)
end
if(_G.b_discard_settings_shown) then
local tg = math.floor(time_global_async()/1000)
if(self.timer==nil) then
self.timer = tg
end
self.message_box:SetText(string.format("%s %d %s", game.translate_string("ui_mm_confirm_changes"), 15-(tg-self.timer), game.translate_string("mp_si_sec")))
if(tg-self.timer>=15) then
self.message_box:HideDialog()
self:OnDiscardChanges()
end
end
end

function options_dialog:OnBtn_CancelDownload()
local mm = main_menu.get_main_menu()
mm:CancelDownload()
end

function options_dialog:OnApplyChanges()
self.timer = nil
_G.b_discard_settings_shown = false

self.owner:ShowDialog(true)
self:HideDialog()
self.owner:Show(true)

if false==self.b_restart_system_shown then
local opt = COptionsManager()
if opt:NeedSystemRestart() then
self.b_restart_system_shown = true
self.message_box:InitMessageBox("message_box_restart_game")
self.message_box:ShowDialog(true)
end
end
end

function options_dialog:OnDiscardChanges()
self.timer = nil
_G.b_discard_settings_shown = false

local c = get_console()
c:execute("cfg_load tmp")

self:SetCurrentValues()

c:execute("vid_restart")
c:execute("cfg_save")
end

function options_dialog:OnMenuReloaded()
if(_G.b_discard_settings_shown) then
self.message_box:InitMessageBox("message_box_yes_no")
self.message_box:SetText(string.format("%s %d% s", game.translate_string("ui_mm_confirm_changes"), 15, game.translate_string("mp_si_sec")))
self.message_box:ShowDialog(true)
end
end
Binary file added res/gamedata/shaders/r3/rain_patch_normal_new.ps
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 comments on commit 886de2b

Please sign in to comment.