Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: added status column for compat data #1668

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

f8ith
Copy link
Contributor

@f8ith f8ith commented Dec 5, 2024

Addresses #1571

  • data is currently pulled directly from github API, awaiting server infrastructure. This would be rate-limited when the emulator reaches 6k open issues

WIP PR intended to gather opinions about how the status column should behave. In my implementation a dialog appears by default on startup while the emulator fetches compatibility information. The database is saved to a single json under the game_data folder. Then the best available status is selected based on the current platform.

e.g. on Windows (os-windows -> no os label -> os-linux -> os-macOS)

Edit: Latest commit

image

* data is currently pulled directly from github API, awaiting server infra
@f8ith f8ith marked this pull request as draft December 5, 2024 09:01
@f8ith f8ith force-pushed the compat-gui branch 2 times, most recently from 793f7a7 to acdd3be Compare December 5, 2024 09:35
@Hermiten
Copy link
Collaborator

Hermiten commented Dec 5, 2024

Wonderful.
I didn't try it for now, but I have to idea:

  • Put a dialog message when you hover the text to say like for In-game "In-game: You can play the game but there is some glitch and maybe you cannot finish the game"
  • A second column with the lastest test date. I don't know how we can retrieve this. Maybe we can cheat by using the last comment on the issue or maybe you can retrieve the last time the milestone was edited
  • Somewhere to put what was the last version of the emulator for the test (0.4 for example) ?

All of this are suggestion as the PR is in draft

@kalaposfos13
Copy link
Contributor

Hey I opened a PR on your fork fixing the linker error

@GHU7924
Copy link

GHU7924 commented Dec 5, 2024

Замечательный. Пока не пробовал, но есть идея:

* При наведении курсора на текст поместите диалоговое сообщение, например, «В игре: вы можете играть в игру, но есть какой-то сбой, и, возможно, вы не сможете закончить игру».

* Второй столбец с последней датой тестирования. Я не знаю, как мы можем это получить. Возможно, мы сможем обмануть, используя последний комментарий к проблеме, или, может быть, вы сможете узнать, когда в последний раз редактировалась веха.

* Куда-нибудь выложить, какая была последняя версия эмулятора для теста (0.4 например)?

Все это предложения, поскольку PR находится в стадии разработки.

Great ideas

Next
compab

-example of the second column in two versions
-instead of colored circles, we can try to use icons like on the Steam Deck, they are taken as a basis, but I don't know if it will be better or you can leave the existing option
-an example of a dialog box when hovering over the cursor, but here I did not try to draw something normal at all))

@GHU7924
Copy link

GHU7924 commented Dec 6, 2024

When I started, I got a window, but it hung? Progress just stopped. How long do I have to wait?
I also restarted the emulator several times and there was different progress, 90, 84, 63 it seems, but after that nothing.
1
If I closed this window, I got this result:
2
On subsequent restarts, I got this:
3

Although I was glad to see the update of this PR, but after some thought about it,
I think it's necessary to redo the changes you've made so that they better match the look and style of shadPS4.
In my personal opinion, it would be better to do so:
5

@DanielSvoboda As you know, we have the ability to update the emulator manually, there are even two ways to do this.
How would you like to replace the button in the Help section with a button for manually updating the compatibility database?
4

We also don't have the ability to move columns in places, but I'd like to see what such a sequence would look like, would it be better?..
Serial, Icon, Name, Version, Compatibility, Status Updated, Region, Firmware, Size, Play Time, Path.

@f8ith
Copy link
Contributor Author

f8ith commented Dec 6, 2024

When I started, I got a window, but it hung? Progress just stopped. How long do I have to wait? I also restarted the emulator several times and there was different progress, 90, 84, 63 it seems, but after that nothing.

I think you're running into github API's limits. If you run the emulator normally this error shouldn't occur as the data is saved to a json and only updated after an hour. In any case there's no need to fix it as it seems there will be a compatibility database on shadps4's website which will remove the need for that part of the code.

@GHU7924
Copy link

GHU7924 commented Dec 6, 2024

@f8ith the fact is that I start the emulator, a window appears, in seconds it reaches a certain progress and freezes, if I close this window (do not cancel) by interrupting this progress, then I will not have a JSON file.
The path - "emulator folder"\user\game_data - I didn't have a *.json file there..

