Files
BlitzSteam/Helper.cpp
T
Michael Fabian Dirks 78c27c54f3 Update BlitzSteam:
- Steam API
- SteamAppList API
- SteamApps API
- SteamController API (work-in-progress)
- SteamClient API
2015-06-06 14:33:52 +02:00

35 lines
1.2 KiB
C++

#include "dllmain.h"
#include "Libraries/BlitzPointer.h"
// Callbacks
class BlitzSteamCallback : CCallbackBase {
public:
uint32_t blitzFunctionPointer;
virtual void Run(void *pvParam) {
BlitzPointer_CallFunction4((uint32_t)blitzFunctionPointer, (uint32_t)pvParam, 0, 0, 0);
}
virtual void Run(void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall) {
BlitzPointer_CallFunction4((uint32_t)blitzFunctionPointer, (uint32_t)pvParam, bIOFailure, (uint32_t)(hSteamAPICall & 0xFFFFFFFF), (uint32_t)(hSteamAPICall >> 32));
}
virtual int GetCallbackSizeBytes() {
return sizeof(BlitzSteamCallback);
}
};
DLL_EXPORT void* BlitzSteam_CreateCallback(uint32_t fpFunctionPointer) {
BlitzSteamCallback* lpBSCallback = new BlitzSteamCallback();
lpBSCallback->blitzFunctionPointer = fpFunctionPointer;
return lpBSCallback;
}
#pragma comment(linker, "/EXPORT:BlitzSteam_CreateCallback=_BlitzSteam_CreateCallback@4")
DLL_EXPORT void BlitzSteam_DestroyCallback(uint32_t lpCallback) {
BlitzSteamCallback* lpBSCallback = (BlitzSteamCallback*)lpCallback;
if (lpBSCallback != nullptr) {
delete lpBSCallback;
}
}
#pragma comment(linker, "/EXPORT:BlitzSteam_DestroyCallback=_BlitzSteam_DestroyCallback@4")