diff --git a/rpcs3/rpcs3qt/game_list_frame.h b/rpcs3/rpcs3qt/game_list_frame.h
index 6992ed9d0c..c355a40582 100644
--- a/rpcs3/rpcs3qt/game_list_frame.h
+++ b/rpcs3/rpcs3qt/game_list_frame.h
@@ -20,7 +20,10 @@
enum Category
{
Disc_Game,
- Non_Disc_Game,
+ HDD_Game,
+ PS1_Game,
+ PS2_Game,
+ PSP_Game,
Home,
Media,
Data,
@@ -79,14 +82,14 @@ namespace category // (see PARAM.SFO in psdevwiki.com) TODO: Disc Categories
{ "HM", home }, // home
{ "CB", network }, // other
{ "SF", store_fe }, // other
- { "DG", disc_game }, // disc_Game
- { "HG", hdd_game }, // non_disc_games
- { "2P", ps2_game }, // non_disc_games
- { "2G", ps2_inst }, // non_disc_games
- { "1P", ps1_game }, // non_disc_games
- { "PP", psp_game }, // non_disc_games
- { "MN", psp_mini }, // non_disc_games
- { "PE", psp_rema }, // non_disc_games
+ { "DG", disc_game }, // disc_game
+ { "HG", hdd_game }, // hdd_game
+ { "2P", ps2_game }, // ps2_games
+ { "2G", ps2_inst }, // ps2_games
+ { "1P", ps1_game }, // ps1_game
+ { "PP", psp_game }, // psp_games
+ { "MN", psp_mini }, // psp_games
+ { "PE", psp_rema }, // psp_games
};
const q_from_char cat_data =
{
@@ -96,7 +99,8 @@ namespace category // (see PARAM.SFO in psdevwiki.com) TODO: Disc Categories
{ "MS", psp_save } // data
};
- const QStringList non_disc_games = { hdd_game, ps2_game, ps2_inst, ps1_game, psp_game, psp_mini, psp_rema };
+ const QStringList ps2_games = { ps2_game, ps2_inst };
+ const QStringList psp_games = { psp_game, psp_mini, psp_rema };
const QStringList media = { app_photo, app_video, bc_video, app_music, app_tv, web_tv };
const QStringList data = { ps3_data, ps2_data, ps3_save, psp_save };
const QStringList others = { network, store_fe, trophy, other };
diff --git a/rpcs3/rpcs3qt/gui_settings.cpp b/rpcs3/rpcs3qt/gui_settings.cpp
index e082dfeb89..f7f7c9577c 100644
--- a/rpcs3/rpcs3qt/gui_settings.cpp
+++ b/rpcs3/rpcs3qt/gui_settings.cpp
@@ -153,8 +153,11 @@ void gui_settings::SetValue(const QString& key, const QString& name, const QVari
QStringList gui_settings::GetGameListCategoryFilters()
{
QStringList filterList;
- if (GetCategoryVisibility(Category::Non_Disc_Game)) filterList.append(category::non_disc_games);
+ if (GetCategoryVisibility(Category::HDD_Game)) filterList.append(category::hdd_game);
if (GetCategoryVisibility(Category::Disc_Game)) filterList.append(category::disc_game);
+ if (GetCategoryVisibility(Category::PS1_Game)) filterList.append(category::ps1_game);
+ if (GetCategoryVisibility(Category::PS2_Game)) filterList.append(category::ps2_games);
+ if (GetCategoryVisibility(Category::PSP_Game)) filterList.append(category::psp_games);
if (GetCategoryVisibility(Category::Home)) filterList.append(category::home);
if (GetCategoryVisibility(Category::Media)) filterList.append(category::media);
if (GetCategoryVisibility(Category::Data)) filterList.append(category::data);
@@ -169,10 +172,16 @@ bool gui_settings::GetCategoryVisibility(int cat)
switch (cat)
{
- case Category::Non_Disc_Game:
+ case Category::HDD_Game:
value = gui::cat_hdd_game; break;
case Category::Disc_Game:
value = gui::cat_disc_game; break;
+ case Category::PS1_Game:
+ value = gui::cat_ps1_game; break;
+ case Category::PS2_Game:
+ value = gui::cat_ps2_game; break;
+ case Category::PSP_Game:
+ value = gui::cat_psp_game; break;
case Category::Home:
value = gui::cat_home; break;
case Category::Media:
@@ -197,12 +206,18 @@ void gui_settings::SetCategoryVisibility(int cat, const bool& val)
switch (cat)
{
- case Category::Non_Disc_Game:
+ case Category::HDD_Game:
value = gui::cat_hdd_game; break;
case Category::Disc_Game:
value = gui::cat_disc_game; break;
case Category::Home:
value = gui::cat_home; break;
+ case Category::PS1_Game:
+ value = gui::cat_ps1_game; break;
+ case Category::PS2_Game:
+ value = gui::cat_ps2_game; break;
+ case Category::PSP_Game:
+ value = gui::cat_psp_game; break;
case Category::Media:
value = gui::cat_audio_video; break;
case Category::Data:
diff --git a/rpcs3/rpcs3qt/gui_settings.h b/rpcs3/rpcs3qt/gui_settings.h
index 2698150970..579815b315 100644
--- a/rpcs3/rpcs3qt/gui_settings.h
+++ b/rpcs3/rpcs3qt/gui_settings.h
@@ -156,6 +156,9 @@ namespace gui
const gui_save cat_hdd_game = gui_save(game_list, "categoryVisibleHDDGame", true);
const gui_save cat_disc_game = gui_save(game_list, "categoryVisibleDiscGame", true);
+ const gui_save cat_ps1_game = gui_save(game_list, "categoryVisiblePS1Game", true);
+ const gui_save cat_ps2_game = gui_save(game_list, "categoryVisiblePS2Game", true);
+ const gui_save cat_psp_game = gui_save(game_list, "categoryVisiblePSPGame", true);
const gui_save cat_home = gui_save(game_list, "categoryVisibleHome", true);
const gui_save cat_audio_video = gui_save(game_list, "categoryVisibleAudioVideo", true);
const gui_save cat_game_data = gui_save(game_list, "categoryVisibleGameData", false);
diff --git a/rpcs3/rpcs3qt/main_window.cpp b/rpcs3/rpcs3qt/main_window.cpp
index fb2108bde8..a795d81e06 100644
--- a/rpcs3/rpcs3qt/main_window.cpp
+++ b/rpcs3/rpcs3qt/main_window.cpp
@@ -1146,6 +1146,9 @@ void main_window::CreateActions()
m_categoryVisibleActGroup = new QActionGroup(this);
m_categoryVisibleActGroup->addAction(ui->showCatHDDGameAct);
m_categoryVisibleActGroup->addAction(ui->showCatDiscGameAct);
+ m_categoryVisibleActGroup->addAction(ui->showCatPS1GamesAct);
+ m_categoryVisibleActGroup->addAction(ui->showCatPS2GamesAct);
+ m_categoryVisibleActGroup->addAction(ui->showCatPSPGamesAct);
m_categoryVisibleActGroup->addAction(ui->showCatHomeAct);
m_categoryVisibleActGroup->addAction(ui->showCatAudioVideoAct);
m_categoryVisibleActGroup->addAction(ui->showCatGameDataAct);
@@ -1367,8 +1370,11 @@ void main_window::CreateConnects()
int id;
const bool& checked = act->isChecked();
- if (act == ui->showCatHDDGameAct) categories += category::non_disc_games, id = Category::Non_Disc_Game;
+ if (act == ui->showCatHDDGameAct) categories += category::hdd_game, id = Category::HDD_Game;
else if (act == ui->showCatDiscGameAct) categories += category::disc_game, id = Category::Disc_Game;
+ else if (act == ui->showCatPS1GamesAct) categories += category::ps1_game, id = Category::PS1_Game;
+ else if (act == ui->showCatPS2GamesAct) categories += category::ps2_games, id = Category::PS2_Game;
+ else if (act == ui->showCatPSPGamesAct) categories += category::psp_games, id = Category::PSP_Game;
else if (act == ui->showCatHomeAct) categories += category::home, id = Category::Home;
else if (act == ui->showCatAudioVideoAct) categories += category::media, id = Category::Media;
else if (act == ui->showCatGameDataAct) categories += category::data, id = Category::Data;
@@ -1584,8 +1590,11 @@ void main_window::ConfigureGuiFromSettings(bool configure_all)
ui->showCompatibilityInGridAct->setChecked(guiSettings->GetValue(gui::gl_draw_compat).toBool());
- ui->showCatHDDGameAct->setChecked(guiSettings->GetCategoryVisibility(Category::Non_Disc_Game));
+ ui->showCatHDDGameAct->setChecked(guiSettings->GetCategoryVisibility(Category::HDD_Game));
ui->showCatDiscGameAct->setChecked(guiSettings->GetCategoryVisibility(Category::Disc_Game));
+ ui->showCatPS1GamesAct->setChecked(guiSettings->GetCategoryVisibility(Category::PS1_Game));
+ ui->showCatPS2GamesAct->setChecked(guiSettings->GetCategoryVisibility(Category::PS2_Game));
+ ui->showCatPSPGamesAct->setChecked(guiSettings->GetCategoryVisibility(Category::PSP_Game));
ui->showCatHomeAct->setChecked(guiSettings->GetCategoryVisibility(Category::Home));
ui->showCatAudioVideoAct->setChecked(guiSettings->GetCategoryVisibility(Category::Media));
ui->showCatGameDataAct->setChecked(guiSettings->GetCategoryVisibility(Category::Data));
diff --git a/rpcs3/rpcs3qt/main_window.ui b/rpcs3/rpcs3qt/main_window.ui
index 138eddfa8a..18767dab50 100644
--- a/rpcs3/rpcs3qt/main_window.ui
+++ b/rpcs3/rpcs3qt/main_window.ui
@@ -251,6 +251,9 @@
+
+
+
@@ -731,6 +734,39 @@
Disc Games
+
+
+ true
+
+
+ true
+
+
+ PS1 Games
+
+
+
+
+ true
+
+
+ true
+
+
+ PS2 Games
+
+
+
+
+ true
+
+
+ true
+
+
+ PSP Games
+
+
true