github xan105/Achievement-Watcher 1.6.7
Achievement Watcher

latest release: 1.6.8
2 years ago

❤️ Keep this project alive : Patreon / Paypal

💡 Scroll down for download link (assets) ...

Changelog

1.6.7

  • ➕ Added Steam Deck achievement unlock sound
  • ⚙️ Search 🔍 achievement description as well
  • ⚙️ Achievement schema file retention time increased from 1 month to 6
  • ⚙️ Change Content-Security-Policy to allow any https remote for image loading
  • ➕ Added hidden property img.overlay (boolean; set to true to activate) in schema file to manually trigger blue-ish overlay on top of a game's background image
  • ➕ Games in gameIndex.json (playtime) can be overridden or added with the file %appData%/Achievement Watcher/cfg/gameIndex.json (same syntax)
Previous version

1.6.6

  • ➕ Added %Public%\EMPRESS to the default list of monitored path.
  • ➕ Added "action" option in options.ini:
    Spawn any process you want on achievement unlock (achievement data are exposed via env var).
    See the wiki/option for more details.
    NB: This is just a first draft; The idea seemed cool in my mind 😅
  • ⚙️ Hungarian language update
  • ⚙️ Playtime: ignore Steam game when Steam is running
  • ⚙️ SSE/RPCS3 binary parser revision

1.6.5

  • 🐞 Fix Let's Encrypt DST Root CA X3 certificate expiration #211
  • ⚙️ The .ini file parser was changed to xan105/node-ini

