1
0
Fork 0
mirror of https://github.com/HamletDuFromage/aio-switch-updater.git synced 2024-12-28 18:36:02 +00:00

superate menus for regular cheat codes and gfx cheat codes

This commit is contained in:
flb 2023-05-26 21:43:26 +02:00
parent e6951c5378
commit 057252db92
16 changed files with 123 additions and 39 deletions

View file

@ -70,6 +70,16 @@ public:
AppPage_Gbatemp(); AppPage_Gbatemp();
}; };
class AppPage_Gfx : public AppPage
{
private:
void CreateLabel() override;
void AddListItem(const std::string& name, uint64_t tid) override;
public:
AppPage_Gfx();
};
class AppPage_DownloadedCheats : public AppPage class AppPage_DownloadedCheats : public AppPage
{ {
private: private:

View file

@ -54,6 +54,8 @@ constexpr const char LOOKUP_TABLE_URL[] = "https://raw.githubusercontent.com/Ham
constexpr const char LOOKUP_TABLE_CBOR[] = "https://github.com/HamletDuFromage/switch-cheats-db/raw/master/versions.cbor"; constexpr const char LOOKUP_TABLE_CBOR[] = "https://github.com/HamletDuFromage/switch-cheats-db/raw/master/versions.cbor";
constexpr const char VERSIONS_DIRECTORY[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/versions/"; constexpr const char VERSIONS_DIRECTORY[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/versions/";
constexpr const char CHEATS_DIRECTORY[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/cheats/"; constexpr const char CHEATS_DIRECTORY[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/cheats/";
constexpr const char CHEATS_DIRECTORY_GBATEMP[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/cheats_gbatemp/";
constexpr const char CHEATS_DIRECTORY_GFX[] = "https://raw.githubusercontent.com/HamletDuFromage/switch-cheats-db/master/cheats_gfx/";
constexpr const char CHEATSLIPS_CHEATS_URL[] = "https://www.cheatslips.com/api/v1/cheats/"; constexpr const char CHEATSLIPS_CHEATS_URL[] = "https://www.cheatslips.com/api/v1/cheats/";
constexpr const char CHEATSLIPS_TOKEN_URL[] = "https://www.cheatslips.com/api/v1/token"; constexpr const char CHEATSLIPS_TOKEN_URL[] = "https://www.cheatslips.com/api/v1/token";
constexpr const char TOKEN_PATH[] = "/config/aio-switch-updater/token.json"; constexpr const char TOKEN_PATH[] = "/config/aio-switch-updater/token.json";

View file

@ -6,6 +6,8 @@
#include <filesystem> #include <filesystem>
#include <json.hpp> #include <json.hpp>
#include "constants.hpp"
namespace cheats_util { namespace cheats_util {
u32 GetVersion(uint64_t title_id); u32 GetVersion(uint64_t title_id);
void ShowCheatFiles(uint64_t tid, const std::string& name); void ShowCheatFiles(uint64_t tid, const std::string& name);
@ -64,11 +66,33 @@ public:
DownloadCheatsPage_CheatSlips(uint64_t tid, const std::string& name); DownloadCheatsPage_CheatSlips(uint64_t tid, const std::string& name);
}; };
class DownloadCheatsPage_GbaTemp : public DownloadCheatsPage class DownloadCheatsPage_Github : public DownloadCheatsPage
{ {
private: private:
brls::ListItem* listItem; brls::ListItem* listItem;
public: public:
DownloadCheatsPage_GbaTemp(uint64_t tid, const std::string& name); DownloadCheatsPage_Github(uint64_t tid, const std::string& name);
void PopulateList(uint64_t tid, const std::string& name);
protected:
virtual std::string get_url() { return CHEATS_DIRECTORY; }
};
class DownloadCheatsPage_Gbatemp : public DownloadCheatsPage_Github
{
public:
DownloadCheatsPage_Gbatemp(uint64_t tid, const std::string& name);
private:
std::string get_url() override { return CHEATS_DIRECTORY_GBATEMP; }
};
class DownloadCheatsPage_Gfx : public DownloadCheatsPage_Github
{
public:
DownloadCheatsPage_Gfx(uint64_t tid, const std::string& name);
private:
std::string get_url() override { return CHEATS_DIRECTORY_GFX; }
}; };

View file

@ -16,7 +16,8 @@ private:
void createList(); void createList();
void createList(contentType type); void createList(contentType type);
void createCheatSlipItem(); void createCheatSlipItem();
void creategbatempItem(); void createGbatempItem();
void createGfxItem();
void setDescription(); void setDescription();
void setDescription(contentType type); void setDescription(contentType type);
void displayNotFound(); void displayNotFound();

View file

@ -37,9 +37,9 @@
"dl_all": "Das gesamte GBAtemp.net Cheat-Archiv herunterladen und enptacken", "dl_all": "Das gesamte GBAtemp.net Cheat-Archiv herunterladen und enptacken",
"delete_orphaned": "Verwaiste Cheat-Codes löschen", "delete_orphaned": "Verwaiste Cheat-Codes löschen",
"cheats_label": "\u25c6 Lade einzelne Cheat-Codes aus der GBAtemp.net-Datenbank oder Cheat-Sheets von Cheatlips herunter", "cheats_label": "\u25c6 Lade einzelne Cheat-Codes aus der GBAtemp.net-Datenbank oder Cheat-Sheets von Cheatlips herunter",
"gbatemp_dl": "Lade von GBAtemp.net verwaltete Cheat-Codes herunter. Diese Cheats werden am Ende deiner bestehenden Cheat-Datei hinzugefügt.", "bid_tid_info": "Diese Cheats werden am Ende deiner bestehenden Cheat-Datei hinzugefügt.",
"gbatemp_dl_cheatcode": "Cheat-Code herunterladen", "dl_cheatcodes": "Cheat-Code herunterladen",
"gbatemp_dl_successful_dl": "Folgender Cheat-Code wurde erfolgreich heruntergeladen:\\n{}", "dl_successful": "Folgender Cheat-Code wurde erfolgreich heruntergeladen:\\n{}",
"applet_mode_not_supported": "Aufgrund von Speicherbeschränkungen können im Applet-Modus nur Cheat-Codes für das Spiel abgerufen werden, das gerade gespielt wird. Bitte starte den AIO-Switch-Updater über die Title Override, um Cheat-Codes für alle verfügbaren Spiele herunterzuladen.", "applet_mode_not_supported": "Aufgrund von Speicherbeschränkungen können im Applet-Modus nur Cheat-Codes für das Spiel abgerufen werden, das gerade gespielt wird. Bitte starte den AIO-Switch-Updater über die Title Override, um Cheat-Codes für alle verfügbaren Spiele herunterzuladen.",
"cheatfile_label": "Hier sind die Cheat-Codes, die in der Datei {} aufgelistet sind", "cheatfile_label": "Hier sind die Cheat-Codes, die in der Datei {} aufgelistet sind",
"not_found": "Es konnten keine geeigneten Cheat-Codes für dieses Spiel gefunden werden", "not_found": "Es konnten keine geeigneten Cheat-Codes für dieses Spiel gefunden werden",

View file

@ -40,9 +40,9 @@
"exclude_all": "Exclude all", "exclude_all": "Exclude all",
"exclude_none": "Exclude none", "exclude_none": "Exclude none",
"dl_all": "Download and extract the entire GBAtemp.net cheats archive", "dl_all": "Download and extract the entire GBAtemp.net cheats archive",
"gbatemp_dl": "Download cheat codes curated from GBAtemp.net. Those cheats will be added to the end of your existing cheat file.", "bid_tid_info": "Those cheats will be added to the end of your existing cheat file.",
"gbatemp_dl_cheatcode": "Download cheat code", "dl_cheatcodes": "Download cheat code",
"gbatemp_dl_successful_dl": "Successfully downloaded the following cheat code:\n{}", "dl_successful": "Successfully downloaded the following cheat code:\n{}",
"applet_mode_not_supported": "Due to memory constraints, in applet mode you may only fetch cheat codes for the game you're currently playing. Please launch AIO-Switch-Updater through title override to download cheat codes for any game you own.", "applet_mode_not_supported": "Due to memory constraints, in applet mode you may only fetch cheat codes for the game you're currently playing. Please launch AIO-Switch-Updater through title override to download cheat codes for any game you own.",
"cheatfile_label": "Here are the cheat codes listed in file {}", "cheatfile_label": "Here are the cheat codes listed in file {}",
"not_found": "No proper cheat codes could be found for this game", "not_found": "No proper cheat codes could be found for this game",
@ -52,7 +52,9 @@
"show_cheat_files": "Show all cheat files", "show_cheat_files": "Show all cheat files",
"cheats_not_found": "Couldn't find cheat codes matching this build ID.", "cheats_not_found": "Couldn't find cheat codes matching this build ID.",
"old_cheats_found": "Cheat codes matching BID(s) [ {}] exist.", "old_cheats_found": "Cheat codes matching BID(s) [ {}] exist.",
"cheatslips_logout": "Log out" "cheatslips_logout": "Log out",
"gfx_title": "Graphics enhancing cheats",
"get_gfx": "Download individual graphics enhancing cheat codes"
}, },
"common": { "common": {
"downloading": "Downloading…", "downloading": "Downloading…",

View file

@ -36,9 +36,9 @@
"exclude_titles_desc": "Puedes desactivar las actualizaciones de trucos con este menú", "exclude_titles_desc": "Puedes desactivar las actualizaciones de trucos con este menú",
"exclude_titles_save": "Guardar elección y volver", "exclude_titles_save": "Guardar elección y volver",
"dl_all": "Descarga y extrae al completo los todos los trucos de GBAtemp.net", "dl_all": "Descarga y extrae al completo los todos los trucos de GBAtemp.net",
"gbatemp_dl": "Descarga los trucos desde GBAtemp.net. Estos trucos seran añadidos al final del archivo de trucos actual.", "bid_tid_info": "Estos trucos seran añadidos al final del archivo de trucos actual.",
"gbatemp_dl_cheatcode": "Descargar trucos", "dl_cheatcodes": "Descargar trucos",
"gbatemp_dl_successful_dl": "Se ha descargado exitosamente el siguiente truco:\n{}", "dl_successful": "Se ha descargado exitosamente el siguiente truco:\n{}",
"applet_mode_not_supported": "Debido a limitaciones de memoria, en 'applet mode' solo puedes obtener trucos para el juego que estás jugando actualmente. Por favor ejecuta AIO-Switch-Updater a travez de un juego para descargar trucos para cualquier juego que tengas.", "applet_mode_not_supported": "Debido a limitaciones de memoria, en 'applet mode' solo puedes obtener trucos para el juego que estás jugando actualmente. Por favor ejecuta AIO-Switch-Updater a travez de un juego para descargar trucos para cualquier juego que tengas.",
"cheatfile_label": "Aquí están los trucos listados en el archivo {}", "cheatfile_label": "Aquí están los trucos listados en el archivo {}",
"not_found": "No se pudieron encontrar trucos para este juego.", "not_found": "No se pudieron encontrar trucos para este juego.",

View file

@ -37,9 +37,9 @@
"exclude_titles_desc": "Vous pouvez desactiver les mises à jour des codes de triche dans ce menu", "exclude_titles_desc": "Vous pouvez desactiver les mises à jour des codes de triche dans ce menu",
"exclude_titles_save": "Enregistrer et retour", "exclude_titles_save": "Enregistrer et retour",
"dl_all": "Télécharger et extraire toute l'archive de triche de GBAtemp.net", "dl_all": "Télécharger et extraire toute l'archive de triche de GBAtemp.net",
"gbatemp_dl": "Télécharger les codes de triche archivés par GBAtemp.net. Ces codes seront ajoutés à la fin du fichier de triche existant.", "bid_tid_info": "Ces codes seront ajoutés à la fin du fichier de triche existant.",
"gbatemp_dl_cheatcode": "Télécharger un code de triche", "dl_cheatcodes": "Télécharger un code de triche",
"gbatemp_dl_successful_dl": "Téléchargement du code de triche réussi\u00a0:\n{}", "dl_successful": "Téléchargement du code de triche réussi\u00a0:\n{}",
"applet_mode_not_supported": "À cause de contraintes de mémoire du mode applet, vous ne pouvez récupérer que les codes de triche pour le jeu auquel vous être en train de jouer. Pour télécharger les codes de triche de tout autre jeu installé, veuillez lancer AIO-Switch-Updater via la redirection d'application.", "applet_mode_not_supported": "À cause de contraintes de mémoire du mode applet, vous ne pouvez récupérer que les codes de triche pour le jeu auquel vous être en train de jouer. Pour télécharger les codes de triche de tout autre jeu installé, veuillez lancer AIO-Switch-Updater via la redirection d'application.",
"cheatfile_label": "Voici les codes de triche listés dans le fichier {}", "cheatfile_label": "Voici les codes de triche listés dans le fichier {}",
"not_found": "Aucun code de triche valide n'a été trouvé pour ce jeu", "not_found": "Aucun code de triche valide n'a été trouvé pour ce jeu",

View file

@ -37,9 +37,9 @@
"exclude_titles_desc": "Con questo menu puoi disattivare l'aggiornamento dei cheat per i singoli titoli", "exclude_titles_desc": "Con questo menu puoi disattivare l'aggiornamento dei cheat per i singoli titoli",
"exclude_titles_save": "Salva ed esci", "exclude_titles_save": "Salva ed esci",
"dl_all": "Salva ed estrai tutti i cheat esistenti su GBAtemp.net", "dl_all": "Salva ed estrai tutti i cheat esistenti su GBAtemp.net",
"gbatemp_dl": "Scarica cheat curati da GBAtemp.net. Questi cheat verranno aggiunti al termine del file di cheat presente sul tuo sistema.\n\u25c6 ID della build: {}", "bid_tid_info": "Questi cheat verranno aggiunti al termine del file di cheat presente sul tuo sistema.\n\u25c6 ID della build: {}",
"gbatemp_dl_cheatcode": "Scarica cheat", "dl_cheatcodes": "Scarica cheat",
"gbatemp_dl_successful_dl": "Il seguente cheat è stato scaricato correttamente:\n{}", "dl_successful": "Il seguente cheat è stato scaricato correttamente:\n{}",
"applet_mode_not_supported": "A causa di limitazioni di memoria, nella Modalità Applet puoi ottenere i cheat soltanto per il gioco che stai attualmente giocando. Lancia AIO-Switch-Updater come applicazione per ottenere i cheat per tutti i giochi che possiedi.", "applet_mode_not_supported": "A causa di limitazioni di memoria, nella Modalità Applet puoi ottenere i cheat soltanto per il gioco che stai attualmente giocando. Lancia AIO-Switch-Updater come applicazione per ottenere i cheat per tutti i giochi che possiedi.",
"cheatfile_label": "Questi sono i cheat presenti nel file {}", "cheatfile_label": "Questi sono i cheat presenti nel file {}",
"not_found": "Non sono stati trovati cheat validi per questo gioco", "not_found": "Non sono stati trovati cheat validi per questo gioco",

View file

@ -36,9 +36,9 @@
"exclude_titles_desc": "このメニューでチートのアップデートをオフにする事ができます", "exclude_titles_desc": "このメニューでチートのアップデートをオフにする事ができます",
"exclude_titles_save": "選択を保存して戻る", "exclude_titles_save": "選択を保存して戻る",
"dl_all": "GBAtemp.netチートアーカイブ全体をダウンロードして抽出", "dl_all": "GBAtemp.netチートアーカイブ全体をダウンロードして抽出",
"gbatemp_dl": "GBAtemp.netからキュレーションされたチートコードをダウンロードします。 これらのチートは、既存のチートファイルの最後に追加されます。", "bid_tid_info": "これらのチートは、既存のチートファイルの最後に追加されます。",
"gbatemp_dl_cheatcode": "チートコードをダウンロード", "dl_cheatcodes": "チートコードをダウンロード",
"gbatemp_dl_successful_dl": "次のチートコードを正常にダウンロードしました:\n{}", "dl_successful": "次のチートコードを正常にダウンロードしました:\n{}",
"applet_mode_not_supported": "メモリの制約により、アプレットモードでは、現在プレイしているゲームのチートコードのみをフェッチできます。所有しているゲームのチートコードをダウンロードするには、タイトルリダイレクトを通じてAIO-Switch-Updaterを起動してください。", "applet_mode_not_supported": "メモリの制約により、アプレットモードでは、現在プレイしているゲームのチートコードのみをフェッチできます。所有しているゲームのチートコードをダウンロードするには、タイトルリダイレクトを通じてAIO-Switch-Updaterを起動してください。",
"cheatfile_label": "これがファイルにリストされているチートコードです {}", "cheatfile_label": "これがファイルにリストされているチートコードです {}",
"not_found": "このゲームに適切なチートコードが見つかりませんでした", "not_found": "このゲームに適切なチートコードが見つかりませんでした",

View file

@ -40,9 +40,9 @@
"exclude_all": "모두 제외", "exclude_all": "모두 제외",
"exclude_none": "제외 없음", "exclude_none": "제외 없음",
"dl_all": "전체 GBAtemp.net 치트 아카이브 다운로드 및 추출", "dl_all": "전체 GBAtemp.net 치트 아카이브 다운로드 및 추출",
"gbatemp_dl": "GBAtemp.net에서 엄선된 치트 코드를 다운로드하세요. 해당 치트는 기존 치트 파일 끝에 추가됩니다.", "bid_tid_info": "해당 치트는 기존 치트 파일 끝에 추가됩니다.",
"gbatemp_dl_cheatcode": "치트 코드 다운로드", "dl_cheatcodes": "치트 코드 다운로드",
"gbatemp_dl_successful_dl": "다음 치트 코드를 성공적으로 다운로드했습니다:\n{}", "dl_successful": "다음 치트 코드를 성공적으로 다운로드했습니다:\n{}",
"applet_mode_not_supported": "메모리 제약으로 인해 애플릿 모드에서는 현재 플레이 중인 게임의 치트 코드만 가져올 수 있습니다. 보유한 게임에 대한 치트 코드를 다운로드하려면 타이틀 리디렉션을 통해 일체형-스위치-업데이터를 실행하세요.", "applet_mode_not_supported": "메모리 제약으로 인해 애플릿 모드에서는 현재 플레이 중인 게임의 치트 코드만 가져올 수 있습니다. 보유한 게임에 대한 치트 코드를 다운로드하려면 타이틀 리디렉션을 통해 일체형-스위치-업데이터를 실행하세요.",
"cheatfile_label": "다음은 {} 파일에 나열된 치트 코드입니다.", "cheatfile_label": "다음은 {} 파일에 나열된 치트 코드입니다.",
"not_found": "이 게임에 대한 적절한 치트 코드를 찾을 수 없습니다.", "not_found": "이 게임에 대한 적절한 치트 코드를 찾을 수 없습니다.",

View file

@ -36,9 +36,9 @@
"exclude_titles_desc": "你可以用这个菜单关闭金手指更新", "exclude_titles_desc": "你可以用这个菜单关闭金手指更新",
"exclude_titles_save": "保存选择并返回", "exclude_titles_save": "保存选择并返回",
"dl_all": "下载并解压整个GBAtemp.net金手指压缩包文件", "dl_all": "下载并解压整个GBAtemp.net金手指压缩包文件",
"gbatemp_dl": "从GBAtemp.net下载精选金手指。 这些金手指代码将被添加到您现有的金手指文件的末尾。\n\u25c6 版本号: {}", "bid_tid_info": "这些金手指代码将被添加到您现有的金手指文件的末尾。\n\u25c6 版本号: {}",
"gbatemp_dl_cheatcode": "下载金手指", "dl_cheatcodes": "下载金手指",
"gbatemp_dl_successful_dl": "已成功下载以下金手指:\n{}", "dl_successful": "已成功下载以下金手指:\n{}",
"applet_mode_not_supported": "由于内存的限制在applet模式下你只能获取当前游戏的金手指。请通过游戏重定向启动AIO-Switch-Updater为你拥有的任何游戏下载金手指。", "applet_mode_not_supported": "由于内存的限制在applet模式下你只能获取当前游戏的金手指。请通过游戏重定向启动AIO-Switch-Updater为你拥有的任何游戏下载金手指。",
"cheatfile_label": "以下是文件中列出的金手指 {}", "cheatfile_label": "以下是文件中列出的金手指 {}",
"not_found": "找不到此游戏合适的金手指", "not_found": "找不到此游戏合适的金手指",

View file

@ -40,9 +40,9 @@
"exclude_all": "排除所有項目", "exclude_all": "排除所有項目",
"exclude_none": "不進行排除", "exclude_none": "不進行排除",
"dl_all": "下載GBAtemp.net目前全部的金手指並個別解壓縮後歸檔存放", "dl_all": "下載GBAtemp.net目前全部的金手指並個別解壓縮後歸檔存放",
"gbatemp_dl": "準備從GBAtemp.net下載金手指。下載的金手指將會放置排列在目前已有的金手指項目之後。", "bid_tid_info": "下載的金手指將會放置排列在目前已有的金手指項目之後。",
"gbatemp_dl_cheatcode": "下載金手指", "dl_cheatcodes": "下載金手指",
"gbatemp_dl_successful_dl": "下列金手指已下載完成:\n{}", "dl_successful": "下列金手指已下載完成:\n{}",
"applet_mode_not_supported": "由於記憶體限制在applet模式下只能擷取目前正在玩的遊戲的金手指。請重新執行AIO-Switch-Updater並透過title重新導向來下載其他遊戲的金手指", "applet_mode_not_supported": "由於記憶體限制在applet模式下只能擷取目前正在玩的遊戲的金手指。請重新執行AIO-Switch-Updater並透過title重新導向來下載其他遊戲的金手指",
"cheatfile_label": "列出檔案內的金手指{}", "cheatfile_label": "列出檔案內的金手指{}",
"not_found": "沒有此遊戲的金手指", "not_found": "沒有此遊戲的金手指",

View file

@ -197,10 +197,29 @@ void AppPage_Gbatemp::CreateLabel()
void AppPage_Gbatemp::AddListItem(const std::string& name, u64 tid) void AppPage_Gbatemp::AddListItem(const std::string& name, u64 tid)
{ {
listItem->getClickEvent()->subscribe([tid, name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_GbaTemp(tid, name)); }); listItem->getClickEvent()->subscribe([tid, name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_Gbatemp(tid, name)); });
list->addView(listItem); list->addView(listItem);
} }
AppPage_Gfx::AppPage_Gfx() : AppPage()
{
this->PopulatePage();
}
void AppPage_Gfx::CreateLabel()
{
this->setTitle("menus/cheats/gfx_title"_i18n);
label = new brls::Label(brls::LabelStyle::DESCRIPTION, "menus/cheats/cheatslips_select"_i18n, true);
list->addView(label);
}
void AppPage_Gfx::AddListItem(const std::string& name, u64 tid)
{
listItem->getClickEvent()->subscribe([tid, name](brls::View* view) { brls::Application::pushView(new DownloadCheatsPage_Gfx(tid, name)); });
list->addView(listItem);
}
AppPage_Exclude::AppPage_Exclude() : AppPage() AppPage_Exclude::AppPage_Exclude() : AppPage()
{ {
this->PopulatePage(); this->PopulatePage();

View file

@ -326,11 +326,15 @@ void DownloadCheatsPage_CheatSlips::ShowCheatsContent(nlohmann::ordered_json tit
brls::PopupFrame::open("menus/cheats/sheet_content"_i18n, appView, "", ""); brls::PopupFrame::open("menus/cheats/sheet_content"_i18n, appView, "", "");
} }
DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name) DownloadCheatsPage_Github::DownloadCheatsPage_Github(uint64_t tid, const std::string& name) : DownloadCheatsPage(tid, name)
{
}
void DownloadCheatsPage_Github::PopulateList(uint64_t tid, const std::string& name)
{ {
this->label = new brls::Label( this->label = new brls::Label(
brls::LabelStyle::DESCRIPTION, brls::LabelStyle::DESCRIPTION,
"menus/cheats/gbatemp_dl"_i18n + "menus/cheats/bid_tid_info"_i18n +
"\n\uE016 Title ID: " + util::formatApplicationId(this->tid) + "\n\uE016 Title ID: " + util::formatApplicationId(this->tid) +
"\n\uE016 Build ID: " + this->bid, "\n\uE016 Build ID: " + this->bid,
true); true);
@ -338,15 +342,15 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
if (this->bid != "") { if (this->bid != "") {
nlohmann::ordered_json cheatsJson; nlohmann::ordered_json cheatsJson;
download::getRequest(CHEATS_DIRECTORY + util::formatApplicationId(this->tid) + ".json", cheatsJson); download::getRequest(this->get_url() + util::formatApplicationId(this->tid) + ".json", cheatsJson);
if (cheatsJson.find(this->bid) != cheatsJson.end()) { if (cheatsJson.find(this->bid) != cheatsJson.end()) {
for (auto& [key, val] : cheatsJson[this->bid].items()) { for (auto& [key, val] : cheatsJson[this->bid].items()) {
auto title = key; auto title = key;
auto content = val; auto content = val;
this->listItem = new brls::ListItem(title); this->listItem = new brls::ListItem(title);
listItem->registerAction("menus/cheats/gbatemp_dl_cheatcode"_i18n, brls::Key::A, [this, content, title] { listItem->registerAction("menus/cheats/dl_cheatcodes"_i18n, brls::Key::A, [this, content, title] {
WriteCheats(content); WriteCheats(content);
util::showDialogBoxInfo(fmt::format("menus/cheats/gbatemp_dl_successful_dl"_i18n, title)); util::showDialogBoxInfo(fmt::format("menus/cheats/dl_successful"_i18n, title));
return true; return true;
}); });
this->list->addView(listItem); this->list->addView(listItem);
@ -369,3 +373,13 @@ DownloadCheatsPage_GbaTemp::DownloadCheatsPage_GbaTemp(uint64_t tid, const std::
this->AddCheatsfileListItem(); this->AddCheatsfileListItem();
this->setContentView(this->list); this->setContentView(this->list);
} }
DownloadCheatsPage_Gbatemp::DownloadCheatsPage_Gbatemp(uint64_t tid, const std::string& name) : DownloadCheatsPage_Github(tid, name)
{
this->PopulateList(tid, name);
}
DownloadCheatsPage_Gfx::DownloadCheatsPage_Gfx(uint64_t tid, const std::string& name) : DownloadCheatsPage_Github(tid, name)
{
this->PopulateList(tid, name);
}

View file

@ -29,7 +29,8 @@ ListDownloadTab::ListDownloadTab(const contentType type, const nlohmann::ordered
"menus/cheats/cheats_label"_i18n, "menus/cheats/cheats_label"_i18n,
true); true);
this->addView(cheatsLabel); this->addView(cheatsLabel);
this->creategbatempItem(); this->createGbatempItem();
this->createGfxItem();
this->createCheatSlipItem(); this->createCheatSlipItem();
} }
@ -198,7 +199,7 @@ void ListDownloadTab::createCheatSlipItem()
this->addView(cheatslipsItem); this->addView(cheatslipsItem);
} }
void ListDownloadTab::creategbatempItem() void ListDownloadTab::createGbatempItem()
{ {
brls::ListItem* gbatempItem = new brls::ListItem("menus/cheats/get_gbatemp"_i18n); brls::ListItem* gbatempItem = new brls::ListItem("menus/cheats/get_gbatemp"_i18n);
gbatempItem->setHeight(LISTITEM_HEIGHT); gbatempItem->setHeight(LISTITEM_HEIGHT);
@ -208,3 +209,14 @@ void ListDownloadTab::creategbatempItem()
}); });
this->addView(gbatempItem); this->addView(gbatempItem);
} }
void ListDownloadTab::createGfxItem()
{
brls::ListItem* gfxItem = new brls::ListItem("menus/cheats/get_gfx"_i18n);
gfxItem->setHeight(LISTITEM_HEIGHT);
gfxItem->getClickEvent()->subscribe([](brls::View* view) {
brls::Application::pushView(new AppPage_Gfx());
return true;
});
this->addView(gfxItem);
}