clear title result array when nxtc cache is deleted. rename sys-tweek -> sys-tweak.
This commit is contained in:
@@ -50,9 +50,12 @@ struct ThreadResultData {
|
||||
|
||||
using MetaEntries = std::vector<NsApplicationContentMetaStatus>;
|
||||
|
||||
// starts background thread.
|
||||
// starts background thread (ref counted).
|
||||
Result Init();
|
||||
// closes the background thread.
|
||||
void Exit();
|
||||
// clears cache and empties the result array.
|
||||
void Clear();
|
||||
|
||||
// adds new entry to queue.
|
||||
void PushAsync(u64 app_id);
|
||||
|
||||
@@ -25,6 +25,7 @@ struct ThreadData {
|
||||
|
||||
void Run();
|
||||
void Close();
|
||||
void Clear();
|
||||
|
||||
void PushAsync(u64 id);
|
||||
auto GetAsync(u64 app_id) -> std::shared_ptr<ThreadResultData>;
|
||||
@@ -185,6 +186,13 @@ void ThreadData::Close() {
|
||||
ueventSignal(&m_uevent);
|
||||
}
|
||||
|
||||
void ThreadData::Clear() {
|
||||
SCOPED_MUTEX(&m_mutex_id);
|
||||
SCOPED_MUTEX(&m_mutex_result);
|
||||
m_result.clear();
|
||||
nxtcWipeCache();
|
||||
}
|
||||
|
||||
void ThreadData::PushAsync(u64 id) {
|
||||
SCOPED_MUTEX(&m_mutex_id);
|
||||
SCOPED_MUTEX(&m_mutex_result);
|
||||
@@ -294,14 +302,14 @@ auto ThreadData::Get(u64 app_id, bool* cached) -> std::shared_ptr<ThreadResultDa
|
||||
}
|
||||
}
|
||||
|
||||
// load override from sys-tweek.
|
||||
// load override from sys-tweak.
|
||||
if (result->status == NacpLoadStatus::Loaded) {
|
||||
const auto tweek_path = GetContentsPath(app_id);
|
||||
if (m_fs.DirExists(tweek_path)) {
|
||||
log_write("[TITLE] found contents path: %s\n", tweek_path.s);
|
||||
const auto tweak_path = GetContentsPath(app_id);
|
||||
if (m_fs.DirExists(tweak_path)) {
|
||||
log_write("[TITLE] found contents path: %s\n", tweak_path.s);
|
||||
|
||||
std::vector<u8> icon;
|
||||
m_fs.read_entire_file(fs::AppendPath(tweek_path, "icon.jpg"), icon);
|
||||
m_fs.read_entire_file(fs::AppendPath(tweak_path, "icon.jpg"), icon);
|
||||
|
||||
struct Overrides {
|
||||
std::string name;
|
||||
@@ -322,7 +330,7 @@ auto ThreadData::Get(u64 app_id, bool* cached) -> std::shared_ptr<ThreadResultDa
|
||||
return 1;
|
||||
};
|
||||
|
||||
ini_browse(cb, &overrides, fs::AppendPath(tweek_path, "config.ini"));
|
||||
ini_browse(cb, &overrides, fs::AppendPath(tweak_path, "config.ini"));
|
||||
|
||||
if (!icon.empty() && icon.size() < sizeof(NsApplicationControlData::icon)) {
|
||||
log_write("[TITLE] overriding icon: %zu -> %zu\n", result->icon.size(), icon.size());
|
||||
@@ -407,6 +415,13 @@ void Exit() {
|
||||
}
|
||||
}
|
||||
|
||||
void Clear() {
|
||||
SCOPED_MUTEX(&g_mutex);
|
||||
if (g_thread_data) {
|
||||
g_thread_data->Clear();
|
||||
}
|
||||
}
|
||||
|
||||
void PushAsync(u64 app_id) {
|
||||
SCOPED_MUTEX(&g_mutex);
|
||||
if (g_thread_data) {
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#include <cstring>
|
||||
#include <algorithm>
|
||||
#include <minIni.h>
|
||||
#include <nxtc.h>
|
||||
|
||||
namespace sphaira::ui::menu::game {
|
||||
namespace {
|
||||
@@ -653,7 +652,7 @@ Menu::Menu(u32 flags) : grid::Menu{"Games"_i18n, flags} {
|
||||
"Back"_i18n, "Delete"_i18n, 0, [this](auto op_index){
|
||||
if (op_index && *op_index) {
|
||||
m_dirty = true;
|
||||
nxtcWipeCache();
|
||||
title::Clear();
|
||||
App::PopToMenu();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <minIni.h>
|
||||
#include <minizip/unzip.h>
|
||||
#include <minizip/zip.h>
|
||||
#include <nxtc.h>
|
||||
|
||||
namespace sphaira::ui::menu::save {
|
||||
namespace {
|
||||
|
||||
Reference in New Issue
Block a user