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