And so I wanted to record it on video, but apparently an hour later (as you said), the database was updated and I got this file (compatibility_data.json).
Maybe it's not a problem, but either it happens on the first launch, or there was something else.

@DanielSvoboda
Copy link
Contributor

When I was doing AutoUpdate, I noticed that the GitHub APIs can only make 60 requests in a one-hour period. If you exceed this limit, these requests will be blocked for a while. You have to be careful not to have too many requests.

@f8ith f8ith marked this pull request as ready for review December 7, 2024 08:35
@f8ith f8ith changed the title wip: added basic gui for compat data wip: added status column for compat data Dec 7, 2024
@Hermiten
Copy link
Collaborator

Hermiten commented Dec 7, 2024

This is a screen of the last version of this PR if someone want to see the progress:

image

@Hermiten
Copy link
Collaborator

Hermiten commented Dec 7, 2024

2 suggestions:

  • Maybe we can add the link of the status on the compatibility, so we can open github by clicking on it ?
  • Also, for a correct design, we can keep the status with the same police and size than others colunm, center, and only show the date + version on hover ?

@GHU7924
Copy link

GHU7924 commented Dec 7, 2024

As I suggested above, you can do this:
5
I understand that this is more difficult, but this would be completely consistent with the shadPS4 style.
In any case, the developers have the last word, so I don't insist on it.

2 suggestions:

* Maybe we can add the link of the status on the compatibility, so we can open github by clicking on it ?

* Also, for a correct design, we can keep the status with the same police and size than others colunm, center, and only show the date + version on hover ?
  1. You can connect the Serial column to this, when you click on a specific series, you would switch to compatibility search, because it is the same, only the numbers after CUSA change.

https://github.com/shadps4-emu/shadps4-game-compatibility/issues?q=is%3Aissue+is%3Aopen+CUSA03173
https://github.com/shadps4-emu/shadps4-game-compatibility/issues?q=is%3Aissue+is%3Aopen+CUSA00004

It turns out that the general part will be a link to which the serial number is appended, if such a thing can be done at all.

https://github.com/shadps4-emu/shadps4-game-compatibility/issues?q=is%3Aissue+is%3Aopen+

CUSA03173
CUSA00004

  1. Like this?
    8
    But it would be better if it were like this: Status Updated 2024-12-07, v0.4.0

@Hermiten
Copy link
Collaborator

Hermiten commented Dec 7, 2024

Yes, exactly @GHU7924

For the 1: On the serial is a good idea. Maybe add something like an icon "click" to know that we can open it
For the 2: Perfect like this, because every information is here, it's clear and follow the style of the other column

@GHU7924
Copy link

GHU7924 commented Dec 7, 2024

@Hermiten Like this?
9
However, I'm not sure if this can be done...

@f8ith
Copy link
Contributor Author

f8ith commented Dec 7, 2024

@Hermiten @GHU7924 suggestions have been added

@GHU7924
Copy link

GHU7924 commented Dec 7, 2024

I think the result is good, the information is there, clicking on the links works.
10
(Perhaps the font may be a little larger... Or maybe not)

@Hermiten
Copy link
Collaborator

Hermiten commented Dec 7, 2024

The result is also good for me. Maybe there will be an update on the UI but like this is enough. Congratulations !
For the "report" part, maybe it's more easier to put it here:

image

Something like "Check report" and if there is no report: "Create a report"

EDIT:
Because I cannot find what you did about the github link on the last version, I see nothing
image
(My cursor was on it)

@GHU7924
Copy link

GHU7924 commented Dec 7, 2024

@Hermiten Verification may not be necessary, because when you click, you will be redirected to a page where you can view the report.
Link to Github - Click on the Ingame.

Now: If there is no report, then there is no link and it will be written that the game has not been tested.

What can be done: This is where your idea may come in handy, and when you click on the status of the game, you will be prompted to create a report. You can add information that the game has not been tested, but if you click on the status, you can create a report.
11

@f8ith If you are going to create a report, then remember that we have a form to fill out.
https://github.com/shadps4-emu/shadps4-game-compatibility/blob/main/.github/ISSUE_TEMPLATE/game_compatibility.yml

@Hermiten
Copy link
Collaborator

Can you solve the clang format ? And then we will do some final test :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants