Update
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
|||||||
/SteamworksSDK/*
|
/SteamworksSDK/*
|
||||||
|
|||||||
+32
-32
@@ -1,33 +1,33 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
uint32_t WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
|
uint32_t WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
|
||||||
switch (fdwReason) {
|
switch (fdwReason) {
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
break;
|
break;
|
||||||
case DLL_PROCESS_DETACH:
|
case DLL_PROCESS_DETACH:
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_DETACH:
|
case DLL_THREAD_DETACH:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
+26
-26
@@ -1,26 +1,26 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
|
|
||||||
// Our Stuff
|
// Our Stuff
|
||||||
#include "Helpers/BlitzPointer.h"
|
#include "Helpers/BlitzPointer.h"
|
||||||
#include "Types/BlitzCallback.h"
|
#include "Types/BlitzCallback.h"
|
||||||
#include "Types/CSteamID.h"
|
#include "Types/CSteamID.h"
|
||||||
#include "Types/Double.h"
|
#include "Types/Double.h"
|
||||||
#include "Types/Long.h"
|
#include "Types/Long.h"
|
||||||
#include "Types/Memory.h"
|
#include "Types/Memory.h"
|
||||||
|
|||||||
+8
-2
@@ -59,7 +59,7 @@
|
|||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
<AdditionalIncludeDirectories>$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<StructMemberAlignment>4Bytes</StructMemberAlignment>
|
<StructMemberAlignment>4Bytes</StructMemberAlignment>
|
||||||
@@ -156,12 +156,15 @@
|
|||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="BlitzSteam.cpp" />
|
<ClCompile Include="BlitzSteam.cpp" />
|
||||||
|
<ClCompile Include="Helpers\BlitzPointer.cpp" />
|
||||||
<ClCompile Include="Helpers\Helper.cpp" />
|
<ClCompile Include="Helpers\Helper.cpp" />
|
||||||
<ClCompile Include="Types\BlitzCallback.cpp" />
|
<ClCompile Include="Types\BlitzCallback.cpp" />
|
||||||
<ClCompile Include="Types\CSteamID.cpp" />
|
<ClCompile Include="Types\CSteamID.cpp" />
|
||||||
<ClCompile Include="Types\Double.cpp" />
|
<ClCompile Include="Types\Double.cpp" />
|
||||||
|
<ClCompile Include="Types\SteamMatchmakingTypes.cpp" />
|
||||||
<ClCompile Include="Types\Long.cpp" />
|
<ClCompile Include="Types\Long.cpp" />
|
||||||
<ClCompile Include="Types\Memory.cpp" />
|
<ClCompile Include="Types\Memory.cpp" />
|
||||||
|
<ClCompile Include="Types\SteamTypes.cpp" />
|
||||||
<ClCompile Include="Wrapper\Steam.cpp" />
|
<ClCompile Include="Wrapper\Steam.cpp" />
|
||||||
<ClCompile Include="Wrapper\SteamAppList.cpp" />
|
<ClCompile Include="Wrapper\SteamAppList.cpp" />
|
||||||
<ClCompile Include="Wrapper\SteamApps.cpp" />
|
<ClCompile Include="Wrapper\SteamApps.cpp" />
|
||||||
@@ -195,15 +198,17 @@
|
|||||||
<ClInclude Include="Types\BlitzCallback.h" />
|
<ClInclude Include="Types\BlitzCallback.h" />
|
||||||
<ClInclude Include="Types\CSteamID.h" />
|
<ClInclude Include="Types\CSteamID.h" />
|
||||||
<ClInclude Include="Types\Double.h" />
|
<ClInclude Include="Types\Double.h" />
|
||||||
|
<ClInclude Include="Types\SteamMatchmakingTypes.h" />
|
||||||
<ClInclude Include="Types\Long.h" />
|
<ClInclude Include="Types\Long.h" />
|
||||||
<ClInclude Include="Types\Memory.h" />
|
<ClInclude Include="Types\Memory.h" />
|
||||||
|
<ClInclude Include="Types\SteamTypes.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Resources\BlitzSteam.bb" />
|
<None Include="Resources\BlitzSteam.bb" />
|
||||||
<None Include="Resources\BlitzSteam.ipf" />
|
<None Include="Resources\BlitzSteam.ipf" />
|
||||||
<None Include="Resources\BlitzSteamUtility.bb" />
|
<None Include="Resources\BlitzSteamUtility.bb" />
|
||||||
<None Include="Resources\Decls\BlitzSteam.decls" />
|
<None Include="Resources\Decls\BlitzSteam.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_BlitzCallback.decls" />
|
<None Include="Resources\Decls\BlitzSteam_Callback.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_CSteamID.decls" />
|
<None Include="Resources\Decls\BlitzSteam_CSteamID.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_Double.decls" />
|
<None Include="Resources\Decls\BlitzSteam_Double.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_Long.decls" />
|
<None Include="Resources\Decls\BlitzSteam_Long.decls" />
|
||||||
@@ -221,6 +226,7 @@
|
|||||||
<None Include="Resources\Decls\BlitzSteam_SteamInventory.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamInventory.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_SteamMatchmaking.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamMatchmaking.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_SteamMatchmakingServers.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamMatchmakingServers.decls" />
|
||||||
|
<None Include="Resources\Decls\BlitzSteam_SteamMatchmakingTypes.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_SteamMusic.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamMusic.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_SteamMusicRemote.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamMusicRemote.decls" />
|
||||||
<None Include="Resources\Decls\BlitzSteam_SteamNetworking.decls" />
|
<None Include="Resources\Decls\BlitzSteam_SteamNetworking.decls" />
|
||||||
|
|||||||
@@ -128,6 +128,15 @@
|
|||||||
<ClCompile Include="Types\Memory.cpp">
|
<ClCompile Include="Types\Memory.cpp">
|
||||||
<Filter>Source Files\Types</Filter>
|
<Filter>Source Files\Types</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Types\SteamMatchmakingTypes.cpp">
|
||||||
|
<Filter>Source Files\Types</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Types\SteamTypes.cpp">
|
||||||
|
<Filter>Source Files\Types</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Helpers\BlitzPointer.cpp">
|
||||||
|
<Filter>Source Files\Helpers</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="BlitzSteam.h">
|
<ClInclude Include="BlitzSteam.h">
|
||||||
@@ -157,6 +166,12 @@
|
|||||||
<ClInclude Include="BlitzSteamInternal.h">
|
<ClInclude Include="BlitzSteamInternal.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Types\SteamMatchmakingTypes.h">
|
||||||
|
<Filter>Header Files\Types</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Types\SteamTypes.h">
|
||||||
|
<Filter>Header Files\Types</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="$(ProjectDir)\Blitz\*.*" />
|
<None Include="$(ProjectDir)\Blitz\*.*" />
|
||||||
@@ -200,9 +215,6 @@
|
|||||||
<None Include="Resources\Decls\BlitzSteam.decls">
|
<None Include="Resources\Decls\BlitzSteam.decls">
|
||||||
<Filter>Resource Files\Decls</Filter>
|
<Filter>Resource Files\Decls</Filter>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Resources\Decls\BlitzSteam_BlitzCallback.decls">
|
|
||||||
<Filter>Resource Files\Decls</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="Resources\Decls\BlitzSteam_CSteamID.decls">
|
<None Include="Resources\Decls\BlitzSteam_CSteamID.decls">
|
||||||
<Filter>Resource Files\Decls</Filter>
|
<Filter>Resource Files\Decls</Filter>
|
||||||
</None>
|
</None>
|
||||||
@@ -293,6 +305,12 @@
|
|||||||
<None Include="Resources\BlitzSteam.LICENSE.lesser">
|
<None Include="Resources\BlitzSteam.LICENSE.lesser">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="Resources\Decls\BlitzSteam_SteamMatchmakingTypes.decls">
|
||||||
|
<Filter>Resource Files\Decls</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Resources\Decls\BlitzSteam_Callback.decls">
|
||||||
|
<Filter>Resource Files\Decls</Filter>
|
||||||
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Text Include="Resources\Examples\steam_appid.txt">
|
<Text Include="Resources\Examples\steam_appid.txt">
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup />
|
<PropertyGroup />
|
||||||
</Project>
|
</Project>
|
||||||
+30
-30
@@ -1,31 +1,31 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// Macros
|
// Macros
|
||||||
//#define DLL_FUNCTION(type) extern "C" type __stdcall
|
//#define DLL_FUNCTION(type) extern "C" type __stdcall
|
||||||
#define DLL(type) extern "C" __declspec(dllexport) type __stdcall
|
#define DLL(type) extern "C" __declspec(dllexport) type __stdcall
|
||||||
|
|
||||||
// C/C++ Includes
|
// C/C++ Includes
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|
||||||
// Steam
|
// Steam
|
||||||
#include "SteamworksSDK/public/steam/steam_api.h"
|
#include "SteamworksSDK/public/steam/steam_api.h"
|
||||||
#include "SteamworksSDK/public/steam/steam_gameserver.h"
|
#include "SteamworksSDK/public/steam/steam_gameserver.h"
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
//
|
||||||
|
// This program 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.
|
||||||
|
//
|
||||||
|
// This program 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "BlitzPointer.h"
|
||||||
|
|
||||||
|
DLL(intptr_t) BS_BlitzPointer_GetReturnAddress() {
|
||||||
|
intptr_t BasePointer, ReturnAddress;
|
||||||
|
|
||||||
|
__asm { //ASM. Do touch if suicidal.
|
||||||
|
mov BasePointer, ebp; // Store current BasePointer
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blitz uses X86 Call-Near (E8) instructions to call its own functions.
|
||||||
|
// We can simply deduce the Return Address like this because of that.
|
||||||
|
//-- Parent_EBP = *EBP
|
||||||
|
//-- Parent_RP = Parent_EBP + 16
|
||||||
|
ReturnAddress = *(intptr_t*)((*(intptr_t*)BasePointer) + 16);
|
||||||
|
|
||||||
|
return ReturnAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(intptr_t) BS_BlitzPointer_GetFunctionPointer() {
|
||||||
|
intptr_t BasePointer, ReturnAddress, FunctionPointer;
|
||||||
|
|
||||||
|
__asm { //ASM. Do touch if suicidal.
|
||||||
|
mov BasePointer, ebp; // Store current BasePointer
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blitz uses X86 Call-Near (E8) instructions to call its own functions.
|
||||||
|
// We can simply deduce the Return Address like this because of that.
|
||||||
|
//-- Parent_EBP = *EBP
|
||||||
|
//-- Parent_RP = Parent_EBP + 16
|
||||||
|
ReturnAddress = *(intptr_t*)((*(intptr_t*)BasePointer) + 16);
|
||||||
|
|
||||||
|
// And since it's a Call-Near, the call is offset to the return address.
|
||||||
|
FunctionPointer = ReturnAddress + *(intptr_t*)(ReturnAddress - 4);
|
||||||
|
|
||||||
|
return FunctionPointer;
|
||||||
|
}
|
||||||
+36
-32
@@ -1,32 +1,36 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
#include "BlitzSteamInternal.h"
|
||||||
// Types of Blitz Functions.
|
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction0_t)();
|
DLL(intptr_t) BS_BlitzPointer_GetReturnAddress();
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction1_t)(int32_t);
|
DLL(intptr_t) BS_BlitzPointer_GetFunctionPointer();
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction2_t)(int32_t, int32_t);
|
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction3_t)(int32_t, int32_t, int32_t);
|
// Types of Blitz Functions.
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction4_t)(int32_t, int32_t, int32_t, int32_t);
|
typedef int32_t(__stdcall *BP_BlitzFunction0_t)();
|
||||||
typedef int32_t(__stdcall *BP_BlitzFunction5_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
|
typedef int32_t(__stdcall *BP_BlitzFunction1_t)(int32_t);
|
||||||
|
typedef int32_t(__stdcall *BP_BlitzFunction2_t)(int32_t, int32_t);
|
||||||
#define BP_CallFunction0(ptr) (reinterpret_cast<BP_BlitzFunction0_t>(ptr))()
|
typedef int32_t(__stdcall *BP_BlitzFunction3_t)(int32_t, int32_t, int32_t);
|
||||||
#define BP_CallFunction1(ptr, p1) (reinterpret_cast<BP_BlitzFunction1_t>(ptr))(p1)
|
typedef int32_t(__stdcall *BP_BlitzFunction4_t)(int32_t, int32_t, int32_t, int32_t);
|
||||||
#define BP_CallFunction2(ptr, p1, p2) (reinterpret_cast<BP_BlitzFunction2_t>(ptr))(p1, p2)
|
typedef int32_t(__stdcall *BP_BlitzFunction5_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||||
#define BP_CallFunction3(ptr, p1, p2, p3) (reinterpret_cast<BP_BlitzFunction3_t>(ptr))(p1, p2, p3)
|
|
||||||
#define BP_CallFunction4(ptr, p1, p2, p3, p4) (reinterpret_cast<BP_BlitzFunction4_t>(ptr))(p1, p2, p3, p4)
|
#define BP_CallFunction0(ptr) (ptr)()
|
||||||
#define BP_CallFunction5(ptr, p1, p2, p3, p4, p5) (reinterpret_cast<BP_BlitzFunction5_t>(ptr))(p1, p2, p3, p4, p5)
|
#define BP_CallFunction1(ptr, p1) (ptr)(p1)
|
||||||
|
#define BP_CallFunction2(ptr, p1, p2) (ptr)(p1, p2)
|
||||||
|
#define BP_CallFunction3(ptr, p1, p2, p3) (ptr)(p1, p2, p3)
|
||||||
|
#define BP_CallFunction4(ptr, p1, p2, p3, p4) (ptr)(p1, p2, p3, p4)
|
||||||
|
#define BP_CallFunction5(ptr, p1, p2, p3, p4, p5) (ptr)(p1, p2, p3, p4, p5)
|
||||||
+59
-89
@@ -1,90 +1,60 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "Helper.h"
|
#include "Helper.h"
|
||||||
|
|
||||||
DLL(const char*) BS_Helper_FormatUnixTime(uint32_t unTime, const char* pchFormat) {
|
DLL(const char*) BS_Helper_FormatUnixTime(uint32_t unTime, const char* pchFormat) {
|
||||||
char* output = new char[strlen(pchFormat) * 4];
|
char* output = new char[strlen(pchFormat) * 4];
|
||||||
time_t t = unTime;
|
time_t t = unTime;
|
||||||
struct tm *tm = localtime(&t);
|
struct tm *tm = localtime(&t);
|
||||||
strftime(output, sizeof(output), pchFormat, tm);
|
strftime(output, sizeof(output), pchFormat, tm);
|
||||||
delete tm;
|
delete tm;
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Helper_CopyMemoryIntMangle(void* pSource, void* pDest, int32_t iMangling,
|
DLL(void) BS_Helper_CopyMemoryIntMangle(void* pSource, void* pDest, int32_t iMangling,
|
||||||
uint32_t iSourceW, uint32_t iSourceH, uint32_t iDestW, uint32_t iDestH,
|
uint32_t iSourceW, uint32_t iSourceH, uint32_t iDestW, uint32_t iDestH,
|
||||||
uint32_t iAreaX, uint32_t iAreaY, uint32_t iAreaW, uint32_t iAreaH) {
|
uint32_t iAreaX, uint32_t iAreaY, uint32_t iAreaW, uint32_t iAreaH) {
|
||||||
int8_t iMangleByte0 = static_cast<int8_t>((iMangling & 0xFF));
|
int8_t iMangleByte0 = static_cast<int8_t>((iMangling & 0xFF));
|
||||||
int8_t iMangleByte1 = static_cast<int8_t>((iMangling & 0xFF00) >> 8);
|
int8_t iMangleByte1 = static_cast<int8_t>((iMangling & 0xFF00) >> 8);
|
||||||
int8_t iMangleByte2 = static_cast<int8_t>((iMangling & 0xFF0000) >> 16);
|
int8_t iMangleByte2 = static_cast<int8_t>((iMangling & 0xFF0000) >> 16);
|
||||||
int8_t iMangleByte3 = static_cast<int8_t>((iMangling & 0xFF000000) >> 24);
|
int8_t iMangleByte3 = static_cast<int8_t>((iMangling & 0xFF000000) >> 24);
|
||||||
|
|
||||||
if (pSource > pDest) {
|
// Start at beginning
|
||||||
// Start at beginning
|
for (uint32_t iY = iAreaY; iY < (iAreaY + iAreaH); iY++) {
|
||||||
for (uint32_t iY = iAreaY; iY < (iAreaY + iAreaH); iY++) {
|
// Only do this once per loop
|
||||||
// Only do this once per loop
|
for (uint32_t iX = iAreaX; iX < (iAreaX + iAreaW); iX++) {
|
||||||
for (uint32_t iX = iAreaX; iX < (iAreaX + iAreaW); iX++) {
|
// Could technically optimize the following into single instructions, but this is fast enough for now.
|
||||||
// Could technically optimize the following into single instructions, but this is fast enough for now.
|
uint32_t* pSourceOff = reinterpret_cast<uint32_t*>(pSource) + ((iSourceW * iY) + iX);
|
||||||
uint32_t* pSourceOff = reinterpret_cast<uint32_t*>(pSource) + ((iSourceW * iY) + iX);
|
uint32_t* pDestOff = reinterpret_cast<uint32_t*>(pDest) + ((iDestW * iY) + iX);
|
||||||
uint32_t* pDestOff = reinterpret_cast<uint32_t*>(pDest) + ((iDestW * iY) + iX);
|
|
||||||
|
// Allow Mangling using just a single integer and checking on the fly if it's positive or negative to branch out to the correct shift.
|
||||||
// Allow Mangling using just a single integer and checking on the fly if it's positive or negative to branch out to the correct shift.
|
*pDestOff =
|
||||||
*pDestOff =
|
(iMangleByte0 > 0 ?
|
||||||
(iMangleByte0 > 0 ?
|
(*pSourceOff & 0xFF) >> iMangleByte0 :
|
||||||
(*pSourceOff & 0xFF) >> iMangleByte0 :
|
(*pSourceOff & 0xFF) << -iMangleByte0)
|
||||||
(*pSourceOff & 0xFF) << -iMangleByte0)
|
+ (iMangleByte1 > 0 ?
|
||||||
+ (iMangleByte1 > 0 ?
|
(*pSourceOff & 0xFF00) >> iMangleByte1 :
|
||||||
(*pSourceOff & 0xFF00) >> iMangleByte1 :
|
(*pSourceOff & 0xFF00) << -iMangleByte1)
|
||||||
(*pSourceOff & 0xFF00) << -iMangleByte1)
|
+ (iMangleByte2 > 0 ?
|
||||||
+ (iMangleByte2 > 0 ?
|
(*pSourceOff & 0xFF0000) >> iMangleByte2 :
|
||||||
(*pSourceOff & 0xFF0000) >> iMangleByte2 :
|
(*pSourceOff & 0xFF0000) << -iMangleByte2)
|
||||||
(*pSourceOff & 0xFF0000) << -iMangleByte2)
|
+ (iMangleByte3 > 0 ?
|
||||||
+ (iMangleByte3 > 0 ?
|
(*pSourceOff & 0xFF000000) >> iMangleByte3 :
|
||||||
(*pSourceOff & 0xFF000000) >> iMangleByte3 :
|
(*pSourceOff & 0xFF000000) << -iMangleByte3);
|
||||||
(*pSourceOff & 0xFF000000) << -iMangleByte3);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//ToDo, mirror the above. Instead of adding we subtract.
|
|
||||||
//// Start at end
|
|
||||||
|
|
||||||
//for (uint32_t iY = y + h; iY >= y; iY--) {
|
|
||||||
// pSourceOff = reinterpret_cast<uint32_t*>(pSource) + ((tw * iY) + x);
|
|
||||||
// pDestOff = reinterpret_cast<uint32_t*>(pDest) + ((tw * iY) + x);
|
|
||||||
|
|
||||||
// for (uint32_t iX = x + w; iX >= x; iX--) {
|
|
||||||
// *pDestOff =
|
|
||||||
// (iMangleByte0 > 0 ?
|
|
||||||
// (*pSourceOff & 0xFF) >> iMangleByte0 :
|
|
||||||
// (*pSourceOff & 0xFF) << -iMangleByte0)
|
|
||||||
// + (iMangleByte1 > 0 ?
|
|
||||||
// (*pSourceOff & 0xFF00) >> iMangleByte1 :
|
|
||||||
// (*pSourceOff & 0xFF00) << -iMangleByte1)
|
|
||||||
// + (iMangleByte2 > 0 ?
|
|
||||||
// (*pSourceOff & 0xFF0000) >> iMangleByte2 :
|
|
||||||
// (*pSourceOff & 0xFF0000) << -iMangleByte2)
|
|
||||||
// + (iMangleByte3 > 0 ?
|
|
||||||
// (*pSourceOff & 0xFF000000) >> iMangleByte3 :
|
|
||||||
// (*pSourceOff & 0xFF000000) << -iMangleByte3);
|
|
||||||
|
|
||||||
// // Above is some mangling magic i learned in some source code. Allows you to define a byte bit shift using a single integer.
|
|
||||||
// pSourceOff -= 1;
|
|
||||||
// pDestOff -= 1;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
+20
-20
@@ -1,21 +1,21 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
DLL(const char*) BS_Helper_FormatUnixTime(uint32_t unTime, const char* pchFormat);
|
DLL(const char*) BS_Helper_FormatUnixTime(uint32_t unTime, const char* pchFormat);
|
||||||
+674
-674
File diff suppressed because it is too large
Load Diff
+165
-165
@@ -1,165 +1,165 @@
|
|||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
Version 3, 29 June 2007
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
This version of the GNU Lesser General Public License incorporates
|
This version of the GNU Lesser General Public License incorporates
|
||||||
the terms and conditions of version 3 of the GNU General Public
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
License, supplemented by the additional permissions listed below.
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
0. Additional Definitions.
|
0. Additional Definitions.
|
||||||
|
|
||||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
General Public License.
|
General Public License.
|
||||||
|
|
||||||
"The Library" refers to a covered work governed by this License,
|
"The Library" refers to a covered work governed by this License,
|
||||||
other than an Application or a Combined Work as defined below.
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
An "Application" is any work that makes use of an interface provided
|
An "Application" is any work that makes use of an interface provided
|
||||||
by the Library, but which is not otherwise based on the Library.
|
by the Library, but which is not otherwise based on the Library.
|
||||||
Defining a subclass of a class defined by the Library is deemed a mode
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
of using an interface provided by the Library.
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
A "Combined Work" is a work produced by combining or linking an
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
Application with the Library. The particular version of the Library
|
Application with the Library. The particular version of the Library
|
||||||
with which the Combined Work was made is also called the "Linked
|
with which the Combined Work was made is also called the "Linked
|
||||||
Version".
|
Version".
|
||||||
|
|
||||||
The "Minimal Corresponding Source" for a Combined Work means the
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
Corresponding Source for the Combined Work, excluding any source code
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
for portions of the Combined Work that, considered in isolation, are
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
based on the Application, and not on the Linked Version.
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
The "Corresponding Application Code" for a Combined Work means the
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
object code and/or source code for the Application, including any data
|
object code and/or source code for the Application, including any data
|
||||||
and utility programs needed for reproducing the Combined Work from the
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
Application, but excluding the System Libraries of the Combined Work.
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
1. Exception to Section 3 of the GNU GPL.
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
You may convey a covered work under sections 3 and 4 of this License
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
without being bound by section 3 of the GNU GPL.
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
2. Conveying Modified Versions.
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
If you modify a copy of the Library, and, in your modifications, a
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
facility refers to a function or data to be supplied by an Application
|
facility refers to a function or data to be supplied by an Application
|
||||||
that uses the facility (other than as an argument passed when the
|
that uses the facility (other than as an argument passed when the
|
||||||
facility is invoked), then you may convey a copy of the modified
|
facility is invoked), then you may convey a copy of the modified
|
||||||
version:
|
version:
|
||||||
|
|
||||||
a) under this License, provided that you make a good faith effort to
|
a) under this License, provided that you make a good faith effort to
|
||||||
ensure that, in the event an Application does not supply the
|
ensure that, in the event an Application does not supply the
|
||||||
function or data, the facility still operates, and performs
|
function or data, the facility still operates, and performs
|
||||||
whatever part of its purpose remains meaningful, or
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
b) under the GNU GPL, with none of the additional permissions of
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
this License applicable to that copy.
|
this License applicable to that copy.
|
||||||
|
|
||||||
3. Object Code Incorporating Material from Library Header Files.
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
The object code form of an Application may incorporate material from
|
The object code form of an Application may incorporate material from
|
||||||
a header file that is part of the Library. You may convey such object
|
a header file that is part of the Library. You may convey such object
|
||||||
code under terms of your choice, provided that, if the incorporated
|
code under terms of your choice, provided that, if the incorporated
|
||||||
material is not limited to numerical parameters, data structure
|
material is not limited to numerical parameters, data structure
|
||||||
layouts and accessors, or small macros, inline functions and templates
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
(ten or fewer lines in length), you do both of the following:
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
a) Give prominent notice with each copy of the object code that the
|
a) Give prominent notice with each copy of the object code that the
|
||||||
Library is used in it and that the Library and its use are
|
Library is used in it and that the Library and its use are
|
||||||
covered by this License.
|
covered by this License.
|
||||||
|
|
||||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
document.
|
document.
|
||||||
|
|
||||||
4. Combined Works.
|
4. Combined Works.
|
||||||
|
|
||||||
You may convey a Combined Work under terms of your choice that,
|
You may convey a Combined Work under terms of your choice that,
|
||||||
taken together, effectively do not restrict modification of the
|
taken together, effectively do not restrict modification of the
|
||||||
portions of the Library contained in the Combined Work and reverse
|
portions of the Library contained in the Combined Work and reverse
|
||||||
engineering for debugging such modifications, if you also do each of
|
engineering for debugging such modifications, if you also do each of
|
||||||
the following:
|
the following:
|
||||||
|
|
||||||
a) Give prominent notice with each copy of the Combined Work that
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
the Library is used in it and that the Library and its use are
|
the Library is used in it and that the Library and its use are
|
||||||
covered by this License.
|
covered by this License.
|
||||||
|
|
||||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
document.
|
document.
|
||||||
|
|
||||||
c) For a Combined Work that displays copyright notices during
|
c) For a Combined Work that displays copyright notices during
|
||||||
execution, include the copyright notice for the Library among
|
execution, include the copyright notice for the Library among
|
||||||
these notices, as well as a reference directing the user to the
|
these notices, as well as a reference directing the user to the
|
||||||
copies of the GNU GPL and this license document.
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
d) Do one of the following:
|
d) Do one of the following:
|
||||||
|
|
||||||
0) Convey the Minimal Corresponding Source under the terms of this
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
License, and the Corresponding Application Code in a form
|
License, and the Corresponding Application Code in a form
|
||||||
suitable for, and under terms that permit, the user to
|
suitable for, and under terms that permit, the user to
|
||||||
recombine or relink the Application with a modified version of
|
recombine or relink the Application with a modified version of
|
||||||
the Linked Version to produce a modified Combined Work, in the
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
manner specified by section 6 of the GNU GPL for conveying
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
Corresponding Source.
|
Corresponding Source.
|
||||||
|
|
||||||
1) Use a suitable shared library mechanism for linking with the
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
Library. A suitable mechanism is one that (a) uses at run time
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
a copy of the Library already present on the user's computer
|
a copy of the Library already present on the user's computer
|
||||||
system, and (b) will operate properly with a modified version
|
system, and (b) will operate properly with a modified version
|
||||||
of the Library that is interface-compatible with the Linked
|
of the Library that is interface-compatible with the Linked
|
||||||
Version.
|
Version.
|
||||||
|
|
||||||
e) Provide Installation Information, but only if you would otherwise
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
be required to provide such information under section 6 of the
|
be required to provide such information under section 6 of the
|
||||||
GNU GPL, and only to the extent that such information is
|
GNU GPL, and only to the extent that such information is
|
||||||
necessary to install and execute a modified version of the
|
necessary to install and execute a modified version of the
|
||||||
Combined Work produced by recombining or relinking the
|
Combined Work produced by recombining or relinking the
|
||||||
Application with a modified version of the Linked Version. (If
|
Application with a modified version of the Linked Version. (If
|
||||||
you use option 4d0, the Installation Information must accompany
|
you use option 4d0, the Installation Information must accompany
|
||||||
the Minimal Corresponding Source and Corresponding Application
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
Code. If you use option 4d1, you must provide the Installation
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
Information in the manner specified by section 6 of the GNU GPL
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
for conveying Corresponding Source.)
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
5. Combined Libraries.
|
5. Combined Libraries.
|
||||||
|
|
||||||
You may place library facilities that are a work based on the
|
You may place library facilities that are a work based on the
|
||||||
Library side by side in a single library together with other library
|
Library side by side in a single library together with other library
|
||||||
facilities that are not Applications and are not covered by this
|
facilities that are not Applications and are not covered by this
|
||||||
License, and convey such a combined library under terms of your
|
License, and convey such a combined library under terms of your
|
||||||
choice, if you do both of the following:
|
choice, if you do both of the following:
|
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work based
|
a) Accompany the combined library with a copy of the same work based
|
||||||
on the Library, uncombined with any other library facilities,
|
on the Library, uncombined with any other library facilities,
|
||||||
conveyed under the terms of this License.
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
b) Give prominent notice with the combined library that part of it
|
b) Give prominent notice with the combined library that part of it
|
||||||
is a work based on the Library, and explaining where to find the
|
is a work based on the Library, and explaining where to find the
|
||||||
accompanying uncombined form of the same work.
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
6. Revised Versions of the GNU Lesser General Public License.
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
of the GNU Lesser General Public License from time to time. Such new
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
versions will be similar in spirit to the present version, but may
|
versions will be similar in spirit to the present version, but may
|
||||||
differ in detail to address new problems or concerns.
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the
|
Each version is given a distinguishing version number. If the
|
||||||
Library as you received it specifies that a certain numbered version
|
Library as you received it specifies that a certain numbered version
|
||||||
of the GNU Lesser General Public License "or any later version"
|
of the GNU Lesser General Public License "or any later version"
|
||||||
applies to it, you have the option of following the terms and
|
applies to it, you have the option of following the terms and
|
||||||
conditions either of that published version or of any later version
|
conditions either of that published version or of any later version
|
||||||
published by the Free Software Foundation. If the Library as you
|
published by the Free Software Foundation. If the Library as you
|
||||||
received it does not specify a version number of the GNU Lesser
|
received it does not specify a version number of the GNU Lesser
|
||||||
General Public License, you may choose any version of the GNU Lesser
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
General Public License ever published by the Free Software Foundation.
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
If the Library as you received it specifies that a proxy can decide
|
If the Library as you received it specifies that a proxy can decide
|
||||||
whether future versions of the GNU Lesser General Public License shall
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
apply, that proxy's public statement of acceptance of any version is
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
permanent authorization for you to choose that version for the
|
permanent authorization for you to choose that version for the
|
||||||
Library.
|
Library.
|
||||||
|
|||||||
+11
-2
@@ -574,6 +574,15 @@ Const BS_EMarketingMessageFlags_PlatformLinux = 1 Shl 3
|
|||||||
Const BS_EMarketingMessageFlags_PlatformRestrictions = BS_EMarketingMessageFlags_PlatformWindows Or BS_EMarketingMessageFlags_PlatformMac Or BS_EMarketingMessageFlags_PlatformLinux
|
Const BS_EMarketingMessageFlags_PlatformRestrictions = BS_EMarketingMessageFlags_PlatformWindows Or BS_EMarketingMessageFlags_PlatformMac Or BS_EMarketingMessageFlags_PlatformLinux
|
||||||
;[End Block]
|
;[End Block]
|
||||||
|
|
||||||
|
;[Block] Enumeration: EMatchMakingServerResponse
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
;! Enumeration - EMatchMakingServerResponse
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
Const BS_EMatchMakingServerResponse_ServerResponded = 0
|
||||||
|
Const BS_EMatchMakingServerResponse_ServerFailedToRespond = 1
|
||||||
|
Const BS_EMatchMakingServerResponse_NoServersListedOnMasterServer = 2
|
||||||
|
;[End Block]
|
||||||
|
|
||||||
;[Block] Enumeration: ENotificationPosition
|
;[Block] Enumeration: ENotificationPosition
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
;! Enumeration - ENotificationPosition
|
;! Enumeration - ENotificationPosition
|
||||||
@@ -1890,6 +1899,6 @@ End Type
|
|||||||
;[End Block]
|
;[End Block]
|
||||||
|
|
||||||
;~IDEal Editor Parameters:
|
;~IDEal Editor Parameters:
|
||||||
;~F#13#26#31#49#60#71#7E#93#C8#E0#F5#101#110#121#14F#166#178#190#1A1#1E2
|
;~F#13#26#31#49#60#71#7E#93#C8#E0#F5#101#110#121#14F#166#178#190#1A1#1E2
|
||||||
;~F#1EB#1F5#20C#216#220#229#232#240#24B#255#26B#27C#295#2A5#314#322#32C#33C#344#351
|
;~F#1EB#1F5#20C#216#220#229#249#254#25E#274#285#29E#2AE#31D#32B#335#345#34D#35A#369
|
||||||
;~F#377#381#392#3A6#3A9#3BF#3F3#413#432#52E#54C#55C#569#65C#6D5#708
|
;~F#377#381#392#3A6#3A9#3BF#3F3#413#432#52E#54C#55C#569#65C#6D5#708
|
||||||
+22
-21
@@ -1,21 +1,22 @@
|
|||||||
[IDEal Project file]
|
[IDEal Project file]
|
||||||
<Settings>
|
<Settings>
|
||||||
Version="1"
|
Version="1"
|
||||||
Expanded="False"
|
Expanded="True"
|
||||||
Icon=""
|
Icon=""
|
||||||
MainFile="SteamHTMLSurface_Example.bb"
|
MainFile="SteamMatchmakingServers_Example.bb"
|
||||||
Compiler="Blitz3D"
|
Compiler="Blitz3D"
|
||||||
CommandLine=""
|
CommandLine=""
|
||||||
</Settings>
|
</Settings>
|
||||||
<Folders>
|
<Folders>
|
||||||
AbsPath="\Examples" Expanded="True"
|
AbsPath="\Examples" Expanded="True"
|
||||||
</Folders>
|
</Folders>
|
||||||
<Files>
|
<Files>
|
||||||
AbsPath="\BlitzSteam.bb" PrjFolder="" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\BlitzSteam.bb" PrjFolder="" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\BlitzSteamUtility.bb" PrjFolder="" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\BlitzSteamUtility.bb" PrjFolder="" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\Examples\SteamAPI_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\Examples\SteamAPI_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\Examples\SteamAppList_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\Examples\SteamAppList_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\Examples\SteamApps_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\Examples\SteamApps_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\Examples\SteamController_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\Examples\SteamController_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
AbsPath="\Examples\SteamHTMLSurface_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
AbsPath="\Examples\SteamHTMLSurface_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
</Files>
|
AbsPath="\Examples\SteamMatchmakingServers_Example.bb" PrjFolder="\Examples" Line="0" Column="0" Tip="0" Visible="False"
|
||||||
|
</Files>
|
||||||
|
|||||||
+627
-627
File diff suppressed because it is too large
Load Diff
@@ -1,20 +1,23 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
; Generic ---------------------------------------------------------------------
|
; Generic ---------------------------------------------------------------------
|
||||||
BS_Helper_FormatUnixTime$(unixTime%, pchFormat$) :"_BS_Helper_FormatUnixTime@8"
|
BS_Helper_FormatUnixTime$(unixTime%, pchFormat$) :"_BS_Helper_FormatUnixTime@8"
|
||||||
BS_Helper_CopyMemoryIntMangle(pSource%, pDest%, iMangling%, iSourceW%, iSourceH%, iDestW%, iDestH%, iAreaX%, iAreaY%, iAreaW%, iAreaH%):"_BS_Helper_CopyMemoryIntMangle@44"
|
BS_Helper_CopyMemoryIntMangle(pSource%, pDest%, iMangling%, iSourceW%, iSourceH%, iDestW%, iDestH%, iAreaX%, iAreaY%, iAreaW%, iAreaH%):"_BS_Helper_CopyMemoryIntMangle@44"
|
||||||
|
|
||||||
|
BS_BlitzPointer_GetReturnAddress%() :"_BS_BlitzPointer_GetReturnAddress@0"
|
||||||
|
BS_BlitzPointer_GetFunctionPointer%() :"_BS_BlitzPointer_GetFunctionPointer@0"
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
;
|
||||||
|
; This program 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.
|
||||||
|
;
|
||||||
|
; This program 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 General Public License for more details.
|
||||||
|
;
|
||||||
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
.lib "BlitzSteam.dll"
|
||||||
|
; BlitzCallback ---------------------------------------------------------------
|
||||||
|
BS_Callback_New%(pFunction%) :"_BS_Callback_New@4"
|
||||||
|
BS_Callback_Destroy(pThis%) :"_BS_Callback_Destroy@4"
|
||||||
|
BS_Callback_GetCallbackSizeBytes%(pThis%) :"_BS_Callback_GetCallbackSizeBytes@4"
|
||||||
|
BS_Callback_SetCallback(pThis%, iCallback%) :"_BS_Callback_SetCallback@8"
|
||||||
|
BS_Callback_GetCallback%(pThis%) :"_BS_Callback_GetCallback@4"
|
||||||
|
BS_Callback_SetFunction(pThis%, pFunction%) :"_BS_Callback_SetFunction@8"
|
||||||
|
BS_Callback_GetFunction%(pThis%) :"_BS_Callback_GetFunction@4"
|
||||||
|
BS_Callback_SetRegistered(pThis%, bIsRegistered%) :"_BS_Callback_SetRegistered@8"
|
||||||
|
BS_Callback_IsRegistered%(pThis%) :"_BS_Callback_IsRegistered@4"
|
||||||
|
BS_Callback_SetGameServer(pThis%, bIsGameServer%) :"_BS_Callback_SetGameServer@8"
|
||||||
|
BS_Callback_IsGameServer%(pThis%) :"_BS_Callback_IsGameServer@4"
|
||||||
|
BS_Callback_Register(pThis%, iCallback%) :"_BS_Callback_Register@8"
|
||||||
|
BS_Callback_Unregister(pThis%) :"_BS_Callback_Unregister@4"
|
||||||
|
BS_Callback_RegisterResult(pThis%, lSteamAPICall%, iCallback%) :"_BS_Callback_RegisterResult@12"
|
||||||
|
BS_Callback_UnregisterResult(pThis%) :"_BS_Callback_UnregisterResult@4"
|
||||||
@@ -1,42 +1,42 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; aDouble with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; aDouble with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
; Double ------------------------------------------------------------------------
|
; Double ------------------------------------------------------------------------
|
||||||
BS_Double_New%() :"_BS_Double_New@0"
|
BS_Double_New%() :"_BS_Double_New@0"
|
||||||
BS_Double_Copy%(pThis%) :"_BS_Double_Copy@4"
|
BS_Double_Copy%(pThis%) :"_BS_Double_Copy@4"
|
||||||
BS_Double_Destroy(pThis%) :"_BS_Double_Destroy@4"
|
BS_Double_Destroy(pThis%) :"_BS_Double_Destroy@4"
|
||||||
BS_Double_ToString$(pThis%) :"_BS_Double_ToString@4"
|
BS_Double_ToString$(pThis%) :"_BS_Double_ToString@4"
|
||||||
BS_Double_FromString%(cString$) :"_BS_Double_FromString@4"
|
BS_Double_FromString%(cString$) :"_BS_Double_FromString@4"
|
||||||
BS_Double_FromF%(Float#) :"_BS_Double_FromF@4"
|
BS_Double_FromF%(Float#) :"_BS_Double_FromF@4"
|
||||||
BS_Double_ToF#(pThis%) :"_BS_Double_ToF@4"
|
BS_Double_ToF#(pThis%) :"_BS_Double_ToF@4"
|
||||||
BS_Double_FromI%(iRight%) :"_BS_Double_FromI@4"
|
BS_Double_FromI%(iRight%) :"_BS_Double_FromI@4"
|
||||||
BS_Double_ToI%(pThis%) :"_BS_Double_ToI@8"
|
BS_Double_ToI%(pThis%) :"_BS_Double_ToI@8"
|
||||||
BS_Double_FromL(pDouble%) :"_BS_Double_FromL@4"
|
BS_Double_FromL(pDouble%) :"_BS_Double_FromL@4"
|
||||||
BS_Double_ToL(pThis%) :"_BS_Double_ToL@4"
|
BS_Double_ToL(pThis%) :"_BS_Double_ToL@4"
|
||||||
BS_Double_Compare%(pThis%, pOther%) :"_BS_Double_Compare@8"
|
BS_Double_Compare%(pThis%, pOther%) :"_BS_Double_Compare@8"
|
||||||
BS_Double_Set%(pThis%, pOther%) :"_BS_Double_Set@8"
|
BS_Double_Set%(pThis%, pOther%) :"_BS_Double_Set@8"
|
||||||
BS_Double_Add%(pThis%, pOther%) :"_BS_Double_Add@8"
|
BS_Double_Add%(pThis%, pOther%) :"_BS_Double_Add@8"
|
||||||
BS_Double_Sub%(pThis%, pOther%) :"_BS_Double_Sub@8"
|
BS_Double_Sub%(pThis%, pOther%) :"_BS_Double_Sub@8"
|
||||||
BS_Double_Div%(pThis%, pOther%) :"_BS_Double_Div@8"
|
BS_Double_Div%(pThis%, pOther%) :"_BS_Double_Div@8"
|
||||||
BS_Double_Mul%(pThis%, pOther%) :"_BS_Double_Mul@8"
|
BS_Double_Mul%(pThis%, pOther%) :"_BS_Double_Mul@8"
|
||||||
BS_Double_Mod%(pThis%, pOther%) :"_BS_Double_Mod@8"
|
BS_Double_Mod%(pThis%, pOther%) :"_BS_Double_Mod@8"
|
||||||
BS_Double_SetF%(pThis%, fOther%) :"_BS_Double_SetF@8"
|
BS_Double_SetF%(pThis%, fOther%) :"_BS_Double_SetF@8"
|
||||||
BS_Double_AddF%(pThis%, fOther%) :"_BS_Double_AddF@8"
|
BS_Double_AddF%(pThis%, fOther%) :"_BS_Double_AddF@8"
|
||||||
BS_Double_SubF%(pThis%, fOther%) :"_BS_Double_SubF@8"
|
BS_Double_SubF%(pThis%, fOther%) :"_BS_Double_SubF@8"
|
||||||
BS_Double_DivF%(pThis%, fOther%) :"_BS_Double_DivF@8"
|
BS_Double_DivF%(pThis%, fOther%) :"_BS_Double_DivF@8"
|
||||||
BS_Double_MulF%(pThis%, fOther%) :"_BS_Double_MulF@8"
|
BS_Double_MulF%(pThis%, fOther%) :"_BS_Double_MulF@8"
|
||||||
BS_Double_ModF%(pThis%, fOther%) :"_BS_Double_ModF@8"
|
BS_Double_ModF%(pThis%, fOther%) :"_BS_Double_ModF@8"
|
||||||
@@ -1,33 +1,33 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
; Memory ----------------------------------------------------------------------
|
; Memory ----------------------------------------------------------------------
|
||||||
BS_Memory_Alloc%(iSize%) :"_BS_Memory_Alloc@4"
|
BS_Memory_Alloc%(iSize%) :"_BS_Memory_Alloc@4"
|
||||||
BS_Memory_ReAlloc%(pMemory%, iSize%) :"_BS_Memory_ReAlloc@8"
|
BS_Memory_ReAlloc%(pMemory%, iSize%) :"_BS_Memory_ReAlloc@8"
|
||||||
BS_Memory_Free(pMemory%) :"_BS_Memory_Free@4"
|
BS_Memory_Free(pMemory%) :"_BS_Memory_Free@4"
|
||||||
BS_Memory_PokeByte(pMemory%, iOffset%, bValue%) :"_BS_Memory_PokeByte@12"
|
BS_Memory_PokeByte(pMemory%, iOffset%, bValue%) :"_BS_Memory_PokeByte@12"
|
||||||
BS_Memory_PeekByte%(pMemory%, iOffset%) :"_BS_Memory_PeekByte@8"
|
BS_Memory_PeekByte%(pMemory%, iOffset%) :"_BS_Memory_PeekByte@8"
|
||||||
BS_Memory_PokeShort(pMemory%, iOffset%, sValue%) :"_BS_Memory_PokeShort@12"
|
BS_Memory_PokeShort(pMemory%, iOffset%, sValue%) :"_BS_Memory_PokeShort@12"
|
||||||
BS_Memory_PeekShort%(pMemory%, iOffset%) :"_BS_Memory_PeekShort@8"
|
BS_Memory_PeekShort%(pMemory%, iOffset%) :"_BS_Memory_PeekShort@8"
|
||||||
BS_Memory_PokeInt(pMemory%, iOffset%, iValue%) :"_BS_Memory_PokeInt@12"
|
BS_Memory_PokeInt(pMemory%, iOffset%, iValue%) :"_BS_Memory_PokeInt@12"
|
||||||
BS_Memory_PeekInt%(pMemory%, iOffset%) :"_BS_Memory_PeekInt@8"
|
BS_Memory_PeekInt%(pMemory%, iOffset%) :"_BS_Memory_PeekInt@8"
|
||||||
BS_Memory_PokeFloat(pMemory%, iOffset%, fValue#) :"_BS_Memory_PokeFloat@12"
|
BS_Memory_PokeFloat(pMemory%, iOffset%, fValue#) :"_BS_Memory_PokeFloat@12"
|
||||||
BS_Memory_PeekFloat#(pMemory%, iOffset%) :"_BS_Memory_PeekFloat@8"
|
BS_Memory_PeekFloat#(pMemory%, iOffset%) :"_BS_Memory_PeekFloat@8"
|
||||||
BS_Memory_PokeLong(pMemory%, iOffset%, lValue%) :"_BS_Memory_PokeLong@12"
|
BS_Memory_PokeLong(pMemory%, iOffset%, lValue%) :"_BS_Memory_PokeLong@12"
|
||||||
BS_Memory_PeekLong%(pMemory%, iOffset%) :"_BS_Memory_PeekLong@8"
|
BS_Memory_PeekLong%(pMemory%, iOffset%) :"_BS_Memory_PeekLong@8"
|
||||||
BS_Memory_PokeDouble(pMemory%, iOffset%, dValue%) :"_BS_Memory_PokeDouble@12"
|
BS_Memory_PokeDouble(pMemory%, iOffset%, dValue%) :"_BS_Memory_PokeDouble@12"
|
||||||
BS_Memory_PeekDouble%(pMemory%, iOffset%) :"_BS_Memory_PeekDouble@8"
|
BS_Memory_PeekDouble%(pMemory%, iOffset%) :"_BS_Memory_PeekDouble@8"
|
||||||
|
|||||||
@@ -1,77 +1,77 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; GameServer ------------------------------------------------------------------
|
; GameServer ------------------------------------------------------------------
|
||||||
BS_SteamGameServer_Init%(iIP%, sSteamPort%, sGamePort%, sQueryPort%, EServerMode%, cVersion$):"_BS_SteamGameServer_Init@24"
|
BS_SteamGameServer_Init%(iIP%, sSteamPort%, sGamePort%, sQueryPort%, EServerMode%, cVersion$):"_BS_SteamGameServer_Init@24"
|
||||||
BS_SteamGameServer_Shutdown() :"_BS_SteamGameServer_Shutdown@0"
|
BS_SteamGameServer_Shutdown() :"_BS_SteamGameServer_Shutdown@0"
|
||||||
BS_SteamGameServer_RunCallbacks() :"_BS_SteamGameServer_RunCallbacks@0"
|
BS_SteamGameServer_RunCallbacks() :"_BS_SteamGameServer_RunCallbacks@0"
|
||||||
BS_SteamGameServer_GetHSteamPipe%() :"_BS_SteamGameServer_GetHSteamPipe@0"
|
BS_SteamGameServer_GetHSteamPipe%() :"_BS_SteamGameServer_GetHSteamPipe@0"
|
||||||
BS_SteamGameServer_IsSecure%() :"_BS_SteamGameServer_IsSecure@0"
|
BS_SteamGameServer_IsSecure%() :"_BS_SteamGameServer_IsSecure@0"
|
||||||
BS_SteamGameServer_GetSteamID%() :"_BS_SteamGameServer_GetSteamID@0"
|
BS_SteamGameServer_GetSteamID%() :"_BS_SteamGameServer_GetSteamID@0"
|
||||||
;! Function above returns a CSteamID*, clean it up afterwards!
|
;! Function above returns a CSteamID*, clean it up afterwards!
|
||||||
BS_SteamGameServer%() :"_BS_SteamGameServer@0"
|
BS_SteamGameServer%() :"_BS_SteamGameServer@0"
|
||||||
BS_ISteamGameServer_InitGameServer%(pThis%, iIP%, sGamePort%, sQueryPort%, iFlags%, iAppId%, cVersion$):"_BS_ISteamGameServer_InitGameServer@24"
|
BS_ISteamGameServer_InitGameServer%(pThis%, iIP%, sGamePort%, sQueryPort%, iFlags%, iAppId%, cVersion$):"_BS_ISteamGameServer_InitGameServer@24"
|
||||||
BS_ISteamGameServer_SetProduct(pThis%, cProduct$) :"_BS_ISteamGameServer_SetProduct@8"
|
BS_ISteamGameServer_SetProduct(pThis%, cProduct$) :"_BS_ISteamGameServer_SetProduct@8"
|
||||||
BS_ISteamGameServer_SetGameDescription(pThis%, cDescription$) :"_BS_ISteamGameServer_SetGameDescription@8"
|
BS_ISteamGameServer_SetGameDescription(pThis%, cDescription$) :"_BS_ISteamGameServer_SetGameDescription@8"
|
||||||
BS_ISteamGameServer_SetModDir(pThis%, cDirectory$) :"_BS_ISteamGameServer_SetModDir@8"
|
BS_ISteamGameServer_SetModDir(pThis%, cDirectory$) :"_BS_ISteamGameServer_SetModDir@8"
|
||||||
BS_ISteamGameServer_SetDedicatedServer(pThis%, bDedicated%) :"_BS_ISteamGameServer_SetDedicatedServer@8"
|
BS_ISteamGameServer_SetDedicatedServer(pThis%, bDedicated%) :"_BS_ISteamGameServer_SetDedicatedServer@8"
|
||||||
BS_ISteamGameServer_LogOn(pThis%, cToken$) :"_BS_ISteamGameServer_LogOn@8"
|
BS_ISteamGameServer_LogOn(pThis%, cToken$) :"_BS_ISteamGameServer_LogOn@8"
|
||||||
BS_ISteamGameServer_LogOnAnonymous(pThis%) :"_BS_ISteamGameServer_LogOnAnonymous@4"
|
BS_ISteamGameServer_LogOnAnonymous(pThis%) :"_BS_ISteamGameServer_LogOnAnonymous@4"
|
||||||
BS_ISteamGameServer_LogOff(pThis%) :"_BS_ISteamGameServer_LogOff@4"
|
BS_ISteamGameServer_LogOff(pThis%) :"_BS_ISteamGameServer_LogOff@4"
|
||||||
BS_ISteamGameServer_IsLoggedOn%(pThis%) :"_BS_ISteamGameServer_IsLoggedOn@4"
|
BS_ISteamGameServer_IsLoggedOn%(pThis%) :"_BS_ISteamGameServer_IsLoggedOn@4"
|
||||||
BS_ISteamGameServer_IsSecure%(pThis%) :"_BS_ISteamGameServer_IsSecure@4"
|
BS_ISteamGameServer_IsSecure%(pThis%) :"_BS_ISteamGameServer_IsSecure@4"
|
||||||
BS_ISteamGameServer_GetSteamID%(pThis%) :"_BS_ISteamGameServer_GetSteamID@4"
|
BS_ISteamGameServer_GetSteamID%(pThis%) :"_BS_ISteamGameServer_GetSteamID@4"
|
||||||
BS_ISteamGameServer_WasRestartRequested%(pThis%) :"_BS_ISteamGameServer_WasRestartRequested@4"
|
BS_ISteamGameServer_WasRestartRequested%(pThis%) :"_BS_ISteamGameServer_WasRestartRequested@4"
|
||||||
BS_ISteamGameServer_SetMaxPlayerCount(pThis%, iMaxPlayers%) :"_BS_ISteamGameServer_SetMaxPlayerCount@8"
|
BS_ISteamGameServer_SetMaxPlayerCount(pThis%, iMaxPlayers%) :"_BS_ISteamGameServer_SetMaxPlayerCount@8"
|
||||||
BS_ISteamGameServer_SetBotPlayerCount(pThis%, iBotPlayers%) :"_BS_ISteamGameServer_SetBotPlayerCount@8"
|
BS_ISteamGameServer_SetBotPlayerCount(pThis%, iBotPlayers%) :"_BS_ISteamGameServer_SetBotPlayerCount@8"
|
||||||
BS_ISteamGameServer_SetServerName(pThis%, cName$) :"_BS_ISteamGameServer_SetServerName@8"
|
BS_ISteamGameServer_SetServerName(pThis%, cName$) :"_BS_ISteamGameServer_SetServerName@8"
|
||||||
BS_ISteamGameServer_SetMapName(pThis%, cName$) :"_BS_ISteamGameServer_SetMapName@8"
|
BS_ISteamGameServer_SetMapName(pThis%, cName$) :"_BS_ISteamGameServer_SetMapName@8"
|
||||||
BS_ISteamGameServer_SetPasswordProtected(pThis%, bPassworded%) :"_BS_ISteamGameServer_SetPasswordProtected@8"
|
BS_ISteamGameServer_SetPasswordProtected(pThis%, bPassworded%) :"_BS_ISteamGameServer_SetPasswordProtected@8"
|
||||||
BS_ISteamGameServer_SetSpectatorPort(pThis%, sPort%) :"_BS_ISteamGameServer_SetSpectatorPort@8"
|
BS_ISteamGameServer_SetSpectatorPort(pThis%, sPort%) :"_BS_ISteamGameServer_SetSpectatorPort@8"
|
||||||
BS_ISteamGameServer_SetSpectatorServerName(pThis%, cName$) :"_BS_ISteamGameServer_SetSpectatorServerName@8"
|
BS_ISteamGameServer_SetSpectatorServerName(pThis%, cName$) :"_BS_ISteamGameServer_SetSpectatorServerName@8"
|
||||||
BS_ISteamGameServer_ClearAllKeyValues(pThis%) :"_BS_ISteamGameServer_ClearAllKeyValues@4"
|
BS_ISteamGameServer_ClearAllKeyValues(pThis%) :"_BS_ISteamGameServer_ClearAllKeyValues@4"
|
||||||
BS_ISteamGameServer_SetKeyValue(pThis%, cKey$, cValue$) :"_BS_ISteamGameServer_SetKeyValue@12"
|
BS_ISteamGameServer_SetKeyValue(pThis%, cKey$, cValue$) :"_BS_ISteamGameServer_SetKeyValue@12"
|
||||||
BS_ISteamGameServer_SetGameTags(pThis%, cTags$) :"_BS_ISteamGameServer_SetGameTags@8"
|
BS_ISteamGameServer_SetGameTags(pThis%, cTags$) :"_BS_ISteamGameServer_SetGameTags@8"
|
||||||
BS_ISteamGameServer_SetGameData(pThis%, cData$) :"_BS_ISteamGameServer_SetGameData@8"
|
BS_ISteamGameServer_SetGameData(pThis%, cData$) :"_BS_ISteamGameServer_SetGameData@8"
|
||||||
BS_ISteamGameServer_SetRegion(pThis%, cRegion$) :"_BS_ISteamGameServer_SetRegion@8"
|
BS_ISteamGameServer_SetRegion(pThis%, cRegion$) :"_BS_ISteamGameServer_SetRegion@8"
|
||||||
BS_ISteamGameServer_SendUserConnectAndAuthenticate%(pThis%, iIP%, pAuthBlob*, iAuthBlobSize%, lSteamId%):"_BS_ISteamGameServer_SendUserConnectAndAuthenticate@20"
|
BS_ISteamGameServer_SendUserConnectAndAuthenticate%(pThis%, iIP%, pAuthBlob*, iAuthBlobSize%, lSteamId%):"_BS_ISteamGameServer_SendUserConnectAndAuthenticate@20"
|
||||||
BS_ISteamGameServer_SendUserConnectAndAuthenticateEx%(pThis%, iIP%, pAuthBlob%, iAuthBlobSize%, lSteamId%):"_BS_ISteamGameServer_SendUserConnectAndAuthenticate@20"
|
BS_ISteamGameServer_SendUserConnectAndAuthenticateEx%(pThis%, iIP%, pAuthBlob%, iAuthBlobSize%, lSteamId%):"_BS_ISteamGameServer_SendUserConnectAndAuthenticate@20"
|
||||||
BS_ISteamGameServer_CreateUnauthenticatedUserConnection%(pThis%) :"_BS_ISteamGameServer_CreateUnauthenticatedUserConnection@4"
|
BS_ISteamGameServer_CreateUnauthenticatedUserConnection%(pThis%) :"_BS_ISteamGameServer_CreateUnauthenticatedUserConnection@4"
|
||||||
;! Function above returns a CSteamID*, clean it up afterwards!
|
;! Function above returns a CSteamID*, clean it up afterwards!
|
||||||
BS_ISteamGameServer_SendUserDisconnect(pThis%, lSteamId%) :"_BS_ISteamGameServer_SendUserDisconnect@8"
|
BS_ISteamGameServer_SendUserDisconnect(pThis%, lSteamId%) :"_BS_ISteamGameServer_SendUserDisconnect@8"
|
||||||
BS_ISteamGameServer_UpdateUserData%(pThis%, lSteamId%, cName$, iScore%):"_BS_ISteamGameServer_UpdateUserData@16"
|
BS_ISteamGameServer_UpdateUserData%(pThis%, lSteamId%, cName$, iScore%):"_BS_ISteamGameServer_UpdateUserData@16"
|
||||||
BS_ISteamGameServer_GetAuthSessionTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamGameServer_GetAuthSessionTicket@16"
|
BS_ISteamGameServer_GetAuthSessionTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamGameServer_GetAuthSessionTicket@16"
|
||||||
BS_ISteamGameServer_GetAuthSessionTicketEx%(pThis%, pTicket%, iTicketSize%, piTicketSize%):"_BS_ISteamGameServer_GetAuthSessionTicket@16"
|
BS_ISteamGameServer_GetAuthSessionTicketEx%(pThis%, pTicket%, iTicketSize%, piTicketSize%):"_BS_ISteamGameServer_GetAuthSessionTicket@16"
|
||||||
BS_ISteamGameServer_BeginAuthSession%(pThis%, pTicket*, iTicketSize%, lSteamId%):"_BS_ISteamGameServer_BeginAuthSession@16"
|
BS_ISteamGameServer_BeginAuthSession%(pThis%, pTicket*, iTicketSize%, lSteamId%):"_BS_ISteamGameServer_BeginAuthSession@16"
|
||||||
BS_ISteamGameServer_BeginAuthSessionEx%(pThis%, pTicket%, iTicketSize%, lSteamId%):"_BS_ISteamGameServer_BeginAuthSession@16"
|
BS_ISteamGameServer_BeginAuthSessionEx%(pThis%, pTicket%, iTicketSize%, lSteamId%):"_BS_ISteamGameServer_BeginAuthSession@16"
|
||||||
BS_ISteamGameServer_EndAuthSession(pThis%, lSteamId%) :"_BS_ISteamGameServer_EndAuthSession@8"
|
BS_ISteamGameServer_EndAuthSession(pThis%, lSteamId%) :"_BS_ISteamGameServer_EndAuthSession@8"
|
||||||
BS_ISteamGameServer_CancelAuthTicket(pThis%, iAuthTicket%) :"_BS_ISteamGameServer_CancelAuthTicket@8"
|
BS_ISteamGameServer_CancelAuthTicket(pThis%, iAuthTicket%) :"_BS_ISteamGameServer_CancelAuthTicket@8"
|
||||||
BS_ISteamGameServer_UserHasLicenseForApp%(pThis%, lSteamId%, iAppId%) :"_BS_ISteamGameServer_UserHasLicenseForApp@12"
|
BS_ISteamGameServer_UserHasLicenseForApp%(pThis%, lSteamId%, iAppId%) :"_BS_ISteamGameServer_UserHasLicenseForApp@12"
|
||||||
BS_ISteamGameServer_RequestUserGroupStatus%(pThis%, lSteamId%, pSteamIdGroup%) :"_BS_ISteamGameServer_RequestUserGroupStatus@12"
|
BS_ISteamGameServer_RequestUserGroupStatus%(pThis%, lSteamId%, pSteamIdGroup%) :"_BS_ISteamGameServer_RequestUserGroupStatus@12"
|
||||||
BS_ISteamGameServer_GetPublicIP%(pThis%) :"_BS_ISteamGameServer_GetPublicIP@4"
|
BS_ISteamGameServer_GetPublicIP%(pThis%) :"_BS_ISteamGameServer_GetPublicIP@4"
|
||||||
BS_ISteamGameServer_HandleIncomingPacket%(pThis%, pBuffer*, iBufferSize%, iIP%, sPort%):"_BS_ISteamGameServer_HandleIncomingPacket@20"
|
BS_ISteamGameServer_HandleIncomingPacket%(pThis%, pBuffer*, iBufferSize%, iIP%, sPort%):"_BS_ISteamGameServer_HandleIncomingPacket@20"
|
||||||
BS_ISteamGameServer_HandleIncomingPacketEx%(pThis%, pBuffer%, iBufferSize%, iIP%, sPort%):"_BS_ISteamGameServer_HandleIncomingPacket@20"
|
BS_ISteamGameServer_HandleIncomingPacketEx%(pThis%, pBuffer%, iBufferSize%, iIP%, sPort%):"_BS_ISteamGameServer_HandleIncomingPacket@20"
|
||||||
BS_ISteamGameServer_GetNextOutgoingPacket%(pThis%, pBuffer*, iBufferSize%, piIP*, psPort*):"_BS_ISteamGameServer_GetNextOutgoingPacket@20"
|
BS_ISteamGameServer_GetNextOutgoingPacket%(pThis%, pBuffer*, iBufferSize%, piIP*, psPort*):"_BS_ISteamGameServer_GetNextOutgoingPacket@20"
|
||||||
BS_ISteamGameServer_GetNextOutgoingPacketEx%(pThis%, pBuffer%, iBufferSize%, piIP%, psPort%):"_BS_ISteamGameServer_GetNextOutgoingPacket@20"
|
BS_ISteamGameServer_GetNextOutgoingPacketEx%(pThis%, pBuffer%, iBufferSize%, piIP%, psPort%):"_BS_ISteamGameServer_GetNextOutgoingPacket@20"
|
||||||
BS_ISteamGameServer_EnableHeartbeats(pThis%, bActive%) :"_BS_ISteamGameServer_EnableHeartbeats@8"
|
BS_ISteamGameServer_EnableHeartbeats(pThis%, bActive%) :"_BS_ISteamGameServer_EnableHeartbeats@8"
|
||||||
BS_ISteamGameServer_SetHeartbeatInterval(pThis%, iInterval%) :"_BS_ISteamGameServer_SetHeartbeatInterval@8"
|
BS_ISteamGameServer_SetHeartbeatInterval(pThis%, iInterval%) :"_BS_ISteamGameServer_SetHeartbeatInterval@8"
|
||||||
BS_ISteamGameServer_ForceHeartbeat(pThis%) :"_BS_ISteamGameServer_ForceHeartbeat@4"
|
BS_ISteamGameServer_ForceHeartbeat(pThis%) :"_BS_ISteamGameServer_ForceHeartbeat@4"
|
||||||
BS_ISteamGameServer_AssociateWithClan%(pThis%, pSteamIDClan%) :"_BS_ISteamGameServer_AssociateWithClan@8"
|
BS_ISteamGameServer_AssociateWithClan%(pThis%, pSteamIDClan%) :"_BS_ISteamGameServer_AssociateWithClan@8"
|
||||||
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
||||||
BS_ISteamGameServer_ComputeNewPlayerCompatibility%(pThis%, pSteamIDNewPlayer%) :"_BS_ISteamGameServer_ComputeNewPlayerCompatibility@8"
|
BS_ISteamGameServer_ComputeNewPlayerCompatibility%(pThis%, pSteamIDNewPlayer%) :"_BS_ISteamGameServer_ComputeNewPlayerCompatibility@8"
|
||||||
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
||||||
|
|||||||
@@ -1,36 +1,36 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; GameServerStats -------------------------------------------------------------
|
; GameServerStats -------------------------------------------------------------
|
||||||
BS_SteamGameServerStats%() :"_BS_SteamGameServerStats@0"
|
BS_SteamGameServerStats%() :"_BS_SteamGameServerStats@0"
|
||||||
BS_ISteamGameServerStats_RequestUserStats%(pThis%, lSteamId%) :"_BS_ISteamGameServerStats_RequestUserStats@8"
|
BS_ISteamGameServerStats_RequestUserStats%(pThis%, lSteamId%) :"_BS_ISteamGameServerStats_RequestUserStats@8"
|
||||||
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
||||||
BS_ISteamGameServerStats_StoreUserStats%(pThis%, lSteamId%) :"_BS_ISteamGameServerStats_StoreUserStats@8"
|
BS_ISteamGameServerStats_StoreUserStats%(pThis%, lSteamId%) :"_BS_ISteamGameServerStats_StoreUserStats@8"
|
||||||
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
||||||
BS_ISteamGameServerStats_GetUserStat%(pThis%, lSteamId%, cName$, pData*) :"_BS_ISteamGameServerStats_GetUserStat@16"
|
BS_ISteamGameServerStats_GetUserStat%(pThis%, lSteamId%, cName$, pData*) :"_BS_ISteamGameServerStats_GetUserStat@16"
|
||||||
BS_ISteamGameServerStats_GetUserStatEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_ISteamGameServerStats_GetUserStat@16"
|
BS_ISteamGameServerStats_GetUserStatEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_ISteamGameServerStats_GetUserStat@16"
|
||||||
BS_ISteamGameServerStats_GetUserStatF%(pThis%, lSteamId%, cName$, pData*) :"_BS_ISteamGameServerStats_GetUserStatF@16"
|
BS_ISteamGameServerStats_GetUserStatF%(pThis%, lSteamId%, cName$, pData*) :"_BS_ISteamGameServerStats_GetUserStatF@16"
|
||||||
BS_ISteamGameServerStats_GetUserStatFEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_ISteamGameServerStats_GetUserStatF@16"
|
BS_ISteamGameServerStats_GetUserStatFEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_ISteamGameServerStats_GetUserStatF@16"
|
||||||
BS_ISteamGameServerStats_GetUserAchievement%(pThis%, lSteamId%, cName$, pbAchieved*):"_BS_ISteamGameServerStats_GetUserAchievement@16"
|
BS_ISteamGameServerStats_GetUserAchievement%(pThis%, lSteamId%, cName$, pbAchieved*):"_BS_ISteamGameServerStats_GetUserAchievement@16"
|
||||||
BS_ISteamGameServerStats_GetUserAchievementEx%(pThis%, lSteamId%, cName$, pbAchieved%):"_BS_ISteamGameServerStats_GetUserAchievement@16"
|
BS_ISteamGameServerStats_GetUserAchievementEx%(pThis%, lSteamId%, cName$, pbAchieved%):"_BS_ISteamGameServerStats_GetUserAchievement@16"
|
||||||
BS_ISteamGameServerStats_SetUserStat%(pThis%, lSteamId%, cName%, iData%) :"_BS_ISteamGameServerStats_SetUserStat@16"
|
BS_ISteamGameServerStats_SetUserStat%(pThis%, lSteamId%, cName%, iData%) :"_BS_ISteamGameServerStats_SetUserStat@16"
|
||||||
BS_ISteamGameServerStats_SetUserStatF%(pThis%, lSteamId%, cName%, fData#) :"_BS_ISteamGameServerStats_SetUserStatF@16"
|
BS_ISteamGameServerStats_SetUserStatF%(pThis%, lSteamId%, cName%, fData#) :"_BS_ISteamGameServerStats_SetUserStatF@16"
|
||||||
BS_ISteamGameServerStats_UpdateUserAvgRateStat%(pThis%, lSteamId%, cName$, fCountThisSession#, dSessionLength%):"_BS_ISteamGameServerStats_UpdateUserAvgRateStat@20"
|
BS_ISteamGameServerStats_UpdateUserAvgRateStat%(pThis%, lSteamId%, cName$, fCountThisSession#, dSessionLength%):"_BS_ISteamGameServerStats_UpdateUserAvgRateStat@20"
|
||||||
;! Function above takes a Double* as last parameter.
|
;! Function above takes a Double* as last parameter.
|
||||||
BS_ISteamGameServerStats_SetUserAchievement%(pThis%, lSteamId%, cName$) :"_BS_ISteamGameServerStats_SetUserAchievement@12"
|
BS_ISteamGameServerStats_SetUserAchievement%(pThis%, lSteamId%, cName$) :"_BS_ISteamGameServerStats_SetUserAchievement@12"
|
||||||
BS_ISteamGameServerStats_ClearUserAchievement%(pThis%, lSteamId%, cName$) :"_BS_ISteamGameServerStats_ClearUserAchievement@12"
|
BS_ISteamGameServerStats_ClearUserAchievement%(pThis%, lSteamId%, cName$) :"_BS_ISteamGameServerStats_ClearUserAchievement@12"
|
||||||
@@ -1,56 +1,56 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; HTMLSurface -----------------------------------------------------------------
|
; HTMLSurface -----------------------------------------------------------------
|
||||||
BS_SteamHTMLSurface%() :"_BS_SteamHTMLSurface@0"
|
BS_SteamHTMLSurface%() :"_BS_SteamHTMLSurface@0"
|
||||||
BS_ISteamHTMLSurface_Init%(pThis%) :"_BS_ISteamHTMLSurface_Init@4"
|
BS_ISteamHTMLSurface_Init%(pThis%) :"_BS_ISteamHTMLSurface_Init@4"
|
||||||
BS_ISteamHTMLSurface_Shutdown%(pThis%) :"_BS_ISteamHTMLSurface_Shutdown@4"
|
BS_ISteamHTMLSurface_Shutdown%(pThis%) :"_BS_ISteamHTMLSurface_Shutdown@4"
|
||||||
BS_ISteamHTMLSurface_CreateBrowser%(pThis%, cUserAgent$, cUserCSS$) :"_BS_ISteamHTMLSurface_CreateBrowser@12"
|
BS_ISteamHTMLSurface_CreateBrowser%(pThis%, cUserAgent$, cUserCSS$) :"_BS_ISteamHTMLSurface_CreateBrowser@12"
|
||||||
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
;! Function above returns a SteamAPICall_t*, clean it up afterwards!
|
||||||
BS_ISteamHTMLSurface_RemoveBrowser(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_RemoveBrowser@8"
|
BS_ISteamHTMLSurface_RemoveBrowser(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_RemoveBrowser@8"
|
||||||
BS_ISteamHTMLSurface_LoadURL(pThis%, iHandle%, cURL$, cPostData$) :"_BS_ISteamHTMLSurface_LoadURL@16"
|
BS_ISteamHTMLSurface_LoadURL(pThis%, iHandle%, cURL$, cPostData$) :"_BS_ISteamHTMLSurface_LoadURL@16"
|
||||||
BS_ISteamHTMLSurface_SetSize(pThis%, iHandle%, iWidth%, iHeight%) :"_BS_ISteamHTMLSurface_SetSize@16"
|
BS_ISteamHTMLSurface_SetSize(pThis%, iHandle%, iWidth%, iHeight%) :"_BS_ISteamHTMLSurface_SetSize@16"
|
||||||
BS_ISteamHTMLSurface_StopLoad(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_StopLoad@8"
|
BS_ISteamHTMLSurface_StopLoad(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_StopLoad@8"
|
||||||
BS_ISteamHTMLSurface_Reload(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_Reload@8"
|
BS_ISteamHTMLSurface_Reload(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_Reload@8"
|
||||||
BS_ISteamHTMLSurface_GoBack(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_GoBack@8"
|
BS_ISteamHTMLSurface_GoBack(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_GoBack@8"
|
||||||
BS_ISteamHTMLSurface_GoForward(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_GoForward@8"
|
BS_ISteamHTMLSurface_GoForward(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_GoForward@8"
|
||||||
BS_ISteamHTMLSurface_AddHeader(pThis%, iHandle%, cKey$, cValue$) :"_BS_ISteamHTMLSurface_AddHeader@16"
|
BS_ISteamHTMLSurface_AddHeader(pThis%, iHandle%, cKey$, cValue$) :"_BS_ISteamHTMLSurface_AddHeader@16"
|
||||||
BS_ISteamHTMLSurface_ExecuteJavascript(pThis%, iHandle%, cScript$) :"_BS_ISteamHTMLSurface_ExecuteJavascript@12"
|
BS_ISteamHTMLSurface_ExecuteJavascript(pThis%, iHandle%, cScript$) :"_BS_ISteamHTMLSurface_ExecuteJavascript@12"
|
||||||
BS_ISteamHTMLSurface_MouseUp(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseUp@12"
|
BS_ISteamHTMLSurface_MouseUp(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseUp@12"
|
||||||
BS_ISteamHTMLSurface_MouseDown(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseDown@12"
|
BS_ISteamHTMLSurface_MouseDown(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseDown@12"
|
||||||
BS_ISteamHTMLSurface_MouseDoubleClick(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseDoubleClick@12"
|
BS_ISteamHTMLSurface_MouseDoubleClick(pThis%, iHandle%, EMouseButton%) :"_BS_ISteamHTMLSurface_MouseDoubleClick@12"
|
||||||
BS_ISteamHTMLSurface_MouseMove(pThis%, iHandle%, X%, Y%) :"_BS_ISteamHTMLSurface_MouseMove@16"
|
BS_ISteamHTMLSurface_MouseMove(pThis%, iHandle%, X%, Y%) :"_BS_ISteamHTMLSurface_MouseMove@16"
|
||||||
BS_ISteamHTMLSurface_MouseWheel(pThis%, iHandle%, iDelta%) :"_BS_ISteamHTMLSurface_MouseWheel@12"
|
BS_ISteamHTMLSurface_MouseWheel(pThis%, iHandle%, iDelta%) :"_BS_ISteamHTMLSurface_MouseWheel@12"
|
||||||
BS_ISteamHTMLSurface_KeyDown(pThis%, iHandle%, iKeyCode%, EHTMLKeyModifiers%) :"_BS_ISteamHTMLSurface_KeyDown@16"
|
BS_ISteamHTMLSurface_KeyDown(pThis%, iHandle%, iKeyCode%, EHTMLKeyModifiers%) :"_BS_ISteamHTMLSurface_KeyDown@16"
|
||||||
BS_ISteamHTMLSurface_KeyUp(pThis%, iHandle%, iKeyCode%, EHTMLKeyModifiers%) :"_BS_ISteamHTMLSurface_KeyUp@16"
|
BS_ISteamHTMLSurface_KeyUp(pThis%, iHandle%, iKeyCode%, EHTMLKeyModifiers%) :"_BS_ISteamHTMLSurface_KeyUp@16"
|
||||||
BS_ISteamHTMLSurface_KeyChar(pThis%, iHandle%, iUnicodeChar%, EHTMLKeyModifiers%):"_BS_ISteamHTMLSurface_KeyChar@16"
|
BS_ISteamHTMLSurface_KeyChar(pThis%, iHandle%, iUnicodeChar%, EHTMLKeyModifiers%):"_BS_ISteamHTMLSurface_KeyChar@16"
|
||||||
BS_ISteamHTMLSurface_SetHorizontalScroll(pThis%, iHandle%, iAbsolutePixelScroll%):"_BS_ISteamHTMLSurface_SetHorizontalScroll@16"
|
BS_ISteamHTMLSurface_SetHorizontalScroll(pThis%, iHandle%, iAbsolutePixelScroll%):"_BS_ISteamHTMLSurface_SetHorizontalScroll@16"
|
||||||
BS_ISteamHTMLSurface_SetVerticalScroll(pThis%, iHandle%, iAbsolutePixelScroll%) :"_BS_ISteamHTMLSurface_SetVerticalScroll@16"
|
BS_ISteamHTMLSurface_SetVerticalScroll(pThis%, iHandle%, iAbsolutePixelScroll%) :"_BS_ISteamHTMLSurface_SetVerticalScroll@16"
|
||||||
BS_ISteamHTMLSurface_SetKeyFocus(pThis%, iHandle%, bHasKeyFocus%) :"_BS_ISteamHTMLSurface_SetKeyFocus@12"
|
BS_ISteamHTMLSurface_SetKeyFocus(pThis%, iHandle%, bHasKeyFocus%) :"_BS_ISteamHTMLSurface_SetKeyFocus@12"
|
||||||
BS_ISteamHTMLSurface_ViewSource(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_ViewSource@8"
|
BS_ISteamHTMLSurface_ViewSource(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_ViewSource@8"
|
||||||
BS_ISteamHTMLSurface_CopyToClipboard(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_CopyToClipboard@8"
|
BS_ISteamHTMLSurface_CopyToClipboard(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_CopyToClipboard@8"
|
||||||
BS_ISteamHTMLSurface_PasteFromClipboard(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_PasteFromClipboard@8"
|
BS_ISteamHTMLSurface_PasteFromClipboard(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_PasteFromClipboard@8"
|
||||||
BS_ISteamHTMLSurface_Find(pThis%, iHandle%, cSearch$, bCurrentlyInFind%, bReverse%):"_BS_ISteamHTMLSurface_Find@20"
|
BS_ISteamHTMLSurface_Find(pThis%, iHandle%, cSearch$, bCurrentlyInFind%, bReverse%):"_BS_ISteamHTMLSurface_Find@20"
|
||||||
BS_ISteamHTMLSurface_StopFind(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_StopFind@8"
|
BS_ISteamHTMLSurface_StopFind(pThis%, iHandle%) :"_BS_ISteamHTMLSurface_StopFind@8"
|
||||||
BS_ISteamHTMLSurface_GetLinkAtPosition(pThis%, iHandle%, X%, Y%) :"_BS_ISteamHTMLSurface_GetLinkAtPosition@16"
|
BS_ISteamHTMLSurface_GetLinkAtPosition(pThis%, iHandle%, X%, Y%) :"_BS_ISteamHTMLSurface_GetLinkAtPosition@16"
|
||||||
BS_ISteamHTMLSurface_SetCookie(pThis%, iHandle%, cHostName$, cKey$, cValue$, cPath$, nExpires%, bSecure%, bHTTPOnly%):"_BS_ISteamHTMLSurface_SetCookie@36"
|
BS_ISteamHTMLSurface_SetCookie(pThis%, iHandle%, cHostName$, cKey$, cValue$, cPath$, nExpires%, bSecure%, bHTTPOnly%):"_BS_ISteamHTMLSurface_SetCookie@36"
|
||||||
BS_ISteamHTMLSurface_SetPageScaleFactor(pThis%, iHandle%, fZoom#, iX%, iY%) :"_BS_ISteamHTMLSurface_SetPageScaleFactor@20"
|
BS_ISteamHTMLSurface_SetPageScaleFactor(pThis%, iHandle%, fZoom#, iX%, iY%) :"_BS_ISteamHTMLSurface_SetPageScaleFactor@20"
|
||||||
BS_ISteamHTMLSurface_SetBackgroundMode(pThis%, iHandle%, bBackgroundMode%) :"_BS_ISteamHTMLSurface_SetBackgroundMode@12"
|
BS_ISteamHTMLSurface_SetBackgroundMode(pThis%, iHandle%, bBackgroundMode%) :"_BS_ISteamHTMLSurface_SetBackgroundMode@12"
|
||||||
BS_ISteamHTMLSurface_AllowStartRequest(pThis%, iHandle%, bAllowed%) :"_BS_ISteamHTMLSurface_AllowStartRequest@12"
|
BS_ISteamHTMLSurface_AllowStartRequest(pThis%, iHandle%, bAllowed%) :"_BS_ISteamHTMLSurface_AllowStartRequest@12"
|
||||||
BS_ISteamHTMLSurface_JSDialogResponse(pThis%, iHandle%, bResult%) :"_BS_ISteamHTMLSurface_JSDialogResponse@12"
|
BS_ISteamHTMLSurface_JSDialogResponse(pThis%, iHandle%, bResult%) :"_BS_ISteamHTMLSurface_JSDialogResponse@12"
|
||||||
BS_ISteamHTMLSurface_FileLoadDialogResponse(pThis%, iHandle%, pcSelectedFiles%) :"_BS_ISteamHTMLSurface_FileLoadDialogResponse@12"
|
BS_ISteamHTMLSurface_FileLoadDialogResponse(pThis%, iHandle%, pcSelectedFiles%) :"_BS_ISteamHTMLSurface_FileLoadDialogResponse@12"
|
||||||
@@ -1,54 +1,54 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; HTTP ------------------------------------------------------------------------
|
; HTTP ------------------------------------------------------------------------
|
||||||
BS_SteamHTTP%() :"_BS_SteamHTTP@0"
|
BS_SteamHTTP%() :"_BS_SteamHTTP@0"
|
||||||
BS_SteamGameServerHTTP%() :"_BS_SteamGameServerHTTP@0"
|
BS_SteamGameServerHTTP%() :"_BS_SteamGameServerHTTP@0"
|
||||||
BS_ISteamHTTP_CreateHTTPRequest%(pThis%, EHTTPRequestMethod%, cAbsoluteUrl$) :"_BS_ISteamHTTP_CreateHTTPRequest@12"
|
BS_ISteamHTTP_CreateHTTPRequest%(pThis%, EHTTPRequestMethod%, cAbsoluteUrl$) :"_BS_ISteamHTTP_CreateHTTPRequest@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestContextValue%(pThis%, iRequest%, lContextValue%) :"_BS_ISteamHTTP_SetHTTPRequestContextValue@12"
|
BS_ISteamHTTP_SetHTTPRequestContextValue%(pThis%, iRequest%, lContextValue%) :"_BS_ISteamHTTP_SetHTTPRequestContextValue@12"
|
||||||
BS_ISteamHTTP_SetHTTPNetworkActivityTimeout%(pThis%, iRequest%, iSeconds%) :"_BS_ISteamHTTP_SetHTTPNetworkActivityTimeout@12"
|
BS_ISteamHTTP_SetHTTPNetworkActivityTimeout%(pThis%, iRequest%, iSeconds%) :"_BS_ISteamHTTP_SetHTTPNetworkActivityTimeout@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestHeaderValue%(pThis%, iRequest%, cName$, cValue$) :"_BS_ISteamHTTP_SetHTTPRequestHeaderValue@16"
|
BS_ISteamHTTP_SetHTTPRequestHeaderValue%(pThis%, iRequest%, cName$, cValue$) :"_BS_ISteamHTTP_SetHTTPRequestHeaderValue@16"
|
||||||
BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter%(pThis%, iRequest%, cName$, cValue$):"_BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter@16"
|
BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter%(pThis%, iRequest%, cName$, cValue$):"_BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter@16"
|
||||||
BS_ISteamHTTP_SendHTTPRequest%(pThis%, iRequest, lCallHandle%) :"_BS_ISteamHTTP_SendHTTPRequest@12"
|
BS_ISteamHTTP_SendHTTPRequest%(pThis%, iRequest, lCallHandle%) :"_BS_ISteamHTTP_SendHTTPRequest@12"
|
||||||
BS_ISteamHTTP_SendHTTPRequestAndStreamResponse%(pThis%, iRequest%, lCallHandle%):"_BS_ISteamHTTP_SendHTTPRequestAndStreamResponse@12"
|
BS_ISteamHTTP_SendHTTPRequestAndStreamResponse%(pThis%, iRequest%, lCallHandle%):"_BS_ISteamHTTP_SendHTTPRequestAndStreamResponse@12"
|
||||||
BS_ISteamHTTP_DeferHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_DeferHTTPRequest@8"
|
BS_ISteamHTTP_DeferHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_DeferHTTPRequest@8"
|
||||||
BS_ISteamHTTP_PrioritizeHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_PrioritizeHTTPRequest@8"
|
BS_ISteamHTTP_PrioritizeHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_PrioritizeHTTPRequest@8"
|
||||||
BS_ISteamHTTP_GetHTTPResponseHeaderSize%(pThis%, iRequest%, cName$, piSize*) :"_BS_ISteamHTTP_GetHTTPResponseHeaderSize@16"
|
BS_ISteamHTTP_GetHTTPResponseHeaderSize%(pThis%, iRequest%, cName$, piSize*) :"_BS_ISteamHTTP_GetHTTPResponseHeaderSize@16"
|
||||||
BS_ISteamHTTP_GetHTTPResponseHeaderSizeEx%(pThis%, iRequest%, cName$, piSize%) :"_BS_ISteamHTTP_GetHTTPResponseHeaderSize@16"
|
BS_ISteamHTTP_GetHTTPResponseHeaderSizeEx%(pThis%, iRequest%, cName$, piSize%) :"_BS_ISteamHTTP_GetHTTPResponseHeaderSize@16"
|
||||||
BS_ISteamHTTP_GetHTTPResponseHeaderValue%(pThis%, iRequest%, cName$, pBuffer*, iSize%):"_BS_ISteamHTTP_GetHTTPResponseHeaderValue@20"
|
BS_ISteamHTTP_GetHTTPResponseHeaderValue%(pThis%, iRequest%, cName$, pBuffer*, iSize%):"_BS_ISteamHTTP_GetHTTPResponseHeaderValue@20"
|
||||||
BS_ISteamHTTP_GetHTTPResponseHeaderValueEx%(pThis%, iRequest%, cName$, pBuffer%, iSize%):"_BS_ISteamHTTP_GetHTTPResponseHeaderValue@20"
|
BS_ISteamHTTP_GetHTTPResponseHeaderValueEx%(pThis%, iRequest%, cName$, pBuffer%, iSize%):"_BS_ISteamHTTP_GetHTTPResponseHeaderValue@20"
|
||||||
BS_ISteamHTTP_GetHTTPResponseBodySize%(pThis%, iRequest%, piSize*) :"_BS_ISteamHTTP_GetHTTPResponseBodySize@12"
|
BS_ISteamHTTP_GetHTTPResponseBodySize%(pThis%, iRequest%, piSize*) :"_BS_ISteamHTTP_GetHTTPResponseBodySize@12"
|
||||||
BS_ISteamHTTP_GetHTTPResponseBodySizeEx%(pThis%, iRequest%, piSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodySize@12"
|
BS_ISteamHTTP_GetHTTPResponseBodySizeEx%(pThis%, iRequest%, piSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodySize@12"
|
||||||
BS_ISteamHTTP_GetHTTPResponseBodyData%(pThis%, iRequest%, pBuffer*, nSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodyData@16"
|
BS_ISteamHTTP_GetHTTPResponseBodyData%(pThis%, iRequest%, pBuffer*, nSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodyData@16"
|
||||||
BS_ISteamHTTP_GetHTTPResponseBodyDataEx%(pThis%, iRequest%, pBuffer%, nSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodyData@16"
|
BS_ISteamHTTP_GetHTTPResponseBodyDataEx%(pThis%, iRequest%, pBuffer%, nSize%) :"_BS_ISteamHTTP_GetHTTPResponseBodyData@16"
|
||||||
BS_ISteamHTTP_GetHTTPStreamingResponseBodyData%(pThis%, iRequest%, iOffset%, pBuffer*, nSize%):"_BS_ISteamHTTP_GetHTTPStreamingResponseBodyData@20"
|
BS_ISteamHTTP_GetHTTPStreamingResponseBodyData%(pThis%, iRequest%, iOffset%, pBuffer*, nSize%):"_BS_ISteamHTTP_GetHTTPStreamingResponseBodyData@20"
|
||||||
BS_ISteamHTTP_GetHTTPStreamingResponseBodyDataEx%(pThis%, iRequest%, iOffset%, pBuffer%, nSize%):"_BS_ISteamHTTP_GetHTTPStreamingResponseBodyData@20"
|
BS_ISteamHTTP_GetHTTPStreamingResponseBodyDataEx%(pThis%, iRequest%, iOffset%, pBuffer%, nSize%):"_BS_ISteamHTTP_GetHTTPStreamingResponseBodyData@20"
|
||||||
BS_ISteamHTTP_ReleaseHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_ReleaseHTTPRequest@8"
|
BS_ISteamHTTP_ReleaseHTTPRequest%(pThis%, iRequest%) :"_BS_ISteamHTTP_ReleaseHTTPRequest@8"
|
||||||
BS_ISteamHTTP_GetHTTPDownloadProgressPct%(pThis%, iRequest%, pfPercent*) :"_BS_ISteamHTTP_GetHTTPDownloadProgressPct@12"
|
BS_ISteamHTTP_GetHTTPDownloadProgressPct%(pThis%, iRequest%, pfPercent*) :"_BS_ISteamHTTP_GetHTTPDownloadProgressPct@12"
|
||||||
BS_ISteamHTTP_GetHTTPDownloadProgressPctEx%(pThis%, iRequest%, pfPercent%) :"_BS_ISteamHTTP_GetHTTPDownloadProgressPct@12"
|
BS_ISteamHTTP_GetHTTPDownloadProgressPctEx%(pThis%, iRequest%, pfPercent%) :"_BS_ISteamHTTP_GetHTTPDownloadProgressPct@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestRawPostBody%(pThis%, iRequest%, cType$, pBody*, nSize%):"_BS_ISteamHTTP_SetHTTPRequestRawPostBody@16"
|
BS_ISteamHTTP_SetHTTPRequestRawPostBody%(pThis%, iRequest%, cType$, pBody*, nSize%):"_BS_ISteamHTTP_SetHTTPRequestRawPostBody@16"
|
||||||
BS_ISteamHTTP_SetHTTPRequestRawPostBodyEx%(pThis%, iRequest%, cType$, pBody*, nSize%):"_BS_ISteamHTTP_SetHTTPRequestRawPostBody@16"
|
BS_ISteamHTTP_SetHTTPRequestRawPostBodyEx%(pThis%, iRequest%, cType$, pBody*, nSize%):"_BS_ISteamHTTP_SetHTTPRequestRawPostBody@16"
|
||||||
BS_ISteamHTTP_CreateCookieContainer%(pThis%, bAllowResponsesToModify%) :"_BS_ISteamHTTP_CreateCookieContainer@8"
|
BS_ISteamHTTP_CreateCookieContainer%(pThis%, bAllowResponsesToModify%) :"_BS_ISteamHTTP_CreateCookieContainer@8"
|
||||||
BS_ISteamHTTP_ReleaseCookieContainer%(pThis%, iCookieContainer%) :"_BS_ISteamHTTP_ReleaseCookieContainer@8"
|
BS_ISteamHTTP_ReleaseCookieContainer%(pThis%, iCookieContainer%) :"_BS_ISteamHTTP_ReleaseCookieContainer@8"
|
||||||
BS_ISteamHTTP_SetCookie%(pthis%, iCookieContainer%, cHost$, cUrl$, cCookie$) :"_BS_ISteamHTTP_SetCookie@20"
|
BS_ISteamHTTP_SetCookie%(pthis%, iCookieContainer%, cHost$, cUrl$, cCookie$) :"_BS_ISteamHTTP_SetCookie@20"
|
||||||
BS_ISteamHTTP_SetHTTPRequestCookieContainer%(pThis%, iRequest%, iCookieContainer%):"_BS_ISteamHTTP_SetHTTPRequestCookieContainer@12"
|
BS_ISteamHTTP_SetHTTPRequestCookieContainer%(pThis%, iRequest%, iCookieContainer%):"_BS_ISteamHTTP_SetHTTPRequestCookieContainer@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestUserAgentInfo%(pThis%, iRequest%, cUserAgent$) :"_BS_ISteamHTTP_SetHTTPRequestUserAgentInfo@12"
|
BS_ISteamHTTP_SetHTTPRequestUserAgentInfo%(pThis%, iRequest%, cUserAgent$) :"_BS_ISteamHTTP_SetHTTPRequestUserAgentInfo@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate%(pThis%, iRequest%, bRequire%):"_BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate@12"
|
BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate%(pThis%, iRequest%, bRequire%):"_BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate@12"
|
||||||
BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS%(pThis%, iRequest%, iMilliseconds%):"_BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS@12"
|
BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS%(pThis%, iRequest%, iMilliseconds%):"_BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS@12"
|
||||||
BS_ISteamHTTP_GetHTTPRequestWasTimedOut%(pThis%, iRequest%, pbWasTimedOut*) :"_BS_ISteamHTTP_GetHTTPRequestWasTimedOut@12"
|
BS_ISteamHTTP_GetHTTPRequestWasTimedOut%(pThis%, iRequest%, pbWasTimedOut*) :"_BS_ISteamHTTP_GetHTTPRequestWasTimedOut@12"
|
||||||
BS_ISteamHTTP_GetHTTPRequestWasTimedOutEx%(pThis%, iRequest%, pbWasTimedOut%) :"_BS_ISteamHTTP_GetHTTPRequestWasTimedOut@12"
|
BS_ISteamHTTP_GetHTTPRequestWasTimedOutEx%(pThis%, iRequest%, pbWasTimedOut%) :"_BS_ISteamHTTP_GetHTTPRequestWasTimedOut@12"
|
||||||
@@ -1,59 +1,59 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Inventory -------------------------------------------------------------------
|
; Inventory -------------------------------------------------------------------
|
||||||
BS_SteamInventory%() :"_BS_SteamInventory@0"
|
BS_SteamInventory%() :"_BS_SteamInventory@0"
|
||||||
BS_SteamGameServerInventory%() :"_BS_SteamGameServerInventory@0"
|
BS_SteamGameServerInventory%() :"_BS_SteamGameServerInventory@0"
|
||||||
BS_ISteamInventory_GetResultStatus%(pThis%, iResultHandle%) :"_BS_ISteamInventory_GetResultStatus@8"
|
BS_ISteamInventory_GetResultStatus%(pThis%, iResultHandle%) :"_BS_ISteamInventory_GetResultStatus@8"
|
||||||
BS_ISteamInventory_GetResultItems%(pThis%, iResultHandle%, pItemsArray*, piItemsArraySize*):"_BS_ISteamInventory_GetResultItems@16"
|
BS_ISteamInventory_GetResultItems%(pThis%, iResultHandle%, pItemsArray*, piItemsArraySize*):"_BS_ISteamInventory_GetResultItems@16"
|
||||||
BS_ISteamInventory_GetResultItemsEx%(pThis%, iResultHandle%, pItemsArray%, piItemsArraySize%):"_BS_ISteamInventory_GetResultItems@16"
|
BS_ISteamInventory_GetResultItemsEx%(pThis%, iResultHandle%, pItemsArray%, piItemsArraySize%):"_BS_ISteamInventory_GetResultItems@16"
|
||||||
BS_ISteamInventory_GetResultTimestamp%(pThis%, iResultHandle%) :"_BS_ISteamInventory_GetResultTimestamp@8"
|
BS_ISteamInventory_GetResultTimestamp%(pThis%, iResultHandle%) :"_BS_ISteamInventory_GetResultTimestamp@8"
|
||||||
BS_ISteamInventory_CheckResultSteamID%(pThis%, iResultHandle%, lSteamIdExpected%):"_BS_ISteamInventory_GetResultTimestamp@12"
|
BS_ISteamInventory_CheckResultSteamID%(pThis%, iResultHandle%, lSteamIdExpected%):"_BS_ISteamInventory_GetResultTimestamp@12"
|
||||||
BS_ISteamInventory_DestroyResult(pThis%, iResultHandle%) :"_BS_ISteamInventory_DestroyResult@8"
|
BS_ISteamInventory_DestroyResult(pThis%, iResultHandle%) :"_BS_ISteamInventory_DestroyResult@8"
|
||||||
BS_ISteamInventory_GetAllItems%(pThis%, piResultHandle*) :"_BS_ISteamInventory_GetAllItems@8"
|
BS_ISteamInventory_GetAllItems%(pThis%, piResultHandle*) :"_BS_ISteamInventory_GetAllItems@8"
|
||||||
BS_ISteamInventory_GetAllItemsEx%(pThis%, piResultHandle%) :"_BS_ISteamInventory_GetAllItems@8"
|
BS_ISteamInventory_GetAllItemsEx%(pThis%, piResultHandle%) :"_BS_ISteamInventory_GetAllItems@8"
|
||||||
BS_ISteamInventory_GetItemsByID%(pThis%, piResultHandle*, plInstanceIds*, iInstanceIdCount%):"_BS_ISteamInventory_GetItemsByID@16"
|
BS_ISteamInventory_GetItemsByID%(pThis%, piResultHandle*, plInstanceIds*, iInstanceIdCount%):"_BS_ISteamInventory_GetItemsByID@16"
|
||||||
BS_ISteamInventory_GetItemsByIDEx%(pThis%, piResultHandle%, plInstanceIds%, iInstanceIdCount%):"_BS_ISteamInventory_GetItemsByID@16"
|
BS_ISteamInventory_GetItemsByIDEx%(pThis%, piResultHandle%, plInstanceIds%, iInstanceIdCount%):"_BS_ISteamInventory_GetItemsByID@16"
|
||||||
BS_ISteamInventory_SerializeResult%(pThis%, iResultHandle%, pOutBuffer*, piOutBufferSize*):"_BS_ISteamInventory_SerializeResult@16"
|
BS_ISteamInventory_SerializeResult%(pThis%, iResultHandle%, pOutBuffer*, piOutBufferSize*):"_BS_ISteamInventory_SerializeResult@16"
|
||||||
BS_ISteamInventory_SerializeResultEx%(pThis%, iResultHandle%, pOutBuffer%, piOutBufferSize%):"_BS_ISteamInventory_SerializeResult@16"
|
BS_ISteamInventory_SerializeResultEx%(pThis%, iResultHandle%, pOutBuffer%, piOutBufferSize%):"_BS_ISteamInventory_SerializeResult@16"
|
||||||
BS_ISteamInventory_DeserializeResult%(pThis%, piResultHandle*, pBuffer*, iBufferSize%, bReservedMustBeFalse):"_BS_ISteamInventory_DeserializeResult@20"
|
BS_ISteamInventory_DeserializeResult%(pThis%, piResultHandle*, pBuffer*, iBufferSize%, bReservedMustBeFalse):"_BS_ISteamInventory_DeserializeResult@20"
|
||||||
BS_ISteamInventory_DeserializeResultEx%(pThis%, piResultHandle%, pBuffer%, iBufferSize%, bReservedMustBeFalse):"_BS_ISteamInventory_DeserializeResult@20"
|
BS_ISteamInventory_DeserializeResultEx%(pThis%, piResultHandle%, pBuffer%, iBufferSize%, bReservedMustBeFalse):"_BS_ISteamInventory_DeserializeResult@20"
|
||||||
BS_ISteamInventory_GenerateItems%(pThis%, piResultHandle*, piIdArray*, piQuantityArray*, iArrayLength%):"_BS_ISteamInventory_GenerateItems@20"
|
BS_ISteamInventory_GenerateItems%(pThis%, piResultHandle*, piIdArray*, piQuantityArray*, iArrayLength%):"_BS_ISteamInventory_GenerateItems@20"
|
||||||
BS_ISteamInventory_GenerateItemsEx%(pThis%, piResultHandle%, piIdArray%, piQuantityArray%, iArrayLength%):"_BS_ISteamInventory_GenerateItems@20"
|
BS_ISteamInventory_GenerateItemsEx%(pThis%, piResultHandle%, piIdArray%, piQuantityArray%, iArrayLength%):"_BS_ISteamInventory_GenerateItems@20"
|
||||||
BS_ISteamInventory_GrantPromoItems%(pThis%, piResultHandle*) :"_BS_ISteamInventory_GrantPromoItems@8"
|
BS_ISteamInventory_GrantPromoItems%(pThis%, piResultHandle*) :"_BS_ISteamInventory_GrantPromoItems@8"
|
||||||
BS_ISteamInventory_GrantPromoItemsEx%(pThis%, piResultHandle%) :"_BS_ISteamInventory_GrantPromoItems@8"
|
BS_ISteamInventory_GrantPromoItemsEx%(pThis%, piResultHandle%) :"_BS_ISteamInventory_GrantPromoItems@8"
|
||||||
BS_ISteamInventory_AddPromoItem%(pThis%, piResultHandle*, iId%) :"_BS_ISteamInventory_AddPromoItem@12"
|
BS_ISteamInventory_AddPromoItem%(pThis%, piResultHandle*, iId%) :"_BS_ISteamInventory_AddPromoItem@12"
|
||||||
BS_ISteamInventory_AddPromoItemEx%(pThis%, piResultHandle%, iId%) :"_BS_ISteamInventory_AddPromoItem@12"
|
BS_ISteamInventory_AddPromoItemEx%(pThis%, piResultHandle%, iId%) :"_BS_ISteamInventory_AddPromoItem@12"
|
||||||
BS_ISteamInventory_AddPromoItems%(pThis%, piResultHandle*, piIdsArray*, iArrayLength%):"_BS_ISteamInventory_AddPromoItems@16"
|
BS_ISteamInventory_AddPromoItems%(pThis%, piResultHandle*, piIdsArray*, iArrayLength%):"_BS_ISteamInventory_AddPromoItems@16"
|
||||||
BS_ISteamInventory_AddPromoItemsEx%(pThis%, piResultHandle%, piIdsArray%, iArrayLength%):"_BS_ISteamInventory_AddPromoItems@16"
|
BS_ISteamInventory_AddPromoItemsEx%(pThis%, piResultHandle%, piIdsArray%, iArrayLength%):"_BS_ISteamInventory_AddPromoItems@16"
|
||||||
BS_ISteamInventory_ConsumeItem%(pThis%, piResultHandle*, iId%, iQuantity%) :"_BS_ISteamInventory_ConsumeItem@16"
|
BS_ISteamInventory_ConsumeItem%(pThis%, piResultHandle*, iId%, iQuantity%) :"_BS_ISteamInventory_ConsumeItem@16"
|
||||||
BS_ISteamInventory_ConsumeItemEx%(pThis%, piResultHandle%, iId%, iQuantity%) :"_BS_ISteamInventory_ConsumeItem@16"
|
BS_ISteamInventory_ConsumeItemEx%(pThis%, piResultHandle%, iId%, iQuantity%) :"_BS_ISteamInventory_ConsumeItem@16"
|
||||||
BS_ISteamInventory_ExchangeItems%(pThis%, piResultHandle*, piGenerateArray*, piGenerateQuantityArray*, iArrayGenerateLength%, piDestroyArray*, piDestroyQuantityArray*, iArrayDestroyLength%):"_BS_ISteamInventory_ExchangeItems@32"
|
BS_ISteamInventory_ExchangeItems%(pThis%, piResultHandle*, piGenerateArray*, piGenerateQuantityArray*, iArrayGenerateLength%, piDestroyArray*, piDestroyQuantityArray*, iArrayDestroyLength%):"_BS_ISteamInventory_ExchangeItems@32"
|
||||||
BS_ISteamInventory_ExchangeItemsEx%(pThis%, piResultHandle%, piGenerateArray%, piGenerateQuantityArray%, iArrayGenerateLength%, piDestroyArray%, piDestroyQuantityArray%, iArrayDestroyLength%):"_BS_ISteamInventory_ExchangeItems@32"
|
BS_ISteamInventory_ExchangeItemsEx%(pThis%, piResultHandle%, piGenerateArray%, piGenerateQuantityArray%, iArrayGenerateLength%, piDestroyArray%, piDestroyQuantityArray%, iArrayDestroyLength%):"_BS_ISteamInventory_ExchangeItems@32"
|
||||||
BS_ISteamInventory_TransferItemQuantity%(pThis%, piResultHandle*, iSourceId%, iQuantity%, iDestId%):"_BS_ISteamInventory_TransferItemQuantity@20"
|
BS_ISteamInventory_TransferItemQuantity%(pThis%, piResultHandle*, iSourceId%, iQuantity%, iDestId%):"_BS_ISteamInventory_TransferItemQuantity@20"
|
||||||
BS_ISteamInventory_TransferItemQuantityEx%(pThis%, piResultHandle%, iSourceId%, iQuantity%, iDestId%):"_BS_ISteamInventory_TransferItemQuantity@20"
|
BS_ISteamInventory_TransferItemQuantityEx%(pThis%, piResultHandle%, iSourceId%, iQuantity%, iDestId%):"_BS_ISteamInventory_TransferItemQuantity@20"
|
||||||
BS_ISteamInventory_SendItemDropHeartbeat%(pThis%) :"_BS_ISteamInventory_SendItemDropHeartbeat@4"
|
BS_ISteamInventory_SendItemDropHeartbeat%(pThis%) :"_BS_ISteamInventory_SendItemDropHeartbeat@4"
|
||||||
BS_ISteamInventory_TriggerItemDrop%(pThis%, piResultHandle*, iDropListId%) :"_BS_ISteamInventory_TriggerItemDrop@12"
|
BS_ISteamInventory_TriggerItemDrop%(pThis%, piResultHandle*, iDropListId%) :"_BS_ISteamInventory_TriggerItemDrop@12"
|
||||||
BS_ISteamInventory_TriggerItemDropEx%(pThis%, piResultHandle%, iDropListId%) :"_BS_ISteamInventory_TriggerItemDrop@12"
|
BS_ISteamInventory_TriggerItemDropEx%(pThis%, piResultHandle%, iDropListId%) :"_BS_ISteamInventory_TriggerItemDrop@12"
|
||||||
BS_ISteamInventory_TradeItems%(pThis%, piResultHandle*, lSteamIdPartner%, piArrayGive*, piArrayGiveQuantity*, iArrayGiveLength%, piArrayGet*, piArrayGetQuantity*, iArrayGetLength%):"_BS_ISteamInventory_TradeItems@36"
|
BS_ISteamInventory_TradeItems%(pThis%, piResultHandle*, lSteamIdPartner%, piArrayGive*, piArrayGiveQuantity*, iArrayGiveLength%, piArrayGet*, piArrayGetQuantity*, iArrayGetLength%):"_BS_ISteamInventory_TradeItems@36"
|
||||||
BS_ISteamInventory_TradeItemsEx%(pThis%, piResultHandle%, lSteamIdPartner%, piArrayGive%, piArrayGiveQuantity%, iArrayGiveLength%, piArrayGet%, piArrayGetQuantity%, iArrayGetLength%):"_BS_ISteamInventory_TradeItems@36"
|
BS_ISteamInventory_TradeItemsEx%(pThis%, piResultHandle%, lSteamIdPartner%, piArrayGive%, piArrayGiveQuantity%, iArrayGiveLength%, piArrayGet%, piArrayGetQuantity%, iArrayGetLength%):"_BS_ISteamInventory_TradeItems@36"
|
||||||
BS_ISteamInventory_LoadItemDefinitions%(pThis%) :"_BS_ISteamInventory_LoadItemDefinitions@4"
|
BS_ISteamInventory_LoadItemDefinitions%(pThis%) :"_BS_ISteamInventory_LoadItemDefinitions@4"
|
||||||
BS_ISteamInventory_GetItemDefinitionIDs%(pThis%, piArrayId*, piArrayIdSize*) :"_BS_ISteamInventory_GetItemDefinitionIDs@12"
|
BS_ISteamInventory_GetItemDefinitionIDs%(pThis%, piArrayId*, piArrayIdSize*) :"_BS_ISteamInventory_GetItemDefinitionIDs@12"
|
||||||
BS_ISteamInventory_GetItemDefinitionIDsEx%(pThis%, piArrayId%, piArrayIdSize%) :"_BS_ISteamInventory_GetItemDefinitionIDs@12"
|
BS_ISteamInventory_GetItemDefinitionIDsEx%(pThis%, piArrayId%, piArrayIdSize%) :"_BS_ISteamInventory_GetItemDefinitionIDs@12"
|
||||||
BS_ISteamInventory_GetItemDefinitionProperty%(pThis%, iId%, cName$, pcValueBuffer*, piValueBufferSize*):"_BS_ISteamInventory_GetItemDefinitionProperty@20"
|
BS_ISteamInventory_GetItemDefinitionProperty%(pThis%, iId%, cName$, pcValueBuffer*, piValueBufferSize*):"_BS_ISteamInventory_GetItemDefinitionProperty@20"
|
||||||
BS_ISteamInventory_GetItemDefinitionPropertyEx%(pThis%, iId%, cName$, pcValueBuffer%, piValueBufferSize%):"_BS_ISteamInventory_GetItemDefinitionProperty@20"
|
BS_ISteamInventory_GetItemDefinitionPropertyEx%(pThis%, iId%, cName$, pcValueBuffer%, piValueBufferSize%):"_BS_ISteamInventory_GetItemDefinitionProperty@20"
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Matchmaking -----------------------------------------------------------------
|
; Matchmaking -----------------------------------------------------------------
|
||||||
BS_SteamMatchmaking%() :"_BS_SteamMatchmaking@0"
|
BS_SteamMatchmaking%() :"_BS_SteamMatchmaking@0"
|
||||||
; Todo
|
; Todo
|
||||||
@@ -1,21 +1,42 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; MatchmakingServers ----------------------------------------------------------
|
; MatchmakingServers ----------------------------------------------------------
|
||||||
BS_SteamMatchmakingServers%() :"_BS_SteamMatchmakingServers@0"
|
BS_SteamMatchmakingServers%() :"_BS_SteamMatchmakingServers@0"
|
||||||
; Todo
|
BS_ISteamMatchmakingServers_RequestInternetServerList%(pThis%, iApp%, ppchFilters*, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestInternetServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestInternetServerListEx%(pThis%, iApp%, ppchFilters%, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestInternetServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestLANServerList%(pThis%, iApp%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestLANServerList@12"
|
||||||
|
BS_ISteamMatchmakingServers_RequestFriendsServerList%(pThis%, iApp%, ppchFilters*, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestFriendsServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestFriendsServerListEx%(pThis%, iApp%, ppchFilters%, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestFriendsServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestFavoritesServerList%(pThis%, iApp%, ppchFilters*, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestFavoritesServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestFavoritesServerListEx%(pThis%, iApp%, ppchFilters%, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestFavoritesServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestHistoryServerList%(pThis%, iApp%, ppchFilters*, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestHistoryServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestHistoryServerListEx%(pThis%, iApp%, ppchFilters%, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestHistoryServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestSpectatorServerList%(pThis%, iApp%, ppchFilters*, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestSpectatorServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_RequestSpectatorServerListEx%(pThis%, iApp%, ppchFilters%, nFilters%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_RequestSpectatorServerList@20"
|
||||||
|
BS_ISteamMatchmakingServers_ReleaseRequest%(pThis%, hServerListRequest%) :"_BS_ISteamMatchmakingServers_ReleaseRequest@8"
|
||||||
|
BS_ISteamMatchmakingServers_GetServerDetails%(pThis%, hRequest%, iServer%) :"_BS_ISteamMatchmakingServers_GetServerDetails@12"
|
||||||
|
BS_ISteamMatchmakingServers_CancelQuery%(pThis%, hRequest%) :"_BS_ISteamMatchmakingServers_CancelQuery@8"
|
||||||
|
BS_ISteamMatchmakingServers_RefreshQuery%(pThis%, hRequest%) :"_BS_ISteamMatchmakingServers_RefreshQuery@8"
|
||||||
|
BS_ISteamMatchmakingServers_IsRefreshing%(pThis%, hRequest%) :"_BS_ISteamMatchmakingServers_IsRefreshing@8"
|
||||||
|
BS_ISteamMatchmakingServers_GetServerCount%(pThis%, hRequest%) :"_BS_ISteamMatchmakingServers_GetServerCount@8"
|
||||||
|
BS_ISteamMatchmakingServers_RefreshServer%(pThis%, hRequest%) :"_BS_ISteamMatchmakingServers_RefreshServer@8"
|
||||||
|
BS_ISteamMatchmakingServers_PingServer%(pThis%, unIP%, usPort%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_PingServer@16"
|
||||||
|
BS_ISteamMatchmakingServers_PlayerDetails%(pThis%, unIP%, usPort%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_PlayerDetails@16"
|
||||||
|
BS_ISteamMatchmakingServers_ServerRules%(pThis%, unIP%, usPort%, pRequestServersResponse%):"_BS_ISteamMatchmakingServers_ServerRules@16"
|
||||||
|
BS_ISteamMatchmakingServers_CancelServerQuery%(pThis%, hServerQuery) :"_BS_ISteamMatchmakingServers_CancelServerQuery@8"
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
;
|
||||||
|
; This program 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.
|
||||||
|
;
|
||||||
|
; This program 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 General Public License for more details.
|
||||||
|
;
|
||||||
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
|
; ISteamMatchmakingServerListResponse -----------------------------------------
|
||||||
|
BS_ISteamMatchmakingServerListResponse_New%(Data%, pServerResponded%, pServerFailedToRespond%, pRefreshComplete%):"_BS_ISteamMatchmakingServerListResponse_New@16"
|
||||||
|
BS_ISteamMatchmakingServerListResponse_Destroy%(pThis%):"_BS_ISteamMatchmakingServerListResponse_Destroy@4"
|
||||||
|
;- Callback pServerResponded: Function(Data%, hRequest%, iServer%)
|
||||||
|
;- Callback pServerFailedToRespond: Function(Data%, hRequest%, iServer%)
|
||||||
|
;- Callback pRefreshComplete: Function(Data%)
|
||||||
|
|
||||||
|
; ISteamMatchmakingPingResponse -----------------------------------------------
|
||||||
|
BS_ISteamMatchmakingPingResponse_New%(Data%, pServerResponded%, pServerFailedToRespond%):"_BS_ISteamMatchmakingPingResponse_New@12"
|
||||||
|
BS_ISteamMatchmakingPingResponse_Destroy%(pThis%):"_BS_ISteamMatchmakingPingResponse_Destroy@4"
|
||||||
|
;- Callback pServerResponded: Function(Data%, TGameServerItem%)
|
||||||
|
;- Callback pServerFailedToRespond: Function(Data%)
|
||||||
|
|
||||||
|
; ISteamMatchmakingPlayersResponse --------------------------------------------
|
||||||
|
BS_ISteamMatchmakingPlayersResponse_New%(Data%, pAddPlayerToList%, pPlayersFailedToRespond%, pPlayersRefreshComplete%):"_BS_ISteamMatchmakingPlayersResponse_New@16"
|
||||||
|
BS_ISteamMatchmakingPlayersResponse_Destroy%(pThis%):"_BS_ISteamMatchmakingPlayersResponse_Destroy@4"
|
||||||
|
;- Callback pAddPlayerToList: Function(Data%, pchName%, nScore%, flTimePlayer#)
|
||||||
|
;- Callback pPlayersFailedToRespond: Function(Data%)
|
||||||
|
;- Callback pPlayersRefreshComplete: Function(Data%)
|
||||||
|
|
||||||
|
; ISteamMatchmakingRulesResponse ----------------------------------------------
|
||||||
|
BS_ISteamMatchmakingRulesResponse_New%(Data%, pRulesResponded%, pRulesFailedToRespond%, pRulesRefreshComplete%):"_BS_ISteamMatchmakingRulesResponse_New@16"
|
||||||
|
BS_ISteamMatchmakingRulesResponse_Destroy%(pThis%):"_BS_ISteamMatchmakingPlayersResponse_Destroy@4"
|
||||||
|
;- Callback pRulesResponded: Function(Data%, pchRule%, pchValue%)
|
||||||
|
;- Callback pRulesFailedToRespond: Function(Data%)
|
||||||
|
;- Callback pRulesRefreshComplete: Function(Data%)
|
||||||
|
|
||||||
|
; TGameServerItem -------------------------------------------------------------
|
||||||
|
BS_TGameServerItem_GetName$(pThis%) :"_BS_TGameServerItem_GetName@4"
|
||||||
|
BS_TGameServerItem_SetName(pThis%, cName$) :"_BS_TGameServerItem_SetName@8"
|
||||||
|
BS_TGameServerItem_NetAdr%(pThis%) :"_BS_TGameServerItem_NetAdr@4"
|
||||||
|
BS_TGameServerItem_Ping%(pThis%) :"_BS_TGameServerItem_Ping@4"
|
||||||
|
BS_TGameServerItem_HadSuccessfulResponse%(pThis%) :"_BS_TGameServerItem_HadSuccessfulResponse@4"
|
||||||
|
BS_TGameServerItem_DoNotRefresh%(pThis%) :"_BS_TGameServerItem_DoNotRefresh@4"
|
||||||
|
BS_TGameServerItem_GameDir$(pThis%) :"_BS_TGameServerItem_GameDir@4"
|
||||||
|
BS_TGameServerItem_Map$(pThis%) :"_BS_TGameServerItem_Map@4"
|
||||||
|
BS_TGameServerItem_GameDescription$(pThis%) :"_BS_TGameServerItem_GameDescription@4"
|
||||||
|
BS_TGameServerItem_AppId%(pThis%) :"_BS_TGameServerItem_AppId@4"
|
||||||
|
BS_TGameServerItem_Players%(pThis%) :"_BS_TGameServerItem_Players@4"
|
||||||
|
BS_TGameServerItem_MaxPlayers%(pThis%) :"_BS_TGameServerItem_MaxPlayers@4"
|
||||||
|
BS_TGameServerItem_BotPlayers%(pThis%) :"_BS_TGameServerItem_BotPlayers@4"
|
||||||
|
BS_TGameServerItem_Password%(pThis%) :"_BS_TGameServerItem_Password@4"
|
||||||
|
BS_TGameServerItem_Secure%(pThis%) :"_BS_TGameServerItem_Secure@4"
|
||||||
|
BS_TGameServerItem_TimeLastPlayed%(pThis%) :"_BS_TGameServerItem_TimeLastPlayed@4"
|
||||||
|
BS_TGameServerItem_ServerVersion%(pThis%) :"_BS_TGameServerItem_ServerVersion@4"
|
||||||
|
BS_TGameServerItem_GameTags$(pThis%) :"_BS_TGameServerItem_GameTags@4"
|
||||||
|
BS_TGameServerItem_SteamID%(pThis%) :"_BS_TGameServerItem_SteamID@4"
|
||||||
|
|
||||||
|
; TServerNetAdr ---------------------------------------------------------------
|
||||||
|
BS_TServerNetAdr_Set(pThis%, pThat%) :"_BS_TServerNetAdr_Set@8"
|
||||||
|
BS_TServerNetAdr_Init(pThis%, iIP%, iQueryPort%, iConnectionPort%) :"_BS_TServerNetAdr_Init@16"
|
||||||
|
BS_TServerNetAdr_GetQueryPort%(pThis%) :"_BS_TServerNetAdr_GetQueryPort@4"
|
||||||
|
BS_TServerNetAdr_SetQueryPort(pThis%, iPort%) :"_BS_TServerNetAdr_SetQueryPort@8"
|
||||||
|
BS_TServerNetAdr_GetConnectionPort%(pThis%) :"_BS_TServerNetAdr_GetConnectionPort@4"
|
||||||
|
BS_TServerNetAdr_SetConnectionPort(pThis%, iPort%) :"_BS_TServerNetAdr_SetConnectionPort@8"
|
||||||
|
BS_TServerNetAdr_GetIP%(pThis%) :"_BS_TServerNetAdr_GetIP@4"
|
||||||
|
BS_TServerNetAdr_SetIP(pThis%, iIP%) :"_BS_TServerNetAdr_SetIP@8"
|
||||||
|
BS_TServerNetAdr_GetConnectionAddressString$(pThis%) :"_BS_TServerNetAdr_GetConnectionAddressString@4"
|
||||||
|
BS_TServerNetAdr_GetQueryAddressString$(pThis%) :"_BS_TServerNetAdr_GetQueryAddressString@4"
|
||||||
|
BS_TServerNetAdr_Compare%(pThis%, pThat%) :"_BS_TServerNetAdr_Compare@8"
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Music -----------------------------------------------------------------------
|
; Music -----------------------------------------------------------------------
|
||||||
BS_SteamMusic%() :"_BS_SteamMusic@0"
|
BS_SteamMusic%() :"_BS_SteamMusic@0"
|
||||||
; Todo
|
; Todo
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; MusicRemote -----------------------------------------------------------------
|
; MusicRemote -----------------------------------------------------------------
|
||||||
BS_SteamMusicRemote%() :"_BS_SteamMusicRemote@0"
|
BS_SteamMusicRemote%() :"_BS_SteamMusicRemote@0"
|
||||||
; Todo
|
; Todo
|
||||||
|
|||||||
@@ -1,32 +1,32 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Networking ------------------------------------------------------------------
|
; Networking ------------------------------------------------------------------
|
||||||
BS_SteamNetworking%() :"_BS_SteamNetworking@0"
|
BS_SteamNetworking%() :"_BS_SteamNetworking@0"
|
||||||
BS_SteamGameServerNetworking%() :"_BS_SteamGameServerNetworking@0"
|
BS_SteamGameServerNetworking%() :"_BS_SteamGameServerNetworking@0"
|
||||||
BS_ISteamNetworking_SendP2PPacket%(pThis%, lRemoteSteamId%, pData*, iDataSize%, EP2PSendType%, iChannel%):"_BS_ISteamNetworking_SendP2PPacket@24"
|
BS_ISteamNetworking_SendP2PPacket%(pThis%, lRemoteSteamId%, pData*, iDataSize%, EP2PSendType%, iChannel%):"_BS_ISteamNetworking_SendP2PPacket@24"
|
||||||
BS_ISteamNetworking_SendP2PPacketEx%(pThis%, lRemoteSteamId%, pData%, iDataSize%, EP2PSendType%, iChannel%):"_BS_ISteamNetworking_SendP2PPacket@24"
|
BS_ISteamNetworking_SendP2PPacketEx%(pThis%, lRemoteSteamId%, pData%, iDataSize%, EP2PSendType%, iChannel%):"_BS_ISteamNetworking_SendP2PPacket@24"
|
||||||
BS_ISteamNetworking_IsP2PPacketAvailable%(pThis%, piSize*, iChannel%) :"_BS_ISteamNetworking_IsP2PPacketAvailable@12"
|
BS_ISteamNetworking_IsP2PPacketAvailable%(pThis%, piSize*, iChannel%) :"_BS_ISteamNetworking_IsP2PPacketAvailable@12"
|
||||||
BS_ISteamNetworking_IsP2PPacketAvailableEx%(pThis%, piSize%, iChannel%) :"_BS_ISteamNetworking_IsP2PPacketAvailableEx@12"
|
BS_ISteamNetworking_IsP2PPacketAvailableEx%(pThis%, piSize%, iChannel%) :"_BS_ISteamNetworking_IsP2PPacketAvailable@12"
|
||||||
BS_ISteamNetworking_ReadP2PPacket%(pThis%, pBuffer*, iBufferSize%, piMessageSize*, lRemoteSteamId%, iChannel%):"_BS_ISteamNetworking_ReadP2PPacket@24"
|
BS_ISteamNetworking_ReadP2PPacket%(pThis%, pBuffer*, iBufferSize%, piMessageSize*, plRemoteSteamId*, iChannel%):"_BS_ISteamNetworking_ReadP2PPacket@24"
|
||||||
BS_ISteamNetworking_ReadP2PPacketEx%(pThis%, pBuffer%, iBufferSize%, piMessageSize%, lRemoteSteamId%, iChannel%):"_BS_ISteamNetworking_ReadP2PPacket@24"
|
BS_ISteamNetworking_ReadP2PPacketEx%(pThis%, pBuffer%, iBufferSize%, piMessageSize%, plRemoteSteamId%, iChannel%):"_BS_ISteamNetworking_ReadP2PPacket@24"
|
||||||
BS_ISteamNetworking_AcceptP2PSessionWithUser%(pThis%, lRemoteSteamId%) :"_BS_ISteamNetworking_AcceptP2PSessionWithUser@8"
|
BS_ISteamNetworking_AcceptP2PSessionWithUser%(pThis%, lRemoteSteamId%) :"_BS_ISteamNetworking_AcceptP2PSessionWithUser@8"
|
||||||
BS_ISteamNetworking_CloseP2PSessionWithUser%(pThis%, lRemoteSteamId%) :"_BS_ISteamNetworking_CloseP2PSessionWithUser@8"
|
BS_ISteamNetworking_CloseP2PSessionWithUser%(pThis%, lRemoteSteamId%) :"_BS_ISteamNetworking_CloseP2PSessionWithUser@8"
|
||||||
BS_ISteamNetworking_CloseP2PChannelWithUser%(pThis%, lRemoteSteamId%, iChannel%):"_BS_ISteamNetworking_CloseP2PChannelWithUser@12"
|
BS_ISteamNetworking_CloseP2PChannelWithUser%(pThis%, lRemoteSteamId%, iChannel%):"_BS_ISteamNetworking_CloseP2PChannelWithUser@12"
|
||||||
BS_ISteamNetworking_GetP2PSessionState%(pThis%, lRemoteSteamId%, pConnectionState*):"_BS_ISteamNetworking_GetP2PSessionState@12"
|
BS_ISteamNetworking_GetP2PSessionState%(pThis%, lRemoteSteamId%, pConnectionState*):"_BS_ISteamNetworking_GetP2PSessionState@12"
|
||||||
BS_ISteamNetworking_AllowP2PPacketRelay%(pThis%, bAllow%) :"_BS_ISteamNetworking_AllowP2PPacketRelay@8"
|
BS_ISteamNetworking_AllowP2PPacketRelay%(pThis%, bAllow%) :"_BS_ISteamNetworking_AllowP2PPacketRelay@8"
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; RemoteStorage ---------------------------------------------------------------
|
; RemoteStorage ---------------------------------------------------------------
|
||||||
BS_SteamRemoteStorage%() :"_BS_SteamRemoteStorage@0"
|
BS_SteamRemoteStorage%() :"_BS_SteamRemoteStorage@0"
|
||||||
; Todo
|
; Todo
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Screenshots -----------------------------------------------------------------
|
; Screenshots -----------------------------------------------------------------
|
||||||
BS_SteamScreenshots%() :"_BS_SteamScreenshots@0"
|
BS_SteamScreenshots%() :"_BS_SteamScreenshots@0"
|
||||||
; Todo
|
; Todo
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; UGC -------------------------------------------------------------------------
|
; UGC -------------------------------------------------------------------------
|
||||||
BS_SteamUGC%() :"_BS_SteamUGC@0"
|
BS_SteamUGC%() :"_BS_SteamUGC@0"
|
||||||
BS_SteamGameServerUGC%() :"_BS_SteamGameServerUGC@0"
|
BS_SteamGameServerUGC%() :"_BS_SteamGameServerUGC@0"
|
||||||
; Todo
|
; Todo
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; UnifiedMessages -------------------------------------------------------------
|
; UnifiedMessages -------------------------------------------------------------
|
||||||
BS_SteamUnifiedMessages%() :"_BS_SteamUnifiedMessages@0"
|
BS_SteamUnifiedMessages%() :"_BS_SteamUnifiedMessages@0"
|
||||||
|
|||||||
@@ -1,49 +1,49 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; User ------------------------------------------------------------------------
|
; User ------------------------------------------------------------------------
|
||||||
BS_SteamUser%() :"_BS_SteamUser@0"
|
BS_SteamUser%() :"_BS_SteamUser@0"
|
||||||
BS_ISteamUser_GetHSteamUser%(pThis%) :"_BS_ISteamUser_GetHSteamUser@4"
|
BS_ISteamUser_GetHSteamUser%(pThis%) :"_BS_ISteamUser_GetHSteamUser@4"
|
||||||
BS_ISteamUser_IsLoggedOn%(pThis%) :"_BS_ISteamUser_IsLoggedOn@4"
|
BS_ISteamUser_IsLoggedOn%(pThis%) :"_BS_ISteamUser_IsLoggedOn@4"
|
||||||
BS_ISteamUser_GetSteamID%(pThis%) :"_BS_ISteamUser_GetSteamID@4"
|
BS_ISteamUser_GetSteamID%(pThis%) :"_BS_ISteamUser_GetSteamID@4"
|
||||||
BS_ISteamUser_InitiateGameConnection%(pThis%, pAuthBlob*, iAuthBlobSize%, lSteamId%, iIp%, sPort%, bSecure%):"_BS_ISteamUser_InitiateGameConnection@28"
|
BS_ISteamUser_InitiateGameConnection%(pThis%, pAuthBlob*, iAuthBlobSize%, lSteamId%, iIp%, sPort%, bSecure%):"_BS_ISteamUser_InitiateGameConnection@28"
|
||||||
BS_ISteamUser_InitiateGameConnectionEx%(pThis%, pAuthBlob%, iAuthBlobSize%, lSteamId%, iIp%, sPort%, bSecure%):"_BS_ISteamUser_InitiateGameConnection@28"
|
BS_ISteamUser_InitiateGameConnectionEx%(pThis%, pAuthBlob%, iAuthBlobSize%, lSteamId%, iIp%, sPort%, bSecure%):"_BS_ISteamUser_InitiateGameConnection@28"
|
||||||
BS_ISteamUser_TerminateGameConnection(pThis%, iIp%, sPort%) :"_BS_ISteamUser_TerminateGameConnection@12"
|
BS_ISteamUser_TerminateGameConnection(pThis%, iIp%, sPort%) :"_BS_ISteamUser_TerminateGameConnection@12"
|
||||||
BS_ISteamUser_TrackAppUsageEvent(pThis%, iAppId%, EAppUsageEvent%, cExtraInfo$) :"_BS_ISteamUser_TrackAppUsageEvent@16"
|
BS_ISteamUser_TrackAppUsageEvent(pThis%, iAppId%, EAppUsageEvent%, cExtraInfo$) :"_BS_ISteamUser_TrackAppUsageEvent@16"
|
||||||
BS_ISteamUser_GetUserDataFolder%(pThis%, pBuffer*, iBufferSize%) :"_BS_ISteamUser_GetUserDataFolder@12"
|
BS_ISteamUser_GetUserDataFolder%(pThis%, pBuffer*, iBufferSize%) :"_BS_ISteamUser_GetUserDataFolder@12"
|
||||||
BS_ISteamUser_StartVoiceRecording(pThis%) :"_BS_ISteamUser_StartVoiceRecording@4"
|
BS_ISteamUser_StartVoiceRecording(pThis%) :"_BS_ISteamUser_StartVoiceRecording@4"
|
||||||
BS_ISteamUser_StopVoiceRecording(pThis%) :"_BS_ISteamUser_StopVoiceRecording@4"
|
BS_ISteamUser_StopVoiceRecording(pThis%) :"_BS_ISteamUser_StopVoiceRecording@4"
|
||||||
BS_ISteamUser_GetAvailableVoice%(pThis%, pCompressed*, pUncompressed*, nDesiredSampleRate%):"_BS_ISteamUser_GetAvailableVoice@16"
|
BS_ISteamUser_GetAvailableVoice%(pThis%, pCompressed*, pUncompressed*, nDesiredSampleRate%):"_BS_ISteamUser_GetAvailableVoice@16"
|
||||||
BS_ISteamUser_GetAvailableVoiceEx%(pThis%, pCompressed%, pUncompressed%, nDesiredSampleRate%):"_BS_ISteamUser_GetAvailableVoice@16"
|
BS_ISteamUser_GetAvailableVoiceEx%(pThis%, pCompressed%, pUncompressed%, nDesiredSampleRate%):"_BS_ISteamUser_GetAvailableVoice@16"
|
||||||
BS_ISteamUser_GetVoice%(pThis%, bCompressed%, pCompressed*, iCompressedSize%, piCompressedBytesWritten*, bUncompressed%, pUncompressed*, iUncompressedSize%, piUncompressedBytesWritten*, iSampleRate%):"_BS_ISteamUser_GetVoice@36"
|
BS_ISteamUser_GetVoice%(pThis%, bCompressed%, pCompressed*, iCompressedSize%, piCompressedBytesWritten*, bUncompressed%, pUncompressed*, iUncompressedSize%, piUncompressedBytesWritten*, iSampleRate%):"_BS_ISteamUser_GetVoice@36"
|
||||||
BS_ISteamUser_GetVoiceEx%(pThisEx%, bCompressed%, pCompressed%, iCompressedSize%, piCompressedBytesWritten%, bUncompressed%, pUncompressed%, iUncompressedSize%, piUncompressedBytesWritten%, iSampleRate%):"_BS_ISteamUser_GetVoice@36"
|
BS_ISteamUser_GetVoiceEx%(pThisEx%, bCompressed%, pCompressed%, iCompressedSize%, piCompressedBytesWritten%, bUncompressed%, pUncompressed%, iUncompressedSize%, piUncompressedBytesWritten%, iSampleRate%):"_BS_ISteamUser_GetVoice@36"
|
||||||
BS_ISteamUser_DecompressVoice(pThis%, pCompressed*, iCompressedSize%, pUncompressed*, iUncompressedSize%, iUncompressedBytesWritten*, iSampleRate%):"_BS_ISteamUser_DecompressVoice@28"
|
BS_ISteamUser_DecompressVoice(pThis%, pCompressed*, iCompressedSize%, pUncompressed*, iUncompressedSize%, iUncompressedBytesWritten*, iSampleRate%):"_BS_ISteamUser_DecompressVoice@28"
|
||||||
BS_ISteamUser_DecompressVoiceEx(pThis%, pCompressed*, iCompressedSize%, pUncompressed%, iUncompressedSize%, iUncompressedBytesWritten%, iSampleRate%):"_BS_ISteamUser_DecompressVoice@28"
|
BS_ISteamUser_DecompressVoiceEx(pThis%, pCompressed*, iCompressedSize%, pUncompressed%, iUncompressedSize%, iUncompressedBytesWritten%, iSampleRate%):"_BS_ISteamUser_DecompressVoice@28"
|
||||||
BS_ISteamUser_GetVoiceOptimalSampleRate%(pThis%) :"_BS_ISteamUser_GetVoiceOptimalSampleRate@4"
|
BS_ISteamUser_GetVoiceOptimalSampleRate%(pThis%) :"_BS_ISteamUser_GetVoiceOptimalSampleRate@4"
|
||||||
BS_ISteamUser_GetAuthSessionTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamUser_GetAuthSessionTicket@12"
|
BS_ISteamUser_GetAuthSessionTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamUser_GetAuthSessionTicket@16"
|
||||||
BS_ISteamUser_BeginAuthSession%(pThis%, pAuthTicket*, iAuthTicketSize%, lSteamId%):"_BS_ISteamUser_BeginAuthSession@16"
|
BS_ISteamUser_BeginAuthSession%(pThis%, pAuthTicket*, iAuthTicketSize%, lSteamId%):"_BS_ISteamUser_BeginAuthSession@16"
|
||||||
BS_ISteamUser_EndAuthSession(pThis%, lSteamId%) :"_BS_ISteamUser_EndAuthSession@8"
|
BS_ISteamUser_EndAuthSession(pThis%, lSteamId%) :"_BS_ISteamUser_EndAuthSession@8"
|
||||||
BS_ISteamUser_CancelAuthTicket(pThis%, hAuthTicket%) :"_BS_ISteamUser_CancelAuthTicket@8"
|
BS_ISteamUser_CancelAuthTicket(pThis%, hAuthTicket%) :"_BS_ISteamUser_CancelAuthTicket@8"
|
||||||
BS_ISteamUser_UserHasLicenseForApp%(pThis%, lSteamId%, iAppId%) :"_BS_ISteamUser_UserHasLicenseForApp@12"
|
BS_ISteamUser_UserHasLicenseForApp%(pThis%, lSteamId%, iAppId%) :"_BS_ISteamUser_UserHasLicenseForApp@12"
|
||||||
BS_ISteamUser_IsBehindNAT%(pThis%) :"_BS_ISteamUser_IsBehindNAT@4"
|
BS_ISteamUser_IsBehindNAT%(pThis%) :"_BS_ISteamUser_IsBehindNAT@4"
|
||||||
BS_ISteamUser_AdvertiseGame%(pThis%, lSteamId%, iIp%, sPort%) :"_BS_ISteamUser_AdvertiseGame@16"
|
BS_ISteamUser_AdvertiseGame%(pThis%, lSteamId%, iIp%, sPort%) :"_BS_ISteamUser_AdvertiseGame@16"
|
||||||
BS_ISteamUser_RequestEncryptedAppTicket%(pThis%, pData*, iDataSize%) :"_BS_ISteamUser_RequestEncryptedAppTicket@12"
|
BS_ISteamUser_RequestEncryptedAppTicket%(pThis%, pData*, iDataSize%) :"_BS_ISteamUser_RequestEncryptedAppTicket@12"
|
||||||
BS_ISteamUser_GetEncryptedAppTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamUser_GetEncryptedAppTicket@16"
|
BS_ISteamUser_GetEncryptedAppTicket%(pThis%, pTicket*, iTicketSize%, piTicketSize*):"_BS_ISteamUser_GetEncryptedAppTicket@16"
|
||||||
BS_ISteamUser_GetGameBadgeLevel%(pThis%, iSeries%, bFoil%) :"_BS_ISteamUser_GetGameBadgeLevel@12"
|
BS_ISteamUser_GetGameBadgeLevel%(pThis%, iSeries%, bFoil%) :"_BS_ISteamUser_GetGameBadgeLevel@12"
|
||||||
BS_ISteamUser_GetPlayerSteamLevel%(pThis%) :"_BS_ISteamUser_GetPlayerSteamLevel@4"
|
BS_ISteamUser_GetPlayerSteamLevel%(pThis%) :"_BS_ISteamUser_GetPlayerSteamLevel@4"
|
||||||
BS_ISteamUser_RequestStoreAuthURL%(pThis%, cRedirectUrl$) :"_BS_ISteamUser_RequestStoreAuthURL@8"
|
BS_ISteamUser_RequestStoreAuthURL%(pThis%, cRedirectUrl$) :"_BS_ISteamUser_RequestStoreAuthURL@8"
|
||||||
@@ -1,77 +1,77 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; UserStats -------------------------------------------------------------------
|
; UserStats -------------------------------------------------------------------
|
||||||
BS_UserStats%() :"_BS_UserStats@0"
|
BS_UserStats%() :"_BS_UserStats@0"
|
||||||
BS_UserStats_RequestCurrentStats%(pThis%) :"_BS_UserStats_RequestCurrentStats@4"
|
BS_UserStats_RequestCurrentStats%(pThis%) :"_BS_UserStats_RequestCurrentStats@4"
|
||||||
BS_UserStats_GetStat%(pThis%, cName$, pData*) :"_BS_UserStats_GetStat@12"
|
BS_UserStats_GetStat%(pThis%, cName$, pData*) :"_BS_UserStats_GetStat@12"
|
||||||
BS_UserStats_GetStatEx%(pThis%, cName$, pData%) :"_BS_UserStats_GetStat@12"
|
BS_UserStats_GetStatEx%(pThis%, cName$, pData%) :"_BS_UserStats_GetStat@12"
|
||||||
BS_UserStats_GetStatF%(pThis%, cName$, pData*) :"_BS_UserStats_GetStatF@12"
|
BS_UserStats_GetStatF%(pThis%, cName$, pData*) :"_BS_UserStats_GetStatF@12"
|
||||||
BS_UserStats_GetStatFEx%(pThis%, cName$, pData%) :"_BS_UserStats_GetStatF@12"
|
BS_UserStats_GetStatFEx%(pThis%, cName$, pData%) :"_BS_UserStats_GetStatF@12"
|
||||||
BS_UserStats_SetStat%(pThis%, cName$, pData%) :"_BS_UserStats_SetStat@12"
|
BS_UserStats_SetStat%(pThis%, cName$, pData%) :"_BS_UserStats_SetStat@12"
|
||||||
BS_UserStats_SetStatF%(pThis%, cName$, pData#) :"_BS_UserStats_SetStatF@12"
|
BS_UserStats_SetStatF%(pThis%, cName$, pData#) :"_BS_UserStats_SetStatF@12"
|
||||||
BS_UserStats_UpdateAvgRateStat%(pThis%, cName$, fCountThisSession#, dSessionLength%):"_BS_UserStats_UpdateAvgRateStat@16"
|
BS_UserStats_UpdateAvgRateStat%(pThis%, cName$, fCountThisSession#, dSessionLength%):"_BS_UserStats_UpdateAvgRateStat@16"
|
||||||
BS_UserStats_GetAchievement%(pThis%, cName$, pbAchieved*) :"_BS_UserStats_GetAchievement@12"
|
BS_UserStats_GetAchievement%(pThis%, cName$, pbAchieved*) :"_BS_UserStats_GetAchievement@12"
|
||||||
BS_UserStats_GetAchievementEx%(pThis%, cName$, pbAchieved%) :"_BS_UserStats_GetAchievement@12"
|
BS_UserStats_GetAchievementEx%(pThis%, cName$, pbAchieved%) :"_BS_UserStats_GetAchievement@12"
|
||||||
BS_UserStats_SetAchievement%(pThis%, cName$) :"_BS_UserStats_SetAchievement@8"
|
BS_UserStats_SetAchievement%(pThis%, cName$) :"_BS_UserStats_SetAchievement@8"
|
||||||
BS_UserStats_ClearAchievement%(pThis%, cName$) :"_BS_UserStats_ClearAchievement@8"
|
BS_UserStats_ClearAchievement%(pThis%, cName$) :"_BS_UserStats_ClearAchievement@8"
|
||||||
BS_UserStats_GetAchievementAndUnlockTime%(pThis%, cName$, pbAchieved*, piUnlockTime*):"_BS_UserStats_GetAchievementAndUnlockTime@16"
|
BS_UserStats_GetAchievementAndUnlockTime%(pThis%, cName$, pbAchieved*, piUnlockTime*):"_BS_UserStats_GetAchievementAndUnlockTime@16"
|
||||||
BS_UserStats_GetAchievementAndUnlockTimeEx%(pThis%, cName$, pbAchieved%, piUnlockTime%):"_BS_UserStats_GetAchievementAndUnlockTime@16"
|
BS_UserStats_GetAchievementAndUnlockTimeEx%(pThis%, cName$, pbAchieved%, piUnlockTime%):"_BS_UserStats_GetAchievementAndUnlockTime@16"
|
||||||
BS_UserStats_StoreStats%(pThis%) :"_BS_UserStats_StoreStats@4"
|
BS_UserStats_StoreStats%(pThis%) :"_BS_UserStats_StoreStats@4"
|
||||||
BS_UserStats_GetAchievementIcon%(pThis%, cName$) :"_BS_UserStats_GetAchievementIcon@8"
|
BS_UserStats_GetAchievementIcon%(pThis%, cName$) :"_BS_UserStats_GetAchievementIcon@8"
|
||||||
BS_UserStats_GetAchievementDisplayAttribute$(pThis%, cName$, cKey$) :"_BS_UserStats_GetAchievementDisplayAttribute@12"
|
BS_UserStats_GetAchievementDisplayAttribute$(pThis%, cName$, cKey$) :"_BS_UserStats_GetAchievementDisplayAttribute@12"
|
||||||
BS_UserStats_IndicateAchievementProgress%(pThis%, cName$, iProgress%, iMaxProgress%):"_BS_UserStats_IndicateAchievementProgress@16"
|
BS_UserStats_IndicateAchievementProgress%(pThis%, cName$, iProgress%, iMaxProgress%):"_BS_UserStats_IndicateAchievementProgress@16"
|
||||||
BS_UserStats_GetNumAchievements%(pThis%) :"_BS_UserStats_GetNumAchievements@4"
|
BS_UserStats_GetNumAchievements%(pThis%) :"_BS_UserStats_GetNumAchievements@4"
|
||||||
BS_UserStats_GetAchievementName$(pThis%, iAchievement%) :"_BS_UserStats_GetAchievementName@8"
|
BS_UserStats_GetAchievementName$(pThis%, iAchievement%) :"_BS_UserStats_GetAchievementName@8"
|
||||||
BS_UserStats_RequestUserStats%(pThis%, lSteamId%) :"_BS_UserStats_RequestUserStats@8"
|
BS_UserStats_RequestUserStats%(pThis%, lSteamId%) :"_BS_UserStats_RequestUserStats@8"
|
||||||
BS_UserStats_GetUserStat%(pThis%, lSteamId%, cName$, pData*) :"_BS_UserStats_GetUserStat@16"
|
BS_UserStats_GetUserStat%(pThis%, lSteamId%, cName$, pData*) :"_BS_UserStats_GetUserStat@16"
|
||||||
BS_UserStats_GetUserStatEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_UserStats_GetUserStat@16"
|
BS_UserStats_GetUserStatEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_UserStats_GetUserStat@16"
|
||||||
BS_UserStats_GetUserStatF%(pThis%, lSteamId%, cName$, pData*) :"_BS_UserStats_GetUserStatF@16"
|
BS_UserStats_GetUserStatF%(pThis%, lSteamId%, cName$, pData*) :"_BS_UserStats_GetUserStatF@16"
|
||||||
BS_UserStats_GetUserStatFEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_UserStats_GetUserStatF@16"
|
BS_UserStats_GetUserStatFEx%(pThis%, lSteamId%, cName$, pData%) :"_BS_UserStats_GetUserStatF@16"
|
||||||
BS_UserStats_GetUserAchievement%(pThis%, lSteamId%, cName$, pbAchieved*) :"_BS_UserStats_GetUserAchievement@16"
|
BS_UserStats_GetUserAchievement%(pThis%, lSteamId%, cName$, pbAchieved*) :"_BS_UserStats_GetUserAchievement@16"
|
||||||
BS_UserStats_GetUserAchievementEx%(pThis%, lSteamId%, cName$, pbAchieved%) :"_BS_UserStats_GetUserAchievement@16"
|
BS_UserStats_GetUserAchievementEx%(pThis%, lSteamId%, cName$, pbAchieved%) :"_BS_UserStats_GetUserAchievement@16"
|
||||||
BS_UserStats_GetUserAchievementAndUnlockTime%(pThis%, lSteamId%, cName$, pbAchieved*, piUnlockTime*):"_BS_UserStats_GetUserAchievementAndUnlockTime@20"
|
BS_UserStats_GetUserAchievementAndUnlockTime%(pThis%, lSteamId%, cName$, pbAchieved*, piUnlockTime*):"_BS_UserStats_GetUserAchievementAndUnlockTime@20"
|
||||||
BS_UserStats_GetUserAchievementAndUnlockTimeEx%(pThis%, lSteamId%, cName$, pbAchieved%, piUnlockTime%):"_BS_UserStats_GetUserAchievementAndUnlockTime@20"
|
BS_UserStats_GetUserAchievementAndUnlockTimeEx%(pThis%, lSteamId%, cName$, pbAchieved%, piUnlockTime%):"_BS_UserStats_GetUserAchievementAndUnlockTime@20"
|
||||||
BS_UserStats_ResetAllStats%(pThis%, bAchievementsToo%) :"_BS_UserStats_ResetAllStats@8"
|
BS_UserStats_ResetAllStats%(pThis%, bAchievementsToo%) :"_BS_UserStats_ResetAllStats@8"
|
||||||
BS_UserStats_FindOrCreateLeaderboard%(pThis%, cLeaderboardName$, eLeaderboardSortMethod%, eLeaderboardDisplayType%):"_BS_UserStats_FindOrCreateLeaderboard@16"
|
BS_UserStats_FindOrCreateLeaderboard%(pThis%, cLeaderboardName$, eLeaderboardSortMethod%, eLeaderboardDisplayType%):"_BS_UserStats_FindOrCreateLeaderboard@16"
|
||||||
BS_UserStats_FindLeaderboard%(pThis%, cLeaderboardName$) :"_BS_UserStats_FindLeaderboard@8"
|
BS_UserStats_FindLeaderboard%(pThis%, cLeaderboardName$) :"_BS_UserStats_FindLeaderboard@8"
|
||||||
BS_UserStats_GetLeaderboardName$(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardName@8"
|
BS_UserStats_GetLeaderboardName$(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardName@8"
|
||||||
BS_UserStats_GetLeaderboardEntryCount%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardEntryCount@8"
|
BS_UserStats_GetLeaderboardEntryCount%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardEntryCount@8"
|
||||||
BS_UserStats_GetLeaderboardSortMethod%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardSortMethod@8"
|
BS_UserStats_GetLeaderboardSortMethod%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardSortMethod@8"
|
||||||
BS_UserStats_GetLeaderboardDisplayType%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardDisplayType@8"
|
BS_UserStats_GetLeaderboardDisplayType%(pThis%, hSteamLeaderboard%) :"_BS_UserStats_GetLeaderboardDisplayType@8"
|
||||||
BS_UserStats_DownloadLeaderboardEntries%(pThis%, hSteamLeaderboard%, eLeaderboardDataRequest%, iRangeStart%, iRangeEnd%):"_BS_UserStats_DownloadLeaderboardEntries@20"
|
BS_UserStats_DownloadLeaderboardEntries%(pThis%, hSteamLeaderboard%, eLeaderboardDataRequest%, iRangeStart%, iRangeEnd%):"_BS_UserStats_DownloadLeaderboardEntries@20"
|
||||||
BS_UserStats_DownloadLeaderboardEntriesForUsers%(pThis%, hSteamLeaderboard%, plUsers*, iUserCount%):"_BS_UserStats_DownloadLeaderboardEntriesForUsers@16"
|
BS_UserStats_DownloadLeaderboardEntriesForUsers%(pThis%, hSteamLeaderboard%, plUsers*, iUserCount%):"_BS_UserStats_DownloadLeaderboardEntriesForUsers@16"
|
||||||
BS_UserStats_DownloadLeaderboardEntriesForUsersEx%(pThis%, hSteamLeaderboard%, plUsers%, iUserCount%):"_BS_UserStats_DownloadLeaderboardEntriesForUsers@16"
|
BS_UserStats_DownloadLeaderboardEntriesForUsersEx%(pThis%, hSteamLeaderboard%, plUsers%, iUserCount%):"_BS_UserStats_DownloadLeaderboardEntriesForUsers@16"
|
||||||
BS_UserStats_GetDownloadedLeaderboardEntry%(lpSteamUsers%, hSteamLeaderboardEntries%, iIndex%, pLeaderboardEntry*, pDetails*, iDetailsMax%):"_BS_UserStats_GetDownloadedLeaderboardEntry@24"
|
BS_UserStats_GetDownloadedLeaderboardEntry%(lpSteamUsers%, hSteamLeaderboardEntries%, iIndex%, pLeaderboardEntry*, pDetails*, iDetailsMax%):"_BS_UserStats_GetDownloadedLeaderboardEntry@24"
|
||||||
BS_UserStats_GetDownloadedLeaderboardEntryEx%(lpSteamUsers%, hSteamLeaderboardEntries%, iIndex%, pLeaderboardEntry%, pDetails%, iDetailsMax%):"_BS_UserStats_GetDownloadedLeaderboardEntry@24"
|
BS_UserStats_GetDownloadedLeaderboardEntryEx%(lpSteamUsers%, hSteamLeaderboardEntries%, iIndex%, pLeaderboardEntry%, pDetails%, iDetailsMax%):"_BS_UserStats_GetDownloadedLeaderboardEntry@24"
|
||||||
BS_UserStats_UploadLeaderboardScore%(pThis%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, iScore%, pScoreDetails*, iScoreDetailsCount%):"_BS_UserStats_UploadLeaderboardScore@24"
|
BS_UserStats_UploadLeaderboardScore%(pThis%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, iScore%, pScoreDetails*, iScoreDetailsCount%):"_BS_UserStats_UploadLeaderboardScore@24"
|
||||||
BS_UserStats_UploadLeaderboardScoreEx%(pThis%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, iScore%, pScoreDetails%, iScoreDetailsCount%):"_BS_UserStats_UploadLeaderboardScore@24"
|
BS_UserStats_UploadLeaderboardScoreEx%(pThis%, hSteamLeaderboard%, eLeaderboardUploadScoreMethod%, iScore%, pScoreDetails%, iScoreDetailsCount%):"_BS_UserStats_UploadLeaderboardScore@24"
|
||||||
BS_UserStats_AttachLeaderboardUGC%(pThis%, hSteamLeaderboard%, hUGC%) :"_BS_UserStats_AttachLeaderboardUGC@12"
|
BS_UserStats_AttachLeaderboardUGC%(pThis%, hSteamLeaderboard%, hUGC%) :"_BS_UserStats_AttachLeaderboardUGC@12"
|
||||||
BS_UserStats_GetNumberOfCurrentPlayers%(pThis%) :"_BS_UserStats_GetNumberOfCurrentPlayers@4"
|
BS_UserStats_GetNumberOfCurrentPlayers%(pThis%) :"_BS_UserStats_GetNumberOfCurrentPlayers@4"
|
||||||
BS_UserStats_RequestGlobalAchievementPercentages%(pThis%) :"_BS_UserStats_RequestGlobalAchievementPercentages@4"
|
BS_UserStats_RequestGlobalAchievementPercentages%(pThis%) :"_BS_UserStats_RequestGlobalAchievementPercentages@4"
|
||||||
BS_UserStats_GetMostAchievedAchievementInfo%(pThis%, cName$, iNameLength%, pfPercent*, pbAchieved*):"_BS_UserStats_GetMostAchievedAchievementInfo@20"
|
BS_UserStats_GetMostAchievedAchievementInfo%(pThis%, cName$, iNameLength%, pfPercent*, pbAchieved*):"_BS_UserStats_GetMostAchievedAchievementInfo@20"
|
||||||
BS_UserStats_GetMostAchievedAchievementInfoEx%(pThis%, cName$, iNameLength%, pfPercent%, pbAchieved%):"_BS_UserStats_GetMostAchievedAchievementInfo@20"
|
BS_UserStats_GetMostAchievedAchievementInfoEx%(pThis%, cName$, iNameLength%, pfPercent%, pbAchieved%):"_BS_UserStats_GetMostAchievedAchievementInfo@20"
|
||||||
BS_UserStats_GetNextMostAchievedAchievementInfo%(pThis%, iIteratorPrevious%, cName$, iNameLength%, pfPercent*, pbAchieved*):"_BS_UserStats_GetNextMostAchievedAchievementInfo@24"
|
BS_UserStats_GetNextMostAchievedAchievementInfo%(pThis%, iIteratorPrevious%, cName$, iNameLength%, pfPercent*, pbAchieved*):"_BS_UserStats_GetNextMostAchievedAchievementInfo@24"
|
||||||
BS_UserStats_GetNextMostAchievedAchievementInfoEx%(pThis%, iIteratorPrevious%, cName$, iNameLength%, pfPercent%, pbAchieved%):"_BS_UserStats_GetNextMostAchievedAchievementInfo@24"
|
BS_UserStats_GetNextMostAchievedAchievementInfoEx%(pThis%, iIteratorPrevious%, cName$, iNameLength%, pfPercent%, pbAchieved%):"_BS_UserStats_GetNextMostAchievedAchievementInfo@24"
|
||||||
BS_UserStats_GetAchievementAchievedPercent%(pThis%, cName$, pfPercent*) :"_BS_UserStats_GetAchievementAchievedPercent@12"
|
BS_UserStats_GetAchievementAchievedPercent%(pThis%, cName$, pfPercent*) :"_BS_UserStats_GetAchievementAchievedPercent@12"
|
||||||
BS_UserStats_GetAchievementAchievedPercentEx%(pThis%, cName$, pfPercent%) :"_BS_UserStats_GetAchievementAchievedPercent@12"
|
BS_UserStats_GetAchievementAchievedPercentEx%(pThis%, cName$, pfPercent%) :"_BS_UserStats_GetAchievementAchievedPercent@12"
|
||||||
BS_UserStats_RequestGlobalStats%(pThis%, iHistoryDays%) :"_BS_UserStats_RequestGlobalStats@8"
|
BS_UserStats_RequestGlobalStats%(pThis%, iHistoryDays%) :"_BS_UserStats_RequestGlobalStats@8"
|
||||||
BS_UserStats_GetGlobalStatL%(pThis, cStatName$, plData%) :"_BS_UserStats_GetGlobalStatL@12"
|
BS_UserStats_GetGlobalStatL%(pThis, cStatName$, plData%) :"_BS_UserStats_GetGlobalStatL@12"
|
||||||
BS_UserStats_GetGlobalStatD%(pThis, cStatName$, pdData%) :"_BS_UserStats_GetGlobalStatD@12"
|
BS_UserStats_GetGlobalStatD%(pThis, cStatName$, pdData%) :"_BS_UserStats_GetGlobalStatD@12"
|
||||||
BS_UserStats_GetGlobalStatHistoryL%(pThis, cStatName$, plDataArray%, iDataSize%):"BS_UserStats_GetGlobalStatHistoryL@16"
|
BS_UserStats_GetGlobalStatHistoryL%(pThis, cStatName$, plDataArray%, iDataSize%):"BS_UserStats_GetGlobalStatHistoryL@16"
|
||||||
BS_UserStats_GetGlobalStatHistoryD%(pThis, cStatName$, pdDataArray%, iDataSize%):"BS_UserStats_GetGlobalStatHistoryD@16"
|
BS_UserStats_GetGlobalStatHistoryD%(pThis, cStatName$, pdDataArray%, iDataSize%):"BS_UserStats_GetGlobalStatHistoryD@16"
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Utils -----------------------------------------------------------------------
|
; Utils -----------------------------------------------------------------------
|
||||||
BS_SteamUtils%() :"_BS_SteamUtils@0"
|
BS_SteamUtils%() :"_BS_SteamUtils@0"
|
||||||
BS_SteamGameServerUtils%() :"_BS_SteamGameServerUtils@0"
|
BS_SteamGameServerUtils%() :"_BS_SteamGameServerUtils@0"
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
; along with this program. If not, see <http:;www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.lib "BlitzSteam.dll"
|
.lib "BlitzSteam.dll"
|
||||||
|
|
||||||
; Utils -----------------------------------------------------------------------
|
; Utils -----------------------------------------------------------------------
|
||||||
BS_SteamVideo%() :"_BS_SteamVideo@0"
|
BS_SteamVideo%() :"_BS_SteamVideo@0"
|
||||||
|
|||||||
@@ -1,66 +1,66 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Include "../BlitzSteam.bb"
|
Include "../BlitzSteam.bb"
|
||||||
|
|
||||||
; Initialize Steam before your next call to Graphics.
|
; Initialize Steam before your next call to Graphics.
|
||||||
If BS_SteamAPI_Init() = False Then
|
If BS_SteamAPI_Init() = False Then
|
||||||
RuntimeError "Steam: Failed to initialize!"
|
RuntimeError "Steam: Failed to initialize!"
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Const FPS = 30
|
Const FPS = 30
|
||||||
Const FPS_MULT# = 1.0 / FPS
|
Const FPS_MULT# = 1.0 / FPS
|
||||||
|
|
||||||
; Demo Scene
|
; Demo Scene
|
||||||
Graphics3D 1024, 768, 32, 2
|
Graphics3D 1024, 768, 32, 2
|
||||||
SetBuffer BackBuffer()
|
SetBuffer BackBuffer()
|
||||||
|
|
||||||
Local demoTimer = CreateTimer(FPS)
|
Local demoTimer = CreateTimer(FPS)
|
||||||
|
|
||||||
Local demoRoot = CreatePivot()
|
Local demoRoot = CreatePivot()
|
||||||
|
|
||||||
Local demoCameraRoot = CreatePivot(demoRoot)
|
Local demoCameraRoot = CreatePivot(demoRoot)
|
||||||
Local demoCamera = CreateCamera(demoCameraRoot)
|
Local demoCamera = CreateCamera(demoCameraRoot)
|
||||||
MoveEntity demoCamera, 0, 0, -10
|
MoveEntity demoCamera, 0, 0, -10
|
||||||
|
|
||||||
Local demoCube = CreateCube(demoRoot)
|
Local demoCube = CreateCube(demoRoot)
|
||||||
|
|
||||||
Local EndGame = False
|
Local EndGame = False
|
||||||
Repeat
|
Repeat
|
||||||
Cls
|
Cls
|
||||||
|
|
||||||
;! Update
|
;! Update
|
||||||
; End on Escape
|
; End on Escape
|
||||||
EndGame = KeyHit(1)
|
EndGame = KeyHit(1)
|
||||||
|
|
||||||
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
||||||
|
|
||||||
;! Render 3D
|
;! Render 3D
|
||||||
RenderWorld
|
RenderWorld
|
||||||
|
|
||||||
;! Render 2D
|
;! Render 2D
|
||||||
Text 0, 0, "Escape to Quit"
|
Text 0, 0, "Escape to Quit"
|
||||||
|
|
||||||
;! Update Window
|
;! Update Window
|
||||||
Flip 0
|
Flip 0
|
||||||
WaitTimer(demoTimer)
|
WaitTimer(demoTimer)
|
||||||
Until EndGame = True
|
Until EndGame = True
|
||||||
|
|
||||||
; Shut down Steam as the last action of your program.
|
; Shut down Steam as the last action of your program.
|
||||||
BS_SteamAPI_Shutdown()
|
BS_SteamAPI_Shutdown()
|
||||||
End
|
End
|
||||||
;~IDEal Editor Parameters:
|
;~IDEal Editor Parameters:
|
||||||
;~C#Blitz3D
|
;~C#Blitz3D
|
||||||
@@ -1,128 +1,128 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Include "../BlitzSteam.bb"
|
Include "../BlitzSteam.bb"
|
||||||
|
|
||||||
; Initialize Steam before your next call to Graphics.
|
; Initialize Steam before your next call to Graphics.
|
||||||
If BS_SteamAPI_Init() = False Then
|
If BS_SteamAPI_Init() = False Then
|
||||||
RuntimeError "Steam: Failed to initialize!"
|
RuntimeError "Steam: Failed to initialize!"
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Const FPS = 30
|
Const FPS = 30
|
||||||
Const FPS_MULT# = 1.0 / FPS
|
Const FPS_MULT# = 1.0 / FPS
|
||||||
|
|
||||||
; Demo Scene
|
; Demo Scene
|
||||||
Graphics3D 1024, 768, 32, 2
|
Graphics3D 1024, 768, 32, 2
|
||||||
SetBuffer BackBuffer()
|
SetBuffer BackBuffer()
|
||||||
|
|
||||||
Local demoTimer = CreateTimer(FPS)
|
Local demoTimer = CreateTimer(FPS)
|
||||||
|
|
||||||
Local demoRoot = CreatePivot()
|
Local demoRoot = CreatePivot()
|
||||||
|
|
||||||
Local demoCameraRoot = CreatePivot(demoRoot)
|
Local demoCameraRoot = CreatePivot(demoRoot)
|
||||||
Local demoCamera = CreateCamera(demoCameraRoot)
|
Local demoCamera = CreateCamera(demoCameraRoot)
|
||||||
MoveEntity demoCamera, 0, 0, -10
|
MoveEntity demoCamera, 0, 0, -10
|
||||||
|
|
||||||
Local demoCube = CreateCube(demoRoot)
|
Local demoCube = CreateCube(demoRoot)
|
||||||
|
|
||||||
; SteamAppList stuff
|
; SteamAppList stuff
|
||||||
Type SteamAppList
|
Type SteamAppList
|
||||||
Field AppId%
|
Field AppId%
|
||||||
Field Name$
|
Field Name$
|
||||||
Field InstallDir$
|
Field InstallDir$
|
||||||
Field BuildId%
|
Field BuildId%
|
||||||
End Type
|
End Type
|
||||||
Global SteamAppList_Count%
|
Global SteamAppList_Count%
|
||||||
|
|
||||||
Function SteamAppList_Fill()
|
Function SteamAppList_Fill()
|
||||||
SteamAppList_Count = BS_ISteamAppList_GetNumInstalledApps(BS_SteamAppList())
|
SteamAppList_Count = BS_ISteamAppList_GetNumInstalledApps(BS_SteamAppList())
|
||||||
|
|
||||||
Local Buffer = CreateBank(4 * SteamAppList_Count)
|
Local Buffer = CreateBank(4 * SteamAppList_Count)
|
||||||
Local AppNameBuffer = CreateBank(1024)
|
Local AppNameBuffer = CreateBank(1024)
|
||||||
Local PathBuffer = CreateBank(260)
|
Local PathBuffer = CreateBank(260)
|
||||||
|
|
||||||
Local AppIdCount = BS_ISteamAppList_GetInstalledApps(BS_SteamAppList(), Buffer, SteamAppList_Count)
|
Local AppIdCount = BS_ISteamAppList_GetInstalledApps(BS_SteamAppList(), Buffer, SteamAppList_Count)
|
||||||
Delete Each SteamAppList
|
Delete Each SteamAppList
|
||||||
For Index = 0 To AppIdCount - 1
|
For Index = 0 To AppIdCount - 1
|
||||||
Local AppId = PeekInt(Buffer, Index*4)
|
Local AppId = PeekInt(Buffer, Index*4)
|
||||||
|
|
||||||
Local SAL.SteamAppList = New SteamAppList
|
Local SAL.SteamAppList = New SteamAppList
|
||||||
SAL\AppId = AppId
|
SAL\AppId = AppId
|
||||||
Local AppNameLen = BS_ISteamAppList_GetAppName(BS_SteamAppList(), AppId, AppNameBuffer, 1024)
|
Local AppNameLen = BS_ISteamAppList_GetAppName(BS_SteamAppList(), AppId, AppNameBuffer, 1024)
|
||||||
SAL\Name = PeekCString(AppNameBuffer, 0, AppNameLen)
|
SAL\Name = PeekCString(AppNameBuffer, 0, AppNameLen)
|
||||||
Local PathLen = BS_ISteamAppList_GetAppInstallDir(BS_SteamAppList(), AppId, PathBuffer, 260)
|
Local PathLen = BS_ISteamAppList_GetAppInstallDir(BS_SteamAppList(), AppId, PathBuffer, 260)
|
||||||
SAL\InstallDir = PeekCString(PathBuffer, 0, PathLen)
|
SAL\InstallDir = PeekCString(PathBuffer, 0, PathLen)
|
||||||
SAL\BuildId = BS_ISteamAppList_GetAppBuildId(BS_SteamAppList(), AppId)
|
SAL\BuildId = BS_ISteamAppList_GetAppBuildId(BS_SteamAppList(), AppId)
|
||||||
Next
|
Next
|
||||||
|
|
||||||
FreeBank AppNameBuffer
|
FreeBank AppNameBuffer
|
||||||
FreeBank PathBuffer
|
FreeBank PathBuffer
|
||||||
FreeBank Buffer
|
FreeBank Buffer
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Function PeekCString$(Bank, Offset=0, Length=-1)
|
Function PeekCString$(Bank, Offset=0, Length=-1)
|
||||||
Local Out$ = "", Pos = Offset
|
Local Out$ = "", Pos = Offset
|
||||||
While Abs(Length) > 0
|
While Abs(Length) > 0
|
||||||
Length = Length - 1
|
Length = Length - 1
|
||||||
|
|
||||||
Local by = PeekByte(Bank, Pos)
|
Local by = PeekByte(Bank, Pos)
|
||||||
If by = 0 Then
|
If by = 0 Then
|
||||||
Length = 0
|
Length = 0
|
||||||
Else
|
Else
|
||||||
Out = Out + Chr(by)
|
Out = Out + Chr(by)
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Pos = Pos + 1
|
Pos = Pos + 1
|
||||||
Wend
|
Wend
|
||||||
Return Out
|
Return Out
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
SteamAppList_Fill()
|
SteamAppList_Fill()
|
||||||
|
|
||||||
; Main Loop
|
; Main Loop
|
||||||
Local EndGame = False
|
Local EndGame = False
|
||||||
Repeat
|
Repeat
|
||||||
Cls
|
Cls
|
||||||
|
|
||||||
;! Update
|
;! Update
|
||||||
; End on Escape
|
; End on Escape
|
||||||
EndGame = KeyHit(1)
|
EndGame = KeyHit(1)
|
||||||
|
|
||||||
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
||||||
|
|
||||||
;! Render 3D
|
;! Render 3D
|
||||||
RenderWorld
|
RenderWorld
|
||||||
|
|
||||||
;! Render 2D
|
;! Render 2D
|
||||||
Text 0, 0, "Escape to Quit"
|
Text 0, 0, "Escape to Quit"
|
||||||
|
|
||||||
Text 0,15, "Installed Apps: " + SteamAppList_Count
|
Text 0,15, "Installed Apps: " + SteamAppList_Count
|
||||||
Local SAL.SteamAppList, Index = 0
|
Local SAL.SteamAppList, Index = 0
|
||||||
For SAL.SteamAppList = Each SteamAppList
|
For SAL.SteamAppList = Each SteamAppList
|
||||||
Index = Index + 1
|
Index = Index + 1
|
||||||
Text 0, 30 + Index* 15, RSet(SAL\AppId, 6) + "/" + RSet(SAL\BuildId, 8) + ": " + SAL\Name + " (Installed: '" + SAL\InstallDir + "')"
|
Text 0, 30 + Index* 15, RSet(SAL\AppId, 6) + "/" + RSet(SAL\BuildId, 8) + ": " + SAL\Name + " (Installed: '" + SAL\InstallDir + "')"
|
||||||
Next
|
Next
|
||||||
|
|
||||||
;! Update Window
|
;! Update Window
|
||||||
Flip 0
|
Flip 0
|
||||||
WaitTimer(demoTimer)
|
WaitTimer(demoTimer)
|
||||||
Until EndGame = True
|
Until EndGame = True
|
||||||
|
|
||||||
; Shut down Steam as the last action of your program.
|
; Shut down Steam as the last action of your program.
|
||||||
BS_SteamAPI_Shutdown()
|
BS_SteamAPI_Shutdown()
|
||||||
End
|
End
|
||||||
;~IDEal Editor Parameters:
|
;~IDEal Editor Parameters:
|
||||||
;~C#Blitz3D
|
;~C#Blitz3D
|
||||||
@@ -1,179 +1,179 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Include "../BlitzSteam.bb"
|
Include "../BlitzSteam.bb"
|
||||||
|
|
||||||
; Initialize Steam before your next call to Graphics.
|
; Initialize Steam before your next call to Graphics.
|
||||||
If BS_SteamAPI_Init() = False Then
|
If BS_SteamAPI_Init() = False Then
|
||||||
RuntimeError "Steam: Failed to initialize!"
|
RuntimeError "Steam: Failed to initialize!"
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Const FPS = 30
|
Const FPS = 30
|
||||||
Const FPS_MULT# = 1.0 / FPS
|
Const FPS_MULT# = 1.0 / FPS
|
||||||
|
|
||||||
; Demo Scene
|
; Demo Scene
|
||||||
Graphics3D 1024, 768, 32, 2
|
Graphics3D 1024, 768, 32, 2
|
||||||
SetBuffer BackBuffer()
|
SetBuffer BackBuffer()
|
||||||
|
|
||||||
Local demoTimer = CreateTimer(FPS)
|
Local demoTimer = CreateTimer(FPS)
|
||||||
Local demoRoot = CreatePivot()
|
Local demoRoot = CreatePivot()
|
||||||
Local demoCameraRoot = CreatePivot(demoRoot)
|
Local demoCameraRoot = CreatePivot(demoRoot)
|
||||||
Local demoCamera = CreateCamera(demoCameraRoot)
|
Local demoCamera = CreateCamera(demoCameraRoot)
|
||||||
MoveEntity demoCamera, 0, 0, -10
|
MoveEntity demoCamera, 0, 0, -10
|
||||||
Local demoCube = CreateCube(demoRoot)
|
Local demoCube = CreateCube(demoRoot)
|
||||||
|
|
||||||
; SteamApps Stuff
|
; SteamApps Stuff
|
||||||
Type SteamAppsDLC
|
Type SteamAppsDLC
|
||||||
Field Id%
|
Field Id%
|
||||||
Field Available%
|
Field Available%
|
||||||
Field Name$
|
Field Name$
|
||||||
End Type
|
End Type
|
||||||
Global SteamAppsDLC_Count
|
Global SteamAppsDLC_Count
|
||||||
|
|
||||||
Function SteamAppsDLC_Fill()
|
Function SteamAppsDLC_Fill()
|
||||||
Local IdBuffer = CreateBank(4)
|
Local IdBuffer = CreateBank(4)
|
||||||
Local AvailableBuffer = CreateBank(4)
|
Local AvailableBuffer = CreateBank(4)
|
||||||
Local NameBuffer = CreateBank(1024)
|
Local NameBuffer = CreateBank(1024)
|
||||||
|
|
||||||
SteamAppsDLC_Count = BS_ISteamApps_GetDLCCount(BS_SteamApps())
|
SteamAppsDLC_Count = BS_ISteamApps_GetDLCCount(BS_SteamApps())
|
||||||
Delete Each SteamAppsDLC
|
Delete Each SteamAppsDLC
|
||||||
For Index = 0 To SteamAppsDLC_Count - 1
|
For Index = 0 To SteamAppsDLC_Count - 1
|
||||||
If BS_ISteamApps_GetDLCDataByIndex(BS_SteamApps(), Index, IdBuffer, AvailableBuffer, NameBuffer, 1024)
|
If BS_ISteamApps_GetDLCDataByIndex(BS_SteamApps(), Index, IdBuffer, AvailableBuffer, NameBuffer, 1024)
|
||||||
Local SAD.SteamAppsDLC = New SteamAppsDLC
|
Local SAD.SteamAppsDLC = New SteamAppsDLC
|
||||||
SAD\Id = PeekInt(IdBuffer, 0)
|
SAD\Id = PeekInt(IdBuffer, 0)
|
||||||
SAD\Available = PeekInt(AvailableBuffer, 0)
|
SAD\Available = PeekInt(AvailableBuffer, 0)
|
||||||
SAD\Name = PeekCString(NameBuffer, 0, 1024)
|
SAD\Name = PeekCString(NameBuffer, 0, 1024)
|
||||||
Else
|
Else
|
||||||
SteamAppsDLC_Count = SteamAppsDLC_Count - 1
|
SteamAppsDLC_Count = SteamAppsDLC_Count - 1
|
||||||
EndIf
|
EndIf
|
||||||
Next
|
Next
|
||||||
|
|
||||||
FreeBank NameBuffer
|
FreeBank NameBuffer
|
||||||
FreeBank AvailableBuffer
|
FreeBank AvailableBuffer
|
||||||
FreeBank IdBuffer
|
FreeBank IdBuffer
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Type SteamAppsDepots
|
Type SteamAppsDepots
|
||||||
Field DepotId
|
Field DepotId
|
||||||
End Type
|
End Type
|
||||||
Global SteamAppsDepots_Count
|
Global SteamAppsDepots_Count
|
||||||
|
|
||||||
Function SteamAppsDepots_Fill()
|
Function SteamAppsDepots_Fill()
|
||||||
Local DepotsBuffer
|
Local DepotsBuffer
|
||||||
; Exercise: Do this one yourself with the above Type. It's not that hard.
|
; Exercise: Do this one yourself with the above Type. It's not that hard.
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Function PeekCString$(Bank, Offset=0, Length=-1)
|
Function PeekCString$(Bank, Offset=0, Length=-1)
|
||||||
Local Out$ = "", Pos = Offset
|
Local Out$ = "", Pos = Offset
|
||||||
While Abs(Length) > 0
|
While Abs(Length) > 0
|
||||||
Length = Length - 1
|
Length = Length - 1
|
||||||
|
|
||||||
Local by = PeekByte(Bank, Pos)
|
Local by = PeekByte(Bank, Pos)
|
||||||
If by = 0 Then
|
If by = 0 Then
|
||||||
Length = 0
|
Length = 0
|
||||||
Else
|
Else
|
||||||
Out = Out + Chr(by)
|
Out = Out + Chr(by)
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Pos = Pos + 1
|
Pos = Pos + 1
|
||||||
Wend
|
Wend
|
||||||
Return Out
|
Return Out
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Local BetaBuffer = CreateBank(1024)
|
Local BetaBuffer = CreateBank(1024)
|
||||||
BS_ISteamApps_GetCurrentBetaName(BS_SteamApps(), BetaBuffer, 1024)
|
BS_ISteamApps_GetCurrentBetaName(BS_SteamApps(), BetaBuffer, 1024)
|
||||||
Local Beta$ = PeekCString(BetaBuffer, 0, 1024)
|
Local Beta$ = PeekCString(BetaBuffer, 0, 1024)
|
||||||
FreeBank BetaBuffer
|
FreeBank BetaBuffer
|
||||||
|
|
||||||
Local AppInstallDir$, AppInstallDirBuffer = CreateBank(260)
|
Local AppInstallDir$, AppInstallDirBuffer = CreateBank(260)
|
||||||
BS_ISteamApps_GetAppInstallDir(BS_SteamApps(), 480, AppInstallDirBuffer, 260)
|
BS_ISteamApps_GetAppInstallDir(BS_SteamApps(), 480, AppInstallDirBuffer, 260)
|
||||||
AppInstallDir = PeekCString(AppInstallDirBuffer, 0, 260)
|
AppInstallDir = PeekCString(AppInstallDirBuffer, 0, 260)
|
||||||
FreeBank AppInstallDirBuffer
|
FreeBank AppInstallDirBuffer
|
||||||
|
|
||||||
Local llOwner = BS_ISteamApps_GetAppOwner(BS_SteamApps())
|
Local llOwner = BS_ISteamApps_GetAppOwner(BS_SteamApps())
|
||||||
Local OwnerId$ = "[U:" + BS_CSteamID_GetAccountInstance(llOwner) + ":" + BS_CSteamID_GetAccountID(llOwner) + "] STEAM_" + (BS_CSteamID_GetEAccountType(llOwner) - 1) + ":" + (BS_CSteamID_GetEUniverse(llOwner) - 1) + ":" + (BS_CSteamID_GetAccountID(llOwner) / 2)
|
Local OwnerId$ = "[U:" + BS_CSteamID_GetAccountInstance(llOwner) + ":" + BS_CSteamID_GetAccountID(llOwner) + "] STEAM_" + (BS_CSteamID_GetEAccountType(llOwner) - 1) + ":" + (BS_CSteamID_GetEUniverse(llOwner) - 1) + ":" + (BS_CSteamID_GetAccountID(llOwner) / 2)
|
||||||
BS_CSteamID_Destroy llOwner
|
BS_CSteamID_Destroy llOwner
|
||||||
|
|
||||||
; Main Loop
|
; Main Loop
|
||||||
Local EndGame = False
|
Local EndGame = False
|
||||||
Repeat
|
Repeat
|
||||||
Cls
|
Cls
|
||||||
|
|
||||||
;! Update
|
;! Update
|
||||||
; End on Escape
|
; End on Escape
|
||||||
EndGame = KeyHit(1)
|
EndGame = KeyHit(1)
|
||||||
|
|
||||||
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
||||||
|
|
||||||
;! Render 3D
|
;! Render 3D
|
||||||
RenderWorld
|
RenderWorld
|
||||||
|
|
||||||
;! Render 2D
|
;! Render 2D
|
||||||
Text 0, 0, "Escape to Quit"
|
Text 0, 0, "Escape to Quit"
|
||||||
|
|
||||||
Text 0, 30, "Is Subscribed? " + BS_ISteamApps_IsSubscribed(BS_SteamApps())
|
Text 0, 30, "Is Subscribed? " + BS_ISteamApps_IsSubscribed(BS_SteamApps())
|
||||||
Text 0, 45, "Is Low Violence? " + BS_ISteamApps_IsLowViolence(BS_SteamApps())
|
Text 0, 45, "Is Low Violence? " + BS_ISteamApps_IsLowViolence(BS_SteamApps())
|
||||||
Text 0, 60, "Is Cybercafe? " + BS_ISteamApps_IsCybercafe(BS_SteamApps())
|
Text 0, 60, "Is Cybercafe? " + BS_ISteamApps_IsCybercafe(BS_SteamApps())
|
||||||
Text 0, 75, "Is VAC Banned? " + BS_ISteamApps_IsVACBanned(BS_SteamApps())
|
Text 0, 75, "Is VAC Banned? " + BS_ISteamApps_IsVACBanned(BS_SteamApps())
|
||||||
Text 0, 90, "Current Game Language: " + BS_ISteamApps_GetCurrentGameLanguage(BS_SteamApps())
|
Text 0, 90, "Current Game Language: " + BS_ISteamApps_GetCurrentGameLanguage(BS_SteamApps())
|
||||||
Text 0,105, "Available Game Languages: " + BS_ISteamApps_GetAvailableGameLanguages(BS_SteamApps())
|
Text 0,105, "Available Game Languages: " + BS_ISteamApps_GetAvailableGameLanguages(BS_SteamApps())
|
||||||
Text 0,120, "Is Subscribed App (480)? " + BS_ISteamApps_IsSubscribedApp(BS_SteamApps(), 480)
|
Text 0,120, "Is Subscribed App (480)? " + BS_ISteamApps_IsSubscribedApp(BS_SteamApps(), 480)
|
||||||
Text 0,135, "Is DLC (323180) Installed? " + BS_ISteamApps_IsDlcInstalled(BS_SteamApps(), 323180) ; Portal 2 Soundtrack DLC
|
Text 0,135, "Is DLC (323180) Installed? " + BS_ISteamApps_IsDlcInstalled(BS_SteamApps(), 323180) ; Portal 2 Soundtrack DLC
|
||||||
Text 0,150, "Earliest Purchase Unix Time (480): " + BS_ISteamApps_GetEarliestPurchaseUnixTime(BS_SteamApps(), 480)
|
Text 0,150, "Earliest Purchase Unix Time (480): " + BS_ISteamApps_GetEarliestPurchaseUnixTime(BS_SteamApps(), 480)
|
||||||
Text 0,165, "Is Subscribed from Free Weekend? " + BS_ISteamApps_IsSubscribedFromFreeWeekend(BS_SteamApps())
|
Text 0,165, "Is Subscribed from Free Weekend? " + BS_ISteamApps_IsSubscribedFromFreeWeekend(BS_SteamApps())
|
||||||
Text 0,180, "DLC Count: " + BS_ISteamApps_GetDLCCount(BS_SteamApps())
|
Text 0,180, "DLC Count: " + BS_ISteamApps_GetDLCCount(BS_SteamApps())
|
||||||
Text 0,195, "Current Beta Name: " + Beta
|
Text 0,195, "Current Beta Name: " + Beta
|
||||||
Text 0,210, "App Install Dir: " + AppInstallDir$
|
Text 0,210, "App Install Dir: " + AppInstallDir$
|
||||||
Text 0,225, "Is App Installed (480): " + BS_ISteamApps_IsAppInstalled(BS_SteamApps(), 480)
|
Text 0,225, "Is App Installed (480): " + BS_ISteamApps_IsAppInstalled(BS_SteamApps(), 480)
|
||||||
Text 0,240, "App Owner Id: " + OwnerId
|
Text 0,240, "App Owner Id: " + OwnerId
|
||||||
Text 0,255, "App Built Id: " + BS_ISteamApps_GetAppBuildId(BS_SteamApps())
|
Text 0,255, "App Built Id: " + BS_ISteamApps_GetAppBuildId(BS_SteamApps())
|
||||||
|
|
||||||
; BS_ISteamApps_GetLanchQueryParam$(BS_SteamApps(), pchKey$)
|
; BS_ISteamApps_GetLanchQueryParam$(BS_SteamApps(), pchKey$)
|
||||||
; // Returns the associated launch param if the game is run via steam://run/<appid>//?param1=value1;param2=value2;param3=value3 etc.
|
; // Returns the associated launch param if the game is run via steam://run/<appid>//?param1=value1;param2=value2;param3=value3 etc.
|
||||||
; // Parameter names starting with the character '@' are reserved for internal use and will always return and empty string.
|
; // Parameter names starting with the character '@' are reserved for internal use and will always return and empty string.
|
||||||
; // Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game,
|
; // Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game,
|
||||||
; // but it is advised that you not param names beginning with an underscore for your own features.
|
; // but it is advised that you not param names beginning with an underscore for your own features.
|
||||||
|
|
||||||
; BS_ISteamApps_MarkContentCorrupt signals steam that game files are corrupt or missing. Forces a validation after quit and before next start.
|
; BS_ISteamApps_MarkContentCorrupt signals steam that game files are corrupt or missing. Forces a validation after quit and before next start.
|
||||||
|
|
||||||
; How To Use: BS_ISteamApps_RequestProofOfPurchaseKey(BS_SteamApps(), nAppId)
|
; How To Use: BS_ISteamApps_RequestProofOfPurchaseKey(BS_SteamApps(), nAppId)
|
||||||
; // Request cd-key for yourself or owned DLC. If you are interested in this
|
; // Request cd-key for yourself or owned DLC. If you are interested in this
|
||||||
; // data then make sure you provide us with a list of valid keys to be distributed
|
; // data then make sure you provide us with a list of valid keys to be distributed
|
||||||
; // to users when they purchase the game, before the game ships.
|
; // to users when they purchase the game, before the game ships.
|
||||||
; // You'll receive an AppProofOfPurchaseKeyResponse_t callback when
|
; // You'll receive an AppProofOfPurchaseKeyResponse_t callback when
|
||||||
; // the key is available (which may be immediately).
|
; // the key is available (which may be immediately).
|
||||||
; Example (Spacewar) does not have CD-Keys.
|
; Example (Spacewar) does not have CD-Keys.
|
||||||
|
|
||||||
Text 512, 0, "DLCs: " + SteamAppsDLC_Count
|
Text 512, 0, "DLCs: " + SteamAppsDLC_Count
|
||||||
Local Index = 0, SAD.SteamAppsDLC
|
Local Index = 0, SAD.SteamAppsDLC
|
||||||
For SAD = Each SteamAppsDLC
|
For SAD = Each SteamAppsDLC
|
||||||
Text 512, 15 + Index * 15, SAD\Id + "(" + SAD\Available + "): " + SAD\Name
|
Text 512, 15 + Index * 15, SAD\Id + "(" + SAD\Available + "): " + SAD\Name
|
||||||
; You could install DLCs from the app itself, BS_ISteamApps_InstallDLC, BS_ISteamApps_UninstallDLC
|
; You could install DLCs from the app itself, BS_ISteamApps_InstallDLC, BS_ISteamApps_UninstallDLC
|
||||||
; BS_ISteamApps_GetDlcDownloadProgress allows you to check the progress, BlitzUtility's LongLong stuff is useful here.
|
; BS_ISteamApps_GetDlcDownloadProgress allows you to check the progress, BlitzUtility's LongLong stuff is useful here.
|
||||||
|
|
||||||
Index = Index + 1
|
Index = Index + 1
|
||||||
Next
|
Next
|
||||||
|
|
||||||
;! Update Window
|
;! Update Window
|
||||||
Flip 0
|
Flip 0
|
||||||
WaitTimer(demoTimer)
|
WaitTimer(demoTimer)
|
||||||
Until EndGame = True
|
Until EndGame = True
|
||||||
|
|
||||||
; Shut down Steam as the last action of your program.
|
; Shut down Steam as the last action of your program.
|
||||||
BS_SteamAPI_Shutdown()
|
BS_SteamAPI_Shutdown()
|
||||||
End
|
End
|
||||||
;~IDEal Editor Parameters:
|
;~IDEal Editor Parameters:
|
||||||
;~C#Blitz3D
|
;~C#Blitz3D
|
||||||
@@ -1,68 +1,68 @@
|
|||||||
; BlitzSteam - Steam wrapper for Blitz
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;
|
;
|
||||||
; This program is free software: you can redistribute it and/or modify
|
; This program is free software: you can redistribute it and/or modify
|
||||||
; it under the terms of the GNU Lesser General Public License as
|
; it under the terms of the GNU Lesser General Public License as
|
||||||
; published by the Free Software Foundation, either version 3 of the
|
; published by the Free Software Foundation, either version 3 of the
|
||||||
; License, or (at your option) any later version.
|
; License, or (at your option) any later version.
|
||||||
;
|
;
|
||||||
; This program is distributed in the hope that it will be useful,
|
; This program is distributed in the hope that it will be useful,
|
||||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
; GNU General Public License for more details.
|
; GNU General Public License for more details.
|
||||||
;
|
;
|
||||||
; You should have received a copy of the GNU Lesser General Public License
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Include "../BlitzSteam.bb"
|
Include "../BlitzSteam.bb"
|
||||||
|
|
||||||
;! Example is incomplete, I do not own a Steam Controller.
|
;! Example is incomplete, I do not own a Steam Controller.
|
||||||
|
|
||||||
; Initialize Steam before your next call to Graphics.
|
; Initialize Steam before your next call to Graphics.
|
||||||
If BS_SteamAPI_Init() = False Then
|
If BS_SteamAPI_Init() = False Then
|
||||||
RuntimeError "Steam: Failed to initialize!"
|
RuntimeError "Steam: Failed to initialize!"
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
Const FPS = 30
|
Const FPS = 30
|
||||||
Const FPS_MULT# = 1.0 / FPS
|
Const FPS_MULT# = 1.0 / FPS
|
||||||
|
|
||||||
; Demo Scene
|
; Demo Scene
|
||||||
Graphics3D 1024, 768, 32, 2
|
Graphics3D 1024, 768, 32, 2
|
||||||
SetBuffer BackBuffer()
|
SetBuffer BackBuffer()
|
||||||
|
|
||||||
Local demoTimer = CreateTimer(FPS)
|
Local demoTimer = CreateTimer(FPS)
|
||||||
|
|
||||||
Local demoRoot = CreatePivot()
|
Local demoRoot = CreatePivot()
|
||||||
|
|
||||||
Local demoCameraRoot = CreatePivot(demoRoot)
|
Local demoCameraRoot = CreatePivot(demoRoot)
|
||||||
Local demoCamera = CreateCamera(demoCameraRoot)
|
Local demoCamera = CreateCamera(demoCameraRoot)
|
||||||
MoveEntity demoCamera, 0, 0, -10
|
MoveEntity demoCamera, 0, 0, -10
|
||||||
|
|
||||||
Local demoCube = CreateCube(demoRoot)
|
Local demoCube = CreateCube(demoRoot)
|
||||||
|
|
||||||
Local EndGame = False
|
Local EndGame = False
|
||||||
Repeat
|
Repeat
|
||||||
Cls
|
Cls
|
||||||
|
|
||||||
;! Update
|
;! Update
|
||||||
; End on Escape
|
; End on Escape
|
||||||
EndGame = KeyHit(1)
|
EndGame = KeyHit(1)
|
||||||
|
|
||||||
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
TurnEntity demoCube, 1 * FPS_MULT, 3 * FPS_MULT, 2.332 * FPS_MULT
|
||||||
|
|
||||||
;! Render 3D
|
;! Render 3D
|
||||||
RenderWorld
|
RenderWorld
|
||||||
|
|
||||||
;! Render 2D
|
;! Render 2D
|
||||||
Text 0, 0, "Escape to Quit"
|
Text 0, 0, "Escape to Quit"
|
||||||
|
|
||||||
;! Update Window
|
;! Update Window
|
||||||
Flip 0
|
Flip 0
|
||||||
WaitTimer(demoTimer)
|
WaitTimer(demoTimer)
|
||||||
Until EndGame = True
|
Until EndGame = True
|
||||||
|
|
||||||
; Shut down Steam as the last action of your program.
|
; Shut down Steam as the last action of your program.
|
||||||
BS_SteamAPI_Shutdown()
|
BS_SteamAPI_Shutdown()
|
||||||
End
|
End
|
||||||
;~IDEal Editor Parameters:
|
;~IDEal Editor Parameters:
|
||||||
;~C#Blitz3D
|
;~C#Blitz3D
|
||||||
@@ -1,381 +1,396 @@
|
|||||||
Include "../BlitzSteam.bb"
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
;----------------------------------------------------------------
|
;
|
||||||
;! Steam Stuff
|
; This program 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
|
||||||
; SteamClient: WarningMessageHook
|
; License, or (at your option) any later version.
|
||||||
Global Steam_WarningMessageHook_Callback = 0
|
;
|
||||||
Function Steam_WarningMessageHook(bIsWarning%, pchMessageBuffer%)
|
; This program is distributed in the hope that it will be useful,
|
||||||
If Steam_WarningMessageHook_Callback = 0 Then
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
Steam_WarningMessageHook_Callback = BP_GetFunctionPointer()
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
Return
|
; GNU General Public License for more details.
|
||||||
EndIf
|
;
|
||||||
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
; Read Message from buffer
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
Local msg$ = ""
|
|
||||||
If bIsWarning = 1 Then
|
Include "../BlitzSteam.bb"
|
||||||
msg = "[Warning]"
|
;----------------------------------------------------------------
|
||||||
Else
|
;! Steam Stuff
|
||||||
msg = "[Info]"
|
;----------------------------------------------------------------
|
||||||
EndIf
|
|
||||||
msg = msg + PeekMemoryStringC(pchMessageBuffer)
|
; SteamClient: WarningMessageHook
|
||||||
|
Global Steam_WarningMessageHook_Callback = 0
|
||||||
DebugLog "[Steam]" + msg$
|
Function Steam_WarningMessageHook(bIsWarning%, pchMessageBuffer%)
|
||||||
End Function:Steam_WarningMessageHook(0, 0)
|
If Steam_WarningMessageHook_Callback = 0 Then
|
||||||
Function PeekMemoryStringC(Memory%, Length%=-1)
|
Steam_WarningMessageHook_Callback = BP_GetFunctionPointer()
|
||||||
Local Ptr = Memory
|
Return
|
||||||
Local iChar = 0, tiChar = 0
|
EndIf
|
||||||
Local sOut$ = ""
|
|
||||||
|
; Read Message from buffer
|
||||||
Repeat
|
Local msg$ = ""
|
||||||
tiChar = PeekMemoryByte(Ptr)
|
If bIsWarning = 1 Then
|
||||||
|
msg = "[Warning]"
|
||||||
; Advance memory, decrease Length
|
Else
|
||||||
Ptr = Ptr + 1
|
msg = "[Info]"
|
||||||
Length = Length - 1
|
EndIf
|
||||||
|
msg = msg + PeekMemoryStringC(pchMessageBuffer)
|
||||||
If (tiChar = 0) Then
|
|
||||||
Length = 0
|
DebugLog "[Steam]" + msg$
|
||||||
Else
|
End Function:Steam_WarningMessageHook(0, 0)
|
||||||
sOut = sOut + Chr(tiChar)
|
Function PeekMemoryStringC(Memory%, Length%=-1)
|
||||||
EndIf
|
Local Ptr = Memory
|
||||||
Until Length = 0
|
Local iChar = 0, tiChar = 0
|
||||||
|
Local sOut$ = ""
|
||||||
Return sOut
|
|
||||||
End Function
|
Repeat
|
||||||
|
tiChar = PeekMemoryByte(Ptr)
|
||||||
;----------------------------------------------------------------
|
|
||||||
;! SteamBrowser (Image & Texture Drawing)
|
; Advance memory, decrease Length
|
||||||
;----------------------------------------------------------------
|
Ptr = Ptr + 1
|
||||||
Global SteamBrowser_Callback_BrowserReady_p = 0, SteamBrowser_Callback_BrowserReady_c = 0
|
Length = Length - 1
|
||||||
Global SteamBrowser_Callback_NeedsPaint_p = 0, SteamBrowser_Callback_NeedsPaint_c = 0
|
|
||||||
Global SteamBrowser_Callback_StartRequest_p = 0, SteamBrowser_Callback_StartRequest_c = 0
|
If (tiChar = 0) Then
|
||||||
|
Length = 0
|
||||||
Type SteamBrowser
|
Else
|
||||||
Field Id%, lSteamAPICall%
|
sOut = sOut + Chr(tiChar)
|
||||||
Field Size%[1] ;Width, Height
|
EndIf
|
||||||
Field URL$
|
Until Length = 0
|
||||||
|
|
||||||
; CEF Stuff
|
Return sOut
|
||||||
Field UpdateRegion[3] ;X,Y,W,H
|
End Function
|
||||||
Field Serial%, Scale#, ScrollX%, ScrollY%
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
; Image Based
|
;! SteamBrowser (Image & Texture Drawing)
|
||||||
Field hImage%
|
;----------------------------------------------------------------
|
||||||
|
Global SteamBrowser_Callback_BrowserReady_p = 0, SteamBrowser_Callback_BrowserReady_c = 0
|
||||||
; Texture Based
|
Global SteamBrowser_Callback_NeedsPaint_p = 0, SteamBrowser_Callback_NeedsPaint_c = 0
|
||||||
Field hTexture%
|
Global SteamBrowser_Callback_StartRequest_p = 0, SteamBrowser_Callback_StartRequest_c = 0
|
||||||
End Type
|
|
||||||
|
Type SteamBrowser
|
||||||
Function SteamBrowser_Create.SteamBrowser(Width%, Height%, URL$="http://google.com/", UserAgent$="SteamBrowser", UserCSS$="")
|
Field Id%, lSteamAPICall%
|
||||||
; Create our Object
|
Field Size%[1] ;Width, Height
|
||||||
Local SB.SteamBrowser = New SteamBrowser
|
Field URL$
|
||||||
SB\Id = 0 ; Initialize to 0 until the Browser is ready.
|
|
||||||
SB\Size[0] = Width
|
; CEF Stuff
|
||||||
SB\Size[1] = Height
|
Field UpdateRegion[3] ;X,Y,W,H
|
||||||
SB\URL = URL
|
Field Serial%, Scale#, ScrollX%, ScrollY%
|
||||||
SB\lSteamAPICall = BS_ISteamHTMLSurface_CreateBrowser(BS_SteamHTMLSurface(), UserAgent, UserCSS)
|
|
||||||
|
; Image Based
|
||||||
; We need to register our callbacks, or nothing will work.
|
Field hImage%
|
||||||
BS_Callback_RegisterResult SteamBrowser_Callback_BrowserReady_c, SB\lSteamAPICall, BS_SteamHTMLSurface_BrowserReady ; Listen to the result of the last SteamAPICall.
|
|
||||||
BS_Callback_Register SteamBrowser_Callback_NeedsPaint_c, BS_SteamHTMLSurface_NeedsPaint
|
; Texture Based
|
||||||
BS_Callback_Register SteamBrowser_Callback_StartRequest_c, BS_SteamHTMLSurface_StartRequest
|
Field hTexture%
|
||||||
|
End Type
|
||||||
; Image Based
|
|
||||||
SB\hImage = CreateImage(SB\Size[0], SB\Size[1])
|
Function SteamBrowser_Create.SteamBrowser(Width%, Height%, URL$="http://google.com/", UserAgent$="SteamBrowser", UserCSS$="")
|
||||||
; Texture Based
|
; Create our Object
|
||||||
SB\hTexture = CreateTexture(SB\Size[0], SB\Size[1], 1+2)
|
Local SB.SteamBrowser = New SteamBrowser
|
||||||
|
SB\Id = 0 ; Initialize to 0 until the Browser is ready.
|
||||||
Return SB
|
SB\Size[0] = Width
|
||||||
End Function
|
SB\Size[1] = Height
|
||||||
|
SB\URL = URL
|
||||||
Function SteamBrowser_Destroy(SB.SteamBrowser)
|
SB\lSteamAPICall = BS_ISteamHTMLSurface_CreateBrowser(BS_SteamHTMLSurface(), UserAgent, UserCSS)
|
||||||
; Texture Based
|
|
||||||
FreeTexture SB\hTexture
|
; We need to register our callbacks, or nothing will work.
|
||||||
; Image Based
|
BS_Callback_RegisterResult SteamBrowser_Callback_BrowserReady_c, SB\lSteamAPICall, BS_SteamHTMLSurface_BrowserReady ; Listen to the result of the last SteamAPICall.
|
||||||
FreeImage SB\hImage
|
BS_Callback_Register SteamBrowser_Callback_NeedsPaint_c, BS_SteamHTMLSurface_NeedsPaint
|
||||||
|
BS_Callback_Register SteamBrowser_Callback_StartRequest_c, BS_SteamHTMLSurface_StartRequest
|
||||||
BS_ISteamHTMLSurface_RemoveBrowser BS_SteamHTMLSurface(), SB\Id
|
|
||||||
Delete SB
|
; Image Based
|
||||||
End Function
|
SB\hImage = CreateImage(SB\Size[0], SB\Size[1])
|
||||||
|
; Texture Based
|
||||||
Function SteamBrowser_Find.SteamBrowser(iId%, lSteamAPICall%)
|
SB\hTexture = CreateTexture(SB\Size[0], SB\Size[1], 1+2)
|
||||||
Local SB.SteamBrowser = Null
|
|
||||||
; Find by Id
|
Return SB
|
||||||
If iId <> 0
|
End Function
|
||||||
For SB.SteamBrowser = Each SteamBrowser
|
|
||||||
If (SB\Id = iId) Then
|
Function SteamBrowser_Destroy(SB.SteamBrowser)
|
||||||
Return SB
|
; Texture Based
|
||||||
EndIf
|
FreeTexture SB\hTexture
|
||||||
Next
|
; Image Based
|
||||||
EndIf
|
FreeImage SB\hImage
|
||||||
; Find by SteamAPICall
|
|
||||||
If lSteamAPICall <> 0
|
BS_ISteamHTMLSurface_RemoveBrowser BS_SteamHTMLSurface(), SB\Id
|
||||||
For SB.SteamBrowser = Each SteamBrowser
|
Delete SB
|
||||||
If (SB\lSteamAPICall <> 0) And (BS_Long_Compare(lSteamAPICall, SB\lSteamAPICall) = 0) Then
|
End Function
|
||||||
Return SB
|
|
||||||
EndIf
|
Function SteamBrowser_Find.SteamBrowser(iId%, lSteamAPICall%)
|
||||||
Next
|
Local SB.SteamBrowser = Null
|
||||||
EndIf
|
; Find by Id
|
||||||
Return Null
|
If iId <> 0
|
||||||
End Function
|
For SB.SteamBrowser = Each SteamBrowser
|
||||||
|
If (SB\Id = iId) Then
|
||||||
Function SteamBrowser_SetSize(SB.SteamBrowser, Width%, Height%)
|
Return SB
|
||||||
SB\Size[0] = Width
|
EndIf
|
||||||
SB\Size[1] = Height
|
Next
|
||||||
|
EndIf
|
||||||
; Update Browser Size
|
; Find by SteamAPICall
|
||||||
BS_ISteamHTMLSurface_SetSize BS_SteamHTMLSurface(), SB\Id, Width, Height
|
If lSteamAPICall <> 0
|
||||||
|
For SB.SteamBrowser = Each SteamBrowser
|
||||||
; Image Based
|
If (SB\lSteamAPICall <> 0) And (BS_Long_Compare(lSteamAPICall, SB\lSteamAPICall) = 0) Then
|
||||||
FreeImage(SB\hImage)
|
Return SB
|
||||||
SB\hImage = CreateImage(Width, Height)
|
EndIf
|
||||||
; Texture Based
|
Next
|
||||||
FreeTexture(SB\hTexture)
|
EndIf
|
||||||
SB\hTexture = CreateTexture(Width, Height, 1+2)
|
Return Null
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Function SteamBrowser_LoadUrl(SB.SteamBrowser, URL$, PostData$="")
|
Function SteamBrowser_SetSize(SB.SteamBrowser, Width%, Height%)
|
||||||
BS_ISteamHTMLSurface_LoadURL BS_SteamHTMLSurface(), SB\Id, URL, PostData
|
SB\Size[0] = Width
|
||||||
End Function
|
SB\Size[1] = Height
|
||||||
|
|
||||||
Function SteamBrowser_IsReady(SB.SteamBrowser)
|
; Update Browser Size
|
||||||
Return (SB\Id <> 0)
|
BS_ISteamHTMLSurface_SetSize BS_SteamHTMLSurface(), SB\Id, Width, Height
|
||||||
End Function
|
|
||||||
|
; Image Based
|
||||||
Function SteamBrowser_GetImageHandle(SB.SteamBrowser)
|
FreeImage(SB\hImage)
|
||||||
Return SB\hImage
|
SB\hImage = CreateImage(Width, Height)
|
||||||
End Function
|
; Texture Based
|
||||||
|
FreeTexture(SB\hTexture)
|
||||||
Function SteamBrowser_GetTextureHandle(SB.SteamBrowser)
|
SB\hTexture = CreateTexture(Width, Height, 1+2)
|
||||||
Return SB\hTexture
|
End Function
|
||||||
End Function
|
|
||||||
|
Function SteamBrowser_LoadUrl(SB.SteamBrowser, URL$, PostData$="")
|
||||||
Function SteamBrowser_Callback_BrowserReady(pvParam%, bIOFailure, lSteamAPICall)
|
BS_ISteamHTMLSurface_LoadURL BS_SteamHTMLSurface(), SB\Id, URL, PostData
|
||||||
If (SteamBrowser_Callback_BrowserReady_p = 0) Then
|
End Function
|
||||||
SteamBrowser_Callback_BrowserReady_p = BP_GetFunctionPointer()
|
|
||||||
SteamBrowser_Callback_BrowserReady_c = BS_Callback_New(SteamBrowser_Callback_BrowserReady_p)
|
Function SteamBrowser_IsReady(SB.SteamBrowser)
|
||||||
Return
|
Return (SB\Id <> 0)
|
||||||
EndIf
|
End Function
|
||||||
|
|
||||||
; Search for a valid SteamBrowser object.
|
Function SteamBrowser_GetImageHandle(SB.SteamBrowser)
|
||||||
Local SB.SteamBrowser = SteamBrowser_Find(0, lSteamAPICall)
|
Return SB\hImage
|
||||||
SB\Id = BS_Memory_PeekInt(pvParam, 0)
|
End Function
|
||||||
SteamBrowser_SetSize(SB, SB\Size[0], SB\Size[1])
|
|
||||||
SteamBrowser_LoadUrl(SB, SB\URL)
|
Function SteamBrowser_GetTextureHandle(SB.SteamBrowser)
|
||||||
|
Return SB\hTexture
|
||||||
; Destroy our SteamAPICall pointer and clear the value.
|
End Function
|
||||||
BS_Long_Destroy(SB\lSteamAPICall):SB\lSteamAPICall = 0
|
|
||||||
End Function:SteamBrowser_Callback_BrowserReady(0, 0, 0)
|
Function SteamBrowser_Callback_BrowserReady(pvParam%, bIOFailure, lSteamAPICall)
|
||||||
|
If (SteamBrowser_Callback_BrowserReady_p = 0) Then
|
||||||
Function SteamBrowser_Callback_NeedsPaint(pvParam%, p2, p3)
|
SteamBrowser_Callback_BrowserReady_p = BP_GetFunctionPointer()
|
||||||
If (SteamBrowser_Callback_NeedsPaint_p = 0) Then
|
SteamBrowser_Callback_BrowserReady_c = BS_Callback_New(SteamBrowser_Callback_BrowserReady_p)
|
||||||
SteamBrowser_Callback_NeedsPaint_p = BP_GetFunctionPointer()
|
Return
|
||||||
SteamBrowser_Callback_NeedsPaint_c = BS_Callback_New(SteamBrowser_Callback_NeedsPaint_p)
|
EndIf
|
||||||
Return
|
|
||||||
EndIf
|
; Search for a valid SteamBrowser object.
|
||||||
|
Local SB.SteamBrowser = SteamBrowser_Find(0, lSteamAPICall)
|
||||||
; Search for a valid SteamBrowser object.
|
SB\Id = BS_Memory_PeekInt(pvParam, 0)
|
||||||
Local SB.SteamBrowser = SteamBrowser_Find(BS_Memory_PeekInt(pvParam, 0), 0)
|
SteamBrowser_SetSize(SB, SB\Size[0], SB\Size[1])
|
||||||
|
SteamBrowser_LoadUrl(SB, SB\URL)
|
||||||
; Parse Data from pvParam
|
|
||||||
Local pBuffer, pW, pH, pUpdateX, pUpdateY, pUpdateW, pUpdateH, pScrollX, pScrollY, pScale#, pSerial
|
; Destroy our SteamAPICall pointer and clear the value.
|
||||||
pBuffer = BS_Memory_PeekInt(pvParam, 4)
|
BS_Long_Destroy(SB\lSteamAPICall):SB\lSteamAPICall = 0
|
||||||
pW = BS_Memory_PeekInt(pvParam, 8)
|
End Function:SteamBrowser_Callback_BrowserReady(0, 0, 0)
|
||||||
pH = BS_Memory_PeekInt(pvParam, 12)
|
|
||||||
pUpdateX = BS_Memory_PeekInt(pvParam, 16)
|
Function SteamBrowser_Callback_NeedsPaint(pvParam%, p2, p3)
|
||||||
pUpdateY = BS_Memory_PeekInt(pvParam, 20)
|
If (SteamBrowser_Callback_NeedsPaint_p = 0) Then
|
||||||
pUpdateW = BS_Memory_PeekInt(pvParam, 24)
|
SteamBrowser_Callback_NeedsPaint_p = BP_GetFunctionPointer()
|
||||||
pUpdateH = BS_Memory_PeekInt(pvParam, 28)
|
SteamBrowser_Callback_NeedsPaint_c = BS_Callback_New(SteamBrowser_Callback_NeedsPaint_p)
|
||||||
pScrollX = BS_Memory_PeekInt(pvParam, 32)
|
Return
|
||||||
pScrollY = BS_Memory_PeekInt(pvParam, 36)
|
EndIf
|
||||||
pScale = BS_Memory_PeekFloat(pvParam, 40)
|
|
||||||
pSerial = BS_Memory_PeekInt(pvParam, 44)
|
; Search for a valid SteamBrowser object.
|
||||||
|
Local SB.SteamBrowser = SteamBrowser_Find(BS_Memory_PeekInt(pvParam, 0), 0)
|
||||||
; Assign to Object
|
|
||||||
SB\UpdateRegion[0] = pUpdateX
|
; Parse Data from pvParam
|
||||||
SB\UpdateRegion[1] = pUpdateY
|
Local pBuffer, pW, pH, pUpdateX, pUpdateY, pUpdateW, pUpdateH, pScrollX, pScrollY, pScale#, pSerial
|
||||||
SB\UpdateRegion[2] = pUpdateW
|
pBuffer = BS_Memory_PeekInt(pvParam, 4)
|
||||||
SB\UpdateRegion[3] = pUpdateH
|
pW = BS_Memory_PeekInt(pvParam, 8)
|
||||||
SB\Scale = pScale
|
pH = BS_Memory_PeekInt(pvParam, 12)
|
||||||
SB\ScrollX = pScrollX
|
pUpdateX = BS_Memory_PeekInt(pvParam, 16)
|
||||||
SB\ScrollY = pScrollY
|
pUpdateY = BS_Memory_PeekInt(pvParam, 20)
|
||||||
SB\Serial = pSerial
|
pUpdateW = BS_Memory_PeekInt(pvParam, 24)
|
||||||
|
pUpdateH = BS_Memory_PeekInt(pvParam, 28)
|
||||||
; Fix up Buffer Size (Always next bigger 16*n, for whatever reason (SIBLY WHAT DID YOU DO!?))
|
pScrollX = BS_Memory_PeekInt(pvParam, 32)
|
||||||
Local nW = (16 * Ceil(pW / 16.0))
|
pScrollY = BS_Memory_PeekInt(pvParam, 36)
|
||||||
;DebugLog ImageWidth(SB\hImage) + ":" + ImageHeight(SB\hImage)
|
pScale = BS_Memory_PeekFloat(pvParam, 40)
|
||||||
|
pSerial = BS_Memory_PeekInt(pvParam, 44)
|
||||||
; Image Based
|
|
||||||
Local hImageBuffer = ImageBuffer(SB\hImage)
|
; Assign to Object
|
||||||
LockBuffer hImageBuffer
|
SB\UpdateRegion[0] = pUpdateX
|
||||||
BS_Helper_CopyMemoryIntMangle pBuffer, BS_Memory_PeekInt(hImageBuffer, 72), 0, pW, pH, nW, SB\Size[1], pUpdateX, pUpdateY, pUpdateW, pUpdateH
|
SB\UpdateRegion[1] = pUpdateY
|
||||||
UnlockBuffer hImageBuffer
|
SB\UpdateRegion[2] = pUpdateW
|
||||||
|
SB\UpdateRegion[3] = pUpdateH
|
||||||
; Texture Based (Identical)
|
SB\Scale = pScale
|
||||||
Local hTextureBuffer = ImageBuffer(SB\hImage)
|
SB\ScrollX = pScrollX
|
||||||
LockBuffer hTextureBuffer
|
SB\ScrollY = pScrollY
|
||||||
BS_Helper_CopyMemoryIntMangle pBuffer, BS_Memory_PeekInt(hTextureBuffer, 72), 0, pW, pH, nW, SB\Size[1], pUpdateX, pUpdateY, pUpdateW, pUpdateH
|
SB\Serial = pSerial
|
||||||
UnlockBuffer hTextureBuffer
|
|
||||||
|
; Fix up Buffer Size (Always next bigger 16*n, for whatever reason (SIBLY WHAT DID YOU DO!?))
|
||||||
|
Local nW = (16 * Ceil(pW / 16.0))
|
||||||
; pvParam Structure
|
;DebugLog ImageWidth(SB\hImage) + ":" + ImageHeight(SB\hImage)
|
||||||
;CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the browser that needs the paint
|
|
||||||
;CALLBACK_MEMBER(1, const char *, pBGRA ) // a pointer to the B8G8R8A8 data for this surface, valid until SteamAPI_RunCallbacks is next called
|
; Image Based
|
||||||
;CALLBACK_MEMBER(2, uint32, unWide) // the total width of the pBGRA texture
|
Local hImageBuffer = ImageBuffer(SB\hImage)
|
||||||
;CALLBACK_MEMBER(3, uint32, unTall) // the total height of the pBGRA texture
|
LockBuffer hImageBuffer
|
||||||
;CALLBACK_MEMBER(4, uint32, unUpdateX) // the offset in X for the damage rect for this update
|
BS_Helper_CopyMemoryIntMangle pBuffer, BS_Memory_PeekInt(hImageBuffer, 72), 0, pW, pH, nW, SB\Size[1], pUpdateX, pUpdateY, pUpdateW, pUpdateH
|
||||||
;CALLBACK_MEMBER(5, uint32, unUpdateY) // the offset in Y for the damage rect for this update
|
UnlockBuffer hImageBuffer
|
||||||
;CALLBACK_MEMBER(6, uint32, unUpdateWide) // the width of the damage rect for this update
|
|
||||||
;CALLBACK_MEMBER(7, uint32, unUpdateTall) // the height of the damage rect for this update
|
; Texture Based (Identical)
|
||||||
;CALLBACK_MEMBER(8, uint32, unScrollX) // the page scroll the browser was at when this texture was rendered
|
Local hTextureBuffer = ImageBuffer(SB\hImage)
|
||||||
;CALLBACK_MEMBER(9, uint32, unScrollY) // the page scroll the browser was at when this texture was rendered
|
LockBuffer hTextureBuffer
|
||||||
;CALLBACK_MEMBER(10, float, flPageScale) // the page scale factor on this page when rendered
|
BS_Helper_CopyMemoryIntMangle pBuffer, BS_Memory_PeekInt(hTextureBuffer, 72), 0, pW, pH, nW, SB\Size[1], pUpdateX, pUpdateY, pUpdateW, pUpdateH
|
||||||
;CALLBACK_MEMBER(11, uint32, unPageSerial) // incremented on each new page load, you can use this to reject draws while navigating to new pages
|
UnlockBuffer hTextureBuffer
|
||||||
End Function:SteamBrowser_Callback_NeedsPaint(0, 0, 0)
|
|
||||||
|
|
||||||
Function SteamBrowser_Callback_StartRequest(pvParam%, p2, p3)
|
; pvParam Structure
|
||||||
If (SteamBrowser_Callback_StartRequest_p = 0) Then
|
;CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the browser that needs the paint
|
||||||
SteamBrowser_Callback_StartRequest_p = BP_GetFunctionPointer()
|
;CALLBACK_MEMBER(1, const char *, pBGRA ) // a pointer to the B8G8R8A8 data for this surface, valid until SteamAPI_RunCallbacks is next called
|
||||||
SteamBrowser_Callback_StartRequest_c = BS_Callback_New(SteamBrowser_Callback_StartRequest_p)
|
;CALLBACK_MEMBER(2, uint32, unWide) // the total width of the pBGRA texture
|
||||||
Return
|
;CALLBACK_MEMBER(3, uint32, unTall) // the total height of the pBGRA texture
|
||||||
EndIf
|
;CALLBACK_MEMBER(4, uint32, unUpdateX) // the offset in X for the damage rect for this update
|
||||||
|
;CALLBACK_MEMBER(5, uint32, unUpdateY) // the offset in Y for the damage rect for this update
|
||||||
; Search for a valid SteamBrowser object.
|
;CALLBACK_MEMBER(6, uint32, unUpdateWide) // the width of the damage rect for this update
|
||||||
Local SB.SteamBrowser = SteamBrowser_Find(BS_Memory_PeekInt(pvParam, 0), 0)
|
;CALLBACK_MEMBER(7, uint32, unUpdateTall) // the height of the damage rect for this update
|
||||||
|
;CALLBACK_MEMBER(8, uint32, unScrollX) // the page scroll the browser was at when this texture was rendered
|
||||||
; Default to allow all requests. (Why not? For an Example, this is good enough.)
|
;CALLBACK_MEMBER(9, uint32, unScrollY) // the page scroll the browser was at when this texture was rendered
|
||||||
; Could implement a simple filter using a second type, but why don't you experiment a bit?
|
;CALLBACK_MEMBER(10, float, flPageScale) // the page scale factor on this page when rendered
|
||||||
BS_ISteamHTMLSurface_AllowStartRequest BS_SteamHTMLSurface(), SB\Id, True
|
;CALLBACK_MEMBER(11, uint32, unPageSerial) // incremented on each new page load, you can use this to reject draws while navigating to new pages
|
||||||
End Function:SteamBrowser_Callback_StartRequest(0, 0, 0)
|
End Function:SteamBrowser_Callback_NeedsPaint(0, 0, 0)
|
||||||
|
|
||||||
|
Function SteamBrowser_Callback_StartRequest(pvParam%, p2, p3)
|
||||||
|
If (SteamBrowser_Callback_StartRequest_p = 0) Then
|
||||||
|
SteamBrowser_Callback_StartRequest_p = BP_GetFunctionPointer()
|
||||||
;----------------------------------------------------------------
|
SteamBrowser_Callback_StartRequest_c = BS_Callback_New(SteamBrowser_Callback_StartRequest_p)
|
||||||
;! Example Code
|
Return
|
||||||
;----------------------------------------------------------------
|
EndIf
|
||||||
If BS_SteamAPI_Init() = 0 Then RuntimeError "Steam failed to initialize."
|
|
||||||
|
; Search for a valid SteamBrowser object.
|
||||||
; Steam: Hooks, Callbacks, CallResults
|
Local SB.SteamBrowser = SteamBrowser_Find(BS_Memory_PeekInt(pvParam, 0), 0)
|
||||||
BS_ISteamClient_SetWarningMessageHook BS_SteamClient(), Steam_WarningMessageHook_Callback
|
|
||||||
|
; Default to allow all requests. (Why not? For an Example, this is good enough.)
|
||||||
; Steam: HTMLSurface API
|
; Could implement a simple filter using a second type, but why don't you experiment a bit?
|
||||||
If BS_SteamHTMLSurface() = 0 Then RuntimeError "Steam: HTMLSurface API is not available."
|
BS_ISteamHTMLSurface_AllowStartRequest BS_SteamHTMLSurface(), SB\Id, True
|
||||||
If BS_ISteamHTMLSurface_Init(BS_SteamHTMLSurface()) = 0 Then RuntimeError "Steam: HTMLSurface API did not want to be initialized?!"
|
End Function:SteamBrowser_Callback_StartRequest(0, 0, 0)
|
||||||
;BS_ISteamHTMLSurface_SetSize BS_SteamHTMLSurface(), 0, GraphicsWidth(), GraphicsHeight()
|
|
||||||
|
|
||||||
Const FPS = 60
|
|
||||||
Const FPS_MULT# = 1.0 / FPS
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
; Demo Scene
|
;! Example Code
|
||||||
Graphics3D 1024, 768, 32, 2
|
;----------------------------------------------------------------
|
||||||
SetBuffer BackBuffer()
|
If BS_SteamAPI_Init() = 0 Then RuntimeError "Steam failed to initialize."
|
||||||
|
|
||||||
Local demoTimer = CreateTimer(FPS)
|
; Steam: Hooks, Callbacks, CallResults
|
||||||
Local demoRoot = CreatePivot()
|
BS_ISteamClient_SetWarningMessageHook BS_SteamClient(), Steam_WarningMessageHook_Callback
|
||||||
Local demoCameraRoot = CreatePivot(demoRoot)
|
|
||||||
Local demoCamera = CreateCamera(demoCameraRoot)
|
; Steam: HTMLSurface API
|
||||||
MoveEntity demoCamera, 0, 0, -10
|
If BS_SteamHTMLSurface() = 0 Then RuntimeError "Steam: HTMLSurface API is not available."
|
||||||
Local demoCube = CreateCube(demoRoot)
|
If BS_ISteamHTMLSurface_Init(BS_SteamHTMLSurface()) = 0 Then RuntimeError "Steam: HTMLSurface API did not want to be initialized?!"
|
||||||
|
;BS_ISteamHTMLSurface_SetSize BS_SteamHTMLSurface(), 0, GraphicsWidth(), GraphicsHeight()
|
||||||
; Create a Browser
|
|
||||||
Local myBrowser.SteamBrowser = SteamBrowser_Create(GraphicsWidth(), GraphicsHeight(), "http://store.steampowered.com/app/368720/")
|
Const FPS = 60
|
||||||
|
Const FPS_MULT# = 1.0 / FPS
|
||||||
Local Mouse[3], MouseButton[3], Key[255]
|
|
||||||
While Not KeyHit(1)
|
; Demo Scene
|
||||||
Cls
|
Graphics3D 1024, 768, 32, 2
|
||||||
|
SetBuffer BackBuffer()
|
||||||
; Only allow input when the browser is up to date.
|
|
||||||
;If (myBrowser\iLastDraw > myBrowser\iLastRequest) Then
|
Local demoTimer = CreateTimer(FPS)
|
||||||
If True
|
Local demoRoot = CreatePivot()
|
||||||
; Mouse Input
|
Local demoCameraRoot = CreatePivot(demoRoot)
|
||||||
If Mouse[0] <> MouseX() Or Mouse[1] <> MouseY() Then
|
Local demoCamera = CreateCamera(demoCameraRoot)
|
||||||
Mouse[0] = MouseX()
|
MoveEntity demoCamera, 0, 0, -10
|
||||||
Mouse[1] = MouseY()
|
Local demoCube = CreateCube(demoRoot)
|
||||||
BS_ISteamHTMLSurface_MouseMove BS_SteamHTMLSurface(), myBrowser\Id, MouseX(), MouseY()
|
|
||||||
EndIf
|
; Create a Browser
|
||||||
If Mouse[2] <> MouseZ() Then
|
Local myBrowser.SteamBrowser = SteamBrowser_Create(GraphicsWidth(), GraphicsHeight(), "http://store.steampowered.com/app/368720/")
|
||||||
Mouse[2] = MouseZ()
|
|
||||||
BS_ISteamHTMLSurface_MouseWheel BS_SteamHTMLSurface(), myBrowser\Id, MouseZSpeed()*30
|
Local Mouse[3], MouseButton[3], Key[255]
|
||||||
EndIf
|
While Not KeyHit(1)
|
||||||
|
Cls
|
||||||
Local Button
|
|
||||||
For Button = 1 To 3
|
; Only allow input when the browser is up to date.
|
||||||
Local ButtonDown = MouseDown(Button)
|
;If (myBrowser\iLastDraw > myBrowser\iLastRequest) Then
|
||||||
If MouseButton[Button] <> ButtonDown Then
|
If True
|
||||||
MouseButton[Button] = MouseDown(Button)
|
; Mouse Input
|
||||||
|
If Mouse[0] <> MouseX() Or Mouse[1] <> MouseY() Then
|
||||||
If ButtonDown
|
Mouse[0] = MouseX()
|
||||||
BS_ISteamHTMLSurface_MouseDown BS_SteamHTMLSurface(), myBrowser\Id, Button - 1
|
Mouse[1] = MouseY()
|
||||||
Else
|
BS_ISteamHTMLSurface_MouseMove BS_SteamHTMLSurface(), myBrowser\Id, MouseX(), MouseY()
|
||||||
BS_ISteamHTMLSurface_MouseUp BS_SteamHTMLSurface(), myBrowser\Id, Button - 1
|
EndIf
|
||||||
EndIf
|
If Mouse[2] <> MouseZ() Then
|
||||||
EndIf
|
Mouse[2] = MouseZ()
|
||||||
Next
|
BS_ISteamHTMLSurface_MouseWheel BS_SteamHTMLSurface(), myBrowser\Id, MouseZSpeed()*30
|
||||||
|
EndIf
|
||||||
; Keyboard
|
|
||||||
Local Modifier = BS_EHTMLKeyModifiers_None
|
Local Button
|
||||||
If KeyDown(42) Or KeyDown(54) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_ShiftDown
|
For Button = 1 To 3
|
||||||
If KeyDown(29) Or KeyDown(157) Or KeyDown(184) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_CtrlDown
|
Local ButtonDown = MouseDown(Button)
|
||||||
If KeyDown(56) Or KeyDown(184) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_AltDown
|
If MouseButton[Button] <> ButtonDown Then
|
||||||
|
MouseButton[Button] = MouseDown(Button)
|
||||||
Local VK
|
|
||||||
For VK = 0 To 255
|
If ButtonDown
|
||||||
Local SC = InputEx_User32_MapVirtualKeyEx(VK, 0, 0)
|
BS_ISteamHTMLSurface_MouseDown BS_SteamHTMLSurface(), myBrowser\Id, Button - 1
|
||||||
|
Else
|
||||||
Local KeyDownN = KeyDown(SC)
|
BS_ISteamHTMLSurface_MouseUp BS_SteamHTMLSurface(), myBrowser\Id, Button - 1
|
||||||
If Key[VK] <> KeyDownN Then
|
EndIf
|
||||||
Key[VK] = KeyDownN
|
EndIf
|
||||||
|
Next
|
||||||
If KeyDownN = 1 Then
|
|
||||||
BS_ISteamHTMLSurface_KeyDown BS_SteamHTMLSurface(), myBrowser\Id, VK, Modifier
|
; Keyboard
|
||||||
Else
|
Local Modifier = BS_EHTMLKeyModifiers_None
|
||||||
BS_ISteamHTMLSurface_KeyUp BS_SteamHTMLSurface(), myBrowser\Id, VK, Modifier
|
If KeyDown(42) Or KeyDown(54) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_ShiftDown
|
||||||
EndIf
|
If KeyDown(29) Or KeyDown(157) Or KeyDown(184) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_CtrlDown
|
||||||
EndIf
|
If KeyDown(56) Or KeyDown(184) Then Modifier = Modifier Or BS_EHTMLKeyModifiers_AltDown
|
||||||
Next
|
|
||||||
Local GetKeyC = GetKey()
|
Local VK
|
||||||
If GetKeyC
|
For VK = 0 To 255
|
||||||
BS_ISteamHTMLSurface_KeyChar BS_SteamHTMLSurface(), myBrowser\Id, GetKeyC, Modifier
|
Local SC = InputEx_User32_MapVirtualKeyEx(VK, 0, 0)
|
||||||
EndIf
|
|
||||||
|
Local KeyDownN = KeyDown(SC)
|
||||||
EndIf
|
If Key[VK] <> KeyDownN Then
|
||||||
|
Key[VK] = KeyDownN
|
||||||
; Steam: Run any Callbacks
|
|
||||||
; Q: Why before RenderWorld/Flip?
|
If KeyDownN = 1 Then
|
||||||
; A: If we did any changes, having them available before Rendering helps responsiveness.
|
BS_ISteamHTMLSurface_KeyDown BS_SteamHTMLSurface(), myBrowser\Id, VK, Modifier
|
||||||
; A one-frame Delay is noticeable, even to people claiming the eye only sees 30 fps.
|
Else
|
||||||
; Please read a Biology book if you are one of those, it doesn't work like that.
|
BS_ISteamHTMLSurface_KeyUp BS_SteamHTMLSurface(), myBrowser\Id, VK, Modifier
|
||||||
BS_SteamAPI_RunCallbacks()
|
EndIf
|
||||||
|
EndIf
|
||||||
RenderWorld
|
Next
|
||||||
|
Local GetKeyC = GetKey()
|
||||||
;If (myBrowser\iLastDraw > myBrowser\iLastRequest) Then
|
If GetKeyC
|
||||||
If Not KeyDown(57)
|
BS_ISteamHTMLSurface_KeyChar BS_SteamHTMLSurface(), myBrowser\Id, GetKeyC, Modifier
|
||||||
DrawBlock SteamBrowser_GetImageHandle(myBrowser), 0, 0, 0
|
EndIf
|
||||||
Color 255, 0, 0
|
|
||||||
Rect myBrowser\UpdateRegion[0],myBrowser\UpdateRegion[1],myBrowser\UpdateRegion[2],myBrowser\UpdateRegion[3], 0
|
EndIf
|
||||||
Else
|
|
||||||
EntityTexture demoCube, SteamBrowser_GetTextureHandle(myBrowser)
|
; Steam: Run any Callbacks
|
||||||
EndIf
|
; Q: Why before RenderWorld/Flip?
|
||||||
;EndIf
|
; A: If we did any changes, having them available before Rendering helps responsiveness.
|
||||||
|
; A one-frame Delay is noticeable, even to people claiming the eye only sees 30 fps.
|
||||||
Flip
|
; Please read a Biology book if you are one of those, it doesn't work like that.
|
||||||
WaitTimer demoTimer
|
BS_SteamAPI_RunCallbacks()
|
||||||
Wend
|
|
||||||
|
RenderWorld
|
||||||
; Destroy existing Browser
|
|
||||||
SteamBrowser_Destroy(myBrowser):myBrowser = Null
|
;If (myBrowser\iLastDraw > myBrowser\iLastRequest) Then
|
||||||
|
If Not KeyDown(57)
|
||||||
; Steam: HTMLSurface API
|
DrawBlock SteamBrowser_GetImageHandle(myBrowser), 0, 0, 0
|
||||||
BS_ISteamHTMLSurface_Shutdown(BS_SteamHTMLSurface())
|
Color 255, 0, 0
|
||||||
BS_SteamAPI_Shutdown()
|
Rect myBrowser\UpdateRegion[0],myBrowser\UpdateRegion[1],myBrowser\UpdateRegion[2],myBrowser\UpdateRegion[3], 0
|
||||||
|
Else
|
||||||
EndGraphics
|
EntityTexture demoCube, SteamBrowser_GetTextureHandle(myBrowser)
|
||||||
End
|
EndIf
|
||||||
|
;EndIf
|
||||||
;~IDEal Editor Parameters:
|
|
||||||
;~F#8#19
|
Flip
|
||||||
|
WaitTimer demoTimer
|
||||||
|
Wend
|
||||||
|
|
||||||
|
; Destroy existing Browser
|
||||||
|
SteamBrowser_Destroy(myBrowser):myBrowser = Null
|
||||||
|
|
||||||
|
; Steam: HTMLSurface API
|
||||||
|
BS_ISteamHTMLSurface_Shutdown(BS_SteamHTMLSurface())
|
||||||
|
BS_SteamAPI_Shutdown()
|
||||||
|
|
||||||
|
EndGraphics
|
||||||
|
End
|
||||||
|
|
||||||
|
;~IDEal Editor Parameters:
|
||||||
|
;~F#17#28
|
||||||
;~C#Blitz3D
|
;~C#Blitz3D
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
; BlitzSteam - Steam wrapper for Blitz
|
||||||
|
; Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
;
|
||||||
|
; This program 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.
|
||||||
|
;
|
||||||
|
; This program 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 General Public License for more details.
|
||||||
|
;
|
||||||
|
; You should have received a copy of the GNU Lesser General Public License
|
||||||
|
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Include "../BlitzSteam.bb"
|
||||||
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
;! Configuration
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
Const APPID = 480 ; Test App / SpaceWar
|
||||||
|
|
||||||
|
Const FRAMERATE = 60
|
||||||
|
Const RESOLUTION_X = 1024
|
||||||
|
Const RESOLUTION_Y = 768
|
||||||
|
Const RESOLUTION_Z = 32
|
||||||
|
Const RESOLUTION_MODE = 2
|
||||||
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
;! Init Code
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
Global Timer = CreateTimer(FRAMERATE)
|
||||||
|
|
||||||
|
Global ServerListResponse_ServerResponded_p%:ServerListResponse_ServerResponded(0, 0)
|
||||||
|
Global ServerListResponse_RefreshComplete_p%:ServerListResponse_RefreshComplete(0, 0)
|
||||||
|
|
||||||
|
Graphics RESOLUTION_X, RESOLUTION_Y, RESOLUTION_Z, RESOLUTION_MODE
|
||||||
|
SetBuffer BackBuffer()
|
||||||
|
|
||||||
|
If Not BS_SteamAPI_Init() Then RuntimeError "Failed to initialize Steam!"
|
||||||
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
;! Main Code
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
Local Bank =CreateBank(1)
|
||||||
|
Local pRequestServersResponse = BS_ISteamMatchmakingServerListResponse_New(ServerListResponse_ServerResponded_p, 0, ServerListResponse_RefreshComplete_p)
|
||||||
|
Local hRequest = BS_ISteamMatchmakingServers_RequestInternetServerList(BS_SteamMatchmakingServers(), 480, Bank, 0, pRequestServersResponse)
|
||||||
|
|
||||||
|
While Not KeyHit(1)
|
||||||
|
WaitTimer Timer
|
||||||
|
BS_SteamAPI_RunCallbacks()
|
||||||
|
Wend
|
||||||
|
|
||||||
|
BS_ISteamMatchmakingServers_ReleaseRequest(BS_SteamMatchmakingServers(), hRequest)
|
||||||
|
BS_SteamAPI_Shutdown()
|
||||||
|
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
;! Functions
|
||||||
|
;----------------------------------------------------------------
|
||||||
|
Function ServerListResponse_ServerResponded(hRequest%, iServer%)
|
||||||
|
If (Not ServerListResponse_ServerResponded_p)
|
||||||
|
ServerListResponse_ServerResponded_p = BP_GetFunctionPointer()
|
||||||
|
Return
|
||||||
|
EndIf
|
||||||
|
Print iServer
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function ServerListResponse_RefreshComplete(hRequest%, eMatchMakingServerResponse%)
|
||||||
|
If (Not ServerListResponse_RefreshComplete_p)
|
||||||
|
ServerListResponse_RefreshComplete_p = BP_GetFunctionPointer()
|
||||||
|
Return
|
||||||
|
EndIf
|
||||||
|
|
||||||
|
Select eMatchMakingServerResponse
|
||||||
|
Case BS_EMatchMakingServerResponse_ServerResponded
|
||||||
|
Print "Got Servers"
|
||||||
|
Case BS_EMatchMakingServerResponse_ServerFailedToRespond
|
||||||
|
Print "Server did not respond"
|
||||||
|
Case BS_EMatchMakingServerResponse_NoServersListedOnMasterServer
|
||||||
|
Print "No Servers listed for this game."
|
||||||
|
Default
|
||||||
|
Print "Unknown"
|
||||||
|
End Select
|
||||||
|
End Function
|
||||||
|
|
||||||
|
;~IDEal Editor Parameters:
|
||||||
|
;~C#Blitz3D
|
||||||
+265
-265
@@ -1,266 +1,266 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzCallback.h"
|
#include "BlitzCallback.h"
|
||||||
|
|
||||||
void BlitzCallback::Initialize() {
|
void BlitzCallback::Initialize() {
|
||||||
#define BlitzCallback_DefineSize(T) BlitzCallback::Sizes.emplace(T::k_iCallback, sizeof(T));
|
#define BlitzCallback_DefineSize(T) BlitzCallback::Sizes.emplace(T::k_iCallback, sizeof(T));
|
||||||
// Do nothing if it was already done.
|
// Do nothing if it was already done.
|
||||||
if (BlitzCallback::Sizes.size() > 0)
|
if (BlitzCallback::Sizes.size() > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Default to the size of the class itself if no callback id is given.
|
// Default to the size of the class itself if no callback id is given.
|
||||||
BlitzCallback::Sizes.emplace(0, sizeof(BlitzCallback));
|
BlitzCallback::Sizes.emplace(0, sizeof(BlitzCallback));
|
||||||
|
|
||||||
// SteamAPI
|
// SteamAPI
|
||||||
// SteamAppList
|
// SteamAppList
|
||||||
BlitzCallback_DefineSize(SteamAppInstalled_t);
|
BlitzCallback_DefineSize(SteamAppInstalled_t);
|
||||||
BlitzCallback_DefineSize(SteamAppUninstalled_t);
|
BlitzCallback_DefineSize(SteamAppUninstalled_t);
|
||||||
// SteamApps
|
// SteamApps
|
||||||
BlitzCallback_DefineSize(DlcInstalled_t);
|
BlitzCallback_DefineSize(DlcInstalled_t);
|
||||||
BlitzCallback_DefineSize(RegisterActivationCodeResponse_t);
|
BlitzCallback_DefineSize(RegisterActivationCodeResponse_t);
|
||||||
BlitzCallback_DefineSize(AppProofOfPurchaseKeyResponse_t);
|
BlitzCallback_DefineSize(AppProofOfPurchaseKeyResponse_t);
|
||||||
BlitzCallback_DefineSize(NewLaunchQueryParameters_t);
|
BlitzCallback_DefineSize(NewLaunchQueryParameters_t);
|
||||||
// SteamController
|
// SteamController
|
||||||
// SteamFriends
|
// SteamFriends
|
||||||
BlitzCallback_DefineSize(PersonaStateChange_t);
|
BlitzCallback_DefineSize(PersonaStateChange_t);
|
||||||
BlitzCallback_DefineSize(GameOverlayActivated_t);
|
BlitzCallback_DefineSize(GameOverlayActivated_t);
|
||||||
BlitzCallback_DefineSize(GameServerChangeRequested_t);
|
BlitzCallback_DefineSize(GameServerChangeRequested_t);
|
||||||
BlitzCallback_DefineSize(GameLobbyJoinRequested_t);
|
BlitzCallback_DefineSize(GameLobbyJoinRequested_t);
|
||||||
BlitzCallback_DefineSize(AvatarImageLoaded_t);
|
BlitzCallback_DefineSize(AvatarImageLoaded_t);
|
||||||
BlitzCallback_DefineSize(ClanOfficerListResponse_t);
|
BlitzCallback_DefineSize(ClanOfficerListResponse_t);
|
||||||
BlitzCallback_DefineSize(FriendRichPresenceUpdate_t);
|
BlitzCallback_DefineSize(FriendRichPresenceUpdate_t);
|
||||||
BlitzCallback_DefineSize(GameRichPresenceJoinRequested_t);
|
BlitzCallback_DefineSize(GameRichPresenceJoinRequested_t);
|
||||||
BlitzCallback_DefineSize(GameConnectedClanChatMsg_t);
|
BlitzCallback_DefineSize(GameConnectedClanChatMsg_t);
|
||||||
BlitzCallback_DefineSize(GameConnectedChatJoin_t);
|
BlitzCallback_DefineSize(GameConnectedChatJoin_t);
|
||||||
BlitzCallback_DefineSize(GameConnectedChatLeave_t);
|
BlitzCallback_DefineSize(GameConnectedChatLeave_t);
|
||||||
BlitzCallback_DefineSize(DownloadClanActivityCountsResult_t);
|
BlitzCallback_DefineSize(DownloadClanActivityCountsResult_t);
|
||||||
BlitzCallback_DefineSize(JoinClanChatRoomCompletionResult_t);
|
BlitzCallback_DefineSize(JoinClanChatRoomCompletionResult_t);
|
||||||
BlitzCallback_DefineSize(GameConnectedFriendChatMsg_t);
|
BlitzCallback_DefineSize(GameConnectedFriendChatMsg_t);
|
||||||
BlitzCallback_DefineSize(FriendsGetFollowerCount_t);
|
BlitzCallback_DefineSize(FriendsGetFollowerCount_t);
|
||||||
BlitzCallback_DefineSize(FriendsIsFollowing_t);
|
BlitzCallback_DefineSize(FriendsIsFollowing_t);
|
||||||
BlitzCallback_DefineSize(FriendsEnumerateFollowingList_t);
|
BlitzCallback_DefineSize(FriendsEnumerateFollowingList_t);
|
||||||
BlitzCallback_DefineSize(SetPersonaNameResponse_t);
|
BlitzCallback_DefineSize(SetPersonaNameResponse_t);
|
||||||
// SteamGameServer
|
// SteamGameServer
|
||||||
BlitzCallback_DefineSize(GSClientApprove_t);
|
BlitzCallback_DefineSize(GSClientApprove_t);
|
||||||
BlitzCallback_DefineSize(GSClientDeny_t);
|
BlitzCallback_DefineSize(GSClientDeny_t);
|
||||||
BlitzCallback_DefineSize(GSClientKick_t);
|
BlitzCallback_DefineSize(GSClientKick_t);
|
||||||
BlitzCallback_DefineSize(GSClientAchievementStatus_t);
|
BlitzCallback_DefineSize(GSClientAchievementStatus_t);
|
||||||
BlitzCallback_DefineSize(GSPolicyResponse_t);
|
BlitzCallback_DefineSize(GSPolicyResponse_t);
|
||||||
BlitzCallback_DefineSize(GSGameplayStats_t);
|
BlitzCallback_DefineSize(GSGameplayStats_t);
|
||||||
BlitzCallback_DefineSize(GSClientGroupStatus_t);
|
BlitzCallback_DefineSize(GSClientGroupStatus_t);
|
||||||
BlitzCallback_DefineSize(GSReputation_t);
|
BlitzCallback_DefineSize(GSReputation_t);
|
||||||
BlitzCallback_DefineSize(AssociateWithClanResult_t);
|
BlitzCallback_DefineSize(AssociateWithClanResult_t);
|
||||||
BlitzCallback_DefineSize(ComputeNewPlayerCompatibilityResult_t);
|
BlitzCallback_DefineSize(ComputeNewPlayerCompatibilityResult_t);
|
||||||
// SteamGameServerStats
|
// SteamGameServerStats
|
||||||
BlitzCallback_DefineSize(GSStatsReceived_t);
|
BlitzCallback_DefineSize(GSStatsReceived_t);
|
||||||
BlitzCallback_DefineSize(GSStatsStored_t);
|
BlitzCallback_DefineSize(GSStatsStored_t);
|
||||||
BlitzCallback_DefineSize(GSStatsUnloaded_t);
|
BlitzCallback_DefineSize(GSStatsUnloaded_t);
|
||||||
// SteamHTMLSurface
|
// SteamHTMLSurface
|
||||||
BlitzCallback_DefineSize(HTML_BrowserReady_t);
|
BlitzCallback_DefineSize(HTML_BrowserReady_t);
|
||||||
// SteamHTTP
|
// SteamHTTP
|
||||||
BlitzCallback_DefineSize(HTTPRequestCompleted_t);
|
BlitzCallback_DefineSize(HTTPRequestCompleted_t);
|
||||||
BlitzCallback_DefineSize(HTTPRequestHeadersReceived_t);
|
BlitzCallback_DefineSize(HTTPRequestHeadersReceived_t);
|
||||||
BlitzCallback_DefineSize(HTTPRequestDataReceived_t);
|
BlitzCallback_DefineSize(HTTPRequestDataReceived_t);
|
||||||
// SteamInventory
|
// SteamInventory
|
||||||
BlitzCallback_DefineSize(SteamInventoryResultReady_t);
|
BlitzCallback_DefineSize(SteamInventoryResultReady_t);
|
||||||
BlitzCallback_DefineSize(SteamInventoryFullUpdate_t);
|
BlitzCallback_DefineSize(SteamInventoryFullUpdate_t);
|
||||||
BlitzCallback_DefineSize(SteamInventoryDefinitionUpdate_t);
|
BlitzCallback_DefineSize(SteamInventoryDefinitionUpdate_t);
|
||||||
// SteamMatchmaking
|
// SteamMatchmaking
|
||||||
// SteamMatchmakingServers
|
// SteamMatchmakingServers
|
||||||
// SteamMusic
|
// SteamMusic
|
||||||
// SteamMusicRemote
|
// SteamMusicRemote
|
||||||
// SteamNetworking
|
// SteamNetworking
|
||||||
BlitzCallback_DefineSize(P2PSessionRequest_t);
|
BlitzCallback_DefineSize(P2PSessionRequest_t);
|
||||||
BlitzCallback_DefineSize(P2PSessionConnectFail_t);
|
BlitzCallback_DefineSize(P2PSessionConnectFail_t);
|
||||||
BlitzCallback_DefineSize(SocketStatusCallback_t);
|
BlitzCallback_DefineSize(SocketStatusCallback_t);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<int32_t, size_t> BlitzCallback::Sizes;
|
std::map<int32_t, size_t> BlitzCallback::Sizes;
|
||||||
|
|
||||||
BlitzCallback::BlitzCallback(BP_BlitzFunction3_t pFunctionPointer) {
|
BlitzCallback::BlitzCallback(BP_BlitzFunction3_t pFunctionPointer) {
|
||||||
BlitzCallback::Initialize();
|
BlitzCallback::Initialize();
|
||||||
|
|
||||||
// Initialize all values to 0.
|
// Initialize all values to 0.
|
||||||
this->m_iCallback = 0;
|
this->m_iCallback = 0;
|
||||||
this->m_nCallbackFlags = 0;
|
this->m_nCallbackFlags = 0;
|
||||||
this->m_hSteamAPICall = 0;
|
this->m_hSteamAPICall = 0;
|
||||||
|
|
||||||
// Set function pointer.
|
// Set function pointer.
|
||||||
this->m_pFunctionPointer = pFunctionPointer;
|
this->m_pFunctionPointer = pFunctionPointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlitzCallback::~BlitzCallback() {
|
BlitzCallback::~BlitzCallback() {
|
||||||
// Unregister if we are still registered.
|
// Unregister if we are still registered.
|
||||||
this->UnregisterResult();
|
this->UnregisterResult();
|
||||||
this->Unregister();
|
this->Unregister();
|
||||||
|
|
||||||
// Reset all variables to 0.
|
// Reset all variables to 0.
|
||||||
this->m_iCallback = 0;
|
this->m_iCallback = 0;
|
||||||
this->m_nCallbackFlags = 0;
|
this->m_nCallbackFlags = 0;
|
||||||
this->m_hSteamAPICall = 0;
|
this->m_hSteamAPICall = 0;
|
||||||
this->m_pFunctionPointer = 0;
|
this->m_pFunctionPointer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::Run(void *pvParam) {
|
void BlitzCallback::Run(void *pvParam) {
|
||||||
if (m_hSteamAPICall != 0)
|
if (m_hSteamAPICall != 0)
|
||||||
m_hSteamAPICall = 0; // Caller unregisters for us.
|
m_hSteamAPICall = 0; // Caller unregisters for us.
|
||||||
|
|
||||||
BP_CallFunction3(m_pFunctionPointer, reinterpret_cast<int32_t>(pvParam), 0, 0);
|
BP_CallFunction3(m_pFunctionPointer, reinterpret_cast<int32_t>(pvParam), 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::Run(void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall) {
|
void BlitzCallback::Run(void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall) {
|
||||||
if (m_hSteamAPICall != 0)
|
if (m_hSteamAPICall != 0)
|
||||||
m_hSteamAPICall = 0; // Caller unregisters for us.
|
m_hSteamAPICall = 0; // Caller unregisters for us.
|
||||||
|
|
||||||
BP_CallFunction3(m_pFunctionPointer, reinterpret_cast<int32_t>(pvParam), (bIOFailure ? 0 : 1), reinterpret_cast<int32_t>(&hSteamAPICall));
|
BP_CallFunction3(m_pFunctionPointer, reinterpret_cast<int32_t>(pvParam), (bIOFailure ? 0 : 1), reinterpret_cast<int32_t>(&hSteamAPICall));
|
||||||
}
|
}
|
||||||
|
|
||||||
int BlitzCallback::GetCallbackSizeBytes() {
|
int BlitzCallback::GetCallbackSizeBytes() {
|
||||||
return (BlitzCallback::Sizes.find(this->m_iCallback)->second);
|
return (BlitzCallback::Sizes.find(this->m_iCallback)->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::SetCallback(int32_t iCallback) {
|
void BlitzCallback::SetCallback(int32_t iCallback) {
|
||||||
this->m_iCallback = iCallback;
|
this->m_iCallback = iCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t BlitzCallback::GetCallback() {
|
int32_t BlitzCallback::GetCallback() {
|
||||||
return this->m_iCallback;
|
return this->m_iCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::SetFunction(BP_BlitzFunction3_t pFunction) {
|
void BlitzCallback::SetFunction(BP_BlitzFunction3_t pFunction) {
|
||||||
this->m_pFunctionPointer = pFunction;
|
this->m_pFunctionPointer = pFunction;
|
||||||
}
|
}
|
||||||
|
|
||||||
BP_BlitzFunction3_t BlitzCallback::GetFunction() {
|
BP_BlitzFunction3_t BlitzCallback::GetFunction() {
|
||||||
return this->m_pFunctionPointer;
|
return this->m_pFunctionPointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BlitzCallback::IsRegistered() {
|
bool BlitzCallback::IsRegistered() {
|
||||||
return (this->m_nCallbackFlags & this->k_ECallbackFlagsRegistered) != 0;
|
return (this->m_nCallbackFlags & this->k_ECallbackFlagsRegistered) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::SetRegistered(bool bIsRegistered) {
|
void BlitzCallback::SetRegistered(bool bIsRegistered) {
|
||||||
this->m_nCallbackFlags &= ~k_ECallbackFlagsRegistered;
|
this->m_nCallbackFlags &= ~k_ECallbackFlagsRegistered;
|
||||||
if (bIsRegistered)
|
if (bIsRegistered)
|
||||||
this->m_nCallbackFlags |= k_ECallbackFlagsRegistered;
|
this->m_nCallbackFlags |= k_ECallbackFlagsRegistered;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BlitzCallback::IsGameServer() {
|
bool BlitzCallback::IsGameServer() {
|
||||||
return (this->m_nCallbackFlags & this->k_ECallbackFlagsGameServer) != 0;
|
return (this->m_nCallbackFlags & this->k_ECallbackFlagsGameServer) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::SetGameServer(bool bIsGameServer) {
|
void BlitzCallback::SetGameServer(bool bIsGameServer) {
|
||||||
this->m_nCallbackFlags &= ~k_ECallbackFlagsGameServer;
|
this->m_nCallbackFlags &= ~k_ECallbackFlagsGameServer;
|
||||||
if (bIsGameServer)
|
if (bIsGameServer)
|
||||||
this->m_nCallbackFlags |= k_ECallbackFlagsGameServer;
|
this->m_nCallbackFlags |= k_ECallbackFlagsGameServer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::Register(uint32_t iCallback) {
|
void BlitzCallback::Register(uint32_t iCallback) {
|
||||||
if (this->IsRegistered())
|
if (this->IsRegistered())
|
||||||
this->Unregister();
|
this->Unregister();
|
||||||
|
|
||||||
SteamAPI_RegisterCallback(this, iCallback);
|
SteamAPI_RegisterCallback(this, iCallback);
|
||||||
this->m_iCallback = iCallback;
|
this->m_iCallback = iCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::Unregister() {
|
void BlitzCallback::Unregister() {
|
||||||
if (this->IsRegistered()) {
|
if (this->IsRegistered()) {
|
||||||
SteamAPI_UnregisterCallback(this);
|
SteamAPI_UnregisterCallback(this);
|
||||||
this->m_iCallback = 0;
|
this->m_iCallback = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::RegisterResult(SteamAPICall_t hSteamAPICall, uint32_t iCallback) {
|
void BlitzCallback::RegisterResult(SteamAPICall_t hSteamAPICall, uint32_t iCallback) {
|
||||||
if (this->m_hSteamAPICall != 0)
|
if (this->m_hSteamAPICall != 0)
|
||||||
this->UnregisterResult();
|
this->UnregisterResult();
|
||||||
|
|
||||||
this->m_hSteamAPICall = hSteamAPICall;
|
this->m_hSteamAPICall = hSteamAPICall;
|
||||||
this->m_iCallback = iCallback;
|
this->m_iCallback = iCallback;
|
||||||
|
|
||||||
SteamAPI_RegisterCallResult(this, hSteamAPICall);
|
SteamAPI_RegisterCallResult(this, hSteamAPICall);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BlitzCallback::UnregisterResult() {
|
void BlitzCallback::UnregisterResult() {
|
||||||
if (this->m_hSteamAPICall != 0) {
|
if (this->m_hSteamAPICall != 0) {
|
||||||
SteamAPI_UnregisterCallResult(this, this->m_hSteamAPICall);
|
SteamAPI_UnregisterCallResult(this, this->m_hSteamAPICall);
|
||||||
this->m_hSteamAPICall = 0;
|
this->m_hSteamAPICall = 0;
|
||||||
this->m_iCallback = 0;
|
this->m_iCallback = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// C-Callables
|
// C-Callables
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(BlitzCallback*) BS_Callback_New(BP_BlitzFunction3_t pFunctionPointer) {
|
DLL(BlitzCallback*) BS_Callback_New(BP_BlitzFunction3_t pFunctionPointer) {
|
||||||
return new BlitzCallback(pFunctionPointer);
|
return new BlitzCallback(pFunctionPointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_Destroy(BlitzCallback* pCallback) {
|
DLL(void) BS_Callback_Destroy(BlitzCallback* pCallback) {
|
||||||
delete pCallback;
|
delete pCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Callback_GetCallbackSizeBytes(BlitzCallback* pCallback) {
|
DLL(int32_t) BS_Callback_GetCallbackSizeBytes(BlitzCallback* pCallback) {
|
||||||
return pCallback->GetCallbackSizeBytes();
|
return pCallback->GetCallbackSizeBytes();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_SetCallback(BlitzCallback* pCallback, int32_t iCallback) {
|
DLL(void) BS_Callback_SetCallback(BlitzCallback* pCallback, int32_t iCallback) {
|
||||||
pCallback->SetCallback(iCallback);
|
pCallback->SetCallback(iCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Callback_GetCallback(BlitzCallback* pCallback) {
|
DLL(int32_t) BS_Callback_GetCallback(BlitzCallback* pCallback) {
|
||||||
return pCallback->GetCallback();
|
return pCallback->GetCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_SetFunction(BlitzCallback* pCallback, BP_BlitzFunction3_t pFunction) {
|
DLL(void) BS_Callback_SetFunction(BlitzCallback* pCallback, BP_BlitzFunction3_t pFunction) {
|
||||||
pCallback->SetFunction(pFunction);
|
pCallback->SetFunction(pFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(BP_BlitzFunction3_t) BS_Callback_GetFunction(BlitzCallback* pCallback) {
|
DLL(BP_BlitzFunction3_t) BS_Callback_GetFunction(BlitzCallback* pCallback) {
|
||||||
return pCallback->GetFunction();
|
return pCallback->GetFunction();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Callback_IsRegistered(BlitzCallback* pCallback) {
|
DLL(int32_t) BS_Callback_IsRegistered(BlitzCallback* pCallback) {
|
||||||
return pCallback->IsRegistered();
|
return pCallback->IsRegistered();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_SetRegistered(BlitzCallback* pCallback, int32_t bIsRegistered) {
|
DLL(void) BS_Callback_SetRegistered(BlitzCallback* pCallback, int32_t bIsRegistered) {
|
||||||
pCallback->SetRegistered(!!bIsRegistered);
|
pCallback->SetRegistered(!!bIsRegistered);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Callback_IsGameServer(BlitzCallback* pCallback) {
|
DLL(int32_t) BS_Callback_IsGameServer(BlitzCallback* pCallback) {
|
||||||
return pCallback->IsGameServer();
|
return pCallback->IsGameServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_SetGameServer(BlitzCallback* pCallback, int32_t bIsGameServer) {
|
DLL(void) BS_Callback_SetGameServer(BlitzCallback* pCallback, int32_t bIsGameServer) {
|
||||||
pCallback->SetGameServer(!!bIsGameServer);
|
pCallback->SetGameServer(!!bIsGameServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_Register(BlitzCallback* pCallback, uint32_t iCallback) {
|
DLL(void) BS_Callback_Register(BlitzCallback* pCallback, uint32_t iCallback) {
|
||||||
pCallback->Register(iCallback);
|
pCallback->Register(iCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_Unregister(BlitzCallback* pCallback) {
|
DLL(void) BS_Callback_Unregister(BlitzCallback* pCallback) {
|
||||||
pCallback->Unregister();
|
pCallback->Unregister();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_RegisterResult(BlitzCallback* pCallback, SteamAPICall_t* pSteamAPICall, uint32_t iCallback) {
|
DLL(void) BS_Callback_RegisterResult(BlitzCallback* pCallback, SteamAPICall_t* pSteamAPICall, uint32_t iCallback) {
|
||||||
pCallback->RegisterResult(*pSteamAPICall, iCallback);
|
pCallback->RegisterResult(*pSteamAPICall, iCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Callback_UnregisterResult(BlitzCallback* pCallback) {
|
DLL(void) BS_Callback_UnregisterResult(BlitzCallback* pCallback) {
|
||||||
pCallback->UnregisterResult();
|
pCallback->UnregisterResult();
|
||||||
}
|
}
|
||||||
+95
-95
@@ -1,96 +1,96 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
#include "../Helpers/BlitzPointer.h"
|
#include "../Helpers/BlitzPointer.h"
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
class BlitzCallback : public CCallbackBase {
|
class BlitzCallback : public CCallbackBase {
|
||||||
// Static Parts
|
// Static Parts
|
||||||
public:
|
public:
|
||||||
/// Initializes the CallbackSizes list for future use.
|
/// Initializes the CallbackSizes list for future use.
|
||||||
static void Initialize();
|
static void Initialize();
|
||||||
static std::map<int32_t, size_t> Sizes;
|
static std::map<int32_t, size_t> Sizes;
|
||||||
|
|
||||||
// Class Parts
|
// Class Parts
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
BlitzCallback(BP_BlitzFunction3_t pFunctionPointer);
|
BlitzCallback(BP_BlitzFunction3_t pFunctionPointer);
|
||||||
// Destructor
|
// Destructor
|
||||||
~BlitzCallback();
|
~BlitzCallback();
|
||||||
|
|
||||||
// Run
|
// Run
|
||||||
virtual void Run(void *pvParam);
|
virtual void Run(void *pvParam);
|
||||||
virtual void Run(void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall);
|
virtual void Run(void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall);
|
||||||
|
|
||||||
// Callback Size
|
// Callback Size
|
||||||
virtual int GetCallbackSizeBytes();
|
virtual int GetCallbackSizeBytes();
|
||||||
|
|
||||||
// Accessors
|
// Accessors
|
||||||
void SetCallback(int32_t iCallback);
|
void SetCallback(int32_t iCallback);
|
||||||
int32_t GetCallback();
|
int32_t GetCallback();
|
||||||
|
|
||||||
void SetFunction(BP_BlitzFunction3_t pFunction);
|
void SetFunction(BP_BlitzFunction3_t pFunction);
|
||||||
BP_BlitzFunction3_t GetFunction();
|
BP_BlitzFunction3_t GetFunction();
|
||||||
|
|
||||||
bool IsRegistered();
|
bool IsRegistered();
|
||||||
void SetRegistered(bool bIsRegistered);
|
void SetRegistered(bool bIsRegistered);
|
||||||
|
|
||||||
bool IsGameServer();
|
bool IsGameServer();
|
||||||
void SetGameServer(bool bIsGameServer);
|
void SetGameServer(bool bIsGameServer);
|
||||||
|
|
||||||
// Registration in Steam
|
// Registration in Steam
|
||||||
/// Register as Callback
|
/// Register as Callback
|
||||||
void Register(uint32_t iCallback);
|
void Register(uint32_t iCallback);
|
||||||
void Unregister();
|
void Unregister();
|
||||||
|
|
||||||
/// Register as CallResult
|
/// Register as CallResult
|
||||||
void RegisterResult(SteamAPICall_t hSteamAPICall, uint32_t iCallback);
|
void RegisterResult(SteamAPICall_t hSteamAPICall, uint32_t iCallback);
|
||||||
void UnregisterResult();
|
void UnregisterResult();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Function to Call
|
/// Function to Call
|
||||||
BP_BlitzFunction3_t m_pFunctionPointer;
|
BP_BlitzFunction3_t m_pFunctionPointer;
|
||||||
|
|
||||||
/// Assigned SteamAPICall
|
/// Assigned SteamAPICall
|
||||||
SteamAPICall_t m_hSteamAPICall;
|
SteamAPICall_t m_hSteamAPICall;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// C-Callables
|
// C-Callables
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(BlitzCallback*) BS_Callback_New(BP_BlitzFunction3_t pFunctionPointer);
|
DLL(BlitzCallback*) BS_Callback_New(BP_BlitzFunction3_t pFunctionPointer);
|
||||||
DLL(void) BS_Callback_Destroy(BlitzCallback* pCallback);
|
DLL(void) BS_Callback_Destroy(BlitzCallback* pCallback);
|
||||||
|
|
||||||
DLL(int32_t) BS_Callback_GetCallbackSizeBytes(BlitzCallback* pCallback);
|
DLL(int32_t) BS_Callback_GetCallbackSizeBytes(BlitzCallback* pCallback);
|
||||||
DLL(void) BS_Callback_SetCallback(BlitzCallback* pCallback, int32_t iCallback);
|
DLL(void) BS_Callback_SetCallback(BlitzCallback* pCallback, int32_t iCallback);
|
||||||
DLL(int32_t) BS_Callback_GetCallback(BlitzCallback* pCallback);
|
DLL(int32_t) BS_Callback_GetCallback(BlitzCallback* pCallback);
|
||||||
DLL(void) BS_Callback_SetFunction(BlitzCallback* pCallback, BP_BlitzFunction3_t pFunction);
|
DLL(void) BS_Callback_SetFunction(BlitzCallback* pCallback, BP_BlitzFunction3_t pFunction);
|
||||||
DLL(BP_BlitzFunction3_t) BS_Callback_GetFunction(BlitzCallback* pCallback);
|
DLL(BP_BlitzFunction3_t) BS_Callback_GetFunction(BlitzCallback* pCallback);
|
||||||
DLL(void) BS_Callback_SetRegistered(BlitzCallback* pCallback, int32_t bIsRegistered);
|
DLL(void) BS_Callback_SetRegistered(BlitzCallback* pCallback, int32_t bIsRegistered);
|
||||||
DLL(int32_t) BS_Callback_IsRegistered(BlitzCallback* pCallback);
|
DLL(int32_t) BS_Callback_IsRegistered(BlitzCallback* pCallback);
|
||||||
DLL(void) BS_Callback_SetGameServer(BlitzCallback* pCallback, int32_t bIsGameServer);
|
DLL(void) BS_Callback_SetGameServer(BlitzCallback* pCallback, int32_t bIsGameServer);
|
||||||
DLL(int32_t) BS_Callback_IsGameServer(BlitzCallback* pCallback);
|
DLL(int32_t) BS_Callback_IsGameServer(BlitzCallback* pCallback);
|
||||||
|
|
||||||
DLL(void) BS_Callback_Register(BlitzCallback* pCallback, uint32_t iCallback);
|
DLL(void) BS_Callback_Register(BlitzCallback* pCallback, uint32_t iCallback);
|
||||||
DLL(void) BS_Callback_Unregister(BlitzCallback* pCallback);
|
DLL(void) BS_Callback_Unregister(BlitzCallback* pCallback);
|
||||||
DLL(void) BS_Callback_RegisterResult(BlitzCallback* pCallback, SteamAPICall_t* pSteamAPICall, uint32_t iCallback);
|
DLL(void) BS_Callback_RegisterResult(BlitzCallback* pCallback, SteamAPICall_t* pSteamAPICall, uint32_t iCallback);
|
||||||
DLL(void) BS_Callback_UnregisterResult(BlitzCallback* pCallback);
|
DLL(void) BS_Callback_UnregisterResult(BlitzCallback* pCallback);
|
||||||
+171
-168
@@ -1,169 +1,172 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "CSteamID.h"
|
#include "CSteamID.h"
|
||||||
|
|
||||||
DLL(CSteamID*) BS_CSteamID_New() {
|
DLL(CSteamID*) BS_CSteamID_New() {
|
||||||
return new CSteamID();
|
return new CSteamID();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_CSteamID_Copy(CSteamID* pOther) {
|
DLL(CSteamID*) BS_CSteamID_Copy(CSteamID* pOther) {
|
||||||
return new CSteamID(*pOther);
|
return new CSteamID(*pOther);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_Destroy(CSteamID* pThis) {
|
DLL(void) BS_CSteamID_Destroy(CSteamID* pThis) {
|
||||||
delete pThis;
|
delete pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_CSteamID_New_IdUniverseType(AccountID_t iAccountId, EUniverse eUniverse, EAccountType eAccountType) {
|
DLL(CSteamID*) BS_CSteamID_New_IdUniverseType(AccountID_t iAccountId, EUniverse eUniverse, EAccountType eAccountType) {
|
||||||
return new CSteamID(iAccountId, eUniverse, eAccountType);
|
return new CSteamID(iAccountId, eUniverse, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_CSteamID_New_IdInstanceUniverseType(AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType) {
|
DLL(CSteamID*) BS_CSteamID_New_IdInstanceUniverseType(AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType) {
|
||||||
return new CSteamID(iAccountId, iInstance, eUniverse, eAccountType);
|
return new CSteamID(iAccountId, iInstance, eUniverse, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_CSteamID_FromL(int64_t* pOther) {
|
DLL(CSteamID*) BS_CSteamID_FromL(int64_t* pOther) {
|
||||||
return new CSteamID((uint64_t)*pOther);
|
return new CSteamID((uint64_t)*pOther);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_CSteamID_ToL(CSteamID* pThis) {
|
DLL(int64_t*) BS_CSteamID_ToL(CSteamID* pThis) {
|
||||||
return new int64_t(pThis->ConvertToUint64());
|
return new int64_t(pThis->ConvertToUint64());
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_Set(CSteamID* pThis, AccountID_t iAccountID, EUniverse eUniverse, EAccountType eAccountType) {
|
DLL(void) BS_CSteamID_Set(CSteamID* pThis, AccountID_t iAccountID, EUniverse eUniverse, EAccountType eAccountType) {
|
||||||
pThis->Set(iAccountID, eUniverse, eAccountType);
|
pThis->Set(iAccountID, eUniverse, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_InstancedSet(CSteamID* pThis, AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType) {
|
DLL(void) BS_CSteamID_InstancedSet(CSteamID* pThis, AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType) {
|
||||||
pThis->InstancedSet(iAccountId, iInstance, eUniverse, eAccountType);
|
pThis->InstancedSet(iAccountId, iInstance, eUniverse, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_FullSet(CSteamID* pThis, int64_t* plIdentifier, EUniverse eUniverse, EAccountType eAccountType) {
|
DLL(void) BS_CSteamID_FullSet(CSteamID* pThis, int64_t* plIdentifier, EUniverse eUniverse, EAccountType eAccountType) {
|
||||||
pThis->FullSet(*plIdentifier, eUniverse, eAccountType);
|
pThis->FullSet(*plIdentifier, eUniverse, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetFromLong(CSteamID* pThis, int64_t* plSteamID) {
|
DLL(void) BS_CSteamID_SetFromLong(CSteamID* pThis, int64_t* plSteamID) {
|
||||||
pThis->SetFromUint64(*plSteamID);
|
pThis->SetFromUint64(*plSteamID);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_Clear(CSteamID* pThis) {
|
DLL(void) BS_CSteamID_Clear(CSteamID* pThis) {
|
||||||
pThis->Clear();
|
pThis->Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_CSteamID_GetStaticAccountKey(CSteamID* pThis) {
|
DLL(int64_t*) BS_CSteamID_GetStaticAccountKey(CSteamID* pThis) {
|
||||||
return new int64_t(pThis->GetStaticAccountKey());
|
return new int64_t(pThis->GetStaticAccountKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_CreateBlankAnonLogon(CSteamID* pThis, EUniverse eUniverse) {
|
DLL(void) BS_CSteamID_CreateBlankAnonLogon(CSteamID* pThis, EUniverse eUniverse) {
|
||||||
pThis->CreateBlankAnonLogon(eUniverse);
|
pThis->CreateBlankAnonLogon(eUniverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_CreateBlankAnonUserLogon(CSteamID* pThis, EUniverse eUniverse) {
|
DLL(void) BS_CSteamID_CreateBlankAnonUserLogon(CSteamID* pThis, EUniverse eUniverse) {
|
||||||
pThis->CreateBlankAnonUserLogon(eUniverse);
|
pThis->CreateBlankAnonUserLogon(eUniverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsBlankAnonAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsBlankAnonAccount(CSteamID* pThis) {
|
||||||
return pThis->BBlankAnonAccount();
|
return pThis->BBlankAnonAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsGameServerAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsGameServerAccount(CSteamID* pThis) {
|
||||||
return pThis->BGameServerAccount();
|
return pThis->BGameServerAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsPersistentGameServerAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsPersistentGameServerAccount(CSteamID* pThis) {
|
||||||
return pThis->BPersistentGameServerAccount();
|
return pThis->BPersistentGameServerAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonGameServerAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsAnonGameServerAccount(CSteamID* pThis) {
|
||||||
return pThis->BAnonGameServerAccount();
|
return pThis->BAnonGameServerAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsContentServerAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsContentServerAccount(CSteamID* pThis) {
|
||||||
return pThis->BContentServerAccount();
|
return pThis->BContentServerAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsClanAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsClanAccount(CSteamID* pThis) {
|
||||||
return pThis->BClanAccount();
|
return pThis->BClanAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsChatAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsChatAccount(CSteamID* pThis) {
|
||||||
return pThis->BChatAccount();
|
return pThis->BChatAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsLobby(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsLobby(CSteamID* pThis) {
|
||||||
return pThis->IsLobby();
|
return pThis->IsLobby();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsIndividualAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsIndividualAccount(CSteamID* pThis) {
|
||||||
return pThis->BIndividualAccount();
|
return pThis->BIndividualAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsAnonAccount(CSteamID* pThis) {
|
||||||
return pThis->BAnonAccount();
|
return pThis->BAnonAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonUserAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsAnonUserAccount(CSteamID* pThis) {
|
||||||
return pThis->BAnonUserAccount();
|
return pThis->BAnonUserAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_IsConsoleUserAccount(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_IsConsoleUserAccount(CSteamID* pThis) {
|
||||||
return pThis->BConsoleUserAccount();
|
return pThis->BConsoleUserAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetAccountID(CSteamID* pThis, AccountID_t iAccountId) {
|
DLL(void) BS_CSteamID_SetAccountID(CSteamID* pThis, AccountID_t iAccountId) {
|
||||||
pThis->SetAccountID(iAccountId);
|
pThis->SetAccountID(iAccountId);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(AccountID_t) BS_CSteamID_GetAccountID(CSteamID* pThis) {
|
DLL(AccountID_t) BS_CSteamID_GetAccountID(CSteamID* pThis) {
|
||||||
return pThis->GetAccountID();
|
return pThis->GetAccountID();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetAccountInstance(CSteamID* pThis, uint32_t iInstance) {
|
DLL(void) BS_CSteamID_SetAccountInstance(CSteamID* pThis, uint32_t iInstance) {
|
||||||
pThis->SetAccountInstance(iInstance);
|
pThis->SetAccountInstance(iInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_ClearIndividualInstance(CSteamID* pThis) {
|
DLL(void) BS_CSteamID_ClearIndividualInstance(CSteamID* pThis) {
|
||||||
pThis->ClearIndividualInstance();
|
pThis->ClearIndividualInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_HasNoIndividualInstance(CSteamID* pThis) {
|
DLL(int32_t) BS_CSteamID_HasNoIndividualInstance(CSteamID* pThis) {
|
||||||
return pThis->HasNoIndividualInstance();
|
return pThis->HasNoIndividualInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_CSteamID_GetAccountInstance(CSteamID* pThis) {
|
DLL(uint32_t) BS_CSteamID_GetAccountInstance(CSteamID* pThis) {
|
||||||
return pThis->GetUnAccountInstance();
|
return pThis->GetUnAccountInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(EAccountType) BS_CSteamID_GetEAccountType(CSteamID* pThis) {
|
DLL(EAccountType) BS_CSteamID_GetEAccountType(CSteamID* pThis) {
|
||||||
return pThis->GetEAccountType();
|
return pThis->GetEAccountType();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetEUniverse(CSteamID* pThis, EUniverse eUniverse) {
|
DLL(void) BS_CSteamID_SetEUniverse(CSteamID* pThis, EUniverse eUniverse) {
|
||||||
pThis->SetEUniverse(eUniverse);
|
pThis->SetEUniverse(eUniverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(EUniverse) BS_CSteamID_GetEUniverse(CSteamID* pThis) {
|
DLL(EUniverse) BS_CSteamID_GetEUniverse(CSteamID* pThis) {
|
||||||
return pThis->GetEUniverse();
|
return pThis->GetEUniverse();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_Compare(CSteamID* pThis, CSteamID* pOther) {
|
DLL(int32_t) BS_CSteamID_Compare(CSteamID* pThis, CSteamID* pOther) {
|
||||||
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
if ((pThis == nullptr) || (pOther == nullptr))
|
||||||
/* Greater */
|
return -1;
|
||||||
(*pThis > *pOther ? 1 : 0) +
|
|
||||||
/* Smaller */
|
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
||||||
(*pThis < *pOther ? -1 : 0);
|
/* Greater */
|
||||||
|
(*pThis > *pOther ? 1 : 0) +
|
||||||
|
/* Smaller */
|
||||||
|
(*pThis < *pOther ? -1 : 0);
|
||||||
}
|
}
|
||||||
+178
-178
@@ -1,179 +1,179 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Constructor
|
// Purpose: Constructor
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(CSteamID*) BS_CSteamID_New();
|
DLL(CSteamID*) BS_CSteamID_New();
|
||||||
DLL(CSteamID*) BS_CSteamID_Copy(CSteamID* pOther);
|
DLL(CSteamID*) BS_CSteamID_Copy(CSteamID* pOther);
|
||||||
DLL(void) BS_CSteamID_Destroy(CSteamID* pThis);
|
DLL(void) BS_CSteamID_Destroy(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Constructor
|
// Purpose: Constructor
|
||||||
// Input : unAccountID - 32-bit account ID
|
// Input : unAccountID - 32-bit account ID
|
||||||
// eUniverse - Universe this account belongs to
|
// eUniverse - Universe this account belongs to
|
||||||
// eAccountType - Type of account
|
// eAccountType - Type of account
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(CSteamID*) BS_CSteamID_New_IdUniverseType(AccountID_t iAccountId, EUniverse eUniverse, EAccountType eAccountType);
|
DLL(CSteamID*) BS_CSteamID_New_IdUniverseType(AccountID_t iAccountId, EUniverse eUniverse, EAccountType eAccountType);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Constructor
|
// Purpose: Constructor
|
||||||
// Input : unAccountID - 32-bit account ID
|
// Input : unAccountID - 32-bit account ID
|
||||||
// unAccountInstance - instance
|
// unAccountInstance - instance
|
||||||
// eUniverse - Universe this account belongs to
|
// eUniverse - Universe this account belongs to
|
||||||
// eAccountType - Type of account
|
// eAccountType - Type of account
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(CSteamID*) BS_CSteamID_New_IdInstanceUniverseType(AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType);
|
DLL(CSteamID*) BS_CSteamID_New_IdInstanceUniverseType(AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Constructor
|
// Purpose: Constructor
|
||||||
// Input : ulSteamID - 64-bit representation of a Steam ID
|
// Input : ulSteamID - 64-bit representation of a Steam ID
|
||||||
// Note: Will not accept a uint32 or int32 as input, as that is a probable mistake.
|
// Note: Will not accept a uint32 or int32 as input, as that is a probable mistake.
|
||||||
// See the stubbed out overloads in the private: section for more info.
|
// See the stubbed out overloads in the private: section for more info.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(CSteamID*) BS_CSteamID_FromL(int64_t* pOther);
|
DLL(CSteamID*) BS_CSteamID_FromL(int64_t* pOther);
|
||||||
DLL(int64_t*) BS_CSteamID_ToL(CSteamID* pThis);
|
DLL(int64_t*) BS_CSteamID_ToL(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Sets parameters for steam ID
|
// Purpose: Sets parameters for steam ID
|
||||||
// Input : unAccountID - 32-bit account ID
|
// Input : unAccountID - 32-bit account ID
|
||||||
// eUniverse - Universe this account belongs to
|
// eUniverse - Universe this account belongs to
|
||||||
// eAccountType - Type of account
|
// eAccountType - Type of account
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_Set(CSteamID* pThis, AccountID_t iAccountID, EUniverse eUniverse, EAccountType eAccountType);
|
DLL(void) BS_CSteamID_Set(CSteamID* pThis, AccountID_t iAccountID, EUniverse eUniverse, EAccountType eAccountType);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Sets parameters for steam ID
|
// Purpose: Sets parameters for steam ID
|
||||||
// Input : unAccountID - 32-bit account ID
|
// Input : unAccountID - 32-bit account ID
|
||||||
// eUniverse - Universe this account belongs to
|
// eUniverse - Universe this account belongs to
|
||||||
// eAccountType - Type of account
|
// eAccountType - Type of account
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_InstancedSet(CSteamID* pThis, AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType);
|
DLL(void) BS_CSteamID_InstancedSet(CSteamID* pThis, AccountID_t iAccountId, uint32_t iInstance, EUniverse eUniverse, EAccountType eAccountType);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Initializes a steam ID from its 52 bit parts and universe/type
|
// Purpose: Initializes a steam ID from its 52 bit parts and universe/type
|
||||||
// Input : ulIdentifier - 52 bits of goodness
|
// Input : ulIdentifier - 52 bits of goodness
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_FullSet(CSteamID* pThis, int64_t* plIdentifier, EUniverse eUniverse, EAccountType eAccountType);
|
DLL(void) BS_CSteamID_FullSet(CSteamID* pThis, int64_t* plIdentifier, EUniverse eUniverse, EAccountType eAccountType);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Initializes a steam ID from its 64-bit representation
|
// Purpose: Initializes a steam ID from its 64-bit representation
|
||||||
// Input : ulSteamID - 64-bit representation of a Steam ID
|
// Input : ulSteamID - 64-bit representation of a Steam ID
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_SetFromLong(CSteamID* pThis, int64_t* plSteamID);
|
DLL(void) BS_CSteamID_SetFromLong(CSteamID* pThis, int64_t* plSteamID);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Clear all fields, leaving an invalid ID.
|
// Purpose: Clear all fields, leaving an invalid ID.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_Clear(CSteamID* pThis);
|
DLL(void) BS_CSteamID_Clear(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Converts the static parts of a steam ID to a 64-bit representation.
|
// Purpose: Converts the static parts of a steam ID to a 64-bit representation.
|
||||||
// For multiseat accounts, all instances of that account will have the
|
// For multiseat accounts, all instances of that account will have the
|
||||||
// same static account key, so they can be grouped together by the static
|
// same static account key, so they can be grouped together by the static
|
||||||
// account key.
|
// account key.
|
||||||
// Output : 64-bit static account key
|
// Output : 64-bit static account key
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int64_t*) BS_CSteamID_GetStaticAccountKey(CSteamID* pThis);
|
DLL(int64_t*) BS_CSteamID_GetStaticAccountKey(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: create an anonymous game server login to be filled in by the AM
|
// Purpose: create an anonymous game server login to be filled in by the AM
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_CreateBlankAnonLogon(CSteamID* pThis, EUniverse eUniverse);
|
DLL(void) BS_CSteamID_CreateBlankAnonLogon(CSteamID* pThis, EUniverse eUniverse);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: create an anonymous game server login to be filled in by the AM
|
// Purpose: create an anonymous game server login to be filled in by the AM
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(void) BS_CSteamID_CreateBlankAnonUserLogon(CSteamID* pThis, EUniverse eUniverse);
|
DLL(void) BS_CSteamID_CreateBlankAnonUserLogon(CSteamID* pThis, EUniverse eUniverse);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this an anonymous game server login that will be filled in?
|
// Purpose: Is this an anonymous game server login that will be filled in?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsBlankAnonAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsBlankAnonAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a game server account id? (Either persistent or anonymous)
|
// Purpose: Is this a game server account id? (Either persistent or anonymous)
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsGameServerAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsGameServerAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a persistent (not anonymous) game server account id?
|
// Purpose: Is this a persistent (not anonymous) game server account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsPersistentGameServerAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsPersistentGameServerAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this an anonymous game server account id?
|
// Purpose: Is this an anonymous game server account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonGameServerAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsAnonGameServerAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a content server account id?
|
// Purpose: Is this a content server account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsContentServerAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsContentServerAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a clan account id?
|
// Purpose: Is this a clan account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsClanAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsClanAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a chat account id?
|
// Purpose: Is this a chat account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsChatAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsChatAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a Lobby?
|
// Purpose: Is this a Lobby?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsLobby(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsLobby(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this an individual user account id?
|
// Purpose: Is this an individual user account id?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsIndividualAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsIndividualAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this an anonymous account?
|
// Purpose: Is this an anonymous account?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsAnonAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this an anonymous user account? ( used to create an account or reset a password )
|
// Purpose: Is this an anonymous user account? ( used to create an account or reset a password )
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsAnonUserAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsAnonUserAccount(CSteamID* pThis);
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Is this a faked up Steam ID for a PSN friend account?
|
// Purpose: Is this a faked up Steam ID for a PSN friend account?
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(int32_t) BS_CSteamID_IsConsoleUserAccount(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_IsConsoleUserAccount(CSteamID* pThis);
|
||||||
|
|
||||||
// simple accessors
|
// simple accessors
|
||||||
DLL(void) BS_CSteamID_SetAccountID(CSteamID* pThis, AccountID_t iAccountId);
|
DLL(void) BS_CSteamID_SetAccountID(CSteamID* pThis, AccountID_t iAccountId);
|
||||||
DLL(AccountID_t) BS_CSteamID_GetAccountID(CSteamID* pThis);
|
DLL(AccountID_t) BS_CSteamID_GetAccountID(CSteamID* pThis);
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetAccountInstance(CSteamID* pThis, uint32_t iInstance);
|
DLL(void) BS_CSteamID_SetAccountInstance(CSteamID* pThis, uint32_t iInstance);
|
||||||
DLL(void) BS_CSteamID_ClearIndividualInstance(CSteamID* pThis);
|
DLL(void) BS_CSteamID_ClearIndividualInstance(CSteamID* pThis);
|
||||||
DLL(int32_t) BS_CSteamID_HasNoIndividualInstance(CSteamID* pThis);
|
DLL(int32_t) BS_CSteamID_HasNoIndividualInstance(CSteamID* pThis);
|
||||||
DLL(uint32_t) BS_CSteamID_GetAccountInstance(CSteamID* pThis);
|
DLL(uint32_t) BS_CSteamID_GetAccountInstance(CSteamID* pThis);
|
||||||
|
|
||||||
DLL(EAccountType) BS_CSteamID_GetEAccountType(CSteamID* pThis);
|
DLL(EAccountType) BS_CSteamID_GetEAccountType(CSteamID* pThis);
|
||||||
|
|
||||||
DLL(void) BS_CSteamID_SetEUniverse(CSteamID* pThis, EUniverse eUniverse);
|
DLL(void) BS_CSteamID_SetEUniverse(CSteamID* pThis, EUniverse eUniverse);
|
||||||
DLL(EUniverse) BS_CSteamID_GetEUniverse(CSteamID* pThis);
|
DLL(EUniverse) BS_CSteamID_GetEUniverse(CSteamID* pThis);
|
||||||
|
|
||||||
DLL(int32_t) BS_CSteamID_Compare(CSteamID* pThis, CSteamID* pOther);
|
DLL(int32_t) BS_CSteamID_Compare(CSteamID* pThis, CSteamID* pOther);
|
||||||
+124
-121
@@ -1,122 +1,125 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "Long.h"
|
#include "Long.h"
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_New() {
|
DLL(double_t*) BS_Double_New() {
|
||||||
return new double_t;
|
return new double_t;
|
||||||
}
|
}
|
||||||
DLL(double_t*) BS_Double_Copy(double_t* pOther) {
|
DLL(double_t*) BS_Double_Copy(double_t* pOther) {
|
||||||
return new double_t(*pOther);
|
return new double_t(*pOther);
|
||||||
}
|
}
|
||||||
DLL(void) BS_Double_Destroy(double_t* pThis) {
|
DLL(void) BS_Double_Destroy(double_t* pThis) {
|
||||||
delete pThis;
|
delete pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* BS_Double_Buffer = new char[32];
|
char* BS_Double_Buffer = new char[32];
|
||||||
DLL(const char*) BS_Double_ToString(double_t* pThis) {
|
DLL(const char*) BS_Double_ToString(double_t* pThis) {
|
||||||
std::stringstream myStream;
|
std::stringstream myStream;
|
||||||
myStream << (*pThis);
|
myStream << (*pThis);
|
||||||
|
|
||||||
const char* myBuffer = myStream.str().c_str();
|
const char* myBuffer = myStream.str().c_str();
|
||||||
strcpy_s(BS_Double_Buffer, 32, myBuffer);
|
strcpy_s(BS_Double_Buffer, 32, myBuffer);
|
||||||
return BS_Double_Buffer;
|
return BS_Double_Buffer;
|
||||||
}
|
}
|
||||||
DLL(double_t*) BS_Double_FromString(const char* pString) {
|
DLL(double_t*) BS_Double_FromString(const char* pString) {
|
||||||
double_t* pThis = new double_t;
|
double_t* pThis = new double_t;
|
||||||
std::stringstream myStream = std::stringstream(pString);
|
std::stringstream myStream = std::stringstream(pString);
|
||||||
myStream >> *pThis;
|
myStream >> *pThis;
|
||||||
return pThis;
|
return pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromF(float_t fOther) {
|
DLL(double_t*) BS_Double_FromF(float_t fOther) {
|
||||||
return new double_t(fOther);
|
return new double_t(fOther);
|
||||||
}
|
}
|
||||||
DLL(float_t) BS_Double_ToF(double_t* pThis) {
|
DLL(float_t) BS_Double_ToF(double_t* pThis) {
|
||||||
return (float_t)*pThis;
|
return (float_t)*pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromI(int32_t iOther) {
|
DLL(double_t*) BS_Double_FromI(int32_t iOther) {
|
||||||
return new double_t(iOther);
|
return new double_t(iOther);
|
||||||
}
|
}
|
||||||
DLL(int32_t) BS_Double_ToI(double_t* pThis) {
|
DLL(int32_t) BS_Double_ToI(double_t* pThis) {
|
||||||
return (int32_t)*pThis;
|
return (int32_t)*pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromL(int64_t* pOther) {
|
DLL(double_t*) BS_Double_FromL(int64_t* pOther) {
|
||||||
return new double_t((double_t)*pOther);
|
return new double_t((double_t)*pOther);
|
||||||
}
|
}
|
||||||
DLL(int64_t*) BS_Double_ToL(double_t* pThis) {
|
DLL(int64_t*) BS_Double_ToL(double_t* pThis) {
|
||||||
return new int64_t((int64_t)*pThis);
|
return new int64_t((int64_t)*pThis);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Double_Compare(double_t* pThis, double_t* pOther) {
|
DLL(int32_t) BS_Double_Compare(double_t* pThis, double_t* pOther) {
|
||||||
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
if ((pThis == nullptr) || (pOther == nullptr))
|
||||||
/* Greater */
|
return -1;
|
||||||
(*pThis > *pOther ? 1 : 0) +
|
|
||||||
/* Smaller */
|
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
||||||
(*pThis < *pOther ? -1 : 0);
|
/* Greater */
|
||||||
}
|
(*pThis > *pOther ? 1 : 0) +
|
||||||
|
/* Smaller */
|
||||||
DLL(double_t*) BS_Double_Set(double_t* pThis, double_t* pOther) {
|
(*pThis < *pOther ? -1 : 0);
|
||||||
*pThis = *pOther;
|
}
|
||||||
return pThis;
|
|
||||||
}
|
DLL(double_t*) BS_Double_Set(double_t* pThis, double_t* pOther) {
|
||||||
DLL(double_t*) BS_Double_Add(double_t* pThis, double_t* pOther) {
|
*pThis = *pOther;
|
||||||
*pThis += *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_Add(double_t* pThis, double_t* pOther) {
|
||||||
DLL(double_t*) BS_Double_Sub(double_t* pThis, double_t* pOther) {
|
*pThis += *pOther;
|
||||||
*pThis -= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_Sub(double_t* pThis, double_t* pOther) {
|
||||||
DLL(double_t*) BS_Double_Div(double_t* pThis, double_t* pOther) {
|
*pThis -= *pOther;
|
||||||
*pThis /= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_Div(double_t* pThis, double_t* pOther) {
|
||||||
DLL(double_t*) BS_Double_Mul(double_t* pThis, double_t* pOther) {
|
*pThis /= *pOther;
|
||||||
*pThis *= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_Mul(double_t* pThis, double_t* pOther) {
|
||||||
DLL(double_t*) BS_Double_Mod(double_t* pThis, double_t* pOther) {
|
*pThis *= *pOther;
|
||||||
*pThis = fmod(*pThis, *pOther);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_Mod(double_t* pThis, double_t* pOther) {
|
||||||
|
*pThis = fmod(*pThis, *pOther);
|
||||||
DLL(double_t*) BS_Double_SetF(double_t* pThis, float_t fOther) {
|
return pThis;
|
||||||
*pThis = fOther;
|
}
|
||||||
return pThis;
|
|
||||||
}
|
DLL(double_t*) BS_Double_SetF(double_t* pThis, float_t fOther) {
|
||||||
DLL(double_t*) BS_Double_AddF(double_t* pThis, float_t fOther) {
|
*pThis = fOther;
|
||||||
*pThis += fOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_AddF(double_t* pThis, float_t fOther) {
|
||||||
DLL(double_t*) BS_Double_SubF(double_t* pThis, float_t fOther) {
|
*pThis += fOther;
|
||||||
*pThis -= fOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_SubF(double_t* pThis, float_t fOther) {
|
||||||
DLL(double_t*) BS_Double_DivF(double_t* pThis, float_t fOther) {
|
*pThis -= fOther;
|
||||||
*pThis /= fOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_DivF(double_t* pThis, float_t fOther) {
|
||||||
DLL(double_t*) BS_Double_MulF(double_t* pThis, float_t fOther) {
|
*pThis /= fOther;
|
||||||
*pThis *= fOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(double_t*) BS_Double_MulF(double_t* pThis, float_t fOther) {
|
||||||
DLL(double_t*) BS_Double_ModF(double_t* pThis, float_t fOther) {
|
*pThis *= fOther;
|
||||||
*pThis = fmod(*pThis, fOther);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
|
DLL(double_t*) BS_Double_ModF(double_t* pThis, float_t fOther) {
|
||||||
|
*pThis = fmod(*pThis, fOther);
|
||||||
|
return pThis;
|
||||||
}
|
}
|
||||||
+51
-51
@@ -1,51 +1,51 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_New();
|
DLL(double_t*) BS_Double_New();
|
||||||
DLL(double_t*) BS_Double_Copy(double_t* pRight);
|
DLL(double_t*) BS_Double_Copy(double_t* pRight);
|
||||||
DLL(void) BS_Double_Destroy(double_t* pThis);
|
DLL(void) BS_Double_Destroy(double_t* pThis);
|
||||||
|
|
||||||
DLL(const char*) BS_Double_ToString(double_t* pThis);
|
DLL(const char*) BS_Double_ToString(double_t* pThis);
|
||||||
DLL(double_t*) BS_Double_FromString(const char* pString);
|
DLL(double_t*) BS_Double_FromString(const char* pString);
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromF(float_t fOther);
|
DLL(double_t*) BS_Double_FromF(float_t fOther);
|
||||||
DLL(float_t) BS_Double_ToF(double_t* pThis);
|
DLL(float_t) BS_Double_ToF(double_t* pThis);
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromI(int32_t iOther);
|
DLL(double_t*) BS_Double_FromI(int32_t iOther);
|
||||||
DLL(int32_t) BS_Double_ToI(double_t* pThis);
|
DLL(int32_t) BS_Double_ToI(double_t* pThis);
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_FromL(int64_t* pOther);
|
DLL(double_t*) BS_Double_FromL(int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Double_ToL(double_t* pThis);
|
DLL(int64_t*) BS_Double_ToL(double_t* pThis);
|
||||||
|
|
||||||
DLL(int32_t) BS_Double_Compare(double_t* pThis, double_t* pOther);
|
DLL(int32_t) BS_Double_Compare(double_t* pThis, double_t* pOther);
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_Set(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Set(double_t* pThis, double_t* pOther);
|
||||||
DLL(double_t*) BS_Double_Add(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Add(double_t* pThis, double_t* pOther);
|
||||||
DLL(double_t*) BS_Double_Sub(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Sub(double_t* pThis, double_t* pOther);
|
||||||
DLL(double_t*) BS_Double_Div(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Div(double_t* pThis, double_t* pOther);
|
||||||
DLL(double_t*) BS_Double_Mul(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Mul(double_t* pThis, double_t* pOther);
|
||||||
DLL(double_t*) BS_Double_Mod(double_t* pThis, double_t* pOther);
|
DLL(double_t*) BS_Double_Mod(double_t* pThis, double_t* pOther);
|
||||||
|
|
||||||
DLL(double_t*) BS_Double_SetF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_SetF(double_t* pThis, float_t fOther);
|
||||||
DLL(double_t*) BS_Double_AddF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_AddF(double_t* pThis, float_t fOther);
|
||||||
DLL(double_t*) BS_Double_SubF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_SubF(double_t* pThis, float_t fOther);
|
||||||
DLL(double_t*) BS_Double_DivF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_DivF(double_t* pThis, float_t fOther);
|
||||||
DLL(double_t*) BS_Double_MulF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_MulF(double_t* pThis, float_t fOther);
|
||||||
DLL(double_t*) BS_Double_ModF(double_t* pThis, float_t fOther);
|
DLL(double_t*) BS_Double_ModF(double_t* pThis, float_t fOther);
|
||||||
|
|||||||
+169
-166
@@ -1,167 +1,170 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "Long.h"
|
#include "Long.h"
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_New() {
|
DLL(int64_t*) BS_Long_New() {
|
||||||
return new int64_t;
|
return new int64_t;
|
||||||
}
|
}
|
||||||
DLL(int64_t*) BS_Long_Copy(int64_t* pOther) {
|
DLL(int64_t*) BS_Long_Copy(int64_t* pOther) {
|
||||||
return new int64_t(*pOther);
|
return new int64_t(*pOther);
|
||||||
}
|
}
|
||||||
DLL(void) BS_Long_Destroy(int64_t* pThis) {
|
DLL(void) BS_Long_Destroy(int64_t* pThis) {
|
||||||
delete pThis;
|
delete pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* BS_Long_Buffer = new char[32];
|
char* BS_Long_Buffer = new char[32];
|
||||||
DLL(const char*) BS_Long_ToString(int64_t* pThis) {
|
DLL(const char*) BS_Long_ToString(int64_t* pThis) {
|
||||||
std::stringstream myStream;
|
std::stringstream myStream;
|
||||||
myStream << (*pThis);
|
myStream << (*pThis);
|
||||||
|
|
||||||
const char* myBuffer = myStream.str().c_str();
|
const char* myBuffer = myStream.str().c_str();
|
||||||
strcpy_s(BS_Long_Buffer, 32, myBuffer);
|
strcpy_s(BS_Long_Buffer, 32, myBuffer);
|
||||||
return BS_Long_Buffer;
|
return BS_Long_Buffer;
|
||||||
}
|
}
|
||||||
DLL(int64_t*) BS_Long_FromString(const char* pString) {
|
DLL(int64_t*) BS_Long_FromString(const char* pString) {
|
||||||
int64_t* pThis = new int64_t;
|
int64_t* pThis = new int64_t;
|
||||||
std::stringstream myStream = std::stringstream(pString);
|
std::stringstream myStream = std::stringstream(pString);
|
||||||
myStream >> *pThis;
|
myStream >> *pThis;
|
||||||
return pThis;
|
return pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromI(int32_t iRight) {
|
DLL(int64_t*) BS_Long_FromI(int32_t iRight) {
|
||||||
return new int64_t(iRight);
|
return new int64_t(iRight);
|
||||||
}
|
}
|
||||||
DLL(int64_t*) BS_Long_FromII(int32_t iLeft, int32_t iRight) {
|
DLL(int64_t*) BS_Long_FromII(int32_t iLeft, int32_t iRight) {
|
||||||
return new int64_t(((int64_t)(iLeft) << 32) + iRight);
|
return new int64_t(((int64_t)(iLeft) << 32) + iRight);
|
||||||
}
|
}
|
||||||
DLL(int32_t) BS_Long_ToI(int64_t* pThis, int32_t iShift) {
|
DLL(int32_t) BS_Long_ToI(int64_t* pThis, int32_t iShift) {
|
||||||
if (iShift >= 0)
|
if (iShift >= 0)
|
||||||
return (int32_t)(*pThis >> iShift);
|
return (int32_t)(*pThis >> iShift);
|
||||||
else
|
else
|
||||||
return (int32_t)(*pThis << -iShift);
|
return (int32_t)(*pThis << -iShift);
|
||||||
}
|
}
|
||||||
DLL(int32_t) BS_Long_ToIH(int64_t* pThis) {
|
DLL(int32_t) BS_Long_ToIH(int64_t* pThis) {
|
||||||
return (int32_t)(*pThis >> 32);
|
return (int32_t)(*pThis >> 32);
|
||||||
}
|
}
|
||||||
DLL(int32_t) BS_Long_ToIL(int64_t* pThis) {
|
DLL(int32_t) BS_Long_ToIL(int64_t* pThis) {
|
||||||
return (int32_t)*pThis;
|
return (int32_t)*pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromF(float_t fOther) {
|
DLL(int64_t*) BS_Long_FromF(float_t fOther) {
|
||||||
return new int64_t((int64_t)fOther);
|
return new int64_t((int64_t)fOther);
|
||||||
}
|
}
|
||||||
DLL(float_t) BS_Long_ToF(int64_t* pThis) {
|
DLL(float_t) BS_Long_ToF(int64_t* pThis) {
|
||||||
return (float_t)*pThis;
|
return (float_t)*pThis;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromD(double_t* pOther) {
|
DLL(int64_t*) BS_Long_FromD(double_t* pOther) {
|
||||||
return new int64_t((int64_t)*pOther);
|
return new int64_t((int64_t)*pOther);
|
||||||
}
|
}
|
||||||
DLL(double_t*) BS_Long_ToD(int64_t* pThis) {
|
DLL(double_t*) BS_Long_ToD(int64_t* pThis) {
|
||||||
return new double_t((double_t)*pThis);
|
return new double_t((double_t)*pThis);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Long_Compare(int64_t* pThis, int64_t* pOther) {
|
DLL(int32_t) BS_Long_Compare(int64_t* pThis, int64_t* pOther) {
|
||||||
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
if ((pThis == nullptr) || (pOther == nullptr))
|
||||||
/* Greater */
|
return -1;
|
||||||
(*pThis > *pOther ? 1 : 0) +
|
|
||||||
/* Smaller */
|
return /* It can either be Equal (0) or Smaller or Greater. Easy to check. */
|
||||||
(*pThis < *pOther ? -1 : 0);
|
/* Greater */
|
||||||
}
|
(*pThis > *pOther ? 1 : 0) +
|
||||||
|
/* Smaller */
|
||||||
DLL(int64_t*) BS_Long_Set(int64_t* pThis, int64_t* pOther) {
|
(*pThis < *pOther ? -1 : 0);
|
||||||
*pThis = *pOther;
|
}
|
||||||
return pThis;
|
|
||||||
}
|
DLL(int64_t*) BS_Long_Set(int64_t* pThis, int64_t* pOther) {
|
||||||
DLL(int64_t*) BS_Long_Add(int64_t* pThis, int64_t* pOther) {
|
*pThis = *pOther;
|
||||||
*pThis += *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_Add(int64_t* pThis, int64_t* pOther) {
|
||||||
DLL(int64_t*) BS_Long_Sub(int64_t* pThis, int64_t* pOther) {
|
*pThis += *pOther;
|
||||||
*pThis -= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_Sub(int64_t* pThis, int64_t* pOther) {
|
||||||
DLL(int64_t*) BS_Long_Div(int64_t* pThis, int64_t* pOther) {
|
*pThis -= *pOther;
|
||||||
*pThis /= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_Div(int64_t* pThis, int64_t* pOther) {
|
||||||
DLL(int64_t*) BS_Long_Mul(int64_t* pThis, int64_t* pOther) {
|
*pThis /= *pOther;
|
||||||
*pThis *= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_Mul(int64_t* pThis, int64_t* pOther) {
|
||||||
DLL(int64_t*) BS_Long_Mod(int64_t* pThis, int64_t* pOther) {
|
*pThis *= *pOther;
|
||||||
*pThis %= *pOther;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_Mod(int64_t* pThis, int64_t* pOther) {
|
||||||
|
*pThis %= *pOther;
|
||||||
DLL(int64_t*) BS_Long_SetI(int64_t* pThis, int32_t iRight) {
|
return pThis;
|
||||||
*pThis = iRight;
|
}
|
||||||
return pThis;
|
|
||||||
}
|
DLL(int64_t*) BS_Long_SetI(int64_t* pThis, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_AddI(int64_t* pThis, int32_t iRight) {
|
*pThis = iRight;
|
||||||
*pThis += iRight;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_AddI(int64_t* pThis, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_SubI(int64_t* pThis, int32_t iRight) {
|
*pThis += iRight;
|
||||||
*pThis -= iRight;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_SubI(int64_t* pThis, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_DivI(int64_t* pThis, int32_t iRight) {
|
*pThis -= iRight;
|
||||||
*pThis /= iRight;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_DivI(int64_t* pThis, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_MulI(int64_t* pThis, int32_t iRight) {
|
*pThis /= iRight;
|
||||||
*pThis *= iRight;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_MulI(int64_t* pThis, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_ModI(int64_t* pThis, int32_t iRight) {
|
*pThis *= iRight;
|
||||||
*pThis %= iRight;
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_ModI(int64_t* pThis, int32_t iRight) {
|
||||||
|
*pThis %= iRight;
|
||||||
DLL(int64_t*) BS_Long_SetII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
return pThis;
|
||||||
*pThis = (((int64_t)iLeft << 32) + iRight);
|
}
|
||||||
return pThis;
|
|
||||||
}
|
DLL(int64_t*) BS_Long_SetII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_AddII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
*pThis = (((int64_t)iLeft << 32) + iRight);
|
||||||
*pThis += (((int64_t)iLeft << 32) + iRight);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_AddII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_SubII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
*pThis += (((int64_t)iLeft << 32) + iRight);
|
||||||
*pThis -= (((int64_t)iLeft << 32) + iRight);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_SubII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_DivII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
*pThis -= (((int64_t)iLeft << 32) + iRight);
|
||||||
*pThis /= (((int64_t)iLeft << 32) + iRight);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_DivII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_MulII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
*pThis /= (((int64_t)iLeft << 32) + iRight);
|
||||||
*pThis *= (((int64_t)iLeft << 32) + iRight);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_MulII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
DLL(int64_t*) BS_Long_ModII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
*pThis *= (((int64_t)iLeft << 32) + iRight);
|
||||||
*pThis %= (((int64_t)iLeft << 32) + iRight);
|
return pThis;
|
||||||
return pThis;
|
}
|
||||||
}
|
DLL(int64_t*) BS_Long_ModII(int64_t* pThis, int32_t iLeft, int32_t iRight) {
|
||||||
|
*pThis %= (((int64_t)iLeft << 32) + iRight);
|
||||||
DLL(int64_t*) BS_Long_Shift(int64_t* pThis, int32_t iRight) {
|
return pThis;
|
||||||
if (iRight >= 0)
|
}
|
||||||
*pThis >>= iRight;
|
|
||||||
else
|
DLL(int64_t*) BS_Long_Shift(int64_t* pThis, int32_t iRight) {
|
||||||
*pThis <<= -iRight;
|
if (iRight >= 0)
|
||||||
return pThis;
|
*pThis >>= iRight;
|
||||||
|
else
|
||||||
|
*pThis <<= -iRight;
|
||||||
|
return pThis;
|
||||||
}
|
}
|
||||||
+62
-62
@@ -1,63 +1,63 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_New();
|
DLL(int64_t*) BS_Long_New();
|
||||||
DLL(int64_t*) BS_Long_Copy(int64_t* pRight);
|
DLL(int64_t*) BS_Long_Copy(int64_t* pRight);
|
||||||
DLL(void) BS_Long_Destroy(int64_t* pThis);
|
DLL(void) BS_Long_Destroy(int64_t* pThis);
|
||||||
|
|
||||||
DLL(const char*) BS_Long_ToString(int64_t* pThis);
|
DLL(const char*) BS_Long_ToString(int64_t* pThis);
|
||||||
DLL(int64_t*) BS_Long_FromString(const char* pString);
|
DLL(int64_t*) BS_Long_FromString(const char* pString);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromI(int32_t iRight);
|
DLL(int64_t*) BS_Long_FromI(int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_FromII(int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_FromII(int32_t iLeft, int32_t iRight);
|
||||||
DLL(int32_t) BS_Long_ToI(int64_t* pThis, int32_t iShift);
|
DLL(int32_t) BS_Long_ToI(int64_t* pThis, int32_t iShift);
|
||||||
DLL(int32_t) BS_Long_ToIH(int64_t* pThis);
|
DLL(int32_t) BS_Long_ToIH(int64_t* pThis);
|
||||||
DLL(int32_t) BS_Long_ToIL(int64_t* pThis);
|
DLL(int32_t) BS_Long_ToIL(int64_t* pThis);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromF(float_t fOther);
|
DLL(int64_t*) BS_Long_FromF(float_t fOther);
|
||||||
DLL(float_t) BS_Long_ToF(int64_t* pThis);
|
DLL(float_t) BS_Long_ToF(int64_t* pThis);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_FromD(double_t* pOther);
|
DLL(int64_t*) BS_Long_FromD(double_t* pOther);
|
||||||
DLL(double_t*) BS_Long_ToD(int64_t* pThis);
|
DLL(double_t*) BS_Long_ToD(int64_t* pThis);
|
||||||
|
|
||||||
DLL(int32_t) BS_Long_Compare(int64_t* pThis, int64_t* pOther);
|
DLL(int32_t) BS_Long_Compare(int64_t* pThis, int64_t* pOther);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_Set(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Set(int64_t* pThis, int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Long_Add(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Add(int64_t* pThis, int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Long_Sub(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Sub(int64_t* pThis, int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Long_Div(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Div(int64_t* pThis, int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Long_Mul(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Mul(int64_t* pThis, int64_t* pOther);
|
||||||
DLL(int64_t*) BS_Long_Mod(int64_t* pThis, int64_t* pOther);
|
DLL(int64_t*) BS_Long_Mod(int64_t* pThis, int64_t* pOther);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_SetI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_SetI(int64_t* pThis, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_AddI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_AddI(int64_t* pThis, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_SubI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_SubI(int64_t* pThis, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_DivI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_DivI(int64_t* pThis, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_MulI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_MulI(int64_t* pThis, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_ModI(int64_t* pThis, int32_t iRight);
|
DLL(int64_t*) BS_Long_ModI(int64_t* pThis, int32_t iRight);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_SetII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_SetII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_AddII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_AddII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_SubII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_SubII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_DivII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_DivII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_MulII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_MulII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
DLL(int64_t*) BS_Long_ModII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
DLL(int64_t*) BS_Long_ModII(int64_t* pThis, int32_t iLeft, int32_t iRight);
|
||||||
|
|
||||||
DLL(int64_t*) BS_Long_Shift(int64_t* pThis, int32_t iShift);
|
DLL(int64_t*) BS_Long_Shift(int64_t* pThis, int32_t iShift);
|
||||||
+77
-77
@@ -1,77 +1,77 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "Memory.h"
|
#include "Memory.h"
|
||||||
|
|
||||||
DLL(void*) BS_Memory_Alloc(uint32_t iSize) {
|
DLL(void*) BS_Memory_Alloc(uint32_t iSize) {
|
||||||
return malloc(iSize);
|
return malloc(iSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void*) BS_Memory_ReAlloc(void* pMemory, uint32_t iNewSize) {
|
DLL(void*) BS_Memory_ReAlloc(void* pMemory, uint32_t iNewSize) {
|
||||||
return realloc(pMemory, iNewSize);
|
return realloc(pMemory, iNewSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_Free(void* pMemory) {
|
DLL(void) BS_Memory_Free(void* pMemory) {
|
||||||
free(pMemory);
|
free(pMemory);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeByte(void* pMemory, uint32_t offset, int8_t value) {
|
DLL(void) BS_Memory_PokeByte(void* pMemory, uint32_t offset, int8_t value) {
|
||||||
*((reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
*((reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Memory_PeekByte(void* pMemory, uint32_t offset) {
|
DLL(int32_t) BS_Memory_PeekByte(void* pMemory, uint32_t offset) {
|
||||||
return *(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
return *(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeShort(void* pMemory, uint32_t offset, int16_t value) {
|
DLL(void) BS_Memory_PokeShort(void* pMemory, uint32_t offset, int16_t value) {
|
||||||
*(reinterpret_cast<int16_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
*(reinterpret_cast<int16_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Memory_PeekShort(void* pMemory, uint32_t offset) {
|
DLL(int32_t) BS_Memory_PeekShort(void* pMemory, uint32_t offset) {
|
||||||
return *(int16_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
return *(int16_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeInt(void* pMemory, uint32_t offset, int32_t value) {
|
DLL(void) BS_Memory_PokeInt(void* pMemory, uint32_t offset, int32_t value) {
|
||||||
*(reinterpret_cast<uint32_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
*(reinterpret_cast<uint32_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_Memory_PeekInt(void* pMemory, uint32_t offset) {
|
DLL(int32_t) BS_Memory_PeekInt(void* pMemory, uint32_t offset) {
|
||||||
return *(int32_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
return *(int32_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeFloat(void* pMemory, uint32_t offset, float_t value) {
|
DLL(void) BS_Memory_PokeFloat(void* pMemory, uint32_t offset, float_t value) {
|
||||||
*(reinterpret_cast<float_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
*(reinterpret_cast<float_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(float_t) BS_Memory_PeekFloat(void* pMemory, uint32_t offset) {
|
DLL(float_t) BS_Memory_PeekFloat(void* pMemory, uint32_t offset) {
|
||||||
return *(float_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
return *(float_t*)(reinterpret_cast<uint8_t*>(pMemory) + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeLong(void* pMemory, uint32_t offset, int64_t* value) {
|
DLL(void) BS_Memory_PokeLong(void* pMemory, uint32_t offset, int64_t* value) {
|
||||||
*(reinterpret_cast<int64_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = *value;
|
*(reinterpret_cast<int64_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = *value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int64_t*) BS_Memory_PeekLong(void* pMemory, uint32_t offset) {
|
DLL(int64_t*) BS_Memory_PeekLong(void* pMemory, uint32_t offset) {
|
||||||
return new int64_t(*(reinterpret_cast<int64_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)));
|
return new int64_t(*(reinterpret_cast<int64_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeDouble(void* pMemory, uint32_t offset, double_t* value) {
|
DLL(void) BS_Memory_PokeDouble(void* pMemory, uint32_t offset, double_t* value) {
|
||||||
*(reinterpret_cast<double_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = *value;
|
*(reinterpret_cast<double_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)) = *value;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(double_t*) BS_Memory_PeekDouble(void* pMemory, uint32_t offset) {
|
DLL(double_t*) BS_Memory_PeekDouble(void* pMemory, uint32_t offset) {
|
||||||
return new double_t(*(reinterpret_cast<double_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)));
|
return new double_t(*(reinterpret_cast<double_t*>(reinterpret_cast<uint8_t*>(pMemory) + offset)));
|
||||||
}
|
}
|
||||||
|
|||||||
+42
-42
@@ -1,42 +1,42 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "BlitzSteamInternal.h"
|
#include "BlitzSteamInternal.h"
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
DLL(void*) BS_Memory_Alloc(uint32_t iSize);
|
DLL(void*) BS_Memory_Alloc(uint32_t iSize);
|
||||||
DLL(void*) BS_Memory_ReAlloc(void* pMemory, uint32_t iNewSize);
|
DLL(void*) BS_Memory_ReAlloc(void* pMemory, uint32_t iNewSize);
|
||||||
DLL(void) BS_Memory_Free(void* pMemory);
|
DLL(void) BS_Memory_Free(void* pMemory);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeByte(void* pMemory, uint32_t offset, int8_t value);
|
DLL(void) BS_Memory_PokeByte(void* pMemory, uint32_t offset, int8_t value);
|
||||||
DLL(int32_t) BS_Memory_PeekByte(void* pMemory, uint32_t offset);
|
DLL(int32_t) BS_Memory_PeekByte(void* pMemory, uint32_t offset);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeShort(void* pMemory, uint32_t offset, int16_t value);
|
DLL(void) BS_Memory_PokeShort(void* pMemory, uint32_t offset, int16_t value);
|
||||||
DLL(int32_t) BS_Memory_PeekShort(void* pMemory, uint32_t offset);
|
DLL(int32_t) BS_Memory_PeekShort(void* pMemory, uint32_t offset);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeInt(void* pMemory, uint32_t offset, int32_t value);
|
DLL(void) BS_Memory_PokeInt(void* pMemory, uint32_t offset, int32_t value);
|
||||||
DLL(int32_t) BS_Memory_PeekInt(void* pMemory, uint32_t offset);
|
DLL(int32_t) BS_Memory_PeekInt(void* pMemory, uint32_t offset);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeFloat(void* pMemory, uint32_t offset, float_t value);
|
DLL(void) BS_Memory_PokeFloat(void* pMemory, uint32_t offset, float_t value);
|
||||||
DLL(float_t) BS_Memory_PeekFloat(void* pMemory, uint32_t offset);
|
DLL(float_t) BS_Memory_PeekFloat(void* pMemory, uint32_t offset);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeLong(void* pMemory, uint32_t offset, int64_t* value);
|
DLL(void) BS_Memory_PokeLong(void* pMemory, uint32_t offset, int64_t* value);
|
||||||
DLL(int64_t*) BS_Memory_PeekLong(void* pMemory, uint32_t offset);
|
DLL(int64_t*) BS_Memory_PeekLong(void* pMemory, uint32_t offset);
|
||||||
|
|
||||||
DLL(void) BS_Memory_PokeDouble(void* pMemory, uint32_t offset, double_t* value);
|
DLL(void) BS_Memory_PokeDouble(void* pMemory, uint32_t offset, double_t* value);
|
||||||
DLL(double_t*) BS_Memory_PeekDouble(void* pMemory, uint32_t offset);
|
DLL(double_t*) BS_Memory_PeekDouble(void* pMemory, uint32_t offset);
|
||||||
|
|||||||
@@ -0,0 +1,271 @@
|
|||||||
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
//
|
||||||
|
// This program 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.
|
||||||
|
//
|
||||||
|
// This program 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "SteamMatchmakingTypes.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
BlitzISteamMatchmakingServerListResponse::BlitzISteamMatchmakingServerListResponse(void* pData, BP_BlitzFunction3_t pServerResponded,
|
||||||
|
BP_BlitzFunction3_t pServerFailedToRespond, BP_BlitzFunction3_t pRefreshComplete)
|
||||||
|
: m_pData(pData), m_pServerResponded(pServerResponded), m_pServerFailedToRespond(pServerFailedToRespond), m_pRefreshComplete(pRefreshComplete) {}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingServerListResponse::ServerResponded(HServerListRequest hRequest, int iServer) {
|
||||||
|
if (this->m_pServerResponded != nullptr)
|
||||||
|
BP_CallFunction3(m_pServerResponded, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(hRequest), iServer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingServerListResponse::ServerFailedToRespond(HServerListRequest hRequest, int iServer) {
|
||||||
|
if (this->m_pServerFailedToRespond != nullptr)
|
||||||
|
BP_CallFunction3(m_pServerFailedToRespond, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(hRequest), iServer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingServerListResponse::RefreshComplete(HServerListRequest hRequest, EMatchMakingServerResponse response) {
|
||||||
|
if (this->m_pRefreshComplete != nullptr)
|
||||||
|
BP_CallFunction3(m_pRefreshComplete, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(hRequest), static_cast<int32_t>(response));
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(BlitzISteamMatchmakingServerListResponse*) BS_ISteamMatchmakingServerListResponse_New(void* pData, BP_BlitzFunction3_t pServerResponded, BP_BlitzFunction3_t pServerFailedToRespond, BP_BlitzFunction3_t pRefreshComplete) {
|
||||||
|
return new BlitzISteamMatchmakingServerListResponse(pData, pServerResponded, pServerFailedToRespond, pRefreshComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_ISteamMatchmakingServerListResponse_Destroy(BlitzISteamMatchmakingServerListResponse* pThis) {
|
||||||
|
delete pThis;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
BlitzISteamMatchmakingPingResponse::BlitzISteamMatchmakingPingResponse(void* pData, BP_BlitzFunction2_t pServerResponded, BP_BlitzFunction1_t pServerFailedToRespond)
|
||||||
|
: m_pData(pData), m_pServerResponded(pServerResponded), m_pServerFailedToRespond(pServerFailedToRespond) {}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingPingResponse::ServerResponded(gameserveritem_t &server) {
|
||||||
|
if (this->m_pServerResponded != nullptr)
|
||||||
|
BP_CallFunction2(m_pServerResponded, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(&server));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingPingResponse::ServerFailedToRespond() {
|
||||||
|
if (this->m_pServerFailedToRespond != nullptr)
|
||||||
|
BP_CallFunction1(m_pServerFailedToRespond, reinterpret_cast<int32_t>(m_pData));
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(BlitzISteamMatchmakingPingResponse*) BS_ISteamMatchmakingPingResponse_New(void* pData, BP_BlitzFunction2_t pServerResponded, BP_BlitzFunction1_t pServerFailedToRespond) {
|
||||||
|
return new BlitzISteamMatchmakingPingResponse(pData, pServerResponded, pServerFailedToRespond);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_ISteamMatchmakingPingResponse_Destroy(BlitzISteamMatchmakingPingResponse* pThis) {
|
||||||
|
delete pThis;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
BlitzISteamMatchmakingPlayersResponse::BlitzISteamMatchmakingPlayersResponse(void* pData, BP_BlitzFunction4_t pAddPlayerToList, BP_BlitzFunction1_t pPlayersFailedToRespond, BP_BlitzFunction1_t pPlayersRefreshComplete)
|
||||||
|
: m_pData(pData), m_pAddPlayerToList(pAddPlayerToList), m_pPlayersFailedToRespond(pPlayersFailedToRespond), m_pPlayersRefreshComplete(pPlayersRefreshComplete) {}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingPlayersResponse::AddPlayerToList(const char *pchName, int nScore, float flTimePlayed) {
|
||||||
|
if (m_pAddPlayerToList != nullptr)
|
||||||
|
BP_CallFunction4(m_pAddPlayerToList, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(pchName), nScore, *reinterpret_cast<int32_t*>(&flTimePlayed));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingPlayersResponse::PlayersFailedToRespond() {
|
||||||
|
if (m_pPlayersFailedToRespond != nullptr)
|
||||||
|
BP_CallFunction1(m_pPlayersFailedToRespond, reinterpret_cast<int32_t>(m_pData));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingPlayersResponse::PlayersRefreshComplete() {
|
||||||
|
if (m_pPlayersRefreshComplete != nullptr)
|
||||||
|
BP_CallFunction1(m_pPlayersRefreshComplete, reinterpret_cast<int32_t>(m_pData));
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(BlitzISteamMatchmakingPlayersResponse*) BS_ISteamMatchmakingPlayersResponse_New(void* pData, BP_BlitzFunction4_t pAddPlayerToList, BP_BlitzFunction1_t pPlayersFailedToRespond, BP_BlitzFunction1_t pPlayersRefreshComplete) {
|
||||||
|
return new BlitzISteamMatchmakingPlayersResponse(pData, pAddPlayerToList, pPlayersFailedToRespond, pPlayersRefreshComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_ISteamMatchmakingPlayersResponse_Destroy(BlitzISteamMatchmakingPlayersResponse* pThis) {
|
||||||
|
delete pThis;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
BlitzISteamMatchmakingRulesResponse::BlitzISteamMatchmakingRulesResponse(void* pData, BP_BlitzFunction3_t pRulesResponded, BP_BlitzFunction1_t pRulesFailedToRespond, BP_BlitzFunction1_t pRulesRefreshComplete)
|
||||||
|
: m_pData(pData), m_pRulesResponded(pRulesResponded), m_pRulesFailedToRespond(pRulesFailedToRespond), m_pRulesRefreshComplete(pRulesRefreshComplete) {}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingRulesResponse::RulesResponded(const char *pchRule, const char *pchValue) {
|
||||||
|
if (this->m_pRulesResponded != nullptr)
|
||||||
|
BP_CallFunction3(m_pRulesResponded, reinterpret_cast<int32_t>(m_pData), reinterpret_cast<int32_t>(pchRule), reinterpret_cast<int32_t>(pchValue));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingRulesResponse::RulesFailedToRespond() {
|
||||||
|
if (this->m_pRulesFailedToRespond != nullptr)
|
||||||
|
BP_CallFunction1(m_pRulesFailedToRespond, reinterpret_cast<int32_t>(m_pData));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BlitzISteamMatchmakingRulesResponse::RulesRefreshComplete() {
|
||||||
|
if (this->m_pRulesRefreshComplete != nullptr)
|
||||||
|
BP_CallFunction1(m_pRulesRefreshComplete, reinterpret_cast<int32_t>(m_pData));
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(BlitzISteamMatchmakingRulesResponse*) BS_ISteamMatchmakingRulesResponse_New(void* pData, BP_BlitzFunction3_t pRulesResponded, BP_BlitzFunction1_t pRulesFailedToRespond, BP_BlitzFunction1_t pRulesRefreshComplete) {
|
||||||
|
return new BlitzISteamMatchmakingRulesResponse(pData, pRulesResponded, pRulesFailedToRespond, pRulesRefreshComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_ISteamMatchmakingRulesResponse_Destroy(BlitzISteamMatchmakingRulesResponse* pThis) {
|
||||||
|
delete pThis;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
char* BS_TGameServerItem_CharBuffer = new char[128];
|
||||||
|
|
||||||
|
DLL(const char*) BS_TGameServerItem_GetName(gameserveritem_t* pThis) {
|
||||||
|
strcpy(BS_TGameServerItem_CharBuffer, pThis->GetName());
|
||||||
|
return BS_TGameServerItem_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_TGameServerItem_SetName(gameserveritem_t* pThis, const char* cName) {
|
||||||
|
pThis->SetName(cName);
|
||||||
|
}
|
||||||
|
|
||||||
|
///< IP/Query Port/Connection Port for this server
|
||||||
|
DLL(servernetadr_t*) BS_TGameServerItem_NetAdr(gameserveritem_t* pThis) {
|
||||||
|
return &(pThis->m_NetAdr);
|
||||||
|
}
|
||||||
|
|
||||||
|
///< current ping time in milliseconds
|
||||||
|
DLL(int) BS_TGameServerItem_Ping(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nPing;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< server has responded successfully in the past
|
||||||
|
DLL(bool) BS_TGameServerItem_HadSuccessfulResponse(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_bHadSuccessfulResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< server is marked as not responding and should no longer be refreshed
|
||||||
|
DLL(bool) BS_TGameServerItem_DoNotRefresh(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_bDoNotRefresh;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< current game directory
|
||||||
|
DLL(const char*) BS_TGameServerItem_GameDir(gameserveritem_t* pThis) {
|
||||||
|
strcpy(BS_TGameServerItem_CharBuffer, pThis->m_szGameDir);
|
||||||
|
return BS_TGameServerItem_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< current map
|
||||||
|
DLL(const char*) BS_TGameServerItem_Map(gameserveritem_t* pThis) {
|
||||||
|
strcpy(BS_TGameServerItem_CharBuffer, pThis->m_szMap);
|
||||||
|
return BS_TGameServerItem_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< game description
|
||||||
|
DLL(const char*) BS_TGameServerItem_GameDescription(gameserveritem_t* pThis) {
|
||||||
|
strcpy(BS_TGameServerItem_CharBuffer, pThis->m_szGameDescription);
|
||||||
|
return BS_TGameServerItem_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< Steam App ID of this server
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_AppId(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nAppID;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< total number of players currently on the server. INCLUDES BOTS!!
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_Players(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nPlayers;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< Maximum players that can join this server
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_MaxPlayers(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nMaxPlayers;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< Number of bots (i.e simulated players) on this server
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_BotPlayers(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nBotPlayers;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< true if this server needs a password to join
|
||||||
|
DLL(bool) BS_TGameServerItem_Password(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_bPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< Is this server protected by VAC
|
||||||
|
DLL(bool) BS_TGameServerItem_Secure(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_bSecure;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< time (in unix time) when this server was last played on (for favorite/history servers)
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_TimeLastPlayed(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_ulTimeLastPlayed;
|
||||||
|
}
|
||||||
|
|
||||||
|
///< server version as reported to Steam
|
||||||
|
DLL(uint32_t) BS_TGameServerItem_ServerVersion(gameserveritem_t* pThis) {
|
||||||
|
return pThis->m_nServerVersion;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// the tags this server exposes
|
||||||
|
DLL(const char*) BS_TGameServerItem_GameTags(gameserveritem_t* pThis) {
|
||||||
|
strcpy(BS_TGameServerItem_CharBuffer, pThis->m_szGameTags);
|
||||||
|
return BS_TGameServerItem_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam)
|
||||||
|
DLL(CSteamID*) BS_TGameServerItem_SteamID(gameserveritem_t* pThis) {
|
||||||
|
return &(pThis->m_steamID);
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
char* BS_TServerNetAdr_CharBuffer = new char[128];
|
||||||
|
|
||||||
|
DLL(void) BS_TServerNetAdr_Set(servernetadr_t* pThis, servernetadr_t* pThat) {
|
||||||
|
*pThis = *pThat;
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_TServerNetAdr_Init(servernetadr_t* pThis, uint32_t iIP, uint16_t iQueryPort, uint16_t iConnectionPort) {
|
||||||
|
pThis->Init(iIP, iQueryPort, iConnectionPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(uint16_t) BS_TServerNetAdr_GetQueryPort(servernetadr_t* pThis) {
|
||||||
|
return pThis->GetQueryPort();
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_TServerNetAdr_SetQueryPort(servernetadr_t* pThis, uint16_t iPort) {
|
||||||
|
pThis->SetQueryPort(iPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(uint16_t) BS_TServerNetAdr_GetConnectionPort(servernetadr_t* pThis) {
|
||||||
|
return pThis->GetConnectionPort();
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_TServerNetAdr_SetConnectionPort(servernetadr_t* pThis, uint16_t iPort) {
|
||||||
|
pThis->SetConnectionPort(iPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(uint32_t) BS_TServerNetAdr_GetIP(servernetadr_t* pThis) {
|
||||||
|
return pThis->GetIP();
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(void) BS_TServerNetAdr_SetIP(servernetadr_t* pThis, uint32_t iIP) {
|
||||||
|
pThis->SetIP(iIP);
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(const char*) BS_TServerNetAdr_GetConnectionAddressString(servernetadr_t* pThis) {
|
||||||
|
strcpy(BS_TServerNetAdr_CharBuffer, pThis->GetConnectionAddressString());
|
||||||
|
return BS_TServerNetAdr_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(const char*) BS_TServerNetAdr_GetQueryAddressString(servernetadr_t* pThis) {
|
||||||
|
strcpy(BS_TServerNetAdr_CharBuffer, pThis->GetQueryAddressString());
|
||||||
|
return BS_TServerNetAdr_CharBuffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
DLL(uint32_t) BS_TServerNetAdr_Compare(servernetadr_t* pThis, servernetadr_t* pThat) {
|
||||||
|
return (pThis < pThat ? -1 : (pThis > pThat ? 1 : 0));
|
||||||
|
}
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
//
|
||||||
|
// This program 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.
|
||||||
|
//
|
||||||
|
// This program 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "BlitzSteamInternal.h"
|
||||||
|
#include "../Helpers/BlitzPointer.h"
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose: Callback interface for receiving responses after a server list refresh
|
||||||
|
// or an individual server update.
|
||||||
|
//
|
||||||
|
// Since you get these callbacks after requesting full list refreshes you will
|
||||||
|
// usually implement this interface inside an object like CServerBrowser. If that
|
||||||
|
// object is getting destructed you should use ISteamMatchMakingServers()->CancelQuery()
|
||||||
|
// to cancel any in-progress queries so you don't get a callback into the destructed
|
||||||
|
// object and crash.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
class BlitzISteamMatchmakingServerListResponse : public ISteamMatchmakingServerListResponse {
|
||||||
|
private:
|
||||||
|
void* m_pData;
|
||||||
|
|
||||||
|
BP_BlitzFunction3_t m_pServerResponded;
|
||||||
|
BP_BlitzFunction3_t m_pServerFailedToRespond;
|
||||||
|
BP_BlitzFunction3_t m_pRefreshComplete;
|
||||||
|
public:
|
||||||
|
BlitzISteamMatchmakingServerListResponse(void* pData, BP_BlitzFunction3_t pServerResponded, BP_BlitzFunction3_t pServerFailedToRespond, BP_BlitzFunction3_t pRefreshComplete);
|
||||||
|
|
||||||
|
// Server has responded ok with updated data
|
||||||
|
virtual void ServerResponded(HServerListRequest hRequest, int iServer) override;
|
||||||
|
// Server has failed to respond
|
||||||
|
virtual void ServerFailedToRespond(HServerListRequest hRequest, int iServer) override;
|
||||||
|
// A list refresh you had initiated is now 100% completed
|
||||||
|
virtual void RefreshComplete(HServerListRequest hRequest, EMatchMakingServerResponse response) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose: Callback interface for receiving responses after pinging an individual server
|
||||||
|
//
|
||||||
|
// These callbacks all occur in response to querying an individual server
|
||||||
|
// via the ISteamMatchmakingServers()->PingServer() call below. If you are
|
||||||
|
// destructing an object that implements this interface then you should call
|
||||||
|
// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query
|
||||||
|
// which is in progress. Failure to cancel in progress queries when destructing
|
||||||
|
// a callback handler may result in a crash when a callback later occurs.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
class BlitzISteamMatchmakingPingResponse : public ISteamMatchmakingPingResponse {
|
||||||
|
private:
|
||||||
|
void* m_pData;
|
||||||
|
|
||||||
|
BP_BlitzFunction2_t m_pServerResponded;
|
||||||
|
BP_BlitzFunction1_t m_pServerFailedToRespond;
|
||||||
|
public:
|
||||||
|
BlitzISteamMatchmakingPingResponse(void* pData, BP_BlitzFunction2_t pServerResponded, BP_BlitzFunction1_t pServerFailedToRespond);
|
||||||
|
|
||||||
|
// Server has responded successfully and has updated data
|
||||||
|
virtual void ServerResponded(gameserveritem_t &server) override;
|
||||||
|
// Server failed to respond to the ping request
|
||||||
|
virtual void ServerFailedToRespond() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose: Callback interface for receiving responses after requesting details on
|
||||||
|
// who is playing on a particular server.
|
||||||
|
//
|
||||||
|
// These callbacks all occur in response to querying an individual server
|
||||||
|
// via the ISteamMatchmakingServers()->PlayerDetails() call below. If you are
|
||||||
|
// destructing an object that implements this interface then you should call
|
||||||
|
// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query
|
||||||
|
// which is in progress. Failure to cancel in progress queries when destructing
|
||||||
|
// a callback handler may result in a crash when a callback later occurs.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
class BlitzISteamMatchmakingPlayersResponse : public ISteamMatchmakingPlayersResponse {
|
||||||
|
private:
|
||||||
|
void* m_pData;
|
||||||
|
|
||||||
|
BP_BlitzFunction4_t m_pAddPlayerToList;
|
||||||
|
BP_BlitzFunction1_t m_pPlayersFailedToRespond;
|
||||||
|
BP_BlitzFunction1_t m_pPlayersRefreshComplete;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BlitzISteamMatchmakingPlayersResponse(void* pData, BP_BlitzFunction4_t pAddPlayerToList, BP_BlitzFunction1_t pPlayersFailedToRespond, BP_BlitzFunction1_t pPlayersRefreshComplete);
|
||||||
|
|
||||||
|
// Got data on a new player on the server -- you'll get this callback once per player
|
||||||
|
// on the server which you have requested player data on.
|
||||||
|
virtual void AddPlayerToList(const char *pchName, int nScore, float flTimePlayed) override;
|
||||||
|
// The server failed to respond to the request for player details
|
||||||
|
virtual void PlayersFailedToRespond() override;
|
||||||
|
// The server has finished responding to the player details request
|
||||||
|
// (ie, you won't get anymore AddPlayerToList callbacks)
|
||||||
|
virtual void PlayersRefreshComplete() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Purpose: Callback interface for receiving responses after requesting rules
|
||||||
|
// details on a particular server.
|
||||||
|
//
|
||||||
|
// These callbacks all occur in response to querying an individual server
|
||||||
|
// via the ISteamMatchmakingServers()->ServerRules() call below. If you are
|
||||||
|
// destructing an object that implements this interface then you should call
|
||||||
|
// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query
|
||||||
|
// which is in progress. Failure to cancel in progress queries when destructing
|
||||||
|
// a callback handler may result in a crash when a callback later occurs.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
class BlitzISteamMatchmakingRulesResponse : public ISteamMatchmakingRulesResponse {
|
||||||
|
private:
|
||||||
|
void* m_pData;
|
||||||
|
|
||||||
|
BP_BlitzFunction3_t m_pRulesResponded;
|
||||||
|
BP_BlitzFunction1_t m_pRulesFailedToRespond, m_pRulesRefreshComplete;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BlitzISteamMatchmakingRulesResponse(void* pData, BP_BlitzFunction3_t pRulesResponded, BP_BlitzFunction1_t pRulesFailedToRespond, BP_BlitzFunction1_t pRulesRefreshComplete);
|
||||||
|
|
||||||
|
// Got data on a rule on the server -- you'll get one of these per rule defined on
|
||||||
|
// the server you are querying
|
||||||
|
virtual void RulesResponded(const char *pchRule, const char *pchValue) override;
|
||||||
|
|
||||||
|
// The server failed to respond to the request for rule details
|
||||||
|
virtual void RulesFailedToRespond() override;
|
||||||
|
|
||||||
|
// The server has finished responding to the rule details request
|
||||||
|
// (ie, you won't get anymore RulesResponded callbacks)
|
||||||
|
virtual void RulesRefreshComplete() override;
|
||||||
|
};
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
//
|
||||||
|
// This program 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.
|
||||||
|
//
|
||||||
|
// This program 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "SteamTypes.h"
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
|
//
|
||||||
|
// This program 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.
|
||||||
|
//
|
||||||
|
// This program 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "BlitzSteamInternal.h"
|
||||||
|
|
||||||
+98
-98
@@ -1,99 +1,99 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
// Steam API setup & shutdown
|
// Steam API setup & shutdown
|
||||||
//
|
//
|
||||||
// These functions manage loading, initializing and shutdown of the steamclient.dll
|
// These functions manage loading, initializing and shutdown of the steamclient.dll
|
||||||
//
|
//
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
|
|
||||||
DLL(int32_t) BS_SteamAPI_Init() {
|
DLL(int32_t) BS_SteamAPI_Init() {
|
||||||
return SteamAPI_Init();
|
return SteamAPI_Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_SteamAPI_Shutdown() {
|
DLL(void) BS_SteamAPI_Shutdown() {
|
||||||
SteamAPI_Shutdown();
|
SteamAPI_Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
// checks if a local Steam client is running
|
// checks if a local Steam client is running
|
||||||
DLL(int32_t) BS_SteamAPI_IsSteamRunning() {
|
DLL(int32_t) BS_SteamAPI_IsSteamRunning() {
|
||||||
return SteamAPI_IsSteamRunning();
|
return SteamAPI_IsSteamRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detects if your executable was launched through the Steam client, and restarts your game through
|
// Detects if your executable was launched through the Steam client, and restarts your game through
|
||||||
// the client if necessary. The Steam client will be started if it is not running.
|
// the client if necessary. The Steam client will be started if it is not running.
|
||||||
//
|
//
|
||||||
// Returns: true if your executable was NOT launched through the Steam client. This function will
|
// Returns: true if your executable was NOT launched through the Steam client. This function will
|
||||||
// then start your application through the client. Your current process should exit.
|
// then start your application through the client. Your current process should exit.
|
||||||
//
|
//
|
||||||
// false if your executable was started through the Steam client or a steam_appid.txt file
|
// false if your executable was started through the Steam client or a steam_appid.txt file
|
||||||
// is present in your game's directory (for development). Your current process should continue.
|
// is present in your game's directory (for development). Your current process should continue.
|
||||||
//
|
//
|
||||||
// NOTE: This function should be used only if you are using CEG or not using Steam's DRM. Once applied
|
// NOTE: This function should be used only if you are using CEG or not using Steam's DRM. Once applied
|
||||||
// to your executable, Steam's DRM will handle restarting through Steam if necessary.
|
// to your executable, Steam's DRM will handle restarting through Steam if necessary.
|
||||||
DLL(int32_t) BS_SteamAPI_RestartAppIfNecessary(uint32_t unOwnAppID) {
|
DLL(int32_t) BS_SteamAPI_RestartAppIfNecessary(uint32_t unOwnAppID) {
|
||||||
return SteamAPI_RestartAppIfNecessary(unOwnAppID);
|
return SteamAPI_RestartAppIfNecessary(unOwnAppID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// crash dump recording functions
|
// crash dump recording functions
|
||||||
DLL(void) BS_SteamAPI_WriteMiniDump(uint32_t uStructuredExceptionCode, void* pvExceptionInfo, uint32_t uBuildID) {
|
DLL(void) BS_SteamAPI_WriteMiniDump(uint32_t uStructuredExceptionCode, void* pvExceptionInfo, uint32_t uBuildID) {
|
||||||
SteamAPI_WriteMiniDump(uStructuredExceptionCode, pvExceptionInfo, uBuildID);
|
SteamAPI_WriteMiniDump(uStructuredExceptionCode, pvExceptionInfo, uBuildID);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_SteamAPI_SetMiniDumpComment(const char* pchMsg) {
|
DLL(void) BS_SteamAPI_SetMiniDumpComment(const char* pchMsg) {
|
||||||
SteamAPI_SetMiniDumpComment(pchMsg);
|
SteamAPI_SetMiniDumpComment(pchMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Most Steam API functions allocate some amount of thread-local memory for
|
// Most Steam API functions allocate some amount of thread-local memory for
|
||||||
// parameter storage. The SteamAPI_ReleaseCurrentThreadMemory() function
|
// parameter storage. The SteamAPI_ReleaseCurrentThreadMemory() function
|
||||||
// will free all API-related memory associated with the calling thread.
|
// will free all API-related memory associated with the calling thread.
|
||||||
// This memory is also released automatically by SteamAPI_RunCallbacks(), so
|
// This memory is also released automatically by SteamAPI_RunCallbacks(), so
|
||||||
// a single-threaded program does not need to explicitly call this function.
|
// a single-threaded program does not need to explicitly call this function.
|
||||||
DLL(void) BS_SteamAPI_ReleaseCurrentThreadMemory() {
|
DLL(void) BS_SteamAPI_ReleaseCurrentThreadMemory() {
|
||||||
return SteamAPI_ReleaseCurrentThreadMemory();
|
return SteamAPI_ReleaseCurrentThreadMemory();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -- Callbacks
|
// -- Callbacks
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
// steam callback and call-result helpers
|
// steam callback and call-result helpers
|
||||||
//
|
//
|
||||||
// The following macros and classes are used to register your application for
|
// The following macros and classes are used to register your application for
|
||||||
// callbacks and call-results, which are delivered in a predictable manner.
|
// callbacks and call-results, which are delivered in a predictable manner.
|
||||||
//
|
//
|
||||||
// STEAM_CALLBACK macros are meant for use inside of a C++ class definition.
|
// STEAM_CALLBACK macros are meant for use inside of a C++ class definition.
|
||||||
// They map a Steam notification callback directly to a class member function
|
// They map a Steam notification callback directly to a class member function
|
||||||
// which is automatically prototyped as "void func( callback_type *pParam )".
|
// which is automatically prototyped as "void func( callback_type *pParam )".
|
||||||
//
|
//
|
||||||
// CCallResult is used with specific Steam APIs that return "result handles".
|
// CCallResult is used with specific Steam APIs that return "result handles".
|
||||||
// The handle can be passed to a CCallResult object's Set function, along with
|
// The handle can be passed to a CCallResult object's Set function, along with
|
||||||
// an object pointer and member-function pointer. The member function will
|
// an object pointer and member-function pointer. The member function will
|
||||||
// be executed once the results of the Steam API call are available.
|
// be executed once the results of the Steam API call are available.
|
||||||
//
|
//
|
||||||
// CCallback and CCallbackManual classes can be used instead of STEAM_CALLBACK
|
// CCallback and CCallbackManual classes can be used instead of STEAM_CALLBACK
|
||||||
// macros if you require finer control over registration and unregistration.
|
// macros if you require finer control over registration and unregistration.
|
||||||
//
|
//
|
||||||
// Callbacks and call-results are queued automatically and are only
|
// Callbacks and call-results are queued automatically and are only
|
||||||
// delivered/executed when your application calls SteamAPI_RunCallbacks().
|
// delivered/executed when your application calls SteamAPI_RunCallbacks().
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
|
|
||||||
// SteamAPI_RunCallbacks is safe to call from multiple threads simultaneously,
|
// SteamAPI_RunCallbacks is safe to call from multiple threads simultaneously,
|
||||||
// but if you choose to do this, callback code may be executed on any thread.
|
// but if you choose to do this, callback code may be executed on any thread.
|
||||||
DLL(void) BS_SteamAPI_RunCallbacks() {
|
DLL(void) BS_SteamAPI_RunCallbacks() {
|
||||||
SteamAPI_RunCallbacks();
|
SteamAPI_RunCallbacks();
|
||||||
}
|
}
|
||||||
+50
-50
@@ -1,50 +1,50 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: This is a restricted interface that can only be used by previously approved apps,
|
// Purpose: This is a restricted interface that can only be used by previously approved apps,
|
||||||
// contact your Steam Account Manager if you believe you need access to this API.
|
// contact your Steam Account Manager if you believe you need access to this API.
|
||||||
// This interface lets you detect installed apps for the local Steam client, useful for debugging tools
|
// This interface lets you detect installed apps for the local Steam client, useful for debugging tools
|
||||||
// to offer lists of apps to debug via Steam.
|
// to offer lists of apps to debug via Steam.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamAppList*) BS_SteamAppList() {
|
DLL(ISteamAppList*) BS_SteamAppList() {
|
||||||
return SteamAppList();
|
return SteamAppList();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamAppList_GetNumInstalledApps(ISteamAppList* lpSteamAppList) {
|
DLL(int32_t) BS_ISteamAppList_GetNumInstalledApps(ISteamAppList* lpSteamAppList) {
|
||||||
return lpSteamAppList->GetNumInstalledApps();
|
return lpSteamAppList->GetNumInstalledApps();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamAppList_GetInstalledApps(ISteamAppList* lpSteamAppList, AppId_t *pvecAppID, uint32_t unMaxAppIDs) {
|
DLL(int32_t) BS_ISteamAppList_GetInstalledApps(ISteamAppList* lpSteamAppList, AppId_t *pvecAppID, uint32_t unMaxAppIDs) {
|
||||||
return lpSteamAppList->GetInstalledApps(pvecAppID, unMaxAppIDs);
|
return lpSteamAppList->GetInstalledApps(pvecAppID, unMaxAppIDs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns -1 if no name was found
|
// returns -1 if no name was found
|
||||||
DLL(int32_t) BS_ISteamAppList_GetAppName(ISteamAppList* lpSteamAppList, AppId_t nAppID, const char* pchName, uint32_t cchNameMax) {
|
DLL(int32_t) BS_ISteamAppList_GetAppName(ISteamAppList* lpSteamAppList, AppId_t nAppID, const char* pchName, uint32_t cchNameMax) {
|
||||||
return lpSteamAppList->GetAppName(nAppID, (char*)pchName, cchNameMax);
|
return lpSteamAppList->GetAppName(nAppID, (char*)pchName, cchNameMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns -1 if no dir was found
|
// returns -1 if no dir was found
|
||||||
DLL(int32_t) BS_ISteamAppList_GetAppInstallDir(ISteamAppList* lpSteamAppList, AppId_t nAppID, char* pchDirectoryBuffer, uint32_t cchDirectoryMax) {
|
DLL(int32_t) BS_ISteamAppList_GetAppInstallDir(ISteamAppList* lpSteamAppList, AppId_t nAppID, char* pchDirectoryBuffer, uint32_t cchDirectoryMax) {
|
||||||
return lpSteamAppList->GetAppInstallDir(nAppID, pchDirectoryBuffer, cchDirectoryMax);
|
return lpSteamAppList->GetAppInstallDir(nAppID, pchDirectoryBuffer, cchDirectoryMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the buildid of this app, may change at any time based on backend updates to the game
|
// return the buildid of this app, may change at any time based on backend updates to the game
|
||||||
DLL(int32_t) BS_ISteamAppList_GetAppBuildId(ISteamAppList* lpSteamAppList, AppId_t nAppID) {
|
DLL(int32_t) BS_ISteamAppList_GetAppBuildId(ISteamAppList* lpSteamAppList, AppId_t nAppID) {
|
||||||
return lpSteamAppList->GetAppBuildId(nAppID);
|
return lpSteamAppList->GetAppBuildId(nAppID);
|
||||||
}
|
}
|
||||||
|
|||||||
+146
-146
@@ -1,146 +1,146 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: interface to app data
|
// Purpose: interface to app data
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamApps*) BS_SteamApps() {
|
DLL(ISteamApps*) BS_SteamApps() {
|
||||||
return SteamApps();
|
return SteamApps();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamApps_IsSubscribed(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_IsSubscribed(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->BIsSubscribed();
|
return lpSteamApps->BIsSubscribed();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamApps_IsLowViolence(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_IsLowViolence(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->BIsLowViolence();
|
return lpSteamApps->BIsLowViolence();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamApps_IsCybercafe(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_IsCybercafe(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->BIsCybercafe();
|
return lpSteamApps->BIsCybercafe();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamApps_IsVACBanned(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_IsVACBanned(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->BIsVACBanned();
|
return lpSteamApps->BIsVACBanned();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamApps_GetCurrentGameLanguage(ISteamApps* lpSteamApps) {
|
DLL(const char*) BS_ISteamApps_GetCurrentGameLanguage(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->GetCurrentGameLanguage();
|
return lpSteamApps->GetCurrentGameLanguage();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamApps_GetAvailableGameLanguages(ISteamApps* lpSteamApps) {
|
DLL(const char*) BS_ISteamApps_GetAvailableGameLanguages(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->GetAvailableGameLanguages();
|
return lpSteamApps->GetAvailableGameLanguages();
|
||||||
}
|
}
|
||||||
|
|
||||||
// only use this member if you need to check ownership of another game related to yours, a demo for example
|
// only use this member if you need to check ownership of another game related to yours, a demo for example
|
||||||
DLL(int32_t) BS_ISteamApps_IsSubscribedApp(ISteamApps* lpSteamApps, AppId_t appID) {
|
DLL(int32_t) BS_ISteamApps_IsSubscribedApp(ISteamApps* lpSteamApps, AppId_t appID) {
|
||||||
return lpSteamApps->BIsSubscribedApp(appID);
|
return lpSteamApps->BIsSubscribedApp(appID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed
|
// Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed
|
||||||
DLL(int32_t) BS_ISteamApps_IsDlcInstalled(ISteamApps* lpSteamApps, AppId_t appID) {
|
DLL(int32_t) BS_ISteamApps_IsDlcInstalled(ISteamApps* lpSteamApps, AppId_t appID) {
|
||||||
return lpSteamApps->BIsDlcInstalled(appID);
|
return lpSteamApps->BIsDlcInstalled(appID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the Unix time of the purchase of the app
|
// returns the Unix time of the purchase of the app
|
||||||
DLL(int32_t) BS_ISteamApps_GetEarliestPurchaseUnixTime(ISteamApps* lpSteamApps, AppId_t appID) {
|
DLL(int32_t) BS_ISteamApps_GetEarliestPurchaseUnixTime(ISteamApps* lpSteamApps, AppId_t appID) {
|
||||||
return lpSteamApps->GetEarliestPurchaseUnixTime(appID);
|
return lpSteamApps->GetEarliestPurchaseUnixTime(appID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checks if the user is subscribed to the current app through a free weekend
|
// Checks if the user is subscribed to the current app through a free weekend
|
||||||
// This function will return false for users who have a retail or other type of license
|
// This function will return false for users who have a retail or other type of license
|
||||||
// Before using, please ask your Valve technical contact how to package and secure your free weekened
|
// Before using, please ask your Valve technical contact how to package and secure your free weekened
|
||||||
DLL(int32_t) BS_ISteamApps_IsSubscribedFromFreeWeekend(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_IsSubscribedFromFreeWeekend(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->BIsSubscribedFromFreeWeekend();
|
return lpSteamApps->BIsSubscribedFromFreeWeekend();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the number of DLC pieces for the running app
|
// Returns the number of DLC pieces for the running app
|
||||||
DLL(int32_t) BS_ISteamApps_GetDLCCount(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_GetDLCCount(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->GetDLCCount();
|
return lpSteamApps->GetDLCCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns metadata for DLC by index, of range [0, GetDLCCount()]
|
// Returns metadata for DLC by index, of range [0, GetDLCCount()]
|
||||||
DLL(int32_t) BS_ISteamApps_GetDLCDataByIndex(ISteamApps* lpSteamApps, uint32_t iDLC, AppId_t *pAppIdBuffer, bool* pbAvailableBuffer, char *pchNameBuffer, uint32_t cchNameBufferSize) {
|
DLL(int32_t) BS_ISteamApps_GetDLCDataByIndex(ISteamApps* lpSteamApps, uint32_t iDLC, AppId_t *pAppIdBuffer, bool* pbAvailableBuffer, char *pchNameBuffer, uint32_t cchNameBufferSize) {
|
||||||
return lpSteamApps->BGetDLCDataByIndex(iDLC, pAppIdBuffer, (bool*)pbAvailableBuffer, pchNameBuffer, cchNameBufferSize);
|
return lpSteamApps->BGetDLCDataByIndex(iDLC, pAppIdBuffer, (bool*)pbAvailableBuffer, pchNameBuffer, cchNameBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Install/Uninstall control for optional DLC
|
// Install/Uninstall control for optional DLC
|
||||||
DLL(void) BS_ISteamApps_InstallDLC(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
DLL(void) BS_ISteamApps_InstallDLC(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
||||||
lpSteamApps->InstallDLC(nAppID);
|
lpSteamApps->InstallDLC(nAppID);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamApps_UninstallDLC(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
DLL(void) BS_ISteamApps_UninstallDLC(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
||||||
lpSteamApps->UninstallDLC(nAppID);
|
lpSteamApps->UninstallDLC(nAppID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Request cd-key for yourself or owned DLC. If you are interested in this
|
// Request cd-key for yourself or owned DLC. If you are interested in this
|
||||||
// data then make sure you provide us with a list of valid keys to be distributed
|
// data then make sure you provide us with a list of valid keys to be distributed
|
||||||
// to users when they purchase the game, before the game ships.
|
// to users when they purchase the game, before the game ships.
|
||||||
// You'll receive an AppProofOfPurchaseKeyResponse_t callback when
|
// You'll receive an AppProofOfPurchaseKeyResponse_t callback when
|
||||||
// the key is available (which may be immediately).
|
// the key is available (which may be immediately).
|
||||||
DLL(void) BS_ISteamApps_RequestAppProofOfPurchaseKey(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
DLL(void) BS_ISteamApps_RequestAppProofOfPurchaseKey(ISteamApps* lpSteamApps, AppId_t nAppID) {
|
||||||
lpSteamApps->RequestAppProofOfPurchaseKey(nAppID);
|
lpSteamApps->RequestAppProofOfPurchaseKey(nAppID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns current beta branch name, 'public' is the default branch
|
// returns current beta branch name, 'public' is the default branch
|
||||||
DLL(int32_t) BS_ISteamApps_GetCurrentBetaName(ISteamApps* lpSteamApps, char* pchNameBuffer, int cchNameBufferSize) {
|
DLL(int32_t) BS_ISteamApps_GetCurrentBetaName(ISteamApps* lpSteamApps, char* pchNameBuffer, int cchNameBufferSize) {
|
||||||
return lpSteamApps->GetCurrentBetaName(pchNameBuffer, cchNameBufferSize);
|
return lpSteamApps->GetCurrentBetaName(pchNameBuffer, cchNameBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// signal Steam that game files seems corrupt or missing
|
// signal Steam that game files seems corrupt or missing
|
||||||
DLL(int32_t) BS_ISteamApps_MarkContentCorrupt(ISteamApps* lpSteamApps, uint32_t bMissingFilesOnly) {
|
DLL(int32_t) BS_ISteamApps_MarkContentCorrupt(ISteamApps* lpSteamApps, uint32_t bMissingFilesOnly) {
|
||||||
return lpSteamApps->MarkContentCorrupt(bMissingFilesOnly != 0);
|
return lpSteamApps->MarkContentCorrupt(bMissingFilesOnly != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return installed depots in mount order
|
// return installed depots in mount order
|
||||||
DLL(int32_t) BS_ISteamApps_GetInstalledDepots(ISteamApps* lpSteamApps, AppId_t nAppID, DepotId_t *pDepotsBuffer, uint32_t cMaxDepots) {
|
DLL(int32_t) BS_ISteamApps_GetInstalledDepots(ISteamApps* lpSteamApps, AppId_t nAppID, DepotId_t *pDepotsBuffer, uint32_t cMaxDepots) {
|
||||||
return lpSteamApps->GetInstalledDepots(nAppID, pDepotsBuffer, cMaxDepots);
|
return lpSteamApps->GetInstalledDepots(nAppID, pDepotsBuffer, cMaxDepots);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns current app install folder for AppID, returns folder name length
|
// returns current app install folder for AppID, returns folder name length
|
||||||
DLL(int32_t) BS_ISteamApps_GetAppInstallDir(ISteamApps* lpSteamApps, AppId_t appID, char *pchFolderBuffer, uint32_t cchFolderBufferSize) {
|
DLL(int32_t) BS_ISteamApps_GetAppInstallDir(ISteamApps* lpSteamApps, AppId_t appID, char *pchFolderBuffer, uint32_t cchFolderBufferSize) {
|
||||||
return lpSteamApps->GetAppInstallDir(appID, pchFolderBuffer, cchFolderBufferSize);
|
return lpSteamApps->GetAppInstallDir(appID, pchFolderBuffer, cchFolderBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if that app is installed (not necessarily owned)
|
// returns true if that app is installed (not necessarily owned)
|
||||||
DLL(int32_t) BS_ISteamApps_IsAppInstalled(ISteamApps* lpSteamApps, AppId_t appID) {
|
DLL(int32_t) BS_ISteamApps_IsAppInstalled(ISteamApps* lpSteamApps, AppId_t appID) {
|
||||||
return lpSteamApps->BIsAppInstalled(appID);
|
return lpSteamApps->BIsAppInstalled(appID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the SteamID of the original owner. If different from current user, it's borrowed
|
// returns the SteamID of the original owner. If different from current user, it's borrowed
|
||||||
DLL(CSteamID*) BS_ISteamApps_GetAppOwner(ISteamApps* lpSteamApps) {
|
DLL(CSteamID*) BS_ISteamApps_GetAppOwner(ISteamApps* lpSteamApps) {
|
||||||
return new CSteamID(lpSteamApps->GetAppOwner());
|
return new CSteamID(lpSteamApps->GetAppOwner());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the associated launch param if the game is run via steam://run/<appid>//?param1=value1;param2=value2;param3=value3 etc.
|
// Returns the associated launch param if the game is run via steam://run/<appid>//?param1=value1;param2=value2;param3=value3 etc.
|
||||||
// Parameter names starting with the character '@' are reserved for internal use and will always return and empty string.
|
// Parameter names starting with the character '@' are reserved for internal use and will always return and empty string.
|
||||||
// Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game,
|
// Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game,
|
||||||
// but it is advised that you not param names beginning with an underscore for your own features.
|
// but it is advised that you not param names beginning with an underscore for your own features.
|
||||||
DLL(const char*) BS_ISteamApps_GetLaunchQueryParam(ISteamApps* lpSteamApps, const char *pchKey) {
|
DLL(const char*) BS_ISteamApps_GetLaunchQueryParam(ISteamApps* lpSteamApps, const char *pchKey) {
|
||||||
return lpSteamApps->GetLaunchQueryParam(pchKey);
|
return lpSteamApps->GetLaunchQueryParam(pchKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get download progress for optional DLC
|
// get download progress for optional DLC
|
||||||
DLL(int32_t) BS_ISteamApps_GetDlcDownloadProgress(ISteamApps* lpSteamApps, AppId_t nAppID, uint64_t* pLLBytesDownloaded, uint64_t* pLLBytesTotal) {
|
DLL(int32_t) BS_ISteamApps_GetDlcDownloadProgress(ISteamApps* lpSteamApps, AppId_t nAppID, uint64_t* pLLBytesDownloaded, uint64_t* pLLBytesTotal) {
|
||||||
return lpSteamApps->GetDlcDownloadProgress(nAppID, pLLBytesDownloaded, pLLBytesTotal);
|
return lpSteamApps->GetDlcDownloadProgress(nAppID, pLLBytesDownloaded, pLLBytesTotal);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the buildid of this app, may change at any time based on backend updates to the game
|
// return the buildid of this app, may change at any time based on backend updates to the game
|
||||||
DLL(int32_t) BS_ISteamApps_GetAppBuildId(ISteamApps* lpSteamApps) {
|
DLL(int32_t) BS_ISteamApps_GetAppBuildId(ISteamApps* lpSteamApps) {
|
||||||
return lpSteamApps->GetAppBuildId();
|
return lpSteamApps->GetAppBuildId();
|
||||||
}
|
}
|
||||||
|
|||||||
+147
-147
@@ -1,147 +1,147 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamClient*) BS_SteamClient() {
|
DLL(ISteamClient*) BS_SteamClient() {
|
||||||
return SteamClient();
|
return SteamClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(HSteamPipe) BS_ISteamClient_CreateSteamPipe(ISteamClient* lpSteamClient) {
|
DLL(HSteamPipe) BS_ISteamClient_CreateSteamPipe(ISteamClient* lpSteamClient) {
|
||||||
return lpSteamClient->CreateSteamPipe();
|
return lpSteamClient->CreateSteamPipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamClient_ReleaseSteamPipe(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) {
|
DLL(int32_t) BS_ISteamClient_ReleaseSteamPipe(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) {
|
||||||
return lpSteamClient->BReleaseSteamPipe(hSteamPipe);
|
return lpSteamClient->BReleaseSteamPipe(hSteamPipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(HSteamUser) BS_ISteamClient_ConnectToGlobalUser(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) {
|
DLL(HSteamUser) BS_ISteamClient_ConnectToGlobalUser(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe) {
|
||||||
return lpSteamClient->ConnectToGlobalUser(hSteamPipe);
|
return lpSteamClient->ConnectToGlobalUser(hSteamPipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamClient_SetLocalIPBinding(ISteamClient* lpSteamClient, uint32_t unIP, uint16 usPort) {
|
DLL(void) BS_ISteamClient_SetLocalIPBinding(ISteamClient* lpSteamClient, uint32_t unIP, uint16 usPort) {
|
||||||
return lpSteamClient->SetLocalIPBinding(unIP, usPort);
|
return lpSteamClient->SetLocalIPBinding(unIP, usPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(HSteamUser) BS_ISteamClient_CreateLocalUser(ISteamClient* lpSteamClient, HSteamPipe* phSteamPipe, EAccountType eAccountType) {
|
DLL(HSteamUser) BS_ISteamClient_CreateLocalUser(ISteamClient* lpSteamClient, HSteamPipe* phSteamPipe, EAccountType eAccountType) {
|
||||||
return lpSteamClient->CreateLocalUser(phSteamPipe, eAccountType);
|
return lpSteamClient->CreateLocalUser(phSteamPipe, eAccountType);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamClient_ReleaseUser(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe, HSteamUser hSteamUser) {
|
DLL(void) BS_ISteamClient_ReleaseUser(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe, HSteamUser hSteamUser) {
|
||||||
return lpSteamClient->ReleaseUser(hSteamPipe, hSteamUser);
|
return lpSteamClient->ReleaseUser(hSteamPipe, hSteamUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamClient_GetIPCCallCount(ISteamClient* lpSteamClient) {
|
DLL(int32_t) BS_ISteamClient_GetIPCCallCount(ISteamClient* lpSteamClient) {
|
||||||
return lpSteamClient->GetIPCCallCount();
|
return lpSteamClient->GetIPCCallCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamClient_ShutdownIfAllPipesClosed(ISteamClient* lpSteamClient) {
|
DLL(int32_t) BS_ISteamClient_ShutdownIfAllPipesClosed(ISteamClient* lpSteamClient) {
|
||||||
return lpSteamClient->BShutdownIfAllPipesClosed();
|
return lpSteamClient->BShutdownIfAllPipesClosed();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Interfaces
|
// Interfaces
|
||||||
DLL(ISteamAppList*) BS_ISteamClient_GetSteamAppList(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamAppList*) BS_ISteamClient_GetSteamAppList(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamAppList(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamAppList(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamApps*) BS_ISteamClient_GetSteamApps(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamApps*) BS_ISteamClient_GetSteamApps(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamApps(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamApps(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamController*) BS_ISteamClient_GetSteamController(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamController*) BS_ISteamClient_GetSteamController(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamController(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamController(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamFriends*) BS_ISteamClient_GetSteamFriends(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamFriends*) BS_ISteamClient_GetSteamFriends(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamFriends(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamFriends(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamGameServer*) BS_ISteamClient_GetSteamGameServer(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamGameServer*) BS_ISteamClient_GetSteamGameServer(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamGameServer(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamGameServer(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamGameServerStats*) BS_ISteamClient_GetSteamGameServerStats(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamGameServerStats*) BS_ISteamClient_GetSteamGameServerStats(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamGameServerStats(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamGameServerStats(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamHTMLSurface*) BS_ISteamClient_GetSteamHTMLSurface(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamHTMLSurface*) BS_ISteamClient_GetSteamHTMLSurface(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamHTMLSurface(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamHTMLSurface(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamHTTP*) BS_ISteamClient_GetSteamHTTP(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamHTTP*) BS_ISteamClient_GetSteamHTTP(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamHTTP(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamHTTP(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamInventory*) BS_ISteamClient_GetSteamInventory(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamInventory*) BS_ISteamClient_GetSteamInventory(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamInventory(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamInventory(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamMatchmaking*) BS_ISteamClient_GetSteamMatchmaking(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamMatchmaking*) BS_ISteamClient_GetSteamMatchmaking(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamMatchmaking(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamMatchmaking(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamMatchmakingServers*) BS_ISteamClient_GetSteamMatchmakingServers(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamMatchmakingServers*) BS_ISteamClient_GetSteamMatchmakingServers(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamMatchmakingServers(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamMatchmakingServers(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamMusic*) BS_ISteamClient_GetSteamMusic(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamMusic*) BS_ISteamClient_GetSteamMusic(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamMusic(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamMusic(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamMusicRemote*) BS_ISteamClient_GetSteamMusicRemote(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamMusicRemote*) BS_ISteamClient_GetSteamMusicRemote(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamMusicRemote(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamMusicRemote(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamNetworking*) BS_ISteamClient_GetSteamNetworking(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamNetworking*) BS_ISteamClient_GetSteamNetworking(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamNetworking(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamNetworking(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamRemoteStorage*) BS_ISteamClient_GetSteamRemoteStorage(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamRemoteStorage*) BS_ISteamClient_GetSteamRemoteStorage(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamRemoteStorage(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamRemoteStorage(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamScreenshots*) BS_ISteamClient_GetSteamScreenshots(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamScreenshots*) BS_ISteamClient_GetSteamScreenshots(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamScreenshots(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamScreenshots(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUGC*) BS_ISteamClient_GetSteamUGC(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamUGC*) BS_ISteamClient_GetSteamUGC(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamUGC(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamUGC(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUnifiedMessages*) BS_ISteamClient_GetSteamUnifiedMessages(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamUnifiedMessages*) BS_ISteamClient_GetSteamUnifiedMessages(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamUnifiedMessages(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamUnifiedMessages(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUser*) BS_ISteamClient_GetSteamUser(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamUser*) BS_ISteamClient_GetSteamUser(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamUser(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamUser(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUserStats*) BS_ISteamClient_GetSteamUserStats(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamUserStats*) BS_ISteamClient_GetSteamUserStats(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamUserStats(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamUserStats(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUtils*) BS_ISteamClient_GetSteamUtils(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamUtils*) BS_ISteamClient_GetSteamUtils(ISteamClient* lpSteamClient, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamUtils(hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamUtils(hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamVideo*) BS_ISteamClient_GetSteamVideo(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
DLL(ISteamVideo*) BS_ISteamClient_GetSteamVideo(ISteamClient* lpSteamClient, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion) {
|
||||||
return lpSteamClient->GetISteamVideo(hSteamUser, hSteamPipe, pchVersion);
|
return lpSteamClient->GetISteamVideo(hSteamUser, hSteamPipe, pchVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Callbacks & Hooks
|
// Callbacks & Hooks
|
||||||
DLL(void) BS_ISteamClient_SetWarningMessageHook(ISteamClient* lpSteamClient, SteamAPIWarningMessageHook_t fpfunction) {
|
DLL(void) BS_ISteamClient_SetWarningMessageHook(ISteamClient* lpSteamClient, SteamAPIWarningMessageHook_t fpfunction) {
|
||||||
lpSteamClient->SetWarningMessageHook(fpfunction);
|
lpSteamClient->SetWarningMessageHook(fpfunction);
|
||||||
}
|
}
|
||||||
|
|||||||
+126
-126
@@ -1,126 +1,126 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Native Steam controller support API
|
// Purpose: Native Steam controller support API
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamController*) BS_SteamController() {
|
DLL(ISteamController*) BS_SteamController() {
|
||||||
return SteamController();
|
return SteamController();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init and Shutdown must be called when starting/ending use of this interface
|
// Init and Shutdown must be called when starting/ending use of this interface
|
||||||
DLL(int32_t) BS_ISteamController_Init(ISteamController* lpSteamController) {
|
DLL(int32_t) BS_ISteamController_Init(ISteamController* lpSteamController) {
|
||||||
return lpSteamController->Init();
|
return lpSteamController->Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init and Shutdown must be called when starting/ending use of this interface
|
// Init and Shutdown must be called when starting/ending use of this interface
|
||||||
DLL(int32_t) BS_ISteamController_Shutdown(ISteamController* lpSteamController) {
|
DLL(int32_t) BS_ISteamController_Shutdown(ISteamController* lpSteamController) {
|
||||||
return lpSteamController->Shutdown();
|
return lpSteamController->Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pump callback/callresult events
|
// Pump callback/callresult events
|
||||||
// Note: SteamAPI_RunCallbacks will do this for you, so you should never need to call this directly.
|
// Note: SteamAPI_RunCallbacks will do this for you, so you should never need to call this directly.
|
||||||
DLL(void) BS_ISteamController_RunFrame(ISteamController* lpSteamController) {
|
DLL(void) BS_ISteamController_RunFrame(ISteamController* lpSteamController) {
|
||||||
lpSteamController->RunFrame();
|
lpSteamController->RunFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enumerate currently connected controllers
|
// Enumerate currently connected controllers
|
||||||
// handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles
|
// handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles
|
||||||
// Returns the number of handles written to handlesOut
|
// Returns the number of handles written to handlesOut
|
||||||
DLL(int32_t) BS_ISteamController_GetConnectedControllers(ISteamController* lpSteamController, ControllerHandle_t* pHandlesOut) {
|
DLL(int32_t) BS_ISteamController_GetConnectedControllers(ISteamController* lpSteamController, ControllerHandle_t* pHandlesOut) {
|
||||||
return lpSteamController->GetConnectedControllers(pHandlesOut);
|
return lpSteamController->GetConnectedControllers(pHandlesOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
ControllerHandle_t* pControllerHandles = new ControllerHandle_t[STEAM_CONTROLLER_MAX_COUNT];
|
ControllerHandle_t* pControllerHandles = new ControllerHandle_t[STEAM_CONTROLLER_MAX_COUNT];
|
||||||
DLL(int32_t) BS_ISteamController_GetConnectedControllersSimple(ISteamController* lpSteamController) {
|
DLL(int32_t) BS_ISteamController_GetConnectedControllersSimple(ISteamController* lpSteamController) {
|
||||||
return lpSteamController->GetConnectedControllers(pControllerHandles);
|
return lpSteamController->GetConnectedControllers(pControllerHandles);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ControllerHandle_t*) BS_ISteamController_GetConnectedControllersSimple_Index(uint32_t index) {
|
DLL(ControllerHandle_t*) BS_ISteamController_GetConnectedControllersSimple_Index(uint32_t index) {
|
||||||
if (index >= STEAM_CONTROLLER_MAX_COUNT)
|
if (index >= STEAM_CONTROLLER_MAX_COUNT)
|
||||||
index = STEAM_CONTROLLER_MAX_COUNT - 1;
|
index = STEAM_CONTROLLER_MAX_COUNT - 1;
|
||||||
return &(pControllerHandles[index]);
|
return &(pControllerHandles[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invokes the Steam overlay and brings up the binding screen
|
// Invokes the Steam overlay and brings up the binding screen
|
||||||
// Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode
|
// Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode
|
||||||
DLL(int32_t) BS_ISteamController_ShowBindingPanel(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle) {
|
DLL(int32_t) BS_ISteamController_ShowBindingPanel(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle) {
|
||||||
return lpSteamController->ShowBindingPanel(*pControllerHandle);
|
return lpSteamController->ShowBindingPanel(*pControllerHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ACTION SETS
|
// ACTION SETS
|
||||||
// Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls.
|
// Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls.
|
||||||
DLL(ControllerActionSetHandle_t*) BS_ISteamController_GetActionSetHandle(ISteamController* lpSteamController, const char* pszActionSetName) {
|
DLL(ControllerActionSetHandle_t*) BS_ISteamController_GetActionSetHandle(ISteamController* lpSteamController, const char* pszActionSetName) {
|
||||||
return new ControllerActionSetHandle_t(lpSteamController->GetActionSetHandle(pszActionSetName));
|
return new ControllerActionSetHandle_t(lpSteamController->GetActionSetHandle(pszActionSetName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive')
|
// Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive')
|
||||||
// This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in
|
// This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in
|
||||||
// your state loops, instead of trying to place it in all of your state transitions.
|
// your state loops, instead of trying to place it in all of your state transitions.
|
||||||
DLL(void) BS_ISteamController_ActivateActionSet(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle) {
|
DLL(void) BS_ISteamController_ActivateActionSet(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle) {
|
||||||
lpSteamController->ActivateActionSet(*pControllerHandle, *pActionSetHandle);
|
lpSteamController->ActivateActionSet(*pControllerHandle, *pActionSetHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ControllerActionSetHandle_t*) BS_ISteamController_GetCurrentActionSet(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle) {
|
DLL(ControllerActionSetHandle_t*) BS_ISteamController_GetCurrentActionSet(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle) {
|
||||||
return new ControllerActionSetHandle_t(lpSteamController->GetCurrentActionSet(*pControllerHandle));
|
return new ControllerActionSetHandle_t(lpSteamController->GetCurrentActionSet(*pControllerHandle));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls.
|
// Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls.
|
||||||
DLL(ControllerDigitalActionHandle_t*) BS_ISteamController_GetDigitalActionHandle(ISteamController* lpSteamController, const char* pszActionName) {
|
DLL(ControllerDigitalActionHandle_t*) BS_ISteamController_GetDigitalActionHandle(ISteamController* lpSteamController, const char* pszActionName) {
|
||||||
return new ControllerDigitalActionHandle_t(lpSteamController->GetDigitalActionHandle(pszActionName));
|
return new ControllerDigitalActionHandle_t(lpSteamController->GetDigitalActionHandle(pszActionName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the current state of the supplied digital game action
|
// Returns the current state of the supplied digital game action
|
||||||
DLL(ControllerDigitalActionData_t*) BS_ISteamController_GetDigitalActionData(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerDigitalActionHandle_t* pDigitalActionHandle) {
|
DLL(ControllerDigitalActionData_t*) BS_ISteamController_GetDigitalActionData(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerDigitalActionHandle_t* pDigitalActionHandle) {
|
||||||
return &lpSteamController->GetDigitalActionData(*pControllerHandle, *pDigitalActionHandle);
|
return &lpSteamController->GetDigitalActionData(*pControllerHandle, *pDigitalActionHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action.
|
// Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action.
|
||||||
// originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles
|
// originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles
|
||||||
DLL(int32_t) BS_ISteamController_GetDigitalActionOrigins(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle, ControllerDigitalActionHandle_t* pDigitalActionHandle, EControllerActionOrigin *pEControllerActionOrigin) {
|
DLL(int32_t) BS_ISteamController_GetDigitalActionOrigins(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle, ControllerDigitalActionHandle_t* pDigitalActionHandle, EControllerActionOrigin *pEControllerActionOrigin) {
|
||||||
return lpSteamController->GetDigitalActionOrigins(*pControllerHandle, *pActionSetHandle, *pDigitalActionHandle, pEControllerActionOrigin);
|
return lpSteamController->GetDigitalActionOrigins(*pControllerHandle, *pActionSetHandle, *pDigitalActionHandle, pEControllerActionOrigin);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls.
|
// Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls.
|
||||||
DLL(ControllerAnalogActionHandle_t*) BS_ISteamController_GetAnalogActionHandle(ISteamController* lpSteamController, const char *pszActionName) {
|
DLL(ControllerAnalogActionHandle_t*) BS_ISteamController_GetAnalogActionHandle(ISteamController* lpSteamController, const char *pszActionName) {
|
||||||
return new ControllerAnalogActionHandle_t(lpSteamController->GetAnalogActionHandle(pszActionName));
|
return new ControllerAnalogActionHandle_t(lpSteamController->GetAnalogActionHandle(pszActionName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the current state of these supplied analog game action
|
// Returns the current state of these supplied analog game action
|
||||||
DLL(ControllerAnalogActionData_t*) BS_ISteamController_GetAnalogActionData(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle) {
|
DLL(ControllerAnalogActionData_t*) BS_ISteamController_GetAnalogActionData(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle) {
|
||||||
return &lpSteamController->GetAnalogActionData(*pControllerHandle, *pAnalogActionHandle);
|
return &lpSteamController->GetAnalogActionData(*pControllerHandle, *pAnalogActionHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action.
|
// Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action.
|
||||||
// originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles
|
// originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles
|
||||||
DLL(int32_t) BS_ISteamController_GetAnalogActionOrigins(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle, EControllerActionOrigin *pEControllerActionOrigin) {
|
DLL(int32_t) BS_ISteamController_GetAnalogActionOrigins(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerActionSetHandle_t* pActionSetHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle, EControllerActionOrigin *pEControllerActionOrigin) {
|
||||||
return lpSteamController->GetAnalogActionOrigins(*pControllerHandle, *pActionSetHandle, *pAnalogActionHandle, pEControllerActionOrigin);
|
return lpSteamController->GetAnalogActionOrigins(*pControllerHandle, *pActionSetHandle, *pAnalogActionHandle, pEControllerActionOrigin);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamController_StopAnalogActionMomentum(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle) {
|
DLL(void) BS_ISteamController_StopAnalogActionMomentum(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ControllerAnalogActionHandle_t* pAnalogActionHandle) {
|
||||||
lpSteamController->StopAnalogActionMomentum(*pControllerHandle, *pAnalogActionHandle);
|
lpSteamController->StopAnalogActionMomentum(*pControllerHandle, *pAnalogActionHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trigger a haptic pulse on a controller
|
// Trigger a haptic pulse on a controller
|
||||||
DLL(void) BS_ISteamController_TriggerHapticPulse(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ESteamControllerPad eTargetPad, uint32_t usDurationMicroSec) {
|
DLL(void) BS_ISteamController_TriggerHapticPulse(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ESteamControllerPad eTargetPad, uint32_t usDurationMicroSec) {
|
||||||
lpSteamController->TriggerHapticPulse(*pControllerHandle, eTargetPad, (uint16_t)usDurationMicroSec);
|
lpSteamController->TriggerHapticPulse(*pControllerHandle, eTargetPad, (uint16_t)usDurationMicroSec);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamController_TriggerRepeatedHapticPulse(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ESteamControllerPad eTargetPad, uint32_t usDurationMicroSec, uint32_t usOffMicroSec, uint32_t unRepeat, uint32_t nFlags) {
|
DLL(void) BS_ISteamController_TriggerRepeatedHapticPulse(ISteamController* lpSteamController, ControllerHandle_t* pControllerHandle, ESteamControllerPad eTargetPad, uint32_t usDurationMicroSec, uint32_t usOffMicroSec, uint32_t unRepeat, uint32_t nFlags) {
|
||||||
lpSteamController->TriggerRepeatedHapticPulse(*pControllerHandle, eTargetPad, usDurationMicroSec, usOffMicroSec, unRepeat, nFlags);
|
lpSteamController->TriggerRepeatedHapticPulse(*pControllerHandle, eTargetPad, usDurationMicroSec, usOffMicroSec, unRepeat, nFlags);
|
||||||
}
|
}
|
||||||
|
|||||||
+425
-425
@@ -1,425 +1,425 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: interface to accessing information about individual users,
|
// Purpose: interface to accessing information about individual users,
|
||||||
// that can be a friend, in a group, on a game server or in a lobby with the local user
|
// that can be a friend, in a group, on a game server or in a lobby with the local user
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamFriends*) BS_SteamFriends() {
|
DLL(ISteamFriends*) BS_SteamFriends() {
|
||||||
return SteamFriends();
|
return SteamFriends();
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the local players name - guaranteed to not be NULL.
|
// returns the local players name - guaranteed to not be NULL.
|
||||||
// this is the same name as on the users community profile page
|
// this is the same name as on the users community profile page
|
||||||
// this is stored in UTF-8 format
|
// this is stored in UTF-8 format
|
||||||
// like all the other interface functions that return a char *, it's important that this pointer is not saved
|
// like all the other interface functions that return a char *, it's important that this pointer is not saved
|
||||||
// off; it will eventually be free'd or re-allocated
|
// off; it will eventually be free'd or re-allocated
|
||||||
DLL(const char*) BS_ISteamFriends_GetPersonaName(ISteamFriends* lpSteamFriends) {
|
DLL(const char*) BS_ISteamFriends_GetPersonaName(ISteamFriends* lpSteamFriends) {
|
||||||
return lpSteamFriends->GetPersonaName();
|
return lpSteamFriends->GetPersonaName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets the player name, stores it on the server and publishes the changes to all friends who are online.
|
// Sets the player name, stores it on the server and publishes the changes to all friends who are online.
|
||||||
// Changes take place locally immediately, and a PersonaStateChange_t is posted, presuming success.
|
// Changes take place locally immediately, and a PersonaStateChange_t is posted, presuming success.
|
||||||
//
|
//
|
||||||
// The final results are available through the return value SteamAPICall_t, using SetPersonaNameResponse_t.
|
// The final results are available through the return value SteamAPICall_t, using SetPersonaNameResponse_t.
|
||||||
//
|
//
|
||||||
// If the name change fails to happen on the server, then an additional global PersonaStateChange_t will be posted
|
// If the name change fails to happen on the server, then an additional global PersonaStateChange_t will be posted
|
||||||
// to change the name back, in addition to the SetPersonaNameResponse_t callback.
|
// to change the name back, in addition to the SetPersonaNameResponse_t callback.
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_SetPersonaName(ISteamFriends* lpSteamFriends, const char* pchPersonaName) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_SetPersonaName(ISteamFriends* lpSteamFriends, const char* pchPersonaName) {
|
||||||
return new uint64_t(lpSteamFriends->SetPersonaName(pchPersonaName));
|
return new uint64_t(lpSteamFriends->SetPersonaName(pchPersonaName));
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the status of the current user
|
// gets the status of the current user
|
||||||
DLL(int32_t) BS_ISteamFriends_GetPersonaState(ISteamFriends* lpSteamFriends) {
|
DLL(int32_t) BS_ISteamFriends_GetPersonaState(ISteamFriends* lpSteamFriends) {
|
||||||
return lpSteamFriends->GetPersonaState();
|
return lpSteamFriends->GetPersonaState();
|
||||||
}
|
}
|
||||||
|
|
||||||
// friend iteration
|
// friend iteration
|
||||||
// takes a set of k_EFriendFlags, and returns the number of users the client knows about who meet that criteria
|
// takes a set of k_EFriendFlags, and returns the number of users the client knows about who meet that criteria
|
||||||
// then GetFriendByIndex() can then be used to return the id's of each of those users
|
// then GetFriendByIndex() can then be used to return the id's of each of those users
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendCount(ISteamFriends* lpSteamFriends, int32_t iFriendFlags) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendCount(ISteamFriends* lpSteamFriends, int32_t iFriendFlags) {
|
||||||
return lpSteamFriends->GetFriendCount(iFriendFlags);
|
return lpSteamFriends->GetFriendCount(iFriendFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the steamID of a user
|
// returns the steamID of a user
|
||||||
// iFriend is a index of range [0, GetFriendCount())
|
// iFriend is a index of range [0, GetFriendCount())
|
||||||
// iFriendsFlags must be the same value as used in GetFriendCount()
|
// iFriendsFlags must be the same value as used in GetFriendCount()
|
||||||
// the returned CSteamID can then be used by all the functions below to access details about the user
|
// the returned CSteamID can then be used by all the functions below to access details about the user
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetFriendByIndex(ISteamFriends* lpSteamFriends, int32_t iFriend, int32_t iFriendFlags) {
|
DLL(CSteamID*) BS_ISteamFriends_GetFriendByIndex(ISteamFriends* lpSteamFriends, int32_t iFriend, int32_t iFriendFlags) {
|
||||||
return new CSteamID(lpSteamFriends->GetFriendByIndex(iFriend, iFriendFlags));
|
return new CSteamID(lpSteamFriends->GetFriendByIndex(iFriend, iFriendFlags));
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns a relationship to a user
|
// returns a relationship to a user
|
||||||
DLL(EFriendRelationship) BS_ISteamFriends_GetFriendRelationship(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(EFriendRelationship) BS_ISteamFriends_GetFriendRelationship(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendRelationship(*steamIDFriend);
|
return lpSteamFriends->GetFriendRelationship(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the current status of the specified user
|
// returns the current status of the specified user
|
||||||
// this will only be known by the local user if steamIDFriend is in their friends list; on the same game server; in a chat room or lobby; or in a small group with the local user
|
// this will only be known by the local user if steamIDFriend is in their friends list; on the same game server; in a chat room or lobby; or in a small group with the local user
|
||||||
DLL(EPersonaState) BS_ISteamFriends_GetFriendPersonaState(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(EPersonaState) BS_ISteamFriends_GetFriendPersonaState(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendPersonaState(*steamIDFriend);
|
return lpSteamFriends->GetFriendPersonaState(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the name another user - guaranteed to not be NULL.
|
// returns the name another user - guaranteed to not be NULL.
|
||||||
// same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user
|
// same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user
|
||||||
// note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously
|
// note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously
|
||||||
DLL(const char*) BS_ISteamFriends_GetFriendPersonaName(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(const char*) BS_ISteamFriends_GetFriendPersonaName(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendPersonaName(*steamIDFriend);
|
return lpSteamFriends->GetFriendPersonaName(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the friend is actually in a game, and fills in pFriendGameInfo with an extra details
|
// returns true if the friend is actually in a game, and fills in pFriendGameInfo with an extra details
|
||||||
DLL(uint32_t) BS_ISteamFriends_GetFriendGamePlayed(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, FriendGameInfo_t *pFriendGameInfo) {
|
DLL(uint32_t) BS_ISteamFriends_GetFriendGamePlayed(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, FriendGameInfo_t *pFriendGameInfo) {
|
||||||
return lpSteamFriends->GetFriendGamePlayed(*steamIDFriend, pFriendGameInfo);
|
return lpSteamFriends->GetFriendGamePlayed(*steamIDFriend, pFriendGameInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// accesses old friends names - returns an empty string when their are no more items in the history
|
// accesses old friends names - returns an empty string when their are no more items in the history
|
||||||
DLL(const char*) BS_ISteamFriends_GetFriendPersonaNameHistory(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iPersonaName) {
|
DLL(const char*) BS_ISteamFriends_GetFriendPersonaNameHistory(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iPersonaName) {
|
||||||
return lpSteamFriends->GetFriendPersonaNameHistory(*steamIDFriend, iPersonaName);
|
return lpSteamFriends->GetFriendPersonaNameHistory(*steamIDFriend, iPersonaName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// friends steam level
|
// friends steam level
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendSteamLevel(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendSteamLevel(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendSteamLevel(*steamIDFriend);
|
return lpSteamFriends->GetFriendSteamLevel(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns nickname the current user has set for the specified player. Returns NULL if the no nickname has been set for that player.
|
// Returns nickname the current user has set for the specified player. Returns NULL if the no nickname has been set for that player.
|
||||||
DLL(const char*) BS_ISteamFriends_GetPlayerNickname(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriends) {
|
DLL(const char*) BS_ISteamFriends_GetPlayerNickname(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriends) {
|
||||||
const char* nickname = lpSteamFriends->GetPlayerNickname(*steamIDFriends);
|
const char* nickname = lpSteamFriends->GetPlayerNickname(*steamIDFriends);
|
||||||
if (nickname == NULL) {
|
if (nickname == NULL) {
|
||||||
nickname = "";
|
nickname = "";
|
||||||
}
|
}
|
||||||
return nickname;
|
return nickname;
|
||||||
}
|
}
|
||||||
|
|
||||||
// friend grouping (tag) apis
|
// friend grouping (tag) apis
|
||||||
// returns the number of friends groups
|
// returns the number of friends groups
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendsGroupCount(ISteamFriends* lpSteamFriends) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendsGroupCount(ISteamFriends* lpSteamFriends) {
|
||||||
return lpSteamFriends->GetFriendsGroupCount();
|
return lpSteamFriends->GetFriendsGroupCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the friends group ID for the given index (invalid indices return k_FriendsGroupID_Invalid)
|
// returns the friends group ID for the given index (invalid indices return k_FriendsGroupID_Invalid)
|
||||||
DLL(FriendsGroupID_t) BS_ISteamFriends_GetFriendsGroupIDByIndex(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
DLL(FriendsGroupID_t) BS_ISteamFriends_GetFriendsGroupIDByIndex(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
||||||
return lpSteamFriends->GetFriendsGroupIDByIndex(friendsGroupID);
|
return lpSteamFriends->GetFriendsGroupIDByIndex(friendsGroupID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the name for the given friends group (NULL in the case of invalid friends group IDs)
|
// returns the name for the given friends group (NULL in the case of invalid friends group IDs)
|
||||||
DLL(const char*) BS_ISteamFriends_GetFriendsGroupName(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
DLL(const char*) BS_ISteamFriends_GetFriendsGroupName(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
||||||
return lpSteamFriends->GetFriendsGroupName(friendsGroupID);
|
return lpSteamFriends->GetFriendsGroupName(friendsGroupID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the number of members in a given friends group
|
// returns the number of members in a given friends group
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendsGroupMembersCount(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendsGroupMembersCount(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID) {
|
||||||
return lpSteamFriends->GetFriendsGroupMembersCount(friendsGroupID);
|
return lpSteamFriends->GetFriendsGroupMembersCount(friendsGroupID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets up to nMembersCount members of the given friends group, if fewer exist than requested those positions' SteamIDs will be invalid
|
// gets up to nMembersCount members of the given friends group, if fewer exist than requested those positions' SteamIDs will be invalid
|
||||||
DLL(void) BS_ISteamFriends_GetFriendsGroupMembersList(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID, CSteamID* pOutSteamIDMembers, int32_t nMembersCount) {
|
DLL(void) BS_ISteamFriends_GetFriendsGroupMembersList(ISteamFriends* lpSteamFriends, FriendsGroupID_t friendsGroupID, CSteamID* pOutSteamIDMembers, int32_t nMembersCount) {
|
||||||
lpSteamFriends->GetFriendsGroupMembersList(friendsGroupID, pOutSteamIDMembers, nMembersCount);
|
lpSteamFriends->GetFriendsGroupMembersList(friendsGroupID, pOutSteamIDMembers, nMembersCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the specified user meets any of the criteria specified in iFriendFlags
|
// returns true if the specified user meets any of the criteria specified in iFriendFlags
|
||||||
// iFriendFlags can be the union (binary or, |) of one or more k_EFriendFlags values
|
// iFriendFlags can be the union (binary or, |) of one or more k_EFriendFlags values
|
||||||
DLL(uint32_t) BS_ISteamFriends_HasFriend(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iFriendsFlags) {
|
DLL(uint32_t) BS_ISteamFriends_HasFriend(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iFriendsFlags) {
|
||||||
return lpSteamFriends->HasFriend(*steamIDFriend, iFriendsFlags);
|
return lpSteamFriends->HasFriend(*steamIDFriend, iFriendsFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
// clan (group) iteration and access functions
|
// clan (group) iteration and access functions
|
||||||
DLL(int32_t) BS_ISteamFriends_GetClanCount(ISteamFriends* lpSteamFriends) {
|
DLL(int32_t) BS_ISteamFriends_GetClanCount(ISteamFriends* lpSteamFriends) {
|
||||||
return lpSteamFriends->GetClanCount();
|
return lpSteamFriends->GetClanCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetClanByIndex(ISteamFriends* lpSteamFriends, int32_t iClan) {
|
DLL(CSteamID*) BS_ISteamFriends_GetClanByIndex(ISteamFriends* lpSteamFriends, int32_t iClan) {
|
||||||
CSteamID* steamID = new CSteamID(lpSteamFriends->GetClanByIndex(iClan));
|
CSteamID* steamID = new CSteamID(lpSteamFriends->GetClanByIndex(iClan));
|
||||||
return steamID;
|
return steamID;
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamFriends_GetClanName(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(const char*) BS_ISteamFriends_GetClanName(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return lpSteamFriends->GetClanName(*steamIDClan);
|
return lpSteamFriends->GetClanName(*steamIDClan);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamFriends_GetClanTag(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(const char*) BS_ISteamFriends_GetClanTag(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return lpSteamFriends->GetClanTag(*steamIDClan);
|
return lpSteamFriends->GetClanTag(*steamIDClan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the most recent information we have about what's happening in a clan
|
// returns the most recent information we have about what's happening in a clan
|
||||||
DLL(uint32_t) BS_ISteamFriends_GetClanActivityCounts(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t* pnOnline, int32_t* pnInGame, int32_t* pnChatting) {
|
DLL(uint32_t) BS_ISteamFriends_GetClanActivityCounts(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t* pnOnline, int32_t* pnInGame, int32_t* pnChatting) {
|
||||||
return lpSteamFriends->GetClanActivityCounts(*steamIDClan, pnOnline, pnInGame, pnChatting);
|
return lpSteamFriends->GetClanActivityCounts(*steamIDClan, pnOnline, pnInGame, pnChatting);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for clans a user is a member of, they will have reasonably up-to-date information, but for others you'll have to download the info to have the latest
|
// for clans a user is a member of, they will have reasonably up-to-date information, but for others you'll have to download the info to have the latest
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_DownloadClanActivityCounts(ISteamFriends* lpSteamFriends, CSteamID* psteamIDClans, int32_t cClansToRequest) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_DownloadClanActivityCounts(ISteamFriends* lpSteamFriends, CSteamID* psteamIDClans, int32_t cClansToRequest) {
|
||||||
return new uint64_t(lpSteamFriends->DownloadClanActivityCounts(psteamIDClans, cClansToRequest));
|
return new uint64_t(lpSteamFriends->DownloadClanActivityCounts(psteamIDClans, cClansToRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
// iterators for getting users in a chat room, lobby, game server or clan
|
// iterators for getting users in a chat room, lobby, game server or clan
|
||||||
// note that large clans that cannot be iterated by the local user
|
// note that large clans that cannot be iterated by the local user
|
||||||
// note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby
|
// note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby
|
||||||
// steamIDSource can be the steamID of a group, game server, lobby or chat room
|
// steamIDSource can be the steamID of a group, game server, lobby or chat room
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendCountFromSource(ISteamFriends* lpSteamFriends, CSteamID* steamIDSource) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendCountFromSource(ISteamFriends* lpSteamFriends, CSteamID* steamIDSource) {
|
||||||
return lpSteamFriends->GetFriendCountFromSource(*steamIDSource);
|
return lpSteamFriends->GetFriendCountFromSource(*steamIDSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetFriendFromSourceByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDSource, int32_t iFriend) {
|
DLL(CSteamID*) BS_ISteamFriends_GetFriendFromSourceByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDSource, int32_t iFriend) {
|
||||||
return new CSteamID(lpSteamFriends->GetFriendFromSourceByIndex(*steamIDSource, iFriend));
|
return new CSteamID(lpSteamFriends->GetFriendFromSourceByIndex(*steamIDSource, iFriend));
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the local user can see that steamIDUser is a member or in steamIDSource
|
// returns true if the local user can see that steamIDUser is a member or in steamIDSource
|
||||||
DLL(uint32_t) BS_ISteamFriends_IsUserInSource(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, CSteamID* steamIDSource) {
|
DLL(uint32_t) BS_ISteamFriends_IsUserInSource(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, CSteamID* steamIDSource) {
|
||||||
return lpSteamFriends->IsUserInSource(*steamIDUser, *steamIDSource);
|
return lpSteamFriends->IsUserInSource(*steamIDUser, *steamIDSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
// User is in a game pressing the talk button (will suppress the microphone for all voice comms from the Steam friends UI)
|
// User is in a game pressing the talk button (will suppress the microphone for all voice comms from the Steam friends UI)
|
||||||
DLL(void) BS_ISteamFriends_SetInGameVoiceSpeaking(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bSpeaking) {
|
DLL(void) BS_ISteamFriends_SetInGameVoiceSpeaking(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bSpeaking) {
|
||||||
lpSteamFriends->SetInGameVoiceSpeaking(*steamIDUser, bSpeaking != 0);
|
lpSteamFriends->SetInGameVoiceSpeaking(*steamIDUser, bSpeaking != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// activates the game overlay, with an optional dialog to open
|
// activates the game overlay, with an optional dialog to open
|
||||||
// valid options are "Friends", "Community", "Players", "Settings", "OfficialGameGroup", "Stats", "Achievements"
|
// valid options are "Friends", "Community", "Players", "Settings", "OfficialGameGroup", "Stats", "Achievements"
|
||||||
DLL(void) BS_ISteamFriends_ActivateGameOverlay(ISteamFriends* lpSteamFriends, const char* pchDialog) {
|
DLL(void) BS_ISteamFriends_ActivateGameOverlay(ISteamFriends* lpSteamFriends, const char* pchDialog) {
|
||||||
lpSteamFriends->ActivateGameOverlay(pchDialog);
|
lpSteamFriends->ActivateGameOverlay(pchDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
// activates game overlay to a specific place
|
// activates game overlay to a specific place
|
||||||
// valid options are
|
// valid options are
|
||||||
// "steamid" - opens the overlay web browser to the specified user or groups profile
|
// "steamid" - opens the overlay web browser to the specified user or groups profile
|
||||||
// "chat" - opens a chat window to the specified user, or joins the group chat
|
// "chat" - opens a chat window to the specified user, or joins the group chat
|
||||||
// "jointrade" - opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API
|
// "jointrade" - opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API
|
||||||
// "stats" - opens the overlay web browser to the specified user's stats
|
// "stats" - opens the overlay web browser to the specified user's stats
|
||||||
// "achievements" - opens the overlay web browser to the specified user's achievements
|
// "achievements" - opens the overlay web browser to the specified user's achievements
|
||||||
// "friendadd" - opens the overlay in minimal mode prompting the user to add the target user as a friend
|
// "friendadd" - opens the overlay in minimal mode prompting the user to add the target user as a friend
|
||||||
// "friendremove" - opens the overlay in minimal mode prompting the user to remove the target friend
|
// "friendremove" - opens the overlay in minimal mode prompting the user to remove the target friend
|
||||||
// "friendrequestaccept" - opens the overlay in minimal mode prompting the user to accept an incoming friend invite
|
// "friendrequestaccept" - opens the overlay in minimal mode prompting the user to accept an incoming friend invite
|
||||||
// "friendrequestignore" - opens the overlay in minimal mode prompting the user to ignore an incoming friend invite
|
// "friendrequestignore" - opens the overlay in minimal mode prompting the user to ignore an incoming friend invite
|
||||||
DLL(void) BS_ISteamFriends_ActivateGameOverlayToUser(ISteamFriends* lpSteamFriends, const char* pchDialog, CSteamID* steamID) {
|
DLL(void) BS_ISteamFriends_ActivateGameOverlayToUser(ISteamFriends* lpSteamFriends, const char* pchDialog, CSteamID* steamID) {
|
||||||
lpSteamFriends->ActivateGameOverlayToUser(pchDialog, *steamID);
|
lpSteamFriends->ActivateGameOverlayToUser(pchDialog, *steamID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// activates game overlay web browser directly to the specified URL
|
// activates game overlay web browser directly to the specified URL
|
||||||
// full address with protocol type is required, e.g. http://www.steamgames.com/
|
// full address with protocol type is required, e.g. http://www.steamgames.com/
|
||||||
DLL(void) BS_ISteamFriends_ActivateGameOverlayToWebPage(ISteamFriends* lpSteamFriends, const char* pchURL) {
|
DLL(void) BS_ISteamFriends_ActivateGameOverlayToWebPage(ISteamFriends* lpSteamFriends, const char* pchURL) {
|
||||||
lpSteamFriends->ActivateGameOverlayToWebPage(pchURL);
|
lpSteamFriends->ActivateGameOverlayToWebPage(pchURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// activates game overlay to store page for app
|
// activates game overlay to store page for app
|
||||||
DLL(void) BS_ISteamFriends_ActivateGameOverlayToStore(ISteamFriends* lpSteamFriends, AppId_t nAppID, EOverlayToStoreFlag eFlag) {
|
DLL(void) BS_ISteamFriends_ActivateGameOverlayToStore(ISteamFriends* lpSteamFriends, AppId_t nAppID, EOverlayToStoreFlag eFlag) {
|
||||||
lpSteamFriends->ActivateGameOverlayToStore(nAppID, eFlag);
|
lpSteamFriends->ActivateGameOverlayToStore(nAppID, eFlag);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark a target user as 'played with'. This is a client-side only feature that requires that the calling user is
|
// Mark a target user as 'played with'. This is a client-side only feature that requires that the calling user is
|
||||||
// in game
|
// in game
|
||||||
DLL(void) BS_ISteamFriends_SetPlayedWith(ISteamFriends* lpSteamFriends, CSteamID* steamIDUserPlayedWith) {
|
DLL(void) BS_ISteamFriends_SetPlayedWith(ISteamFriends* lpSteamFriends, CSteamID* steamIDUserPlayedWith) {
|
||||||
lpSteamFriends->SetPlayedWith(*steamIDUserPlayedWith);
|
lpSteamFriends->SetPlayedWith(*steamIDUserPlayedWith);
|
||||||
}
|
}
|
||||||
|
|
||||||
// activates game overlay to open the invite dialog. Invitations will be sent for the provided lobby.
|
// activates game overlay to open the invite dialog. Invitations will be sent for the provided lobby.
|
||||||
DLL(void) BS_ISteamFriends_ActivateGameOverlayInviteDialog(ISteamFriends* lpSteamFriends, CSteamID* steamIDLobby) {
|
DLL(void) BS_ISteamFriends_ActivateGameOverlayInviteDialog(ISteamFriends* lpSteamFriends, CSteamID* steamIDLobby) {
|
||||||
lpSteamFriends->ActivateGameOverlayInviteDialog(*steamIDLobby);
|
lpSteamFriends->ActivateGameOverlayInviteDialog(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the small (32x32) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
// gets the small (32x32) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
||||||
DLL(int32_t) BS_ISteamFriends_GetSmallFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetSmallFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetSmallFriendAvatar(*steamIDFriend);
|
return lpSteamFriends->GetSmallFriendAvatar(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the medium (64x64) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
// gets the medium (64x64) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
||||||
DLL(int32_t) BS_ISteamFriends_GetMediumFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetMediumFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetMediumFriendAvatar(*steamIDFriend);
|
return lpSteamFriends->GetMediumFriendAvatar(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the large (184x184) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
// gets the large (184x184) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set
|
||||||
// returns -1 if this image has yet to be loaded, in this case wait for a AvatarImageLoaded_t callback and then call this again
|
// returns -1 if this image has yet to be loaded, in this case wait for a AvatarImageLoaded_t callback and then call this again
|
||||||
DLL(int32_t) BS_ISteamFriends_GetLargeFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetLargeFriendAvatar(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetLargeFriendAvatar(*steamIDFriend);
|
return lpSteamFriends->GetLargeFriendAvatar(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// requests information about a user - persona name & avatar
|
// requests information about a user - persona name & avatar
|
||||||
// if bRequireNameOnly is set, then the avatar of a user isn't downloaded
|
// if bRequireNameOnly is set, then the avatar of a user isn't downloaded
|
||||||
// - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them
|
// - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them
|
||||||
// if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved
|
// if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved
|
||||||
// if returns false, it means that we already have all the details about that user, and functions can be called immediately
|
// if returns false, it means that we already have all the details about that user, and functions can be called immediately
|
||||||
DLL(uint32_t) BS_ISteamFriends_RequestUserInformation(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bRequireNameOnly) {
|
DLL(uint32_t) BS_ISteamFriends_RequestUserInformation(ISteamFriends* lpSteamFriends, CSteamID* steamIDUser, uint32_t bRequireNameOnly) {
|
||||||
return lpSteamFriends->RequestUserInformation(*steamIDUser, bRequireNameOnly != 0);
|
return lpSteamFriends->RequestUserInformation(*steamIDUser, bRequireNameOnly != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// requests information about a clan officer list
|
// requests information about a clan officer list
|
||||||
// when complete, data is returned in ClanOfficerListResponse_t call result
|
// when complete, data is returned in ClanOfficerListResponse_t call result
|
||||||
// this makes available the calls below
|
// this makes available the calls below
|
||||||
// you can only ask about clans that a user is a member of
|
// you can only ask about clans that a user is a member of
|
||||||
// note that this won't download avatars automatically; if you get an officer,
|
// note that this won't download avatars automatically; if you get an officer,
|
||||||
// and no avatar image is available, call RequestUserInformation( steamID, false ) to download the avatar
|
// and no avatar image is available, call RequestUserInformation( steamID, false ) to download the avatar
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_RequestClanOfficerList(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_RequestClanOfficerList(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return new uint64_t(lpSteamFriends->RequestClanOfficerList(*steamIDClan));
|
return new uint64_t(lpSteamFriends->RequestClanOfficerList(*steamIDClan));
|
||||||
}
|
}
|
||||||
|
|
||||||
// iteration of clan officers - can only be done when a RequestClanOfficerList() call has completed
|
// iteration of clan officers - can only be done when a RequestClanOfficerList() call has completed
|
||||||
|
|
||||||
// returns the steamID of the clan owner
|
// returns the steamID of the clan owner
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetClanOwner(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(CSteamID*) BS_ISteamFriends_GetClanOwner(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return new CSteamID(lpSteamFriends->GetClanOwner(*steamIDClan));
|
return new CSteamID(lpSteamFriends->GetClanOwner(*steamIDClan));
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the number of officers in a clan (including the owner)
|
// returns the number of officers in a clan (including the owner)
|
||||||
DLL(int32_t) BS_ISteamFriends_GetClanOfficerCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(int32_t) BS_ISteamFriends_GetClanOfficerCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return lpSteamFriends->GetClanOfficerCount(*steamIDClan);
|
return lpSteamFriends->GetClanOfficerCount(*steamIDClan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the steamID of a clan officer, by index, of range [0,GetClanOfficerCount)
|
// returns the steamID of a clan officer, by index, of range [0,GetClanOfficerCount)
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetClanOfficerByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t iOfficer) {
|
DLL(CSteamID*) BS_ISteamFriends_GetClanOfficerByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t iOfficer) {
|
||||||
return new CSteamID(lpSteamFriends->GetClanOfficerByIndex(*steamIDClan, iOfficer));
|
return new CSteamID(lpSteamFriends->GetClanOfficerByIndex(*steamIDClan, iOfficer));
|
||||||
}
|
}
|
||||||
|
|
||||||
// if current user is chat restricted, he can't send or receive any text/voice chat messages.
|
// if current user is chat restricted, he can't send or receive any text/voice chat messages.
|
||||||
// the user can't see custom avatars. But the user can be online and send/recv game invites.
|
// the user can't see custom avatars. But the user can be online and send/recv game invites.
|
||||||
// a chat restricted user can't add friends or join any groups.
|
// a chat restricted user can't add friends or join any groups.
|
||||||
DLL(EUserRestriction) BS_ISteamFriends_GetUserRestrictions(ISteamFriends* lpSteamFriends) {
|
DLL(EUserRestriction) BS_ISteamFriends_GetUserRestrictions(ISteamFriends* lpSteamFriends) {
|
||||||
return (EUserRestriction)lpSteamFriends->GetUserRestrictions();
|
return (EUserRestriction)lpSteamFriends->GetUserRestrictions();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rich Presence data is automatically shared between friends who are in the same game
|
// Rich Presence data is automatically shared between friends who are in the same game
|
||||||
// Each user has a set of Key/Value pairs
|
// Each user has a set of Key/Value pairs
|
||||||
// Up to 20 different keys can be set
|
// Up to 20 different keys can be set
|
||||||
// There are two magic keys:
|
// There are two magic keys:
|
||||||
// "status" - a UTF-8 string that will show up in the 'view game info' dialog in the Steam friends list
|
// "status" - a UTF-8 string that will show up in the 'view game info' dialog in the Steam friends list
|
||||||
// "connect" - a UTF-8 string that contains the command-line for how a friend can connect to a game
|
// "connect" - a UTF-8 string that contains the command-line for how a friend can connect to a game
|
||||||
// GetFriendRichPresence() returns an empty string "" if no value is set
|
// GetFriendRichPresence() returns an empty string "" if no value is set
|
||||||
// SetRichPresence() to a NULL or an empty string deletes the key
|
// SetRichPresence() to a NULL or an empty string deletes the key
|
||||||
// You can iterate the current set of keys for a friend with GetFriendRichPresenceKeyCount()
|
// You can iterate the current set of keys for a friend with GetFriendRichPresenceKeyCount()
|
||||||
// and GetFriendRichPresenceKeyByIndex() (typically only used for debugging)
|
// and GetFriendRichPresenceKeyByIndex() (typically only used for debugging)
|
||||||
DLL(uint32_t) BS_ISteamFriends_SetRichPresence(ISteamFriends* lpSteamFriends, const char* pchKey, const char* pchValue) {
|
DLL(uint32_t) BS_ISteamFriends_SetRichPresence(ISteamFriends* lpSteamFriends, const char* pchKey, const char* pchValue) {
|
||||||
return lpSteamFriends->SetRichPresence(pchKey, pchValue);
|
return lpSteamFriends->SetRichPresence(pchKey, pchValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamFriends_ClearRichPresence(ISteamFriends* lpSteamFriends) {
|
DLL(void) BS_ISteamFriends_ClearRichPresence(ISteamFriends* lpSteamFriends) {
|
||||||
lpSteamFriends->ClearRichPresence();
|
lpSteamFriends->ClearRichPresence();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamFriends_GetFriendRichPresence(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char* pchKey) {
|
DLL(const char*) BS_ISteamFriends_GetFriendRichPresence(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char* pchKey) {
|
||||||
return lpSteamFriends->GetFriendRichPresence(*steamIDFriend, pchKey);
|
return lpSteamFriends->GetFriendRichPresence(*steamIDFriend, pchKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendRichPresenceKeyCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendRichPresenceKeyCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendRichPresenceKeyCount(*steamIDFriend);
|
return lpSteamFriends->GetFriendRichPresenceKeyCount(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(const char*) BS_ISteamFriends_GetFriendRichPresenceKeyByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iKey) {
|
DLL(const char*) BS_ISteamFriends_GetFriendRichPresenceKeyByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iKey) {
|
||||||
return lpSteamFriends->GetFriendRichPresenceKeyByIndex(*steamIDFriend, iKey);
|
return lpSteamFriends->GetFriendRichPresenceKeyByIndex(*steamIDFriend, iKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requests rich presence for a specific user.
|
// Requests rich presence for a specific user.
|
||||||
DLL(void) BS_ISteamFriends_RequestFriendRichPresence(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(void) BS_ISteamFriends_RequestFriendRichPresence(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
lpSteamFriends->RequestFriendRichPresence(*steamIDFriend);
|
lpSteamFriends->RequestFriendRichPresence(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// rich invite support
|
// rich invite support
|
||||||
// if the target accepts the invite, the pchConnectString gets added to the command-line for launching the game
|
// if the target accepts the invite, the pchConnectString gets added to the command-line for launching the game
|
||||||
// if the game is already running, a GameRichPresenceJoinRequested_t callback is posted containing the connect string
|
// if the game is already running, a GameRichPresenceJoinRequested_t callback is posted containing the connect string
|
||||||
// invites can only be sent to friends
|
// invites can only be sent to friends
|
||||||
DLL(uint32_t) BS_ISteamFriends_InviteUserToGame(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char *pchConnectString) {
|
DLL(uint32_t) BS_ISteamFriends_InviteUserToGame(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char *pchConnectString) {
|
||||||
return lpSteamFriends->InviteUserToGame(*steamIDFriend, pchConnectString);
|
return lpSteamFriends->InviteUserToGame(*steamIDFriend, pchConnectString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// recently-played-with friends iteration
|
// recently-played-with friends iteration
|
||||||
// this iterates the entire list of users recently played with, across games
|
// this iterates the entire list of users recently played with, across games
|
||||||
// GetFriendCoplayTime() returns as a unix time
|
// GetFriendCoplayTime() returns as a unix time
|
||||||
DLL(int32_t) BS_ISteamFriends_GetCoplayFriendCount(ISteamFriends* lpSteamFriends) {
|
DLL(int32_t) BS_ISteamFriends_GetCoplayFriendCount(ISteamFriends* lpSteamFriends) {
|
||||||
return lpSteamFriends->GetCoplayFriendCount();
|
return lpSteamFriends->GetCoplayFriendCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetCoplayFriend(ISteamFriends* lpSteamFriends, int32_t iCoplayFriend) {
|
DLL(CSteamID*) BS_ISteamFriends_GetCoplayFriend(ISteamFriends* lpSteamFriends, int32_t iCoplayFriend) {
|
||||||
return new CSteamID(lpSteamFriends->GetCoplayFriend(iCoplayFriend));
|
return new CSteamID(lpSteamFriends->GetCoplayFriend(iCoplayFriend));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendCoplayTime(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendCoplayTime(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendCoplayTime(*steamIDFriend);
|
return lpSteamFriends->GetFriendCoplayTime(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(AppId_t) BS_ISteamFriends_GetFriendCoplayGame(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
DLL(AppId_t) BS_ISteamFriends_GetFriendCoplayGame(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend) {
|
||||||
return lpSteamFriends->GetFriendCoplayGame(*steamIDFriend);
|
return lpSteamFriends->GetFriendCoplayGame(*steamIDFriend);
|
||||||
}
|
}
|
||||||
|
|
||||||
// chat interface for games
|
// chat interface for games
|
||||||
// this allows in-game access to group (clan) chats from in the game
|
// this allows in-game access to group (clan) chats from in the game
|
||||||
// the behavior is somewhat sophisticated, because the user may or may not be already in the group chat from outside the game or in the overlay
|
// the behavior is somewhat sophisticated, because the user may or may not be already in the group chat from outside the game or in the overlay
|
||||||
// use ActivateGameOverlayToUser( "chat", steamIDClan ) to open the in-game overlay version of the chat
|
// use ActivateGameOverlayToUser( "chat", steamIDClan ) to open the in-game overlay version of the chat
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_JoinClanChatRoom(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_JoinClanChatRoom(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return new SteamAPICall_t(lpSteamFriends->JoinClanChatRoom(*steamIDClan));
|
return new SteamAPICall_t(lpSteamFriends->JoinClanChatRoom(*steamIDClan));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_LeaveClanChatRoom(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(uint32_t) BS_ISteamFriends_LeaveClanChatRoom(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return lpSteamFriends->LeaveClanChatRoom(*steamIDClan);
|
return lpSteamFriends->LeaveClanChatRoom(*steamIDClan);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamFriends_GetClanChatMemberCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
DLL(int32_t) BS_ISteamFriends_GetClanChatMemberCount(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan) {
|
||||||
return lpSteamFriends->GetClanChatMemberCount(*steamIDClan);
|
return lpSteamFriends->GetClanChatMemberCount(*steamIDClan);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_ISteamFriends_GetChatMemberByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t iUser) {
|
DLL(CSteamID*) BS_ISteamFriends_GetChatMemberByIndex(ISteamFriends* lpSteamFriends, CSteamID* steamIDClan, int32_t iUser) {
|
||||||
return new CSteamID(lpSteamFriends->GetChatMemberByIndex(*steamIDClan, iUser));
|
return new CSteamID(lpSteamFriends->GetChatMemberByIndex(*steamIDClan, iUser));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_SendClanChatMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, const char *pchText) {
|
DLL(uint32_t) BS_ISteamFriends_SendClanChatMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, const char *pchText) {
|
||||||
return lpSteamFriends->SendClanChatMessage(*steamIDClanChat, pchText);
|
return lpSteamFriends->SendClanChatMessage(*steamIDClanChat, pchText);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamFriends_GetClanChatMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, int32_t iMessage, void* prgchText, int32_t cchTextMax, EChatEntryType* peChatEntryType, CSteamID* psteamidChatter) {
|
DLL(int32_t) BS_ISteamFriends_GetClanChatMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, int32_t iMessage, void* prgchText, int32_t cchTextMax, EChatEntryType* peChatEntryType, CSteamID* psteamidChatter) {
|
||||||
return lpSteamFriends->GetClanChatMessage(*steamIDClanChat, iMessage, prgchText, cchTextMax, peChatEntryType, psteamidChatter);
|
return lpSteamFriends->GetClanChatMessage(*steamIDClanChat, iMessage, prgchText, cchTextMax, peChatEntryType, psteamidChatter);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_IsClanChatAdmin(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, CSteamID* steamIDUser) {
|
DLL(uint32_t) BS_ISteamFriends_IsClanChatAdmin(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat, CSteamID* steamIDUser) {
|
||||||
return lpSteamFriends->IsClanChatAdmin(*steamIDClanChat, *steamIDUser);
|
return lpSteamFriends->IsClanChatAdmin(*steamIDClanChat, *steamIDUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
// interact with the Steam (game overlay / desktop)
|
// interact with the Steam (game overlay / desktop)
|
||||||
DLL(uint32_t) BS_ISteamFriends_IsClanChatWindowOpenInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
DLL(uint32_t) BS_ISteamFriends_IsClanChatWindowOpenInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
||||||
return lpSteamFriends->IsClanChatWindowOpenInSteam(*steamIDClanChat);
|
return lpSteamFriends->IsClanChatWindowOpenInSteam(*steamIDClanChat);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_OpenClanChatWindowInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
DLL(uint32_t) BS_ISteamFriends_OpenClanChatWindowInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
||||||
return lpSteamFriends->OpenClanChatWindowInSteam(*steamIDClanChat);
|
return lpSteamFriends->OpenClanChatWindowInSteam(*steamIDClanChat);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_CloseClanChatWindowInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
DLL(uint32_t) BS_ISteamFriends_CloseClanChatWindowInSteam(ISteamFriends* lpSteamFriends, CSteamID* steamIDClanChat) {
|
||||||
return lpSteamFriends->CloseClanChatWindowInSteam(*steamIDClanChat);
|
return lpSteamFriends->CloseClanChatWindowInSteam(*steamIDClanChat);
|
||||||
}
|
}
|
||||||
|
|
||||||
// peer-to-peer chat interception
|
// peer-to-peer chat interception
|
||||||
// this is so you can show P2P chats inline in the game
|
// this is so you can show P2P chats inline in the game
|
||||||
DLL(uint32_t) BS_ISteamFriends_SetListenForFriendsMessages(ISteamFriends* lpSteamFriends, uint32_t bInterceptEnabled) {
|
DLL(uint32_t) BS_ISteamFriends_SetListenForFriendsMessages(ISteamFriends* lpSteamFriends, uint32_t bInterceptEnabled) {
|
||||||
return lpSteamFriends->SetListenForFriendsMessages(bInterceptEnabled != 0);
|
return lpSteamFriends->SetListenForFriendsMessages(bInterceptEnabled != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamFriends_ReplyToFriendMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char* pchMsgToSend) {
|
DLL(uint32_t) BS_ISteamFriends_ReplyToFriendMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, const char* pchMsgToSend) {
|
||||||
return lpSteamFriends->ReplyToFriendMessage(*steamIDFriend, pchMsgToSend);
|
return lpSteamFriends->ReplyToFriendMessage(*steamIDFriend, pchMsgToSend);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(int32_t) BS_ISteamFriends_GetFriendMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iMessageID, void* pvData, int32_t cubData, EChatEntryType* peChatEntryType) {
|
DLL(int32_t) BS_ISteamFriends_GetFriendMessage(ISteamFriends* lpSteamFriends, CSteamID* steamIDFriend, int32_t iMessageID, void* pvData, int32_t cubData, EChatEntryType* peChatEntryType) {
|
||||||
return lpSteamFriends->GetFriendMessage(*steamIDFriend, iMessageID, pvData, cubData, peChatEntryType);
|
return lpSteamFriends->GetFriendMessage(*steamIDFriend, iMessageID, pvData, cubData, peChatEntryType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// following apis
|
// following apis
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_GetFollowerCount(ISteamFriends* lpSteamFriends, CSteamID* steamID) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_GetFollowerCount(ISteamFriends* lpSteamFriends, CSteamID* steamID) {
|
||||||
return new SteamAPICall_t(lpSteamFriends->GetFollowerCount(*steamID));
|
return new SteamAPICall_t(lpSteamFriends->GetFollowerCount(*steamID));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_IsFollowing(ISteamFriends* lpSteamFriends, CSteamID* steamID) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_IsFollowing(ISteamFriends* lpSteamFriends, CSteamID* steamID) {
|
||||||
return new SteamAPICall_t(lpSteamFriends->IsFollowing(*steamID));
|
return new SteamAPICall_t(lpSteamFriends->IsFollowing(*steamID));
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(SteamAPICall_t*) BS_ISteamFriends_EnumerateFollowingList(ISteamFriends* lpSteamFriends, uint32_t unStartIndex) {
|
DLL(SteamAPICall_t*) BS_ISteamFriends_EnumerateFollowingList(ISteamFriends* lpSteamFriends, uint32_t unStartIndex) {
|
||||||
return new SteamAPICall_t(lpSteamFriends->EnumerateFollowingList(unStartIndex));
|
return new SteamAPICall_t(lpSteamFriends->EnumerateFollowingList(unStartIndex));
|
||||||
}
|
}
|
||||||
|
|||||||
+370
-370
@@ -1,371 +1,371 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
// Initialize ISteamGameServer interface object, and set server properties which may not be changed.
|
// Initialize ISteamGameServer interface object, and set server properties which may not be changed.
|
||||||
//
|
//
|
||||||
// After calling this function, you should set any additional server parameters, and then
|
// After calling this function, you should set any additional server parameters, and then
|
||||||
// call ISteamGameServer::LogOnAnonymous() or ISteamGameServer::LogOn()
|
// call ISteamGameServer::LogOnAnonymous() or ISteamGameServer::LogOn()
|
||||||
//
|
//
|
||||||
// - usSteamPort is the local port used to communicate with the steam servers.
|
// - usSteamPort is the local port used to communicate with the steam servers.
|
||||||
// - usGamePort is the port that clients will connect to for gameplay.
|
// - usGamePort is the port that clients will connect to for gameplay.
|
||||||
// - usQueryPort is the port that will manage server browser related duties and info
|
// - usQueryPort is the port that will manage server browser related duties and info
|
||||||
// pings from clients. If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE for usQueryPort, then it
|
// pings from clients. If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE for usQueryPort, then it
|
||||||
// will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving
|
// will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving
|
||||||
// UDP packets for the master server updater. See references to GameSocketShare in isteamgameserver.h.
|
// UDP packets for the master server updater. See references to GameSocketShare in isteamgameserver.h.
|
||||||
// - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the
|
// - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the
|
||||||
// server is out of date. (Only servers with the latest version will be listed.)
|
// server is out of date. (Only servers with the latest version will be listed.)
|
||||||
DLL(uint32_t) BS_SteamGameServer_Init(uint32_t unIP, uint16_t usSteamPort, uint16_t usGamePort, uint16_t usQueryPort, EServerMode eServerMode, const char *pchVersionString) {
|
DLL(uint32_t) BS_SteamGameServer_Init(uint32_t unIP, uint16_t usSteamPort, uint16_t usGamePort, uint16_t usQueryPort, EServerMode eServerMode, const char *pchVersionString) {
|
||||||
return SteamGameServer_Init(unIP, usSteamPort, usGamePort, usQueryPort, eServerMode, pchVersionString);
|
return SteamGameServer_Init(unIP, usSteamPort, usGamePort, usQueryPort, eServerMode, pchVersionString);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_SteamGameServer_Shutdown() {
|
DLL(void) BS_SteamGameServer_Shutdown() {
|
||||||
SteamGameServer_Shutdown();
|
SteamGameServer_Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_SteamGameServer_RunCallbacks() {
|
DLL(void) BS_SteamGameServer_RunCallbacks() {
|
||||||
SteamGameServer_RunCallbacks();
|
SteamGameServer_RunCallbacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_SteamGameServer_IsSecure() {
|
DLL(uint32_t) BS_SteamGameServer_IsSecure() {
|
||||||
return SteamGameServer_BSecure();
|
return SteamGameServer_BSecure();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_SteamGameServer_GetSteamID() {
|
DLL(CSteamID*) BS_SteamGameServer_GetSteamID() {
|
||||||
return new CSteamID(SteamGameServer_GetSteamID());
|
return new CSteamID(SteamGameServer_GetSteamID());
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
// steamclient.dll private wrapper functions
|
// steamclient.dll private wrapper functions
|
||||||
//
|
//
|
||||||
// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases
|
// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases
|
||||||
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
//----------------------------------------------------------------------------------------------------------------------------------------------------------//
|
||||||
DLL(HSteamPipe) BS_SteamGameServer_GetHSteamPipe() {
|
DLL(HSteamPipe) BS_SteamGameServer_GetHSteamPipe() {
|
||||||
return SteamGameServer_GetHSteamPipe();
|
return SteamGameServer_GetHSteamPipe();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ISteamGameServer Stuff
|
// ISteamGameServer Stuff
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Functions for authenticating users via Steam to play on a game server
|
// Purpose: Functions for authenticating users via Steam to play on a game server
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamGameServer*) BS_SteamGameServer() {
|
DLL(ISteamGameServer*) BS_SteamGameServer() {
|
||||||
return SteamGameServer();
|
return SteamGameServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Basic server data. These properties, if set, must be set before before calling LogOn. They
|
// Basic server data. These properties, if set, must be set before before calling LogOn. They
|
||||||
// may not be changed after logged in.
|
// may not be changed after logged in.
|
||||||
//
|
//
|
||||||
|
|
||||||
/// This is called by SteamGameServer_Init, and you will usually not need to call it directly
|
/// This is called by SteamGameServer_Init, and you will usually not need to call it directly
|
||||||
DLL(uint32_t) BS_ISteamGameServer_InitGameServer(ISteamGameServer* pSteamGameServer, uint32_t unIP, uint16_t usGamePort, uint16_t usQueryPort, uint32_t unFlags, AppId_t nGameAppId, const char *pchVersionString) {
|
DLL(uint32_t) BS_ISteamGameServer_InitGameServer(ISteamGameServer* pSteamGameServer, uint32_t unIP, uint16_t usGamePort, uint16_t usQueryPort, uint32_t unFlags, AppId_t nGameAppId, const char *pchVersionString) {
|
||||||
return pSteamGameServer->InitGameServer(unIP, usGamePort, usQueryPort, unFlags, nGameAppId, pchVersionString);
|
return pSteamGameServer->InitGameServer(unIP, usGamePort, usQueryPort, unFlags, nGameAppId, pchVersionString);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Game product identifier. This is currently used by the master server for version checking purposes.
|
/// Game product identifier. This is currently used by the master server for version checking purposes.
|
||||||
/// It's a required field, but will eventually will go away, and the AppID will be used for this purpose.
|
/// It's a required field, but will eventually will go away, and the AppID will be used for this purpose.
|
||||||
DLL(void) BS_ISteamGameServer_SetProduct(ISteamGameServer* pSteamGameServer, const char *pszProduct) {
|
DLL(void) BS_ISteamGameServer_SetProduct(ISteamGameServer* pSteamGameServer, const char *pszProduct) {
|
||||||
pSteamGameServer->SetProduct(pszProduct);
|
pSteamGameServer->SetProduct(pszProduct);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Description of the game. This is a required field and is displayed in the steam server browser....for now.
|
/// Description of the game. This is a required field and is displayed in the steam server browser....for now.
|
||||||
/// This is a required field, but it will go away eventually, as the data should be determined from the AppID.
|
/// This is a required field, but it will go away eventually, as the data should be determined from the AppID.
|
||||||
DLL(void) BS_ISteamGameServer_SetGameDescription(ISteamGameServer* pSteamGameServer, const char *pszGameDescription) {
|
DLL(void) BS_ISteamGameServer_SetGameDescription(ISteamGameServer* pSteamGameServer, const char *pszGameDescription) {
|
||||||
pSteamGameServer->SetGameDescription(pszGameDescription);
|
pSteamGameServer->SetGameDescription(pszGameDescription);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// If your game is a "mod," pass the string that identifies it. The default is an empty string, meaning
|
/// If your game is a "mod," pass the string that identifies it. The default is an empty string, meaning
|
||||||
/// this application is the original game, not a mod.
|
/// this application is the original game, not a mod.
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerGameDir
|
/// @see k_cbMaxGameServerGameDir
|
||||||
DLL(void) BS_ISteamGameServer_SetModDir(ISteamGameServer* pSteamGameServer, const char *pszModDir) {
|
DLL(void) BS_ISteamGameServer_SetModDir(ISteamGameServer* pSteamGameServer, const char *pszModDir) {
|
||||||
pSteamGameServer->SetModDir(pszModDir);
|
pSteamGameServer->SetModDir(pszModDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Is this is a dedicated server? The default value is false.
|
/// Is this is a dedicated server? The default value is false.
|
||||||
DLL(void) BS_ISteamGameServer_SetDedicatedServer(ISteamGameServer* pSteamGameServer, uint32_t bDedicated) {
|
DLL(void) BS_ISteamGameServer_SetDedicatedServer(ISteamGameServer* pSteamGameServer, uint32_t bDedicated) {
|
||||||
pSteamGameServer->SetDedicatedServer(!!bDedicated);
|
pSteamGameServer->SetDedicatedServer(!!bDedicated);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Login
|
// Login
|
||||||
//
|
//
|
||||||
|
|
||||||
/// Begin process to login to a persistent game server account
|
/// Begin process to login to a persistent game server account
|
||||||
///
|
///
|
||||||
/// You need to register for callbacks to determine the result of this operation.
|
/// You need to register for callbacks to determine the result of this operation.
|
||||||
/// @see SteamServersConnected_t
|
/// @see SteamServersConnected_t
|
||||||
/// @see SteamServerConnectFailure_t
|
/// @see SteamServerConnectFailure_t
|
||||||
/// @see SteamServersDisconnected_t
|
/// @see SteamServersDisconnected_t
|
||||||
DLL(void) BS_ISteamGameServer_LogOn(ISteamGameServer* pSteamGameServer, const char *pszToken) {
|
DLL(void) BS_ISteamGameServer_LogOn(ISteamGameServer* pSteamGameServer, const char *pszToken) {
|
||||||
pSteamGameServer->LogOn(pszToken);
|
pSteamGameServer->LogOn(pszToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Login to a generic, anonymous account.
|
/// Login to a generic, anonymous account.
|
||||||
///
|
///
|
||||||
/// Note: in previous versions of the SDK, this was automatically called within SteamGameServer_Init,
|
/// Note: in previous versions of the SDK, this was automatically called within SteamGameServer_Init,
|
||||||
/// but this is no longer the case.
|
/// but this is no longer the case.
|
||||||
DLL(void) BS_ISteamGameServer_LogOnAnonymous(ISteamGameServer* pSteamGameServer) {
|
DLL(void) BS_ISteamGameServer_LogOnAnonymous(ISteamGameServer* pSteamGameServer) {
|
||||||
pSteamGameServer->LogOnAnonymous();
|
pSteamGameServer->LogOnAnonymous();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Begin process of logging game server out of steam
|
/// Begin process of logging game server out of steam
|
||||||
DLL(void) BS_ISteamGameServer_LogOff(ISteamGameServer* pSteamGameServer) {
|
DLL(void) BS_ISteamGameServer_LogOff(ISteamGameServer* pSteamGameServer) {
|
||||||
pSteamGameServer->LogOff();
|
pSteamGameServer->LogOff();
|
||||||
}
|
}
|
||||||
|
|
||||||
// status functions
|
// status functions
|
||||||
DLL(uint32_t) BS_ISteamGameServer_IsLoggedOn(ISteamGameServer* pSteamGameServer) {
|
DLL(uint32_t) BS_ISteamGameServer_IsLoggedOn(ISteamGameServer* pSteamGameServer) {
|
||||||
return pSteamGameServer->BLoggedOn();
|
return pSteamGameServer->BLoggedOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServer_IsSecure(ISteamGameServer* pSteamGameServer) {
|
DLL(uint32_t) BS_ISteamGameServer_IsSecure(ISteamGameServer* pSteamGameServer) {
|
||||||
return pSteamGameServer->BSecure();
|
return pSteamGameServer->BSecure();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(CSteamID*) BS_ISteamGameServer_GetSteamID(ISteamGameServer* pSteamGameServer) {
|
DLL(CSteamID*) BS_ISteamGameServer_GetSteamID(ISteamGameServer* pSteamGameServer) {
|
||||||
return new CSteamID(pSteamGameServer->GetSteamID());
|
return new CSteamID(pSteamGameServer->GetSteamID());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns true if the master server has requested a restart.
|
/// Returns true if the master server has requested a restart.
|
||||||
/// Only returns true once per request.
|
/// Only returns true once per request.
|
||||||
DLL(uint32_t) BS_ISteamGameServer_WasRestartRequested(ISteamGameServer* pSteamGameServer) {
|
DLL(uint32_t) BS_ISteamGameServer_WasRestartRequested(ISteamGameServer* pSteamGameServer) {
|
||||||
return pSteamGameServer->WasRestartRequested();
|
return pSteamGameServer->WasRestartRequested();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Server state. These properties may be changed at any time.
|
// Server state. These properties may be changed at any time.
|
||||||
//
|
//
|
||||||
|
|
||||||
/// Max player count that will be reported to server browser and client queries
|
/// Max player count that will be reported to server browser and client queries
|
||||||
DLL(void) BS_ISteamGameServer_SetMaxPlayerCount(ISteamGameServer* pSteamGameServer, int32_t cPlayersMax) {
|
DLL(void) BS_ISteamGameServer_SetMaxPlayerCount(ISteamGameServer* pSteamGameServer, int32_t cPlayersMax) {
|
||||||
pSteamGameServer->SetMaxPlayerCount(cPlayersMax);
|
pSteamGameServer->SetMaxPlayerCount(cPlayersMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Number of bots. Default value is zero
|
/// Number of bots. Default value is zero
|
||||||
DLL(void) BS_ISteamGameServer_SetBotPlayerCount(ISteamGameServer* pSteamGameServer, int32_t cBotplayers) {
|
DLL(void) BS_ISteamGameServer_SetBotPlayerCount(ISteamGameServer* pSteamGameServer, int32_t cBotplayers) {
|
||||||
pSteamGameServer->SetBotPlayerCount(cBotplayers);
|
pSteamGameServer->SetBotPlayerCount(cBotplayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Set the name of server as it will appear in the server browser
|
/// Set the name of server as it will appear in the server browser
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerName
|
/// @see k_cbMaxGameServerName
|
||||||
DLL(void) BS_ISteamGameServer_SetServerName(ISteamGameServer* pSteamGameServer, const char *pszServerName) {
|
DLL(void) BS_ISteamGameServer_SetServerName(ISteamGameServer* pSteamGameServer, const char *pszServerName) {
|
||||||
pSteamGameServer->SetServerName(pszServerName);
|
pSteamGameServer->SetServerName(pszServerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Set name of map to report in the server browser
|
/// Set name of map to report in the server browser
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerName
|
/// @see k_cbMaxGameServerName
|
||||||
DLL(void) BS_ISteamGameServer_SetMapName(ISteamGameServer* pSteamGameServer, const char *pszMapName) {
|
DLL(void) BS_ISteamGameServer_SetMapName(ISteamGameServer* pSteamGameServer, const char *pszMapName) {
|
||||||
pSteamGameServer->SetMapName(pszMapName);
|
pSteamGameServer->SetMapName(pszMapName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Let people know if your server will require a password
|
/// Let people know if your server will require a password
|
||||||
DLL(void) BS_ISteamGameServer_SetPasswordProtected(ISteamGameServer* pSteamGameServer, uint32_t bPasswordProtected) {
|
DLL(void) BS_ISteamGameServer_SetPasswordProtected(ISteamGameServer* pSteamGameServer, uint32_t bPasswordProtected) {
|
||||||
pSteamGameServer->SetPasswordProtected(!!bPasswordProtected);
|
pSteamGameServer->SetPasswordProtected(!!bPasswordProtected);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Spectator server. The default value is zero, meaning the service
|
/// Spectator server. The default value is zero, meaning the service
|
||||||
/// is not used.
|
/// is not used.
|
||||||
DLL(void) BS_ISteamGameServer_SetSpectatorPort(ISteamGameServer* pSteamGameServer, uint16_t unSpectatorPort) {
|
DLL(void) BS_ISteamGameServer_SetSpectatorPort(ISteamGameServer* pSteamGameServer, uint16_t unSpectatorPort) {
|
||||||
pSteamGameServer->SetSpectatorPort(unSpectatorPort);
|
pSteamGameServer->SetSpectatorPort(unSpectatorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Name of the spectator server. (Only used if spectator port is nonzero.)
|
/// Name of the spectator server. (Only used if spectator port is nonzero.)
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerMapName
|
/// @see k_cbMaxGameServerMapName
|
||||||
DLL(void) BS_ISteamGameServer_SetSpectatorServerName(ISteamGameServer* pSteamGameServer, const char *pszSpectatorServerName) {
|
DLL(void) BS_ISteamGameServer_SetSpectatorServerName(ISteamGameServer* pSteamGameServer, const char *pszSpectatorServerName) {
|
||||||
pSteamGameServer->SetSpectatorServerName(pszSpectatorServerName);
|
pSteamGameServer->SetSpectatorServerName(pszSpectatorServerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Call this to clear the whole list of key/values that are sent in rules queries.
|
/// Call this to clear the whole list of key/values that are sent in rules queries.
|
||||||
DLL(void) BS_ISteamGameServer_ClearAllKeyValues(ISteamGameServer* pSteamGameServer) {
|
DLL(void) BS_ISteamGameServer_ClearAllKeyValues(ISteamGameServer* pSteamGameServer) {
|
||||||
pSteamGameServer->ClearAllKeyValues();
|
pSteamGameServer->ClearAllKeyValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Call this to add/update a key/value pair.
|
/// Call this to add/update a key/value pair.
|
||||||
DLL(void) BS_ISteamGameServer_SetKeyValue(ISteamGameServer* pSteamGameServer, const char *pKey, const char *pValue) {
|
DLL(void) BS_ISteamGameServer_SetKeyValue(ISteamGameServer* pSteamGameServer, const char *pKey, const char *pValue) {
|
||||||
pSteamGameServer->SetKeyValue(pKey, pValue);
|
pSteamGameServer->SetKeyValue(pKey, pValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets a string defining the "gametags" for this server, this is optional, but if it is set
|
/// Sets a string defining the "gametags" for this server, this is optional, but if it is set
|
||||||
/// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
/// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerTags
|
/// @see k_cbMaxGameServerTags
|
||||||
DLL(void) BS_ISteamGameServer_SetGameTags(ISteamGameServer* pSteamGameServer, const char *pchGameTags) {
|
DLL(void) BS_ISteamGameServer_SetGameTags(ISteamGameServer* pSteamGameServer, const char *pchGameTags) {
|
||||||
pSteamGameServer->SetGameTags(pchGameTags);
|
pSteamGameServer->SetGameTags(pchGameTags);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets a string defining the "gamedata" for this server, this is optional, but if it is set
|
/// Sets a string defining the "gamedata" for this server, this is optional, but if it is set
|
||||||
/// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
/// it allows users to filter in the matchmaking/server-browser interfaces based on the value
|
||||||
/// don't set this unless it actually changes, its only uploaded to the master once (when
|
/// don't set this unless it actually changes, its only uploaded to the master once (when
|
||||||
/// acknowledged)
|
/// acknowledged)
|
||||||
///
|
///
|
||||||
/// @see k_cbMaxGameServerGameData
|
/// @see k_cbMaxGameServerGameData
|
||||||
DLL(void) BS_ISteamGameServer_SetGameData(ISteamGameServer* pSteamGameServer, const char *pchGameData) {
|
DLL(void) BS_ISteamGameServer_SetGameData(ISteamGameServer* pSteamGameServer, const char *pchGameData) {
|
||||||
pSteamGameServer->SetGameData(pchGameData);
|
pSteamGameServer->SetGameData(pchGameData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Region identifier. This is an optional field, the default value is empty, meaning the "world" region
|
/// Region identifier. This is an optional field, the default value is empty, meaning the "world" region
|
||||||
DLL(void) BS_ISteamGameServer_SetRegion(ISteamGameServer* pSteamGameServer, const char *pszRegion) {
|
DLL(void) BS_ISteamGameServer_SetRegion(ISteamGameServer* pSteamGameServer, const char *pszRegion) {
|
||||||
pSteamGameServer->SetRegion(pszRegion);
|
pSteamGameServer->SetRegion(pszRegion);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Player list management / authentication
|
// Player list management / authentication
|
||||||
//
|
//
|
||||||
|
|
||||||
// Handles receiving a new connection from a Steam user. This call will ask the Steam
|
// Handles receiving a new connection from a Steam user. This call will ask the Steam
|
||||||
// servers to validate the users identity, app ownership, and VAC status. If the Steam servers
|
// servers to validate the users identity, app ownership, and VAC status. If the Steam servers
|
||||||
// are off-line, then it will validate the cached ticket itself which will validate app ownership
|
// are off-line, then it will validate the cached ticket itself which will validate app ownership
|
||||||
// and identity. The AuthBlob here should be acquired on the game client using SteamUser()->InitiateGameConnection()
|
// and identity. The AuthBlob here should be acquired on the game client using SteamUser()->InitiateGameConnection()
|
||||||
// and must then be sent up to the game server for authentication.
|
// and must then be sent up to the game server for authentication.
|
||||||
//
|
//
|
||||||
// Return Value: returns true if the users ticket passes basic checks. pSteamIDUser will contain the Steam ID of this user. pSteamIDUser must NOT be NULL
|
// Return Value: returns true if the users ticket passes basic checks. pSteamIDUser will contain the Steam ID of this user. pSteamIDUser must NOT be NULL
|
||||||
// If the call succeeds then you should expect a GSClientApprove_t or GSClientDeny_t callback which will tell you whether authentication
|
// If the call succeeds then you should expect a GSClientApprove_t or GSClientDeny_t callback which will tell you whether authentication
|
||||||
// for the user has succeeded or failed (the steamid in the callback will match the one returned by this call)
|
// for the user has succeeded or failed (the steamid in the callback will match the one returned by this call)
|
||||||
DLL(uint32_t) BS_ISteamGameServer_SendUserConnectAndAuthenticate(ISteamGameServer* pSteamGameServer, uint32_t unIPClient, const void *pvAuthBlob, uint32_t cubAuthBlobSize, CSteamID *pSteamIDUser) {
|
DLL(uint32_t) BS_ISteamGameServer_SendUserConnectAndAuthenticate(ISteamGameServer* pSteamGameServer, uint32_t unIPClient, const void *pvAuthBlob, uint32_t cubAuthBlobSize, CSteamID *pSteamIDUser) {
|
||||||
return pSteamGameServer->SendUserConnectAndAuthenticate(unIPClient, pvAuthBlob, cubAuthBlobSize, pSteamIDUser);
|
return pSteamGameServer->SendUserConnectAndAuthenticate(unIPClient, pvAuthBlob, cubAuthBlobSize, pSteamIDUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a fake user (ie, a bot) which will be listed as playing on the server, but skips validation.
|
// Creates a fake user (ie, a bot) which will be listed as playing on the server, but skips validation.
|
||||||
//
|
//
|
||||||
// Return Value: Returns a SteamID for the user to be tracked with, you should call HandleUserDisconnect()
|
// Return Value: Returns a SteamID for the user to be tracked with, you should call HandleUserDisconnect()
|
||||||
// when this user leaves the server just like you would for a real user.
|
// when this user leaves the server just like you would for a real user.
|
||||||
DLL(CSteamID*) BS_ISteamGameServer_CreateUnauthenticatedUserConnection(ISteamGameServer* pSteamGameServer) {
|
DLL(CSteamID*) BS_ISteamGameServer_CreateUnauthenticatedUserConnection(ISteamGameServer* pSteamGameServer) {
|
||||||
return new CSteamID(pSteamGameServer->CreateUnauthenticatedUserConnection());
|
return new CSteamID(pSteamGameServer->CreateUnauthenticatedUserConnection());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Should be called whenever a user leaves our game server, this lets Steam internally
|
// Should be called whenever a user leaves our game server, this lets Steam internally
|
||||||
// track which users are currently on which servers for the purposes of preventing a single
|
// track which users are currently on which servers for the purposes of preventing a single
|
||||||
// account being logged into multiple servers, showing who is currently on a server, etc.
|
// account being logged into multiple servers, showing who is currently on a server, etc.
|
||||||
DLL(void) BS_ISteamGameServer_SendUserDisconnect(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser) {
|
DLL(void) BS_ISteamGameServer_SendUserDisconnect(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser) {
|
||||||
pSteamGameServer->SendUserDisconnect(*pSteamIDUser);
|
pSteamGameServer->SendUserDisconnect(*pSteamIDUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the data to be displayed in the server browser and matchmaking interfaces for a user
|
// Update the data to be displayed in the server browser and matchmaking interfaces for a user
|
||||||
// currently connected to the server. For regular users you must call this after you receive a
|
// currently connected to the server. For regular users you must call this after you receive a
|
||||||
// GSUserValidationSuccess callback.
|
// GSUserValidationSuccess callback.
|
||||||
//
|
//
|
||||||
// Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player)
|
// Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player)
|
||||||
DLL(uint32_t) BS_ISteamGameServer_UpdateUserData(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser, const char *pchPlayerName, uint32_t uScore) {
|
DLL(uint32_t) BS_ISteamGameServer_UpdateUserData(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser, const char *pchPlayerName, uint32_t uScore) {
|
||||||
return pSteamGameServer->BUpdateUserData(*pSteamIDUser, pchPlayerName, uScore);
|
return pSteamGameServer->BUpdateUserData(*pSteamIDUser, pchPlayerName, uScore);
|
||||||
}
|
}
|
||||||
|
|
||||||
// New auth system APIs - do not mix with the old auth system APIs.
|
// New auth system APIs - do not mix with the old auth system APIs.
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
|
|
||||||
// Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ).
|
// Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ).
|
||||||
// pcbTicket retrieves the length of the actual ticket.
|
// pcbTicket retrieves the length of the actual ticket.
|
||||||
DLL(HAuthTicket) BS_ISteamGameServer_GetAuthSessionTicket(ISteamGameServer* pSteamGameServer, void *pTicket, int32_t cbMaxTicket, uint32_t *pcbTicket) {
|
DLL(HAuthTicket) BS_ISteamGameServer_GetAuthSessionTicket(ISteamGameServer* pSteamGameServer, void *pTicket, int32_t cbMaxTicket, uint32_t *pcbTicket) {
|
||||||
return pSteamGameServer->GetAuthSessionTicket(pTicket, cbMaxTicket, pcbTicket);
|
return pSteamGameServer->GetAuthSessionTicket(pTicket, cbMaxTicket, pcbTicket);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused
|
// Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused
|
||||||
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
|
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
|
||||||
DLL(EBeginAuthSessionResult) BS_ISteamGameServer_BeginAuthSession(ISteamGameServer* pSteamGameServer, const void *pAuthTicket, int32_t cbAuthTicket, CSteamID* pSteamID) {
|
DLL(EBeginAuthSessionResult) BS_ISteamGameServer_BeginAuthSession(ISteamGameServer* pSteamGameServer, const void *pAuthTicket, int32_t cbAuthTicket, CSteamID* pSteamID) {
|
||||||
return pSteamGameServer->BeginAuthSession(pAuthTicket, cbAuthTicket, *pSteamID);
|
return pSteamGameServer->BeginAuthSession(pAuthTicket, cbAuthTicket, *pSteamID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop tracking started by BeginAuthSession - called when no longer playing game with this entity
|
// Stop tracking started by BeginAuthSession - called when no longer playing game with this entity
|
||||||
DLL(void) BS_ISteamGameServer_EndAuthSession(ISteamGameServer* pSteamGameServer, CSteamID* pSteamID) {
|
DLL(void) BS_ISteamGameServer_EndAuthSession(ISteamGameServer* pSteamGameServer, CSteamID* pSteamID) {
|
||||||
pSteamGameServer->EndAuthSession(*pSteamID);
|
pSteamGameServer->EndAuthSession(*pSteamID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to
|
// Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to
|
||||||
DLL(void) BS_ISteamGameServer_CancelAuthTicket(ISteamGameServer* pSteamGameServer, HAuthTicket hAuthTicket) {
|
DLL(void) BS_ISteamGameServer_CancelAuthTicket(ISteamGameServer* pSteamGameServer, HAuthTicket hAuthTicket) {
|
||||||
pSteamGameServer->CancelAuthTicket(hAuthTicket);
|
pSteamGameServer->CancelAuthTicket(hAuthTicket);
|
||||||
}
|
}
|
||||||
|
|
||||||
// After receiving a user's authentication data, and passing it to SendUserConnectAndAuthenticate, use this function
|
// After receiving a user's authentication data, and passing it to SendUserConnectAndAuthenticate, use this function
|
||||||
// to determine if the user owns downloadable content specified by the provided AppID.
|
// to determine if the user owns downloadable content specified by the provided AppID.
|
||||||
DLL(EUserHasLicenseForAppResult) BS_ISteamGameServer_UserHasLicenseForApp(ISteamGameServer* pSteamGameServer, CSteamID* pSteamID, AppId_t appID) {
|
DLL(EUserHasLicenseForAppResult) BS_ISteamGameServer_UserHasLicenseForApp(ISteamGameServer* pSteamGameServer, CSteamID* pSteamID, AppId_t appID) {
|
||||||
return pSteamGameServer->UserHasLicenseForApp(*pSteamID, appID);
|
return pSteamGameServer->UserHasLicenseForApp(*pSteamID, appID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask if a user in in the specified group, results returns async by GSUserGroupStatus_t
|
// Ask if a user in in the specified group, results returns async by GSUserGroupStatus_t
|
||||||
// returns false if we're not connected to the steam servers and thus cannot ask
|
// returns false if we're not connected to the steam servers and thus cannot ask
|
||||||
DLL(uint32_t) BS_ISteamGameServer_RequestUserGroupStatus(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser, CSteamID* pSteamIDGroup) {
|
DLL(uint32_t) BS_ISteamGameServer_RequestUserGroupStatus(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDUser, CSteamID* pSteamIDGroup) {
|
||||||
return pSteamGameServer->RequestUserGroupStatus(*pSteamIDUser, *pSteamIDGroup);
|
return pSteamGameServer->RequestUserGroupStatus(*pSteamIDUser, *pSteamIDGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the public IP of the server according to Steam, useful when the server is
|
// Returns the public IP of the server according to Steam, useful when the server is
|
||||||
// behind NAT and you want to advertise its IP in a lobby for other clients to directly
|
// behind NAT and you want to advertise its IP in a lobby for other clients to directly
|
||||||
// connect to
|
// connect to
|
||||||
DLL(uint32_t) BS_ISteamGameServer_GetPublicIP(ISteamGameServer* pSteamGameServer) {
|
DLL(uint32_t) BS_ISteamGameServer_GetPublicIP(ISteamGameServer* pSteamGameServer) {
|
||||||
return pSteamGameServer->GetPublicIP();
|
return pSteamGameServer->GetPublicIP();
|
||||||
}
|
}
|
||||||
|
|
||||||
// These are in GameSocketShare mode, where instead of ISteamGameServer creating its own
|
// These are in GameSocketShare mode, where instead of ISteamGameServer creating its own
|
||||||
// socket to talk to the master server on, it lets the game use its socket to forward messages
|
// socket to talk to the master server on, it lets the game use its socket to forward messages
|
||||||
// back and forth. This prevents us from requiring server ops to open up yet another port
|
// back and forth. This prevents us from requiring server ops to open up yet another port
|
||||||
// in their firewalls.
|
// in their firewalls.
|
||||||
//
|
//
|
||||||
// the IP address and port should be in host order, i.e 127.0.0.1 == 0x7f000001
|
// the IP address and port should be in host order, i.e 127.0.0.1 == 0x7f000001
|
||||||
|
|
||||||
// These are used when you've elected to multiplex the game server's UDP socket
|
// These are used when you've elected to multiplex the game server's UDP socket
|
||||||
// rather than having the master server updater use its own sockets.
|
// rather than having the master server updater use its own sockets.
|
||||||
//
|
//
|
||||||
// Source games use this to simplify the job of the server admins, so they
|
// Source games use this to simplify the job of the server admins, so they
|
||||||
// don't have to open up more ports on their firewalls.
|
// don't have to open up more ports on their firewalls.
|
||||||
|
|
||||||
// Call this when a packet that starts with 0xFFFFFFFF comes in. That means
|
// Call this when a packet that starts with 0xFFFFFFFF comes in. That means
|
||||||
// it's for us.
|
// it's for us.
|
||||||
DLL(uint32_t) BS_ISteamGameServer_HandleIncomingPacket(ISteamGameServer* pSteamGameServer, const void *pData, int32_t cbData, uint32_t srcIP, uint16_t srcPort) {
|
DLL(uint32_t) BS_ISteamGameServer_HandleIncomingPacket(ISteamGameServer* pSteamGameServer, const void *pData, int32_t cbData, uint32_t srcIP, uint16_t srcPort) {
|
||||||
return pSteamGameServer->HandleIncomingPacket(pData, cbData, srcIP, srcPort);
|
return pSteamGameServer->HandleIncomingPacket(pData, cbData, srcIP, srcPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
// AFTER calling HandleIncomingPacket for any packets that came in that frame, call this.
|
// AFTER calling HandleIncomingPacket for any packets that came in that frame, call this.
|
||||||
// This gets a packet that the master server updater needs to send out on UDP.
|
// This gets a packet that the master server updater needs to send out on UDP.
|
||||||
// It returns the length of the packet it wants to send, or 0 if there are no more packets to send.
|
// It returns the length of the packet it wants to send, or 0 if there are no more packets to send.
|
||||||
// Call this each frame until it returns 0.
|
// Call this each frame until it returns 0.
|
||||||
DLL(uint32_t) BS_ISteamGameServer_GetNextOutgoingPacket(ISteamGameServer* pSteamGameServer, void *pOut, int32_t cbMaxOut, uint32_t *pNetAdr, uint16_t *pPort) {
|
DLL(uint32_t) BS_ISteamGameServer_GetNextOutgoingPacket(ISteamGameServer* pSteamGameServer, void *pOut, int32_t cbMaxOut, uint32_t *pNetAdr, uint16_t *pPort) {
|
||||||
return pSteamGameServer->GetNextOutgoingPacket(pOut, cbMaxOut, pNetAdr, pPort);
|
return pSteamGameServer->GetNextOutgoingPacket(pOut, cbMaxOut, pNetAdr, pPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Control heartbeats / advertisement with master server
|
// Control heartbeats / advertisement with master server
|
||||||
//
|
//
|
||||||
|
|
||||||
// Call this as often as you like to tell the master server updater whether or not
|
// Call this as often as you like to tell the master server updater whether or not
|
||||||
// you want it to be active (default: off).
|
// you want it to be active (default: off).
|
||||||
DLL(void) BS_ISteamGameServer_EnableHeartbeats(ISteamGameServer* pSteamGameServer, uint32_t bActive) {
|
DLL(void) BS_ISteamGameServer_EnableHeartbeats(ISteamGameServer* pSteamGameServer, uint32_t bActive) {
|
||||||
pSteamGameServer->EnableHeartbeats(!!bActive);
|
pSteamGameServer->EnableHeartbeats(!!bActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
// You usually don't need to modify this.
|
// You usually don't need to modify this.
|
||||||
// Pass -1 to use the default value for iHeartbeatInterval.
|
// Pass -1 to use the default value for iHeartbeatInterval.
|
||||||
// Some mods change this.
|
// Some mods change this.
|
||||||
DLL(void) BS_ISteamGameServer_SetHeartbeatInterval(ISteamGameServer* pSteamGameServer, int32_t iHeartbeatInterval) {
|
DLL(void) BS_ISteamGameServer_SetHeartbeatInterval(ISteamGameServer* pSteamGameServer, int32_t iHeartbeatInterval) {
|
||||||
pSteamGameServer->SetHeartbeatInterval(iHeartbeatInterval);
|
pSteamGameServer->SetHeartbeatInterval(iHeartbeatInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force a heartbeat to steam at the next opportunity
|
// Force a heartbeat to steam at the next opportunity
|
||||||
DLL(void) BS_ISteamGameServer_ForceHeartbeat(ISteamGameServer* pSteamGameServer) {
|
DLL(void) BS_ISteamGameServer_ForceHeartbeat(ISteamGameServer* pSteamGameServer) {
|
||||||
pSteamGameServer->ForceHeartbeat();
|
pSteamGameServer->ForceHeartbeat();
|
||||||
}
|
}
|
||||||
|
|
||||||
// associate this game server with this clan for the purposes of computing player compat
|
// associate this game server with this clan for the purposes of computing player compat
|
||||||
DLL(SteamAPICall_t*) BS_ISteamGameServer_AssociateWithClan(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDClan) {
|
DLL(SteamAPICall_t*) BS_ISteamGameServer_AssociateWithClan(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDClan) {
|
||||||
return new SteamAPICall_t(pSteamGameServer->AssociateWithClan(*pSteamIDClan));
|
return new SteamAPICall_t(pSteamGameServer->AssociateWithClan(*pSteamIDClan));
|
||||||
}
|
}
|
||||||
|
|
||||||
// ask if any of the current players dont want to play with this new player - or vice versa
|
// ask if any of the current players dont want to play with this new player - or vice versa
|
||||||
DLL(SteamAPICall_t*) BS_ISteamGameServer_ComputeNewPlayerCompatibility(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDNewPlayer) {
|
DLL(SteamAPICall_t*) BS_ISteamGameServer_ComputeNewPlayerCompatibility(ISteamGameServer* pSteamGameServer, CSteamID* pSteamIDNewPlayer) {
|
||||||
return new SteamAPICall_t(pSteamGameServer->ComputeNewPlayerCompatibility(*pSteamIDNewPlayer));
|
return new SteamAPICall_t(pSteamGameServer->ComputeNewPlayerCompatibility(*pSteamIDNewPlayer));
|
||||||
}
|
}
|
||||||
@@ -1,81 +1,81 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Functions for authenticating users via Steam to play on a game server
|
// Purpose: Functions for authenticating users via Steam to play on a game server
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamGameServerStats*) BS_SteamGameServerStats() {
|
DLL(ISteamGameServerStats*) BS_SteamGameServerStats() {
|
||||||
return SteamGameServerStats();
|
return SteamGameServerStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
// downloads stats for the user
|
// downloads stats for the user
|
||||||
// returns a GSStatsReceived_t callback when completed
|
// returns a GSStatsReceived_t callback when completed
|
||||||
// if the user has no stats, GSStatsReceived_t.m_eResult will be set to k_EResultFail
|
// if the user has no stats, GSStatsReceived_t.m_eResult will be set to k_EResultFail
|
||||||
// these stats will only be auto-updated for clients playing on the server. For other
|
// these stats will only be auto-updated for clients playing on the server. For other
|
||||||
// users you'll need to call RequestUserStats() again to refresh any data
|
// users you'll need to call RequestUserStats() again to refresh any data
|
||||||
DLL(SteamAPICall_t*) BS_ISteamGameServerStats_RequestUserStats(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser) {
|
DLL(SteamAPICall_t*) BS_ISteamGameServerStats_RequestUserStats(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser) {
|
||||||
return new SteamAPICall_t(pSteamGameServerStats->RequestUserStats(*steamIDUser));
|
return new SteamAPICall_t(pSteamGameServerStats->RequestUserStats(*steamIDUser));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store the current data on the server, will get a GSStatsStored_t callback when set.
|
// Store the current data on the server, will get a GSStatsStored_t callback when set.
|
||||||
//
|
//
|
||||||
// If the callback has a result of k_EResultInvalidParam, one or more stats
|
// If the callback has a result of k_EResultInvalidParam, one or more stats
|
||||||
// uploaded has been rejected, either because they broke constraints
|
// uploaded has been rejected, either because they broke constraints
|
||||||
// or were out of date. In this case the server sends back updated values.
|
// or were out of date. In this case the server sends back updated values.
|
||||||
// The stats should be re-iterated to keep in sync.
|
// The stats should be re-iterated to keep in sync.
|
||||||
DLL(SteamAPICall_t*) BS_ISteamGameServerStats_StoreUserStats(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser) {
|
DLL(SteamAPICall_t*) BS_ISteamGameServerStats_StoreUserStats(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser) {
|
||||||
return new SteamAPICall_t(pSteamGameServerStats->StoreUserStats(*steamIDUser));
|
return new SteamAPICall_t(pSteamGameServerStats->StoreUserStats(*steamIDUser));
|
||||||
}
|
}
|
||||||
|
|
||||||
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_GetUserStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pData) {
|
DLL(uint32_t) BS_ISteamGameServerStats_GetUserStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pData) {
|
||||||
return pSteamGameServerStats->GetUserStat(*steamIDUser, pchName, (int32_t*)pData);
|
return pSteamGameServerStats->GetUserStat(*steamIDUser, pchName, (int32_t*)pData);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_GetUserStatF(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, float_t* pData) {
|
DLL(uint32_t) BS_ISteamGameServerStats_GetUserStatF(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, float_t* pData) {
|
||||||
return pSteamGameServerStats->GetUserStat(*steamIDUser, pchName, pData);
|
return pSteamGameServerStats->GetUserStat(*steamIDUser, pchName, pData);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_GetUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pbAchieved) {
|
DLL(uint32_t) BS_ISteamGameServerStats_GetUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pbAchieved) {
|
||||||
return pSteamGameServerStats->GetUserAchievement(*steamIDUser, pchName, (bool*)pbAchieved);
|
return pSteamGameServerStats->GetUserAchievement(*steamIDUser, pchName, (bool*)pbAchieved);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set / update stats and achievements.
|
// Set / update stats and achievements.
|
||||||
// Note: These updates will work only on stats game servers are allowed to edit and only for
|
// Note: These updates will work only on stats game servers are allowed to edit and only for
|
||||||
// game servers that have been declared as officially controlled by the game creators.
|
// game servers that have been declared as officially controlled by the game creators.
|
||||||
// Set the IP range of your official servers on the Steamworks page
|
// Set the IP range of your official servers on the Steamworks page
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_SetUserStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t nData) {
|
DLL(uint32_t) BS_ISteamGameServerStats_SetUserStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, uint32_t nData) {
|
||||||
return pSteamGameServerStats->SetUserStat(*steamIDUser, pchName, (int32_t)nData);
|
return pSteamGameServerStats->SetUserStat(*steamIDUser, pchName, (int32_t)nData);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_SetUserStatF(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, float_t fData) {
|
DLL(uint32_t) BS_ISteamGameServerStats_SetUserStatF(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName, float_t fData) {
|
||||||
return pSteamGameServerStats->SetUserStat(*steamIDUser, pchName, fData);
|
return pSteamGameServerStats->SetUserStat(*steamIDUser, pchName, fData);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_UpdateUserAvgRateStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char *pchName, float flCountThisSession, double* pdSessionLength) {
|
DLL(uint32_t) BS_ISteamGameServerStats_UpdateUserAvgRateStat(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char *pchName, float flCountThisSession, double* pdSessionLength) {
|
||||||
return pSteamGameServerStats->UpdateUserAvgRateStat(*steamIDUser, pchName, flCountThisSession, *pdSessionLength);
|
return pSteamGameServerStats->UpdateUserAvgRateStat(*steamIDUser, pchName, flCountThisSession, *pdSessionLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_SetUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName) {
|
DLL(uint32_t) BS_ISteamGameServerStats_SetUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName) {
|
||||||
return pSteamGameServerStats->SetUserAchievement(*steamIDUser, pchName);
|
return pSteamGameServerStats->SetUserAchievement(*steamIDUser, pchName);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamGameServerStats_ClearUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName) {
|
DLL(uint32_t) BS_ISteamGameServerStats_ClearUserAchievement(ISteamGameServerStats* pSteamGameServerStats, CSteamID* steamIDUser, const char* pchName) {
|
||||||
return pSteamGameServerStats->ClearUserAchievement(*steamIDUser, pchName);
|
return pSteamGameServerStats->ClearUserAchievement(*steamIDUser, pchName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+208
-208
@@ -1,209 +1,209 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
#include "SteamworksSDK/public/steam/isteamhtmlsurface.h"
|
#include "SteamworksSDK/public/steam/isteamhtmlsurface.h"
|
||||||
|
|
||||||
DLL(ISteamHTMLSurface*) BS_SteamHTMLSurface() {
|
DLL(ISteamHTMLSurface*) BS_SteamHTMLSurface() {
|
||||||
return SteamHTMLSurface();
|
return SteamHTMLSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Must call init and shutdown when starting/ending use of the interface
|
// Must call init and shutdown when starting/ending use of the interface
|
||||||
DLL(uint32_t) BS_ISteamHTMLSurface_Init(ISteamHTMLSurface* pSteamHTMLSurface) {
|
DLL(uint32_t) BS_ISteamHTMLSurface_Init(ISteamHTMLSurface* pSteamHTMLSurface) {
|
||||||
return pSteamHTMLSurface->Init();
|
return pSteamHTMLSurface->Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamHTMLSurface_Shutdown(ISteamHTMLSurface* pSteamHTMLSurface) {
|
DLL(uint32_t) BS_ISteamHTMLSurface_Shutdown(ISteamHTMLSurface* pSteamHTMLSurface) {
|
||||||
return pSteamHTMLSurface->Shutdown();
|
return pSteamHTMLSurface->Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a browser object for display of a html page, when creation is complete the call handle
|
// Create a browser object for display of a html page, when creation is complete the call handle
|
||||||
// will return a HTML_BrowserReady_t callback for the HHTMLBrowser of your new browser.
|
// will return a HTML_BrowserReady_t callback for the HHTMLBrowser of your new browser.
|
||||||
// The user agent string is a substring to be added to the general user agent string so you can
|
// The user agent string is a substring to be added to the general user agent string so you can
|
||||||
// identify your client on web servers.
|
// identify your client on web servers.
|
||||||
// The userCSS string lets you apply a CSS style sheet to every displayed page, leave null if
|
// The userCSS string lets you apply a CSS style sheet to every displayed page, leave null if
|
||||||
// you do not require this functionality.
|
// you do not require this functionality.
|
||||||
DLL(SteamAPICall_t*) BS_ISteamHTMLSurface_CreateBrowser(ISteamHTMLSurface* pSteamHTMLSurface, const char* pchUserAgent, const char* pchUserCSS) {
|
DLL(SteamAPICall_t*) BS_ISteamHTMLSurface_CreateBrowser(ISteamHTMLSurface* pSteamHTMLSurface, const char* pchUserAgent, const char* pchUserCSS) {
|
||||||
return new SteamAPICall_t(pSteamHTMLSurface->CreateBrowser(pchUserAgent, pchUserCSS));
|
return new SteamAPICall_t(pSteamHTMLSurface->CreateBrowser(pchUserAgent, pchUserCSS));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call this when you are done with a html surface, this lets us free the resources being used by it
|
// Call this when you are done with a html surface, this lets us free the resources being used by it
|
||||||
DLL(void) BS_ISteamHTMLSurface_RemoveBrowser(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_RemoveBrowser(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->RemoveBrowser(unBrowserHandle);
|
pSteamHTMLSurface->RemoveBrowser(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Navigate to this URL, results in a HTML_StartRequest_t as the request commences
|
// Navigate to this URL, results in a HTML_StartRequest_t as the request commences
|
||||||
DLL(void) BS_ISteamHTMLSurface_LoadURL(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchURL, const char* pchPostData) {
|
DLL(void) BS_ISteamHTMLSurface_LoadURL(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchURL, const char* pchPostData) {
|
||||||
pSteamHTMLSurface->LoadURL(unBrowserHandle, pchURL, pchPostData);
|
pSteamHTMLSurface->LoadURL(unBrowserHandle, pchURL, pchPostData);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tells the surface the size in pixels to display the surface
|
// Tells the surface the size in pixels to display the surface
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetSize(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32_t unWidth, uint32_t unHeight) {
|
DLL(void) BS_ISteamHTMLSurface_SetSize(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32_t unWidth, uint32_t unHeight) {
|
||||||
pSteamHTMLSurface->SetSize(unBrowserHandle, unWidth, unHeight);
|
pSteamHTMLSurface->SetSize(unBrowserHandle, unWidth, unHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop the load of the current html page
|
// Stop the load of the current html page
|
||||||
DLL(void) BS_ISteamHTMLSurface_StopLoad(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_StopLoad(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->StopLoad(unBrowserHandle);
|
pSteamHTMLSurface->StopLoad(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reload (most likely from local cache) the current page
|
// Reload (most likely from local cache) the current page
|
||||||
DLL(void) BS_ISteamHTMLSurface_Reload(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_Reload(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->Reload(unBrowserHandle);
|
pSteamHTMLSurface->Reload(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// navigate back in the page history
|
// navigate back in the page history
|
||||||
DLL(void) BS_ISteamHTMLSurface_GoBack(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_GoBack(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->GoBack(unBrowserHandle);
|
pSteamHTMLSurface->GoBack(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// navigate forward in the page history
|
// navigate forward in the page history
|
||||||
DLL(void) BS_ISteamHTMLSurface_GoForward(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_GoForward(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->GoForward(unBrowserHandle);
|
pSteamHTMLSurface->GoForward(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add this header to any url requests from this browser
|
// add this header to any url requests from this browser
|
||||||
DLL(void) BS_ISteamHTMLSurface_AddHeader(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchKey, const char* pchValue) {
|
DLL(void) BS_ISteamHTMLSurface_AddHeader(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchKey, const char* pchValue) {
|
||||||
pSteamHTMLSurface->AddHeader(unBrowserHandle, pchKey, pchValue);
|
pSteamHTMLSurface->AddHeader(unBrowserHandle, pchKey, pchValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// run this javascript script in the currently loaded page
|
// run this javascript script in the currently loaded page
|
||||||
DLL(void) BS_ISteamHTMLSurface_ExecuteJavascript(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchScript) {
|
DLL(void) BS_ISteamHTMLSurface_ExecuteJavascript(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char* pchScript) {
|
||||||
pSteamHTMLSurface->ExecuteJavascript(unBrowserHandle, pchScript);
|
pSteamHTMLSurface->ExecuteJavascript(unBrowserHandle, pchScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mouse click and mouse movement commands
|
// Mouse click and mouse movement commands
|
||||||
DLL(void) BS_ISteamHTMLSurface_MouseUp(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
DLL(void) BS_ISteamHTMLSurface_MouseUp(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
||||||
pSteamHTMLSurface->MouseUp(unBrowserHandle, eMouseButton);
|
pSteamHTMLSurface->MouseUp(unBrowserHandle, eMouseButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamHTMLSurface_MouseDown(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
DLL(void) BS_ISteamHTMLSurface_MouseDown(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
||||||
pSteamHTMLSurface->MouseDown(unBrowserHandle, eMouseButton);
|
pSteamHTMLSurface->MouseDown(unBrowserHandle, eMouseButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamHTMLSurface_MouseDoubleClick(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
DLL(void) BS_ISteamHTMLSurface_MouseDoubleClick(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton) {
|
||||||
pSteamHTMLSurface->MouseDoubleClick(unBrowserHandle, eMouseButton);
|
pSteamHTMLSurface->MouseDoubleClick(unBrowserHandle, eMouseButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
// x and y are relative to the HTML bounds
|
// x and y are relative to the HTML bounds
|
||||||
DLL(void) BS_ISteamHTMLSurface_MouseMove(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int32_t x, int32_t y) {
|
DLL(void) BS_ISteamHTMLSurface_MouseMove(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int32_t x, int32_t y) {
|
||||||
pSteamHTMLSurface->MouseMove(unBrowserHandle, x, y);
|
pSteamHTMLSurface->MouseMove(unBrowserHandle, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
// nDelta is pixels of scroll
|
// nDelta is pixels of scroll
|
||||||
DLL(void) BS_ISteamHTMLSurface_MouseWheel(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int32_t nDelta) {
|
DLL(void) BS_ISteamHTMLSurface_MouseWheel(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int32_t nDelta) {
|
||||||
pSteamHTMLSurface->MouseWheel(unBrowserHandle, nDelta);
|
pSteamHTMLSurface->MouseWheel(unBrowserHandle, nDelta);
|
||||||
}
|
}
|
||||||
|
|
||||||
// keyboard interactions, native keycode is the virtual key code value from your OS
|
// keyboard interactions, native keycode is the virtual key code value from your OS
|
||||||
DLL(void) BS_ISteamHTMLSurface_KeyDown(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
DLL(void) BS_ISteamHTMLSurface_KeyDown(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
||||||
pSteamHTMLSurface->KeyDown(unBrowserHandle, nNativeKeyCode, eHTMLKeyModifiers);
|
pSteamHTMLSurface->KeyDown(unBrowserHandle, nNativeKeyCode, eHTMLKeyModifiers);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamHTMLSurface_KeyUp(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
DLL(void) BS_ISteamHTMLSurface_KeyUp(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
||||||
pSteamHTMLSurface->KeyUp(unBrowserHandle, nNativeKeyCode, eHTMLKeyModifiers);
|
pSteamHTMLSurface->KeyUp(unBrowserHandle, nNativeKeyCode, eHTMLKeyModifiers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// cUnicodeChar is the unicode character point for this keypress (and potentially multiple chars per press)
|
// cUnicodeChar is the unicode character point for this keypress (and potentially multiple chars per press)
|
||||||
DLL(void) BS_ISteamHTMLSurface_KeyChar(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
DLL(void) BS_ISteamHTMLSurface_KeyChar(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers) {
|
||||||
pSteamHTMLSurface->KeyChar(unBrowserHandle, cUnicodeChar, eHTMLKeyModifiers);
|
pSteamHTMLSurface->KeyChar(unBrowserHandle, cUnicodeChar, eHTMLKeyModifiers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// programmatically scroll this many pixels on the page
|
// programmatically scroll this many pixels on the page
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetHorizontalScroll(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll) {
|
DLL(void) BS_ISteamHTMLSurface_SetHorizontalScroll(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll) {
|
||||||
pSteamHTMLSurface->SetHorizontalScroll(unBrowserHandle, nAbsolutePixelScroll);
|
pSteamHTMLSurface->SetHorizontalScroll(unBrowserHandle, nAbsolutePixelScroll);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetVerticalScroll(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll) {
|
DLL(void) BS_ISteamHTMLSurface_SetVerticalScroll(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll) {
|
||||||
pSteamHTMLSurface->SetVerticalScroll(unBrowserHandle, nAbsolutePixelScroll);
|
pSteamHTMLSurface->SetVerticalScroll(unBrowserHandle, nAbsolutePixelScroll);
|
||||||
}
|
}
|
||||||
|
|
||||||
// tell the html control if it has key focus currently, controls showing the I-beam cursor in text controls amongst other things
|
// tell the html control if it has key focus currently, controls showing the I-beam cursor in text controls amongst other things
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetKeyFocus(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bHasKeyFocus) {
|
DLL(void) BS_ISteamHTMLSurface_SetKeyFocus(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bHasKeyFocus) {
|
||||||
pSteamHTMLSurface->SetKeyFocus(unBrowserHandle, bHasKeyFocus);
|
pSteamHTMLSurface->SetKeyFocus(unBrowserHandle, bHasKeyFocus);
|
||||||
}
|
}
|
||||||
|
|
||||||
// open the current pages html code in the local editor of choice, used for debugging
|
// open the current pages html code in the local editor of choice, used for debugging
|
||||||
DLL(void) BS_ISteamHTMLSurface_ViewSource(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_ViewSource(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->ViewSource(unBrowserHandle);
|
pSteamHTMLSurface->ViewSource(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// copy the currently selected text on the html page to the local clipboard
|
// copy the currently selected text on the html page to the local clipboard
|
||||||
DLL(void) BS_ISteamHTMLSurface_CopyToClipboard(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_CopyToClipboard(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->CopyToClipboard(unBrowserHandle);
|
pSteamHTMLSurface->CopyToClipboard(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// paste from the local clipboard to the current html page
|
// paste from the local clipboard to the current html page
|
||||||
DLL(void) BS_ISteamHTMLSurface_PasteFromClipboard(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_PasteFromClipboard(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->PasteFromClipboard(unBrowserHandle);
|
pSteamHTMLSurface->PasteFromClipboard(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// find this string in the browser, if bCurrentlyInFind is true then instead cycle to the next matching element
|
// find this string in the browser, if bCurrentlyInFind is true then instead cycle to the next matching element
|
||||||
DLL(void) BS_ISteamHTMLSurface_Find(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse) {
|
DLL(void) BS_ISteamHTMLSurface_Find(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse) {
|
||||||
pSteamHTMLSurface->Find(unBrowserHandle, pchSearchStr, bCurrentlyInFind, bReverse);
|
pSteamHTMLSurface->Find(unBrowserHandle, pchSearchStr, bCurrentlyInFind, bReverse);
|
||||||
}
|
}
|
||||||
|
|
||||||
// cancel a currently running find
|
// cancel a currently running find
|
||||||
DLL(void) BS_ISteamHTMLSurface_StopFind(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
DLL(void) BS_ISteamHTMLSurface_StopFind(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle) {
|
||||||
pSteamHTMLSurface->StopFind(unBrowserHandle);
|
pSteamHTMLSurface->StopFind(unBrowserHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return details about the link at position x,y on the current page
|
// return details about the link at position x,y on the current page
|
||||||
DLL(void) BS_ISteamHTMLSurface_GetLinkAtPosition(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int x, int y) {
|
DLL(void) BS_ISteamHTMLSurface_GetLinkAtPosition(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, int x, int y) {
|
||||||
pSteamHTMLSurface->GetLinkAtPosition(unBrowserHandle, x, y);
|
pSteamHTMLSurface->GetLinkAtPosition(unBrowserHandle, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
// set a webcookie for the hostname in question
|
// set a webcookie for the hostname in question
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetCookie(ISteamHTMLSurface* pSteamHTMLSurface, const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath, RTime32 nExpires, bool bSecure, bool bHTTPOnly) {
|
DLL(void) BS_ISteamHTMLSurface_SetCookie(ISteamHTMLSurface* pSteamHTMLSurface, const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath, RTime32 nExpires, bool bSecure, bool bHTTPOnly) {
|
||||||
pSteamHTMLSurface->SetCookie(pchHostname, pchKey, pchValue, pchPath, nExpires, bSecure, bHTTPOnly);
|
pSteamHTMLSurface->SetCookie(pchHostname, pchKey, pchValue, pchPath, nExpires, bSecure, bHTTPOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Zoom the current page by flZoom ( from 0.0 to 2.0, so to zoom to 120% use 1.2 ), zooming around point X,Y in the page (use 0,0 if you don't care)
|
// Zoom the current page by flZoom ( from 0.0 to 2.0, so to zoom to 120% use 1.2 ), zooming around point X,Y in the page (use 0,0 if you don't care)
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetPageScaleFactor(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY) {
|
DLL(void) BS_ISteamHTMLSurface_SetPageScaleFactor(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY) {
|
||||||
pSteamHTMLSurface->SetPageScaleFactor(unBrowserHandle, flZoom, nPointX, nPointY);
|
pSteamHTMLSurface->SetPageScaleFactor(unBrowserHandle, flZoom, nPointX, nPointY);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enable/disable low-resource background mode, where javascript and repaint timers are throttled, resources are
|
// Enable/disable low-resource background mode, where javascript and repaint timers are throttled, resources are
|
||||||
// more aggressively purged from memory, and audio/video elements are paused. When background mode is enabled,
|
// more aggressively purged from memory, and audio/video elements are paused. When background mode is enabled,
|
||||||
// all HTML5 video and audio objects will execute ".pause()" and gain the property "._steam_background_paused = 1".
|
// all HTML5 video and audio objects will execute ".pause()" and gain the property "._steam_background_paused = 1".
|
||||||
// When background mode is disabled, any video or audio objects with that property will resume with ".play()".
|
// When background mode is disabled, any video or audio objects with that property will resume with ".play()".
|
||||||
DLL(void) BS_ISteamHTMLSurface_SetBackgroundMode(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bBackgroundMode) {
|
DLL(void) BS_ISteamHTMLSurface_SetBackgroundMode(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bBackgroundMode) {
|
||||||
pSteamHTMLSurface->SetBackgroundMode(unBrowserHandle, bBackgroundMode);
|
pSteamHTMLSurface->SetBackgroundMode(unBrowserHandle, bBackgroundMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// CALLBACKS
|
// CALLBACKS
|
||||||
//
|
//
|
||||||
// These set of functions are used as responses to callback requests
|
// These set of functions are used as responses to callback requests
|
||||||
//
|
//
|
||||||
|
|
||||||
// You MUST call this in response to a HTML_StartRequest_t callback
|
// You MUST call this in response to a HTML_StartRequest_t callback
|
||||||
// Set bAllowed to true to allow this navigation, false to cancel it and stay
|
// Set bAllowed to true to allow this navigation, false to cancel it and stay
|
||||||
// on the current page. You can use this feature to limit the valid pages
|
// on the current page. You can use this feature to limit the valid pages
|
||||||
// allowed in your HTML surface.
|
// allowed in your HTML surface.
|
||||||
DLL(void) BS_ISteamHTMLSurface_AllowStartRequest(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bAllowed) {
|
DLL(void) BS_ISteamHTMLSurface_AllowStartRequest(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bAllowed) {
|
||||||
pSteamHTMLSurface->AllowStartRequest(unBrowserHandle, bAllowed);
|
pSteamHTMLSurface->AllowStartRequest(unBrowserHandle, bAllowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
// You MUST call this in response to a HTML_JSAlert_t or HTML_JSConfirm_t callback
|
// You MUST call this in response to a HTML_JSAlert_t or HTML_JSConfirm_t callback
|
||||||
// Set bResult to true for the OK option of a confirm, use false otherwise
|
// Set bResult to true for the OK option of a confirm, use false otherwise
|
||||||
DLL(void) BS_ISteamHTMLSurface_JSDialogResponse(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bResult) {
|
DLL(void) BS_ISteamHTMLSurface_JSDialogResponse(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, bool bResult) {
|
||||||
pSteamHTMLSurface->JSDialogResponse(unBrowserHandle, bResult);
|
pSteamHTMLSurface->JSDialogResponse(unBrowserHandle, bResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
// You MUST call this in response to a HTML_FileOpenDialog_t callback
|
// You MUST call this in response to a HTML_FileOpenDialog_t callback
|
||||||
DLL(void) BS_ISteamHTMLSurface_FileLoadDialogResponse(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles) {
|
DLL(void) BS_ISteamHTMLSurface_FileLoadDialogResponse(ISteamHTMLSurface* pSteamHTMLSurface, HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles) {
|
||||||
pSteamHTMLSurface->FileLoadDialogResponse(unBrowserHandle, pchSelectedFiles);
|
pSteamHTMLSurface->FileLoadDialogResponse(unBrowserHandle, pchSelectedFiles);
|
||||||
}
|
}
|
||||||
+188
-188
@@ -1,189 +1,189 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: interface to http client
|
// Purpose: interface to http client
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamHTTP*) BS_HTTP() {
|
DLL(ISteamHTTP*) BS_HTTP() {
|
||||||
return SteamHTTP();
|
return SteamHTTP();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamHTTP*) BS_GameServerHTTP() {
|
DLL(ISteamHTTP*) BS_GameServerHTTP() {
|
||||||
return SteamGameServerHTTP();
|
return SteamGameServerHTTP();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initializes a new HTTP request, returning a handle to use in further operations on it. Requires
|
// Initializes a new HTTP request, returning a handle to use in further operations on it. Requires
|
||||||
// the method (GET or POST) and the absolute URL for the request. Both http and https are supported,
|
// the method (GET or POST) and the absolute URL for the request. Both http and https are supported,
|
||||||
// so this string must start with http:// or https:// and should look like http://store.steampowered.com/app/250/
|
// so this string must start with http:// or https:// and should look like http://store.steampowered.com/app/250/
|
||||||
// or such.
|
// or such.
|
||||||
DLL(HTTPRequestHandle) BS_ISteamHTTP_CreateHTTPRequest(ISteamHTTP* pThis, EHTTPMethod eHTTPRequestMethod, const char* cAbsoluteUrl) {
|
DLL(HTTPRequestHandle) BS_ISteamHTTP_CreateHTTPRequest(ISteamHTTP* pThis, EHTTPMethod eHTTPRequestMethod, const char* cAbsoluteUrl) {
|
||||||
return pThis->CreateHTTPRequest(eHTTPRequestMethod, cAbsoluteUrl);
|
return pThis->CreateHTTPRequest(eHTTPRequestMethod, cAbsoluteUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after
|
// Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after
|
||||||
// sending the request. This is just so the caller can easily keep track of which callbacks go with which request data.
|
// sending the request. This is just so the caller can easily keep track of which callbacks go with which request data.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestContextValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint64_t* plContextValue) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestContextValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint64_t* plContextValue) {
|
||||||
return pThis->SetHTTPRequestContextValue(hRequest, *plContextValue);
|
return pThis->SetHTTPRequestContextValue(hRequest, *plContextValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a timeout in seconds for the HTTP request, must be called prior to sending the request. Default
|
// Set a timeout in seconds for the HTTP request, must be called prior to sending the request. Default
|
||||||
// timeout is 60 seconds if you don't call this. Returns false if the handle is invalid, or the request
|
// timeout is 60 seconds if you don't call this. Returns false if the handle is invalid, or the request
|
||||||
// has already been sent.
|
// has already been sent.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPNetworkActivityTimeout(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 unTimeoutSeconds) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPNetworkActivityTimeout(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 unTimeoutSeconds) {
|
||||||
return pThis->SetHTTPRequestNetworkActivityTimeout(hRequest, unTimeoutSeconds);
|
return pThis->SetHTTPRequestNetworkActivityTimeout(hRequest, unTimeoutSeconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a request header value for the request, must be called prior to sending the request. Will
|
// Set a request header value for the request, must be called prior to sending the request. Will
|
||||||
// return false if the handle is invalid or the request is already sent.
|
// return false if the handle is invalid or the request is already sent.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestHeaderValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestHeaderValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue) {
|
||||||
return pThis->SetHTTPRequestHeaderValue(hRequest, pchHeaderName, pchHeaderValue);
|
return pThis->SetHTTPRequestHeaderValue(hRequest, pchHeaderName, pchHeaderValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a GET or POST parameter value on the request, which is set will depend on the EHTTPMethod specified
|
// Set a GET or POST parameter value on the request, which is set will depend on the EHTTPMethod specified
|
||||||
// when creating the request. Must be called prior to sending the request. Will return false if the
|
// when creating the request. Must be called prior to sending the request. Will return false if the
|
||||||
// handle is invalid or the request is already sent.
|
// handle is invalid or the request is already sent.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestGetOrPostParameter(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue) {
|
||||||
return pThis->SetHTTPRequestGetOrPostParameter(hRequest, pchParamName, pchParamValue);
|
return pThis->SetHTTPRequestGetOrPostParameter(hRequest, pchParamName, pchParamValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on
|
// Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on
|
||||||
// asynchronous response via callback.
|
// asynchronous response via callback.
|
||||||
//
|
//
|
||||||
// Note: If the user is in offline mode in Steam, then this will add a only-if-cached cache-control
|
// Note: If the user is in offline mode in Steam, then this will add a only-if-cached cache-control
|
||||||
// header and only do a local cache lookup rather than sending any actual remote request.
|
// header and only do a local cache lookup rather than sending any actual remote request.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SendHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle) {
|
DLL(int32_t) BS_ISteamHTTP_SendHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle) {
|
||||||
return pThis->SendHTTPRequest(hRequest, pCallHandle);
|
return pThis->SendHTTPRequest(hRequest, pCallHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on
|
// Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on
|
||||||
// asynchronous response via callback for completion, and listen for HTTPRequestHeadersReceived_t and
|
// asynchronous response via callback for completion, and listen for HTTPRequestHeadersReceived_t and
|
||||||
// HTTPRequestDataReceived_t callbacks while streaming.
|
// HTTPRequestDataReceived_t callbacks while streaming.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SendHTTPRequestAndStreamResponse(ISteamHTTP* pThis, HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle) {
|
DLL(int32_t) BS_ISteamHTTP_SendHTTPRequestAndStreamResponse(ISteamHTTP* pThis, HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle) {
|
||||||
return pThis->SendHTTPRequestAndStreamResponse(hRequest, pCallHandle);
|
return pThis->SendHTTPRequestAndStreamResponse(hRequest, pCallHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Defers a request you have sent, the actual HTTP client code may have many requests queued, and this will move
|
// Defers a request you have sent, the actual HTTP client code may have many requests queued, and this will move
|
||||||
// the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
// the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
||||||
DLL(int32_t) BS_ISteamHTTP_DeferHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
DLL(int32_t) BS_ISteamHTTP_DeferHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
||||||
return pThis->DeferHTTPRequest(hRequest);
|
return pThis->DeferHTTPRequest(hRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prioritizes a request you have sent, the actual HTTP client code may have many requests queued, and this will move
|
// Prioritizes a request you have sent, the actual HTTP client code may have many requests queued, and this will move
|
||||||
// the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
// the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent.
|
||||||
DLL(int32_t) BS_ISteamHTTP_PrioritizeHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
DLL(int32_t) BS_ISteamHTTP_PrioritizeHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
||||||
return pThis->PrioritizeHTTPRequest(hRequest);
|
return pThis->PrioritizeHTTPRequest(hRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checks if a response header is present in a HTTP response given a handle from HTTPRequestCompleted_t, also
|
// Checks if a response header is present in a HTTP response given a handle from HTTPRequestCompleted_t, also
|
||||||
// returns the size of the header value if present so the caller and allocate a correctly sized buffer for
|
// returns the size of the header value if present so the caller and allocate a correctly sized buffer for
|
||||||
// GetHTTPResponseHeaderValue.
|
// GetHTTPResponseHeaderValue.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseHeaderSize(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseHeaderSize(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize) {
|
||||||
return pThis->GetHTTPResponseHeaderSize(hRequest, pchHeaderName, unResponseHeaderSize);
|
return pThis->GetHTTPResponseHeaderSize(hRequest, pchHeaderName, unResponseHeaderSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets header values from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
// Gets header values from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
||||||
// header is not present or if your buffer is too small to contain it's value. You should first call
|
// header is not present or if your buffer is too small to contain it's value. You should first call
|
||||||
// BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed.
|
// BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseHeaderValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseHeaderValue(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize) {
|
||||||
return pThis->GetHTTPResponseHeaderValue(hRequest, pchHeaderName, pHeaderValueBuffer, unBufferSize);
|
return pThis->GetHTTPResponseHeaderValue(hRequest, pchHeaderName, pHeaderValueBuffer, unBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets the size of the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
// Gets the size of the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
||||||
// handle is invalid.
|
// handle is invalid.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseBodySize(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 *unBodySize) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseBodySize(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 *unBodySize) {
|
||||||
return pThis->GetHTTPResponseBodySize(hRequest, unBodySize);
|
return pThis->GetHTTPResponseBodySize(hRequest, unBodySize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
// Gets the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the
|
||||||
// handle is invalid or is to a streaming response, or if the provided buffer is not the correct size. Use BGetHTTPResponseBodySize first to find out
|
// handle is invalid or is to a streaming response, or if the provided buffer is not the correct size. Use BGetHTTPResponseBodySize first to find out
|
||||||
// the correct buffer size to use.
|
// the correct buffer size to use.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseBodyData(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPResponseBodyData(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize) {
|
||||||
return pThis->GetHTTPResponseBodyData(hRequest, pBodyDataBuffer, unBufferSize);
|
return pThis->GetHTTPResponseBodyData(hRequest, pBodyDataBuffer, unBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets the body data from a streaming HTTP response given a handle from HTTPRequestDataReceived_t. Will return false if the
|
// Gets the body data from a streaming HTTP response given a handle from HTTPRequestDataReceived_t. Will return false if the
|
||||||
// handle is invalid or is to a non-streaming response (meaning it wasn't sent with SendHTTPRequestAndStreamResponse), or if the buffer size and offset
|
// handle is invalid or is to a non-streaming response (meaning it wasn't sent with SendHTTPRequestAndStreamResponse), or if the buffer size and offset
|
||||||
// do not match the size and offset sent in HTTPRequestDataReceived_t.
|
// do not match the size and offset sent in HTTPRequestDataReceived_t.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPStreamingResponseBodyData(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPStreamingResponseBodyData(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize) {
|
||||||
return pThis->GetHTTPStreamingResponseBodyData(hRequest, cOffset, pBodyDataBuffer, unBufferSize);
|
return pThis->GetHTTPStreamingResponseBodyData(hRequest, cOffset, pBodyDataBuffer, unBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t
|
// Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t
|
||||||
// callback and finishing using the response.
|
// callback and finishing using the response.
|
||||||
DLL(int32_t) BS_ISteamHTTP_ReleaseHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
DLL(int32_t) BS_ISteamHTTP_ReleaseHTTPRequest(ISteamHTTP* pThis, HTTPRequestHandle hRequest) {
|
||||||
return pThis->ReleaseHTTPRequest(hRequest);
|
return pThis->ReleaseHTTPRequest(hRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets progress on downloading the body for the request. This will be zero unless a response header has already been
|
// 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
|
// 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.
|
// zero for the duration of the request as the size is unknown until the connection closes.
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPDownloadProgressPct(ISteamHTTP* pThis, HTTPRequestHandle hRequest, float *pflPercentOut) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPDownloadProgressPct(ISteamHTTP* pThis, HTTPRequestHandle hRequest, float *pflPercentOut) {
|
||||||
return pThis->GetHTTPDownloadProgressPct(hRequest, pflPercentOut);
|
return pThis->GetHTTPDownloadProgressPct(hRequest, pflPercentOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets the body for an HTTP Post request. Will fail and return false on a GET request, and will fail if POST params
|
// Sets the body for an HTTP Post request. Will fail and return false on a GET request, and will fail if POST params
|
||||||
// have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType
|
// have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType
|
||||||
// parameter will set the content-type header for the request so the server may know how to interpret the body.
|
// parameter will set the content-type header for the request so the server may know how to interpret the body.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestRawPostBody(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestRawPostBody(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen) {
|
||||||
return pThis->SetHTTPRequestRawPostBody(hRequest, pchContentType, pubBody, unBodyLen);
|
return pThis->SetHTTPRequestRawPostBody(hRequest, pchContentType, pubBody, unBodyLen);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a cookie container handle which you must later free with ReleaseCookieContainer(). If bAllowResponsesToModify=true
|
// Creates a cookie container handle which you must later free with ReleaseCookieContainer(). If bAllowResponsesToModify=true
|
||||||
// than any response to your requests using this cookie container may add new cookies which may be transmitted with
|
// than any response to your requests using this cookie container may add new cookies which may be transmitted with
|
||||||
// future requests. If bAllowResponsesToModify=false than only cookies you explicitly set will be sent. This API is just for
|
// future requests. If bAllowResponsesToModify=false than only cookies you explicitly set will be sent. This API is just for
|
||||||
// during process lifetime, after steam restarts no cookies are persisted and you have no way to access the cookie container across
|
// during process lifetime, after steam restarts no cookies are persisted and you have no way to access the cookie container across
|
||||||
// repeat executions of your process.
|
// repeat executions of your process.
|
||||||
DLL(HTTPCookieContainerHandle) BS_ISteamHTTP_CreateCookieContainer(ISteamHTTP* pThis, bool bAllowResponsesToModify) {
|
DLL(HTTPCookieContainerHandle) BS_ISteamHTTP_CreateCookieContainer(ISteamHTTP* pThis, bool bAllowResponsesToModify) {
|
||||||
return pThis->CreateCookieContainer(bAllowResponsesToModify);
|
return pThis->CreateCookieContainer(bAllowResponsesToModify);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Release a cookie container you are finished using, freeing it's memory
|
// Release a cookie container you are finished using, freeing it's memory
|
||||||
DLL(int32_t) BS_ISteamHTTP_ReleaseCookieContainer(ISteamHTTP* pThis, HTTPCookieContainerHandle hCookieContainer) {
|
DLL(int32_t) BS_ISteamHTTP_ReleaseCookieContainer(ISteamHTTP* pThis, HTTPCookieContainerHandle hCookieContainer) {
|
||||||
return pThis->ReleaseCookieContainer(hCookieContainer);
|
return pThis->ReleaseCookieContainer(hCookieContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adds a cookie to the specified cookie container that will be used with future requests.
|
// Adds a cookie to the specified cookie container that will be used with future requests.
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetCookie(ISteamHTTP* pThis, HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie) {
|
DLL(int32_t) BS_ISteamHTTP_SetCookie(ISteamHTTP* pThis, HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie) {
|
||||||
return pThis->SetCookie(hCookieContainer, pchHost, pchUrl, pchCookie);
|
return pThis->SetCookie(hCookieContainer, pchHost, pchUrl, pchCookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the cookie container to use for a HTTP request
|
// Set the cookie container to use for a HTTP request
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestCookieContainer(ISteamHTTP* pThis, HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestCookieContainer(ISteamHTTP* pThis, HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer) {
|
||||||
return pThis->SetHTTPRequestCookieContainer(hRequest, hCookieContainer);
|
return pThis->SetHTTPRequestCookieContainer(hRequest, hCookieContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end
|
// Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestUserAgentInfo(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchUserAgentInfo) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestUserAgentInfo(ISteamHTTP* pThis, HTTPRequestHandle hRequest, const char *pchUserAgentInfo) {
|
||||||
return pThis->SetHTTPRequestUserAgentInfo(hRequest, pchUserAgentInfo);
|
return pThis->SetHTTPRequestUserAgentInfo(hRequest, pchUserAgentInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set that https request should require verified SSL certificate via machines certificate trust store
|
// Set that https request should require verified SSL certificate via machines certificate trust store
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate(ISteamHTTP* pThis, HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate(ISteamHTTP* pThis, HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate) {
|
||||||
return pThis->SetHTTPRequestRequiresVerifiedCertificate(hRequest, bRequireVerifiedCertificate);
|
return pThis->SetHTTPRequestRequiresVerifiedCertificate(hRequest, bRequireVerifiedCertificate);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set an absolute timeout on the HTTP request, this is just a total time timeout different than the network activity timeout
|
// Set an absolute timeout on the HTTP request, this is just a total time timeout different than the network activity timeout
|
||||||
// which can bump everytime we get more data
|
// which can bump everytime we get more data
|
||||||
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 unMilliseconds) {
|
DLL(int32_t) BS_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS(ISteamHTTP* pThis, HTTPRequestHandle hRequest, uint32 unMilliseconds) {
|
||||||
return pThis->SetHTTPRequestAbsoluteTimeoutMS(hRequest, unMilliseconds);
|
return pThis->SetHTTPRequestAbsoluteTimeoutMS(hRequest, unMilliseconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the reason the request failed was because we timed it out (rather than some harder failure)
|
// Check if the reason the request failed was because we timed it out (rather than some harder failure)
|
||||||
DLL(int32_t) BS_ISteamHTTP_GetHTTPRequestWasTimedOut(ISteamHTTP* pThis, HTTPRequestHandle hRequest, bool *pbWasTimedOut) {
|
DLL(int32_t) BS_ISteamHTTP_GetHTTPRequestWasTimedOut(ISteamHTTP* pThis, HTTPRequestHandle hRequest, bool *pbWasTimedOut) {
|
||||||
return pThis->GetHTTPRequestWasTimedOut(hRequest, pbWasTimedOut);
|
return pThis->GetHTTPRequestWasTimedOut(hRequest, pbWasTimedOut);
|
||||||
}
|
}
|
||||||
+295
-295
@@ -1,296 +1,296 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamMatchmaking*) BS_SteamMatchmaking() {
|
DLL(ISteamMatchmaking*) BS_SteamMatchmaking() {
|
||||||
return SteamMatchmaking();
|
return SteamMatchmaking();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// game server favorites storage
|
// game server favorites storage
|
||||||
// saves basic details about a multiplayer game server locally
|
// saves basic details about a multiplayer game server locally
|
||||||
|
|
||||||
// returns the number of favorites servers the user has stored
|
// returns the number of favorites servers the user has stored
|
||||||
DLL(int32_t) BS_ISteamMatchmaking_GetFavoriteGameCount(ISteamMatchmaking* pThis) {
|
DLL(int32_t) BS_ISteamMatchmaking_GetFavoriteGameCount(ISteamMatchmaking* pThis) {
|
||||||
return pThis->GetFavoriteGameCount();
|
return pThis->GetFavoriteGameCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the details of the game server
|
// returns the details of the game server
|
||||||
// iGame is of range [0,GetFavoriteGameCount())
|
// iGame is of range [0,GetFavoriteGameCount())
|
||||||
// *pnIP, *pnConnPort are filled in the with IP:port of the game server
|
// *pnIP, *pnConnPort are filled in the with IP:port of the game server
|
||||||
// *punFlags specify whether the game server was stored as an explicit favorite or in the history of connections
|
// *punFlags specify whether the game server was stored as an explicit favorite or in the history of connections
|
||||||
// *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added
|
// *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added
|
||||||
DLL(int32_t) BS_ISteamMatchmaking_GetFavoriteGame(ISteamMatchmaking* pThis, int32_t iGame,
|
DLL(int32_t) BS_ISteamMatchmaking_GetFavoriteGame(ISteamMatchmaking* pThis, int32_t iGame,
|
||||||
AppId_t *pnAppID, uint32_t *pnIP, uint16_t *pnConnPort, uint16_t *pnQueryPort,
|
AppId_t *pnAppID, uint32_t *pnIP, uint16_t *pnConnPort, uint16_t *pnQueryPort,
|
||||||
uint32_t *punFlags, uint32_t *pRTime32LastPlayedOnServer) {
|
uint32_t *punFlags, uint32_t *pRTime32LastPlayedOnServer) {
|
||||||
return pThis->GetFavoriteGame(iGame, pnAppID, pnIP, pnConnPort, pnQueryPort, punFlags, pRTime32LastPlayedOnServer);
|
return pThis->GetFavoriteGame(iGame, pnAppID, pnIP, pnConnPort, pnQueryPort, punFlags, pRTime32LastPlayedOnServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// adds the game server to the local list; updates the time played of the server if it already exists in the list
|
// adds the game server to the local list; updates the time played of the server if it already exists in the list
|
||||||
DLL(int) BS_ISteamMatchmaking_AddFavoriteGame(ISteamMatchmaking* pThis, AppId_t nAppID, uint32 nIP, uint16 nConnPort,
|
DLL(int) BS_ISteamMatchmaking_AddFavoriteGame(ISteamMatchmaking* pThis, AppId_t nAppID, uint32 nIP, uint16 nConnPort,
|
||||||
uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer) {
|
uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer) {
|
||||||
return pThis->AddFavoriteGame(nAppID, nIP, nConnPort, nQueryPort, unFlags, rTime32LastPlayedOnServer);
|
return pThis->AddFavoriteGame(nAppID, nIP, nConnPort, nQueryPort, unFlags, rTime32LastPlayedOnServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// removes the game server from the local storage; returns true if one was removed
|
// removes the game server from the local storage; returns true if one was removed
|
||||||
DLL(bool) BS_ISteamMatchmaking_RemoveFavoriteGame(ISteamMatchmaking* pThis, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags) {
|
DLL(bool) BS_ISteamMatchmaking_RemoveFavoriteGame(ISteamMatchmaking* pThis, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags) {
|
||||||
return pThis->RemoveFavoriteGame(nAppID, nIP, nConnPort, nQueryPort, unFlags);
|
return pThis->RemoveFavoriteGame(nAppID, nIP, nConnPort, nQueryPort, unFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
///////
|
///////
|
||||||
// Game lobby functions
|
// Game lobby functions
|
||||||
|
|
||||||
// Get a list of relevant lobbies
|
// Get a list of relevant lobbies
|
||||||
// this is an asynchronous request
|
// this is an asynchronous request
|
||||||
// results will be returned by LobbyMatchList_t callback & call result, with the number of lobbies found
|
// results will be returned by LobbyMatchList_t callback & call result, with the number of lobbies found
|
||||||
// this will never return lobbies that are full
|
// this will never return lobbies that are full
|
||||||
// to add more filter, the filter calls below need to be call before each and every RequestLobbyList() call
|
// to add more filter, the filter calls below need to be call before each and every RequestLobbyList() call
|
||||||
// use the CCallResult<> object in steam_api.h to match the SteamAPICall_t call result to a function in an object, e.g.
|
// use the CCallResult<> object in steam_api.h to match the SteamAPICall_t call result to a function in an object, e.g.
|
||||||
/*
|
/*
|
||||||
class CMyLobbyListManager
|
class CMyLobbyListManager
|
||||||
{
|
{
|
||||||
CCallResult<CMyLobbyListManager, LobbyMatchList_t> m_CallResultLobbyMatchList;
|
CCallResult<CMyLobbyListManager, LobbyMatchList_t> m_CallResultLobbyMatchList;
|
||||||
void FindLobbies()
|
void FindLobbies()
|
||||||
{
|
{
|
||||||
// SteamMatchmaking()->AddRequestLobbyListFilter*() functions would be called here, before RequestLobbyList()
|
// SteamMatchmaking()->AddRequestLobbyListFilter*() functions would be called here, before RequestLobbyList()
|
||||||
SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList();
|
SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList();
|
||||||
m_CallResultLobbyMatchList.Set( hSteamAPICall, this, &CMyLobbyListManager::OnLobbyMatchList );
|
m_CallResultLobbyMatchList.Set( hSteamAPICall, this, &CMyLobbyListManager::OnLobbyMatchList );
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnLobbyMatchList( LobbyMatchList_t *pLobbyMatchList, bool bIOFailure )
|
void OnLobbyMatchList( LobbyMatchList_t *pLobbyMatchList, bool bIOFailure )
|
||||||
{
|
{
|
||||||
// lobby list has be retrieved from Steam back-end, use results
|
// lobby list has be retrieved from Steam back-end, use results
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
//
|
//
|
||||||
//CALL_RESULT(LobbyMatchList_t)
|
//CALL_RESULT(LobbyMatchList_t)
|
||||||
DLL(SteamAPICall_t) BS_ISteamMatchmaking_RequestLobbyList(ISteamMatchmaking* pThis) {
|
DLL(SteamAPICall_t) BS_ISteamMatchmaking_RequestLobbyList(ISteamMatchmaking* pThis) {
|
||||||
return pThis->RequestLobbyList();
|
return pThis->RequestLobbyList();
|
||||||
}
|
}
|
||||||
// filters for lobbies
|
// filters for lobbies
|
||||||
// this needs to be called before RequestLobbyList() to take effect
|
// this needs to be called before RequestLobbyList() to take effect
|
||||||
// these are cleared on each call to RequestLobbyList()
|
// these are cleared on each call to RequestLobbyList()
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListStringFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListStringFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType) {
|
||||||
pThis->AddRequestLobbyListStringFilter(pchKeyToMatch, pchValueToMatch, eComparisonType);
|
pThis->AddRequestLobbyListStringFilter(pchKeyToMatch, pchValueToMatch, eComparisonType);
|
||||||
}
|
}
|
||||||
// numerical comparison
|
// numerical comparison
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListNumericalFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListNumericalFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType) {
|
||||||
pThis->AddRequestLobbyListNumericalFilter(pchKeyToMatch, nValueToMatch, eComparisonType);
|
pThis->AddRequestLobbyListNumericalFilter(pchKeyToMatch, nValueToMatch, eComparisonType);
|
||||||
}
|
}
|
||||||
// returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence
|
// returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListNearValueFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, int nValueToBeCloseTo) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListNearValueFilter(ISteamMatchmaking* pThis, const char *pchKeyToMatch, int nValueToBeCloseTo) {
|
||||||
pThis->AddRequestLobbyListNearValueFilter(pchKeyToMatch, nValueToBeCloseTo);
|
pThis->AddRequestLobbyListNearValueFilter(pchKeyToMatch, nValueToBeCloseTo);
|
||||||
}
|
}
|
||||||
// returns only lobbies with the specified number of slots available
|
// returns only lobbies with the specified number of slots available
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable(ISteamMatchmaking* pThis, int nSlotsAvailable) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable(ISteamMatchmaking* pThis, int nSlotsAvailable) {
|
||||||
pThis->AddRequestLobbyListFilterSlotsAvailable(nSlotsAvailable);
|
pThis->AddRequestLobbyListFilterSlotsAvailable(nSlotsAvailable);
|
||||||
}
|
}
|
||||||
// sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed)
|
// sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed)
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListDistanceFilter(ISteamMatchmaking* pThis, ELobbyDistanceFilter eLobbyDistanceFilter) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListDistanceFilter(ISteamMatchmaking* pThis, ELobbyDistanceFilter eLobbyDistanceFilter) {
|
||||||
pThis->AddRequestLobbyListDistanceFilter(eLobbyDistanceFilter);
|
pThis->AddRequestLobbyListDistanceFilter(eLobbyDistanceFilter);
|
||||||
}
|
}
|
||||||
// sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client
|
// sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListResultCountFilter(ISteamMatchmaking* pThis, int cMaxResults) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListResultCountFilter(ISteamMatchmaking* pThis, int cMaxResults) {
|
||||||
pThis->AddRequestLobbyListResultCountFilter(cMaxResults);
|
pThis->AddRequestLobbyListResultCountFilter(cMaxResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(void) BS_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
pThis->AddRequestLobbyListCompatibleMembersFilter(*steamIDLobby);
|
pThis->AddRequestLobbyListCompatibleMembersFilter(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the CSteamID* of a lobby, as retrieved by a RequestLobbyList call
|
// returns the CSteamID* of a lobby, as retrieved by a RequestLobbyList call
|
||||||
// should only be called after a LobbyMatchList_t callback is received
|
// should only be called after a LobbyMatchList_t callback is received
|
||||||
// iLobby is of the range [0, LobbyMatchList_t::m_nLobbiesMatching)
|
// iLobby is of the range [0, LobbyMatchList_t::m_nLobbiesMatching)
|
||||||
// the returned CSteamID*::IsValid() will be false if iLobby is out of range
|
// the returned CSteamID*::IsValid() will be false if iLobby is out of range
|
||||||
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyByIndex(ISteamMatchmaking* pThis, int iLobby) {
|
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyByIndex(ISteamMatchmaking* pThis, int iLobby) {
|
||||||
return &(pThis->GetLobbyByIndex(iLobby));
|
return &(pThis->GetLobbyByIndex(iLobby));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a lobby on the Steam servers.
|
// Create a lobby on the Steam servers.
|
||||||
// If private, then the lobby will not be returned by any RequestLobbyList() call; the CSteamID*
|
// If private, then the lobby will not be returned by any RequestLobbyList() call; the CSteamID*
|
||||||
// of the lobby will need to be communicated via game channels or via InviteUserToLobby()
|
// of the lobby will need to be communicated via game channels or via InviteUserToLobby()
|
||||||
// this is an asynchronous request
|
// this is an asynchronous request
|
||||||
// results will be returned by LobbyCreated_t callback and call result; lobby is joined & ready to use at this point
|
// results will be returned by LobbyCreated_t callback and call result; lobby is joined & ready to use at this point
|
||||||
// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby)
|
// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby)
|
||||||
//CALL_RESULT(LobbyCreated_t)
|
//CALL_RESULT(LobbyCreated_t)
|
||||||
DLL(SteamAPICall_t) BS_ISteamMatchmaking_CreateLobby(ISteamMatchmaking* pThis, ELobbyType eLobbyType, int cMaxMembers) {
|
DLL(SteamAPICall_t) BS_ISteamMatchmaking_CreateLobby(ISteamMatchmaking* pThis, ELobbyType eLobbyType, int cMaxMembers) {
|
||||||
return pThis->CreateLobby(eLobbyType, cMaxMembers);
|
return pThis->CreateLobby(eLobbyType, cMaxMembers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Joins an existing lobby
|
// Joins an existing lobby
|
||||||
// this is an asynchronous request
|
// this is an asynchronous request
|
||||||
// results will be returned by LobbyEnter_t callback & call result, check m_EChatRoomEnterResponse to see if was successful
|
// results will be returned by LobbyEnter_t callback & call result, check m_EChatRoomEnterResponse to see if was successful
|
||||||
// lobby metadata is available to use immediately on this call completing
|
// lobby metadata is available to use immediately on this call completing
|
||||||
//CALL_RESULT(LobbyEnter_t)
|
//CALL_RESULT(LobbyEnter_t)
|
||||||
DLL(SteamAPICall_t) BS_ISteamMatchmaking_JoinLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(SteamAPICall_t) BS_ISteamMatchmaking_JoinLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->JoinLobby(*steamIDLobby);
|
return pThis->JoinLobby(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Leave a lobby; this will take effect immediately on the client side
|
// Leave a lobby; this will take effect immediately on the client side
|
||||||
// other users in the lobby will be notified by a LobbyChatUpdate_t callback
|
// other users in the lobby will be notified by a LobbyChatUpdate_t callback
|
||||||
DLL(void) BS_ISteamMatchmaking_LeaveLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(void) BS_ISteamMatchmaking_LeaveLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->LeaveLobby(*steamIDLobby);
|
return pThis->LeaveLobby(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invite another user to the lobby
|
// Invite another user to the lobby
|
||||||
// the target user will receive a LobbyInvite_t callback
|
// the target user will receive a LobbyInvite_t callback
|
||||||
// will return true if the invite is successfully sent, whether or not the target responds
|
// will return true if the invite is successfully sent, whether or not the target responds
|
||||||
// returns false if the local user is not connected to the Steam servers
|
// returns false if the local user is not connected to the Steam servers
|
||||||
// if the other user clicks the join link, a GameLobbyJoinRequested_t will be posted if the user is in-game,
|
// if the other user clicks the join link, a GameLobbyJoinRequested_t will be posted if the user is in-game,
|
||||||
// or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id>
|
// or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id>
|
||||||
DLL(bool) BS_ISteamMatchmaking_InviteUserToLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDInvitee) {
|
DLL(bool) BS_ISteamMatchmaking_InviteUserToLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDInvitee) {
|
||||||
return pThis->InviteUserToLobby(*steamIDLobby, *steamIDInvitee);
|
return pThis->InviteUserToLobby(*steamIDLobby, *steamIDInvitee);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lobby iteration, for viewing details of users in a lobby
|
// Lobby iteration, for viewing details of users in a lobby
|
||||||
// only accessible if the lobby user is a member of the specified lobby
|
// only accessible if the lobby user is a member of the specified lobby
|
||||||
// persona information for other lobby members (name, avatar, etc.) will be asynchronously received
|
// persona information for other lobby members (name, avatar, etc.) will be asynchronously received
|
||||||
// and accessible via ISteamFriends interface
|
// and accessible via ISteamFriends interface
|
||||||
|
|
||||||
// returns the number of users in the specified lobby
|
// returns the number of users in the specified lobby
|
||||||
DLL(int) BS_ISteamMatchmaking_GetNumLobbyMembers(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(int) BS_ISteamMatchmaking_GetNumLobbyMembers(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->GetNumLobbyMembers(*steamIDLobby);
|
return pThis->GetNumLobbyMembers(*steamIDLobby);
|
||||||
}
|
}
|
||||||
// returns the CSteamID* of a user in the lobby
|
// returns the CSteamID* of a user in the lobby
|
||||||
// iMember is of range [0,GetNumLobbyMembers())
|
// iMember is of range [0,GetNumLobbyMembers())
|
||||||
// note that the current user must be in a lobby to retrieve CSteamID*s of other users in that lobby
|
// note that the current user must be in a lobby to retrieve CSteamID*s of other users in that lobby
|
||||||
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyMemberByIndex(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iMember) {
|
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyMemberByIndex(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iMember) {
|
||||||
return &(pThis->GetLobbyMemberByIndex(*steamIDLobby, iMember));
|
return &(pThis->GetLobbyMemberByIndex(*steamIDLobby, iMember));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get data associated with this lobby
|
// Get data associated with this lobby
|
||||||
// takes a simple key, and returns the string associated with it
|
// takes a simple key, and returns the string associated with it
|
||||||
// "" will be returned if no value is set, or if steamIDLobby is invalid
|
// "" will be returned if no value is set, or if steamIDLobby is invalid
|
||||||
DLL(const char*) BS_ISteamMatchmaking_GetLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey) {
|
DLL(const char*) BS_ISteamMatchmaking_GetLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey) {
|
||||||
return pThis->GetLobbyData(*steamIDLobby, pchKey);
|
return pThis->GetLobbyData(*steamIDLobby, pchKey);
|
||||||
}
|
}
|
||||||
// Sets a key/value pair in the lobby metadata
|
// Sets a key/value pair in the lobby metadata
|
||||||
// each user in the lobby will be broadcast this new value, and any new users joining will receive any existing data
|
// each user in the lobby will be broadcast this new value, and any new users joining will receive any existing data
|
||||||
// this can be used to set lobby names, map, etc.
|
// this can be used to set lobby names, map, etc.
|
||||||
// to reset a key, just set it to ""
|
// to reset a key, just set it to ""
|
||||||
// other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback
|
// other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey, const char *pchValue) {
|
DLL(bool) BS_ISteamMatchmaking_SetLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey, const char *pchValue) {
|
||||||
return pThis->SetLobbyData(*steamIDLobby, pchKey, pchValue);
|
return pThis->SetLobbyData(*steamIDLobby, pchKey, pchValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the number of metadata keys set on the specified lobby
|
// returns the number of metadata keys set on the specified lobby
|
||||||
DLL(int) BS_ISteamMatchmaking_GetLobbyDataCount(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(int) BS_ISteamMatchmaking_GetLobbyDataCount(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->GetLobbyDataCount(*steamIDLobby);
|
return pThis->GetLobbyDataCount(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount())
|
// returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount())
|
||||||
DLL(bool) BS_ISteamMatchmaking_GetLobbyDataByIndex(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize) {
|
DLL(bool) BS_ISteamMatchmaking_GetLobbyDataByIndex(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize) {
|
||||||
return pThis->GetLobbyDataByIndex(*steamIDLobby, iLobbyData, pchKey, cchKeyBufferSize, pchValue, cchValueBufferSize);
|
return pThis->GetLobbyDataByIndex(*steamIDLobby, iLobbyData, pchKey, cchKeyBufferSize, pchValue, cchValueBufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// removes a metadata key from the lobby
|
// removes a metadata key from the lobby
|
||||||
DLL(bool) BS_ISteamMatchmaking_DeleteLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey) {
|
DLL(bool) BS_ISteamMatchmaking_DeleteLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey) {
|
||||||
return pThis->DeleteLobbyData(*steamIDLobby, pchKey);
|
return pThis->DeleteLobbyData(*steamIDLobby, pchKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets per-user metadata for someone in this lobby
|
// Gets per-user metadata for someone in this lobby
|
||||||
DLL(const char*) BS_ISteamMatchmaking_GetLobbyMemberData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDUser, const char *pchKey) {
|
DLL(const char*) BS_ISteamMatchmaking_GetLobbyMemberData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDUser, const char *pchKey) {
|
||||||
return pThis->GetLobbyMemberData(*steamIDLobby, *steamIDUser, pchKey);
|
return pThis->GetLobbyMemberData(*steamIDLobby, *steamIDUser, pchKey);
|
||||||
}
|
}
|
||||||
// Sets per-user metadata (for the local user implicitly)
|
// Sets per-user metadata (for the local user implicitly)
|
||||||
DLL(void) BS_ISteamMatchmaking_SetLobbyMemberData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey, const char *pchValue) {
|
DLL(void) BS_ISteamMatchmaking_SetLobbyMemberData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const char *pchKey, const char *pchValue) {
|
||||||
pThis->SetLobbyMemberData(*steamIDLobby, pchKey, pchValue);
|
pThis->SetLobbyMemberData(*steamIDLobby, pchKey, pchValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Broadcasts a chat message to the all the users in the lobby
|
// Broadcasts a chat message to the all the users in the lobby
|
||||||
// users in the lobby (including the local user) will receive a LobbyChatMsg_t callback
|
// users in the lobby (including the local user) will receive a LobbyChatMsg_t callback
|
||||||
// returns true if the message is successfully sent
|
// returns true if the message is successfully sent
|
||||||
// pvMsgBody can be binary or text data, up to 4k
|
// pvMsgBody can be binary or text data, up to 4k
|
||||||
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
// if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator
|
||||||
DLL(bool) BS_ISteamMatchmaking_SendLobbyChatMsg(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const void *pvMsgBody, int cubMsgBody) {
|
DLL(bool) BS_ISteamMatchmaking_SendLobbyChatMsg(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, const void *pvMsgBody, int cubMsgBody) {
|
||||||
return pThis->SendLobbyChatMsg(*steamIDLobby, pvMsgBody, cubMsgBody);
|
return pThis->SendLobbyChatMsg(*steamIDLobby, pvMsgBody, cubMsgBody);
|
||||||
}
|
}
|
||||||
// Get a chat message as specified in a LobbyChatMsg_t callback
|
// Get a chat message as specified in a LobbyChatMsg_t callback
|
||||||
// iChatID is the LobbyChatMsg_t::m_iChatID value in the callback
|
// iChatID is the LobbyChatMsg_t::m_iChatID value in the callback
|
||||||
// *pSteamIDUser is filled in with the CSteamID* of the member
|
// *pSteamIDUser is filled in with the CSteamID* of the member
|
||||||
// *pvData is filled in with the message itself
|
// *pvData is filled in with the message itself
|
||||||
// return value is the number of bytes written into the buffer
|
// return value is the number of bytes written into the buffer
|
||||||
DLL(int) BS_ISteamMatchmaking_GetLobbyChatEntry(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iChatID, OUT_STRUCT() CSteamID* *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType) {
|
DLL(int) BS_ISteamMatchmaking_GetLobbyChatEntry(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int iChatID, OUT_STRUCT() CSteamID* *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType) {
|
||||||
return pThis->GetLobbyChatEntry(*steamIDLobby, iChatID, *pSteamIDUser, pvData, cubData, peChatEntryType);
|
return pThis->GetLobbyChatEntry(*steamIDLobby, iChatID, *pSteamIDUser, pvData, cubData, peChatEntryType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Refreshes metadata for a lobby you're not necessarily in right now
|
// Refreshes metadata for a lobby you're not necessarily in right now
|
||||||
// you never do this for lobbies you're a member of, only if your
|
// you never do this for lobbies you're a member of, only if your
|
||||||
// this will send down all the metadata associated with a lobby
|
// this will send down all the metadata associated with a lobby
|
||||||
// this is an asynchronous call
|
// this is an asynchronous call
|
||||||
// returns false if the local user is not connected to the Steam servers
|
// returns false if the local user is not connected to the Steam servers
|
||||||
// results will be returned by a LobbyDataUpdate_t callback
|
// results will be returned by a LobbyDataUpdate_t callback
|
||||||
// if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
|
// if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false
|
||||||
DLL(bool) BS_ISteamMatchmaking_RequestLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(bool) BS_ISteamMatchmaking_RequestLobbyData(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->RequestLobbyData(*steamIDLobby);
|
return pThis->RequestLobbyData(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sets the game server associated with the lobby
|
// sets the game server associated with the lobby
|
||||||
// usually at this point, the users will join the specified game server
|
// usually at this point, the users will join the specified game server
|
||||||
// either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect
|
// either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect
|
||||||
DLL(void) BS_ISteamMatchmaking_SetLobbyGameServer(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID* steamIDGameServer) {
|
DLL(void) BS_ISteamMatchmaking_SetLobbyGameServer(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID* steamIDGameServer) {
|
||||||
pThis->SetLobbyGameServer(*steamIDLobby, unGameServerIP, unGameServerPort, *steamIDGameServer);
|
pThis->SetLobbyGameServer(*steamIDLobby, unGameServerIP, unGameServerPort, *steamIDGameServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist
|
// returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist
|
||||||
DLL(bool) BS_ISteamMatchmaking_GetLobbyGameServer(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, OUT_STRUCT() CSteamID* *psteamIDGameServer) {
|
DLL(bool) BS_ISteamMatchmaking_GetLobbyGameServer(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, OUT_STRUCT() CSteamID* *psteamIDGameServer) {
|
||||||
return pThis->GetLobbyGameServer(*steamIDLobby, punGameServerIP, punGameServerPort, *psteamIDGameServer);
|
return pThis->GetLobbyGameServer(*steamIDLobby, punGameServerIP, punGameServerPort, *psteamIDGameServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the limit on the # of users who can join the lobby
|
// set the limit on the # of users who can join the lobby
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLobbyMemberLimit(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int cMaxMembers) {
|
DLL(bool) BS_ISteamMatchmaking_SetLobbyMemberLimit(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, int cMaxMembers) {
|
||||||
return pThis->SetLobbyMemberLimit(*steamIDLobby, cMaxMembers);
|
return pThis->SetLobbyMemberLimit(*steamIDLobby, cMaxMembers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined
|
// returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined
|
||||||
DLL(int) BS_ISteamMatchmaking_GetLobbyMemberLimit(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(int) BS_ISteamMatchmaking_GetLobbyMemberLimit(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return pThis->GetLobbyMemberLimit(*steamIDLobby);
|
return pThis->GetLobbyMemberLimit(*steamIDLobby);
|
||||||
}
|
}
|
||||||
|
|
||||||
// updates which type of lobby it is
|
// updates which type of lobby it is
|
||||||
// only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls
|
// only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLobbyType(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, ELobbyType eLobbyType) {
|
DLL(bool) BS_ISteamMatchmaking_SetLobbyType(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, ELobbyType eLobbyType) {
|
||||||
return pThis->SetLobbyType(*steamIDLobby, eLobbyType);
|
return pThis->SetLobbyType(*steamIDLobby, eLobbyType);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sets whether or not a lobby is joinable - defaults to true for a new lobby
|
// sets whether or not a lobby is joinable - defaults to true for a new lobby
|
||||||
// if set to false, no user can join, even if they are a friend or have been invited
|
// if set to false, no user can join, even if they are a friend or have been invited
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLobbyJoinable(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, bool bLobbyJoinable) {
|
DLL(bool) BS_ISteamMatchmaking_SetLobbyJoinable(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, bool bLobbyJoinable) {
|
||||||
return pThis->SetLobbyJoinable(*steamIDLobby, bLobbyJoinable);
|
return pThis->SetLobbyJoinable(*steamIDLobby, bLobbyJoinable);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the current lobby owner
|
// returns the current lobby owner
|
||||||
// you must be a member of the lobby to access this
|
// you must be a member of the lobby to access this
|
||||||
// there always one lobby owner - if the current owner leaves, another user will become the owner
|
// there always one lobby owner - if the current owner leaves, another user will become the owner
|
||||||
// it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner
|
// it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner
|
||||||
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyOwner(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
DLL(CSteamID*) BS_ISteamMatchmaking_GetLobbyOwner(ISteamMatchmaking* pThis, CSteamID* steamIDLobby) {
|
||||||
return &(pThis->GetLobbyOwner(*steamIDLobby));
|
return &(pThis->GetLobbyOwner(*steamIDLobby));
|
||||||
}
|
}
|
||||||
|
|
||||||
// changes who the lobby owner is
|
// changes who the lobby owner is
|
||||||
// you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby
|
// you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby
|
||||||
// after completion, the local user will no longer be the owner
|
// after completion, the local user will no longer be the owner
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLobbyOwner(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDNewOwner) {
|
DLL(bool) BS_ISteamMatchmaking_SetLobbyOwner(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDNewOwner) {
|
||||||
return pThis->SetLobbyOwner(*steamIDLobby, *steamIDNewOwner);
|
return pThis->SetLobbyOwner(*steamIDLobby, *steamIDNewOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
// link two lobbies for the purposes of checking player compatibility
|
// link two lobbies for the purposes of checking player compatibility
|
||||||
// you must be the lobby owner of both lobbies
|
// you must be the lobby owner of both lobbies
|
||||||
DLL(bool) BS_ISteamMatchmaking_SetLinkedLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDLobbyDependent) {
|
DLL(bool) BS_ISteamMatchmaking_SetLinkedLobby(ISteamMatchmaking* pThis, CSteamID* steamIDLobby, CSteamID* steamIDLobbyDependent) {
|
||||||
return pThis->SetLinkedLobby(*steamIDLobby, *steamIDLobbyDependent);
|
return pThis->SetLinkedLobby(*steamIDLobby, *steamIDLobbyDependent);
|
||||||
}
|
}
|
||||||
@@ -1,23 +1,190 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamMatchmakingServers*) BS_SteamMatchmakingServers() {
|
//-----------------------------------------------------------------------------
|
||||||
return SteamMatchmakingServers();
|
// Purpose: Functions for match making services for clients to get to game lists and details
|
||||||
}
|
//-----------------------------------------------------------------------------
|
||||||
|
DLL(ISteamMatchmakingServers*) BS_SteamMatchmakingServers() {
|
||||||
#pragma message("SteamMatchmakingServers is not ported yet. TODO!")
|
return SteamMatchmakingServers();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Request a new list of servers of a particular type. These calls each correspond to one of the EMatchMakingType values.
|
||||||
|
// Each call allocates a new asynchronous request object.
|
||||||
|
// Request object must be released by calling ReleaseRequest( hServerListRequest )
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestInternetServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestInternetServerList(iApp, ppchFilters, nFilters, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestLANServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestLANServerList(iApp, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestFriendsServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestFriendsServerList(iApp, ppchFilters, nFilters, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestFavoritesServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestFavoritesServerList(iApp, ppchFilters, nFilters, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestHistoryServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestHistoryServerList(iApp, ppchFilters, nFilters, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
DLL(HServerListRequest) BS_ISteamMatchmakingServers_RequestSpectatorServerList(ISteamMatchmakingServers* pThis, AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse) {
|
||||||
|
return pThis->RequestSpectatorServerList(iApp, ppchFilters, nFilters, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Releases the asynchronous request object and cancels any pending query on it if there's a pending query in progress.
|
||||||
|
// RefreshComplete callback is not posted when request is released.
|
||||||
|
DLL(void) BS_ISteamMatchmakingServers_ReleaseRequest(ISteamMatchmakingServers* pThis, HServerListRequest hServerListRequest) {
|
||||||
|
pThis->ReleaseRequest(hServerListRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the filter operation codes that go in the key part of MatchMakingKeyValuePair_t should be one of these:
|
||||||
|
|
||||||
|
"map"
|
||||||
|
- Server passes the filter if the server is playing the specified map.
|
||||||
|
"gamedataand"
|
||||||
|
- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains all of the
|
||||||
|
specified strings. The value field is a comma-delimited list of strings to match.
|
||||||
|
"gamedataor"
|
||||||
|
- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains at least one of the
|
||||||
|
specified strings. The value field is a comma-delimited list of strings to match.
|
||||||
|
"gamedatanor"
|
||||||
|
- Server passes the filter if the server's game data (ISteamGameServer::SetGameData) does not contain any
|
||||||
|
of the specified strings. The value field is a comma-delimited list of strings to check.
|
||||||
|
"gametagsand"
|
||||||
|
- Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) contains all
|
||||||
|
of the specified strings. The value field is a comma-delimited list of strings to check.
|
||||||
|
"gametagsnor"
|
||||||
|
- Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) does not contain any
|
||||||
|
of the specified strings. The value field is a comma-delimited list of strings to check.
|
||||||
|
"and" (x1 && x2 && ... && xn)
|
||||||
|
"or" (x1 || x2 || ... || xn)
|
||||||
|
"nand" !(x1 && x2 && ... && xn)
|
||||||
|
"nor" !(x1 || x2 || ... || xn)
|
||||||
|
- Performs Boolean operation on the following filters. The operand to this filter specifies
|
||||||
|
the "size" of the Boolean inputs to the operation, in Key/value pairs. (The keyvalue
|
||||||
|
pairs must immediately follow, i.e. this is a prefix logical operator notation.)
|
||||||
|
In the simplest case where Boolean expressions are not nested, this is simply
|
||||||
|
the number of operands.
|
||||||
|
|
||||||
|
For example, to match servers on a particular map or with a particular tag, would would
|
||||||
|
use these filters.
|
||||||
|
|
||||||
|
( server.map == "cp_dustbowl" || server.gametags.contains("payload") )
|
||||||
|
"or", "2"
|
||||||
|
"map", "cp_dustbowl"
|
||||||
|
"gametagsand", "payload"
|
||||||
|
|
||||||
|
If logical inputs are nested, then the operand specifies the size of the entire
|
||||||
|
"length" of its operands, not the number of immediate children.
|
||||||
|
|
||||||
|
( server.map == "cp_dustbowl" || ( server.gametags.contains("payload") && !server.gametags.contains("payloadrace") ) )
|
||||||
|
"or", "4"
|
||||||
|
"map", "cp_dustbowl"
|
||||||
|
"and", "2"
|
||||||
|
"gametagsand", "payload"
|
||||||
|
"gametagsnor", "payloadrace"
|
||||||
|
|
||||||
|
Unary NOT can be achieved using either "nand" or "nor" with a single operand.
|
||||||
|
|
||||||
|
"addr"
|
||||||
|
- Server passes the filter if the server's query address matches the specified IP or IP:port.
|
||||||
|
"gameaddr"
|
||||||
|
- Server passes the filter if the server's game address matches the specified IP or IP:port.
|
||||||
|
|
||||||
|
The following filter operations ignore the "value" part of MatchMakingKeyValuePair_t
|
||||||
|
|
||||||
|
"dedicated"
|
||||||
|
- Server passes the filter if it passed true to SetDedicatedServer.
|
||||||
|
"secure"
|
||||||
|
- Server passes the filter if the server is VAC-enabled.
|
||||||
|
"notfull"
|
||||||
|
- Server passes the filter if the player count is less than the reported max player count.
|
||||||
|
"hasplayers"
|
||||||
|
- Server passes the filter if the player count is greater than zero.
|
||||||
|
"noplayers"
|
||||||
|
- Server passes the filter if it doesn't have any players.
|
||||||
|
"linux"
|
||||||
|
- Server passes the filter if it's a linux server
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Get details on a given server in the list, you can get the valid range of index
|
||||||
|
// values by calling GetServerCount(). You will also receive index values in
|
||||||
|
// ISteamMatchmakingServerListResponse::ServerResponded() callbacks
|
||||||
|
DLL(gameserveritem_t*) BS_ISteamMatchmakingServers_GetServerDetails(ISteamMatchmakingServers* pThis, HServerListRequest hRequest, int iServer) {
|
||||||
|
return pThis->GetServerDetails(hRequest, iServer);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cancel an request which is operation on the given list type. You should call this to cancel
|
||||||
|
// any in-progress requests before destructing a callback object that may have been passed
|
||||||
|
// to one of the above list request calls. Not doing so may result in a crash when a callback
|
||||||
|
// occurs on the destructed object.
|
||||||
|
// Canceling a query does not release the allocated request handle.
|
||||||
|
// The request handle must be released using ReleaseRequest( hRequest )
|
||||||
|
DLL(void) BS_ISteamMatchmakingServers_CancelQuery(ISteamMatchmakingServers* pThis, HServerListRequest hRequest) {
|
||||||
|
pThis->CancelQuery(hRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ping every server in your list again but don't update the list of servers
|
||||||
|
// Query callback installed when the server list was requested will be used
|
||||||
|
// again to post notifications and RefreshComplete, so the callback must remain
|
||||||
|
// valid until another RefreshComplete is called on it or the request
|
||||||
|
// is released with ReleaseRequest( hRequest )
|
||||||
|
DLL(void) BS_ISteamMatchmakingServers_RefreshQuery(ISteamMatchmakingServers* pThis, HServerListRequest hRequest) {
|
||||||
|
pThis->RefreshQuery(hRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true if the list is currently refreshing its server list
|
||||||
|
DLL(bool) BS_ISteamMatchmakingServers_IsRefreshing(ISteamMatchmakingServers* pThis, HServerListRequest hRequest) {
|
||||||
|
return pThis->IsRefreshing(hRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
// How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1
|
||||||
|
DLL(int) BS_ISteamMatchmakingServers_GetServerCount(ISteamMatchmakingServers* pThis, HServerListRequest hRequest) {
|
||||||
|
return pThis->GetServerCount(hRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Refresh a single server inside of a query (rather than all the servers )
|
||||||
|
DLL(void) BS_ISteamMatchmakingServers_RefreshServer(ISteamMatchmakingServers* pThis, HServerListRequest hRequest, int iServer) {
|
||||||
|
pThis->RefreshServer(hRequest, iServer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Queries to individual servers directly via IP/Port
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Request updated ping time and other details from a single server
|
||||||
|
DLL(HServerQuery) BS_ISteamMatchmakingServers_PingServer(ISteamMatchmakingServers* pThis, uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse) {
|
||||||
|
return pThis->PingServer(unIP, usPort, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Request the list of players currently playing on a server
|
||||||
|
DLL(HServerQuery) BS_ISteamMatchmakingServers_PlayerDetails(ISteamMatchmakingServers* pThis, uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse) {
|
||||||
|
return pThis->PlayerDetails(unIP, usPort, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side)
|
||||||
|
DLL(HServerQuery) BS_ISteamMatchmakingServers_ServerRules(ISteamMatchmakingServers* pThis, uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse) {
|
||||||
|
return pThis->ServerRules(unIP, usPort, pRequestServersResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel
|
||||||
|
// any in-progress requests before destructing a callback object that may have been passed
|
||||||
|
// to one of the above calls to avoid crashing when callbacks occur.
|
||||||
|
DLL(void) BS_ISteamMatchmakingServers_CancelServerQuery(ISteamMatchmakingServers* pThis, HServerQuery hServerQuery) {
|
||||||
|
pThis->CancelServerQuery(hServerQuery);
|
||||||
|
}
|
||||||
+23
-23
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamMusic*) BS_SteamMusic() {
|
DLL(ISteamMusic*) BS_SteamMusic() {
|
||||||
return SteamMusic();
|
return SteamMusic();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamMusic is not ported yet. TODO!")
|
#pragma message("SteamMusic is not ported yet. TODO!")
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamMusicRemote*) BS_SteamMusicRemote() {
|
DLL(ISteamMusicRemote*) BS_SteamMusicRemote() {
|
||||||
return SteamMusicRemote();
|
return SteamMusicRemote();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamMusicRemote is not ported yet. TODO!")
|
#pragma message("SteamMusicRemote is not ported yet. TODO!")
|
||||||
|
|||||||
+98
-98
@@ -1,98 +1,98 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Functions for making connections and sending data between clients,
|
// Purpose: Functions for making connections and sending data between clients,
|
||||||
// traversing NAT's where possible
|
// traversing NAT's where possible
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamNetworking*) BS_SteamNetworking() {
|
DLL(ISteamNetworking*) BS_SteamNetworking() {
|
||||||
return SteamNetworking();
|
return SteamNetworking();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamNetworking*) BS_SteamGameServerNetworking() {
|
DLL(ISteamNetworking*) BS_SteamGameServerNetworking() {
|
||||||
return SteamGameServerNetworking();
|
return SteamGameServerNetworking();
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Session-less connection functions
|
// Session-less connection functions
|
||||||
// automatically establishes NAT-traversing or Relay server connections
|
// automatically establishes NAT-traversing or Relay server connections
|
||||||
|
|
||||||
// Sends a P2P packet to the specified user
|
// Sends a P2P packet to the specified user
|
||||||
// UDP-like, unreliable and a max packet size of 1200 bytes
|
// UDP-like, unreliable and a max packet size of 1200 bytes
|
||||||
// the first packet send may be delayed as the NAT-traversal code runs
|
// the first packet send may be delayed as the NAT-traversal code runs
|
||||||
// if we can't get through to the user, an error will be posted via the callback P2PSessionConnectFail_t
|
// if we can't get through to the user, an error will be posted via the callback P2PSessionConnectFail_t
|
||||||
// see EP2PSend enum above for the descriptions of the different ways of sending packets
|
// see EP2PSend enum above for the descriptions of the different ways of sending packets
|
||||||
//
|
//
|
||||||
// nChannel is a routing number you can use to help route message to different systems - you'll have to call ReadP2PPacket()
|
// nChannel is a routing number you can use to help route message to different systems - you'll have to call ReadP2PPacket()
|
||||||
// with the same channel number in order to retrieve the data on the other end
|
// with the same channel number in order to retrieve the data on the other end
|
||||||
// using different channels to talk to the same user will still use the same underlying p2p connection, saving on resources
|
// using different channels to talk to the same user will still use the same underlying p2p connection, saving on resources
|
||||||
DLL(uint32_t) BS_ISteamNetworking_SendP2PPacket(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, const void* pubData, uint32_t cubData, EP2PSend eP2PSendType, uint32_t nChannel) {
|
DLL(uint32_t) BS_ISteamNetworking_SendP2PPacket(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, const void* pubData, uint32_t cubData, EP2PSend eP2PSendType, uint32_t nChannel) {
|
||||||
return pThis->SendP2PPacket(*pSteamIDRemote, pubData, cubData, eP2PSendType, nChannel);
|
return pThis->SendP2PPacket(*pSteamIDRemote, pubData, cubData, eP2PSendType, nChannel);
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if any data is available for read, and the amount of data that will need to be read
|
// returns true if any data is available for read, and the amount of data that will need to be read
|
||||||
DLL(uint32_t) BS_ISteamNetworking_IsP2PPacketAvailable(ISteamNetworking* pThis, uint32_t* pcubMsgSize, uint32_t nChannel) {
|
DLL(uint32_t) BS_ISteamNetworking_IsP2PPacketAvailable(ISteamNetworking* pThis, uint32_t* pcubMsgSize, uint32_t nChannel) {
|
||||||
return pThis->IsP2PPacketAvailable(pcubMsgSize, nChannel);
|
return pThis->IsP2PPacketAvailable(pcubMsgSize, nChannel);
|
||||||
}
|
}
|
||||||
|
|
||||||
// reads in a packet that has been sent from another user via SendP2PPacket()
|
// reads in a packet that has been sent from another user via SendP2PPacket()
|
||||||
// returns the size of the message and the steamID of the user who sent it in the last two parameters
|
// returns the size of the message and the steamID of the user who sent it in the last two parameters
|
||||||
// if the buffer passed in is too small, the message will be truncated
|
// if the buffer passed in is too small, the message will be truncated
|
||||||
// this call is not blocking, and will return false if no data is available
|
// this call is not blocking, and will return false if no data is available
|
||||||
DLL(uint32_t) BS_ISteamNetworking_ReadP2PPacket(ISteamNetworking* pThis, void* pubDest, uint32_t cubDest, uint32_t* pcubMsgSize, CSteamID* pSteamIDRemote, uint32_t nChannel) {
|
DLL(uint32_t) BS_ISteamNetworking_ReadP2PPacket(ISteamNetworking* pThis, void** pubDest, uint32_t cubDest, uint32_t* pcubMsgSize, CSteamID* pSteamIDRemote, uint32_t nChannel) {
|
||||||
return pThis->ReadP2PPacket(pubDest, cubDest, pcubMsgSize, pSteamIDRemote, nChannel);
|
return pThis->ReadP2PPacket(*pubDest, cubDest, pcubMsgSize, static_cast<CSteamID*>(pSteamIDRemote), nChannel);
|
||||||
}
|
}
|
||||||
|
|
||||||
// AcceptP2PSessionWithUser() should only be called in response to a P2PSessionRequest_t callback
|
// AcceptP2PSessionWithUser() should only be called in response to a P2PSessionRequest_t callback
|
||||||
// P2PSessionRequest_t will be posted if another user tries to send you a packet that you haven't talked to yet
|
// P2PSessionRequest_t will be posted if another user tries to send you a packet that you haven't talked to yet
|
||||||
// if you don't want to talk to the user, just ignore the request
|
// if you don't want to talk to the user, just ignore the request
|
||||||
// if the user continues to send you packets, another P2PSessionRequest_t will be posted periodically
|
// if the user continues to send you packets, another P2PSessionRequest_t will be posted periodically
|
||||||
// this may be called multiple times for a single user
|
// this may be called multiple times for a single user
|
||||||
// (if you've called SendP2PPacket() on the other user, this implicitly accepts the session request)
|
// (if you've called SendP2PPacket() on the other user, this implicitly accepts the session request)
|
||||||
DLL(uint32_t) BS_ISteamNetworking_AcceptP2PSessionWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote) {
|
DLL(uint32_t) BS_ISteamNetworking_AcceptP2PSessionWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote) {
|
||||||
return pThis->AcceptP2PSessionWithUser(*pSteamIDRemote);
|
return pThis->AcceptP2PSessionWithUser(*pSteamIDRemote);
|
||||||
}
|
}
|
||||||
|
|
||||||
// call CloseP2PSessionWithUser() when you're done talking to a user, will free up resources under-the-hood
|
// call CloseP2PSessionWithUser() when you're done talking to a user, will free up resources under-the-hood
|
||||||
// if the remote user tries to send data to you again, another P2PSessionRequest_t callback will be posted
|
// if the remote user tries to send data to you again, another P2PSessionRequest_t callback will be posted
|
||||||
DLL(uint32_t) BS_ISteamNetworking_CloseP2PSessionWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote) {
|
DLL(uint32_t) BS_ISteamNetworking_CloseP2PSessionWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote) {
|
||||||
return pThis->CloseP2PSessionWithUser(*pSteamIDRemote);
|
return pThis->CloseP2PSessionWithUser(*pSteamIDRemote);
|
||||||
}
|
}
|
||||||
|
|
||||||
// call CloseP2PChannelWithUser() when you're done talking to a user on a specific channel. Once all channels
|
// call CloseP2PChannelWithUser() when you're done talking to a user on a specific channel. Once all channels
|
||||||
// open channels to a user have been closed, the open session to the user will be closed and new data from this
|
// open channels to a user have been closed, the open session to the user will be closed and new data from this
|
||||||
// user will trigger a P2PSessionRequest_t callback
|
// user will trigger a P2PSessionRequest_t callback
|
||||||
DLL(uint32_t) BS_ISteamNetworking_CloseP2PChannelWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, uint32_t nChannel) {
|
DLL(uint32_t) BS_ISteamNetworking_CloseP2PChannelWithUser(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, uint32_t nChannel) {
|
||||||
return pThis->CloseP2PChannelWithUser(*pSteamIDRemote, nChannel);
|
return pThis->CloseP2PChannelWithUser(*pSteamIDRemote, nChannel);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fills out P2PSessionState_t structure with details about the underlying connection to the user
|
// fills out P2PSessionState_t structure with details about the underlying connection to the user
|
||||||
// should only needed for debugging purposes
|
// should only needed for debugging purposes
|
||||||
// returns false if no connection exists to the specified user
|
// returns false if no connection exists to the specified user
|
||||||
DLL(uint32_t) BS_ISteamNetworking_GetP2PSessionState(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, P2PSessionState_t* pConnectionState) {
|
DLL(uint32_t) BS_ISteamNetworking_GetP2PSessionState(ISteamNetworking* pThis, CSteamID* pSteamIDRemote, P2PSessionState_t* pConnectionState) {
|
||||||
return pThis->GetP2PSessionState(*pSteamIDRemote, pConnectionState);
|
return pThis->GetP2PSessionState(*pSteamIDRemote, pConnectionState);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow P2P connections to fall back to being relayed through the Steam servers if a direct connection
|
// Allow P2P connections to fall back to being relayed through the Steam servers if a direct connection
|
||||||
// or NAT-traversal cannot be established. Only applies to connections created after setting this value,
|
// or NAT-traversal cannot be established. Only applies to connections created after setting this value,
|
||||||
// or to existing connections that need to automatically reconnect after this value is set.
|
// or to existing connections that need to automatically reconnect after this value is set.
|
||||||
//
|
//
|
||||||
// P2P packet relay is allowed by default
|
// P2P packet relay is allowed by default
|
||||||
DLL(uint32_t) BS_ISteamNetworking_AllowP2PPacketRelay(ISteamNetworking* pThis, uint32_t bAllow) {
|
DLL(uint32_t) BS_ISteamNetworking_AllowP2PPacketRelay(ISteamNetworking* pThis, uint32_t bAllow) {
|
||||||
return pThis->AllowP2PPacketRelay(!!bAllow);
|
return pThis->AllowP2PPacketRelay(!!bAllow);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamRemoteStorage*) BS_SteamRemoteStorage() {
|
DLL(ISteamRemoteStorage*) BS_SteamRemoteStorage() {
|
||||||
return SteamRemoteStorage();
|
return SteamRemoteStorage();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamRemoteStorage is not ported yet. TODO!")
|
#pragma message("SteamRemoteStorage is not ported yet. TODO!")
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamScreenshots*) BS_SteamScreenshots() {
|
DLL(ISteamScreenshots*) BS_SteamScreenshots() {
|
||||||
return SteamScreenshots();
|
return SteamScreenshots();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamScreenshots is not ported yet. TODO!")
|
#pragma message("SteamScreenshots is not ported yet. TODO!")
|
||||||
|
|||||||
+28
-28
@@ -1,28 +1,28 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamUGC*) BS_SteamUGC() {
|
DLL(ISteamUGC*) BS_SteamUGC() {
|
||||||
return SteamUGC();
|
return SteamUGC();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUGC*) BS_SteamGameServerUGC() {
|
DLL(ISteamUGC*) BS_SteamGameServerUGC() {
|
||||||
return SteamGameServerUGC();
|
return SteamGameServerUGC();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamUGC is not ported yet. TODO!")
|
#pragma message("SteamUGC is not ported yet. TODO!")
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamUnifiedMessages*) BS_SteamUnifiedMessages() {
|
DLL(ISteamUnifiedMessages*) BS_SteamUnifiedMessages() {
|
||||||
return SteamUnifiedMessages();
|
return SteamUnifiedMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamUnifiedMessages is not ported yet. TODO!")
|
#pragma message("SteamUnifiedMessages is not ported yet. TODO!")
|
||||||
|
|||||||
+214
-214
@@ -1,214 +1,214 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Functions for accessing and manipulating a steam account
|
// Purpose: Functions for accessing and manipulating a steam account
|
||||||
// associated with one client instance
|
// associated with one client instance
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamUser*) BS_SteamUser() {
|
DLL(ISteamUser*) BS_SteamUser() {
|
||||||
return SteamUser();
|
return SteamUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the HSteamUser this interface represents
|
// returns the HSteamUser this interface represents
|
||||||
// this is only used internally by the API, and by a few select interfaces that support multi-user
|
// this is only used internally by the API, and by a few select interfaces that support multi-user
|
||||||
DLL(HSteamUser) BS_ISteamUser_GetHSteamUser( ISteamUser* lpSteamUser ) {
|
DLL(HSteamUser) BS_ISteamUser_GetHSteamUser( ISteamUser* lpSteamUser ) {
|
||||||
return lpSteamUser->GetHSteamUser( );
|
return lpSteamUser->GetHSteamUser( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if the Steam client current has a live connection to the Steam servers.
|
// returns true if the Steam client current has a live connection to the Steam servers.
|
||||||
// If false, it means there is no active connection due to either a networking issue on the local machine, or the Steam server is down/busy.
|
// If false, it means there is no active connection due to either a networking issue on the local machine, or the Steam server is down/busy.
|
||||||
// The Steam client will automatically be trying to recreate the connection as often as possible.
|
// The Steam client will automatically be trying to recreate the connection as often as possible.
|
||||||
DLL(uint32_t) BS_ISteamUser_IsLoggedOn( ISteamUser* lpSteamUser ) {
|
DLL(uint32_t) BS_ISteamUser_IsLoggedOn( ISteamUser* lpSteamUser ) {
|
||||||
return lpSteamUser->BLoggedOn( );
|
return lpSteamUser->BLoggedOn( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the CSteamID of the account currently logged into the Steam client
|
// returns the CSteamID of the account currently logged into the Steam client
|
||||||
// a CSteamID is a unique identifier for an account, and used to differentiate users in all parts of the Steamworks API
|
// a CSteamID is a unique identifier for an account, and used to differentiate users in all parts of the Steamworks API
|
||||||
DLL(CSteamID*) BS_ISteamUser_GetSteamID( ISteamUser* lpSteamUser ) {
|
DLL(CSteamID*) BS_ISteamUser_GetSteamID( ISteamUser* lpSteamUser ) {
|
||||||
return &(lpSteamUser->GetSteamID( ));
|
return &(lpSteamUser->GetSteamID( ));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Multiplayer Authentication functions
|
// Multiplayer Authentication functions
|
||||||
|
|
||||||
// InitiateGameConnection() starts the state machine for authenticating the game client with the game server
|
// InitiateGameConnection() starts the state machine for authenticating the game client with the game server
|
||||||
// It is the client portion of a three-way handshake between the client, the game server, and the steam servers
|
// It is the client portion of a three-way handshake between the client, the game server, and the steam servers
|
||||||
//
|
//
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// void *pAuthBlob - a pointer to empty memory that will be filled in with the authentication token.
|
// void *pAuthBlob - a pointer to empty memory that will be filled in with the authentication token.
|
||||||
// int cbMaxAuthBlob - the number of bytes of allocated memory in pBlob. Should be at least 2048 bytes.
|
// int cbMaxAuthBlob - the number of bytes of allocated memory in pBlob. Should be at least 2048 bytes.
|
||||||
// CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client
|
// CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client
|
||||||
// CGameID gameID - the ID of the current game. For games without mods, this is just CGameID( <appID> )
|
// CGameID gameID - the ID of the current game. For games without mods, this is just CGameID( <appID> )
|
||||||
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
||||||
// bool bSecure - whether or not the client thinks that the game server is reporting itself as secure (i.e. VAC is running)
|
// bool bSecure - whether or not the client thinks that the game server is reporting itself as secure (i.e. VAC is running)
|
||||||
//
|
//
|
||||||
// return value - returns the number of bytes written to pBlob. If the return is 0, then the buffer passed in was too small, and the call has failed
|
// return value - returns the number of bytes written to pBlob. If the return is 0, then the buffer passed in was too small, and the call has failed
|
||||||
// The contents of pBlob should then be sent to the game server, for it to use to complete the authentication process.
|
// The contents of pBlob should then be sent to the game server, for it to use to complete the authentication process.
|
||||||
DLL(uint32_t) BS_ISteamUser_InitiateGameConnection( ISteamUser* lpSteamUser, void* pAuthBlob, uint32_t cbMaxAuthBlob, CSteamID* SteamIDGameServer, uint32_t unIPServer, uint16_t usPortServer, uint32_t bSecure ) {
|
DLL(uint32_t) BS_ISteamUser_InitiateGameConnection( ISteamUser* lpSteamUser, void* pAuthBlob, uint32_t cbMaxAuthBlob, CSteamID* SteamIDGameServer, uint32_t unIPServer, uint16_t usPortServer, uint32_t bSecure ) {
|
||||||
return lpSteamUser->InitiateGameConnection( pAuthBlob, cbMaxAuthBlob, *SteamIDGameServer, unIPServer, usPortServer, bSecure != 0 );
|
return lpSteamUser->InitiateGameConnection( pAuthBlob, cbMaxAuthBlob, *SteamIDGameServer, unIPServer, usPortServer, bSecure != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// notify of disconnect
|
// notify of disconnect
|
||||||
// needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call
|
// needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call
|
||||||
DLL(void) BS_ISteamUser_TerminateGameConnection( ISteamUser* lpSteamUser, uint32_t unIPServer, uint16_t usPortServer ) {
|
DLL(void) BS_ISteamUser_TerminateGameConnection( ISteamUser* lpSteamUser, uint32_t unIPServer, uint16_t usPortServer ) {
|
||||||
lpSteamUser->TerminateGameConnection( unIPServer, usPortServer );
|
lpSteamUser->TerminateGameConnection( unIPServer, usPortServer );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Legacy functions
|
// Legacy functions
|
||||||
|
|
||||||
// used by only a few games to track usage events
|
// used by only a few games to track usage events
|
||||||
DLL(void) BS_ISteamUser_TrackAppUsageEvent( ISteamUser* lpSteamUser, CGameID* gameId, uint32_t eAppUsageEvent, const char* pchExtraInfo ) {
|
DLL(void) BS_ISteamUser_TrackAppUsageEvent( ISteamUser* lpSteamUser, CGameID* gameId, uint32_t eAppUsageEvent, const char* pchExtraInfo ) {
|
||||||
lpSteamUser->TrackAppUsageEvent( *gameId, eAppUsageEvent, pchExtraInfo );
|
lpSteamUser->TrackAppUsageEvent( *gameId, eAppUsageEvent, pchExtraInfo );
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the local storage folder for current Steam account to write application data, e.g. save games, configs etc.
|
// get the local storage folder for current Steam account to write application data, e.g. save games, configs etc.
|
||||||
// this will usually be something like "C:\Progam Files\Steam\userdata\<SteamID>\<AppID>\local"
|
// this will usually be something like "C:\Progam Files\Steam\userdata\<SteamID>\<AppID>\local"
|
||||||
DLL(uint32_t) BS_ISteamUser_GetUserDataFolder( ISteamUser* lpSteamUser, char* pchBuffer, uint32_t cubBuffer ) {
|
DLL(uint32_t) BS_ISteamUser_GetUserDataFolder( ISteamUser* lpSteamUser, char* pchBuffer, uint32_t cubBuffer ) {
|
||||||
return lpSteamUser->GetUserDataFolder( pchBuffer, cubBuffer );
|
return lpSteamUser->GetUserDataFolder( pchBuffer, cubBuffer );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Starts voice recording. Once started, use GetVoice() to get the data
|
// Starts voice recording. Once started, use GetVoice() to get the data
|
||||||
DLL(void) BS_ISteamUser_StartVoiceRecording( ISteamUser* lpSteamUser ) {
|
DLL(void) BS_ISteamUser_StartVoiceRecording( ISteamUser* lpSteamUser ) {
|
||||||
lpSteamUser->StartVoiceRecording( );
|
lpSteamUser->StartVoiceRecording( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stops voice recording. Because people often release push-to-talk keys early, the system will keep recording for
|
// Stops voice recording. Because people often release push-to-talk keys early, the system will keep recording for
|
||||||
// a little bit after this function is called. GetVoice() should continue to be called until it returns
|
// a little bit after this function is called. GetVoice() should continue to be called until it returns
|
||||||
// k_eVoiceResultNotRecording
|
// k_eVoiceResultNotRecording
|
||||||
DLL(void) BS_ISteamUser_StopVoiceRecording( ISteamUser* lpSteamUser ) {
|
DLL(void) BS_ISteamUser_StopVoiceRecording( ISteamUser* lpSteamUser ) {
|
||||||
lpSteamUser->StopVoiceRecording( );
|
lpSteamUser->StopVoiceRecording( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine the amount of captured audio data that is available in bytes.
|
// Determine the amount of captured audio data that is available in bytes.
|
||||||
// This provides both the compressed and uncompressed data. Please note that the uncompressed
|
// This provides both the compressed and uncompressed data. Please note that the uncompressed
|
||||||
// data is not the raw feed from the microphone: data may only be available if audible
|
// data is not the raw feed from the microphone: data may only be available if audible
|
||||||
// levels of speech are detected.
|
// levels of speech are detected.
|
||||||
// nUncompressedVoiceDesiredSampleRate is necessary to know the number of bytes to return in pcbUncompressed - can be set to 0 if you don't need uncompressed (the usual case)
|
// nUncompressedVoiceDesiredSampleRate is necessary to know the number of bytes to return in pcbUncompressed - can be set to 0 if you don't need uncompressed (the usual case)
|
||||||
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nUncompressedVoiceDesiredSampleRate
|
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nUncompressedVoiceDesiredSampleRate
|
||||||
DLL(EVoiceResult) BS_ISteamUser_GetAvailableVoice( ISteamUser* lpSteamUser, uint32_t* pcbCompressed, uint32_t* pcbUncompressed, uint32_t nUncompressedVoiceDesiredSampleRate ) {
|
DLL(EVoiceResult) BS_ISteamUser_GetAvailableVoice( ISteamUser* lpSteamUser, uint32_t* pcbCompressed, uint32_t* pcbUncompressed, uint32_t nUncompressedVoiceDesiredSampleRate ) {
|
||||||
return lpSteamUser->GetAvailableVoice( pcbCompressed, pcbUncompressed, nUncompressedVoiceDesiredSampleRate );
|
return lpSteamUser->GetAvailableVoice( pcbCompressed, pcbUncompressed, nUncompressedVoiceDesiredSampleRate );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets the latest voice data from the microphone. Compressed data is an arbitrary format, and is meant to be handed back to
|
// Gets the latest voice data from the microphone. Compressed data is an arbitrary format, and is meant to be handed back to
|
||||||
// DecompressVoice() for playback later as a binary blob. Uncompressed data is 16-bit, signed integer, 11025Hz PCM format.
|
// DecompressVoice() for playback later as a binary blob. Uncompressed data is 16-bit, signed integer, 11025Hz PCM format.
|
||||||
// Please note that the uncompressed data is not the raw feed from the microphone: data may only be available if audible
|
// Please note that the uncompressed data is not the raw feed from the microphone: data may only be available if audible
|
||||||
// levels of speech are detected, and may have passed through denoising filters, etc.
|
// levels of speech are detected, and may have passed through denoising filters, etc.
|
||||||
// This function should be called as often as possible once recording has started; once per frame at least.
|
// This function should be called as often as possible once recording has started; once per frame at least.
|
||||||
// nBytesWritten is set to the number of bytes written to pDestBuffer.
|
// nBytesWritten is set to the number of bytes written to pDestBuffer.
|
||||||
// nUncompressedBytesWritten is set to the number of bytes written to pUncompressedDestBuffer.
|
// nUncompressedBytesWritten is set to the number of bytes written to pUncompressedDestBuffer.
|
||||||
// You must grab both compressed and uncompressed here at the same time, if you want both.
|
// You must grab both compressed and uncompressed here at the same time, if you want both.
|
||||||
// Matching data that is not read during this call will be thrown away.
|
// Matching data that is not read during this call will be thrown away.
|
||||||
// GetAvailableVoice() can be used to determine how much data is actually available.
|
// GetAvailableVoice() can be used to determine how much data is actually available.
|
||||||
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nUncompressedVoiceDesiredSampleRate
|
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nUncompressedVoiceDesiredSampleRate
|
||||||
DLL(EVoiceResult) BS_ISteamUser_GetVoice( ISteamUser* lpSteamUser, uint32_t bWantCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t bWantUncompressed, void *pUncompressedDestBuffer, uint32_t cbUncompressedDestBufferSize, uint32_t *nUncompressBytesWritten, uint32_t nUncompressedVoiceDesiredSampleRate ) {
|
DLL(EVoiceResult) BS_ISteamUser_GetVoice( ISteamUser* lpSteamUser, uint32_t bWantCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t bWantUncompressed, void *pUncompressedDestBuffer, uint32_t cbUncompressedDestBufferSize, uint32_t *nUncompressBytesWritten, uint32_t nUncompressedVoiceDesiredSampleRate ) {
|
||||||
return lpSteamUser->GetVoice( bWantCompressed != 0, pDestBuffer, cbDestBufferSize, nBytesWritten, bWantUncompressed != 0, pUncompressedDestBuffer, cbUncompressedDestBufferSize, nUncompressBytesWritten, nUncompressedVoiceDesiredSampleRate );
|
return lpSteamUser->GetVoice( bWantCompressed != 0, pDestBuffer, cbDestBufferSize, nBytesWritten, bWantUncompressed != 0, pUncompressedDestBuffer, cbUncompressedDestBufferSize, nUncompressBytesWritten, nUncompressedVoiceDesiredSampleRate );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decompresses a chunk of compressed data produced by GetVoice().
|
// Decompresses a chunk of compressed data produced by GetVoice().
|
||||||
// nBytesWritten is set to the number of bytes written to pDestBuffer unless the return value is k_EVoiceResultBufferTooSmall.
|
// nBytesWritten is set to the number of bytes written to pDestBuffer unless the return value is k_EVoiceResultBufferTooSmall.
|
||||||
// In that case, nBytesWritten is set to the size of the buffer required to decompress the given
|
// In that case, nBytesWritten is set to the size of the buffer required to decompress the given
|
||||||
// data. The suggested buffer size for the destination buffer is 22 kilobytes.
|
// data. The suggested buffer size for the destination buffer is 22 kilobytes.
|
||||||
// The output format of the data is 16-bit signed at the requested samples per second.
|
// The output format of the data is 16-bit signed at the requested samples per second.
|
||||||
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nDesiredSampleRate
|
// If you're upgrading from an older Steamworks API, you'll want to pass in 11025 to nDesiredSampleRate
|
||||||
DLL(EVoiceResult) BS_ISteamUser_DecompressVoice( ISteamUser* lpSteamUser, const void *pCompressed, uint32_t cbCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t nDesiredSampleRate ) {
|
DLL(EVoiceResult) BS_ISteamUser_DecompressVoice( ISteamUser* lpSteamUser, const void *pCompressed, uint32_t cbCompressed, void *pDestBuffer, uint32_t cbDestBufferSize, uint32_t *nBytesWritten, uint32_t nDesiredSampleRate ) {
|
||||||
return lpSteamUser->DecompressVoice( pCompressed, cbCompressed, pDestBuffer, cbDestBufferSize, nBytesWritten, nDesiredSampleRate );
|
return lpSteamUser->DecompressVoice( pCompressed, cbCompressed, pDestBuffer, cbDestBufferSize, nBytesWritten, nDesiredSampleRate );
|
||||||
}
|
}
|
||||||
|
|
||||||
// This returns the frequency of the voice data as it's stored internally; calling DecompressVoice() with this size will yield the best results
|
// This returns the frequency of the voice data as it's stored internally; calling DecompressVoice() with this size will yield the best results
|
||||||
DLL(uint32_t) BS_ISteamUser_GetVoiceOptimalSampleRate( ISteamUser* lpSteamUser ) {
|
DLL(uint32_t) BS_ISteamUser_GetVoiceOptimalSampleRate( ISteamUser* lpSteamUser ) {
|
||||||
return lpSteamUser->GetVoiceOptimalSampleRate( );
|
return lpSteamUser->GetVoiceOptimalSampleRate( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve ticket to be sent to the entity who wishes to authenticate you.
|
// Retrieve ticket to be sent to the entity who wishes to authenticate you.
|
||||||
// pcbTicket retrieves the length of the actual ticket.
|
// pcbTicket retrieves the length of the actual ticket.
|
||||||
DLL(HAuthTicket) BS_ISteamUser_GetAuthSessionTicket( ISteamUser* lpSteamUser, void* pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) {
|
DLL(HAuthTicket) BS_ISteamUser_GetAuthSessionTicket( ISteamUser* lpSteamUser, void* pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) {
|
||||||
return lpSteamUser->GetAuthSessionTicket( pTicket, cbMaxTicket, pcbTicket );
|
return lpSteamUser->GetAuthSessionTicket( pTicket, cbMaxTicket, pcbTicket );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Authenticate ticket from entity steamID to be sure it is valid and isnt reused
|
// Authenticate ticket from entity steamID to be sure it is valid and isnt reused
|
||||||
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
|
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
|
||||||
DLL(EBeginAuthSessionResult) BS_ISteamUser_BeginAuthSession( ISteamUser* lpSteamUser, const void *pAuthTicket, uint32_t cbAuthTicket, CSteamID* steamID ) {
|
DLL(EBeginAuthSessionResult) BS_ISteamUser_BeginAuthSession( ISteamUser* lpSteamUser, const void* pAuthTicket, uint32_t cbAuthTicket, CSteamID* steamID ) {
|
||||||
return lpSteamUser->BeginAuthSession( pAuthTicket, cbAuthTicket, *steamID );
|
return lpSteamUser->BeginAuthSession( pAuthTicket, cbAuthTicket, *steamID );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop tracking started by BeginAuthSession - called when no longer playing game with this entity
|
// Stop tracking started by BeginAuthSession - called when no longer playing game with this entity
|
||||||
DLL(void) BS_ISteamUser_EndAuthSession( ISteamUser* lpSteamUser, CSteamID* steamID ) {
|
DLL(void) BS_ISteamUser_EndAuthSession( ISteamUser* lpSteamUser, CSteamID* steamID ) {
|
||||||
lpSteamUser->EndAuthSession( *steamID );
|
lpSteamUser->EndAuthSession( *steamID );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to
|
// Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to
|
||||||
DLL(void) BS_ISteamUser_CancelAuthTicket( ISteamUser* lpSteamUser, HAuthTicket hAuthTicket ) {
|
DLL(void) BS_ISteamUser_CancelAuthTicket( ISteamUser* lpSteamUser, HAuthTicket hAuthTicket ) {
|
||||||
lpSteamUser->CancelAuthTicket( hAuthTicket );
|
lpSteamUser->CancelAuthTicket( hAuthTicket );
|
||||||
}
|
}
|
||||||
|
|
||||||
// After receiving a user's authentication data, and passing it to BeginAuthSession, use this function
|
// After receiving a user's authentication data, and passing it to BeginAuthSession, use this function
|
||||||
// to determine if the user owns downloadable content specified by the provided AppID.
|
// to determine if the user owns downloadable content specified by the provided AppID.
|
||||||
DLL(EUserHasLicenseForAppResult) BS_ISteamUser_UserHasLicenseForApp( ISteamUser* lpSteamUser, CSteamID* steamID, AppId_t appID ) {
|
DLL(EUserHasLicenseForAppResult) BS_ISteamUser_UserHasLicenseForApp( ISteamUser* lpSteamUser, CSteamID* steamID, AppId_t appID ) {
|
||||||
return lpSteamUser->UserHasLicenseForApp( *steamID, appID );
|
return lpSteamUser->UserHasLicenseForApp( *steamID, appID );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns true if this users looks like they are behind a NAT device. Only valid once the user has connected to steam
|
// returns true if this users looks like they are behind a NAT device. Only valid once the user has connected to steam
|
||||||
// (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT.
|
// (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT.
|
||||||
DLL(uint32_t) BS_ISteamUser_IsBehindNAT( ISteamUser* lpSteamUser ) {
|
DLL(uint32_t) BS_ISteamUser_IsBehindNAT( ISteamUser* lpSteamUser ) {
|
||||||
return lpSteamUser->BIsBehindNAT( );
|
return lpSteamUser->BIsBehindNAT( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// set data to be replicated to friends so that they can join your game
|
// set data to be replicated to friends so that they can join your game
|
||||||
// CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client
|
// CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client
|
||||||
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
// uint32 unIPServer, uint16 usPortServer - the IP address of the game server
|
||||||
DLL(void) BS_ISteamUser_AdvertiseGame( ISteamUser* lpSteamUser, CSteamID* steamIDGameServer, uint32_t unIPServer, uint16_t usPortServer ) {
|
DLL(void) BS_ISteamUser_AdvertiseGame( ISteamUser* lpSteamUser, CSteamID* steamIDGameServer, uint32_t unIPServer, uint16_t usPortServer ) {
|
||||||
lpSteamUser->AdvertiseGame( *steamIDGameServer, unIPServer, usPortServer );
|
lpSteamUser->AdvertiseGame( *steamIDGameServer, unIPServer, usPortServer );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requests a ticket encrypted with an app specific shared key
|
// Requests a ticket encrypted with an app specific shared key
|
||||||
// pDataToInclude, cbDataToInclude will be encrypted into the ticket
|
// pDataToInclude, cbDataToInclude will be encrypted into the ticket
|
||||||
// ( This is asynchronous, you must wait for the ticket to be completed by the server )
|
// ( This is asynchronous, you must wait for the ticket to be completed by the server )
|
||||||
//CALL_RESULT( EncryptedAppTicketResponse_t )
|
//CALL_RESULT( EncryptedAppTicketResponse_t )
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUser_RequestEncryptedAppTicket( ISteamUser* lpSteamUser, void* pDataToInclude, uint32_t cbDataToInclude ) {
|
DLL(SteamAPICall_t*) BS_ISteamUser_RequestEncryptedAppTicket( ISteamUser* lpSteamUser, void* pDataToInclude, uint32_t cbDataToInclude ) {
|
||||||
return new uint64_t(lpSteamUser->RequestEncryptedAppTicket( pDataToInclude, cbDataToInclude ));
|
return new uint64_t(lpSteamUser->RequestEncryptedAppTicket( pDataToInclude, cbDataToInclude ));
|
||||||
}
|
}
|
||||||
|
|
||||||
// retrieve a finished ticket
|
// retrieve a finished ticket
|
||||||
DLL(uint32_t) BS_ISteamUser_GetEncryptedAppTicket( ISteamUser* lpSteamUser, void *pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) {
|
DLL(uint32_t) BS_ISteamUser_GetEncryptedAppTicket( ISteamUser* lpSteamUser, void *pTicket, uint32_t cbMaxTicket, uint32_t* pcbTicket ) {
|
||||||
return lpSteamUser->GetEncryptedAppTicket( pTicket, cbMaxTicket, pcbTicket );
|
return lpSteamUser->GetEncryptedAppTicket( pTicket, cbMaxTicket, pcbTicket );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trading Card badges data access
|
// Trading Card badges data access
|
||||||
// if you only have one set of cards, the series will be 1
|
// if you only have one set of cards, the series will be 1
|
||||||
// the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1)
|
// the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1)
|
||||||
DLL(uint32_t) BS_ISteamUser_GetGameBadgeLevel( ISteamUser* lpSteamUser, uint32_t nSeries, uint32_t bFoil ) {
|
DLL(uint32_t) BS_ISteamUser_GetGameBadgeLevel( ISteamUser* lpSteamUser, uint32_t nSeries, uint32_t bFoil ) {
|
||||||
return lpSteamUser->GetGameBadgeLevel( nSeries, bFoil != 0 );
|
return lpSteamUser->GetGameBadgeLevel( nSeries, bFoil != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the Steam Level of the user, as shown on their profile
|
// gets the Steam Level of the user, as shown on their profile
|
||||||
DLL(uint32_t) BS_ISteamUser_GetPlayerSteamLevel( ISteamUser* lpSteamUser ) {
|
DLL(uint32_t) BS_ISteamUser_GetPlayerSteamLevel( ISteamUser* lpSteamUser ) {
|
||||||
return lpSteamUser->GetPlayerSteamLevel( );
|
return lpSteamUser->GetPlayerSteamLevel( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requests a URL which authenticates an in-game browser for store check-out,
|
// Requests a URL which authenticates an in-game browser for store check-out,
|
||||||
// and then redirects to the specified URL. As long as the in-game browser
|
// and then redirects to the specified URL. As long as the in-game browser
|
||||||
// accepts and handles session cookies, Steam microtransaction checkout pages
|
// accepts and handles session cookies, Steam microtransaction checkout pages
|
||||||
// will automatically recognize the user instead of presenting a login page.
|
// will automatically recognize the user instead of presenting a login page.
|
||||||
// The result of this API call will be a StoreAuthURLResponse_t callback.
|
// The result of this API call will be a StoreAuthURLResponse_t callback.
|
||||||
// NOTE: The URL has a very short lifetime to prevent history-snooping attacks,
|
// NOTE: The URL has a very short lifetime to prevent history-snooping attacks,
|
||||||
// so you should only call this API when you are about to launch the browser,
|
// so you should only call this API when you are about to launch the browser,
|
||||||
// or else immediately navigate to the result URL using a hidden browser window.
|
// or else immediately navigate to the result URL using a hidden browser window.
|
||||||
// NOTE 2: The resulting authorization cookie has an expiration time of one day,
|
// NOTE 2: The resulting authorization cookie has an expiration time of one day,
|
||||||
// so it would be a good idea to request and visit a new auth URL every 12 hours.
|
// so it would be a good idea to request and visit a new auth URL every 12 hours.
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUser_RequestStoreAuthURL( ISteamUser* lpSteamUser, const char* pchRedirectURL ) {
|
DLL(SteamAPICall_t*) BS_ISteamUser_RequestStoreAuthURL( ISteamUser* lpSteamUser, const char* pchRedirectURL ) {
|
||||||
return new uint64_t(lpSteamUser->RequestStoreAuthURL( pchRedirectURL ));
|
return new uint64_t(lpSteamUser->RequestStoreAuthURL( pchRedirectURL ));
|
||||||
}
|
}
|
||||||
|
|||||||
+307
-307
@@ -1,308 +1,308 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Functions for accessing stats, achievements, and leaderboard information
|
// Purpose: Functions for accessing stats, achievements, and leaderboard information
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
DLL(ISteamUserStats*) BS_SteamUserStats() {
|
DLL(ISteamUserStats*) BS_SteamUserStats() {
|
||||||
return SteamUserStats();
|
return SteamUserStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask the server to send down this user's data and achievements for this game
|
// Ask the server to send down this user's data and achievements for this game
|
||||||
//CALL_BACK(UserStatsReceived_t)
|
//CALL_BACK(UserStatsReceived_t)
|
||||||
DLL(uint32_t) BS_ISteamUserStats_RequestCurrentStats( ISteamUserStats* lpSteamUserStats ) {
|
DLL(uint32_t) BS_ISteamUserStats_RequestCurrentStats( ISteamUserStats* lpSteamUserStats ) {
|
||||||
return lpSteamUserStats->RequestCurrentStats( );
|
return lpSteamUserStats->RequestCurrentStats( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Data accessors
|
// Data accessors
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t* pData ) {
|
||||||
return lpSteamUserStats->GetStat( pchName, pData );
|
return lpSteamUserStats->GetStat( pchName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t* pData ) {
|
||||||
return lpSteamUserStats->GetStat( pchName, pData );
|
return lpSteamUserStats->GetStat( pchName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set / update data
|
// Set / update data
|
||||||
DLL(uint32_t) BS_ISteamUserStats_SetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_SetStat( ISteamUserStats* lpSteamUserStats, const char* pchName, int32_t pData ) {
|
||||||
return lpSteamUserStats->SetStat( pchName, pData );
|
return lpSteamUserStats->SetStat( pchName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_SetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_SetStatF( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t pData ) {
|
||||||
return lpSteamUserStats->SetStat( pchName, pData );
|
return lpSteamUserStats->SetStat( pchName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_UpdateAvgRateStat( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t flCountThisSession, double_t* dSessionLength ) {
|
DLL(uint32_t) BS_ISteamUserStats_UpdateAvgRateStat( ISteamUserStats* lpSteamUserStats, const char* pchName, float_t flCountThisSession, double_t* dSessionLength ) {
|
||||||
return lpSteamUserStats->UpdateAvgRateStat( pchName, flCountThisSession, *dSessionLength );
|
return lpSteamUserStats->UpdateAvgRateStat( pchName, flCountThisSession, *dSessionLength );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Achievement flag accessors
|
// Achievement flag accessors
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved ) {
|
||||||
return lpSteamUserStats->GetAchievement( pchName, (bool*)pbAchieved );
|
return lpSteamUserStats->GetAchievement( pchName, (bool*)pbAchieved );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_SetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
DLL(uint32_t) BS_ISteamUserStats_SetAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
||||||
return lpSteamUserStats->SetAchievement( pchName );
|
return lpSteamUserStats->SetAchievement( pchName );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_ClearAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
DLL(uint32_t) BS_ISteamUserStats_ClearAchievement( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
||||||
return lpSteamUserStats->ClearAchievement( pchName );
|
return lpSteamUserStats->ClearAchievement( pchName );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the achievement status, and the time it was unlocked if unlocked.
|
// Get the achievement status, and the time it was unlocked if unlocked.
|
||||||
// If the return value is true, but the unlock time is zero, that means it was unlocked before Steam
|
// If the return value is true, but the unlock time is zero, that means it was unlocked before Steam
|
||||||
// began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970.
|
// began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) {
|
||||||
return lpSteamUserStats->GetAchievementAndUnlockTime( pchName, (bool*)pbAchieved, punUnlockTime );
|
return lpSteamUserStats->GetAchievementAndUnlockTime( pchName, (bool*)pbAchieved, punUnlockTime );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store the current data on the server, will get a callback when set
|
// Store the current data on the server, will get a callback when set
|
||||||
// And one callback for every new achievement
|
// And one callback for every new achievement
|
||||||
//
|
//
|
||||||
// If the callback has a result of k_EResultInvalidParam, one or more stats
|
// If the callback has a result of k_EResultInvalidParam, one or more stats
|
||||||
// uploaded has been rejected, either because they broke constraints
|
// uploaded has been rejected, either because they broke constraints
|
||||||
// or were out of date. In this case the server sends back updated values.
|
// or were out of date. In this case the server sends back updated values.
|
||||||
// The stats should be re-iterated to keep in sync.
|
// The stats should be re-iterated to keep in sync.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_StoreStats( ISteamUserStats* lpSteamUserStats ) {
|
DLL(uint32_t) BS_ISteamUserStats_StoreStats( ISteamUserStats* lpSteamUserStats ) {
|
||||||
return lpSteamUserStats->StoreStats( );
|
return lpSteamUserStats->StoreStats( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Achievement / GroupAchievement metadata
|
// Achievement / GroupAchievement metadata
|
||||||
|
|
||||||
// Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set.
|
// Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set.
|
||||||
// A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback
|
// A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback
|
||||||
// which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the
|
// which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the
|
||||||
// specified achievement.
|
// specified achievement.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetAchievementIcon( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetAchievementIcon( ISteamUserStats* lpSteamUserStats, const char* pchName ) {
|
||||||
return lpSteamUserStats->GetAchievementIcon( pchName );
|
return lpSteamUserStats->GetAchievementIcon( pchName );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get general attributes for an achievement. Accepts the following keys:
|
// Get general attributes for an achievement. Accepts the following keys:
|
||||||
// - "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8)
|
// - "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8)
|
||||||
// - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden)
|
// - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden)
|
||||||
DLL(const char*) BS_ISteamUserStats_GetAchievementDisplayAttribute( ISteamUserStats* lpSteamUserStats, const char* pchName, const char* pchKey ) {
|
DLL(const char*) BS_ISteamUserStats_GetAchievementDisplayAttribute( ISteamUserStats* lpSteamUserStats, const char* pchName, const char* pchKey ) {
|
||||||
return lpSteamUserStats->GetAchievementDisplayAttribute( pchName, pchKey );
|
return lpSteamUserStats->GetAchievementDisplayAttribute( pchName, pchKey );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Achievement progress - triggers an AchievementProgress callback, that is all.
|
// Achievement progress - triggers an AchievementProgress callback, that is all.
|
||||||
// Calling this w/ N out of N progress will NOT set the achievement, the game must still do that.
|
// Calling this w/ N out of N progress will NOT set the achievement, the game must still do that.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_IndicateAchievementProgress( ISteamUserStats* lpSteamUserStats, const char* pchName, uint32_t nCurProgress, uint32_t nMaxProgress ) {
|
DLL(uint32_t) BS_ISteamUserStats_IndicateAchievementProgress( ISteamUserStats* lpSteamUserStats, const char* pchName, uint32_t nCurProgress, uint32_t nMaxProgress ) {
|
||||||
return lpSteamUserStats->IndicateAchievementProgress( pchName, nCurProgress, nMaxProgress );
|
return lpSteamUserStats->IndicateAchievementProgress( pchName, nCurProgress, nMaxProgress );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Used for iterating achievements. In general games should not need these functions because they should have a
|
// Used for iterating achievements. In general games should not need these functions because they should have a
|
||||||
// list of existing achievements compiled into them
|
// list of existing achievements compiled into them
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetNumAchievements( ISteamUserStats* lpSteamUserStats ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetNumAchievements( ISteamUserStats* lpSteamUserStats ) {
|
||||||
return lpSteamUserStats->GetNumAchievements( );
|
return lpSteamUserStats->GetNumAchievements( );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get achievement name iAchievement in [0,GetNumAchievements)
|
// Get achievement name iAchievement in [0,GetNumAchievements)
|
||||||
DLL(const char*) BS_ISteamUserStats_GetAchievementName( ISteamUserStats* lpSteamUserStats, uint32_t iAchievement ) {
|
DLL(const char*) BS_ISteamUserStats_GetAchievementName( ISteamUserStats* lpSteamUserStats, uint32_t iAchievement ) {
|
||||||
return lpSteamUserStats->GetAchievementName( iAchievement );
|
return lpSteamUserStats->GetAchievementName( iAchievement );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Friends stats & achievements
|
// Friends stats & achievements
|
||||||
|
|
||||||
// downloads stats for the user
|
// downloads stats for the user
|
||||||
// returns a UserStatsReceived_t received when completed
|
// returns a UserStatsReceived_t received when completed
|
||||||
// if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail
|
// if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail
|
||||||
// these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data
|
// these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data
|
||||||
//CALL_RESULT(UserStatsReceived_t)
|
//CALL_RESULT(UserStatsReceived_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestUserStats( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestUserStats( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser ) {
|
||||||
return new uint64_t( lpSteamUserStats->RequestUserStats( *steamIDUser ) );
|
return new uint64_t( lpSteamUserStats->RequestUserStats( *steamIDUser ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
// requests stat information for a user, usable after a successful call to RequestUserStats()
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetUserStat( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetUserStat( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, uint32_t* pData ) {
|
||||||
return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, (int32_t*)pData );
|
return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, (int32_t*)pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetUserStatF( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, float_t* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetUserStatF( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, float_t* pData ) {
|
||||||
return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, pData );
|
return lpSteamUserStats->GetUserStat( *steamIDUser, pchName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetUserAchievement( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetUserAchievement( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved ) {
|
||||||
return lpSteamUserStats->GetUserAchievement( *steamIDUser, pchName, (bool*)pbAchieved );
|
return lpSteamUserStats->GetUserAchievement( *steamIDUser, pchName, (bool*)pbAchieved );
|
||||||
}
|
}
|
||||||
|
|
||||||
// See notes for GetAchievementAndUnlockTime above
|
// See notes for GetAchievementAndUnlockTime above
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetUserAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetUserAchievementAndUnlockTime( ISteamUserStats* lpSteamUserStats, CSteamID* steamIDUser, const char* pchName, bool* pbAchieved, uint32_t* punUnlockTime ) {
|
||||||
return lpSteamUserStats->GetUserAchievementAndUnlockTime( *steamIDUser, pchName, (bool*)pbAchieved, punUnlockTime );
|
return lpSteamUserStats->GetUserAchievementAndUnlockTime( *steamIDUser, pchName, (bool*)pbAchieved, punUnlockTime );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset stats
|
// Reset stats
|
||||||
DLL(uint32_t) BS_ISteamUserStats_ResetAllStats( ISteamUserStats* lpSteamUserStats, uint32_t bAchievementsToo ) {
|
DLL(uint32_t) BS_ISteamUserStats_ResetAllStats( ISteamUserStats* lpSteamUserStats, uint32_t bAchievementsToo ) {
|
||||||
return lpSteamUserStats->ResetAllStats( bAchievementsToo != 0 );
|
return lpSteamUserStats->ResetAllStats( bAchievementsToo != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Leaderboard functions
|
// Leaderboard functions
|
||||||
|
|
||||||
// asks the Steam back-end for a leaderboard by name, and will create it if it's not yet
|
// asks the Steam back-end for a leaderboard by name, and will create it if it's not yet
|
||||||
// This call is asynchronous, with the result returned in LeaderboardFindResult_t
|
// This call is asynchronous, with the result returned in LeaderboardFindResult_t
|
||||||
//CALL_RESULT(LeaderboardFindResult_t)
|
//CALL_RESULT(LeaderboardFindResult_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_FindOrCreateLeaderboard( ISteamUserStats* lpSteamUserStats, const char* pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_FindOrCreateLeaderboard( ISteamUserStats* lpSteamUserStats, const char* pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) {
|
||||||
return new uint64_t( lpSteamUserStats->FindOrCreateLeaderboard( pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType ) );
|
return new uint64_t( lpSteamUserStats->FindOrCreateLeaderboard( pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// as above, but won't create the leaderboard if it's not found
|
// as above, but won't create the leaderboard if it's not found
|
||||||
// This call is asynchronous, with the result returned in LeaderboardFindResult_t
|
// This call is asynchronous, with the result returned in LeaderboardFindResult_t
|
||||||
//CALL_RESULT(LeaderboardFindResult_t)
|
//CALL_RESULT(LeaderboardFindResult_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_FindLeaderboard( ISteamUserStats* lpSteamUserStats, const char *pchLeaderboardName ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_FindLeaderboard( ISteamUserStats* lpSteamUserStats, const char *pchLeaderboardName ) {
|
||||||
return new uint64_t( lpSteamUserStats->FindLeaderboard( pchLeaderboardName ) );
|
return new uint64_t( lpSteamUserStats->FindLeaderboard( pchLeaderboardName ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the name of a leaderboard
|
// returns the name of a leaderboard
|
||||||
DLL(const char*) BS_ISteamUserStats_GetLeaderboardName( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
DLL(const char*) BS_ISteamUserStats_GetLeaderboardName( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
||||||
return lpSteamUserStats->GetLeaderboardName( *hSteamLeaderboard );
|
return lpSteamUserStats->GetLeaderboardName( *hSteamLeaderboard );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the total number of entries in a leaderboard, as of the last request
|
// returns the total number of entries in a leaderboard, as of the last request
|
||||||
DLL(int) BS_ISteamUserStats_GetLeaderboardEntryCount( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
DLL(int) BS_ISteamUserStats_GetLeaderboardEntryCount( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
||||||
return lpSteamUserStats->GetLeaderboardEntryCount( *hSteamLeaderboard );
|
return lpSteamUserStats->GetLeaderboardEntryCount( *hSteamLeaderboard );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the sort method of the leaderboard
|
// returns the sort method of the leaderboard
|
||||||
DLL(ELeaderboardSortMethod) BS_ISteamUserStats_GetLeaderboardSortMethod( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
DLL(ELeaderboardSortMethod) BS_ISteamUserStats_GetLeaderboardSortMethod( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
||||||
return lpSteamUserStats->GetLeaderboardSortMethod( *hSteamLeaderboard );
|
return lpSteamUserStats->GetLeaderboardSortMethod( *hSteamLeaderboard );
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns the display type of the leaderboard
|
// returns the display type of the leaderboard
|
||||||
DLL(ELeaderboardDisplayType) BS_ISteamUserStats_GetLeaderboardDisplayType( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
DLL(ELeaderboardDisplayType) BS_ISteamUserStats_GetLeaderboardDisplayType( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard ) {
|
||||||
return lpSteamUserStats->GetLeaderboardDisplayType( *hSteamLeaderboard );
|
return lpSteamUserStats->GetLeaderboardDisplayType( *hSteamLeaderboard );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Asks the Steam back-end for a set of rows in the leaderboard.
|
// Asks the Steam back-end for a set of rows in the leaderboard.
|
||||||
// This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t
|
// This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t
|
||||||
// LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below)
|
// LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below)
|
||||||
// You can ask for more entries than exist, and it will return as many as do exist.
|
// You can ask for more entries than exist, and it will return as many as do exist.
|
||||||
// k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries]
|
// k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries]
|
||||||
// k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate
|
// k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate
|
||||||
// e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after
|
// e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after
|
||||||
// k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user
|
// k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user
|
||||||
//CALL_RESULT(LeaderboardScoresDownloaded_t)
|
//CALL_RESULT(LeaderboardScoresDownloaded_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_DownloadLeaderboardEntries( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_DownloadLeaderboardEntries( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) {
|
||||||
return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntries( *hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd ) );
|
return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntries( *hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd ) );
|
||||||
}
|
}
|
||||||
///#####
|
///#####
|
||||||
|
|
||||||
// as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers
|
// as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers
|
||||||
// if a user doesn't have a leaderboard entry, they won't be included in the result
|
// if a user doesn't have a leaderboard entry, they won't be included in the result
|
||||||
// a max of 100 users can be downloaded at a time, with only one outstanding call at a time
|
// a max of 100 users can be downloaded at a time, with only one outstanding call at a time
|
||||||
//CALL_RESULT(LeaderboardScoresDownloaded_t)
|
//CALL_RESULT(LeaderboardScoresDownloaded_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_DownloadLeaderboardEntriesForUsers( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, CSteamID* prgUsers, int cUsers ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_DownloadLeaderboardEntriesForUsers( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, CSteamID* prgUsers, int cUsers ) {
|
||||||
return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntriesForUsers( *hSteamLeaderboard, prgUsers, cUsers ) );
|
return new uint64_t( lpSteamUserStats->DownloadLeaderboardEntriesForUsers( *hSteamLeaderboard, prgUsers, cUsers ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns data about a single leaderboard entry
|
// Returns data about a single leaderboard entry
|
||||||
// use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries
|
// use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries
|
||||||
// e.g.
|
// e.g.
|
||||||
// void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded )
|
// void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded )
|
||||||
// {
|
// {
|
||||||
// for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ )
|
// for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ )
|
||||||
// {
|
// {
|
||||||
// LeaderboardEntry_t leaderboardEntry;
|
// LeaderboardEntry_t leaderboardEntry;
|
||||||
// int32 details[3]; // we know this is how many we've stored previously
|
// int32 details[3]; // we know this is how many we've stored previously
|
||||||
// GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 );
|
// GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 );
|
||||||
// assert( leaderboardEntry.m_cDetails == 3 );
|
// assert( leaderboardEntry.m_cDetails == 3 );
|
||||||
// ...
|
// ...
|
||||||
// }
|
// }
|
||||||
// once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid
|
// once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetDownloadedLeaderboardEntry( ISteamUserStats* lpSteamUserStats, SteamLeaderboardEntries_t* hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetDownloadedLeaderboardEntry( ISteamUserStats* lpSteamUserStats, SteamLeaderboardEntries_t* hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) {
|
||||||
return lpSteamUserStats->GetDownloadedLeaderboardEntry( *hSteamLeaderboardEntries, index, pLeaderboardEntry, pDetails, cDetailsMax );
|
return lpSteamUserStats->GetDownloadedLeaderboardEntry( *hSteamLeaderboardEntries, index, pLeaderboardEntry, pDetails, cDetailsMax );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uploads a user score to the Steam back-end.
|
// Uploads a user score to the Steam back-end.
|
||||||
// This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t
|
// This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t
|
||||||
// Details are extra game-defined information regarding how the user got that score
|
// Details are extra game-defined information regarding how the user got that score
|
||||||
// pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list
|
// pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list
|
||||||
//CALL_RESULT(LeaderboardScoreUploaded_t)
|
//CALL_RESULT(LeaderboardScoreUploaded_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_UploadLeaderboardScore( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32_t* pScoreDetails, int cScoreDetailsCount ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_UploadLeaderboardScore( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32_t* pScoreDetails, int cScoreDetailsCount ) {
|
||||||
return new uint64_t(lpSteamUserStats->UploadLeaderboardScore( *hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount ));
|
return new uint64_t(lpSteamUserStats->UploadLeaderboardScore( *hSteamLeaderboard, eLeaderboardUploadScoreMethod, nScore, pScoreDetails, cScoreDetailsCount ));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attaches a piece of user generated content the user's entry on a leaderboard.
|
// Attaches a piece of user generated content the user's entry on a leaderboard.
|
||||||
// hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare().
|
// hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare().
|
||||||
// This call is asynchronous, with the result returned in LeaderboardUGCSet_t.
|
// This call is asynchronous, with the result returned in LeaderboardUGCSet_t.
|
||||||
//CALL_RESULT(LeaderboardUGCSet_t)
|
//CALL_RESULT(LeaderboardUGCSet_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_AttachLeaderboardUGC( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, UGCHandle_t* hUGC ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_AttachLeaderboardUGC( ISteamUserStats* lpSteamUserStats, SteamLeaderboard_t* hSteamLeaderboard, UGCHandle_t* hUGC ) {
|
||||||
return new uint64_t( lpSteamUserStats->AttachLeaderboardUGC( *hSteamLeaderboard, *hUGC ) );
|
return new uint64_t( lpSteamUserStats->AttachLeaderboardUGC( *hSteamLeaderboard, *hUGC ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieves the number of players currently playing your game (online + offline)
|
// Retrieves the number of players currently playing your game (online + offline)
|
||||||
// This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t
|
// This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t
|
||||||
//CALL_RESULT(NumberOfCurrentPlayers_t)
|
//CALL_RESULT(NumberOfCurrentPlayers_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_GetNumberOfCurrentPlayers( ISteamUserStats* lpSteamUserStats ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_GetNumberOfCurrentPlayers( ISteamUserStats* lpSteamUserStats ) {
|
||||||
return new uint64_t( lpSteamUserStats->GetNumberOfCurrentPlayers( ) );
|
return new uint64_t( lpSteamUserStats->GetNumberOfCurrentPlayers( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requests that Steam fetch data on the percentage of players who have received each achievement
|
// Requests that Steam fetch data on the percentage of players who have received each achievement
|
||||||
// for the game globally.
|
// for the game globally.
|
||||||
// This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t.
|
// This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t.
|
||||||
//CALL_RESULT(GlobalAchievementPercentagesReady_t)
|
//CALL_RESULT(GlobalAchievementPercentagesReady_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestGlobalAchievementPercentages( ISteamUserStats* lpSteamUserStats ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestGlobalAchievementPercentages( ISteamUserStats* lpSteamUserStats ) {
|
||||||
return new uint64_t( lpSteamUserStats->RequestGlobalAchievementPercentages( ) );
|
return new uint64_t( lpSteamUserStats->RequestGlobalAchievementPercentages( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch
|
// 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
|
// 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).
|
// percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback).
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, char *pchName, uint32_t unNameBufLen, float *pflPercent, bool* pbAchieved ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, char *pchName, uint32_t unNameBufLen, float *pflPercent, bool* pbAchieved ) {
|
||||||
return lpSteamUserStats->GetMostAchievedAchievementInfo( pchName, unNameBufLen, pflPercent, pbAchieved );
|
return lpSteamUserStats->GetMostAchievedAchievementInfo( pchName, unNameBufLen, pflPercent, pbAchieved );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another
|
// 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
|
// GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last
|
||||||
// achievement has been iterated.
|
// achievement has been iterated.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetNextMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, int iIteratorPrevious, char *pchName, uint32_t unNameBufLen, float *pflPercent, bool *pbAchieved ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetNextMostAchievedAchievementInfo( ISteamUserStats* lpSteamUserStats, int iIteratorPrevious, char *pchName, uint32_t unNameBufLen, float *pflPercent, bool *pbAchieved ) {
|
||||||
return lpSteamUserStats->GetNextMostAchievedAchievementInfo( iIteratorPrevious, pchName, unNameBufLen, pflPercent, pbAchieved );
|
return lpSteamUserStats->GetNextMostAchievedAchievementInfo( iIteratorPrevious, pchName, unNameBufLen, pflPercent, pbAchieved );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the percentage of users who have achieved the specified achievement.
|
// Returns the percentage of users who have achieved the specified achievement.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetAchievementAchievedPercent( ISteamUserStats* lpSteamUserStats, const char *pchName, float *pflPercent ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetAchievementAchievedPercent( ISteamUserStats* lpSteamUserStats, const char *pchName, float *pflPercent ) {
|
||||||
return lpSteamUserStats->GetAchievementAchievedPercent( pchName, pflPercent );
|
return lpSteamUserStats->GetAchievementAchievedPercent( pchName, pflPercent );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Requests global stats data, which is available for stats marked as "aggregated".
|
// Requests global stats data, which is available for stats marked as "aggregated".
|
||||||
// This call is asynchronous, with the results returned in GlobalStatsReceived_t.
|
// 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
|
// nHistoryDays specifies how many days of day-by-day history to retrieve in addition
|
||||||
// to the overall totals. The limit is 60.
|
// to the overall totals. The limit is 60.
|
||||||
//CALL_RESULT(GlobalStatsReceived_t)
|
//CALL_RESULT(GlobalStatsReceived_t)
|
||||||
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestGlobalStats( ISteamUserStats* lpSteamUserStats, int nHistoryDays ) {
|
DLL(SteamAPICall_t*) BS_ISteamUserStats_RequestGlobalStats( ISteamUserStats* lpSteamUserStats, int nHistoryDays ) {
|
||||||
return new uint64_t( lpSteamUserStats->RequestGlobalStats( nHistoryDays ) );
|
return new uint64_t( lpSteamUserStats->RequestGlobalStats( nHistoryDays ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets the lifetime totals for an aggregated stat
|
// Gets the lifetime totals for an aggregated stat
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64* pData ) {
|
||||||
return lpSteamUserStats->GetGlobalStat( pchStatName, pData );
|
return lpSteamUserStats->GetGlobalStat( pchStatName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double* pData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double* pData ) {
|
||||||
return lpSteamUserStats->GetGlobalStat( pchStatName, pData );
|
return lpSteamUserStats->GetGlobalStat( pchStatName, pData );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gets history for an aggregated stat. pData will be filled with daily values, starting with today.
|
// 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,
|
// 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
|
// etc. cubData is the size in bytes of the pubData buffer. Returns the number of
|
||||||
// elements actually set.
|
// elements actually set.
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatHistoryL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64 *pData, uint32_t cubData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatHistoryL( ISteamUserStats* lpSteamUserStats, const char *pchStatName, int64 *pData, uint32_t cubData ) {
|
||||||
return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData );
|
return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData );
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatHistoryD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double *pData, uint32_t cubData ) {
|
DLL(uint32_t) BS_ISteamUserStats_GetGlobalStatHistoryD( ISteamUserStats* lpSteamUserStats, const char *pchStatName, double *pData, uint32_t cubData ) {
|
||||||
return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData );
|
return lpSteamUserStats->GetGlobalStatHistory( pchStatName, pData, cubData );
|
||||||
}
|
}
|
||||||
+27
-27
@@ -1,27 +1,27 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamUtils*) BS_SteamUtils() {
|
DLL(ISteamUtils*) BS_SteamUtils() {
|
||||||
return SteamUtils();
|
return SteamUtils();
|
||||||
}
|
}
|
||||||
|
|
||||||
DLL(ISteamUtils*) BS_SteamGameServerUtils() {
|
DLL(ISteamUtils*) BS_SteamGameServerUtils() {
|
||||||
return SteamGameServerUtils();
|
return SteamGameServerUtils();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamUtils is not ported yet. TODO!")
|
#pragma message("SteamUtils is not ported yet. TODO!")
|
||||||
|
|||||||
+23
-23
@@ -1,23 +1,23 @@
|
|||||||
// BlitzSteam - Steam wrapper for Blitz
|
// BlitzSteam - Steam wrapper for Blitz
|
||||||
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
// Copyright (C) 2015 Xaymar (Michael Fabian Dirks)
|
||||||
//
|
//
|
||||||
// This program is free software: you can redistribute it and/or modify
|
// This program is free software: you can redistribute it and/or modify
|
||||||
// it under the terms of the GNU Lesser General Public License as
|
// it under the terms of the GNU Lesser General Public License as
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
// License, or (at your option) any later version.
|
// License, or (at your option) any later version.
|
||||||
//
|
//
|
||||||
// This program is distributed in the hope that it will be useful,
|
// This program is distributed in the hope that it will be useful,
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
//
|
//
|
||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "BlitzSteam.h"
|
#include "BlitzSteam.h"
|
||||||
|
|
||||||
DLL(ISteamVideo*) BS_SteamVideo() {
|
DLL(ISteamVideo*) BS_SteamVideo() {
|
||||||
return SteamVideo();
|
return SteamVideo();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma message("SteamVideo is not ported yet. TODO!")
|
#pragma message("SteamVideo is not ported yet. TODO!")
|
||||||
|
|||||||
Reference in New Issue
Block a user