lsteamclient: Fix packing for windows structs

This commit is contained in:
Andrew Eikum 2018-10-29 08:54:08 -05:00
parent bbf914c044
commit 02d52eea92
21 changed files with 1105 additions and 1 deletions

View File

@ -431,6 +431,7 @@ def handle_callback_struct(sdkver, callback, cb_num):
datfile.write("case 0x%08x: win_msg->m_cubParam = sizeof(struct win%s); win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_%s(lin_msg.m_pubParam, win_msg->m_pubParam); break;\n" % (cb_id, handler_name, handler_name))
hfile = open("struct_converters.h", "a")
hfile.write("#pragma pack( push, 8 )\n")
hfile.write("struct win%s {\n" % handler_name)
for m in callback.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
@ -439,8 +440,10 @@ def handle_callback_struct(sdkver, callback, cb_num):
else:
hfile.write(" %s %s;\n" % (m.type.spelling, m.displayname))
hfile.write("} __attribute__ ((ms_struct));\n")
hfile.write("extern void cb_%s(void *l, void *w);\n" % handler_name)
hfile.write("#pragma pack( pop )\n")
hfile.write("extern void cb_%s(void *l, void *w);\n\n" % handler_name)
cppfile.write("#pragma pack( push, 8 )\n")
cppfile.write("struct win%s {\n" % handler_name)
for m in callback.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL:
@ -449,6 +452,7 @@ def handle_callback_struct(sdkver, callback, cb_num):
else:
cppfile.write(" %s %s;\n" % (m.type.spelling, m.displayname))
cppfile.write("} __attribute__ ((ms_struct));\n")
cppfile.write("#pragma pack( pop )\n")
cppfile.write("void cb_%s(void *l, void *w)\n{\n" % handler_name)
cppfile.write(" %s *lin = (%s *)l;\n" % (callback.displayname, callback.displayname))

File diff suppressed because it is too large Load Diff

View File

