lang: fix forget change id of Compatibility State.

compat: fix sort app after update database.
fix format.
This commit is contained in:
Zangetsu38
2023-02-19 06:14:15 +01:00
committed by Zangetsu
parent 0e1e257394
commit cd96effca7
19 changed files with 121 additions and 128 deletions
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibility">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Nothing</state>
<state id = "1344750319">Bootable</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">Ingame -</state>
<state id = "1260231985">Ingame +</state>
<state id = "920344019">Playable</state>
<state id = "-1">Unknown</state>
<state id = "0">Nothing</state>
<state id = "1">Bootable</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">Ingame -</state>
<state id = "5">Ingame +</state>
<state id = "6">Playable</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibility">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Nothing</state>
<state id = "1344750319">Bootable</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">Ingame -</state>
<state id = "1260231985">Ingame +</state>
<state id = "920344019">Playable</state>
<state id = "-1">Unknown</state>
<state id = "0">Nothing</state>
<state id = "1">Bootable</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">Ingame -</state>
<state id = "5">Ingame +</state>
<state id = "6">Playable</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibilité">
<states>
<state id = "0">Inconnue</state>
<state id = "1260231569">Rien</state>
<state id = "1344750319">Amorçable</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">En jeu -</state>
<state id = "1260231985">En jeu +</state>
<state id = "920344019">Jouable</state>
<state id = "-1">Inconnue</state>
<state id = "0">Rien</state>
<state id = "1">Amorçable</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">En jeu -</state>
<state id = "5">En jeu +</state>
<state id = "6">Jouable</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibilità">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Niente</state>
<state id = "1344750319">Avviabile</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">In Gioco -</state>
<state id = "1260231985">In Gioco +</state>
<state id = "920344019">Giocabile</state>
<state id = "-1">Unknown</state>
<state id = "0">Niente</state>
<state id = "1">Avviabile</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">In Gioco -</state>
<state id = "5">In Gioco +</state>
<state id = "6">Giocabile</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@
<compatibility name="互換性">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">プレイ不可能</state>
<state id = "1344750319">起動可能</state>
<state id = "1260231381">イントロ</state>
<state id = "1344751053">メニュー</state>
<state id = "1344752299">プレイ開始 -</state>
<state id = "1260231985">プレイ開始 +</state>
<state id = "920344019">プレイ可能</state>
<state id = "-1">Unknown</state>
<state id = "0">プレイ不可能</state>
<state id = "1">起動可能</state>
<state id = "2">イントロ</state>
<state id = "3">メニュー</state>
<state id = "4">プレイ開始 -</state>
<state id = "5">プレイ開始 +</state>
<state id = "6">プレイ可能</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="호환성">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Nothing</state>
<state id = "1344750319">Bootable</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">Ingame -</state>
<state id = "1260231985">Ingame +</state>
<state id = "920344019">Playable</state>
<state id = "-1">Unknown</state>
<state id = "0">Nothing</state>
<state id = "1">Bootable</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">Ingame -</state>
<state id = "5">Ingame +</state>
<state id = "6">Playable</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibilità">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Niente</state>
<state id = "1344750319">Avviabile</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">In Gioco -</state>
<state id = "1260231985">In Gioco +</state>
<state id = "920344019">Giocabile</state>
<state id = "-1">Unknown</state>
<state id = "0">Niente</state>
<state id = "1">Avviabile</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">In Gioco -</state>
<state id = "5">In Gioco +</state>
<state id = "6">Giocabile</state>
</states>
</compatibility>
+8 -8
View File
@@ -191,14 +191,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Kompatybilnośći">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Nic</state>
<state id = "1344750319">Bootowalny</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">W grze -</state>
<state id = "1260231985">W grze +</state>
<state id = "920344019">Grywalne</state>
<state id = "-1">Unknown</state>
<state id = "0">Nic</state>
<state id = "1">Bootowalny</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">W grze -</state>
<state id = "5">W grze +</state>
<state id = "6">Grywalne</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Compatibilidade">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Nada</state>
<state id = "1344750319">Inicializável</state>
<state id = "1260231381">Intro</state>
<state id = "1344751053">Menu</state>
<state id = "1344752299">No jogo -</state>
<state id = "1260231985">No jogo +</state>
<state id = "920344019">Jogável</state>
<state id = "-1">Unknown</state>
<state id = "0">Nada</state>
<state id = "1">Inicializável</state>
<state id = "2">Intro</state>
<state id = "3">Menu</state>
<state id = "4">No jogo -</state>
<state id = "5">No jogo +</state>
<state id = "6">Jogável</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@ depending on its size and your hardware.</app_delete_note>
<compatibility name="Совместимости">
<states>
<state id = "0">Unknown</state>
<state id = "1260231569">Бесполезно</state>
<state id = "1344750319">Загружается</state>
<state id = "1260231381">Интро</state>
<state id = "1344751053">Меню</state>
<state id = "1344752299">В игре -</state>
<state id = "1260231985">В игре +</state>
<state id = "920344019">Играбельно</state>
<state id = "-1">Unknown</state>
<state id = "0">Бесполезно</state>
<state id = "1">Загружается</state>
<state id = "2">Интро</state>
<state id = "3">Меню</state>
<state id = "4">В игре -</state>
<state id = "5">В игре +</state>
<state id = "6">Играбельно</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@
<compatibility name="兼容性">
<states>
<state id = "0">未知</state>
<state id = "1260231569">无法启动</state>
<state id = "1344750319">可引导</state>
<state id = "1260231381">有图像</state>
<state id = "1344751053">可进入菜单</state>
<state id = "1344752299">可进入游戏 -</state>
<state id = "1260231985">可进入游戏 +</state>
<state id = "920344019">完全可玩</state>
<state id = "-1">未知</state>
<state id = "0">无法启动</state>
<state id = "1">可引导</state>
<state id = "2">有图像</state>
<state id = "3">可进入菜单</state>
<state id = "4">可进入游戏 -</state>
<state id = "5">可进入游戏 +</state>
<state id = "6">完全可玩</state>
</states>
</compatibility>
+8 -8
View File
@@ -203,14 +203,14 @@
<compatibility name="兼容性">
<states>
<state id = "0">未知</state>
<state id = "1260231569">无法啓動</state>
<state id = "1344750319">可引導</state>
<state id = "1260231381">有圖像</state>
<state id = "1344751053">可進入菜單</state>
<state id = "1344752299">可進入遊戲 -</state>
<state id = "1260231985">可進入遊戲 +</state>
<state id = "920344019">完全可玩</state>
<state id = "-1">未知</state>
<state id = "0">无法啓動</state>
<state id = "1">可引導</state>
<state id = "2">有圖像</state>
<state id = "3">可進入菜單</state>
<state id = "4">可進入遊戲 -</state>
<state id = "5">可進入遊戲 +</state>
<state id = "6">完全可玩</state>
</states>
</compatibility>
+5 -1
View File
@@ -96,6 +96,10 @@ bool load_compat_app_db(GuiState &gui, EmuEnvState &emuenv) {
gui.compat.app_compat_db[title_id] = { issue_id, state, updated_at };
}
// Update compatibility status of all user apps
for (auto &app : gui.app_selector.user_apps)
app.compat = gui.compat.app_compat_db.contains(app.title_id) ? gui.compat.app_compat_db[app.title_id].state : Unknown;
return !gui.compat.app_compat_db.empty();
}
@@ -157,7 +161,7 @@ bool update_compat_app_db(GuiState &gui, EmuEnvState &emuenv) {
// Check if database is up to date
if (db_updated_at == updated_at) {
LOG_INFO("Applications compatibility database is up to date.");
return true;
return false;
}
const auto compat_db_exist = fs::exists(compat_db_path);
+1
View File
@@ -76,6 +76,7 @@ void init_user_app(GuiState &gui, EmuEnvState &emuenv, const std::string app_pat
void init_user_apps(GuiState &gui, EmuEnvState &emuenv);
bool init_user_background(GuiState &gui, EmuEnvState &emuenv, const std::string &user_id, const std::string &background_path);
bool init_user_start_background(GuiState &gui, const std::string &image_path);
void load_and_update_compat_user_apps(GuiState &gui, EmuEnvState &emuenv);
void open_live_area(GuiState &gui, EmuEnvState &emuenv, const std::string app_path);
void open_manual(GuiState &gui, EmuEnvState &emuenv, const std::string app_path);
void open_path(const std::string &path);
+3 -16
View File
@@ -17,7 +17,6 @@
#include "private.h"
#include <compat/functions.h>
#include <config/state.h>
#include <config/version.h>
#include <gui/functions.h>
@@ -191,20 +190,8 @@ void update_last_time_app_used(GuiState &gui, EmuEnvState &emuenv, const std::st
gui.time_apps[emuenv.io.user_id].push_back({ app, std::time(nullptr), 0 });
get_app_index(gui, app)->last_time = std::time(nullptr);
if (gui.users[emuenv.io.user_id].sort_apps_type == LAST_TIME) {
const auto sorted = gui.app_selector.app_list_sorted[LAST_TIME];
std::sort(gui.app_selector.user_apps.begin(), gui.app_selector.user_apps.end(), [&sorted](const App &lhs, const App &rhs) {
switch (sorted) {
case ASCENDANT:
return lhs.last_time > rhs.last_time;
case DESCENDANT:
return lhs.last_time < rhs.last_time;
default: break;
}
return false;
});
}
if (gui.users[emuenv.io.user_id].sort_apps_type == LAST_TIME)
gui.app_selector.is_app_list_sorted = false;
save_time_apps(gui, emuenv);
}
@@ -382,7 +369,7 @@ void draw_app_context_menu(GuiState &gui, EmuEnvState &emuenv, const std::string
}
}
if (ImGui::MenuItem(lang["update_database"].c_str()))
compat::update_compat_app_db(gui, emuenv);
load_and_update_compat_user_apps(gui, emuenv);
ImGui::EndMenu();
}
+2 -13
View File
@@ -23,7 +23,6 @@
#include <gui/state.h>
#include <boost/algorithm/string/trim.hpp>
#include <compat/functions.h>
#include <config/state.h>
#include <display/state.h>
#include <glutil/gl.h>
@@ -437,6 +436,7 @@ static bool get_user_apps(GuiState &gui, EmuEnvState &emuenv) {
}
init_apps_icon(gui, emuenv, gui.app_selector.user_apps);
load_and_update_compat_user_apps(gui, emuenv);
}
return !gui.app_selector.user_apps.empty();
@@ -491,13 +491,8 @@ void init_home(GuiState &gui, EmuEnvState &emuenv) {
init_user_apps(gui, emuenv);
}
// Init compatibilty in user apps list
if (gui.compat.compat_db_loaded) {
for (auto &app : gui.app_selector.user_apps)
app.compat = gui.compat.app_compat_db.contains(app.title_id) ? gui.compat.app_compat_db[app.title_id].state : Unknown;
}
init_app_background(gui, emuenv, "NPXS10015");
const auto is_cmd = emuenv.cfg.run_app_path || emuenv.cfg.content_path;
if (!gui.users.empty() && (gui.users.find(emuenv.cfg.user_id) != gui.users.end()) && (is_cmd || emuenv.cfg.auto_user_login)) {
init_user(gui, emuenv, emuenv.cfg.user_id);
@@ -691,12 +686,6 @@ void init(GuiState &gui, EmuEnvState &emuenv) {
update_vita3k_thread.detach();
#endif
std::thread load_and_update_compat_db_thread([&gui, &emuenv]() {
gui.compat.compat_db_loaded = compat::load_compat_app_db(gui, emuenv);
compat::update_compat_app_db(gui, emuenv);
});
load_and_update_compat_db_thread.detach();
get_modules_list(gui, emuenv);
get_notice_list(emuenv);
get_users_list(gui, emuenv);
+12
View File
@@ -19,6 +19,7 @@
#include <config/functions.h>
#include <compat/functions.h>
#include <config/state.h>
#include <display/state.h>
#include <gui/functions.h>
@@ -55,6 +56,7 @@ void init_user_apps(GuiState &gui, EmuEnvState &emuenv) {
gui.app_selector.is_app_list_sorted = false;
init_last_time_apps(gui, emuenv);
load_and_update_compat_user_apps(gui, emuenv);
init_apps_icon(gui, emuenv, gui.app_selector.user_apps);
@@ -91,6 +93,16 @@ void init_last_time_apps(GuiState &gui, EmuEnvState &emuenv) {
gui.app_selector.is_app_list_sorted = false;
}
void load_and_update_compat_user_apps(GuiState &gui, EmuEnvState &emuenv) {
std::thread load_and_update_compat_user_apps_thread([&gui, &emuenv]() {
if (!gui.compat.compat_db_loaded)
gui.compat.compat_db_loaded = compat::load_compat_app_db(gui, emuenv);
if (compat::update_compat_app_db(gui, emuenv) && gui.users[emuenv.io.user_id].sort_apps_type == COMPAT)
gui.app_selector.is_app_list_sorted = false;
});
load_and_update_compat_user_apps_thread.detach();
}
std::vector<std::string>::iterator get_app_open_list_index(GuiState &gui, const std::string app_path) {
return std::find(gui.apps_list_opened.begin(), gui.apps_list_opened.end(), app_path);
}
+1 -1
View File
@@ -157,7 +157,7 @@ void init_lang(LangState &lang, EmuEnvState &emuenv) {
const auto states = compatibility_child.child("states");
if (!states.empty()) {
for (const auto state : states) {
const auto id = static_cast<CompatibilityState>(state.attribute("id").as_uint());
const auto id = static_cast<CompatibilityState>(state.attribute("id").as_int());
lang_compatibility.states[id] = state.text().as_string();
}
}
@@ -1334,7 +1334,7 @@ EXPORT(int, sceSaveDataDialogInit, const Ptr<SceSaveDataDialogParam> param) {
handle_sys_message(sys_message, emuenv);
break;
case SCE_SAVEDATA_DIALOG_MODE_PROGRESS_BAR:
// Stub using continue code
// Stub using continue code
emuenv.common_dialog.savedata.btn_num = 0;
progress_bar = p->progressBarParam.get(emuenv.mem);
emuenv.common_dialog.savedata.slot_id[emuenv.common_dialog.savedata.selected_save] = progress_bar->targetSlot.id;