Update 128 files

- /dll/base.cpp
- /dll/base.h
- /dll/common_includes.h
- /dll/dll.cpp
- /dll/dll.h
- /dll/flat.cpp
- /dll/local_storage.cpp
- /dll/local_storage.h
- /dll/net.proto
- /dll/network.cpp
- /dll/network.h
- /dll/rtlgenrandom.c
- /dll/rtlgenrandom.def
- /dll/settings.cpp
- /dll/settings.h
- /dll/settings_parser.cpp
- /dll/settings_parser.h
- /dll/steam_HTMLsurface.h
- /dll/steam_applist.cpp
- /dll/steam_applist.h
- /dll/steam_apps.cpp
- /dll/steam_apps.h
- /dll/steam_client.cpp
- /dll/steam_client.h
- /dll/steam_controller.h
- /dll/steam_friends.h
- /dll/steam_game_coordinator.h
- /dll/steam_gamesearch.h
- /dll/steam_gameserver.cpp
- /dll/steam_gameserver.h
- /dll/steam_gameserverstats.cpp
- /dll/steam_gameserverstats.h
- /dll/steam_http.cpp
- /dll/steam_http.h
- /dll/steam_inventory.h
- /dll/steam_masterserver_updater.h
- /dll/steam_matchmaking.h
- /dll/steam_matchmaking_servers.cpp
- /dll/steam_matchmaking_servers.h
- /dll/steam_music.cpp
- /dll/steam_music.h
- /dll/steam_musicremote.cpp
- /dll/steam_musicremote.h
- /dll/steam_networking.h
- /dll/steam_networking_messages.h
- /dll/steam_networking_sockets.h
- /dll/steam_networking_socketsserialized.h
- /dll/steam_networking_utils.h
- /dll/steam_parental.cpp
- /dll/steam_parental.h
- /dll/steam_parties.h
- /dll/steam_remote_storage.h
- /dll/steam_remoteplay.h
- /dll/steam_screenshots.cpp
- /dll/steam_screenshots.h
- /dll/steam_tv.h
- /dll/steam_ugc.h
- /dll/steam_unified_messages.h
- /dll/steam_user.h
- /dll/steam_user_stats.h
- /dll/steam_utils.h
- /dll/steam_video.cpp
- /dll/steam_video.h
- /dll/wrap.cpp
- /all/network.h
- /all/network.cpp
- /all/dll.cpp
- /all/base.cpp
- /all/base.h
- /all/common_includes.h
- /all/local_storage.cpp
- /all/local_storage.h
- /all/rtlgenrandom.c
- /all/settings_parser.cpp
- /all/settings.cpp
- /all/steam_HTMLsurface.h
- /all/settings_parser.h
- /all/steam_client.h
- /all/steam_apps.h
- /all/steam_gameserver.h
- /all/steam_client.cpp
- /all/steam_applist.cpp
- /all/steam_gameserver.cpp
- /all/steam_controller.h
- /all/dll.h
- /all/steam_apps.cpp
- /all/steam_friends.h
- /all/steam_game_coordinator.h
- /all/net.proto
- /all/rtlgenrandom.def
- /all/steam_matchmaking_servers.h
- /all/settings.h
- /all/steam_applist.h
- /all/flat.cpp
- /all/steam_gamesearch.h
- /all/steam_music.cpp
- /all/steam_remoteplay.h
- /all/steam_screenshots.cpp
- /all/steam_parental.cpp
- /all/steam_musicremote.h
- /all/steam_networking.h
- /all/steam_networking_messages.h
- /all/steam_networking_sockets.h
- /all/steam_networking_socketsserialized.h
- /all/steam_networking_utils.h
- /all/steam_parental.h
- /all/steam_parties.h
- /all/steam_remote_storage.h
- /all/steam_screenshots.h
- /all/steam_tv.h
- /all/steam_ugc.h
- /all/steam_unified_messages.h
- /all/steam_user.h
- /all/steam_user_stats.h
- /all/steam_http.cpp
- /all/steam_http.h
- /all/steam_inventory.h
- /all/steam_masterserver_updater.h
- /all/steam_matchmaking.h
- /all/steam_matchmaking_servers.cpp
- /all/steam_music.h
- /all/steam_musicremote.cpp
- /all/steam_utils.h
- /all/steam_video.cpp
- /all/wrap.cpp
- /all/steam_gameserverstats.cpp
- /all/steam_gameserverstats.h
- /all/steam_video.h
This commit is contained in:
McCoy L Stevens 2024-11-19 19:16:05 +00:00
parent 1c0bdceaac
commit 25c00530f3
64 changed files with 0 additions and 0 deletions

75
all/steam_screenshots.h Normal file
View file

@ -0,0 +1,75 @@
/* Copyright (C) 2019 Mr Goldberg
This file is part of the Goldberg Emulator
The Goldberg Emulator is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
The Goldberg Emulator is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the Goldberg Emulator; if not, see
<http://www.gnu.org/licenses/>. */
#include "base.h"
struct screenshot_infos_t
{
std::string screenshot_name;
nlohmann::json metadatas;
};
class Steam_Screenshots : public ISteamScreenshots
{
bool hooked = false;
std::map<ScreenshotHandle, screenshot_infos_t> _screenshots;
class Local_Storage* local_storage;
class SteamCallBacks* callbacks;
ScreenshotHandle create_screenshot_handle();
public:
Steam_Screenshots(class Local_Storage* local_storage, class SteamCallBacks* callbacks);
// Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format.
// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight );
// Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio
// as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format.
// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
// JPEG, TGA, and PNG formats are supported.
ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight );
// Causes the Steam overlay to take a screenshot. If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead.
void TriggerScreenshot();
// Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or the game handles them. If the game is hooking screenshots,
// then the ScreenshotRequested_t callback will be sent if the user presses the hotkey, and the game is expected to call WriteScreenshot or AddScreenshotToLibrary
// in response.
void HookScreenshots( bool bHook );
// Sets metadata about a screenshot's location (for example, the name of the map)
bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation );
// Tags a user as being visible in the screenshot
bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID );
// Tags a published file as being visible in the screenshot
bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID );
// Returns true if the app has hooked the screenshot
bool IsScreenshotsHooked();
// Adds a VR screenshot to the user's screenshot library from disk in the supported type.
// pchFilename should be the normal 2D image used in the library view
// pchVRFilename should contain the image that matches the correct type
// The return value is a handle that is valid for the duration of the game process and can be used to apply tags.
// JPEG, TGA, and PNG formats are supported.
ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename );
};