diff --git a/lsteamclient/cppISteamParties_SteamParties002.cpp b/lsteamclient/cppISteamParties_SteamParties002.cpp new file mode 100644 index 00000000..6c7b6161 --- /dev/null +++ b/lsteamclient/cppISteamParties_SteamParties002.cpp @@ -0,0 +1,88 @@ +#include "steam_defs.h" +#include "steamworks_sdk_143/steam_api.h" +#include "steamclient_private.h" +#ifdef __cplusplus +extern "C" { +#endif +#define SDKVER_143 +#include "struct_converters.h" +#include "cppISteamParties_SteamParties002.h" +uint32 cppISteamParties_SteamParties002_GetNumActiveBeacons(void *linux_side) +{ + return ((ISteamParties*)linux_side)->GetNumActiveBeacons(); +} + +PartyBeaconID_t cppISteamParties_SteamParties002_GetBeaconByIndex(void *linux_side, uint32 unIndex) +{ + return ((ISteamParties*)linux_side)->GetBeaconByIndex((uint32)unIndex); +} + +bool cppISteamParties_SteamParties002_GetBeaconDetails(void *linux_side, PartyBeaconID_t ulBeaconID, CSteamID * pSteamIDBeaconOwner, winSteamPartyBeaconLocation_t_143 * pLocation, char * pchMetadata, int cchMetadata) +{ + SteamPartyBeaconLocation_t lin_pLocation; + win_to_lin_struct_SteamPartyBeaconLocation_t_143(pLocation, &lin_pLocation); + bool retval = ((ISteamParties*)linux_side)->GetBeaconDetails((PartyBeaconID_t)ulBeaconID, (CSteamID *)pSteamIDBeaconOwner, &lin_pLocation, (char *)pchMetadata, (int)cchMetadata); + lin_to_win_struct_SteamPartyBeaconLocation_t_143(&lin_pLocation, pLocation); + return retval; +} + +SteamAPICall_t cppISteamParties_SteamParties002_JoinParty(void *linux_side, PartyBeaconID_t ulBeaconID) +{ + return ((ISteamParties*)linux_side)->JoinParty((PartyBeaconID_t)ulBeaconID); +} + +bool cppISteamParties_SteamParties002_GetNumAvailableBeaconLocations(void *linux_side, uint32 * puNumLocations) +{ + return ((ISteamParties*)linux_side)->GetNumAvailableBeaconLocations((uint32 *)puNumLocations); +} + +bool cppISteamParties_SteamParties002_GetAvailableBeaconLocations(void *linux_side, winSteamPartyBeaconLocation_t_143 * pLocationList, uint32 uMaxNumLocations) +{ + SteamPartyBeaconLocation_t lin_pLocationList; + win_to_lin_struct_SteamPartyBeaconLocation_t_143(pLocationList, &lin_pLocationList); + bool retval = ((ISteamParties*)linux_side)->GetAvailableBeaconLocations(&lin_pLocationList, (uint32)uMaxNumLocations); + lin_to_win_struct_SteamPartyBeaconLocation_t_143(&lin_pLocationList, pLocationList); + return retval; +} + +SteamAPICall_t cppISteamParties_SteamParties002_CreateBeacon(void *linux_side, uint32 unOpenSlots, winSteamPartyBeaconLocation_t_143 * pBeaconLocation, const char * pchConnectString, const char * pchMetadata) +{ + SteamPartyBeaconLocation_t lin_pBeaconLocation; + win_to_lin_struct_SteamPartyBeaconLocation_t_143(pBeaconLocation, &lin_pBeaconLocation); + SteamAPICall_t retval = ((ISteamParties*)linux_side)->CreateBeacon((uint32)unOpenSlots, &lin_pBeaconLocation, (const char *)pchConnectString, (const char *)pchMetadata); + lin_to_win_struct_SteamPartyBeaconLocation_t_143(&lin_pBeaconLocation, pBeaconLocation); + return retval; +} + +void cppISteamParties_SteamParties002_OnReservationCompleted(void *linux_side, PartyBeaconID_t ulBeacon, CSteamID steamIDUser) +{ + ((ISteamParties*)linux_side)->OnReservationCompleted((PartyBeaconID_t)ulBeacon, (CSteamID)steamIDUser); +} + +void cppISteamParties_SteamParties002_CancelReservation(void *linux_side, PartyBeaconID_t ulBeacon, CSteamID steamIDUser) +{ + ((ISteamParties*)linux_side)->CancelReservation((PartyBeaconID_t)ulBeacon, (CSteamID)steamIDUser); +} + +SteamAPICall_t cppISteamParties_SteamParties002_ChangeNumOpenSlots(void *linux_side, PartyBeaconID_t ulBeacon, uint32 unOpenSlots) +{ + return ((ISteamParties*)linux_side)->ChangeNumOpenSlots((PartyBeaconID_t)ulBeacon, (uint32)unOpenSlots); +} + +bool cppISteamParties_SteamParties002_DestroyBeacon(void *linux_side, PartyBeaconID_t ulBeacon) +{ + return ((ISteamParties*)linux_side)->DestroyBeacon((PartyBeaconID_t)ulBeacon); +} + +bool cppISteamParties_SteamParties002_GetBeaconLocationData(void *linux_side, winSteamPartyBeaconLocation_t_143 BeaconLocation, ESteamPartyBeaconLocationData eData, char * pchDataStringOut, int cchDataStringOut) +{ + SteamPartyBeaconLocation_t lin_BeaconLocation; + win_to_lin_struct_SteamPartyBeaconLocation_t_143(&BeaconLocation, &lin_BeaconLocation); + bool retval = ((ISteamParties*)linux_side)->GetBeaconLocationData(lin_BeaconLocation, (ESteamPartyBeaconLocationData)eData, (char *)pchDataStringOut, (int)cchDataStringOut); + lin_to_win_struct_SteamPartyBeaconLocation_t_143(&lin_BeaconLocation, &BeaconLocation); + return retval; +} + +#ifdef __cplusplus +} +#endif diff --git a/lsteamclient/cppISteamParties_SteamParties002.h b/lsteamclient/cppISteamParties_SteamParties002.h new file mode 100644 index 00000000..ea72afc0 --- /dev/null +++ b/lsteamclient/cppISteamParties_SteamParties002.h @@ -0,0 +1,12 @@ +extern uint32 cppISteamParties_SteamParties002_GetNumActiveBeacons(void *); +extern PartyBeaconID_t cppISteamParties_SteamParties002_GetBeaconByIndex(void *, uint32); +extern bool cppISteamParties_SteamParties002_GetBeaconDetails(void *, PartyBeaconID_t, CSteamID *, winSteamPartyBeaconLocation_t_143 *, char *, int); +extern SteamAPICall_t cppISteamParties_SteamParties002_JoinParty(void *, PartyBeaconID_t); +extern bool cppISteamParties_SteamParties002_GetNumAvailableBeaconLocations(void *, uint32 *); +extern bool cppISteamParties_SteamParties002_GetAvailableBeaconLocations(void *, winSteamPartyBeaconLocation_t_143 *, uint32); +extern SteamAPICall_t cppISteamParties_SteamParties002_CreateBeacon(void *, uint32, winSteamPartyBeaconLocation_t_143 *, const char *, const char *); +extern void cppISteamParties_SteamParties002_OnReservationCompleted(void *, PartyBeaconID_t, CSteamID); +extern void cppISteamParties_SteamParties002_CancelReservation(void *, PartyBeaconID_t, CSteamID); +extern SteamAPICall_t cppISteamParties_SteamParties002_ChangeNumOpenSlots(void *, PartyBeaconID_t, uint32); +extern bool cppISteamParties_SteamParties002_DestroyBeacon(void *, PartyBeaconID_t); +extern bool cppISteamParties_SteamParties002_GetBeaconLocationData(void *, winSteamPartyBeaconLocation_t_143, ESteamPartyBeaconLocationData, char *, int); diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 166ec83b..e885adec 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -99,6 +99,7 @@ files = [ "ISteamMusic", "ISteamMusicRemote", "ISteamNetworking", + "ISteamParties", "ISteamRemoteStorage", "ISteamScreenshots", "ISteamUGC", diff --git a/lsteamclient/steam_defs.h b/lsteamclient/steam_defs.h index 1d3cf1d7..322e3d64 100644 --- a/lsteamclient/steam_defs.h +++ b/lsteamclient/steam_defs.h @@ -71,6 +71,7 @@ typedef uint32_t EUserUGCList, EXboxOrigin, EInputSourceMode, EActivateGameOverlayToWebPageMode, + ESteamPartyBeaconLocationData, ESteamPartyBeaconLocationType ; diff --git a/lsteamclient/winISteamParties.c b/lsteamclient/winISteamParties.c new file mode 100644 index 00000000..ad336cfe --- /dev/null +++ b/lsteamclient/winISteamParties.c @@ -0,0 +1,140 @@ +/* This file is auto-generated, do not edit. */ +#include + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +#include "cxx.h" + +#include "steam_defs.h" + +#include "steamclient_private.h" + +#include "struct_converters.h" + +WINE_DEFAULT_DEBUG_CHANNEL(steamclient); + +#include "cppISteamParties_SteamParties002.h" + +typedef struct __winISteamParties_SteamParties002 { + vtable_ptr *vtable; + void *linux_side; +} winISteamParties_SteamParties002; + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetNumActiveBeacons, 4) +uint32 __thiscall winISteamParties_SteamParties002_GetNumActiveBeacons(winISteamParties_SteamParties002 *_this) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetNumActiveBeacons(_this->linux_side); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetBeaconByIndex, 8) +PartyBeaconID_t __thiscall winISteamParties_SteamParties002_GetBeaconByIndex(winISteamParties_SteamParties002 *_this, uint32 unIndex) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetBeaconByIndex(_this->linux_side, unIndex); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetBeaconDetails, 28) +bool __thiscall winISteamParties_SteamParties002_GetBeaconDetails(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeaconID, CSteamID * pSteamIDBeaconOwner, winSteamPartyBeaconLocation_t_143 * pLocation, char * pchMetadata, int cchMetadata) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetBeaconDetails(_this->linux_side, ulBeaconID, pSteamIDBeaconOwner, pLocation, pchMetadata, cchMetadata); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_JoinParty, 12) +SteamAPICall_t __thiscall winISteamParties_SteamParties002_JoinParty(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeaconID) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_JoinParty(_this->linux_side, ulBeaconID); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetNumAvailableBeaconLocations, 8) +bool __thiscall winISteamParties_SteamParties002_GetNumAvailableBeaconLocations(winISteamParties_SteamParties002 *_this, uint32 * puNumLocations) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetNumAvailableBeaconLocations(_this->linux_side, puNumLocations); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetAvailableBeaconLocations, 12) +bool __thiscall winISteamParties_SteamParties002_GetAvailableBeaconLocations(winISteamParties_SteamParties002 *_this, winSteamPartyBeaconLocation_t_143 * pLocationList, uint32 uMaxNumLocations) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetAvailableBeaconLocations(_this->linux_side, pLocationList, uMaxNumLocations); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_CreateBeacon, 20) +SteamAPICall_t __thiscall winISteamParties_SteamParties002_CreateBeacon(winISteamParties_SteamParties002 *_this, uint32 unOpenSlots, winSteamPartyBeaconLocation_t_143 * pBeaconLocation, const char * pchConnectString, const char * pchMetadata) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_CreateBeacon(_this->linux_side, unOpenSlots, pBeaconLocation, pchConnectString, pchMetadata); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_OnReservationCompleted, 20) +void __thiscall winISteamParties_SteamParties002_OnReservationCompleted(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeacon, CSteamID steamIDUser) +{ + TRACE("%p\n", _this); + cppISteamParties_SteamParties002_OnReservationCompleted(_this->linux_side, ulBeacon, steamIDUser); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_CancelReservation, 20) +void __thiscall winISteamParties_SteamParties002_CancelReservation(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeacon, CSteamID steamIDUser) +{ + TRACE("%p\n", _this); + cppISteamParties_SteamParties002_CancelReservation(_this->linux_side, ulBeacon, steamIDUser); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_ChangeNumOpenSlots, 16) +SteamAPICall_t __thiscall winISteamParties_SteamParties002_ChangeNumOpenSlots(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeacon, uint32 unOpenSlots) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_ChangeNumOpenSlots(_this->linux_side, ulBeacon, unOpenSlots); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_DestroyBeacon, 12) +bool __thiscall winISteamParties_SteamParties002_DestroyBeacon(winISteamParties_SteamParties002 *_this, PartyBeaconID_t ulBeacon) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_DestroyBeacon(_this->linux_side, ulBeacon); +} + +DEFINE_THISCALL_WRAPPER(winISteamParties_SteamParties002_GetBeaconLocationData, 28) +bool __thiscall winISteamParties_SteamParties002_GetBeaconLocationData(winISteamParties_SteamParties002 *_this, winSteamPartyBeaconLocation_t_143 BeaconLocation, ESteamPartyBeaconLocationData eData, char * pchDataStringOut, int cchDataStringOut) +{ + TRACE("%p\n", _this); + return cppISteamParties_SteamParties002_GetBeaconLocationData(_this->linux_side, BeaconLocation, eData, pchDataStringOut, cchDataStringOut); +} + +extern vtable_ptr winISteamParties_SteamParties002_vtable; + +#ifndef __GNUC__ +void __asm_dummy_vtables(void) { +#endif + __ASM_VTABLE(winISteamParties_SteamParties002, + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetNumActiveBeacons) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetBeaconByIndex) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetBeaconDetails) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_JoinParty) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetNumAvailableBeaconLocations) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetAvailableBeaconLocations) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_CreateBeacon) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_OnReservationCompleted) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_CancelReservation) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_ChangeNumOpenSlots) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_DestroyBeacon) + VTABLE_ADD_FUNC(winISteamParties_SteamParties002_GetBeaconLocationData) + ); +#ifndef __GNUC__ +} +#endif + +winISteamParties_SteamParties002 *create_winISteamParties_SteamParties002(void *linux_side) +{ + winISteamParties_SteamParties002 *r = HeapAlloc(GetProcessHeap(), 0, sizeof(winISteamParties_SteamParties002)); + TRACE("-> %p\n", r); + r->vtable = &winISteamParties_SteamParties002_vtable; + r->linux_side = linux_side; + return r; +} + diff --git a/lsteamclient/win_constructors.h b/lsteamclient/win_constructors.h index 0844897e..7daa53fa 100644 --- a/lsteamclient/win_constructors.h +++ b/lsteamclient/win_constructors.h @@ -4,6 +4,7 @@ extern void *create_winISteamFriends_SteamFriends017(void *); extern void *create_winISteamUtils_SteamUtils009(void *); extern void *create_winISteamMatchmaking_SteamMatchMaking009(void *); extern void *create_winISteamMatchmakingServers_SteamMatchMakingServers002(void *); +extern void *create_winISteamParties_SteamParties002(void *); extern void *create_winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014(void *); extern void *create_winISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION011(void *); extern void *create_winISteamApps_STEAMAPPS_INTERFACE_VERSION008(void *); diff --git a/lsteamclient/win_constructors_table.dat b/lsteamclient/win_constructors_table.dat index 6281f540..9e799ee8 100644 --- a/lsteamclient/win_constructors_table.dat +++ b/lsteamclient/win_constructors_table.dat @@ -4,6 +4,7 @@ {"SteamUtils009", &create_winISteamUtils_SteamUtils009}, {"SteamMatchMaking009", &create_winISteamMatchmaking_SteamMatchMaking009}, {"SteamMatchMakingServers002", &create_winISteamMatchmakingServers_SteamMatchMakingServers002}, + {"SteamParties002", &create_winISteamParties_SteamParties002}, {"STEAMREMOTESTORAGE_INTERFACE_VERSION014", &create_winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION014}, {"STEAMUSERSTATS_INTERFACE_VERSION011", &create_winISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION011}, {"STEAMAPPS_INTERFACE_VERSION008", &create_winISteamApps_STEAMAPPS_INTERFACE_VERSION008},