@ -3,11 +3,13 @@
#include "steamworks_sdk_100/steam_api.h"
#include "steamworks_sdk_100/isteamgameserver.h"
extern "C" {
#pragma pack( push, 8 )
struct winAppDataChanged_t_8 {
uint32 m_nAppID;
bool m_bBySteamUI;
bool m_bCDDBUpdate;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_AppDataChanged_t_8(void *l, void *w)
{
AppDataChanged_t *lin = (AppDataChanged_t *)l;

View File

@ -3,12 +3,14 @@
#include "steamworks_sdk_102/steam_api.h"
#include "steamworks_sdk_102/isteamgameserver.h"
extern "C" {
#pragma pack( push, 8 )
struct winRequestFriendsLobbiesResponse_t_24 {
uint64 m_ulSteamIDFriend;
uint64 m_ulSteamIDLobby;
int m_cResultIndex;
int m_cResultsTotal;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RequestFriendsLobbiesResponse_t_24(void *l, void *w)
{
RequestFriendsLobbiesResponse_t *lin = (RequestFriendsLobbiesResponse_t *)l;
@ -19,10 +21,12 @@ void cb_RequestFriendsLobbiesResponse_t_24(void *l, void *w)
win->m_cResultsTotal = lin->m_cResultsTotal;
}
#pragma pack( push, 8 )
struct winUserStatsReceived_t_12 {
uint64 m_nGameID;
EResult m_eResult;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_UserStatsReceived_t_12(void *l, void *w)
{
UserStatsReceived_t *lin = (UserStatsReceived_t *)l;

View File

@ -3,9 +3,11 @@
#include "steamworks_sdk_104/steam_api.h"
#include "steamworks_sdk_104/isteamgameserver.h"
extern "C" {
#pragma pack( push, 8 )
struct winLobbyClosing_t_8 {
uint64 m_ulSteamIDLobby;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_LobbyClosing_t_8(void *l, void *w)
{
LobbyClosing_t *lin = (LobbyClosing_t *)l;
@ -13,10 +15,12 @@ void cb_LobbyClosing_t_8(void *l, void *w)
win->m_ulSteamIDLobby = lin->m_ulSteamIDLobby;
}
#pragma pack( push, 8 )
struct winLobbyKicked_t_16 {
uint64 m_ulSteamIDLobby;
uint64 m_ulSteamIDAdmin;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_LobbyKicked_t_16(void *l, void *w)
{
LobbyKicked_t *lin = (LobbyKicked_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_111/isteamgameserverstats.h"
#include "steamworks_sdk_111/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winLobbyDataUpdate_t_16 {
uint64 m_ulSteamIDLobby;
uint64 m_ulSteamIDMember;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_LobbyDataUpdate_t_16(void *l, void *w)
{
LobbyDataUpdate_t *lin = (LobbyDataUpdate_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_112/isteamgameserverstats.h"
#include "steamworks_sdk_112/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winLobbyInvite_t_16 {
uint64 m_ulSteamIDUser;
uint64 m_ulSteamIDLobby;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_LobbyInvite_t_16(void *l, void *w)
{
LobbyInvite_t *lin = (LobbyInvite_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_116/isteamgameserverstats.h"
#include "steamworks_sdk_116/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winNameHistoryResponse_t_8 {
int m_cSuccessfulLookups;
int m_cFailedLookups;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_NameHistoryResponse_t_8(void *l, void *w)
{
NameHistoryResponse_t *lin = (NameHistoryResponse_t *)l;
@ -17,6 +19,7 @@ void cb_NameHistoryResponse_t_8(void *l, void *w)
win->m_cFailedLookups = lin->m_cFailedLookups;
}
#pragma pack( push, 8 )
struct winRemoteStorageDownloadUGCResult_t_32 {
EResult m_eResult;
UGCHandle_t m_hFile;
@ -25,6 +28,7 @@ struct winRemoteStorageDownloadUGCResult_t_32 {
char * m_pchFileName;
uint64 m_ulSteamIDOwner;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageDownloadUGCResult_t_32(void *l, void *w)
{
RemoteStorageDownloadUGCResult_t *lin = (RemoteStorageDownloadUGCResult_t *)l;

View File

@ -5,6 +5,7 @@
#include "steamworks_sdk_117/isteamgameserverstats.h"
#include "steamworks_sdk_117/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winRemoteStorageGetPublishedFileDetailsResult_t_1732 {
EResult m_eResult;
PublishedFileId_t m_nPublishedFileId;
@ -23,6 +24,7 @@ struct winRemoteStorageGetPublishedFileDetailsResult_t_1732 {
bool m_bTagsTruncated;
char m_pchFileName[260];
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageGetPublishedFileDetailsResult_t_1732(void *l, void *w)
{
RemoteStorageGetPublishedFileDetailsResult_t *lin = (RemoteStorageGetPublishedFileDetailsResult_t *)l;

View File

@ -5,6 +5,7 @@
#include "steamworks_sdk_118/isteamgameserverstats.h"
#include "steamworks_sdk_118/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winRemoteStorageGetPublishedFileDetailsResult_t_9484 {
EResult m_eResult;
PublishedFileId_t m_nPublishedFileId;
@ -25,6 +26,7 @@ struct winRemoteStorageGetPublishedFileDetailsResult_t_9484 {
int32 m_nFileSize;
int32 m_nPreviewFileSize;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageGetPublishedFileDetailsResult_t_9484(void *l, void *w)
{
RemoteStorageGetPublishedFileDetailsResult_t *lin = (RemoteStorageGetPublishedFileDetailsResult_t *)l;
@ -49,12 +51,14 @@ void cb_RemoteStorageGetPublishedFileDetailsResult_t_9484(void *l, void *w)
win->m_nPreviewFileSize = lin->m_nPreviewFileSize;
}
#pragma pack( push, 8 )
struct winComputeNewPlayerCompatibilityResult_t_16 {
EResult m_eResult;
int m_cPlayersThatDontLikeCandidate;
int m_cPlayersThatCandidateDoesntLike;
int m_cClanPlayersThatDontLikeCandidate;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_ComputeNewPlayerCompatibilityResult_t_16(void *l, void *w)
{
ComputeNewPlayerCompatibilityResult_t *lin = (ComputeNewPlayerCompatibilityResult_t *)l;

View File

@ -5,9 +5,11 @@
#include "steamworks_sdk_122/isteamgameserverstats.h"
#include "steamworks_sdk_122/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winRemoteStorageSubscribePublishedFileResult_t_4 {
EResult m_eResult;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageSubscribePublishedFileResult_t_4(void *l, void *w)
{
RemoteStorageSubscribePublishedFileResult_t *lin = (RemoteStorageSubscribePublishedFileResult_t *)l;
@ -15,9 +17,11 @@ void cb_RemoteStorageSubscribePublishedFileResult_t_4(void *l, void *w)
win->m_eResult = lin->m_eResult;
}
#pragma pack( push, 8 )
struct winRemoteStorageUnsubscribePublishedFileResult_t_4 {
EResult m_eResult;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageUnsubscribePublishedFileResult_t_4(void *l, void *w)
{
RemoteStorageUnsubscribePublishedFileResult_t *lin = (RemoteStorageUnsubscribePublishedFileResult_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_124/isteamgameserverstats.h"
#include "steamworks_sdk_124/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winRemoteStoragePublishFileResult_t_12 {
EResult m_eResult;
PublishedFileId_t m_nPublishedFileId;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStoragePublishFileResult_t_12(void *l, void *w)
{
RemoteStoragePublishFileResult_t *lin = (RemoteStoragePublishFileResult_t *)l;
@ -17,10 +19,12 @@ void cb_RemoteStoragePublishFileResult_t_12(void *l, void *w)
win->m_nPublishedFileId = lin->m_nPublishedFileId;
}
#pragma pack( push, 8 )
struct winRemoteStorageUpdatePublishedFileResult_t_12 {
EResult m_eResult;
PublishedFileId_t m_nPublishedFileId;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageUpdatePublishedFileResult_t_12(void *l, void *w)
{
RemoteStorageUpdatePublishedFileResult_t *lin = (RemoteStorageUpdatePublishedFileResult_t *)l;
@ -29,6 +33,7 @@ void cb_RemoteStorageUpdatePublishedFileResult_t_12(void *l, void *w)
win->m_nPublishedFileId = lin->m_nPublishedFileId;
}
#pragma pack( push, 8 )
struct winRemoteStorageEnumerateWorkshopFilesResult_t_612 {
EResult m_eResult;
int32 m_nResultsReturned;
@ -36,6 +41,7 @@ struct winRemoteStorageEnumerateWorkshopFilesResult_t_612 {
PublishedFileId_t m_rgPublishedFileId[50];
float m_rgScore[50];
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageEnumerateWorkshopFilesResult_t_612(void *l, void *w)
{
RemoteStorageEnumerateWorkshopFilesResult_t *lin = (RemoteStorageEnumerateWorkshopFilesResult_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_125/isteamgameserverstats.h"
#include "steamworks_sdk_125/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winValidateAuthTicketResponse_t_12 {
CSteamID m_SteamID;
EAuthSessionResponse m_eAuthSessionResponse;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_ValidateAuthTicketResponse_t_12(void *l, void *w)
{
ValidateAuthTicketResponse_t *lin = (ValidateAuthTicketResponse_t *)l;
@ -17,6 +19,7 @@ void cb_ValidateAuthTicketResponse_t_12(void *l, void *w)
win->m_eAuthSessionResponse = lin->m_eAuthSessionResponse;
}
#pragma pack( push, 8 )
struct winRemoteStorageGetPublishedFileDetailsResult_t_9744 {
EResult m_eResult;
PublishedFileId_t m_nPublishedFileId;
@ -39,6 +42,7 @@ struct winRemoteStorageGetPublishedFileDetailsResult_t_9744 {
char m_rgchURL[256];
EWorkshopFileType m_eFileType;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageGetPublishedFileDetailsResult_t_9744(void *l, void *w)
{
RemoteStorageGetPublishedFileDetailsResult_t *lin = (RemoteStorageGetPublishedFileDetailsResult_t *)l;
@ -65,9 +69,11 @@ void cb_RemoteStorageGetPublishedFileDetailsResult_t_9744(void *l, void *w)
win->m_eFileType = lin->m_eFileType;
}
#pragma pack( push, 8 )
struct winGSClientApprove_t_8 {
CSteamID m_SteamID;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_GSClientApprove_t_8(void *l, void *w)
{
GSClientApprove_t *lin = (GSClientApprove_t *)l;

View File

@ -5,6 +5,7 @@
#include "steamworks_sdk_128/isteamgameserverstats.h"
#include "steamworks_sdk_128/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winFavoritesListChanged_t_24 {
uint32 m_nIP;
uint32 m_nQueryPort;
@ -13,6 +14,7 @@ struct winFavoritesListChanged_t_24 {
uint32 m_nFlags;
bool m_bAdd;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_FavoritesListChanged_t_24(void *l, void *w)
{
FavoritesListChanged_t *lin = (FavoritesListChanged_t *)l;
@ -25,10 +27,12 @@ void cb_FavoritesListChanged_t_24(void *l, void *w)
win->m_bAdd = lin->m_bAdd;
}
#pragma pack( push, 8 )
struct winRemoteStorageFileShareResult_t_12 {
EResult m_eResult;
UGCHandle_t m_hFile;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageFileShareResult_t_12(void *l, void *w)
{
RemoteStorageFileShareResult_t *lin = (RemoteStorageFileShareResult_t *)l;
@ -37,9 +41,11 @@ void cb_RemoteStorageFileShareResult_t_12(void *l, void *w)
win->m_hFile = lin->m_hFile;
}
#pragma pack( push, 8 )
struct winSteamUGCRequestUGCDetailsResult_t_9760 {
SteamUGCDetails_t m_details;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_SteamUGCRequestUGCDetailsResult_t_9760(void *l, void *w)
{
SteamUGCRequestUGCDetailsResult_t *lin = (SteamUGCRequestUGCDetailsResult_t *)l;

View File

@ -5,12 +5,14 @@
#include "steamworks_sdk_132/isteamgameserverstats.h"
#include "steamworks_sdk_132/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winHTTPRequestCompleted_t_20 {
HTTPRequestHandle m_hRequest;
uint64 m_ulContextValue;
bool m_bRequestSuccessful;
EHTTPStatusCode m_eStatusCode;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTTPRequestCompleted_t_20(void *l, void *w)
{
HTTPRequestCompleted_t *lin = (HTTPRequestCompleted_t *)l;
@ -21,12 +23,14 @@ void cb_HTTPRequestCompleted_t_20(void *l, void *w)
win->m_eStatusCode = lin->m_eStatusCode;
}
#pragma pack( push, 8 )
struct winHTML_ComboNeedsPaint_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pBGRA;
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTML_ComboNeedsPaint_t_16(void *l, void *w)
{
HTML_ComboNeedsPaint_t *lin = (HTML_ComboNeedsPaint_t *)l;
@ -37,9 +41,11 @@ void cb_HTML_ComboNeedsPaint_t_16(void *l, void *w)
win->unTall = lin->unTall;
}
#pragma pack( push, 8 )
struct winHTML_ShowPopup_t_4 {
HHTMLBrowser unBrowserHandle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTML_ShowPopup_t_4(void *l, void *w)
{
HTML_ShowPopup_t *lin = (HTML_ShowPopup_t *)l;
@ -47,9 +53,11 @@ void cb_HTML_ShowPopup_t_4(void *l, void *w)
win->unBrowserHandle = lin->unBrowserHandle;
}
#pragma pack( push, 8 )
struct winHTML_HidePopup_t_4 {
HHTMLBrowser unBrowserHandle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTML_HidePopup_t_4(void *l, void *w)
{
HTML_HidePopup_t *lin = (HTML_HidePopup_t *)l;
@ -57,6 +65,7 @@ void cb_HTML_HidePopup_t_4(void *l, void *w)
win->unBrowserHandle = lin->unBrowserHandle;
}
#pragma pack( push, 8 )
struct winHTML_SizePopup_t_20 {
HHTMLBrowser unBrowserHandle;
uint32 unX;
@ -64,6 +73,7 @@ struct winHTML_SizePopup_t_20 {
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTML_SizePopup_t_20(void *l, void *w)
{
HTML_SizePopup_t *lin = (HTML_SizePopup_t *)l;
@ -75,6 +85,7 @@ void cb_HTML_SizePopup_t_20(void *l, void *w)
win->unTall = lin->unTall;
}
#pragma pack( push, 8 )
struct winHTML_NewWindow_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
@ -83,6 +94,7 @@ struct winHTML_NewWindow_t_24 {
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_HTML_NewWindow_t_24(void *l, void *w)
{
HTML_NewWindow_t *lin = (HTML_NewWindow_t *)l;

View File

@ -5,9 +5,11 @@
#include "steamworks_sdk_134/isteamgameserverstats.h"
#include "steamworks_sdk_134/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winSteamServerConnectFailure_t_4 {
EResult m_eResult;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_SteamServerConnectFailure_t_4(void *l, void *w)
{
SteamServerConnectFailure_t *lin = (SteamServerConnectFailure_t *)l;

View File

@ -5,9 +5,11 @@
#include "steamworks_sdk_136/isteamgameserverstats.h"
#include "steamworks_sdk_136/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winSteamAPICallCompleted_t_8 {
SteamAPICall_t m_hAsyncCall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_SteamAPICallCompleted_t_8(void *l, void *w)
{
SteamAPICallCompleted_t *lin = (SteamAPICallCompleted_t *)l;
@ -15,11 +17,13 @@ void cb_SteamAPICallCompleted_t_8(void *l, void *w)
win->m_hAsyncCall = lin->m_hAsyncCall;
}
#pragma pack( push, 8 )
struct winAppProofOfPurchaseKeyResponse_t_72 {
EResult m_eResult;
uint32 m_nAppID;
char m_rgchKey[64];
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_AppProofOfPurchaseKeyResponse_t_72(void *l, void *w)
{
AppProofOfPurchaseKeyResponse_t *lin = (AppProofOfPurchaseKeyResponse_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_137/isteamgameserverstats.h"
#include "steamworks_sdk_137/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winRemoteStorageConflictResolution_t_8 {
AppId_t m_nAppID;
EResult m_eResult;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_RemoteStorageConflictResolution_t_8(void *l, void *w)
{
RemoteStorageConflictResolution_t *lin = (RemoteStorageConflictResolution_t *)l;

View File

@ -5,10 +5,12 @@
#include "steamworks_sdk_140/isteamgameserverstats.h"
#include "steamworks_sdk_140/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winSubmitItemUpdateResult_t_8 {
EResult m_eResult;
bool m_bUserNeedsToAcceptWorkshopLegalAgreement;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_SubmitItemUpdateResult_t_8(void *l, void *w)
{
SubmitItemUpdateResult_t *lin = (SubmitItemUpdateResult_t *)l;

View File

@ -5,12 +5,14 @@
#include "steamworks_sdk_141/isteamgameserverstats.h"
#include "steamworks_sdk_141/isteamgamecoordinator.h"
extern "C" {
#pragma pack( push, 8 )
struct winSteamUnifiedMessagesSendMethodResult_t_24 {
ClientUnifiedMessageHandle m_hHandle;
uint64 m_unContext;
EResult m_eResult;
uint32 m_unResponseSize;
} __attribute__ ((ms_struct));
#pragma pack( pop )
void cb_SteamUnifiedMessagesSendMethodResult_t_24(void *l, void *w)
{
SteamUnifiedMessagesSendMethodResult_t *lin = (SteamUnifiedMessagesSendMethodResult_t *)l;

File diff suppressed because it is too large Load Diff