-
-
Notifications
You must be signed in to change notification settings - Fork 454
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added Steam COP ui_mm_opt_main.script
Added Steam COP rain_patch_normal_new.ps Plus added newly created *_msaa and *_nomsaa variants
- Loading branch information
1 parent
76e3db6
commit 886de2b
Showing
4 changed files
with
374 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 not shown.
Binary file not shown.
Binary file not shown.