add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
353
gamedata/scripts/ui_mm_opt_main.script
Normal file
353
gamedata/scripts/ui_mm_opt_main.script
Normal file
|
|
@ -0,0 +1,353 @@
|
|||
class "options_dialog" (CUIScriptWnd)
|
||||
|
||||
function options_dialog:__init() super()
|
||||
|
||||
self.m_preconditions = {}
|
||||
self.m_deffer_ex = {}
|
||||
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()
|
||||
local value = self.combo_renderer:GetValueOf(current_id)
|
||||
|
||||
for _, j in pairs(self.m_preconditions) do
|
||||
if j.func(value) then
|
||||
self.scroll_v:AddWindow(j.control, true)
|
||||
j.control:SetAutoDelete(false)
|
||||
end
|
||||
end
|
||||
|
||||
for _, t in pairs(self.m_deffer_ex) do
|
||||
t.func(t.arg)
|
||||
end
|
||||
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("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("mb", ui_events.MESSAGE_BOX_YES_CLICKED, self.OnApplyChanges, self)
|
||||
self:AddCallback("mb", ui_events.MESSAGE_BOX_NO_CLICKED, self.OnDiscardChanges,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: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
|
||||
Loading…
Add table
Add a link
Reference in a new issue