Skip to content

Commit

Permalink
add different versions for Steam_UGC::GetQueryUGCResult() `Steam_UG…
Browse files Browse the repository at this point in the history
…C::RequestUGCDetails()` to support old and new mod details struct after `sdk 1.60`
  • Loading branch information
a committed Nov 1, 2024
1 parent 5b02ecb commit a69a363
Show file tree
Hide file tree
Showing 22 changed files with 171 additions and 80 deletions.
16 changes: 15 additions & 1 deletion dll/dll/steam_ugc.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ public ISteamUGC017,
public ISteamUGC018,
public ISteamUGC
{
public:
enum class IUgcItfVersion : unsigned {
v018, // sdk 1.59
v020, // sdk 1.60
};

private:
constexpr static const char ugc_favorits_file[] = "favorites.txt";

class Settings *settings{};
Expand All @@ -76,12 +83,15 @@ public ISteamUGC

std::optional<std::vector<std::string>> get_query_ugc_tags(UGCQueryHandle_t handle, uint32 index);

void set_details(PublishedFileId_t id, SteamUGCDetails_t *pDetails);
void set_details(PublishedFileId_t id, SteamUGCDetails_t *pDetails, IUgcItfVersion ver);

void read_ugc_favorites();

bool write_ugc_favorites();

bool internal_GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails, IUgcItfVersion ver );
SteamAPICall_t internal_RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds, IUgcItfVersion ver );

public:
Steam_UGC(class Settings *settings, class Ugc_Remote_Storage_Bridge *ugc_bridge, class Local_Storage *local_storage, class SteamCallResults *callback_results, class SteamCallBacks *callbacks);

Expand All @@ -107,6 +117,8 @@ public ISteamUGC

// Retrieve an individual result after receiving the callback for querying UGC
bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails );
// before SDK v1.60
bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails );

uint32 GetQueryUGCNumTags( UGCQueryHandle_t handle, uint32 index );

Expand Down Expand Up @@ -200,6 +212,8 @@ public ISteamUGC

// DEPRECATED - Use CreateQueryUGCDetailsRequest call above instead!
SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds );
// before SDK v1.60
SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds );

SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID );

Expand Down
18 changes: 2 additions & 16 deletions dll/flat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3675,14 +3675,7 @@ STEAMAPI_API SteamAPICall_t SteamAPI_ISteamUGC_SendQueryUGCRequest( ISteamUGC* s

STEAMAPI_API steam_bool SteamAPI_ISteamUGC_GetQueryUGCResult( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t * pDetails )
{
long long client_vftable_distance = ((char *)self - (char*)get_steam_client()->steam_ugc);
long long server_vftable_distance = ((char *)self - (char*)get_steam_client()->steam_gameserver_ugc);
auto ptr = get_steam_client()->steam_gameserver_ugc;
if (client_vftable_distance >= 0 && (server_vftable_distance < 0 || client_vftable_distance < server_vftable_distance)) {
ptr = get_steam_client()->steam_ugc;
}

return (ptr)->GetQueryUGCResult(handle, index, pDetails);
return self->GetQueryUGCResult(handle, index, pDetails);
}

STEAMAPI_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumTags( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index )
Expand Down Expand Up @@ -4143,14 +4136,7 @@ STEAMAPI_API steam_bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag( ISteamUGC* se

STEAMAPI_API SteamAPICall_t SteamAPI_ISteamUGC_RequestUGCDetails( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds )
{
long long client_vftable_distance = ((char *)self - (char*)get_steam_client()->steam_ugc);
long long server_vftable_distance = ((char *)self - (char*)get_steam_client()->steam_gameserver_ugc);
auto ptr = get_steam_client()->steam_gameserver_ugc;
if (client_vftable_distance >= 0 && (server_vftable_distance < 0 || client_vftable_distance < server_vftable_distance)) {
ptr = get_steam_client()->steam_ugc;
}

return (ptr)->RequestUGCDetails(nPublishedFileID, unMaxAgeSeconds);
return self->RequestUGCDetails(nPublishedFileID, unMaxAgeSeconds);
}

STEAMAPI_API SteamAPICall_t SteamAPI_ISteamUGC_CreateItem( ISteamUGC* self, AppId_t nConsumerAppId, EWorkshopFileType eFileType )
Expand Down
1 change: 1 addition & 0 deletions dll/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ void Settings::addModDetails(PublishedFileId_t id, const Mod_entry &details)
f->score = details.score;
f->numChildren = details.numChildren;
f->previewURL = details.previewURL;
f->total_files_sizes = details.total_files_sizes;
}
}

