mmatyas / pegasus-frontend

A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
http://pegasus-frontend.org
Other
1.19k stars 105 forks source link

Compatibility with Playnite versions 9.3≥ #1032

Open Pherrera0 opened 1 year ago

Pherrera0 commented 1 year ago

The issue

TL;DR: The Playnite source/provider service does not work with Playnite versions 9.3≥ (current version is 10.9)

I love Pegasus and think it's the best looking front-end out there. That said, it's much easier to add games to Playnite. I was excited to see that Pegasus offered an option to import titles from Playnite. Unfortunately, it didn't work for me when I tried importing my Playnite titles. I did some digging and saw that Playnite support was added around September of last year. I downloaded the corresponding Playnite version that existed around the time that Playnite support was added, and viola, it worked! But Playnite has seen a lot of development since then, with many new (and useful) features having been added since then--so I wanted to see why Pegasus didn't recognize the new version of Playnite (I thought it might be something I could fix on my own, like files being kept in a different directory).

Turns out that Pegasus looks for .json files containing game info in %AppData%\playnite\library\games; which is as intended, as Playnite versions preceeding 9.3 stored game info in distinct .json files under this directory (e.g., %AppData%\playnite\library\games\1ef635d7-5448-43bb-a098-72fca52aea68.json)

However, in version 9.3 (and onward), game info is stored in a single .db file located at %AppData%\playnite\library (e.g., %AppData%\playnite\library\games.db). I opened this .db file in notepad, and it looks like it's a liteDB file and it seems like it has all the same info as the last database.

Playnite %AppData%\playnite\ archives

I've attached archives of %AppData%\playnite\ for both versions. Pegasus works with the database in version 8.15, but versions 9.3 onward use a different database (I've attached an archive for 10.9 since it's the current version as of writing this). I think up-to-date Playnite compatibility could really be a game-changer for Steam Deck (Windows) owners. Please let me know if there's anything else you need.

System info

Steam Deck running Windows 10 22H2.

Pegasus version

alpha16-44-g8119fcec, 2022-10-14

Pegasus log

mmatyas commented 1 year ago

Thank you very much for the detailed description! I'll see if I can update the Playnite support after the holidays.

Daisouji commented 9 months ago

Is this issue being worked on?

mmatyas commented 9 months ago

I haven't fixed this issue yet unfortunately.