diff --git a/Readme.txt b/Readme.txt index 4f3ef59..6a1559d 100644 --- a/Readme.txt +++ b/Readme.txt @@ -11,6 +11,24 @@ website at: http://partner.steamgames.com Revision History: +---------------------------------------------------------------- +v1.14 16th May 2011 +---------------------------------------------------------------- + +Stats and Achievements +* Added a set of functions for accessing global achievement unlock percentages +** RequestGlobalAchievementPercentages() to request the completion percentages from the backend +** GetMostAchievedAchievementInfo() and GetNextMostAchievedAchievementInfo() to iterate achievement completion percentages +** GetAchievementAchievedPercent() to query the global unlock percentage for a specific achievement +* Added a set of functions for accessing global stats values. To enable a global stats set stats as "aggregated" from the Steamworks admin page. +** RequestGlobalStats() to request the global stats data from the backend +** GetGlobalStat() to get the global total for a stat +** GetGlobalStatHistory() to get per day totals for a stat + +HTTP +* added ISteamHTTP::GetHTTPDownloadProgressPct() get the progress of an HTTP request + + ---------------------------------------------------------------- v1.13 26th April 2011 ---------------------------------------------------------------- diff --git a/client/steam.exe b/client/steam.exe index 664de9e..732e567 100644 Binary files a/client/steam.exe and b/client/steam.exe differ diff --git a/public/steam/isteamhttp.h b/public/steam/isteamhttp.h index 290927e..8095a66 100644 --- a/public/steam/isteamhttp.h +++ b/public/steam/isteamhttp.h @@ -85,6 +85,11 @@ public: // Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t // callback and finishing using the response. virtual bool ReleaseHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Gets progress on downloading the body for the request. This will be zero unless a response header has already been + // received which included a content-length field. For responses that contain no content-length it will report + // zero for the duration of the request as the size is unknown until the connection closes. + virtual bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut ) = 0; }; #define STEAMHTTP_INTERFACE_VERSION "STEAMHTTP_INTERFACE_VERSION001" diff --git a/public/steam/isteamuserstats.h b/public/steam/isteamuserstats.h index 86af2a1..1bb7511 100644 --- a/public/steam/isteamuserstats.h +++ b/public/steam/isteamuserstats.h @@ -212,6 +212,41 @@ public: // This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t virtual SteamAPICall_t GetNumberOfCurrentPlayers() = 0; + // Requests that Steam fetch data on the percentage of players who have received each achievement + // for the game globally. + // This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t. + virtual SteamAPICall_t RequestGlobalAchievementPercentages() = 0; + + // Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch + // the next most achieved afterwards. Will return -1 if there is no data on achievement + // percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback). + virtual int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another + // GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last + // achievement has been iterated. + virtual int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Returns the percentage of users who have achieved the specified achievement. + virtual bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent ) = 0; + + // Requests global stats data, which is available for stats marked as "aggregated". + // This call is asynchronous, with the results returned in GlobalStatsReceived_t. + // nHistoryDays specifies how many days of day-by-day history to retrieve in addition + // to the overall totals. The limit is 60. + virtual SteamAPICall_t RequestGlobalStats( int nHistoryDays ) = 0; + + // Gets the lifetime totals for an aggregated stat + virtual bool GetGlobalStat( const char *pchStatName, int64 *pData ) = 0; + virtual bool GetGlobalStat( const char *pchStatName, double *pData ) = 0; + + // Gets history for an aggregated stat. pData will be filled with daily values, starting with today. + // So when called, pData[0] will be today, pData[1] will be yesterday, and pData[2] will be two days ago, + // etc. cubData is the size in bytes of the pubData buffer. Returns the number of + // elements actually set. + virtual int32 GetGlobalStatHistory( const char *pchStatName, int64 *pData, uint32 cubData ) = 0; + virtual int32 GetGlobalStatHistory( const char *pchStatName, double *pData, uint32 cubData ) = 0; + #ifdef _PS3 // Call to kick off installation of the PS3 trophies. This call is asynchronous, and the results will be returned in a PS3TrophiesInstalled_t // callback. @@ -233,7 +268,7 @@ public: #endif }; -#define STEAMUSERSTATS_INTERFACE_VERSION "STEAMUSERSTATS_INTERFACE_VERSION009" +#define STEAMUSERSTATS_INTERFACE_VERSION "STEAMUSERSTATS_INTERFACE_VERSION010" // callbacks #pragma pack( push, 8 ) @@ -353,9 +388,18 @@ struct UserAchievementIconFetched_t int m_nIconHandle; // Handle to the image, which can be used in ClientUtils()->GetImageRGBA(), 0 means no image is set for the achievement }; -// -// IMPORTANT! k_iSteamUserStatsCallbacks + 10 is used, see iclientuserstats.h -// + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that global achievement percentages are fetched +//----------------------------------------------------------------------------- +struct GlobalAchievementPercentagesReady_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 10 }; + + uint64 m_nGameID; // Game this is for + EResult m_eResult; // Result of the operation +}; + //----------------------------------------------------------------------------- // Purpose: call result indicating UGC has been uploaded, returned as a result of SetLeaderboardUGC() @@ -380,6 +424,18 @@ struct PS3TrophiesInstalled_t }; + +//----------------------------------------------------------------------------- +// Purpose: callback indicating global stats have been received. +// Returned as a result of RequestGlobalStats() +//----------------------------------------------------------------------------- +struct GlobalStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game global stats were requested for + EResult m_eResult; // The result of the request +}; + #pragma pack( pop ) diff --git a/public/steam/lib/win32/sdkencryptedappticket.dll b/public/steam/lib/win32/sdkencryptedappticket.dll index fd11b45..1a3dc62 100644 Binary files a/public/steam/lib/win32/sdkencryptedappticket.dll and b/public/steam/lib/win32/sdkencryptedappticket.dll differ diff --git a/public/steam/lib/win32/sdkencryptedappticket.lib b/public/steam/lib/win32/sdkencryptedappticket.lib index 6b23ab5..993d3f2 100644 Binary files a/public/steam/lib/win32/sdkencryptedappticket.lib and b/public/steam/lib/win32/sdkencryptedappticket.lib differ diff --git a/public/steam/lib/win64/sdkencryptedappticket64.dll b/public/steam/lib/win64/sdkencryptedappticket64.dll index 8985926..b2a99d2 100644 Binary files a/public/steam/lib/win64/sdkencryptedappticket64.dll and b/public/steam/lib/win64/sdkencryptedappticket64.dll differ diff --git a/public/steam/lib/win64/sdkencryptedappticket64.lib b/public/steam/lib/win64/sdkencryptedappticket64.lib index e91ecc9..26f70ab 100644 Binary files a/public/steam/lib/win64/sdkencryptedappticket64.lib and b/public/steam/lib/win64/sdkencryptedappticket64.lib differ diff --git a/redistributable_bin/Steam.dll b/redistributable_bin/Steam.dll index bb24bad..29ec990 100644 Binary files a/redistributable_bin/Steam.dll and b/redistributable_bin/Steam.dll differ diff --git a/redistributable_bin/linux32/libSteam.so b/redistributable_bin/linux32/libSteam.so index c83f28a..e1b8af8 100644 Binary files a/redistributable_bin/linux32/libSteam.so and b/redistributable_bin/linux32/libSteam.so differ diff --git a/redistributable_bin/linux32/libsteam_api.so b/redistributable_bin/linux32/libsteam_api.so index d446e1f..aecdf54 100644 Binary files a/redistributable_bin/linux32/libsteam_api.so and b/redistributable_bin/linux32/libsteam_api.so differ diff --git a/redistributable_bin/linux32/libtier0_s.so b/redistributable_bin/linux32/libtier0_s.so index cbe0617..40fed0f 100644 Binary files a/redistributable_bin/linux32/libtier0_s.so and b/redistributable_bin/linux32/libtier0_s.so differ diff --git a/redistributable_bin/linux32/libvstdlib_s.so b/redistributable_bin/linux32/libvstdlib_s.so index 71ff9b4..a04f6f8 100644 Binary files a/redistributable_bin/linux32/libvstdlib_s.so and b/redistributable_bin/linux32/libvstdlib_s.so differ diff --git a/redistributable_bin/linux32/steamclient.so b/redistributable_bin/linux32/steamclient.so index c8f2381..f345cad 100644 Binary files a/redistributable_bin/linux32/steamclient.so and b/redistributable_bin/linux32/steamclient.so differ diff --git a/redistributable_bin/osx32/libSteam.dylib b/redistributable_bin/osx32/libSteam.dylib index 321bff0..4275c59 100644 Binary files a/redistributable_bin/osx32/libSteam.dylib and b/redistributable_bin/osx32/libSteam.dylib differ diff --git a/redistributable_bin/osx32/libsteam_api.dylib b/redistributable_bin/osx32/libsteam_api.dylib index 5161c23..4bb9f58 100644 Binary files a/redistributable_bin/osx32/libsteam_api.dylib and b/redistributable_bin/osx32/libsteam_api.dylib differ diff --git a/redistributable_bin/osx32/libtier0_s.dylib b/redistributable_bin/osx32/libtier0_s.dylib index b59540d..11637ec 100644 Binary files a/redistributable_bin/osx32/libtier0_s.dylib and b/redistributable_bin/osx32/libtier0_s.dylib differ diff --git a/redistributable_bin/osx32/libvstdlib_s.dylib b/redistributable_bin/osx32/libvstdlib_s.dylib index 369b770..db5d6d6 100644 Binary files a/redistributable_bin/osx32/libvstdlib_s.dylib and b/redistributable_bin/osx32/libvstdlib_s.dylib differ diff --git a/redistributable_bin/osx32/steamclient.dylib b/redistributable_bin/osx32/steamclient.dylib index 65edb73..8ce9aba 100644 Binary files a/redistributable_bin/osx32/steamclient.dylib and b/redistributable_bin/osx32/steamclient.dylib differ diff --git a/redistributable_bin/steam_api.dll b/redistributable_bin/steam_api.dll index 3296eae..4102e1a 100644 Binary files a/redistributable_bin/steam_api.dll and b/redistributable_bin/steam_api.dll differ diff --git a/redistributable_bin/steam_api.lib b/redistributable_bin/steam_api.lib index dc9043b..b8e1937 100644 Binary files a/redistributable_bin/steam_api.lib and b/redistributable_bin/steam_api.lib differ diff --git a/redistributable_bin/steamclient.dll b/redistributable_bin/steamclient.dll index 41446e6..c901425 100644 Binary files a/redistributable_bin/steamclient.dll and b/redistributable_bin/steamclient.dll differ diff --git a/redistributable_bin/tier0_s.dll b/redistributable_bin/tier0_s.dll index e698ed9..66eef5d 100644 Binary files a/redistributable_bin/tier0_s.dll and b/redistributable_bin/tier0_s.dll differ diff --git a/redistributable_bin/vstdlib_s.dll b/redistributable_bin/vstdlib_s.dll index 945686c..024a63f 100644 Binary files a/redistributable_bin/vstdlib_s.dll and b/redistributable_bin/vstdlib_s.dll differ diff --git a/redistributable_bin/win64/steam_api64.dll b/redistributable_bin/win64/steam_api64.dll index 1b0f817..8f167dc 100644 Binary files a/redistributable_bin/win64/steam_api64.dll and b/redistributable_bin/win64/steam_api64.dll differ diff --git a/redistributable_bin/win64/steam_api64.lib b/redistributable_bin/win64/steam_api64.lib index 3654b35..8881235 100644 Binary files a/redistributable_bin/win64/steam_api64.lib and b/redistributable_bin/win64/steam_api64.lib differ diff --git a/steamworksexample/gameengineosx.mm b/steamworksexample/gameengineosx.mm index f01abcd..25504b4 100644 --- a/steamworksexample/gameengineosx.mm +++ b/steamworksexample/gameengineosx.mm @@ -287,8 +287,8 @@ bool CGameEngineGL::BInitializeAudio() bool CGameEngineGL::BInitializeGraphics() { - m_nWindowWidth = 800; - m_nWindowHeight = 600; + m_nWindowWidth = 1024; + m_nWindowHeight = 768; AutoReleasePool pool; @@ -328,6 +328,7 @@ bool CGameEngineGL::BInitializeGraphics() [app setDelegate: app]; [m_window setDelegate: app]; + [m_window setAcceptsMouseMovedEvents:YES]; GLint swapInt = 1; [[m_view openGLContext] setValues:&swapInt forParameter:NSOpenGLCPSwapInterval]; diff --git a/tools/goldmaster/disk_assets/Setup.exe b/tools/goldmaster/disk_assets/Setup.exe index f938c0c..2b238cc 100644 Binary files a/tools/goldmaster/disk_assets/Setup.exe and b/tools/goldmaster/disk_assets/Setup.exe differ diff --git a/tools/goldmaster/disk_assets/resources/SteamInstall_English.msi b/tools/goldmaster/disk_assets/resources/SteamInstall_English.msi index c9d18c4..f47c20b 100644 Binary files a/tools/goldmaster/disk_assets/resources/SteamInstall_English.msi and b/tools/goldmaster/disk_assets/resources/SteamInstall_English.msi differ