1.6.4

  • ➕ Added Windows 11 (insider) notification sound
  • ⚙️ Update translations (Thanks for PR 😘)
  • ⚙️ Try to reduce "false positives" for playtime tracking (especially since now that it's case insensitive there was a lot more of them reported)
    • If the binary's filepath is unavailable (most of the time a permission issue) -> ignore
    • Updated the common filename blacklist and enforced it in every situation
    • Added the following to the list of ignored dir of origin (ex program files) :
      • %USERPROFILE%
      • %TEMP%
  • ⚙️ Change the default option of playtime notification from "true" (activated) to "false"
  • ⚙️ Added a secondary check for %GameName%-Win64-Shipping.exe for both checkIfProcessIsRunning and playtime tracking (Unreal Engine games). I don't like this (hard-coding something) but I'm tired of having to manually edit entry for these games (#179, #145)
  • ⚙️ DirectX redist (Win7/Xinput rumble) switch from the web redist to offline redist

1.6.3

  • 🐞 Fix some souvenir issues
    • souvenir could fail due to invalid filename (no ext)
    • souvenir (video) didn't adjust the scale factor whenever the DPI changed (Windows 10)
  • 🐞 Fix checkIfProcessIsRunning Watchdog check failing with some char. (tasklist and char escaping)
  • 🐞 Fix Watchdog not starting (crash) under Windows 8 (DPI awareness API mismatch)
  • ➕ Souvenir settings panel
  • ➕ H.265/HEVC support (8|10bits)
  • ⚙️ (Re) Allow Watchdog to run under Windows 7 (Node.js 14 supports only Win 8.1+)
  • ⚙️ Playtime tracking binary detection is now case insensitive
  • ⚙️ Setup redist
  • ⚙️ Dependencies update

1.6.2

  • 🐞 GNTP could sometimes fail when more than one achievement were unlocked at once.
  • 🐞 GNTP dummy test was crashing the background process 'watchdog' due to wrong file path of required resource.
  • 🐞 Video souvenir with h264_amf (AMD) wouldn't start due to invalid parameters
    (Unfortunately I can't test this further as I do not own amd hardware) Reported working on RX 580
  • 🐞 Steam schema fetching failure when using a Steam Web API key due to legacy scrapping code
  • 🐞 personal shell folder (my documents) wouldn't expand %USERPROFILE% if present (#148)
    Affected emu:
    • ALI213
    • Darksiders / Hoodlum / Skidrow
    • Skidrow (legacy)
  • ➕ Added a search bar for finding achievement (by name or by id)
  • ➕ Added 'DPI Awareness' to screenshot and video souvenir
  • ➕ Added 'last time played' (date)
  • ➕ Added context menu entry to reset playtime and last played
  • ⚙️ UI refresh / reload with CTRL+R or F5
  • ⚙️ Upgraded to Electron 12
  • ⚙️ Upgraded to Node 14

1.5.2

  • Better playtime detection when binary is used by more than one game (ex: P5 Strikers 'game.exe')
  • Rumble should work in every game (force vibration state)
  • Dependencies and few minor tweaks not worth mentioning.

1.5.1

  • You can now override default location for souvenir screenshot/video in cfg/options.ini (details)
  • Languages :
    • Added PT-PT (Portuguese from Portugal) (Thanks @gust500)
    • Updated brazilian, schinese
    • Layout overrides for the above languages
  • Websocket: fix dummy test not on par with notification
  • Playtime tracking : added 'javaw.exe' to the binary blacklist
  • Node/electron security update

1.5.0

Experimental new features :

  • Playtime tracking : Track how much time you have wasted playing a game 😂

playtime_tracking

Game start/end detection works by checking process name with an automatically generated game binary list (expect a few hit and miss) and works only with game released on Steam for now

  • Video souvenir : record a short video of a few seconds using the hardware encoder of your GPU (= low performance hit) when you unlock an achievement. Like 'screenshot souvenir' feature but in video if you will ^_^

Evolution of this would be to continuously record your game session and when you unlock an achievement to get for example the 10sec prior and the 10sec following. Much like what is done on console.


  • Achievement notification sound : added PS5, PS5 Platinum, Gog galaxy and removed discord
  • Achievement notification now uses Achievement Name / Achievement Description (if any) instead of Game Name / Achievement Name and thus option to show achievement description if any has been removed
  • Minor toast notification layout tweaks because of the above, Windows 20H2 toast layout change and playtime tracking notification
  • Minor achievement progression UI tweaks (toast, achievement list) to better display direct value and value normalized to %
  • Searchbar now collapse only when empty
  • Added keyboard shortcuts for searchbar :
    • [ CRTL+F ] open/close
    • [ ESC ] reset field
  • In 'achievement view', sort by time is now remembered
  • Achievement timestamp display has been inverted from date / from now on hover to from now / date on hover
  • Fix a potential (but rare due to other mitigating options) achievement notification spam due to the fact that a file access sometimes triggers a file change update
  • SmartSteamEmu : handle games with huge amount of stats and achievements (like 500-ish)
  • No longer wait for screenshot if you are not displaying it inside the toast (~1sec gain)
  • The usual dependencies update

1.4.2

  • fix screenshot (souvenir) failure when using default %USERPROFILE% (1.4.0 regression; hopefully the last one ^^)
  • electron 11

1.4.1

  • screenshot (souvenir) hotfix : watchdog would crash when taking a screenshot for some games in 1.4.0 (regression)
    NB: No longer overwrite an existing screenshot. This will be configurable at a later date.
    (if toasted souvenir is enabled in this case the notification will be displayed without the screenshot).

1.4.0

  • Custom user avatar : from file, windows profile or steam (click / right-click on the avatar)
  • Internal changes, dependencies and framework update

1.3.7

  • Improved support for some Steam emulators
  • Improved Russian translation
  • Dependencies update

1.3.6

  • 'Fix' Goldberg Steam Emu achievements.json file generation : game crashed upon start up if a description field was missing.

1.3.5

  • Fix error preventing RPCS3 trophy parsing in 1.3.4
  • Codex emu achievement progression support updated to work with newest release
  • Notification option "iconPrefetch" now defaults to true

1.3.4

This is a very minor update

  • Added support for a few edge case reported by some users
    • ALI213 older release (~2010)
    • Hoodlum using 'ALI213 like' emulator
    • Achievement api name doesn't match steam schema api name case
      eg: New_Achievement_1 <=> NEW_ACHIEVEMENT_1
  • German translation

1.3.3

  • Translation update
  • Added context menu option to generate in user selected location achievements.json file and achievements icons needed by Goldberg Steam Emu
  • Added "Smart Find" button in Settings > Folder > Custom user dir to scan all your drives for ALI213, Hoodlum, Darksiders and RPCS3 folders.
  • Skidrow using hoodlum/darksiders emu support (via custom folder: select the folder where steam_api.ini is located)
  • ALI213 : Now handle SaveType 0 & 1 (This change the save data path location)
  • ALI213, Hoodlum, Darksiders path finder is less strict.
    This is so that missing ach file will be handled as 0% game (cf previous update)
  • Added some cosmetic loading animations when building icon notification cache (iconPrefetch), generating achievements.json (Goldberg), scanning your drives (SmartFind) as these actions can take some time
  • dependencies update (security)

1.3.1

  • Added the following languages : Hungarian, Polish, Portuguese Brazil
    Thanks to everyone who sent me a translation 😘
  • Added CreamAPI support
  • Added an option to prefetch notification icon
  • No longer skip game on error when parsing local ach file (Missing ach file = 0% game)

1.3.0

  • Greenluma 2020 support
  • Read Greenluma timestamp
  • Toast will now use Windows 10 WinRT API if available for faster toast instead of PowerShell
  • Toast progression will update itself instead of creating a new toast
  • Added option to group toast by game within the Action Center
  • Added Websocket broadcast toggle
  • Added Balloon tooltip fallback (can be disabled)
  • New notification option panel
  • Added an option panel to toggle which source to import
    Display legit Steam game and watchdog cache import have been moved there
    LumaPlay is now deactivated by default, and will probably be removed later on
  • Added a button to show hidden achievements temporarily
  • Added Spanish & Spanish latam translation
  • Notification tests are now made by the 'watchdog' process
  • Upgraded to Electron 8
  • Internal, layout and languages changes
    ( If I broke something that was working before, please let me know 😅 )

NB: Some of your settings will be reset to their default value with this update

1.2.6

  • Added SSE's appdata folder to the default watched list (notification)
  • Fixed 'Hide 0%' option regression

1.2.5

  • SmartSteamEmu "stats.bin" file parser 🚀😁
  • Portrait mode (You might want to erase your cache in %appdata%\Achievement Watcher\schema for this if you upgraded from previous version)
  • Fixes, improvements, UI changes and dependencies update not worth mentioning in details

1.2.4

  • Fixed adding user custom folder via GUI (sorry for the inconvenience)
    This bug concerns 1.2.2 and 1.2.3
  • Added websocket to watchdog on port 8082 (more info)
    Watchdog will now push achievement information to every connected websocket client(s) when unlocking an achievement
  • Updated Chinese (Simplified) language
  • Multi-display setup: better primary display detection (souvenir/screenshot)

1.2.3

  • Added a rare effect for achievement ≤ 10% of players have this
    (like the one in the new Steam UI)
  • Added achievement sort option by percentage of rarity (x% of players have this)
  • Added game search bar
  • Small UI changes

1.2.2

  • Goldberg Steam Emu support
  • Better DARKSiDERS & Hoodlum support when using UserDataFolder=mydocs in ds.ini/hlm.ini
  • Upgraded to electron 7
  • Minor changes

1.2.1

  • Added DARKSiDERS UserStats/achiev.ini file support

1.2.0

  • Added a sort button to sort games by their most recent achievement
  • Added a sort button to sort unlocked achievements by the most recent
  • When not merging duplicates, the game-box will now show the source of achievements
  • Kind of reworked the notification system :
    • Switch logic from timestamp only to track and compare
    • Improved support for all steam emus
  • new Codex emu support
  • Goldberg emu "pre-support" (merge request)
  • Added option to notify on ach. progress, if available (cf. new Codex emu)
  • Added option to use the new notification cache as another source of achievement.
    => Use this with Merge duplicates and Merge Time to oldest in order to correct timestamp quirks from various steam emulator such as :
    • Hoodlum, Darksiders, RLD! overwriting timestamp
    • Codex (new) not saving any timestamp
  • Removed keep track option introduced in 1.1.7 and changed default timeTreshold from 5sec to 10sec
  • Now use the high-res avatar from .accountpicture-ms
  • Added icons, steam & steamdb links to the context menu

1.1.7

  • Added & Improved support for DARKSiDERS, HOODLUM, ALI213 steam emu
  • Added notification option to make gamepad vibrate when unlocking an achievement (xinput)
  • Added advanced notification option to keep track of unlocked achievements to prevent notification of already unlocked achievement when the steam emu overwrites previous timestamp.
  • Added UI option to choose which timestamp to display (most recent or oldest) when merging duplicates
  • Internal Changes

1.1.6

  • Added option to change the sound of the toast notification :
    • No sound
    • System default
    • Xbox achievement unlock
    • Xbox rare achievement unlock
    • Playstation trophy unlock
    • Win 10 notification generic
    • Win 8 notification generic
    • Android 9 notification popcorn
    • Discord reconnect

👋 If you have a cool sound to add feel free to contact me.

  • RLD! Timestamp support and notification
  • Added old Skidrow path to the default parsed folder list.
  • Added option to show the description of an achievement, if any, in the notification
  • Toast notification timestamp will now have the exact timestamp of the achievement (as per Microsoft recommandation)
  • Added a check routine when adding or editing a user custom folder in order to prevent addition of an invalid folder
  • More translation entry
  • Minor changes & fixes

1.1.5

This release focus mainly on notification and previous Windows compatibility

  • Windows 8 toast notification fallback
  • GNTP (Growl Notification Transport Protocol)
  • Minimum Windows version changed from 8 to 7
  • Beware settings file has changed in this release due to new settings.
  • Minor changes

1.1.4

  • Hoodlum support
  • ALI213 toast notification fix

1.1.3

  • Bug fix
  • Added a button to test toast notification in settings.

1.1.2

  • Fixes again 😅
  • Steam schema generation fallback for when a game is no longer available in the store.

1.1.1

  • UI: Resizing up / Fullscreen will now take all the available space.
  • Notification
    1 Added souvenir option to take a screenshot when you unlock an achievement
    2 Added a default option to prevent spam of notification when a game triggers multiple file writes at the same time
  • Uplay API
  • LumaPlay support
  • Legit Steam default changed from Installed to disabled
  • Bug fixes and improvements
  • Internal changes (HTTP calls)

1.1.0

  • Fixes and improvements
  • Internal changes
  • Switch to Electron5 / NodeJS12

1.0.9

  • Bug fix

1.0.8

  • RPCS3 (PS3 Emulator) Trophy parser
  • Improved Russian (ru) lang

1.0.7

  • Ach. unlock detection improvement (Toast notification)

1.0.6

  • Bug fix and improvements
  • Ach highlight (cmdline/URI/Toast notification onClick)

1.0.5

  • Legit Steam support (Games: None/Installed/Owned)
  • Server side blacklist
  • UI improvements, fixes and dependencies security vulnerabilities

1.0.4

  • Steam AppID Blacklist

1.0.3

  • GLR (GreenLuma Reborn) and ALI213 support
  • New option to hide 0% game
  • fix ini parser bug with achievement name including dots in the name

1.0.2

  • You can now add your own folders and choose to monitor them for notification or not
  • Italian (ita) lang support
  • Dependencies updated (security vulnerabilities)

1.0.1

  • Small fixes

1.0.0

  • Initial Release

System Requirements

Windows x64 from 7 and above but keep in mind that this was mostly tested with Windows 10.
'Video souvenir' feature requires NVIDIA or AMD GPU with hardware-accelerated encoding capabilities.

Don't miss a new Achievement-Watcher release

NewReleases is sending notifications on new releases.