Changes
- achievements: spoof GetUserStats even when sha_schema is present
Lua games kept the schema they first downloaded forever. Once Steam has
appcache/stats/UserGameStatsSchema_.bin it always sends sha_schema on
Player.GetUserStats, and the old handler skipped the SteamID spoof in that
case, so the request went out under the user's own (non-owner) SteamID and
the server returned nothing - newly added achievements never arrived.
Drop that early return: spoof the stat SteamID whenever the app is in
addappid, keeping sha_schema on the request. The server then returns a fresh
schema only when its hash differs. The reply path is unchanged
(HandleRecv_GetUserStatsResponse already sets eresult=OK and strips stats
while leaving the schema), so local stats are unaffected - the only new
behavior is that a changed schema now reaches the client.
The skipped-spoof guard dated to the original achievements implementation
(5412326), not a later bugfix, so it guarded a design choice, not a regression.
Installation
Download OpenSteamTool-v1.0.7-Release.zip (or the -Debug variant if you need logging to <steam>/opensteamtool directory).
Extract and copy dwmapi.dll, xinput1_4.dll and OpenSteamTool.dll to your Steam root directory (e.g. C:\Program Files (x86)\Steam).
Create a Lua config directory (for example C:\Program Files (x86)\Steam\config\stplug-in) and place your Lua scripts there.