OMGDuke / protondb-decky

ProtonDB Badges is a plugin for Decky Loader to display tappable ProtonDB badges on your game pages
https://decky.xyz/
GNU General Public License v3.0
93 stars 10 forks source link

Valid Games without ProtonDB reports dont show a pending badge #5

Closed joamjoamjoam closed 2 years ago

joamjoamjoam commented 2 years ago

Games like Feudal Alloy (appId: 699670) have valid steam app ids but have no reports so the API call returns them as an empty json array. These should probably show a pending status badge.

OMGDuke commented 2 years ago

AppId's without any reports return as 404 on the protondb api https://www.protondb.com/api/v1/reports/summaries/699670.json

Using the unofficial api gives an empty array, but it also returns an empty array for invalid appId's (non steam games) https://protondb.max-p.me/games/699670/reports/

I'll have to see if there's a way to see if its a steam game vs non steam game, steam games can be treated as valid appIds and show pending. Non steam appIds will be ignored for now (https://github.com/OMGDuke/protondb-decky/issues/3)

OMGDuke commented 2 years ago

appStore.GetAppOverviewByGameID(appId)

Looks like app_type reports 1 for steam games 👍

Seems a few other app types to look into.

Demos are 8, playtests 65536.

i'll have to see if there are any other values we need to worry about

OMGDuke commented 2 years ago

https://github.com/OMGDuke/protondb-decky/commit/18a695fe18845d01cee15bf55b234ac2c6090212

Fixed in this commit on the staging branch

joamjoamjoam commented 2 years ago

Sweet the app ids for non steam games are always > 0x02000000. The calcsfkr non steam game app ids is crc32(exe + appname) + "02000000" might be able to save an api call.