Expand Down
104 changes: 76 additions & 28 deletions dll/steam_ugc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ std::optional<std::vector<std::string>> Steam_UGC::get_query_ugc_tags(UGCQueryHa

}

void Steam_UGC::set_details(PublishedFileId_t id, SteamUGCDetails_t *pDetails)
void Steam_UGC::set_details(PublishedFileId_t id, SteamUGCDetails_t *pDetails, IUgcItfVersion ver)
{
if (pDetails) {
memset(pDetails, 0, sizeof(SteamUGCDetails_t));
Expand Down Expand Up @@ -106,8 +106,10 @@ void Steam_UGC::set_details(PublishedFileId_t id, SteamUGCDetails_t *pDetails)
// TODO should we enable this?
// pDetails->m_unNumChildren = mod.numChildren;

// TODO make sure the filesize is good
pDetails->m_ulTotalFilesSize = mod.total_files_sizes;
if (ver >= IUgcItfVersion::v020) {
// TODO make sure the filesize is good
pDetails->m_ulTotalFilesSize = mod.total_files_sizes;
}
} else {
PRINT_DEBUG(" mod isn't installed, returning failure");
pDetails->m_eResult = k_EResultFail;
Expand Down Expand Up @@ -151,6 +153,63 @@ bool Steam_UGC::write_ugc_favorites()
return (size_t)stored == file_data.size();
}

bool Steam_UGC::internal_GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails, IUgcItfVersion ver )
{
PRINT_DEBUG("%llu [%u] %p <%u>", handle, index, pDetails, (unsigned)ver);
std::lock_guard<std::recursive_mutex> lock(global_mutex);

// some apps (like appid 588650) ignore the return of this function, especially for builtin mods
if (pDetails) {
pDetails->m_nPublishedFileId = k_PublishedFileIdInvalid;
pDetails->m_eResult = k_EResultFail;
pDetails->m_bAcceptedForUse = false;
pDetails->m_hFile = k_UGCHandleInvalid;
pDetails->m_hPreviewFile = k_UGCHandleInvalid;
pDetails->m_unNumChildren = 0;
}

if (handle == k_UGCQueryHandleInvalid) return false;

auto request = std::find_if(ugc_queries.begin(), ugc_queries.end(), [&handle](struct UGC_query const& item) { return item.handle == handle; });
if (ugc_queries.end() == request) {
return false;
}

if (index >= request->results.size()) {
return false;
}

auto it = request->results.begin();
std::advance(it, index);
PublishedFileId_t file_id = *it;
set_details(file_id, pDetails, ver);
return true;
}

SteamAPICall_t Steam_UGC::internal_RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds, IUgcItfVersion ver )
{
PRINT_DEBUG("%llu %u <%u>", nPublishedFileID, unMaxAgeSeconds, (unsigned)ver);
std::lock_guard<std::recursive_mutex> lock(global_mutex);

if (ver <= IUgcItfVersion::v018) { // <= SDK 1.59
SteamUGCRequestUGCDetailsResult018_t data{};
data.m_bCachedData = false;
set_details(nPublishedFileID, reinterpret_cast<SteamUGCDetails_t *>(&data.m_details), ver);

auto ret = callback_results->addCallResult(data.k_iCallback, &data, sizeof(data));
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
return ret;
} else { // >= SDK 1.60
SteamUGCRequestUGCDetailsResult_t data{};
data.m_bCachedData = false;
set_details(nPublishedFileID, &data.m_details, ver);

auto ret = callback_results->addCallResult(data.k_iCallback, &data, sizeof(data));
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
return ret;
}
}


Steam_UGC::Steam_UGC(class Settings *settings, class Ugc_Remote_Storage_Bridge *ugc_bridge, class Local_Storage *local_storage, class SteamCallResults *callback_results, class SteamCallBacks *callbacks)
{
Expand Down Expand Up @@ -278,23 +337,13 @@ SteamAPICall_t Steam_UGC::SendQueryUGCRequest( UGCQueryHandle_t handle )
bool Steam_UGC::GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails )
{
PRINT_DEBUG("%llu %u %p", handle, index, pDetails);
std::lock_guard<std::recursive_mutex> lock(global_mutex);
if (handle == k_UGCQueryHandleInvalid) return false;

auto request = std::find_if(ugc_queries.begin(), ugc_queries.end(), [&handle](struct UGC_query const& item) { return item.handle == handle; });
if (ugc_queries.end() == request) {
return false;
}

if (index >= request->results.size()) {
return false;
}
return internal_GetQueryUGCResult(handle, index, pDetails, IUgcItfVersion::v020);
}

