lsteamclient: Also check struct layouts in 64-bit

This commit is contained in:
Andrew Eikum 2019-06-13 09:12:28 -05:00
parent 625d6ef653
commit 6540e58078
7 changed files with 1247 additions and 19 deletions

View file

@ -42,11 +42,106 @@ case 0x00100d56: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetPr
case 0x00100d57: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_RemoveAppDependencyResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x00100d57: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_RemoveAppDependencyResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00940d58: win_msg->m_cubParam = 152; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GetAppDependenciesResult_t_152((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x00940d58: win_msg->m_cubParam = 152; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GetAppDependenciesResult_t_152((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x000c0d59: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_DeleteItemResult_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x000c0d59: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_DeleteItemResult_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#ifdef __i386__
case 0x00301196: win_msg->m_cubParam = 48; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NeedsPaint_t_48((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x00341196: win_msg->m_cubParam = 56; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NeedsPaint_t_56((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x00141197: win_msg->m_cubParam = 20; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_StartRequest_t_20((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x00201197: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_StartRequest_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x00181199: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_URLChanged_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x00241199: win_msg->m_cubParam = 48; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_URLChanged_t_48((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000c119a: win_msg->m_cubParam = 12; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FinishedRequest_t_12((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x0014119a: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FinishedRequest_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x0008119b: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_OpenLinkInNewTab_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c119b: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_OpenLinkInNewTab_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x0008119c: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ChangedTitle_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c119c: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ChangedTitle_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x001411a1: win_msg->m_cubParam = 20; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_LinkAtPosition_t_20((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x001811a1: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_LinkAtPosition_t_32((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000811a2: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_JSAlert_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c11a2: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_JSAlert_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000811a3: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_JSConfirm_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c11a3: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_JSConfirm_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000c11a4: win_msg->m_cubParam = 12; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FileOpenDialog_t_12((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x000c11a4: win_msg->m_cubParam = 12; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FileOpenDialog_t_12((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x001411a4: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_FileOpenDialog_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x001c11a9: win_msg->m_cubParam = 28; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NewWindow_t_28((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x002011a9: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NewWindow_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000811ab: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_StatusText_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c11ab: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_StatusText_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000811ac: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ShowToolTip_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c11ac: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ShowToolTip_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x000811ad: win_msg->m_cubParam = 8; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_UpdateToolTip_t_8((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x000c11ad: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_UpdateToolTip_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
case 0x00141260: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInventoryStartPurchaseResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x00141260: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInventoryStartPurchaseResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x002000d1: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GSReputation_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x002000d1: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_GSReputation_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x02c004c5: win_msg->m_cubParam = 712; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamNetConnectionStatusChangedCallback_t_712((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x02c004c5: win_msg->m_cubParam = 712; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamNetConnectionStatusChangedCallback_t_712((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00140835: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestCompleted_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x00140835: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestCompleted_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#ifdef __i386__
case 0x001011a5: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ComboNeedsPaint_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x001411a5: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_ComboNeedsPaint_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __i386__
case 0x001811a9: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NewWindow_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
#ifdef __x86_64__
case 0x001c11a9: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTML_NewWindow_t_32((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
#endif
case 0x26240d4a: win_msg->m_cubParam = 9776; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9776((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x26240d4a: win_msg->m_cubParam = 9776; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9776((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x000c051b: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_RemoteStorageFileShareResult_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x000c051b: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_RemoteStorageFileShareResult_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x26200d4a: win_msg->m_cubParam = 9768; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9768((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break; case 0x26200d4a: win_msg->m_cubParam = 9768; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9768((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;

View file

@ -174,9 +174,145 @@ struct DeleteItemResult_t;
struct winDeleteItemResult_t_16; struct winDeleteItemResult_t_16;
extern void cb_DeleteItemResult_t_16(const struct DeleteItemResult_t *l, struct winDeleteItemResult_t_16 *w); extern void cb_DeleteItemResult_t_16(const struct DeleteItemResult_t *l, struct winDeleteItemResult_t_16 *w);
struct HTML_NeedsPaint_t;
#ifdef __i386__
struct winHTML_NeedsPaint_t_48;
extern void cb_HTML_NeedsPaint_t_48(const struct HTML_NeedsPaint_t *l, struct winHTML_NeedsPaint_t_48 *w);
#endif
#ifdef __x86_64__
struct winHTML_NeedsPaint_t_56;
extern void cb_HTML_NeedsPaint_t_56(const struct HTML_NeedsPaint_t *l, struct winHTML_NeedsPaint_t_56 *w);
#endif
struct HTML_StartRequest_t;
#ifdef __i386__
struct winHTML_StartRequest_t_20;
extern void cb_HTML_StartRequest_t_20(const struct HTML_StartRequest_t *l, struct winHTML_StartRequest_t_20 *w);
#endif
#ifdef __x86_64__
struct winHTML_StartRequest_t_40;
extern void cb_HTML_StartRequest_t_40(const struct HTML_StartRequest_t *l, struct winHTML_StartRequest_t_40 *w);
#endif
struct HTML_URLChanged_t;
#ifdef __i386__
struct winHTML_URLChanged_t_24;
extern void cb_HTML_URLChanged_t_24(const struct HTML_URLChanged_t *l, struct winHTML_URLChanged_t_24 *w);
#endif
#ifdef __x86_64__
struct winHTML_URLChanged_t_48;
extern void cb_HTML_URLChanged_t_48(const struct HTML_URLChanged_t *l, struct winHTML_URLChanged_t_48 *w);
#endif
struct HTML_FinishedRequest_t;
#ifdef __i386__
struct winHTML_FinishedRequest_t_12;
extern void cb_HTML_FinishedRequest_t_12(const struct HTML_FinishedRequest_t *l, struct winHTML_FinishedRequest_t_12 *w);
#endif
#ifdef __x86_64__
struct winHTML_FinishedRequest_t_24;
extern void cb_HTML_FinishedRequest_t_24(const struct HTML_FinishedRequest_t *l, struct winHTML_FinishedRequest_t_24 *w);
#endif
struct HTML_OpenLinkInNewTab_t;
#ifdef __i386__
struct winHTML_OpenLinkInNewTab_t_8;
extern void cb_HTML_OpenLinkInNewTab_t_8(const struct HTML_OpenLinkInNewTab_t *l, struct winHTML_OpenLinkInNewTab_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_OpenLinkInNewTab_t_16;
extern void cb_HTML_OpenLinkInNewTab_t_16(const struct HTML_OpenLinkInNewTab_t *l, struct winHTML_OpenLinkInNewTab_t_16 *w);
#endif
struct HTML_ChangedTitle_t;
#ifdef __i386__
struct winHTML_ChangedTitle_t_8;
extern void cb_HTML_ChangedTitle_t_8(const struct HTML_ChangedTitle_t *l, struct winHTML_ChangedTitle_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_ChangedTitle_t_16;
extern void cb_HTML_ChangedTitle_t_16(const struct HTML_ChangedTitle_t *l, struct winHTML_ChangedTitle_t_16 *w);
#endif
struct HTML_LinkAtPosition_t;
#ifdef __i386__
struct winHTML_LinkAtPosition_t_20;
extern void cb_HTML_LinkAtPosition_t_20(const struct HTML_LinkAtPosition_t *l, struct winHTML_LinkAtPosition_t_20 *w);
#endif
#ifdef __x86_64__
struct winHTML_LinkAtPosition_t_32;
extern void cb_HTML_LinkAtPosition_t_32(const struct HTML_LinkAtPosition_t *l, struct winHTML_LinkAtPosition_t_32 *w);
#endif
struct HTML_JSAlert_t;
#ifdef __i386__
struct winHTML_JSAlert_t_8;
extern void cb_HTML_JSAlert_t_8(const struct HTML_JSAlert_t *l, struct winHTML_JSAlert_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_JSAlert_t_16;
extern void cb_HTML_JSAlert_t_16(const struct HTML_JSAlert_t *l, struct winHTML_JSAlert_t_16 *w);
#endif
struct HTML_JSConfirm_t;
#ifdef __i386__
struct winHTML_JSConfirm_t_8;
extern void cb_HTML_JSConfirm_t_8(const struct HTML_JSConfirm_t *l, struct winHTML_JSConfirm_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_JSConfirm_t_16;
extern void cb_HTML_JSConfirm_t_16(const struct HTML_JSConfirm_t *l, struct winHTML_JSConfirm_t_16 *w);
#endif
struct HTML_FileOpenDialog_t; struct HTML_FileOpenDialog_t;
#ifdef __i386__
struct winHTML_FileOpenDialog_t_12; struct winHTML_FileOpenDialog_t_12;
extern void cb_HTML_FileOpenDialog_t_12(const struct HTML_FileOpenDialog_t *l, struct winHTML_FileOpenDialog_t_12 *w); extern void cb_HTML_FileOpenDialog_t_12(const struct HTML_FileOpenDialog_t *l, struct winHTML_FileOpenDialog_t_12 *w);
#endif
#ifdef __x86_64__
struct winHTML_FileOpenDialog_t_24;
extern void cb_HTML_FileOpenDialog_t_24(const struct HTML_FileOpenDialog_t *l, struct winHTML_FileOpenDialog_t_24 *w);
#endif
struct HTML_NewWindow_t;
#ifdef __i386__
struct winHTML_NewWindow_t_28;
extern void cb_HTML_NewWindow_t_28(const struct HTML_NewWindow_t *l, struct winHTML_NewWindow_t_28 *w);
#endif
#ifdef __x86_64__
struct winHTML_NewWindow_t_40;
extern void cb_HTML_NewWindow_t_40(const struct HTML_NewWindow_t *l, struct winHTML_NewWindow_t_40 *w);
#endif
struct HTML_StatusText_t;
#ifdef __i386__
struct winHTML_StatusText_t_8;
extern void cb_HTML_StatusText_t_8(const struct HTML_StatusText_t *l, struct winHTML_StatusText_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_StatusText_t_16;
extern void cb_HTML_StatusText_t_16(const struct HTML_StatusText_t *l, struct winHTML_StatusText_t_16 *w);
#endif
struct HTML_ShowToolTip_t;
#ifdef __i386__
struct winHTML_ShowToolTip_t_8;
extern void cb_HTML_ShowToolTip_t_8(const struct HTML_ShowToolTip_t *l, struct winHTML_ShowToolTip_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_ShowToolTip_t_16;
extern void cb_HTML_ShowToolTip_t_16(const struct HTML_ShowToolTip_t *l, struct winHTML_ShowToolTip_t_16 *w);
#endif
struct HTML_UpdateToolTip_t;
#ifdef __i386__
struct winHTML_UpdateToolTip_t_8;
extern void cb_HTML_UpdateToolTip_t_8(const struct HTML_UpdateToolTip_t *l, struct winHTML_UpdateToolTip_t_8 *w);
#endif
#ifdef __x86_64__
struct winHTML_UpdateToolTip_t_16;
extern void cb_HTML_UpdateToolTip_t_16(const struct HTML_UpdateToolTip_t *l, struct winHTML_UpdateToolTip_t_16 *w);
#endif
struct SteamInventoryStartPurchaseResult_t; struct SteamInventoryStartPurchaseResult_t;
struct winSteamInventoryStartPurchaseResult_t_24; struct winSteamInventoryStartPurchaseResult_t_24;
@ -194,6 +330,26 @@ struct HTTPRequestCompleted_t;
struct winHTTPRequestCompleted_t_24; struct winHTTPRequestCompleted_t_24;
extern void cb_HTTPRequestCompleted_t_24(const struct HTTPRequestCompleted_t *l, struct winHTTPRequestCompleted_t_24 *w); extern void cb_HTTPRequestCompleted_t_24(const struct HTTPRequestCompleted_t *l, struct winHTTPRequestCompleted_t_24 *w);
struct HTML_ComboNeedsPaint_t;
#ifdef __i386__
struct winHTML_ComboNeedsPaint_t_16;
extern void cb_HTML_ComboNeedsPaint_t_16(const struct HTML_ComboNeedsPaint_t *l, struct winHTML_ComboNeedsPaint_t_16 *w);
#endif
#ifdef __x86_64__
struct winHTML_ComboNeedsPaint_t_24;
extern void cb_HTML_ComboNeedsPaint_t_24(const struct HTML_ComboNeedsPaint_t *l, struct winHTML_ComboNeedsPaint_t_24 *w);
#endif
struct HTML_NewWindow_t;
#ifdef __i386__
struct winHTML_NewWindow_t_24;
extern void cb_HTML_NewWindow_t_24(const struct HTML_NewWindow_t *l, struct winHTML_NewWindow_t_24 *w);
#endif
#ifdef __x86_64__
struct winHTML_NewWindow_t_32;
extern void cb_HTML_NewWindow_t_32(const struct HTML_NewWindow_t *l, struct winHTML_NewWindow_t_32 *w);
#endif
struct SteamUGCRequestUGCDetailsResult_t; struct SteamUGCRequestUGCDetailsResult_t;
struct winSteamUGCRequestUGCDetailsResult_t_9776; struct winSteamUGCRequestUGCDetailsResult_t_9776;
extern void cb_SteamUGCRequestUGCDetailsResult_t_9776(const struct SteamUGCRequestUGCDetailsResult_t *l, struct winSteamUGCRequestUGCDetailsResult_t_9776 *w); extern void cb_SteamUGCRequestUGCDetailsResult_t_9776(const struct SteamUGCRequestUGCDetailsResult_t *l, struct winSteamUGCRequestUGCDetailsResult_t_9776 *w);

View file

@ -1,17 +1,28 @@
#ifdef __i386__
case 513: /* LobbyCreated_t_16 */ case 513: /* LobbyCreated_t_16 */
return 12; return 12;
case 4524: /* HTML_ShowToolTip_t_8 */
return 8;
case 3415: /* RemoveAppDependencyResult_t_24 */ case 3415: /* RemoveAppDependencyResult_t_24 */
return 16; return 16;
case 4514: /* HTML_JSAlert_t_8 */
return 8;
case 3416: /* GetAppDependenciesResult_t_152 */ case 3416: /* GetAppDependenciesResult_t_152 */
return 148; return 148;
case 4502: /* HTML_NeedsPaint_t_48 */
return 48;
case 1303: /* RemoteStorageAppSyncProgress_t_288 */ case 1303: /* RemoteStorageAppSyncProgress_t_288 */
return 280; return 280;
case 152: /* MicroTxnAuthorizationResponse_t_24 */ case 152: /* MicroTxnAuthorizationResponse_t_24 */
return 16; return 16;
case 4505: /* HTML_URLChanged_t_24 */
return 24;
case 4506: /* HTML_FinishedRequest_t_12 */
return 12;
case 1307: /* RemoteStorageFileShareResult_t_280 */ case 1307: /* RemoteStorageFileShareResult_t_280 */
return 272; return 272;
case 1308: /* RemoteStorageDownloadUGCResult_t_40 */ case 4508: /* HTML_ChangedTitle_t_8 */
return 32; return 8;
case 1309: /* RemoteStoragePublishFileResult_t_24 */ case 1309: /* RemoteStoragePublishFileResult_t_24 */
return 16; return 16;
case 1310: /* RemoteStorageGetPublishedFileDetailsResult_t_1744 */ case 1310: /* RemoteStorageGetPublishedFileDetailsResult_t_1744 */
@ -36,6 +47,10 @@ case 1319: /* RemoteStorageEnumerateWorkshopFilesResult_t_624 */
return 620; return 620;
case 1320: /* RemoteStorageGetPublishedItemVoteDetailsResult_t_32 */ case 1320: /* RemoteStorageGetPublishedItemVoteDetailsResult_t_32 */
return 28; return 28;
case 4521: /* HTML_NewWindow_t_28 */
return 28;
case 4523: /* HTML_StatusText_t_8 */
return 8;
case 1324: /* RemoteStorageUpdateUserPublishedItemVoteResult_t_16 */ case 1324: /* RemoteStorageUpdateUserPublishedItemVoteResult_t_16 */
return 12; return 12;
case 1325: /* RemoteStorageUserVoteDetails_t_24 */ case 1325: /* RemoteStorageUserVoteDetails_t_24 */
@ -52,16 +67,24 @@ case 5302: /* CreateBeaconCallback_t_16 */
return 12; return 12;
case 2103: /* HTTPRequestDataReceived_t_24 */ case 2103: /* HTTPRequestDataReceived_t_24 */
return 20; return 20;
case 4507: /* HTML_OpenLinkInNewTab_t_8 */
return 8;
case 2101: /* HTTPRequestCompleted_t_32 */ case 2101: /* HTTPRequestCompleted_t_32 */
return 24; return 24;
case 1221: /* SteamNetConnectionStatusChangedCallback_t_712 */ case 4525: /* HTML_UpdateToolTip_t_8 */
return 704; return 8;
case 4503: /* HTML_StartRequest_t_20 */
return 20;
case 2102: /* HTTPRequestHeadersReceived_t_16 */ case 2102: /* HTTPRequestHeadersReceived_t_16 */
return 12; return 12;
case 4513: /* HTML_LinkAtPosition_t_20 */
return 20;
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */ case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
return 9768; return 9768;
case 3403: /* CreateItemResult_t_24 */ case 3403: /* CreateItemResult_t_24 */
return 16; return 16;
case 1221: /* SteamNetConnectionStatusChangedCallback_t_712 */
return 704;
case 3405: /* ItemInstalled_t_16 */ case 3405: /* ItemInstalled_t_16 */
return 12; return 12;
case 3406: /* DownloadItemResult_t_24 */ case 3406: /* DownloadItemResult_t_24 */
@ -70,6 +93,8 @@ case 209: /* GSReputation_t_40 */
return 32; return 32;
case 1106: /* LeaderboardScoreUploaded_t_32 */ case 1106: /* LeaderboardScoreUploaded_t_32 */
return 28; return 28;
case 4515: /* HTML_JSConfirm_t_8 */
return 8;
case 3412: /* AddUGCDependencyResult_t_24 */ case 3412: /* AddUGCDependencyResult_t_24 */
return 20; return 20;
case 3413: /* RemoveUGCDependencyResult_t_24 */ case 3413: /* RemoveUGCDependencyResult_t_24 */
@ -94,7 +119,44 @@ case 5215: /* EndGameResultCallback_t_16 */
return 12; return 12;
case 4704: /* SteamInventoryStartPurchaseResult_t_24 */ case 4704: /* SteamInventoryStartPurchaseResult_t_24 */
return 20; return 20;
case 4517: /* HTML_ComboNeedsPaint_t_16 */
return 16;
case 1308: /* RemoteStorageDownloadUGCResult_t_40 */
return 32;
case 4516: /* HTML_FileOpenDialog_t_12 */ case 4516: /* HTML_FileOpenDialog_t_12 */
return 12; return 12;
case 1023: /* FileDetailsResult_t_40 */ case 1023: /* FileDetailsResult_t_40 */
return 36; return 36;
#endif
#ifdef __x86_64__
case 4513: /* HTML_LinkAtPosition_t_32 */
return 24;
case 4514: /* HTML_JSAlert_t_16 */
return 12;
case 4515: /* HTML_JSConfirm_t_16 */
return 12;
case 4516: /* HTML_FileOpenDialog_t_24 */
return 20;
case 4517: /* HTML_ComboNeedsPaint_t_24 */
return 20;
case 4521: /* HTML_NewWindow_t_40 */
return 32;
case 4523: /* HTML_StatusText_t_16 */
return 12;
case 4524: /* HTML_ShowToolTip_t_16 */
return 12;
case 4525: /* HTML_UpdateToolTip_t_16 */
return 12;
case 4502: /* HTML_NeedsPaint_t_56 */
return 52;
case 4503: /* HTML_StartRequest_t_40 */
return 32;
case 4505: /* HTML_URLChanged_t_48 */
return 36;
case 4506: /* HTML_FinishedRequest_t_24 */
return 20;
case 4507: /* HTML_OpenLinkInNewTab_t_16 */
return 12;
case 4508: /* HTML_ChangedTitle_t_16 */
return 12;
#endif

View file

@ -1,21 +1,40 @@
#ifdef __i386__
case 513: case 513:
switch(callback_len){ switch(callback_len){
default: default:
case 16: cb_LobbyCreated_t_16(lin_callback, callback); break; case 16: cb_LobbyCreated_t_16(lin_callback, callback); break;
} }
break; break;
case 4524:
switch(callback_len){
default:
case 8: cb_HTML_ShowToolTip_t_8(lin_callback, callback); break;
}
break;
case 3415: case 3415:
switch(callback_len){ switch(callback_len){
default: default:
case 24: cb_RemoveAppDependencyResult_t_24(lin_callback, callback); break; case 24: cb_RemoveAppDependencyResult_t_24(lin_callback, callback); break;
} }
break; break;
case 4514:
switch(callback_len){
default:
case 8: cb_HTML_JSAlert_t_8(lin_callback, callback); break;
}
break;
case 3416: case 3416:
switch(callback_len){ switch(callback_len){
default: default:
case 152: cb_GetAppDependenciesResult_t_152(lin_callback, callback); break; case 152: cb_GetAppDependenciesResult_t_152(lin_callback, callback); break;
} }
break; break;
case 4502:
switch(callback_len){
default:
case 48: cb_HTML_NeedsPaint_t_48(lin_callback, callback); break;
}
break;
case 1303: case 1303:
switch(callback_len){ switch(callback_len){
default: default:
@ -28,6 +47,18 @@ case 152:
case 24: cb_MicroTxnAuthorizationResponse_t_24(lin_callback, callback); break; case 24: cb_MicroTxnAuthorizationResponse_t_24(lin_callback, callback); break;
} }
break; break;
case 4505:
switch(callback_len){
default:
case 24: cb_HTML_URLChanged_t_24(lin_callback, callback); break;
}
break;
case 4506:
switch(callback_len){
default:
case 12: cb_HTML_FinishedRequest_t_12(lin_callback, callback); break;
}
break;
case 1307: case 1307:
switch(callback_len){ switch(callback_len){
default: default:
@ -35,10 +66,10 @@ case 1307:
case 16: cb_RemoteStorageFileShareResult_t_16(lin_callback, callback); break; case 16: cb_RemoteStorageFileShareResult_t_16(lin_callback, callback); break;
} }
break; break;
case 1308: case 4508:
switch(callback_len){ switch(callback_len){
default: default:
case 40: cb_RemoteStorageDownloadUGCResult_t_40(lin_callback, callback); break; case 8: cb_HTML_ChangedTitle_t_8(lin_callback, callback); break;
} }
break; break;
case 1309: case 1309:
@ -118,6 +149,19 @@ case 1320:
case 32: cb_RemoteStorageGetPublishedItemVoteDetailsResult_t_32(lin_callback, callback); break; case 32: cb_RemoteStorageGetPublishedItemVoteDetailsResult_t_32(lin_callback, callback); break;
} }
break; break;
case 4521:
switch(callback_len){
default:
case 28: cb_HTML_NewWindow_t_28(lin_callback, callback); break;
case 24: cb_HTML_NewWindow_t_24(lin_callback, callback); break;
}
break;
case 4523:
switch(callback_len){
default:
case 8: cb_HTML_StatusText_t_8(lin_callback, callback); break;
}
break;
case 1324: case 1324:
switch(callback_len){ switch(callback_len){
default: default:
@ -166,6 +210,12 @@ case 2103:
case 24: cb_HTTPRequestDataReceived_t_24(lin_callback, callback); break; case 24: cb_HTTPRequestDataReceived_t_24(lin_callback, callback); break;
} }
break; break;
case 4507:
switch(callback_len){
default:
case 8: cb_HTML_OpenLinkInNewTab_t_8(lin_callback, callback); break;
}
break;
case 2101: case 2101:
switch(callback_len){ switch(callback_len){
default: default:
@ -173,10 +223,16 @@ case 2101:
case 24: cb_HTTPRequestCompleted_t_24(lin_callback, callback); break; case 24: cb_HTTPRequestCompleted_t_24(lin_callback, callback); break;
} }
break; break;
case 1221: case 4525:
switch(callback_len){ switch(callback_len){
default: default:
case 712: cb_SteamNetConnectionStatusChangedCallback_t_712(lin_callback, callback); break; case 8: cb_HTML_UpdateToolTip_t_8(lin_callback, callback); break;
}
break;
case 4503:
switch(callback_len){
default:
case 20: cb_HTML_StartRequest_t_20(lin_callback, callback); break;
} }
break; break;
case 2102: case 2102:
@ -185,6 +241,12 @@ case 2102:
case 16: cb_HTTPRequestHeadersReceived_t_16(lin_callback, callback); break; case 16: cb_HTTPRequestHeadersReceived_t_16(lin_callback, callback); break;
} }
break; break;
case 4513:
switch(callback_len){
default:
case 20: cb_HTML_LinkAtPosition_t_20(lin_callback, callback); break;
}
break;
case 3402: case 3402:
switch(callback_len){ switch(callback_len){
default: default:
@ -199,6 +261,12 @@ case 3403:
case 24: cb_CreateItemResult_t_24(lin_callback, callback); break; case 24: cb_CreateItemResult_t_24(lin_callback, callback); break;
} }
break; break;
case 1221:
switch(callback_len){
default:
case 712: cb_SteamNetConnectionStatusChangedCallback_t_712(lin_callback, callback); break;
}
break;
case 3405: case 3405:
switch(callback_len){ switch(callback_len){
default: default:
@ -223,6 +291,12 @@ case 1106:
case 32: cb_LeaderboardScoreUploaded_t_32(lin_callback, callback); break; case 32: cb_LeaderboardScoreUploaded_t_32(lin_callback, callback); break;
} }
break; break;
case 4515:
switch(callback_len){
default:
case 8: cb_HTML_JSConfirm_t_8(lin_callback, callback); break;
}
break;
case 3412: case 3412:
switch(callback_len){ switch(callback_len){
default: default:
@ -295,6 +369,18 @@ case 4704:
case 24: cb_SteamInventoryStartPurchaseResult_t_24(lin_callback, callback); break; case 24: cb_SteamInventoryStartPurchaseResult_t_24(lin_callback, callback); break;
} }
break; break;
case 4517:
switch(callback_len){
default:
case 16: cb_HTML_ComboNeedsPaint_t_16(lin_callback, callback); break;
}
break;
case 1308:
switch(callback_len){
default:
case 40: cb_RemoteStorageDownloadUGCResult_t_40(lin_callback, callback); break;
}
break;
case 4516: case 4516:
switch(callback_len){ switch(callback_len){
default: default:
@ -307,3 +393,97 @@ case 1023:
case 40: cb_FileDetailsResult_t_40(lin_callback, callback); break; case 40: cb_FileDetailsResult_t_40(lin_callback, callback); break;
} }
break; break;
#endif
#ifdef __x86_64__
case 4513:
switch(callback_len){
default:
case 32: cb_HTML_LinkAtPosition_t_32(lin_callback, callback); break;
}
break;
case 4514:
switch(callback_len){
default:
case 16: cb_HTML_JSAlert_t_16(lin_callback, callback); break;
}
break;
case 4515:
switch(callback_len){
default:
case 16: cb_HTML_JSConfirm_t_16(lin_callback, callback); break;
}
break;
case 4516:
switch(callback_len){
default:
case 24: cb_HTML_FileOpenDialog_t_24(lin_callback, callback); break;
}
break;
case 4517:
switch(callback_len){
default:
case 24: cb_HTML_ComboNeedsPaint_t_24(lin_callback, callback); break;
}
break;
case 4521:
switch(callback_len){
default:
case 40: cb_HTML_NewWindow_t_40(lin_callback, callback); break;
case 32: cb_HTML_NewWindow_t_32(lin_callback, callback); break;
}
break;
case 4523:
switch(callback_len){
default:
case 16: cb_HTML_StatusText_t_16(lin_callback, callback); break;
}
break;
case 4524:
switch(callback_len){
default:
case 16: cb_HTML_ShowToolTip_t_16(lin_callback, callback); break;
}
break;
case 4525:
switch(callback_len){
default:
case 16: cb_HTML_UpdateToolTip_t_16(lin_callback, callback); break;
}
break;
case 4502:
switch(callback_len){
default:
case 56: cb_HTML_NeedsPaint_t_56(lin_callback, callback); break;
}
break;
case 4503:
switch(callback_len){
default:
case 40: cb_HTML_StartRequest_t_40(lin_callback, callback); break;
}
break;
case 4505:
switch(callback_len){
default:
case 48: cb_HTML_URLChanged_t_48(lin_callback, callback); break;
}
break;
case 4506:
switch(callback_len){
default:
case 24: cb_HTML_FinishedRequest_t_24(lin_callback, callback); break;
}
break;
case 4507:
switch(callback_len){
default:
case 16: cb_HTML_OpenLinkInNewTab_t_16(lin_callback, callback); break;
}
break;
case 4508:
switch(callback_len){
default:
case 16: cb_HTML_ChangedTitle_t_16(lin_callback, callback); break;
}
break;
#endif

View file

@ -394,11 +394,25 @@ def find_windows_struct(struct):
return child.type return child.type
return None return None
def find_windows64_struct(struct):
for child in list(windows_build64.cursor.get_children()):
if strip_const(struct.spelling) == child.spelling:
return child.type
return None
def find_linux64_struct(struct):
for child in list(linux_build64.cursor.get_children()):
if strip_const(struct.spelling) == child.spelling:
return child.type
return None
def struct_needs_conversion_nocache(struct): def struct_needs_conversion_nocache(struct):
if strip_const(struct.spelling) in exempt_structs: if strip_const(struct.spelling) in exempt_structs:
return False return False
if strip_const(struct.spelling) in manually_handled_structs: if strip_const(struct.spelling) in manually_handled_structs:
return True return True
#check 32-bit compat
windows_struct = find_windows_struct(struct) windows_struct = find_windows_struct(struct)
assert(not windows_struct is None) #must find windows_struct assert(not windows_struct is None) #must find windows_struct
for field in struct.get_fields(): for field in struct.get_fields():
@ -407,6 +421,20 @@ def struct_needs_conversion_nocache(struct):
if field.type.kind == clang.cindex.TypeKind.RECORD and \ if field.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type): struct_needs_conversion(field.type):
return True return True
#check 64-bit compat
windows_struct = find_windows64_struct(struct)
assert(not windows_struct is None) #must find windows_struct
lin64_struct = find_linux64_struct(struct)
assert(not lin64_struct is None) #must find lin64_struct
for field in lin64_struct.get_fields():
if lin64_struct.get_offset(field.spelling) != windows_struct.get_offset(field.spelling):
return True
if field.type.kind == clang.cindex.TypeKind.RECORD and \
struct_needs_conversion(field.type):
return True
#check if any members need path conversion
path_conv = get_path_converter(struct) path_conv = get_path_converter(struct)
if path_conv: if path_conv:
return True return True
@ -764,6 +792,7 @@ generated_cb_handlers = []
generated_cb_ids = [] generated_cb_ids = []
cpp_files_need_close_brace = [] cpp_files_need_close_brace = []
cb_table = {} cb_table = {}
cb_table64 = {}
def get_field_attribute_str(field): def get_field_attribute_str(field):
if field.type.kind != clang.cindex.TypeKind.RECORD: if field.type.kind != clang.cindex.TypeKind.RECORD:
@ -794,9 +823,9 @@ def handle_struct(sdkver, struct):
w2l_handler_name = None w2l_handler_name = None
l2w_handler_name = None l2w_handler_name = None
def dump_win_struct(to_file): def dump_win_struct(to_file, name):
to_file.write("#pragma pack( push, 8 )\n") to_file.write("#pragma pack( push, 8 )\n")
to_file.write("struct win%s {\n" % struct_name) to_file.write("struct win%s {\n" % name)
for m in struct.get_children(): for m in struct.get_children():
if m.kind == clang.cindex.CursorKind.FIELD_DECL: if m.kind == clang.cindex.CursorKind.FIELD_DECL:
if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY: if m.type.kind == clang.cindex.TypeKind.CONSTANTARRAY:
@ -831,9 +860,10 @@ def handle_struct(sdkver, struct):
w2l_handler_name = "win_to_lin_struct_%s" % struct_name; w2l_handler_name = "win_to_lin_struct_%s" % struct_name;
l2w_handler_name = "lin_to_win_struct_%s" % struct_name; l2w_handler_name = "lin_to_win_struct_%s" % struct_name;
l2w_handler_name64 = None
hfile.write("#if defined(SDKVER_%s) || !defined(__cplusplus)\n" % sdkver) hfile.write("#if defined(SDKVER_%s) || !defined(__cplusplus)\n" % sdkver)
dump_win_struct(hfile) dump_win_struct(hfile, struct_name)
hfile.write("typedef struct win%s win%s;\n" % (struct_name, struct_name)) hfile.write("typedef struct win%s win%s;\n" % (struct_name, struct_name))
hfile.write("struct %s;\n" % struct.displayname); hfile.write("struct %s;\n" % struct.displayname);
@ -847,8 +877,15 @@ def handle_struct(sdkver, struct):
else: else:
#for callbacks, we use the windows struct size in the cb dispatch switch #for callbacks, we use the windows struct size in the cb dispatch switch
windows_struct = find_windows_struct(struct.type) windows_struct = find_windows_struct(struct.type)
windows_struct64 = find_windows64_struct(struct.type)
struct64 = find_linux64_struct(struct.type)
struct_name = "%s_%s" % (struct.displayname, windows_struct.get_size()) struct_name = "%s_%s" % (struct.displayname, windows_struct.get_size())
l2w_handler_name = "cb_%s" % struct_name; l2w_handler_name = "cb_%s" % struct_name;
if windows_struct64.get_size() != windows_struct.get_size():
struct_name64 = "%s_%s" % (struct.displayname, windows_struct64.get_size())
l2w_handler_name64 = "cb_%s" % struct_name64;
else:
l2w_handler_name64 = None
if l2w_handler_name in generated_cb_handlers: if l2w_handler_name in generated_cb_handlers:
# we already have a handler for the callback struct of this size # we already have a handler for the callback struct of this size
return return
@ -856,6 +893,7 @@ def handle_struct(sdkver, struct):
return return
cb_id = cb_num | (struct.type.get_size() << 16) cb_id = cb_num | (struct.type.get_size() << 16)
cb_id64 = cb_num | (struct64.get_size() << 16)
if cb_id in generated_cb_ids: if cb_id in generated_cb_ids:
# either this cb changed name, or steam used the same ID for different structs # either this cb changed name, or steam used the same ID for different structs
return return
@ -863,19 +901,41 @@ def handle_struct(sdkver, struct):
generated_cb_ids.append(cb_id) generated_cb_ids.append(cb_id)
datfile = open("cb_converters.dat", "a") datfile = open("cb_converters.dat", "a")
datfile.write("case 0x%08x: win_msg->m_cubParam = %s; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); %s((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;\n" % (cb_id, windows_struct.get_size(), l2w_handler_name)) if l2w_handler_name64:
datfile.write("#ifdef __i386__\n")
datfile.write("case 0x%08x: win_msg->m_cubParam = %s; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); %s((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;\n" % (cb_id, windows_struct.get_size(), l2w_handler_name))
datfile.write("#endif\n")
datfile.write("#ifdef __x86_64__\n")
datfile.write("case 0x%08x: win_msg->m_cubParam = %s; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); %s((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;\n" % (cb_id64, windows_struct64.get_size(), l2w_handler_name64))
datfile.write("#endif\n")
else:
datfile.write("case 0x%08x: win_msg->m_cubParam = %s; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); %s((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;\n" % (cb_id, windows_struct.get_size(), l2w_handler_name))
generated_cb_handlers.append(l2w_handler_name) generated_cb_handlers.append(l2w_handler_name)
if not cb_num in cb_table.keys(): if not cb_num in cb_table.keys():
# latest SDK linux size, list of windows struct sizes and names # latest SDK linux size, list of windows struct sizes and names
cb_table[cb_num] = (struct.type.get_size(), []) cb_table[cb_num] = (struct.type.get_size(), [])
if l2w_handler_name64:
cb_table64[cb_num] = (struct64.get_size(), [])
cb_table[cb_num][1].append((windows_struct.get_size(), struct_name)) cb_table[cb_num][1].append((windows_struct.get_size(), struct_name))
hfile = open("cb_converters.h", "a") hfile = open("cb_converters.h", "a")
hfile.write("struct %s;\n" % struct.displayname) hfile.write("struct %s;\n" % struct.displayname)
hfile.write("struct win%s;\n" % struct_name) if l2w_handler_name64:
hfile.write("extern void %s(const struct %s *l, struct win%s *w);\n\n" % (l2w_handler_name, struct.displayname, struct_name)) cb_table64[cb_num][1].append((windows_struct64.get_size(), struct_name64))
hfile.write("#ifdef __i386__\n")
hfile.write("struct win%s;\n" % struct_name)
hfile.write("extern void %s(const struct %s *l, struct win%s *w);\n" % (l2w_handler_name, struct.displayname, struct_name))
hfile.write("#endif\n")
hfile.write("#ifdef __x86_64__\n")
hfile.write("struct win%s;\n" % struct_name64)
hfile.write("extern void %s(const struct %s *l, struct win%s *w);\n" % (l2w_handler_name64, struct.displayname, struct_name64))
hfile.write("#endif\n\n")
else:
hfile.write("struct win%s;\n" % struct_name)
hfile.write("extern void %s(const struct %s *l, struct win%s *w);\n\n" % (l2w_handler_name, struct.displayname, struct_name))
cppname = "struct_converters_%s.cpp" % sdkver cppname = "struct_converters_%s.cpp" % sdkver
file_exists = os.path.isfile(cppname) file_exists = os.path.isfile(cppname)
@ -916,7 +976,15 @@ def handle_struct(sdkver, struct):
cppfile.write(" %s->%s = %s->%s;\n" % (dst, m.displayname, src, m.displayname)) cppfile.write(" %s->%s = %s->%s;\n" % (dst, m.displayname, src, m.displayname))
if not cb_num is None: if not cb_num is None:
dump_win_struct(cppfile) if l2w_handler_name64:
cppfile.write("#ifdef __i386__\n")
dump_win_struct(cppfile, struct_name)
cppfile.write("#endif\n")
cppfile.write("#ifdef __x86_64__\n")
dump_win_struct(cppfile, struct_name64)
cppfile.write("#endif\n")
else:
dump_win_struct(cppfile, struct_name)
if w2l_handler_name: if w2l_handler_name:
cppfile.write("void %s(const struct win%s *win, struct %s *lin)\n{\n" % (w2l_handler_name, struct_name, struct.displayname)) cppfile.write("void %s(const struct win%s *win, struct %s *lin)\n{\n" % (w2l_handler_name, struct_name, struct.displayname))
@ -924,13 +992,25 @@ def handle_struct(sdkver, struct):
handle_field(m, "win", "lin") handle_field(m, "win", "lin")
cppfile.write("}\n\n") cppfile.write("}\n\n")
if l2w_handler_name64:
cppfile.write("#ifdef __x86_64__\n")
cppfile.write("void %s(const struct %s *lin, struct win%s *win)\n{\n" % (l2w_handler_name64, struct.displayname, struct_name64))
for m in struct.get_children():
handle_field(m, "lin", "win")
cppfile.write("}\n")
cppfile.write("#endif\n\n")
if l2w_handler_name: if l2w_handler_name:
if l2w_handler_name64:
cppfile.write("#ifdef __i386__\n")
cppfile.write("void %s(const struct %s *lin, struct win%s *win)\n{\n" % (l2w_handler_name, struct.displayname, struct_name)) cppfile.write("void %s(const struct %s *lin, struct win%s *win)\n{\n" % (l2w_handler_name, struct.displayname, struct_name))
for m in struct.get_children(): for m in struct.get_children():
handle_field(m, "lin", "win") handle_field(m, "lin", "win")
cppfile.write("}\n\n") cppfile.write("}\n")
if l2w_handler_name64:
#clang.cindex.Config.set_library_file("/usr/lib/llvm-3.8/lib/libclang-3.8.so.1"); cppfile.write("#endif\n\n")
else:
cppfile.write("\n")
prog = re.compile("^#define\s*(\w*)\s*\"(.*)\"") prog = re.compile("^#define\s*(\w*)\s*\"(.*)\"")
for sdkver in sdk_versions: for sdkver in sdk_versions:
@ -945,13 +1025,13 @@ for sdkver in sdk_versions:
iface_versions[iface] = version iface_versions[iface] = version
for fname, classes in files: for fname, classes in files:
# Parse as 32-bit C++
input_name = "steamworks_sdk_%s/%s" % (sdkver, fname) input_name = "steamworks_sdk_%s/%s" % (sdkver, fname)
sys.stdout.write("about to parse %s\n" % input_name) sys.stdout.write("about to parse %s\n" % input_name)
if not os.path.isfile(input_name): if not os.path.isfile(input_name):
continue continue
index = clang.cindex.Index.create() index = clang.cindex.Index.create()
linux_build = index.parse(input_name, args=['-x', 'c++', '-m32', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/']) linux_build = index.parse(input_name, args=['-x', 'c++', '-m32', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/'])
linux_build64 = index.parse(input_name, args=['-x', 'c++', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/'])
diagnostics = list(linux_build.diagnostics) diagnostics = list(linux_build.diagnostics)
if len(diagnostics) > 0: if len(diagnostics) > 0:
@ -959,6 +1039,7 @@ for sdkver in sdk_versions:
pprint.pprint(diagnostics) pprint.pprint(diagnostics)
else: else:
windows_build = index.parse(input_name, args=['-x', 'c++', '-m32', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/', '-mms-bitfields', '-U__linux__', '-Wno-incompatible-ms-struct']) windows_build = index.parse(input_name, args=['-x', 'c++', '-m32', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/', '-mms-bitfields', '-U__linux__', '-Wno-incompatible-ms-struct'])
windows_build64 = index.parse(input_name, args=['-x', 'c++', '-Isteamworks_sdk_%s/' % sdkver, '-I' + CLANG_PATH + '/include/', '-mms-bitfields', '-U__linux__', '-Wno-incompatible-ms-struct'])
diagnostics = list(windows_build.diagnostics) diagnostics = list(windows_build.diagnostics)
if len(diagnostics) > 0: if len(diagnostics) > 0:
print('There were parse errors (windows build)') print('There were parse errors (windows build)')
@ -980,6 +1061,9 @@ for f in cpp_files_need_close_brace:
getapifile = open("cb_getapi_table.dat", "w") getapifile = open("cb_getapi_table.dat", "w")
cbsizefile = open("cb_getapi_sizes.dat", "w") cbsizefile = open("cb_getapi_sizes.dat", "w")
cbsizefile.write("#ifdef __i386__\n")
getapifile.write("#ifdef __i386__\n")
for cb in cb_table.keys(): for cb in cb_table.keys():
cbsizefile.write("case %u: /* %s */\n" % (cb, cb_table[cb][1][0][1])) cbsizefile.write("case %u: /* %s */\n" % (cb, cb_table[cb][1][0][1]))
cbsizefile.write(" return %u;\n" % cb_table[cb][0]) cbsizefile.write(" return %u;\n" % cb_table[cb][0])
@ -989,3 +1073,19 @@ for cb in cb_table.keys():
for (size, name) in cb_table[cb][1]: for (size, name) in cb_table[cb][1]:
getapifile.write(" case %s: cb_%s(lin_callback, callback); break;\n" % (size, name)) getapifile.write(" case %s: cb_%s(lin_callback, callback); break;\n" % (size, name))
getapifile.write(" }\n break;\n") getapifile.write(" }\n break;\n")
cbsizefile.write("#endif\n")
getapifile.write("#endif\n")
cbsizefile.write("#ifdef __x86_64__\n")
getapifile.write("#ifdef __x86_64__\n")
for cb in cb_table64.keys():
cbsizefile.write("case %u: /* %s */\n" % (cb, cb_table64[cb][1][0][1]))
cbsizefile.write(" return %u;\n" % cb_table64[cb][0])
getapifile.write("case %u:\n" % cb)
getapifile.write(" switch(callback_len){\n")
getapifile.write(" default:\n") # the first one should be the latest, should best support future SDK versions
for (size, name) in cb_table64[cb][1]:
getapifile.write(" case %s: cb_%s(lin_callback, callback); break;\n" % (size, name))
getapifile.write(" }\n break;\n")
cbsizefile.write("#endif\n")
getapifile.write("#endif\n")

View file

@ -101,5 +101,93 @@ void lin_to_win_struct_SteamUGCDetails_t_132(const struct SteamUGCDetails_t *lin
win->m_unNumChildren = lin->m_unNumChildren; win->m_unNumChildren = lin->m_unNumChildren;
} }
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_ComboNeedsPaint_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pBGRA;
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_ComboNeedsPaint_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pBGRA;
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_ComboNeedsPaint_t_24(const struct HTML_ComboNeedsPaint_t *lin, struct winHTML_ComboNeedsPaint_t_24 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pBGRA = lin->pBGRA;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
}
#endif
#ifdef __i386__
void cb_HTML_ComboNeedsPaint_t_16(const struct HTML_ComboNeedsPaint_t *lin, struct winHTML_ComboNeedsPaint_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pBGRA = lin->pBGRA;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_NewWindow_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
uint32 unX;
uint32 unY;
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_NewWindow_t_32 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
uint32 unX;
uint32 unY;
uint32 unWide;
uint32 unTall;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_NewWindow_t_32(const struct HTML_NewWindow_t *lin, struct winHTML_NewWindow_t_32 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->unX = lin->unX;
win->unY = lin->unY;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
}
#endif
#ifdef __i386__
void cb_HTML_NewWindow_t_24(const struct HTML_NewWindow_t *lin, struct winHTML_NewWindow_t_24 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->unX = lin->unX;
win->unY = lin->unY;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
}
#endif
} }

View file

@ -791,6 +791,383 @@ void cb_DeleteItemResult_t_16(const struct DeleteItemResult_t *lin, struct winDe
win->m_nPublishedFileId = lin->m_nPublishedFileId; win->m_nPublishedFileId = lin->m_nPublishedFileId;
} }
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_NeedsPaint_t_48 {
HHTMLBrowser unBrowserHandle;
const char * pBGRA;
uint32 unWide;
uint32 unTall;
uint32 unUpdateX;
uint32 unUpdateY;
uint32 unUpdateWide;
uint32 unUpdateTall;
uint32 unScrollX;
uint32 unScrollY;
float flPageScale;
uint32 unPageSerial;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_NeedsPaint_t_56 {
HHTMLBrowser unBrowserHandle;
const char * pBGRA;
uint32 unWide;
uint32 unTall;
uint32 unUpdateX;
uint32 unUpdateY;
uint32 unUpdateWide;
uint32 unUpdateTall;
uint32 unScrollX;
uint32 unScrollY;
float flPageScale;
uint32 unPageSerial;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_NeedsPaint_t_56(const struct HTML_NeedsPaint_t *lin, struct winHTML_NeedsPaint_t_56 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pBGRA = lin->pBGRA;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
win->unUpdateX = lin->unUpdateX;
win->unUpdateY = lin->unUpdateY;
win->unUpdateWide = lin->unUpdateWide;
win->unUpdateTall = lin->unUpdateTall;
win->unScrollX = lin->unScrollX;
win->unScrollY = lin->unScrollY;
win->flPageScale = lin->flPageScale;
win->unPageSerial = lin->unPageSerial;
}
#endif
#ifdef __i386__
void cb_HTML_NeedsPaint_t_48(const struct HTML_NeedsPaint_t *lin, struct winHTML_NeedsPaint_t_48 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pBGRA = lin->pBGRA;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
win->unUpdateX = lin->unUpdateX;
win->unUpdateY = lin->unUpdateY;
win->unUpdateWide = lin->unUpdateWide;
win->unUpdateTall = lin->unUpdateTall;
win->unScrollX = lin->unScrollX;
win->unScrollY = lin->unScrollY;
win->flPageScale = lin->flPageScale;
win->unPageSerial = lin->unPageSerial;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_StartRequest_t_20 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchTarget;
const char * pchPostData;
bool bIsRedirect;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_StartRequest_t_40 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchTarget;
const char * pchPostData;
bool bIsRedirect;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_StartRequest_t_40(const struct HTML_StartRequest_t *lin, struct winHTML_StartRequest_t_40 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchTarget = lin->pchTarget;
win->pchPostData = lin->pchPostData;
win->bIsRedirect = lin->bIsRedirect;
}
#endif
#ifdef __i386__
void cb_HTML_StartRequest_t_20(const struct HTML_StartRequest_t *lin, struct winHTML_StartRequest_t_20 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchTarget = lin->pchTarget;
win->pchPostData = lin->pchPostData;
win->bIsRedirect = lin->bIsRedirect;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_URLChanged_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchPostData;
bool bIsRedirect;
const char * pchPageTitle;
bool bNewNavigation;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_URLChanged_t_48 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchPostData;
bool bIsRedirect;
const char * pchPageTitle;
bool bNewNavigation;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_URLChanged_t_48(const struct HTML_URLChanged_t *lin, struct winHTML_URLChanged_t_48 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchPostData = lin->pchPostData;
win->bIsRedirect = lin->bIsRedirect;
win->pchPageTitle = lin->pchPageTitle;
win->bNewNavigation = lin->bNewNavigation;
}
#endif
#ifdef __i386__
void cb_HTML_URLChanged_t_24(const struct HTML_URLChanged_t *lin, struct winHTML_URLChanged_t_24 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchPostData = lin->pchPostData;
win->bIsRedirect = lin->bIsRedirect;
win->pchPageTitle = lin->pchPageTitle;
win->bNewNavigation = lin->bNewNavigation;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_FinishedRequest_t_12 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchPageTitle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_FinishedRequest_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
const char * pchPageTitle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_FinishedRequest_t_24(const struct HTML_FinishedRequest_t *lin, struct winHTML_FinishedRequest_t_24 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchPageTitle = lin->pchPageTitle;
}
#endif
#ifdef __i386__
void cb_HTML_FinishedRequest_t_12(const struct HTML_FinishedRequest_t *lin, struct winHTML_FinishedRequest_t_12 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->pchPageTitle = lin->pchPageTitle;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_OpenLinkInNewTab_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_OpenLinkInNewTab_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_OpenLinkInNewTab_t_16(const struct HTML_OpenLinkInNewTab_t *lin, struct winHTML_OpenLinkInNewTab_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
}
#endif
#ifdef __i386__
void cb_HTML_OpenLinkInNewTab_t_8(const struct HTML_OpenLinkInNewTab_t *lin, struct winHTML_OpenLinkInNewTab_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_ChangedTitle_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchTitle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_ChangedTitle_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchTitle;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_ChangedTitle_t_16(const struct HTML_ChangedTitle_t *lin, struct winHTML_ChangedTitle_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchTitle = lin->pchTitle;
}
#endif
#ifdef __i386__
void cb_HTML_ChangedTitle_t_8(const struct HTML_ChangedTitle_t *lin, struct winHTML_ChangedTitle_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchTitle = lin->pchTitle;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_LinkAtPosition_t_20 {
HHTMLBrowser unBrowserHandle;
uint32 x;
uint32 y;
const char * pchURL;
bool bInput;
bool bLiveLink;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_LinkAtPosition_t_32 {
HHTMLBrowser unBrowserHandle;
uint32 x;
uint32 y;
const char * pchURL;
bool bInput;
bool bLiveLink;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_LinkAtPosition_t_32(const struct HTML_LinkAtPosition_t *lin, struct winHTML_LinkAtPosition_t_32 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->x = lin->x;
win->y = lin->y;
win->pchURL = lin->pchURL;
win->bInput = lin->bInput;
win->bLiveLink = lin->bLiveLink;
}
#endif
#ifdef __i386__
void cb_HTML_LinkAtPosition_t_20(const struct HTML_LinkAtPosition_t *lin, struct winHTML_LinkAtPosition_t_20 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->x = lin->x;
win->y = lin->y;
win->pchURL = lin->pchURL;
win->bInput = lin->bInput;
win->bLiveLink = lin->bLiveLink;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_JSAlert_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchMessage;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_JSAlert_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchMessage;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_JSAlert_t_16(const struct HTML_JSAlert_t *lin, struct winHTML_JSAlert_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMessage = lin->pchMessage;
}
#endif
#ifdef __i386__
void cb_HTML_JSAlert_t_8(const struct HTML_JSAlert_t *lin, struct winHTML_JSAlert_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMessage = lin->pchMessage;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_JSConfirm_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchMessage;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_JSConfirm_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchMessage;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_JSConfirm_t_16(const struct HTML_JSConfirm_t *lin, struct winHTML_JSConfirm_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMessage = lin->pchMessage;
}
#endif
#ifdef __i386__
void cb_HTML_JSConfirm_t_8(const struct HTML_JSConfirm_t *lin, struct winHTML_JSConfirm_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMessage = lin->pchMessage;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 ) #pragma pack( push, 8 )
struct winHTML_FileOpenDialog_t_12 { struct winHTML_FileOpenDialog_t_12 {
HHTMLBrowser unBrowserHandle; HHTMLBrowser unBrowserHandle;
@ -798,6 +1175,27 @@ struct winHTML_FileOpenDialog_t_12 {
const char * pchInitialFile; const char * pchInitialFile;
} __attribute__ ((ms_struct)); } __attribute__ ((ms_struct));
#pragma pack( pop ) #pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_FileOpenDialog_t_24 {
HHTMLBrowser unBrowserHandle;
const char * pchTitle;
const char * pchInitialFile;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_FileOpenDialog_t_24(const struct HTML_FileOpenDialog_t *lin, struct winHTML_FileOpenDialog_t_24 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchTitle = lin->pchTitle;
steamclient_unix_path_to_dos_path(1, lin->pchInitialFile, g_tmppath, sizeof(g_tmppath));
win->pchInitialFile = g_tmppath;
}
#endif
#ifdef __i386__
void cb_HTML_FileOpenDialog_t_12(const struct HTML_FileOpenDialog_t *lin, struct winHTML_FileOpenDialog_t_12 *win) void cb_HTML_FileOpenDialog_t_12(const struct HTML_FileOpenDialog_t *lin, struct winHTML_FileOpenDialog_t_12 *win)
{ {
win->unBrowserHandle = lin->unBrowserHandle; win->unBrowserHandle = lin->unBrowserHandle;
@ -805,6 +1203,155 @@ void cb_HTML_FileOpenDialog_t_12(const struct HTML_FileOpenDialog_t *lin, struct
steamclient_unix_path_to_dos_path(1, lin->pchInitialFile, g_tmppath, sizeof(g_tmppath)); steamclient_unix_path_to_dos_path(1, lin->pchInitialFile, g_tmppath, sizeof(g_tmppath));
win->pchInitialFile = g_tmppath; win->pchInitialFile = g_tmppath;
} }
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_NewWindow_t_28 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
uint32 unX;
uint32 unY;
uint32 unWide;
uint32 unTall;
HHTMLBrowser unNewWindow_BrowserHandle_IGNORE;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_NewWindow_t_40 {
HHTMLBrowser unBrowserHandle;
const char * pchURL;
uint32 unX;
uint32 unY;
uint32 unWide;
uint32 unTall;
HHTMLBrowser unNewWindow_BrowserHandle_IGNORE;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_NewWindow_t_40(const struct HTML_NewWindow_t *lin, struct winHTML_NewWindow_t_40 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->unX = lin->unX;
win->unY = lin->unY;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
win->unNewWindow_BrowserHandle_IGNORE = lin->unNewWindow_BrowserHandle_IGNORE;
}
#endif
#ifdef __i386__
void cb_HTML_NewWindow_t_28(const struct HTML_NewWindow_t *lin, struct winHTML_NewWindow_t_28 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchURL = lin->pchURL;
win->unX = lin->unX;
win->unY = lin->unY;
win->unWide = lin->unWide;
win->unTall = lin->unTall;
win->unNewWindow_BrowserHandle_IGNORE = lin->unNewWindow_BrowserHandle_IGNORE;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_StatusText_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_StatusText_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_StatusText_t_16(const struct HTML_StatusText_t *lin, struct winHTML_StatusText_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#ifdef __i386__
void cb_HTML_StatusText_t_8(const struct HTML_StatusText_t *lin, struct winHTML_StatusText_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_ShowToolTip_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_ShowToolTip_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_ShowToolTip_t_16(const struct HTML_ShowToolTip_t *lin, struct winHTML_ShowToolTip_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#ifdef __i386__
void cb_HTML_ShowToolTip_t_8(const struct HTML_ShowToolTip_t *lin, struct winHTML_ShowToolTip_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#ifdef __i386__
#pragma pack( push, 8 )
struct winHTML_UpdateToolTip_t_8 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
#pragma pack( push, 8 )
struct winHTML_UpdateToolTip_t_16 {
HHTMLBrowser unBrowserHandle;
const char * pchMsg;
} __attribute__ ((ms_struct));
#pragma pack( pop )
#endif
#ifdef __x86_64__
void cb_HTML_UpdateToolTip_t_16(const struct HTML_UpdateToolTip_t *lin, struct winHTML_UpdateToolTip_t_16 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#ifdef __i386__
void cb_HTML_UpdateToolTip_t_8(const struct HTML_UpdateToolTip_t *lin, struct winHTML_UpdateToolTip_t_8 *win)
{
win->unBrowserHandle = lin->unBrowserHandle;
win->pchMsg = lin->pchMsg;
}
#endif
#pragma pack( push, 8 ) #pragma pack( push, 8 )
struct winSteamInventoryStartPurchaseResult_t_24 { struct winSteamInventoryStartPurchaseResult_t_24 {