The correct name for the locked achievement image is "icon_gray".
Also fix the debugging counters and properly check for an existing key
in the parsed json.
Use new timing checks to detect D3D being dependant on other APIs.
(Should work now regardless of platform, but GPU hardware detection may still be
needed...)
Wine doesn't implement the NULL renderer, and tries to fallback to the
REFERENCE renderer. Which then also fails when we try to create a 1x1
DXGI_USAGE_RENDER_TARGET_OUTPUT swapchain.
Until Wine manages to get a NULL renderer working, just use the WARP
renderer instead. (Which Wine also doesn't implement and falls back to
the hardware renderer for, but at least it works properly.)
Add cb_type ## _is_registered function for GOLDBERG_CALLBACK_INTERNAL
macro to allow external checking of the callback's registration status
with CCallbackMgr.
Lock the buffers when modifying them.
Notify when callers change a set avatar image.
Create a get function for images.
Allow deletion of previously loaded images, and reuse of their ids.
Init callback related objects in Steam_Client before initing anything
else.
Fix missing global_mutex lock in Steam_Client::RegisterCallback() and
Steam_Client::UnregisterCallback().
... and fix the debug messages.
This changes the filenames to be "avatar_*" instead of "profile_*" to
keep things consistent with the proper naming elsewhere.
As we need to add a file chooser to the overlay, we need the backend
functions for it to use.
This commit adds:
Local_Storage::get_parent_directory().
Local_Storage::is_directory().
Local_Storage::get_user_pictures_path().
Local_Storage::get_drive_list().
Posix version of DirectoryExists().
... settings directory.
Also adds some additional related debug logging, and a utility function
for converting between std::vector<image_pixel_t> used by Local_Storage::load_image(),
and std::string used by Settings::add_image().
... changes.
Implements STEAM_CALL_RESULT( AvatarImageLoaded_t ).
Adds support for a sending a STEAM_CALL_RESULT( PersonaStateChange_t ) with the k_EPersonaChangeAvatar flag.
Creates a mapping in Settings to hold the avatar image data.
Also adds additional debug logging to indicate which image handle is
returned for each user / image size.
... hardcoding a path to a font file from the system directory.
Wine doesn't have anything in there, and doing it this way allows
Wine to "just work" without using Winetricks.
Display achievement icons in steam_overlay, and during achievement
notifications.
Add total achievement counts and progress bar to steam_overlay.
Add new global settings for displaying unearned hidden achievements in
the achievement list and displaying achievement descriptions in unlock
notifications. (Both disabled by default.)