[PR #2367] [MERGED] Game-compatibility - improved #2681

Closed
opened 2026-02-27 22:00:50 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2367
Author: @DanielSvoboda
Created: 2/7/2025
Status: Merged
Merged: 2/8/2025
Merged by: @georgemoralis

Base: mainHead: CompatibilityDatabase


📝 Commits (4)

📊 Changes

33 files changed (+1824 additions, -181 deletions)

View changed files

📝 src/qt_gui/compatibility_info.cpp (+36 -114)
📝 src/qt_gui/compatibility_info.h (+1 -5)
📝 src/qt_gui/game_list_frame.cpp (+7 -3)
📝 src/qt_gui/main_window.cpp (+6 -2)
📝 src/qt_gui/settings_dialog.cpp (+9 -5)
📝 src/qt_gui/translations/ar.ts (+64 -1)
📝 src/qt_gui/translations/da_DK.ts (+64 -1)
📝 src/qt_gui/translations/de.ts (+65 -2)
📝 src/qt_gui/translations/el.ts (+64 -1)
📝 src/qt_gui/translations/en.ts (+38 -2)
📝 src/qt_gui/translations/es_ES.ts (+64 -1)
📝 src/qt_gui/translations/fa_IR.ts (+64 -1)
📝 src/qt_gui/translations/fi.ts (+64 -1)
📝 src/qt_gui/translations/fr.ts (+64 -1)
📝 src/qt_gui/translations/hu_HU.ts (+64 -1)
📝 src/qt_gui/translations/id.ts (+64 -1)
📝 src/qt_gui/translations/it.ts (+64 -1)
📝 src/qt_gui/translations/ja_JP.ts (+64 -1)
📝 src/qt_gui/translations/ko_KR.ts (+64 -1)
📝 src/qt_gui/translations/lt_LT.ts (+64 -1)

...and 13 more files

📄 Description

Let's go...
In short, it improves file loading at startup and makes fewer requests.

If Display Compatibility Data is checked, it will load the information already downloaded locally every time you start the emulator. And when you click on it, in addition to adding the columns, it will fill in if you have the file. Because before it would only load if the Update Compatibility Database On Startup option was checked.

And speaking of updating, it made more than 20 requests to GitHub to get this data, because it is only possible to request 100 items per page and we currently have more than 2000 issues. https://github.com/shadps4-emu/shadPS4/issues/2364
And this excess of requests ended up affecting the autoUpdate, because there is a limit of 60 requests per hour that GitHub allows without authentication. To solve this I made this other PR, but in the shadps4-game-compatibility repository, where the github action itself creates the compatibility_data.json and no longer the emulator, updating it every 3 hours, creating the file in a 'release' and deleting the old ones. this way the emulator will only need to make a request to update the compatibility data.

This PR is in draft status for the following reasons:

  • shadps4-game-compatibility/pull/2409 needs to be approved;
  • Create token with access to 'repo' SHADPS4_TOKEN_COMPATIBILITY in repository 'shadps4-game-compatibility';
  • Press 'Run workflow' once to create the .json file;
  • Fix the problem that for some reason sometimes creates a release as a draft
  • Changing the repository link in this PR as it is being tested with my fork
  • And it's also good for someone to check if everything is working correctly

*I also removed version_number, I didn't find it necessary...


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/2367 **Author:** [@DanielSvoboda](https://github.com/DanielSvoboda) **Created:** 2/7/2025 **Status:** ✅ Merged **Merged:** 2/8/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `CompatibilityDatabase` --- ### 📝 Commits (4) - [`550d4cb`](https://github.com/shadps4-emu/shadPS4/commit/550d4cbb344514002b6118cd2c90c12afb13d584) Game-compatibility - improved - [`4c8f669`](https://github.com/shadps4-emu/shadPS4/commit/4c8f6692d3e24425aa4465b2ae72edd55b72c603) + - [`970651b`](https://github.com/shadps4-emu/shadPS4/commit/970651b421cd1fe85db299939643edc7c827d6c0) Fix - [`6dcf26e`](https://github.com/shadps4-emu/shadPS4/commit/6dcf26e141bc0f5f6c3210c1292b3077d5e663ce) TR ### 📊 Changes **33 files changed** (+1824 additions, -181 deletions) <details> <summary>View changed files</summary> 📝 `src/qt_gui/compatibility_info.cpp` (+36 -114) 📝 `src/qt_gui/compatibility_info.h` (+1 -5) 📝 `src/qt_gui/game_list_frame.cpp` (+7 -3) 📝 `src/qt_gui/main_window.cpp` (+6 -2) 📝 `src/qt_gui/settings_dialog.cpp` (+9 -5) 📝 `src/qt_gui/translations/ar.ts` (+64 -1) 📝 `src/qt_gui/translations/da_DK.ts` (+64 -1) 📝 `src/qt_gui/translations/de.ts` (+65 -2) 📝 `src/qt_gui/translations/el.ts` (+64 -1) 📝 `src/qt_gui/translations/en.ts` (+38 -2) 📝 `src/qt_gui/translations/es_ES.ts` (+64 -1) 📝 `src/qt_gui/translations/fa_IR.ts` (+64 -1) 📝 `src/qt_gui/translations/fi.ts` (+64 -1) 📝 `src/qt_gui/translations/fr.ts` (+64 -1) 📝 `src/qt_gui/translations/hu_HU.ts` (+64 -1) 📝 `src/qt_gui/translations/id.ts` (+64 -1) 📝 `src/qt_gui/translations/it.ts` (+64 -1) 📝 `src/qt_gui/translations/ja_JP.ts` (+64 -1) 📝 `src/qt_gui/translations/ko_KR.ts` (+64 -1) 📝 `src/qt_gui/translations/lt_LT.ts` (+64 -1) _...and 13 more files_ </details> ### 📄 Description Let's go... In short, it improves file loading at startup and makes fewer requests. If `Display Compatibility Data` is checked, it will load the information already downloaded locally every time you start the emulator. And when you click on it, in addition to adding the columns, it will fill in if you have the file. Because before it would only load if the `Update Compatibility Database On Startup` option was checked. And speaking of updating, it made more than 20 requests to GitHub to get this data, because it is only possible to request 100 items per page and we currently have more than 2000 issues. https://github.com/shadps4-emu/shadPS4/issues/2364 And this excess of requests ended up affecting the autoUpdate, because there is a limit of 60 requests per hour that GitHub allows without authentication. To solve this I made [this other PR](https://github.com/shadps4-emu/shadps4-game-compatibility/pull/2409), but in the `shadps4-game-compatibility` repository, where the `github action` itself creates the `compatibility_data.json` and no longer the emulator, updating it `every 3 hours`, creating the file in a 'release' and deleting the old ones. this way the emulator will only need to make a request to update the compatibility data. This PR is in draft status for the following reasons: - [X] [shadps4-game-compatibility/pull/2409](https://github.com/shadps4-emu/shadps4-game-compatibility/pull/2409) needs to be approved; - [X] Create token with access to 'repo' `SHADPS4_TOKEN_COMPATIBILITY` in repository 'shadps4-game-compatibility'; - [X] Press 'Run workflow' once to create the .json file; - [x] Fix the problem that for some reason sometimes creates a release as a draft - [x] Changing the repository link in this PR as it is being tested with my fork - [x] And it's also good for someone to check if everything is working correctly *I also removed version_number, I didn't find it necessary... --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:00:50 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2681
No description provided.