From bf2d533ac575616f29c73d765c6947b44e196df2 Mon Sep 17 00:00:00 2001 From: Vlad Loktionov Date: Mon, 3 Apr 2023 16:59:10 +0300 Subject: [PATCH] Add "Quit to desktop" button in pause menu (#558) * Add "Quit to desktop" button in pause menu * classes & custom_weapons: fix for SP * "Quit to desktop" button for MP --- data/cdata/ui_scripts/classes/__init__.lua | 2 +- .../ui_scripts/custom_weapons/__init__.lua | 2 +- data/cdata/ui_scripts/patches/__init__.lua | 1 + data/cdata/ui_scripts/patches/pausequit.lua | 32 +++++++++++++++++++ .../localizedstrings/english.json | 3 +- data/zonetool/localizedstrings/french.json | 1 + data/zonetool/localizedstrings/german.json | 1 + data/zonetool/localizedstrings/italian.json | 3 +- .../localizedstrings/japanese_partial.json | 1 + data/zonetool/localizedstrings/korean.json | 1 + data/zonetool/localizedstrings/polish.json | 1 + .../zonetool/localizedstrings/portuguese.json | 1 + data/zonetool/localizedstrings/russian.json | 1 + .../localizedstrings/simplified_chinese.json | 1 + data/zonetool/localizedstrings/spanish.json | 1 + .../localizedstrings/traditional_chinese.json | 1 + 16 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 data/cdata/ui_scripts/patches/pausequit.lua diff --git a/data/cdata/ui_scripts/classes/__init__.lua b/data/cdata/ui_scripts/classes/__init__.lua index b555a121..f1c997ee 100644 --- a/data/cdata/ui_scripts/classes/__init__.lua +++ b/data/cdata/ui_scripts/classes/__init__.lua @@ -1,4 +1,4 @@ -if (Engine.InFrontend()) then +if game:issingleplayer() or (Engine.InFrontend()) then return end diff --git a/data/cdata/ui_scripts/custom_weapons/__init__.lua b/data/cdata/ui_scripts/custom_weapons/__init__.lua index 101e1b69..7adcd8fb 100644 --- a/data/cdata/ui_scripts/custom_weapons/__init__.lua +++ b/data/cdata/ui_scripts/custom_weapons/__init__.lua @@ -1,4 +1,4 @@ -if (not Engine.InFrontend()) then +if game:issingleplayer() or (not Engine.InFrontend()) then return end diff --git a/data/cdata/ui_scripts/patches/__init__.lua b/data/cdata/ui_scripts/patches/__init__.lua index 6e0cc090..c8776663 100644 --- a/data/cdata/ui_scripts/patches/__init__.lua +++ b/data/cdata/ui_scripts/patches/__init__.lua @@ -1,5 +1,6 @@ require("language") require("background_effects") +require("pausequit") if game:issingleplayer() then require("sp_unlockall") diff --git a/data/cdata/ui_scripts/patches/pausequit.lua b/data/cdata/ui_scripts/patches/pausequit.lua new file mode 100644 index 00000000..224e944a --- /dev/null +++ b/data/cdata/ui_scripts/patches/pausequit.lua @@ -0,0 +1,32 @@ +if (Engine.InFrontend()) then + return +end + +if game:issingleplayer() and Engine.GetDvarString("mapname") == "coup" then + LUI.onmenuopen("sp_pause_menu", function(element) + local menu = element:getFirstChild() + menu:AddButton("@MENU_SP_SKIP_MISSION", function() + Engine.Exec("map blackout") + end) + end) +end + +if game:issingleplayer() then + LUI.onmenuopen("sp_pause_menu", function(element) + local menu = element:getFirstChild() + menu:AddButton("@MENU_QUIT_TO_DESKTOP", function() + LUI.FlowManager.RequestAddMenu(nil, "quit_popmenu") + end) + end) +end + +if not game:issingleplayer() then + local quitToDesktop = function() + LUI.FlowManager.RequestAddMenu(nil, "quit_popmenu") + end + local addQuitButton = function(element) + local menu = element + menu:AddButton("@MENU_QUIT_TO_DESKTOP", quitToDesktop) + end + LUI.onmenuopen("mp_pause_menu", addQuitButton) +end diff --git a/data/zonetool/h1_mod_common/localizedstrings/english.json b/data/zonetool/h1_mod_common/localizedstrings/english.json index d01eb2ab..989ede95 100644 --- a/data/zonetool/h1_mod_common/localizedstrings/english.json +++ b/data/zonetool/h1_mod_common/localizedstrings/english.json @@ -95,5 +95,6 @@ "LOCALE_RUSSIAN": "Russian", "LOCALE_SIMPLIFIED_CHINESE": "Simplified Chinese", "LOCALE_SPANISH": "Spanish", - "LOCALE_TRADITIONAL_CHINESE": "Traditional Chinese" + "LOCALE_TRADITIONAL_CHINESE": "Traditional Chinese", + "MENU_QUIT_TO_DESKTOP": "Quit to Desktop" } \ No newline at end of file diff --git a/data/zonetool/localizedstrings/french.json b/data/zonetool/localizedstrings/french.json index 48fcaddc..d29a48fc 100644 --- a/data/zonetool/localizedstrings/french.json +++ b/data/zonetool/localizedstrings/french.json @@ -45,6 +45,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "Chinois simplifié", "LOCALE_SPANISH": "Espagnol", "LOCALE_TRADITIONAL_CHINESE": "Chinois traditionnel", + "MENU_QUIT_TO_DESKTOP": "Retour au bureau", "LUA_MENU_CHOOSE_LANGUAGE": "Choisissez la langue", "LUA_MENU_CHOOSE_LANGUAGE_DESC": "Choisissez la langue." diff --git a/data/zonetool/localizedstrings/german.json b/data/zonetool/localizedstrings/german.json index ab9a9770..c7d87f34 100644 --- a/data/zonetool/localizedstrings/german.json +++ b/data/zonetool/localizedstrings/german.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "Vereinfachtes Chinesisch", "LOCALE_SPANISH": "Spanisch", "LOCALE_TRADITIONAL_CHINESE": "Traditionelles Chinesisch", + "MENU_QUIT_TO_DESKTOP": "Zum Desktop", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "Alle Missionen freischalten", "LUA_MENU_CANCEL_UNLOCK_CAPS": "Freischalten abbrechen" } \ No newline at end of file diff --git a/data/zonetool/localizedstrings/italian.json b/data/zonetool/localizedstrings/italian.json index af0a304d..cd50ace6 100644 --- a/data/zonetool/localizedstrings/italian.json +++ b/data/zonetool/localizedstrings/italian.json @@ -26,5 +26,6 @@ "LOCALE_RUSSIAN": "Russo", "LOCALE_SIMPLIFIED_CHINESE": "Cinese semplificato", "LOCALE_SPANISH": "Spagnolo", - "LOCALE_TRADITIONAL_CHINESE": "Cinese tradizionale" + "LOCALE_TRADITIONAL_CHINESE": "Cinese tradizionale", + "MENU_QUIT_TO_DESKTOP": "Esci e torna al desktop" } \ No newline at end of file diff --git a/data/zonetool/localizedstrings/japanese_partial.json b/data/zonetool/localizedstrings/japanese_partial.json index e9066310..dacb82da 100644 --- a/data/zonetool/localizedstrings/japanese_partial.json +++ b/data/zonetool/localizedstrings/japanese_partial.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "簡体字中国語", "LOCALE_SPANISH": "スペイン語", "LOCALE_TRADITIONAL_CHINESE": "繁体字中国語", + "MENU_QUIT_TO_DESKTOP": "デスクトップに戻る", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "全ミッションをアンロック", "LUA_MENU_CANCEL_UNLOCK_CAPS": "アンロックをキャンセル" diff --git a/data/zonetool/localizedstrings/korean.json b/data/zonetool/localizedstrings/korean.json index 96972e89..00a32abc 100644 --- a/data/zonetool/localizedstrings/korean.json +++ b/data/zonetool/localizedstrings/korean.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "중국어(간체)", "LOCALE_SPANISH": "스페인어", "LOCALE_TRADITIONAL_CHINESE": "중국어(번체)", + "MENU_QUIT_TO_DESKTOP": "데스크탑으로 나가기", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "모든 임무 잠금 해제", "LUA_MENU_CANCEL_UNLOCK_CAPS": "잠금 해제 취소" diff --git a/data/zonetool/localizedstrings/polish.json b/data/zonetool/localizedstrings/polish.json index e8323a37..30318415 100644 --- a/data/zonetool/localizedstrings/polish.json +++ b/data/zonetool/localizedstrings/polish.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "Chiński uproszczony", "LOCALE_SPANISH": "Hiszpański", "LOCALE_TRADITIONAL_CHINESE": "Chiński tradycyjny", + "MENU_QUIT_TO_DESKTOP": "Wyjdź do pulpitu", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "Odblokuj wszystkie misje", "LUA_MENU_CANCEL_UNLOCK_CAPS": "Anuluj odblokowanie" diff --git a/data/zonetool/localizedstrings/portuguese.json b/data/zonetool/localizedstrings/portuguese.json index cfcbf86d..aed9edfb 100644 --- a/data/zonetool/localizedstrings/portuguese.json +++ b/data/zonetool/localizedstrings/portuguese.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "Chinês simplificado", "LOCALE_SPANISH": "Español", "LOCALE_TRADITIONAL_CHINESE": "Chinês tradicional", + "MENU_QUIT_TO_DESKTOP": "Sair para a área de trabalho", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "Desbloquear todas as missões", "LUA_MENU_CANCEL_UNLOCK_CAPS": "Cancelar desbloqueio" diff --git a/data/zonetool/localizedstrings/russian.json b/data/zonetool/localizedstrings/russian.json index 6e4dea4c..a49b64ba 100644 --- a/data/zonetool/localizedstrings/russian.json +++ b/data/zonetool/localizedstrings/russian.json @@ -48,6 +48,7 @@ "LOCALE_SPANISH": "Испанский", "LOCALE_TRADITIONAL_CHINESE": "Китайский традиционный", "LUA_MENU_DOWNLOAD": "Скачать", + "MENU_QUIT_TO_DESKTOP": "Выйти на рабочий стол", "MPUI_MP44": "MP-44", "WEAPON_AT4": "AT4", diff --git a/data/zonetool/localizedstrings/simplified_chinese.json b/data/zonetool/localizedstrings/simplified_chinese.json index b534cfef..069d21a5 100644 --- a/data/zonetool/localizedstrings/simplified_chinese.json +++ b/data/zonetool/localizedstrings/simplified_chinese.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "简体中文", "LOCALE_SPANISH": "西班牙语", "LOCALE_TRADITIONAL_CHINESE": "繁体中文", + "MENU_QUIT_TO_DESKTOP": "退至桌面", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "解锁全部任务", "LUA_MENU_CANCEL_UNLOCK_CAPS": "取消解锁" diff --git a/data/zonetool/localizedstrings/spanish.json b/data/zonetool/localizedstrings/spanish.json index bdebeb16..d4d420be 100644 --- a/data/zonetool/localizedstrings/spanish.json +++ b/data/zonetool/localizedstrings/spanish.json @@ -16,6 +16,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "Chino simplificado", "LOCALE_SPANISH": "Español", "LOCALE_TRADITIONAL_CHINESE": "Chino tradicional", + "MENU_QUIT_TO_DESKTOP": "Salir al escritorio", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "Desbloquear todas las misiones", "LUA_MENU_CANCEL_UNLOCK_CAPS": "Cancelar desbloqueo" diff --git a/data/zonetool/localizedstrings/traditional_chinese.json b/data/zonetool/localizedstrings/traditional_chinese.json index cd9a5b72..7c7ea96f 100644 --- a/data/zonetool/localizedstrings/traditional_chinese.json +++ b/data/zonetool/localizedstrings/traditional_chinese.json @@ -17,6 +17,7 @@ "LOCALE_SIMPLIFIED_CHINESE": "簡體中文", "LOCALE_SPANISH": "西班牙文", "LOCALE_TRADITIONAL_CHINESE": "繁體中文", + "MENU_QUIT_TO_DESKTOP": "返回桌面", "LUA_MENU_CAMPAIGN_UNLOCKED_ALL_TITLE": "解鎖所有任務", "LUA_MENU_CANCEL_UNLOCK_CAPS": "取消解鎖"