auto it = request->results.begin();
std::advance(it, index);
PublishedFileId_t file_id = *it;
set_details(file_id, pDetails);
return true;
bool Steam_UGC::GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails )
{
PRINT_DEBUG("%llu %u %p", handle, index, pDetails);
return internal_GetQueryUGCResult(handle, index, pDetails, IUgcItfVersion::v018);
}

std::optional<std::string> Steam_UGC::get_query_ugc_tag(UGCQueryHandle_t handle, uint32 index, uint32 indexTag)
Expand Down Expand Up @@ -841,20 +890,19 @@ bool Steam_UGC::SetTimeUpdatedDateRange( UGCQueryHandle_t handle, RTime32 rtStar
SteamAPICall_t Steam_UGC::RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds )
{
PRINT_DEBUG("%llu", nPublishedFileID);
std::lock_guard<std::recursive_mutex> lock(global_mutex);

SteamUGCRequestUGCDetailsResult_t data{};
data.m_bCachedData = false;
set_details(nPublishedFileID, &(data.m_details));
auto ret = callback_results->addCallResult(data.k_iCallback, &data, sizeof(data));
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
return ret;
return internal_RequestUGCDetails(nPublishedFileID, unMaxAgeSeconds, IUgcItfVersion::v020);
}

SteamAPICall_t Steam_UGC::RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds )
{
PRINT_DEBUG("%llu", nPublishedFileID);
return internal_RequestUGCDetails(nPublishedFileID, unMaxAgeSeconds, IUgcItfVersion::v018);
}

SteamAPICall_t Steam_UGC::RequestUGCDetails( PublishedFileId_t nPublishedFileID )
{
PRINT_DEBUG("old");
return RequestUGCDetails(nPublishedFileID, 0);
return RequestUGCDetails_old(nPublishedFileID, 0);
}


Expand Down
2 changes: 1 addition & 1 deletion sdk/steam/isteamugc001.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ISteamUGC001

virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

// Release the request to free up memory, after retrieving results
virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0;
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc002.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class ISteamUGC002

virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

// Release the request to free up memory, after retrieving results
virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0;
Expand All @@ -34,7 +34,7 @@ class ISteamUGC002
virtual bool SetSearchText( UGCQueryHandle_t handle, const char *pSearchText ) = 0;
virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0;

virtual SteamAPICall_t RequestUGCDetails(PublishedFileId_t nPublishedFileID, uint32 uUnk) = 0;
virtual SteamAPICall_t RequestUGCDetails_old(PublishedFileId_t nPublishedFileID, uint32 uUnk) = 0;


// Steam Workshop Creator API
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc003.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class ISteamUGC003
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

// Release the request to free up memory, after retrieving results
virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0;
Expand All @@ -41,7 +41,7 @@ class ISteamUGC003
virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc004.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class ISteamUGC004
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

// Release the request to free up memory, after retrieving results
virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0;
Expand All @@ -40,7 +40,7 @@ class ISteamUGC004
virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc005.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class ISteamUGC005
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, char *pchURL, uint32 cchURLSize ) = 0;
virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, char *pchMetadata, uint32 cchMetadatasize ) = 0;
Expand Down Expand Up @@ -52,7 +52,7 @@ class ISteamUGC005
virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc006.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class ISteamUGC006
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, char *pchURL, uint32 cchURLSize ) = 0;
virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, char *pchMetadata, uint32 cchMetadatasize ) = 0;
Expand Down Expand Up @@ -54,7 +54,7 @@ class ISteamUGC006
virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc007.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class ISteamUGC007
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, char *pchURL, uint32 cchURLSize ) = 0;
virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, char *pchMetadata, uint32 cchMetadatasize ) = 0;
Expand Down Expand Up @@ -59,7 +59,7 @@ class ISteamUGC007
virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc008.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class ISteamUGC008
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, char *pchURL, uint32 cchURLSize ) = 0;
virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, char *pchMetadata, uint32 cchMetadatasize ) = 0;
Expand Down Expand Up @@ -59,7 +59,7 @@ class ISteamUGC008
virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
4 changes: 2 additions & 2 deletions sdk/steam/isteamugc009.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class ISteamUGC009
virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0;

// Retrieve an individual result after receiving the callback for querying UGC
virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;
virtual bool GetQueryUGCResult_old( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0;

virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, char *pchURL, uint32 cchURLSize ) = 0;
virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, char *pchMetadata, uint32 cchMetadatasize ) = 0;
Expand Down Expand Up @@ -59,7 +59,7 @@ class ISteamUGC009
virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0;

// Request full details for one piece of UGC
virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;
virtual SteamAPICall_t RequestUGCDetails_old( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0;

// Steam Workshop Creator API
virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet
Expand Down
Loading

0 comments on commit a69a363

Please sign in to comment.