diff --git a/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout b/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout new file mode 100644 index 0000000..b496c43 --- /dev/null +++ b/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout @@ -0,0 +1,69 @@ +HorizontalLayoutWidgetClass { + Name "ACE_Settings" + components { + ACE_SettingsSubMenu "{644764DB50F2EEFA}" { + } + } + { + ScrollLayoutWidgetClass "{64475E8865185276}" { + Name "ScrollLayout0" + Slot LayoutSlot "{54890CCF086F1BB3}" { + Padding -2 72 2 0 + SizeMode Fill + FillWeight 1.433 + } + Color 0.761 0.392 0.078 1 + style Small + { + VerticalLayoutWidgetClass "{64475E8865185274}" { + Name "Content" + Slot AlignableSlot "{54890CCE26EF3FDE}" { + HorizontalAlign 3 + VerticalAlign 3 + Padding -4 0 10 0 + } + { + VerticalLayoutWidgetClass "{64475E883295DD06}" { + Name "ExampleGroup" + Slot LayoutSlot "{64475E883295DD3F}" { + Padding 4 4 4 4 + } + "Is Enabled" 0 + "Is Visible" 0 + { + VerticalLayoutWidgetClass "{64476640F1F8FB45}" : "{FEEEB639F2735BA1}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsTitle.layout" { + Name "SettingsTitle0" + Slot LayoutSlot "{64476640F1F8FB60}" { + } + } + ButtonWidgetClass "{64475E8865185267}" : "{C9DF0E6590F6C388}UI/layouts/WidgetLibrary/SpinBox/WLib_SpinBox.layout" { + Name "HorizontalCameraSpeed" + Slot LayoutSlot "{54890CCD613ED416}" { + Padding 4 4 4 4 + } + components { + SCR_SpinBoxComponent "{5472C6CBC0640458}" { + m_sLabel "#AR-Editor_Attribute_CameraATL_Name" + m_sLabelLayout "{F003823FF141983C}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsLabel.layout" + m_aElementNames { + "#AR-UI_No" "#AR-UI_Yes" + } + m_bUseLightArrows 1 + m_bCycleMode 1 + } + } + } + } + } + } + } + } + } + VerticalLayoutWidgetClass "{64475E8865185264}" { + Name "Description" + Slot LayoutSlot "{54890CCD7A457969}" { + SizeMode Fill + } + } + } +} \ No newline at end of file diff --git a/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta b/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta new file mode 100644 index 0000000..bac1ef5 --- /dev/null +++ b/addons/core/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{399F81816ADDA45B}UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout" + Configurations { + LayoutResourceClass PC { + } + LayoutResourceClass XBOX_ONE : PC { + } + LayoutResourceClass XBOX_SERIES : PC { + } + LayoutResourceClass PS4 : PC { + } + LayoutResourceClass PS5 : PC { + } + LayoutResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout b/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout new file mode 100644 index 0000000..b68fa64 --- /dev/null +++ b/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout @@ -0,0 +1,39 @@ +FrameWidgetClass { + { + OverlayWidgetClass "{5DF6773A8D2D810B}" { + Prefab "{5DF6773A8D2D810B}" + { + SizeLayoutWidgetClass "{5DF4AD634C312B7D}" { + Prefab "{5DF4AD634C312B7D}" + { + VerticalLayoutWidgetClass "{5DF4AD634C312B71}" { + Prefab "{5DF4AD634C312B71}" + { + OverlayWidgetClass "{5DF4AD634C312B8B}" { + Prefab "{5DF4AD634C312B8B}" + { + VerticalLayoutWidgetClass "{5DF4AD6212638B9A}" { + Prefab "{5DF4AD6212638B9A}" + components { + SCR_TabViewComponent "{546B27D01CA8A38D}" { + m_aElements { + SCR_TabViewContent "{64475E8B3FBE157D}" { + m_ElementLayout "{399F81816ADDA45B}UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout" + m_sTabButtonContent "#ACE-Acronym" + m_sTabIdentifier "ace-anvil" + m_bEnabled 0 + } + } + } + } + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta b/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta new file mode 100644 index 0000000..927d69f --- /dev/null +++ b/addons/core/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{72AB54EEF4635373}UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout" + Configurations { + LayoutResourceClass PC { + } + LayoutResourceClass XBOX_ONE : PC { + } + LayoutResourceClass XBOX_SERIES : PC { + } + LayoutResourceClass PS4 : PC { + } + LayoutResourceClass PS5 : PC { + } + LayoutResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/scripts/Game/ACE_Core/UI/Menu/SettingsMenu/ACE_SettingsSubMenu.c b/addons/core/scripts/Game/ACE_Core/UI/Menu/SettingsMenu/ACE_SettingsSubMenu.c new file mode 100644 index 0000000..070f06d --- /dev/null +++ b/addons/core/scripts/Game/ACE_Core/UI/Menu/SettingsMenu/ACE_SettingsSubMenu.c @@ -0,0 +1,3 @@ +class ACE_SettingsSubMenu : SCR_SettingsSubMenuBase +{ +} diff --git a/addons/ui/Language/ACE_UI_language.cs_cz.conf b/addons/ui/Language/ACE_UI_language.cs_cz.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.cs_cz.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.cs_cz.conf.meta b/addons/ui/Language/ACE_UI_language.cs_cz.conf.meta new file mode 100644 index 0000000..d9b2885 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.cs_cz.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{BF1E2012E3DEE9C1}Language/ACE_UI_language.cs_cz.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.de_de.conf b/addons/ui/Language/ACE_UI_language.de_de.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.de_de.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.de_de.conf.meta b/addons/ui/Language/ACE_UI_language.de_de.conf.meta new file mode 100644 index 0000000..c7b258a --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.de_de.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{6A603A21F07DF8E1}Language/ACE_UI_language.de_de.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.en_us.conf b/addons/ui/Language/ACE_UI_language.en_us.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.en_us.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.en_us.conf.meta b/addons/ui/Language/ACE_UI_language.en_us.conf.meta new file mode 100644 index 0000000..e0b1e97 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.en_us.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3490B06A9A8EFDE0}Language/ACE_UI_language.en_us.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.es_es.conf b/addons/ui/Language/ACE_UI_language.es_es.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.es_es.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.es_es.conf.meta b/addons/ui/Language/ACE_UI_language.es_es.conf.meta new file mode 100644 index 0000000..dde2396 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.es_es.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{F1DCFDE3748C96FF}Language/ACE_UI_language.es_es.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.fr_fr.conf b/addons/ui/Language/ACE_UI_language.fr_fr.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.fr_fr.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.fr_fr.conf.meta b/addons/ui/Language/ACE_UI_language.fr_fr.conf.meta new file mode 100644 index 0000000..4f11c7c --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.fr_fr.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{4A7408D4920F75FD}Language/ACE_UI_language.fr_fr.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.it_it.conf b/addons/ui/Language/ACE_UI_language.it_it.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.it_it.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.it_it.conf.meta b/addons/ui/Language/ACE_UI_language.it_it.conf.meta new file mode 100644 index 0000000..25dbf9b --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.it_it.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{CA6887E03F2DF604}Language/ACE_UI_language.it_it.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ja_jp.conf b/addons/ui/Language/ACE_UI_language.ja_jp.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ja_jp.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ja_jp.conf.meta b/addons/ui/Language/ACE_UI_language.ja_jp.conf.meta new file mode 100644 index 0000000..9f71cf0 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ja_jp.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{DA733A72015CC6AF}Language/ACE_UI_language.ja_jp.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ko_kr.conf b/addons/ui/Language/ACE_UI_language.ko_kr.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ko_kr.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ko_kr.conf.meta b/addons/ui/Language/ACE_UI_language.ko_kr.conf.meta new file mode 100644 index 0000000..74fa3c2 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ko_kr.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{7ACD12DE9271C590}Language/ACE_UI_language.ko_kr.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.pl_pl.conf b/addons/ui/Language/ACE_UI_language.pl_pl.conf new file mode 100644 index 0000000..171f37b --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.pl_pl.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Pisk transmisji kanału 1" + "Pisk transmisji kanału 2" + "Wysoki" + "Niski" + "Wyłączony" + "Pisk przy zmianie nadajnika" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.pl_pl.conf.meta b/addons/ui/Language/ACE_UI_language.pl_pl.conf.meta new file mode 100644 index 0000000..4f0a0ea --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.pl_pl.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{26BCB4242C9E59EC}Language/ACE_UI_language.pl_pl.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.pt_br.conf b/addons/ui/Language/ACE_UI_language.pt_br.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.pt_br.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.pt_br.conf.meta b/addons/ui/Language/ACE_UI_language.pt_br.conf.meta new file mode 100644 index 0000000..adc6103 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.pt_br.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{F3CB2EE817609356}Language/ACE_UI_language.pt_br.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ru_ru.conf b/addons/ui/Language/ACE_UI_language.ru_ru.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ru_ru.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.ru_ru.conf.meta b/addons/ui/Language/ACE_UI_language.ru_ru.conf.meta new file mode 100644 index 0000000..386469e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.ru_ru.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{A68A3A408A19F620}Language/ACE_UI_language.ru_ru.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.st b/addons/ui/Language/ACE_UI_language.st new file mode 100644 index 0000000..f7e7ab5 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.st @@ -0,0 +1,61 @@ +StringTable { + ItemClassName "CustomStringTableItem" + Items { + CustomStringTableItem "{644826487CAE8882}" { + Id "ACE_UI-Settings-Radio" + Target_en_us "Radio" + Target_pl_pl "Radio" + Modified 1682450666 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{6448264807CE1461}" { + Id "ACE_UI-Settings-Radio_Beep_Ch1" + Target_en_us "Ch.1 transmission beep" + Target_pl_pl "Pisk transmisji kanału 1" + Modified 1682450683 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{6448264808F0EDBE}" { + Id "ACE_UI-Settings-Radio_Beep_Ch2" + Target_en_us "Ch.2 transmission beep" + Target_pl_pl "Pisk transmisji kanału 2" + Modified 1682450690 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{644826481FB40F2F}" { + Id "ACE_UI-Settings-Radio_Beep_High" + Target_en_us "High" + Target_pl_pl "Wysoki" + Modified 1682450695 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{6448264811A5CBD7}" { + Id "ACE_UI-Settings-Radio_Beep_Low" + Target_en_us "Low" + Target_pl_pl "Niski" + Modified 1682450698 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{644826480D886913}" { + Id "ACE_UI-Settings-Radio_Beep_Off" + Target_en_us "Off" + Target_pl_pl "Wyłączony" + Modified 1682450701 + Author "veteran29" + LastChanged "veteran29" + } + CustomStringTableItem "{64482648D1C29B76}" { + Id "ACE_UI-Settings_Beep_Cycle" + Target_en_us "Transceiver cycle beep" + Target_pl_pl "Pisk przy zmianie nadajnika" + Modified 1682450920 + Author "veteran29" + LastChanged "veteran29" + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.st.meta b/addons/ui/Language/ACE_UI_language.st.meta new file mode 100644 index 0000000..789cc89 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.st.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{C4D719716B02B0B1}Language/ACE_UI_language.st" + Configurations { + StringTableResourceClass PC { + } + StringTableResourceClass XBOX_ONE : PC { + } + StringTableResourceClass XBOX_SERIES : PC { + } + StringTableResourceClass PS4 : PC { + } + StringTableResourceClass PS5 : PC { + } + StringTableResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.uk_ua.conf b/addons/ui/Language/ACE_UI_language.uk_ua.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.uk_ua.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.uk_ua.conf.meta b/addons/ui/Language/ACE_UI_language.uk_ua.conf.meta new file mode 100644 index 0000000..9dea10a --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.uk_ua.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{2CD26FB6E6374875}Language/ACE_UI_language.uk_ua.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.zh_cn.conf b/addons/ui/Language/ACE_UI_language.zh_cn.conf new file mode 100644 index 0000000..2adbf2e --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.zh_cn.conf @@ -0,0 +1,20 @@ +StringTableRuntime { + Ids { + "ACE_UI-Settings-Radio" + "ACE_UI-Settings-Radio_Beep_Ch1" + "ACE_UI-Settings-Radio_Beep_Ch2" + "ACE_UI-Settings-Radio_Beep_High" + "ACE_UI-Settings-Radio_Beep_Low" + "ACE_UI-Settings-Radio_Beep_Off" + "ACE_UI-Settings_Beep_Cycle" + } + Texts { + "Radio" + "Ch.1 transmission beep" + "Ch.2 transmission beep" + "High" + "Low" + "Off" + "Transceiver cycle beep" + } +} \ No newline at end of file diff --git a/addons/ui/Language/ACE_UI_language.zh_cn.conf.meta b/addons/ui/Language/ACE_UI_language.zh_cn.conf.meta new file mode 100644 index 0000000..ea85a49 --- /dev/null +++ b/addons/ui/Language/ACE_UI_language.zh_cn.conf.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{F662018BDF979868}Language/ACE_UI_language.zh_cn.conf" + Configurations { + CONFResourceClass PC { + } + CONFResourceClass XBOX_ONE : PC { + } + CONFResourceClass XBOX_SERIES : PC { + } + CONFResourceClass PS4 : PC { + } + CONFResourceClass PS5 : PC { + } + CONFResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/Sounds/ACE_UI/beep_high.wav b/addons/ui/Sounds/ACE_UI/beep_high.wav new file mode 100644 index 0000000..f3c4119 Binary files /dev/null and b/addons/ui/Sounds/ACE_UI/beep_high.wav differ diff --git a/addons/ui/Sounds/ACE_UI/beep_low.wav b/addons/ui/Sounds/ACE_UI/beep_low.wav new file mode 100644 index 0000000..b0e2ac3 Binary files /dev/null and b/addons/ui/Sounds/ACE_UI/beep_low.wav differ diff --git a/addons/ui/Sounds/ACE_UI/click_off.wav b/addons/ui/Sounds/ACE_UI/click_off.wav new file mode 100644 index 0000000..ecd6d6e Binary files /dev/null and b/addons/ui/Sounds/ACE_UI/click_off.wav differ diff --git a/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout b/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout new file mode 100644 index 0000000..b715476 --- /dev/null +++ b/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout @@ -0,0 +1,81 @@ +HorizontalLayoutWidgetClass { + { + ScrollLayoutWidgetClass "{64475E8865185276}" { + Prefab "{64475E8865185276}" + { + VerticalLayoutWidgetClass "{64475E8865185274}" { + Prefab "{64475E8865185274}" + { + VerticalLayoutWidgetClass "{64476516122ABAC4}" { + Name "ACE_UI_Radio" + Slot LayoutSlot "{64476516122ABAFD}" { + } + { + VerticalLayoutWidgetClass "{64476640D7B4C338}" : "{FEEEB639F2735BA1}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsTitle.layout" { + Name "SettingsTitle0" + Slot LayoutSlot "{64476640D7B4C35A}" { + } + components { + SCR_LabelComponent "{58B30C1A8E56F0FF}" { + m_sLabel "#ACE_UI-Settings-Radio" + } + } + } + ButtonWidgetClass "{64476516D54DC19A}" : "{C9DF0E6590F6C388}UI/layouts/WidgetLibrary/SpinBox/WLib_SpinBox.layout" { + Name "Beep_Ch1" + Slot LayoutSlot "{54890CCD613ED416}" { + Padding 4 4 4 4 + } + components { + SCR_SpinBoxComponent "{5472C6CBC0640458}" { + m_sLabel "#ACE_UI-Settings-Radio_Beep_Ch1" + m_sLabelLayout "{F003823FF141983C}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsLabel.layout" + m_aElementNames { + "#ACE_UI-Settings-Radio_Beep_Off" "#ACE_UI-Settings-Radio_Beep_High" "#ACE_UI-Settings-Radio_Beep_Low" + } + m_bUseLightArrows 1 + m_bCycleMode 1 + } + } + } + ButtonWidgetClass "{64476516DF04C11E}" : "{C9DF0E6590F6C388}UI/layouts/WidgetLibrary/SpinBox/WLib_SpinBox.layout" { + Name "Beep_Ch2" + Slot LayoutSlot "{54890CCD613ED416}" { + Padding 4 4 4 4 + } + components { + SCR_SpinBoxComponent "{5472C6CBC0640458}" { + m_sLabel "#ACE_UI-Settings-Radio_Beep_Ch2" + m_sLabelLayout "{F003823FF141983C}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsLabel.layout" + m_aElementNames { + "#ACE_UI-Settings-Radio_Beep_Off" "#ACE_UI-Settings-Radio_Beep_High" "#ACE_UI-Settings-Radio_Beep_Low" + } + m_bCycleMode 1 + } + } + } + ButtonWidgetClass "{64481AA16C28CDC6}" : "{C9DF0E6590F6C388}UI/layouts/WidgetLibrary/SpinBox/WLib_SpinBox.layout" { + Name "Beep_Cycle" + Slot LayoutSlot "{64481AA16C28CD32}" { + HorizontalAlign 3 + Padding 4 4 4 4 + } + components { + SCR_SpinBoxComponent "{5472C6CBC0640458}" { + m_sLabel "#ACE_UI-Settings_Beep_Cycle" + m_sLabelLayout "{F003823FF141983C}UI/layouts/Menus/SettingsMenu/CustomWidgets/SettingsLabel.layout" + m_aElementNames { + "#AR-UI_No" "#AR-UI_Yes" + } + m_bCycleMode 1 + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta b/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta new file mode 100644 index 0000000..bac1ef5 --- /dev/null +++ b/addons/ui/UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{399F81816ADDA45B}UI/layouts/Menus/SettingsMenu/ACE_SettingsSubMenu.layout" + Configurations { + LayoutResourceClass PC { + } + LayoutResourceClass XBOX_ONE : PC { + } + LayoutResourceClass XBOX_SERIES : PC { + } + LayoutResourceClass PS4 : PC { + } + LayoutResourceClass PS5 : PC { + } + LayoutResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout b/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout new file mode 100644 index 0000000..4cafc19 --- /dev/null +++ b/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout @@ -0,0 +1,36 @@ +FrameWidgetClass { + { + OverlayWidgetClass "{5DF6773A8D2D810B}" { + Prefab "{5DF6773A8D2D810B}" + { + SizeLayoutWidgetClass "{5DF4AD634C312B7D}" { + Prefab "{5DF4AD634C312B7D}" + { + VerticalLayoutWidgetClass "{5DF4AD634C312B71}" { + Prefab "{5DF4AD634C312B71}" + { + OverlayWidgetClass "{5DF4AD634C312B8B}" { + Prefab "{5DF4AD634C312B8B}" + { + VerticalLayoutWidgetClass "{5DF4AD6212638B9A}" { + Prefab "{5DF4AD6212638B9A}" + components { + SCR_TabViewComponent "{546B27D01CA8A38D}" { + m_aElements { + SCR_TabViewContent "{64475E8B3FBE157D}" { + m_bEnabled 1 + } + } + } + } + } + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta b/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta new file mode 100644 index 0000000..927d69f --- /dev/null +++ b/addons/ui/UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{72AB54EEF4635373}UI/layouts/Menus/SettingsMenu/SettingsSuperMenu.layout" + Configurations { + LayoutResourceClass PC { + } + LayoutResourceClass XBOX_ONE : PC { + } + LayoutResourceClass XBOX_SERIES : PC { + } + LayoutResourceClass PS4 : PC { + } + LayoutResourceClass PS5 : PC { + } + LayoutResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/ui/addon.gproj b/addons/ui/addon.gproj new file mode 100644 index 0000000..a98858f --- /dev/null +++ b/addons/ui/addon.gproj @@ -0,0 +1,83 @@ +GameProject { + ID "ACE_UI" + GUID "64475DC102F2BDA4" + TITLE "ACE UI" + Dependencies { + "60C4CE4888FF4621" "58D0FB3206B6F859" + } + Configurations { + GameProjectConfig PC { + WidgetManagerSettings WidgetManagerSettings "{AC4BE58770485E02}" { + StringTables { + StringTableDefinition "{64482648F88CE023}" { + StringTableSource "{C4D719716B02B0B1}Language/ACE_UI_language.st" + Languages { + LanguageDefinition "{64482648FE8E786E}" { + Code "cs_cz" + StringTableRuntime "{BF1E2012E3DEE9C1}Language/ACE_UI_language.cs_cz.conf" + } + LanguageDefinition "{64482648FE8987CB}" { + Code "de_de" + StringTableRuntime "{6A603A21F07DF8E1}Language/ACE_UI_language.de_de.conf" + } + LanguageDefinition "{64482648FE8987EF}" { + Code "en_us" + StringTableRuntime "{3490B06A9A8EFDE0}Language/ACE_UI_language.en_us.conf" + } + LanguageDefinition "{64482648FE89870D}" { + Code "es_es" + StringTableRuntime "{F1DCFDE3748C96FF}Language/ACE_UI_language.es_es.conf" + } + LanguageDefinition "{64482648FE898729}" { + Code "fr_fr" + StringTableRuntime "{4A7408D4920F75FD}Language/ACE_UI_language.fr_fr.conf" + } + LanguageDefinition "{64482648FE89877F}" { + Code "it_it" + StringTableRuntime "{CA6887E03F2DF604}Language/ACE_UI_language.it_it.conf" + } + LanguageDefinition "{64482648FE89869A}" { + Code "ja_jp" + StringTableRuntime "{DA733A72015CC6AF}Language/ACE_UI_language.ja_jp.conf" + } + LanguageDefinition "{64482648FE8986B6}" { + Code "ko_kr" + StringTableRuntime "{7ACD12DE9271C590}Language/ACE_UI_language.ko_kr.conf" + } + LanguageDefinition "{64482648FE8986D3}" { + Code "pl_pl" + StringTableRuntime "{26BCB4242C9E59EC}Language/ACE_UI_language.pl_pl.conf" + } + LanguageDefinition "{64482648FE8986CF}" { + Code "pt_br" + StringTableRuntime "{F3CB2EE817609356}Language/ACE_UI_language.pt_br.conf" + } + LanguageDefinition "{64482648FE89861A}" { + Code "ru_ru" + StringTableRuntime "{A68A3A408A19F620}Language/ACE_UI_language.ru_ru.conf" + } + LanguageDefinition "{64482648FE89863A}" { + Code "uk_ua" + StringTableRuntime "{2CD26FB6E6374875}Language/ACE_UI_language.uk_ua.conf" + } + LanguageDefinition "{64482648FE8985B6}" { + Code "zh_cn" + StringTableRuntime "{F662018BDF979868}Language/ACE_UI_language.zh_cn.conf" + } + } + } + } + } + } + GameProjectConfig XBOX_ONE { + } + GameProjectConfig XBOX_SERIES { + } + GameProjectConfig PS4 { + } + GameProjectConfig PS5 { + } + GameProjectConfig HEADLESS { + } + } +} \ No newline at end of file diff --git a/addons/ui/license.txt b/addons/ui/license.txt new file mode 100644 index 0000000..6ebf24c --- /dev/null +++ b/addons/ui/license.txt @@ -0,0 +1,18 @@ +ACE Anvil - An experimental realism mod for Arma Reforger +Copyright (C) 2024 acemod + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +When publishing a derivative of this product you may not use a name that +might create the impression that your version is an official release. + +A full copy of this license can be found at the following address: +https://github.com/acemod/ACE-Anvil/blob/master/LICENSE. diff --git a/addons/ui/scripts/Game/ACE_UI/Settings/ACE_RadioSettingsModule.c b/addons/ui/scripts/Game/ACE_UI/Settings/ACE_RadioSettingsModule.c new file mode 100644 index 0000000..256ce98 --- /dev/null +++ b/addons/ui/scripts/Game/ACE_UI/Settings/ACE_RadioSettingsModule.c @@ -0,0 +1,28 @@ +enum ACE_ERadioBeep +{ + OFF = 1 << 0, + NORMAL = 1 << 1, + LOW = 1 << 2, +} + +class ACE_RadioSettingsModule: ModuleGameSettings +{ + const string BEEPCH1 = "m_eBeepCh1"; + const string BEEPCH2 = "m_eBeepCh2"; + const string BEEPCYCLE = "m_bBeepCycle"; + + [Attribute(ACE_ERadioBeep.NORMAL.ToString(), uiwidget: UIWidgets.ComboBox, desc: "Sound to play when activating VoN Ch1", enums: ParamEnumArray.FromEnum(ACE_ERadioBeep))] + ACE_ERadioBeep m_eBeepCh1; + + [Attribute(ACE_ERadioBeep.LOW.ToString(), uiwidget: UIWidgets.ComboBox, desc: "Sound to play when activating VoN Ch2", enums: ParamEnumArray.FromEnum(ACE_ERadioBeep))] + ACE_ERadioBeep m_eBeepCh2; + + [Attribute("1", desc: "Should radio channel beep sound play when cycling transreceivers")] + bool m_bBeepCycle; + + //------------------------------------------------------------------------------------------------ + static BaseContainer GetInstance() + { + return GetGame().GetGameUserSettings().GetModule("ACE_RadioSettingsModule"); + } +} diff --git a/addons/ui/scripts/Game/ACE_UI/UI/ACE_SettingsSubMenu.c b/addons/ui/scripts/Game/ACE_UI/UI/ACE_SettingsSubMenu.c new file mode 100644 index 0000000..a1d7fab --- /dev/null +++ b/addons/ui/scripts/Game/ACE_UI/UI/ACE_SettingsSubMenu.c @@ -0,0 +1,94 @@ +modded class ACE_SettingsSubMenu : SCR_SettingsSubMenuBase +{ + //------------------------------------------------------------------------------------------------ + override void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index) + { + BaseContainer radioSettings = ACE_RadioSettingsModule.GetInstance(); + VerticalLayoutWidget wRadioRoot = VerticalLayoutWidget.Cast(m_wRoot.FindAnyWidget("ACE_UI_Radio")); + + super.OnTabCreate(menuRoot, buttonsLayout, index); + + if (!radioSettings || !wRadioRoot) + { + PrintFormat("Unable to load ACE_UI Radio settings: %1, %2", radioSettings, wRadioRoot, level: LogLevel.ERROR); + return; + } + + // Radio beep Ch1 + SCR_SelectionWidgetComponent checkBoxBeep1 = SCR_SelectionWidgetComponent.GetSelectionComponent("Beep_Ch1", wRadioRoot); + if (checkBoxBeep1) + { + int value; + radioSettings.Get(ACE_RadioSettingsModule.BEEPCH1, value); + + checkBoxBeep1.SetCurrentItem(value >> 1, false, false); //--- Shift the value, because it's a flag + checkBoxBeep1.m_OnChanged.Insert(SetBeepCh1); + } + else + { + Print("Radio setting 'Beep_Ch1' not found", LogLevel.WARNING); + } + + // Radio beep Ch2 + SCR_SelectionWidgetComponent checkBoxBeep2 = SCR_SelectionWidgetComponent.GetSelectionComponent("Beep_Ch2", wRadioRoot); + if (checkBoxBeep2) + { + int value; + radioSettings.Get(ACE_RadioSettingsModule.BEEPCH2, value); + + checkBoxBeep2.SetCurrentItem(value >> 1, false, false); //--- Shift the value, because it's a flag + checkBoxBeep2.m_OnChanged.Insert(SetBeepCh2); + } + else + { + Print("Radio setting 'Beep_Ch2' not found", LogLevel.WARNING); + } + + // Cycle transreceiver beep + SCR_SelectionWidgetComponent checkBoxCycle = SCR_SelectionWidgetComponent.GetSelectionComponent("Beep_Cycle", wRadioRoot); + if (checkBoxCycle) + { + bool value; + radioSettings.Get(ACE_RadioSettingsModule.BEEPCYCLE, value); + + checkBoxCycle.SetCurrentItem(value, false, false); + checkBoxCycle.m_OnChanged.Insert(SetBeepCycle); + } + else + { + Print("Radio setting 'Beep_Cycle' not found", LogLevel.WARNING); + } + } + + //------------------------------------------------------------------------------------------------ + protected void SetBeepCh1(SCR_SelectionWidgetComponent checkBox, int state) + { + SetBeepProp(checkBox, state, ACE_RadioSettingsModule.BEEPCH1); + } + + //------------------------------------------------------------------------------------------------ + protected void SetBeepCh2(SCR_SelectionWidgetComponent checkBox, int state) + { + SetBeepProp(checkBox, state, ACE_RadioSettingsModule.BEEPCH2); + } + + //------------------------------------------------------------------------------------------------ + protected void SetBeepProp(SCR_SelectionWidgetComponent checkBox, int state, string prop) + { + PrintFormat("SetBeepProp: %1, %2", prop, state, level: LogLevel.NORMAL); + + state = 1 << state; //--- Shift the value, because it's a flag + + ACE_RadioSettingsModule.GetInstance().Set(prop, state); + GetGame().UserSettingsChanged(); + } + + //------------------------------------------------------------------------------------------------ + protected void SetBeepCycle(SCR_SelectionWidgetComponent checkBox, bool state) + { + PrintFormat("SetBeepCycle: %1", state, level: LogLevel.NORMAL); + + ACE_RadioSettingsModule.GetInstance().Set(ACE_RadioSettingsModule.BEEPCYCLE, state); + GetGame().UserSettingsChanged(); + } +} diff --git a/addons/ui/scripts/Game/ACE_UI/VON/SCR_VONController.c b/addons/ui/scripts/Game/ACE_UI/VON/SCR_VONController.c new file mode 100644 index 0000000..60209d2 --- /dev/null +++ b/addons/ui/scripts/Game/ACE_UI/VON/SCR_VONController.c @@ -0,0 +1,86 @@ +modded class SCR_VONController: ScriptComponent +{ + const string ACE_SOUND_START_HIGH = "Sounds/ACE_UI/beep_high.wav"; + const string ACE_SOUND_START_LOW = "Sounds/ACE_UI/beep_low.wav"; + const string ACE_SOUND_END = "Sounds/ACE_UI/click_off.wav"; + + protected ACE_ERadioBeep m_eBeepTypeCh1; + protected ACE_ERadioBeep m_eBeepTypeCh2; + protected bool m_bBeepCycle; + + //------------------------------------------------------------------------------------------------ + override void OnPostInit(IEntity owner) + { + super.OnPostInit(owner); + + ACE_LoadSettings(); + GetGame().OnUserSettingsChangedInvoker().Insert(ACE_LoadSettings); + } + + //------------------------------------------------------------------------------------------------ + protected void ACE_LoadSettings() + { + BaseContainer settings = ACE_RadioSettingsModule.GetInstance(); + + settings.Get(ACE_RadioSettingsModule.BEEPCH1, m_eBeepTypeCh1); + settings.Get(ACE_RadioSettingsModule.BEEPCH2, m_eBeepTypeCh2); + settings.Get(ACE_RadioSettingsModule.BEEPCYCLE, m_bBeepCycle); + + PrintFormat("SCR_VONController.ACE_LoadSettings: %1, %2, %3", m_eBeepTypeCh1, m_eBeepTypeCh2, m_bBeepCycle, level: LogLevel.DEBUG); + } + + //------------------------------------------------------------------------------------------------ + protected string ACE_GetBeepSound(int transreceiverNumber) + { + ACE_ERadioBeep beepType; + if (transreceiverNumber == 1) + beepType = m_eBeepTypeCh1; + else + beepType = m_eBeepTypeCh2; + + switch (beepType) { + case ACE_ERadioBeep.LOW: + return ACE_SOUND_START_LOW; + case ACE_ERadioBeep.NORMAL: + return ACE_SOUND_START_HIGH; + } + + return ""; + } + + //------------------------------------------------------------------------------------------------ + override void SetActiveTransmit(notnull SCR_VONEntry entry) + { + if (m_ActiveEntry != entry && !m_bBeepCycle) + { + super.SetActiveTransmit(entry); + return; + } + + super.SetActiveTransmit(entry); + + SCR_VONEntryRadio radioEntry = SCR_VONEntryRadio.Cast(entry); + if (!radioEntry) + return; + + string beep = ACE_GetBeepSound(radioEntry.GetTransceiverNumber()); + if (beep != "") + // TODO use sound event SCR_UISoundEntity.SoundEvent(SCR_SoundEvent.SOUND_RADIO_TURN_OFF); + AudioSystem.PlaySound(beep); + } + + //------------------------------------------------------------------------------------------------ + override void DeactivateVON(EVONTransmitType transmitType = EVONTransmitType.NONE) + { + if (m_bIsActive) + { + if (transmitType != EVONTransmitType.DIRECT) + { + // TODO use sound event SCR_UISoundEntity.SoundEvent(SCR_SoundEvent.SOUND_RADIO_TURN_OFF); + AudioSystem.PlaySound(ACE_SOUND_END); + } + }; + + super.DeactivateVON(transmitType); + } +} diff --git a/addons/ui/thumbnail.png b/addons/ui/thumbnail.png new file mode 100644 index 0000000..3d42831 Binary files /dev/null and b/addons/ui/thumbnail.png differ