diff --git a/include/appstates/ExtrasMenuState.hpp b/include/appstates/ExtrasMenuState.hpp index 0236cbd..3314c23 100644 --- a/include/appstates/ExtrasMenuState.hpp +++ b/include/appstates/ExtrasMenuState.hpp @@ -1,6 +1,7 @@ #pragma once #include "appstates/BaseState.hpp" #include "sdl.hpp" +#include "ui/ControlGuide.hpp" #include "ui/Menu.hpp" /// @brief Extras menu. @@ -16,6 +17,9 @@ class ExtrasMenuState final : public BaseState /// @brief Updates the menu. void update() override; + /// @brief Sub-update routine. + void sub_update() override; + /// @brief Renders the menu to screen. void render() override; @@ -26,6 +30,9 @@ class ExtrasMenuState final : public BaseState /// @brief Render target for menu. sdl::SharedTexture m_renderTarget{}; + /// @brief Control guider for bottom right corner. + std::shared_ptr m_controlGuide{}; + /// @brief Creates and loads the menu strings. void initialize_menu(); diff --git a/romfs/Text/DE.json b/romfs/Text/DE.json index ace37a1..a5eeb33 100644 --- a/romfs/Text/DE.json +++ b/romfs/Text/DE.json @@ -34,7 +34,8 @@ "1: [A] Auswählen [L] [R] Springen [Y] Favorit [X] Titeloptionen [B] Zurück", "2: [A] Auswählen [Y] Wiederherstellen [X] Löschen [ZR] Hochladen [B] Schließen", "3: [A] Umschalten [-] Beschreibung [X] Standardwerte [B] Zurück", - "4: [A] Eingeben [B] Zurück/Hoch [X] Optionen [ZL]/[ZR] Ziel wechseln [-] Schließen" + "4: [A] Eingeben [B] Zurück/Hoch [X] Optionen [ZL]/[ZR] Ziel wechseln [-] Schließen", + "5: [A] Auswählen" ], "DataLoadingStatus": [ "0: Benutzerkonten vom System werden geladen...", diff --git a/romfs/Text/ENGB.json b/romfs/Text/ENGB.json index 26171c8..5c8d17a 100644 --- a/romfs/Text/ENGB.json +++ b/romfs/Text/ENGB.json @@ -34,7 +34,8 @@ "1: [A] Select [L] [R] Jump [Y] Favourite [X] Title Options [B] Back", "2: [A] Select [Y] Restore [X] Delete [ZR] Upload [B] Close", "3: [A] Toggle [-] Description [X] Defaults [B] Back", - "4: [A] Enter [B] Back/Up [X] Options [ZL]/[ZR] Change Target [-] Close" + "4: [A] Enter [B] Back/Up [X] Options [ZL]/[ZR] Change Target [-] Close", + "5: [A] Select" ], "DataLoadingStatus": [ "0: Loading user accounts from system...", diff --git a/romfs/Text/ENUS.json b/romfs/Text/ENUS.json index 011b069..cc4a563 100644 --- a/romfs/Text/ENUS.json +++ b/romfs/Text/ENUS.json @@ -34,7 +34,8 @@ "1: [A] Select [L] [R] Jump [Y] Favorite [X] Title Options [B] Back", "2: [A] Select [Y] Restore [X] Delete [ZR] Upload [B] Close", "3: [A] Toggle [-] Description [X] Defaults [B] Back", - "4: [A] Enter [B] Back/Up [X] Options [ZL]/[ZR] Change Target [-] Close" + "4: [A] Enter [B] Back/Up [X] Options [ZL]/[ZR] Change Target [-] Close", + "5: [A] Select" ], "DataLoadingStatus": [ "0: Loading user accounts from system...", diff --git a/romfs/Text/ES.json b/romfs/Text/ES.json index 8259a6d..1c7f55a 100644 --- a/romfs/Text/ES.json +++ b/romfs/Text/ES.json @@ -34,7 +34,8 @@ "1: [A] Seleccionar [L] [R] Saltar [Y] Favorito [X] Opciones de título [B] Volver", "2: [A] Seleccionar [Y] Restaurar [X] Eliminar [ZR] Subir [B] Cerrar", "3: [A] Alternar [-] Descripción [X] Valores por defecto [B] Volver", - "4: [A] Aceptar [B] Atrás/Arriba [X] Opciones [ZL]/[ZR] Cambiar objetivo [-] Cerrar" + "4: [A] Aceptar [B] Atrás/Arriba [X] Opciones [ZL]/[ZR] Cambiar objetivo [-] Cerrar", + "5: [A] Seleccionar" ], "DataLoadingStatus": [ "0: Cargando cuentas de usuario desde el sistema...", diff --git a/romfs/Text/ES419.json b/romfs/Text/ES419.json index 82daccc..12e7f7f 100644 --- a/romfs/Text/ES419.json +++ b/romfs/Text/ES419.json @@ -34,7 +34,8 @@ "1: [A] Seleccionar [L] [R] Saltar [Y] Favorito [X] Opciones del título [B] Atrás", "2: [A] Seleccionar [Y] Restaurar [X] Eliminar [ZR] Subir [B] Cerrar", "3: [A] Alternar [-] Descripción [X] Predeterminados [B] Atrás", - "4: [A] Aceptar [B] Atrás/Arriba [X] Opciones [ZL]/[ZR] Cambiar objetivo [-] Cerrar" + "4: [A] Aceptar [B] Atrás/Arriba [X] Opciones [ZL]/[ZR] Cambiar objetivo [-] Cerrar", + "5: [A] Seleccionar" ], "DataLoadingStatus": [ "0: Cargando cuentas de usuario desde el sistema...", diff --git a/romfs/Text/FR.json b/romfs/Text/FR.json index cdb7e8d..224ff53 100644 --- a/romfs/Text/FR.json +++ b/romfs/Text/FR.json @@ -34,7 +34,8 @@ "1: [A] Sélectionner [L] [R] Sauter [Y] Favori [X] Options du titre [B] Retour", "2: [A] Sélectionner [Y] Restaurer [X] Supprimer [ZR] Téléverser [B] Fermer", "3: [A] Basculer [-] Description [X] Valeurs par défaut [B] Retour", - "4: [A] Entrée [B] Retour/Haut [X] Options [ZL]/[ZR] Changer cible [-] Fermer" + "4: [A] Entrée [B] Retour/Haut [X] Options [ZL]/[ZR] Changer cible [-] Fermer", + "5: [A] Sélectionner" ], "DataLoadingStatus": [ "0: Chargement des comptes utilisateur depuis le système...", diff --git a/romfs/Text/FRCA.json b/romfs/Text/FRCA.json index f7a43b9..4fde211 100644 --- a/romfs/Text/FRCA.json +++ b/romfs/Text/FRCA.json @@ -34,7 +34,8 @@ "1: [A] Sélectionner [L] [R] Sauter [Y] Favori [X] Options du titre [B] Retour", "2: [A] Sélectionner [Y] Restaurer [X] Supprimer [ZR] Téléverser [B] Fermer", "3: [A] Basculer [-] Description [X] Valeurs par défaut [B] Retour", - "4: [A] Entrée [B] Retour/Haut [X] Options [ZL]/[ZR] Changer la cible [-] Fermer" + "4: [A] Entrée [B] Retour/Haut [X] Options [ZL]/[ZR] Changer la cible [-] Fermer", + "5: [A] Sélectionner" ], "DataLoadingStatus": [ "0: Chargement des comptes utilisateur depuis le système...", diff --git a/romfs/Text/IT.json b/romfs/Text/IT.json index 820959b..c74a422 100644 --- a/romfs/Text/IT.json +++ b/romfs/Text/IT.json @@ -34,7 +34,8 @@ "1: [A] Seleziona [L] [R] Salta [Y] Preferito [X] Opzioni titolo [B] Indietro", "2: [A] Seleziona [Y] Ripristina [X] Elimina [ZR] Carica [B] Chiudi", "3: [A] Attiva/disattiva [-] Descrizione [X] Predefiniti [B] Indietro", - "4: [A] Conferma [B] Indietro/Su [X] Opzioni [ZL]/[ZR] Cambia obiettivo [-] Chiudi" + "4: [A] Conferma [B] Indietro/Su [X] Opzioni [ZL]/[ZR] Cambia obiettivo [-] Chiudi", + "5: [A] Seleziona" ], "DataLoadingStatus": [ "0: Caricamento account utente dal sistema...", diff --git a/romfs/Text/JA.json b/romfs/Text/JA.json index 350f340..874b764 100644 --- a/romfs/Text/JA.json +++ b/romfs/Text/JA.json @@ -34,7 +34,8 @@ "1: [A] 選択 [L] [R] ジャンプ [Y] お気に入り [X] タイトル オプション [B] 戻る", "2: [A] 選択 [Y] 復元 [X] 削除 [ZR] アップロード [B] 閉じる", "3: [A] トグル [-] 説明 [X] デフォルト [B] 戻る", - "4: [A] 決定 [B] 戻る/上 [X] オプション [ZL]/[ZR] ターゲット切替 [-] 閉じる" + "4: [A] 決定 [B] 戻る/上 [X] オプション [ZL]/[ZR] ターゲット切替 [-] 閉じる", + "5: [A] 選択" ], "DataLoadingStatus": [ "0: システムからユーザーアカウントを読み込み中...", diff --git a/romfs/Text/KO.json b/romfs/Text/KO.json index 6e5c6db..c9fa0a0 100644 --- a/romfs/Text/KO.json +++ b/romfs/Text/KO.json @@ -34,7 +34,8 @@ "1: [A] 선택 [L] [R] 점프 [Y] 즐겨찾기 [X] 타이틀 옵션 [B] 뒤로", "2: [A] 선택 [Y] 복원 [X] 삭제 [ZR] 업로드 [B] 닫기", "3: [A] 토글 [-] 설명 [X] 기본값 [B] 뒤로", - "4: [A] 선택 [B] 뒤로/위 [X] 옵션 [ZL]/[ZR] 대상 변경 [-] 닫기" + "4: [A] 선택 [B] 뒤로/위 [X] 옵션 [ZL]/[ZR] 대상 변경 [-] 닫기", + "5: [A] 선택" ], "DataLoadingStatus": [ "0: 시스템에서 사용자 계정을 불러오는 중...", diff --git a/romfs/Text/NL.json b/romfs/Text/NL.json index 11affd1..77254cb 100644 --- a/romfs/Text/NL.json +++ b/romfs/Text/NL.json @@ -34,7 +34,8 @@ "1: [A] Selecteer [L] [R] Spring [Y] Favoriet [X] Titelopties [B] Terug", "2: [A] Selecteer [Y] Herstel [X] Verwijder [ZR] Upload [B] Sluit", "3: [A] Wissel [-] Beschrijving [X] Standaardinstellingen [B] Terug", - "4: [A] Bevestigen [B] Terug/Omhoog [X] Opties [ZL]/[ZR] Doel wijzigen [-] Sluiten" + "4: [A] Bevestigen [B] Terug/Omhoog [X] Opties [ZL]/[ZR] Doel wijzigen [-] Sluiten", + "5: [A] Selecteer" ], "DataLoadingStatus": [ "0: Gebruikersaccounts laden vanuit het systeem...", diff --git a/romfs/Text/PT.json b/romfs/Text/PT.json index bf193f2..dce8a3c 100644 --- a/romfs/Text/PT.json +++ b/romfs/Text/PT.json @@ -34,7 +34,8 @@ "1: [A] Selecionar [L] [R] Saltar [Y] Favorito [X] Opções do Título [B] Voltar", "2: [A] Selecionar [Y] Restaurar [X] Eliminar [ZR] Enviar [B] Fechar", "3: [A] Alternar [-] Descrição [X] Padrões [B] Voltar", - "4: [A] Entrar [B] Voltar/Cima [X] Opções [ZL]/[ZR] Alterar alvo [-] Fechar" + "4: [A] Entrar [B] Voltar/Cima [X] Opções [ZL]/[ZR] Alterar alvo [-] Fechar", + "5: [A] Selecionar" ], "DataLoadingStatus": [ "0: A carregar contas de utilizador a partir do sistema...", diff --git a/romfs/Text/PTBR.json b/romfs/Text/PTBR.json index 61c7a01..2dac5e3 100644 --- a/romfs/Text/PTBR.json +++ b/romfs/Text/PTBR.json @@ -34,7 +34,8 @@ "1: [A] Selecionar [L] [R] Pular [Y] Favorito [X] Opções do Título [B] Voltar", "2: [A] Selecionar [Y] Restaurar [X] Deletar [ZR] Enviar [B] Fechar", "3: [A] Alternar [-] Descrição [X] Padrões [B] Voltar", - "4: [A] Entrar [B] Voltar/Cima [X] Opções [ZL]/[ZR] Alterar alvo [-] Fechar" + "4: [A] Entrar [B] Voltar/Cima [X] Opções [ZL]/[ZR] Alterar alvo [-] Fechar", + "5: [A] Selecionar" ], "DataLoadingStatus": [ "0: Carregando contas de usuário do sistema...", diff --git a/romfs/Text/RU.json b/romfs/Text/RU.json index cd55a22..089f6cf 100644 --- a/romfs/Text/RU.json +++ b/romfs/Text/RU.json @@ -34,7 +34,8 @@ "1: [A] Выбрать [L] [R] Прыжок [Y] В избранное [X] Опции заголовка [B] Назад", "2: [A] Выбрать [Y] Восстановить [X] Удалить [ZR] Загрузить [B] Закрыть", "3: [A] Переключить [-] Описание [X] По умолчанию [B] Назад", - "4: [A] Ввести [B] Назад/Вверх [X] Опции [ZL]/[ZR] Сменить цель [-] Закрыть" + "4: [A] Ввести [B] Назад/Вверх [X] Опции [ZL]/[ZR] Сменить цель [-] Закрыть", + "5: [A] Выбрать" ], "DataLoadingStatus": [ "0: Загрузка учетных записей пользователей из системы...", diff --git a/romfs/Text/ZHCN.json b/romfs/Text/ZHCN.json index 4b5f28c..6acf0c6 100644 --- a/romfs/Text/ZHCN.json +++ b/romfs/Text/ZHCN.json @@ -34,7 +34,8 @@ "1: [A] 选择 [L] [R] 跳转 [Y] 设为收藏 [X] 标题选项 [B] 返回", "2: [A] 选择 [Y] 恢复 [X] 删除 [ZR] 上传 [B] 关闭", "3: [A] 切换 [-] 描述 [X] 默认 [B] 返回", - "4: [A] 确认 [B] 返回/上 [X] 选项 [ZL]/[ZR] 切换目标 [-] 关闭" + "4: [A] 确认 [B] 返回/上 [X] 选项 [ZL]/[ZR] 切换目标 [-] 关闭", + "5: [A] 选择" ], "DataLoadingStatus": [ "0: 从系统加载用户账户...", diff --git a/romfs/Text/ZHTW.json b/romfs/Text/ZHTW.json index a4999e4..66c19f8 100644 --- a/romfs/Text/ZHTW.json +++ b/romfs/Text/ZHTW.json @@ -34,7 +34,8 @@ "1: [A] 選擇 [L] [R] 翻頁 [Y] 最愛 [X] 遊戲選項 [B] 返回", "2: [A] 選擇 [Y] 還原 [X] 刪除 [ZR] 上傳 [B] 關閉", "3: [A] 切換 [-] 描述 [X] 預設 [B] 返回", - "4: [A] 確認 [B] 返回/上 [X] 選項 [ZL]/[ZR] 切換目標 [-] 關閉" + "4: [A] 確認 [B] 返回/上 [X] 選項 [ZL]/[ZR] 切換目標 [-] 關閉", + "5: [A] 選擇" ], "DataLoadingStatus": [ "0: 從系統載入使用者帳號...", diff --git a/source/appstates/ExtrasMenuState.cpp b/source/appstates/ExtrasMenuState.cpp index f59cbc5..e3dc6e0 100644 --- a/source/appstates/ExtrasMenuState.cpp +++ b/source/appstates/ExtrasMenuState.cpp @@ -35,6 +35,7 @@ static void finish_reinitialization(); ExtrasMenuState::ExtrasMenuState() : m_renderTarget(sdl::TextureManager::load(SECONDARY_TARGET, 1080, 555, SDL_TEXTUREACCESS_TARGET)) + , m_controlGuide(ui::ControlGuide::create(strings::get_by_name(strings::names::CONTROL_GUIDES, 5))) { ExtrasMenuState::initialize_menu(); } @@ -46,6 +47,7 @@ void ExtrasMenuState::update() const bool bPressed = input::button_pressed(HidNpadButton_B); m_extrasMenu->update(hasFocus); + m_controlGuide->update(hasFocus); if (aPressed) { @@ -63,6 +65,8 @@ void ExtrasMenuState::update() else if (bPressed) { BaseState::deactivate(); } } +void ExtrasMenuState::sub_update() { m_controlGuide->sub_update(); } + void ExtrasMenuState::render() { const bool hasFocus = BaseState::has_focus(); @@ -70,6 +74,7 @@ void ExtrasMenuState::render() m_renderTarget->clear(colors::TRANSPARENT); m_extrasMenu->render(m_renderTarget, hasFocus); m_renderTarget->render(sdl::Texture::Null, 201, 91); + m_controlGuide->render(sdl::Texture::Null, hasFocus); } void ExtrasMenuState::initialize_menu()