Thank you for fixing the issues on GitHub, but can you provide a new installable build?
I have to add some things though: I discovered the offending game which is responsible for this exception: It is "One Way to Die", appid 388490.
Some other suggestions for this plugin:
- completion rate filter from xx% (default 0%) to xx% (default 100%) (don't forget the apply button)
- filter / group by platform (Steam, GOG, etc)
- display number of games in the dialog window (should count the filtered completion range and total)
- some basic statistics breakdown how many achievements by platform / completion rate
- display full "all achievements by month" and don't cut off if total period is longer than 12 months / 1 year (configurable?)
- export total statistics to CSV (by month and tabulated by platform)
- configure default sort order (+ ascending / descending)
- if there is an exception, display what game / appid has caused this exception (at least log file, but i think this is already done in the log file?)
- default to alphabetical sort order, if there are achievements with same success rate (eg all 100% games)
I have to add some things though: I discovered the offending game which is responsible for this exception: It is "One Way to Die", appid 388490.
{"Name":"One Way To Die","HaveAchivements":true,"Total":18,"Unlocked":0,"Locked":18,"Progression":0,"Achievements":[{"Name":"First Death","Description":"This is your first time dying... sorry!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/d2aebdc4e95c300d3d125359e6f08466b3048622.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Die Trying","Description":"You have perished 100 times already. Ouch!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/9f7b97534f462e523c0845741761bf9692b68243.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Dear Dog, Why?","Description":"You have played and died 1,000 times! Wow!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/00ada58d200925f989831828e3ab978da5d72c2d.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/12f89dd5b0843713304483d4864ba5940365fdfc.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"About Time","Description":"You made it home without dying! Good job!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/52a9c3de143ec5140ca273e20d6009bb865d8589.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Triple Non-Threat","Description":"You have all possible immunities! Good luck!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/28add0afac645f0a7023f5b59a14ddedccb3e77b.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Persistence","Description":"You have experienced every unique death!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/1f6171d871eb0f614a2ba513fb29b9849cf2d22d.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Even Worse","Description":"Experience all the Steam-only deaths!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/d2c127bca9f7b2ed3d2f629fb883eddd3fc209ce.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Death Fodder","Description":"Those saboteurs are just ruthless!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/c13aa6c61e48f1b9ec23be36348b2433cfbd3b5d.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Sweet Revenge","Description":"You failed to get an elephant as saboteur!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/8c57bbb1be6db03a272d15b9dce469186c6933b3.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Accursed Villain","Description":"You have been the saboteur enough!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/468ab8083052b8ea2d35529a43abe41c769b39dc.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"The Slaughter","Description":"The blood is on your hands. Tons of it.","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/12d84f3fef12c9a98f1fb5fe5b724a69944f096c.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/12f89dd5b0843713304483d4864ba5940365fdfc.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Red Elephant","Description":"You have won the elephant!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/2650610c5ff95a6629bb8ada4c821115b286b307.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Anti Trapper","Description":"You have disabled a lot of traps!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/fd47a80c84ca11c8e907d2d5f7d48f9197fb2f80.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Local Hero","Description":"You have stopped at least 10 saboteurs!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/2e11cd9b4d99c02112404c2998aaee5644029da4.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"The Hallowest","Description":"You experienced all 10 Halloween deaths!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/d19678d0ec55124c8d535bb2d1d483bd9e74449c.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Crimson X-Mas","Description":"You experienced all 10 X-Mas deaths!","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/f7f9c1b34f27e1b74d9d45957f2182d17493be47.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"The Returned","Description":"The bain of achievement hunters.","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/74d28ece6929bca7edeccafce3557fdc3c797de9.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/24fad61055fbd6f812f3d88ac9d0e598604d1645.jpg","DateUnlocked":"0001-01-01T00:00:00"},{"Name":"Clowning Around","Description":"Beat Story, Choose, and Random modes once each.","UrlUnlocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/92cf0d05bca09f0a33adc7c519b5d657e6d75fb5.jpg","UrlLocked":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/388490/312e9493501f02a6f5ee9c39e8cda1a7f3e3e801.jpg","DateUnlocked":"0001-01-01T00:00:00"}]}
Some other suggestions for this plugin:
- completion rate filter from xx% (default 0%) to xx% (default 100%) (don't forget the apply button)
- filter / group by platform (Steam, GOG, etc)
- display number of games in the dialog window (should count the filtered completion range and total)
- some basic statistics breakdown how many achievements by platform / completion rate
- display full "all achievements by month" and don't cut off if total period is longer than 12 months / 1 year (configurable?)
- export total statistics to CSV (by month and tabulated by platform)
- configure default sort order (+ ascending / descending)
- if there is an exception, display what game / appid has caused this exception (at least log file, but i think this is already done in the log file?)
- default to alphabetical sort order, if there are achievements with same success rate (eg all 100% games)