From 6a5d5757ca2fbed232481f4e001114e7ba87560c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Sun, 1 Oct 2023 10:30:01 +0200 Subject: [PATCH] lsteamclient: Generate callback wrappers with the new structs. CW-Bug-Id: #22729 --- lsteamclient/cb_getapi_sizes.dat | 268 ---------- lsteamclient/cb_getapi_table.dat | 818 ----------------------------- lsteamclient/gen_wrapper.py | 114 ++-- lsteamclient/steamclient_main.c | 43 +- lsteamclient/unixlib.cpp | 20 + lsteamclient/unixlib.h | 4 + lsteamclient/unixlib_generated.cpp | 453 ++++++++++++++++ 7 files changed, 563 insertions(+), 1157 deletions(-) delete mode 100644 lsteamclient/cb_getapi_sizes.dat delete mode 100644 lsteamclient/cb_getapi_table.dat diff --git a/lsteamclient/cb_getapi_sizes.dat b/lsteamclient/cb_getapi_sizes.dat deleted file mode 100644 index 9085b695..00000000 --- a/lsteamclient/cb_getapi_sizes.dat +++ /dev/null @@ -1,268 +0,0 @@ -#ifdef __i386__ -case 152: /* MicroTxnAuthorizationResponse_t_24 */ - return 16; -case 209: /* GSReputation_t_40 */ - return 32; -case 513: /* LobbyCreated_t_16 */ - return 12; -case 1023: /* FileDetailsResult_t_40 */ - return 36; -case 1106: /* LeaderboardScoreUploaded_t_32 */ - return 28; -case 1111: /* LeaderboardUGCSet_t_16 */ - return 12; -case 1112: /* PS3TrophiesInstalled_t_24 */ - return 20; -case 1221: /* SteamNetConnectionStatusChangedCallback_t_712 */ - return 704; -case 1303: /* RemoteStorageAppSyncProgress_t_288 */ - return 280; -case 1307: /* RemoteStorageFileShareResult_t_280 */ - return 272; -case 1308: /* RemoteStorageDownloadUGCResult_t_40 */ - return 32; -case 1309: /* RemoteStoragePublishFileResult_t_24 */ - return 16; -case 1310: /* RemoteStorageGetPublishedFileDetailsResult_t_1744 */ - return 1732; -case 1311: /* RemoteStorageDeletePublishedFileResult_t_16 */ - return 12; -case 1312: /* RemoteStorageEnumerateUserPublishedFilesResult_t_416 */ - return 412; -case 1313: /* RemoteStorageSubscribePublishedFileResult_t_16 */ - return 12; -case 1314: /* RemoteStorageEnumerateUserSubscribedFilesResult_t_616 */ - return 612; -case 1315: /* RemoteStorageUnsubscribePublishedFileResult_t_16 */ - return 12; -case 1316: /* RemoteStorageUpdatePublishedFileResult_t_24 */ - return 16; -case 1317: /* RemoteStorageDownloadUGCResult_t_296 */ - return 288; -case 1318: /* RemoteStorageGetPublishedFileDetailsResult_t_9760 */ - return 9748; -case 1319: /* RemoteStorageEnumerateWorkshopFilesResult_t_624 */ - return 620; -case 1320: /* RemoteStorageGetPublishedItemVoteDetailsResult_t_32 */ - return 28; -case 1324: /* RemoteStorageUpdateUserPublishedItemVoteResult_t_16 */ - return 12; -case 1325: /* RemoteStorageUserVoteDetails_t_24 */ - return 16; -case 1326: /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_416 */ - return 412; -case 1327: /* RemoteStorageSetUserPublishedFileActionResult_t_24 */ - return 16; -case 1330: /* RemoteStoragePublishedFileUpdated_t_24 */ - return 20; -case 2101: /* HTTPRequestCompleted_t_32 */ - return 24; -case 2102: /* HTTPRequestHeadersReceived_t_16 */ - return 12; -case 2103: /* HTTPRequestDataReceived_t_24 */ - return 20; -case 2803: /* SteamInputConfigurationLoaded_t_40 */ - return 32; -case 2804: /* SteamInputGamepadSlotChange_t_32 */ - return 24; -case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */ - return 9768; -case 3403: /* CreateItemResult_t_24 */ - return 16; -case 3405: /* ItemInstalled_t_16 */ - return 12; -case 3406: /* DownloadItemResult_t_24 */ - return 16; -case 3412: /* AddUGCDependencyResult_t_24 */ - return 20; -case 3413: /* RemoveUGCDependencyResult_t_24 */ - return 20; -case 3414: /* AddAppDependencyResult_t_24 */ - return 16; -case 3415: /* RemoveAppDependencyResult_t_24 */ - return 16; -case 3416: /* GetAppDependenciesResult_t_152 */ - return 148; -case 3417: /* DeleteItemResult_t_16 */ - return 12; -case 4502: /* HTML_NeedsPaint_t_48 */ - return 48; -case 4503: /* HTML_StartRequest_t_20 */ - return 20; -case 4505: /* HTML_URLChanged_t_24 */ - return 24; -case 4506: /* HTML_FinishedRequest_t_12 */ - return 12; -case 4507: /* HTML_OpenLinkInNewTab_t_8 */ - return 8; -case 4508: /* HTML_ChangedTitle_t_8 */ - return 8; -case 4513: /* HTML_LinkAtPosition_t_20 */ - return 20; -case 4514: /* HTML_JSAlert_t_8 */ - return 8; -case 4515: /* HTML_JSConfirm_t_8 */ - return 8; -case 4516: /* HTML_FileOpenDialog_t_12 */ - return 12; -case 4517: /* HTML_ComboNeedsPaint_t_16 */ - return 16; -case 4521: /* HTML_NewWindow_t_28 */ - return 28; -case 4523: /* HTML_StatusText_t_8 */ - return 8; -case 4524: /* HTML_ShowToolTip_t_8 */ - return 8; -case 4525: /* HTML_UpdateToolTip_t_8 */ - return 8; -case 4704: /* SteamInventoryStartPurchaseResult_t_24 */ - return 20; -case 5211: /* RequestPlayersForGameProgressCallback_t_16 */ - return 12; -case 5212: /* RequestPlayersForGameResultCallback_t_64 */ - return 56; -case 5213: /* RequestPlayersForGameFinalResultCallback_t_24 */ - return 20; -case 5214: /* SubmitPlayerResultResultCallback_t_24 */ - return 20; -case 5215: /* EndGameResultCallback_t_16 */ - return 12; -case 5301: /* JoinPartyCallback_t_280 */ - return 276; -case 5302: /* CreateBeaconCallback_t_16 */ - return 12; -#endif -#ifdef __x86_64__ -case 152: /* MicroTxnAuthorizationResponse_t_24 */ - return 16; -case 209: /* GSReputation_t_40 */ - return 32; -case 513: /* LobbyCreated_t_16 */ - return 12; -case 1023: /* FileDetailsResult_t_40 */ - return 36; -case 1106: /* LeaderboardScoreUploaded_t_32 */ - return 28; -case 1111: /* LeaderboardUGCSet_t_16 */ - return 12; -case 1112: /* PS3TrophiesInstalled_t_24 */ - return 20; -case 1221: /* SteamNetConnectionStatusChangedCallback_t_712 */ - return 704; -case 1303: /* RemoteStorageAppSyncProgress_t_288 */ - return 280; -case 1307: /* RemoteStorageFileShareResult_t_280 */ - return 272; -case 1308: /* RemoteStorageDownloadUGCResult_t_40 */ - return 32; -case 1309: /* RemoteStoragePublishFileResult_t_24 */ - return 16; -case 1310: /* RemoteStorageGetPublishedFileDetailsResult_t_1744 */ - return 1732; -case 1311: /* RemoteStorageDeletePublishedFileResult_t_16 */ - return 12; -case 1312: /* RemoteStorageEnumerateUserPublishedFilesResult_t_416 */ - return 412; -case 1313: /* RemoteStorageSubscribePublishedFileResult_t_16 */ - return 12; -case 1314: /* RemoteStorageEnumerateUserSubscribedFilesResult_t_616 */ - return 612; -case 1315: /* RemoteStorageUnsubscribePublishedFileResult_t_16 */ - return 12; -case 1316: /* RemoteStorageUpdatePublishedFileResult_t_24 */ - return 16; -case 1317: /* RemoteStorageDownloadUGCResult_t_296 */ - return 288; -case 1318: /* RemoteStorageGetPublishedFileDetailsResult_t_9760 */ - return 9748; -case 1319: /* RemoteStorageEnumerateWorkshopFilesResult_t_624 */ - return 620; -case 1320: /* RemoteStorageGetPublishedItemVoteDetailsResult_t_32 */ - return 28; -case 1324: /* RemoteStorageUpdateUserPublishedItemVoteResult_t_16 */ - return 12; -case 1325: /* RemoteStorageUserVoteDetails_t_24 */ - return 16; -case 1326: /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_416 */ - return 412; -case 1327: /* RemoteStorageSetUserPublishedFileActionResult_t_24 */ - return 16; -case 1330: /* RemoteStoragePublishedFileUpdated_t_24 */ - return 20; -case 2101: /* HTTPRequestCompleted_t_32 */ - return 24; -case 2102: /* HTTPRequestHeadersReceived_t_16 */ - return 12; -case 2103: /* HTTPRequestDataReceived_t_24 */ - return 20; -case 2803: /* SteamInputConfigurationLoaded_t_40 */ - return 32; -case 2804: /* SteamInputGamepadSlotChange_t_32 */ - return 24; -case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */ - return 9768; -case 3403: /* CreateItemResult_t_24 */ - return 16; -case 3405: /* ItemInstalled_t_16 */ - return 12; -case 3406: /* DownloadItemResult_t_24 */ - return 16; -case 3412: /* AddUGCDependencyResult_t_24 */ - return 20; -case 3413: /* RemoveUGCDependencyResult_t_24 */ - return 20; -case 3414: /* AddAppDependencyResult_t_24 */ - return 16; -case 3415: /* RemoveAppDependencyResult_t_24 */ - return 16; -case 3416: /* GetAppDependenciesResult_t_152 */ - return 148; -case 3417: /* DeleteItemResult_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; -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 4704: /* SteamInventoryStartPurchaseResult_t_24 */ - return 20; -case 5211: /* RequestPlayersForGameProgressCallback_t_16 */ - return 12; -case 5212: /* RequestPlayersForGameResultCallback_t_64 */ - return 56; -case 5213: /* RequestPlayersForGameFinalResultCallback_t_24 */ - return 20; -case 5214: /* SubmitPlayerResultResultCallback_t_24 */ - return 20; -case 5215: /* EndGameResultCallback_t_16 */ - return 12; -case 5301: /* JoinPartyCallback_t_280 */ - return 276; -case 5302: /* CreateBeaconCallback_t_16 */ - return 12; -#endif diff --git a/lsteamclient/cb_getapi_table.dat b/lsteamclient/cb_getapi_table.dat deleted file mode 100644 index b2a0089c..00000000 --- a/lsteamclient/cb_getapi_table.dat +++ /dev/null @@ -1,818 +0,0 @@ -#ifdef __i386__ -case 152: - switch(callback_len){ - default: - case 24: cb_MicroTxnAuthorizationResponse_t_24(lin_callback, callback); break; - } - break; -case 209: - switch(callback_len){ - default: - case 40: cb_GSReputation_t_40(lin_callback, callback); break; - } - break; -case 513: - switch(callback_len){ - default: - case 16: cb_LobbyCreated_t_16(lin_callback, callback); break; - } - break; -case 1023: - switch(callback_len){ - default: - case 40: cb_FileDetailsResult_t_40(lin_callback, callback); break; - } - break; -case 1106: - switch(callback_len){ - default: - case 32: cb_LeaderboardScoreUploaded_t_32(lin_callback, callback); break; - } - break; -case 1111: - switch(callback_len){ - default: - case 16: cb_LeaderboardUGCSet_t_16(lin_callback, callback); break; - } - break; -case 1112: - switch(callback_len){ - default: - case 24: cb_PS3TrophiesInstalled_t_24(lin_callback, callback); break; - } - break; -case 1221: - switch(callback_len){ - default: - case 712: cb_SteamNetConnectionStatusChangedCallback_t_712(lin_callback, callback); break; - case 584: cb_SteamNetConnectionStatusChangedCallback_t_584(lin_callback, callback); break; - } - break; -case 1303: - switch(callback_len){ - default: - case 288: cb_RemoteStorageAppSyncProgress_t_288(lin_callback, callback); break; - } - break; -case 1307: - switch(callback_len){ - default: - case 280: cb_RemoteStorageFileShareResult_t_280(lin_callback, callback); break; - case 16: cb_RemoteStorageFileShareResult_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 1309: - switch(callback_len){ - default: - case 24: cb_RemoteStoragePublishFileResult_t_24(lin_callback, callback); break; - case 16: cb_RemoteStoragePublishFileResult_t_16(lin_callback, callback); break; - } - break; -case 1310: - switch(callback_len){ - default: - case 1744: cb_RemoteStorageGetPublishedFileDetailsResult_t_1744(lin_callback, callback); break; - } - break; -case 1311: - switch(callback_len){ - default: - case 16: cb_RemoteStorageDeletePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1312: - switch(callback_len){ - default: - case 416: cb_RemoteStorageEnumerateUserPublishedFilesResult_t_416(lin_callback, callback); break; - } - break; -case 1313: - switch(callback_len){ - default: - case 16: cb_RemoteStorageSubscribePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1314: - switch(callback_len){ - default: - case 616: cb_RemoteStorageEnumerateUserSubscribedFilesResult_t_616(lin_callback, callback); break; - } - break; -case 1315: - switch(callback_len){ - default: - case 16: cb_RemoteStorageUnsubscribePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1316: - switch(callback_len){ - default: - case 24: cb_RemoteStorageUpdatePublishedFileResult_t_24(lin_callback, callback); break; - case 16: cb_RemoteStorageUpdatePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1317: - switch(callback_len){ - default: - case 296: cb_RemoteStorageDownloadUGCResult_t_296(lin_callback, callback); break; - } - break; -case 1318: - switch(callback_len){ - default: - case 9760: cb_RemoteStorageGetPublishedFileDetailsResult_t_9760(lin_callback, callback); break; - case 9752: cb_RemoteStorageGetPublishedFileDetailsResult_t_9752(lin_callback, callback); break; - case 9496: cb_RemoteStorageGetPublishedFileDetailsResult_t_9496(lin_callback, callback); break; - } - break; -case 1319: - switch(callback_len){ - default: - case 624: cb_RemoteStorageEnumerateWorkshopFilesResult_t_624(lin_callback, callback); break; - case 616: cb_RemoteStorageEnumerateWorkshopFilesResult_t_616(lin_callback, callback); break; - } - break; -case 1320: - switch(callback_len){ - default: - case 32: cb_RemoteStorageGetPublishedItemVoteDetailsResult_t_32(lin_callback, callback); break; - } - break; -case 1324: - switch(callback_len){ - default: - case 16: cb_RemoteStorageUpdateUserPublishedItemVoteResult_t_16(lin_callback, callback); break; - } - break; -case 1325: - switch(callback_len){ - default: - case 24: cb_RemoteStorageUserVoteDetails_t_24(lin_callback, callback); break; - } - break; -case 1326: - switch(callback_len){ - default: - case 416: cb_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_416(lin_callback, callback); break; - } - break; -case 1327: - switch(callback_len){ - default: - case 24: cb_RemoteStorageSetUserPublishedFileActionResult_t_24(lin_callback, callback); break; - } - break; -case 1330: - switch(callback_len){ - default: - case 24: cb_RemoteStoragePublishedFileUpdated_t_24(lin_callback, callback); break; - } - break; -case 2101: - switch(callback_len){ - default: - case 32: cb_HTTPRequestCompleted_t_32(lin_callback, callback); break; - case 24: cb_HTTPRequestCompleted_t_24(lin_callback, callback); break; - } - break; -case 2102: - switch(callback_len){ - default: - case 16: cb_HTTPRequestHeadersReceived_t_16(lin_callback, callback); break; - } - break; -case 2103: - switch(callback_len){ - default: - case 24: cb_HTTPRequestDataReceived_t_24(lin_callback, callback); break; - } - break; -case 2803: - switch(callback_len){ - default: - case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break; - } - break; -case 2804: - switch(callback_len){ - default: - case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break; - } - break; -case 3402: - switch(callback_len){ - default: - case 9784: cb_SteamUGCRequestUGCDetailsResult_t_9784(lin_callback, callback); break; - case 9776: cb_SteamUGCRequestUGCDetailsResult_t_9776(lin_callback, callback); break; - case 9768: cb_SteamUGCRequestUGCDetailsResult_t_9768(lin_callback, callback); break; - } - break; -case 3403: - switch(callback_len){ - default: - case 24: cb_CreateItemResult_t_24(lin_callback, callback); break; - } - break; -case 3405: - switch(callback_len){ - default: - case 16: cb_ItemInstalled_t_16(lin_callback, callback); break; - } - break; -case 3406: - switch(callback_len){ - default: - case 24: cb_DownloadItemResult_t_24(lin_callback, callback); break; - } - break; -case 3412: - switch(callback_len){ - default: - case 24: cb_AddUGCDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3413: - switch(callback_len){ - default: - case 24: cb_RemoveUGCDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3414: - switch(callback_len){ - default: - case 24: cb_AddAppDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3415: - switch(callback_len){ - default: - case 24: cb_RemoveAppDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3416: - switch(callback_len){ - default: - case 152: cb_GetAppDependenciesResult_t_152(lin_callback, callback); break; - } - break; -case 3417: - switch(callback_len){ - default: - case 16: cb_DeleteItemResult_t_16(lin_callback, callback); break; - } - break; -case 4502: - switch(callback_len){ - default: - case 48: cb_HTML_NeedsPaint_t_48(lin_callback, callback); break; - } - break; -case 4503: - switch(callback_len){ - default: - case 20: cb_HTML_StartRequest_t_20(lin_callback, callback); 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 4507: - switch(callback_len){ - default: - case 8: cb_HTML_OpenLinkInNewTab_t_8(lin_callback, callback); break; - } - break; -case 4508: - switch(callback_len){ - default: - case 8: cb_HTML_ChangedTitle_t_8(lin_callback, callback); break; - } - break; -case 4513: - switch(callback_len){ - default: - case 20: cb_HTML_LinkAtPosition_t_20(lin_callback, callback); break; - } - break; -case 4514: - switch(callback_len){ - default: - case 8: cb_HTML_JSAlert_t_8(lin_callback, callback); break; - } - break; -case 4515: - switch(callback_len){ - default: - case 8: cb_HTML_JSConfirm_t_8(lin_callback, callback); break; - } - break; -case 4516: - switch(callback_len){ - default: - case 12: cb_HTML_FileOpenDialog_t_12(lin_callback, callback); break; - } - break; -case 4517: - switch(callback_len){ - default: - case 16: cb_HTML_ComboNeedsPaint_t_16(lin_callback, callback); 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 4524: - switch(callback_len){ - default: - case 8: cb_HTML_ShowToolTip_t_8(lin_callback, callback); break; - } - break; -case 4525: - switch(callback_len){ - default: - case 8: cb_HTML_UpdateToolTip_t_8(lin_callback, callback); break; - } - break; -case 4704: - switch(callback_len){ - default: - case 24: cb_SteamInventoryStartPurchaseResult_t_24(lin_callback, callback); break; - } - break; -case 5211: - switch(callback_len){ - default: - case 16: cb_RequestPlayersForGameProgressCallback_t_16(lin_callback, callback); break; - } - break; -case 5212: - switch(callback_len){ - default: - case 64: cb_RequestPlayersForGameResultCallback_t_64(lin_callback, callback); break; - } - break; -case 5213: - switch(callback_len){ - default: - case 24: cb_RequestPlayersForGameFinalResultCallback_t_24(lin_callback, callback); break; - } - break; -case 5214: - switch(callback_len){ - default: - case 24: cb_SubmitPlayerResultResultCallback_t_24(lin_callback, callback); break; - } - break; -case 5215: - switch(callback_len){ - default: - case 16: cb_EndGameResultCallback_t_16(lin_callback, callback); break; - } - break; -case 5301: - switch(callback_len){ - default: - case 280: cb_JoinPartyCallback_t_280(lin_callback, callback); break; - } - break; -case 5302: - switch(callback_len){ - default: - case 16: cb_CreateBeaconCallback_t_16(lin_callback, callback); break; - } - break; -#endif -#ifdef __x86_64__ -case 152: - switch(callback_len){ - default: - case 24: cb_MicroTxnAuthorizationResponse_t_24(lin_callback, callback); break; - } - break; -case 209: - switch(callback_len){ - default: - case 40: cb_GSReputation_t_40(lin_callback, callback); break; - } - break; -case 513: - switch(callback_len){ - default: - case 16: cb_LobbyCreated_t_16(lin_callback, callback); break; - } - break; -case 1023: - switch(callback_len){ - default: - case 40: cb_FileDetailsResult_t_40(lin_callback, callback); break; - } - break; -case 1106: - switch(callback_len){ - default: - case 32: cb_LeaderboardScoreUploaded_t_32(lin_callback, callback); break; - } - break; -case 1111: - switch(callback_len){ - default: - case 16: cb_LeaderboardUGCSet_t_16(lin_callback, callback); break; - } - break; -case 1112: - switch(callback_len){ - default: - case 24: cb_PS3TrophiesInstalled_t_24(lin_callback, callback); break; - } - break; -case 1221: - switch(callback_len){ - default: - case 712: cb_SteamNetConnectionStatusChangedCallback_t_712(lin_callback, callback); break; - case 584: cb_SteamNetConnectionStatusChangedCallback_t_584(lin_callback, callback); break; - } - break; -case 1303: - switch(callback_len){ - default: - case 288: cb_RemoteStorageAppSyncProgress_t_288(lin_callback, callback); break; - } - break; -case 1307: - switch(callback_len){ - default: - case 280: cb_RemoteStorageFileShareResult_t_280(lin_callback, callback); break; - case 16: cb_RemoteStorageFileShareResult_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 1309: - switch(callback_len){ - default: - case 24: cb_RemoteStoragePublishFileResult_t_24(lin_callback, callback); break; - case 16: cb_RemoteStoragePublishFileResult_t_16(lin_callback, callback); break; - } - break; -case 1310: - switch(callback_len){ - default: - case 1744: cb_RemoteStorageGetPublishedFileDetailsResult_t_1744(lin_callback, callback); break; - } - break; -case 1311: - switch(callback_len){ - default: - case 16: cb_RemoteStorageDeletePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1312: - switch(callback_len){ - default: - case 416: cb_RemoteStorageEnumerateUserPublishedFilesResult_t_416(lin_callback, callback); break; - } - break; -case 1313: - switch(callback_len){ - default: - case 16: cb_RemoteStorageSubscribePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1314: - switch(callback_len){ - default: - case 616: cb_RemoteStorageEnumerateUserSubscribedFilesResult_t_616(lin_callback, callback); break; - } - break; -case 1315: - switch(callback_len){ - default: - case 16: cb_RemoteStorageUnsubscribePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1316: - switch(callback_len){ - default: - case 24: cb_RemoteStorageUpdatePublishedFileResult_t_24(lin_callback, callback); break; - case 16: cb_RemoteStorageUpdatePublishedFileResult_t_16(lin_callback, callback); break; - } - break; -case 1317: - switch(callback_len){ - default: - case 296: cb_RemoteStorageDownloadUGCResult_t_296(lin_callback, callback); break; - } - break; -case 1318: - switch(callback_len){ - default: - case 9760: cb_RemoteStorageGetPublishedFileDetailsResult_t_9760(lin_callback, callback); break; - case 9752: cb_RemoteStorageGetPublishedFileDetailsResult_t_9752(lin_callback, callback); break; - case 9496: cb_RemoteStorageGetPublishedFileDetailsResult_t_9496(lin_callback, callback); break; - } - break; -case 1319: - switch(callback_len){ - default: - case 624: cb_RemoteStorageEnumerateWorkshopFilesResult_t_624(lin_callback, callback); break; - case 616: cb_RemoteStorageEnumerateWorkshopFilesResult_t_616(lin_callback, callback); break; - } - break; -case 1320: - switch(callback_len){ - default: - case 32: cb_RemoteStorageGetPublishedItemVoteDetailsResult_t_32(lin_callback, callback); break; - } - break; -case 1324: - switch(callback_len){ - default: - case 16: cb_RemoteStorageUpdateUserPublishedItemVoteResult_t_16(lin_callback, callback); break; - } - break; -case 1325: - switch(callback_len){ - default: - case 24: cb_RemoteStorageUserVoteDetails_t_24(lin_callback, callback); break; - } - break; -case 1326: - switch(callback_len){ - default: - case 416: cb_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_416(lin_callback, callback); break; - } - break; -case 1327: - switch(callback_len){ - default: - case 24: cb_RemoteStorageSetUserPublishedFileActionResult_t_24(lin_callback, callback); break; - } - break; -case 1330: - switch(callback_len){ - default: - case 24: cb_RemoteStoragePublishedFileUpdated_t_24(lin_callback, callback); break; - } - break; -case 2101: - switch(callback_len){ - default: - case 32: cb_HTTPRequestCompleted_t_32(lin_callback, callback); break; - case 24: cb_HTTPRequestCompleted_t_24(lin_callback, callback); break; - } - break; -case 2102: - switch(callback_len){ - default: - case 16: cb_HTTPRequestHeadersReceived_t_16(lin_callback, callback); break; - } - break; -case 2103: - switch(callback_len){ - default: - case 24: cb_HTTPRequestDataReceived_t_24(lin_callback, callback); break; - } - break; -case 2803: - switch(callback_len){ - default: - case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break; - } - break; -case 2804: - switch(callback_len){ - default: - case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break; - } - break; -case 3402: - switch(callback_len){ - default: - case 9784: cb_SteamUGCRequestUGCDetailsResult_t_9784(lin_callback, callback); break; - case 9776: cb_SteamUGCRequestUGCDetailsResult_t_9776(lin_callback, callback); break; - case 9768: cb_SteamUGCRequestUGCDetailsResult_t_9768(lin_callback, callback); break; - } - break; -case 3403: - switch(callback_len){ - default: - case 24: cb_CreateItemResult_t_24(lin_callback, callback); break; - } - break; -case 3405: - switch(callback_len){ - default: - case 16: cb_ItemInstalled_t_16(lin_callback, callback); break; - } - break; -case 3406: - switch(callback_len){ - default: - case 24: cb_DownloadItemResult_t_24(lin_callback, callback); break; - } - break; -case 3412: - switch(callback_len){ - default: - case 24: cb_AddUGCDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3413: - switch(callback_len){ - default: - case 24: cb_RemoveUGCDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3414: - switch(callback_len){ - default: - case 24: cb_AddAppDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3415: - switch(callback_len){ - default: - case 24: cb_RemoveAppDependencyResult_t_24(lin_callback, callback); break; - } - break; -case 3416: - switch(callback_len){ - default: - case 152: cb_GetAppDependenciesResult_t_152(lin_callback, callback); break; - } - break; -case 3417: - switch(callback_len){ - default: - case 16: cb_DeleteItemResult_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; -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 4704: - switch(callback_len){ - default: - case 24: cb_SteamInventoryStartPurchaseResult_t_24(lin_callback, callback); break; - } - break; -case 5211: - switch(callback_len){ - default: - case 16: cb_RequestPlayersForGameProgressCallback_t_16(lin_callback, callback); break; - } - break; -case 5212: - switch(callback_len){ - default: - case 64: cb_RequestPlayersForGameResultCallback_t_64(lin_callback, callback); break; - } - break; -case 5213: - switch(callback_len){ - default: - case 24: cb_RequestPlayersForGameFinalResultCallback_t_24(lin_callback, callback); break; - } - break; -case 5214: - switch(callback_len){ - default: - case 24: cb_SubmitPlayerResultResultCallback_t_24(lin_callback, callback); break; - } - break; -case 5215: - switch(callback_len){ - default: - case 16: cb_EndGameResultCallback_t_16(lin_callback, callback); break; - } - break; -case 5301: - switch(callback_len){ - default: - case 280: cb_JoinPartyCallback_t_280(lin_callback, callback); break; - } - break; -case 5302: - switch(callback_len){ - default: - case 16: cb_CreateBeaconCallback_t_16(lin_callback, callback); break; - } - break; -#endif diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 5e6cd255..443b22eb 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -461,6 +461,15 @@ class Struct: self._decl_order = order [f._type.set_used(order - 1) for f in self.fields] + @property + def callback_id(self): + is_enum = lambda c: c.kind == CursorKind.ENUM_DECL + enums = filter(is_enum, self._cursor.get_children()) + is_callback = lambda c: c.displayname == "k_iCallback" + callbacks = [k for c in enums for k in filter(is_callback, c.get_children())] + if len(callbacks): return int(callbacks[0].enum_value) + return None + @property def padded_fields(self): if self._fields: return self._fields @@ -1667,6 +1676,8 @@ with open('unixlib_generated.cpp', 'w') as file: out(u'/* This file is auto-generated, do not edit. */\n\n') out(u'#include "unix_private.h"\n\n') + callbacks = [] + for name in sorted(unique_structs, key=struct_order): for sdkver, abis in all_structs[name].items(): if name not in all_versions[sdkver]: continue @@ -1690,6 +1701,10 @@ with open('unixlib_generated.cpp', 'w') as file: if type(abis['w64']) is Class: continue + cbid = abis["w64"].callback_id + if cbid is not None and (abis["w64"] != abis["u64"] or abis["w32"] != abis["u32"]): + callbacks += [(cbid, sdkver, abis)] + abis['w64'].write_checks(out, "w64_") abis['u64'].write_checks(out, "u64_") abis['w32'].write_checks(out, "w32_") @@ -1723,34 +1738,73 @@ with open('unixlib_generated.cpp', 'w') as file: abis['u32'].write_converter('w32_', path_conv_fields) out(u'#endif\n\n') + out(u'void *alloc_callback_wtou(int id, void *callback, int *callback_len)\n') + out(u'{\n') + out(u' int len;\n') + out(u'\n') + out(u'#define MAKE_CASE(id, wlen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24)\n') + out(u' switch (MAKE_CASE(id, *callback_len))\n') + out(u' {\n') + out(u'#ifdef __i386__\n') + values = set() + for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]): + name, value = abis["u32"].name, (cbid, abis["w32"].size) + if name in all_versions[sdkver]: name = all_versions[sdkver][name] + if value not in values: + out(f' case MAKE_CASE({cbid}, {abis["w32"].size}): len = {abis["u32"].size}; break; /* {name} */\n') + else: + out(f' /* case MAKE_CASE({cbid}, {abis["w32"].size}): len = {abis["u32"].size}; break; {name} */\n') + values.add(value) + out(u'#endif\n') + out(u'#ifdef __x86_64__\n') + values = set() + for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]): + name, value = abis["u64"].name, (cbid, abis["w64"].size) + if name in all_versions[sdkver]: name = all_versions[sdkver][name] + if value not in values: + out(f' case MAKE_CASE({cbid}, {abis["w64"].size}): len = {abis["u64"].size}; break; /* {name} */\n') + else: + out(f' /* case MAKE_CASE({cbid}, {abis["w64"].size}): len = {abis["u64"].size}; break; {name} */\n') + values.add(value) + out(u'#endif\n') + out(u' default: return callback;\n') + out(u' }\n') + out(u'#undef MAKE_CASE\n') + out(u'\n') + out(u' callback = HeapAlloc( GetProcessHeap(), 0, len );\n') + out(u' *callback_len = len;\n') + out(u' return callback;\n') + out(u'}\n') + out(u'\n') -getapifile = open("cb_getapi_table.dat", "w") -cbsizefile = open("cb_getapi_sizes.dat", "w") - -cbsizefile.write("#ifdef __i386__\n") -getapifile.write("#ifdef __i386__\n") -for cb in sorted(cb_table.keys()): - cbsizefile.write(f"case {cb}: /* {cb_table[cb][1][0][1]} */\n") - cbsizefile.write(f" return {cb_table[cb][0]};\n") - getapifile.write(f"case {cb}:\n") - 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_table[cb][1]: - getapifile.write(f" case {size}: cb_{name}(lin_callback, callback); 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 sorted(cb_table64.keys()): - cbsizefile.write(f"case {cb}: /* {cb_table64[cb][1][0][1]} */\n") - cbsizefile.write(f" return {cb_table64[cb][0]};\n") - getapifile.write(f"case {cb}:\n") - 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(f" case {size}: cb_{name}(lin_callback, callback); break;\n") - getapifile.write(" }\n break;\n") -cbsizefile.write("#endif\n") -getapifile.write("#endif\n") + out(u'void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len)\n') + out(u'{\n') + out(u'#define MAKE_CASE(id, wlen, ulen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24) | (uint64_t)(ulen)\n') + out(u' switch (MAKE_CASE(id, w_callback_len, u_callback_len))\n') + out(u' {\n') + out(u'#ifdef __i386__\n') + values = set() + for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]): + name, value = abis["u32"].name, (cbid, abis["w32"].size, abis["u32"].size) + if name in all_versions[sdkver]: name = all_versions[sdkver][name] + if value not in values: + out(f' case MAKE_CASE({cbid}, {abis["w32"].size}, {abis["u32"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break;\n') + else: + out(f' /* case MAKE_CASE({cbid}, {abis["w32"].size}, {abis["u32"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n') + values.add(value) + out(u'#endif\n') + out(u'#ifdef __x86_64__\n') + values = set() + for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]): + name, value = abis["u64"].name, (cbid, abis["w64"].size, abis["u64"].size) + if name in all_versions[sdkver]: name = all_versions[sdkver][name] + if value not in values: + out(f' case MAKE_CASE({cbid}, {abis["w64"].size}, {abis["u64"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break;\n') + else: + out(f' /* case MAKE_CASE({cbid}, {abis["w64"].size}, {abis["u64"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n') + values.add(value) + out(u'#endif\n') + out(u' default: memcpy( w_callback, u_callback, u_callback_len ); break;\n') + out(u' }\n') + out(u'#undef MAKE_CASE\n') + out(u'}\n') diff --git a/lsteamclient/steamclient_main.c b/lsteamclient/steamclient_main.c index aaf88645..a288eeee 100644 --- a/lsteamclient/steamclient_main.c +++ b/lsteamclient/steamclient_main.c @@ -691,7 +691,7 @@ done: static void *steamclient_lib; static void *(*steamclient_CreateInterface)(const char *name, int *return_code); static bool (*steamclient_BGetCallback)( int32_t a, u_CallbackMsg_t *b, int32_t *c ); -static bool (*steamclient_GetAPICallResult)( int32_t, uint64_t, void *, int, int, bool * ); +bool (*steamclient_GetAPICallResult)( int32_t, uint64_t, void *, int, int, bool * ); static bool (*steamclient_FreeLastCallback)( int32_t ); static void (*steamclient_ReleaseThreadLocalMemory)(int); static bool (*steamclient_IsKnownInterface)( const char *pchVersion ); @@ -886,53 +886,14 @@ next_event: return ret; } -static int get_callback_len(int cb) -{ - switch(cb){ -#include "cb_getapi_sizes.dat" - } - return 0; -} - -void *alloc_callback_wtou( int id, void *callback, int *callback_len ) -{ - int len; - - if (!(len = get_callback_len( id ))) return callback; - callback = HeapAlloc( GetProcessHeap(), 0, len ); - *callback_len = len; - - return callback; -} - -void convert_callback_utow( int id, void *lin_callback, int lin_callback_len, void *callback, int callback_len ) -{ - switch (id) - { -#include "cb_getapi_table.dat" - } -} - bool CDECL Steam_GetAPICallResult( int32_t pipe, uint64_t call, void *w_callback, int w_callback_len, int id, bool *failed ) { - int u_callback_len = w_callback_len; - void *u_callback; - bool ret; - TRACE( "%u, x, %p, %u, %u, %p\n", pipe, w_callback, w_callback_len, id, failed ); if (!load_steamclient()) return FALSE; - if (!(u_callback = alloc_callback_wtou( id, w_callback, &u_callback_len ))) return FALSE; - ret = steamclient_GetAPICallResult( pipe, call, u_callback, u_callback_len, id, failed ); - - if (ret && u_callback != w_callback) - { - convert_callback_utow( id, u_callback, u_callback_len, w_callback, w_callback_len ); - HeapFree( GetProcessHeap(), 0, u_callback ); - } - return ret; + return unix_Steam_GetAPICallResult( pipe, call, w_callback, w_callback_len, id, failed ); } bool CDECL Steam_FreeLastCallback( int32_t pipe ) diff --git a/lsteamclient/unixlib.cpp b/lsteamclient/unixlib.cpp index ac7e4f29..b697ef39 100644 --- a/lsteamclient/unixlib.cpp +++ b/lsteamclient/unixlib.cpp @@ -78,3 +78,23 @@ bool unix_steamclient_next_callback( struct callback *callback, uint32_t *size ) return !!ptr; } + +bool unix_Steam_GetAPICallResult( int32_t pipe, uint64_t call, void *w_callback, int w_callback_len, + int id, bool *failed ) +{ + int u_callback_len = w_callback_len; + void *u_callback; + bool ret; + + if (!(u_callback = alloc_callback_wtou( id, w_callback, &u_callback_len ))) return false; + + ret = steamclient_GetAPICallResult( pipe, call, u_callback, u_callback_len, id, failed ); + + if (ret && u_callback != w_callback) + { + convert_callback_utow( id, u_callback, u_callback_len, w_callback, w_callback_len ); + HeapFree( GetProcessHeap(), 0, u_callback ); + } + + return ret; +} diff --git a/lsteamclient/unixlib.h b/lsteamclient/unixlib.h index 8e708199..1bf25c3c 100644 --- a/lsteamclient/unixlib.h +++ b/lsteamclient/unixlib.h @@ -61,6 +61,10 @@ struct callback extern bool unix_steamclient_next_callback( struct callback *callback, uint32_t *length ); +extern bool (*steamclient_GetAPICallResult)( int32_t, uint64_t, void *, int, int, bool * ); +extern bool unix_Steam_GetAPICallResult( int32_t pipe, uint64_t call, void *w_callback, + int w_callback_len, int id, bool *failed ); + struct networking_message_pool; struct networking_message { diff --git a/lsteamclient/unixlib_generated.cpp b/lsteamclient/unixlib_generated.cpp index 31106454..06777dda 100644 --- a/lsteamclient/unixlib_generated.cpp +++ b/lsteamclient/unixlib_generated.cpp @@ -12690,3 +12690,456 @@ u32_SubmitPlayerResultResultCallback_t::operator w32_SubmitPlayerResultResultCal } #endif +void *alloc_callback_wtou(int id, void *callback, int *callback_len) +{ + int len; + +#define MAKE_CASE(id, wlen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24) + switch (MAKE_CASE(id, *callback_len)) + { +#ifdef __i386__ + case MAKE_CASE(152, 24): len = 16; break; /* MicroTxnAuthorizationResponse_t_123 */ + /* case MAKE_CASE(152, 24): len = 16; break; MicroTxnAuthorizationResponse_t_109 */ + case MAKE_CASE(209, 40): len = 32; break; /* GSReputation_t_123 */ + /* case MAKE_CASE(209, 40): len = 32; break; GSReputation_t_108 */ + case MAKE_CASE(513, 16): len = 12; break; /* LobbyCreated_t_123 */ + /* case MAKE_CASE(513, 16): len = 12; break; LobbyCreated_t_099u */ + case MAKE_CASE(1023, 40): len = 36; break; /* FileDetailsResult_t */ + case MAKE_CASE(1106, 32): len = 28; break; /* LeaderboardScoreUploaded_t_123 */ + /* case MAKE_CASE(1106, 32): len = 28; break; LeaderboardScoreUploaded_t_104 */ + case MAKE_CASE(1111, 16): len = 12; break; /* LeaderboardUGCSet_t_123 */ + /* case MAKE_CASE(1111, 16): len = 12; break; LeaderboardUGCSet_t_111x */ + case MAKE_CASE(1112, 24): len = 20; break; /* PS3TrophiesInstalled_t_123 */ + /* case MAKE_CASE(1112, 24): len = 20; break; PS3TrophiesInstalled_t_112x */ + case MAKE_CASE(1221, 712): len = 704; break; /* SteamNetConnectionStatusChangedCallback_t_153a */ + /* case MAKE_CASE(1221, 712): len = 704; break; SteamNetConnectionStatusChangedCallback_t_144 */ + case MAKE_CASE(1221, 584): len = 576; break; /* SteamNetConnectionStatusChangedCallback_t_151 */ + case MAKE_CASE(1303, 288): len = 280; break; /* RemoteStorageAppSyncProgress_t_123 */ + /* case MAKE_CASE(1303, 288): len = 280; break; RemoteStorageAppSyncProgress_t_111x */ + case MAKE_CASE(1307, 280): len = 272; break; /* RemoteStorageFileShareResult_t_128x */ + case MAKE_CASE(1307, 16): len = 12; break; /* RemoteStorageFileShareResult_t_123 */ + /* case MAKE_CASE(1307, 16): len = 12; break; RemoteStorageFileShareResult_t_111x */ + case MAKE_CASE(1308, 40): len = 32; break; /* RemoteStorageDownloadUGCResult_t_111x */ + case MAKE_CASE(1309, 24): len = 16; break; /* RemoteStoragePublishFileResult_t_125 */ + case MAKE_CASE(1309, 16): len = 12; break; /* RemoteStoragePublishFileResult_t_123 */ + /* case MAKE_CASE(1309, 16): len = 12; break; RemoteStoragePublishFileResult_t_116x */ + case MAKE_CASE(1310, 1744): len = 1732; break; /* RemoteStorageGetPublishedFileDetailsResult_t_116x */ + case MAKE_CASE(1311, 16): len = 12; break; /* RemoteStorageDeletePublishedFileResult_t_123 */ + /* case MAKE_CASE(1311, 16): len = 12; break; RemoteStorageDeletePublishedFileResult_t_116x */ + case MAKE_CASE(1312, 416): len = 412; break; /* RemoteStorageEnumerateUserPublishedFilesResult_t_123 */ + /* case MAKE_CASE(1312, 416): len = 412; break; RemoteStorageEnumerateUserPublishedFilesResult_t_116x */ + case MAKE_CASE(1313, 16): len = 12; break; /* RemoteStorageSubscribePublishedFileResult_t_123 */ + case MAKE_CASE(1313, 4): len = 4; break; /* RemoteStorageSubscribePublishedFileResult_t_116x */ + case MAKE_CASE(1314, 616): len = 612; break; /* RemoteStorageEnumerateUserSubscribedFilesResult_t_123 */ + /* case MAKE_CASE(1314, 616): len = 612; break; RemoteStorageEnumerateUserSubscribedFilesResult_t_116x */ + case MAKE_CASE(1315, 16): len = 12; break; /* RemoteStorageUnsubscribePublishedFileResult_t_123 */ + case MAKE_CASE(1315, 4): len = 4; break; /* RemoteStorageUnsubscribePublishedFileResult_t_116x */ + case MAKE_CASE(1316, 24): len = 16; break; /* RemoteStorageUpdatePublishedFileResult_t_125 */ + case MAKE_CASE(1316, 16): len = 12; break; /* RemoteStorageUpdatePublishedFileResult_t_123 */ + /* case MAKE_CASE(1316, 16): len = 12; break; RemoteStorageUpdatePublishedFileResult_t_116x */ + case MAKE_CASE(1317, 296): len = 288; break; /* RemoteStorageDownloadUGCResult_t_123 */ + /* case MAKE_CASE(1317, 296): len = 288; break; RemoteStorageDownloadUGCResult_t_116x */ + case MAKE_CASE(1318, 9760): len = 9748; break; /* RemoteStorageGetPublishedFileDetailsResult_t_126 */ + case MAKE_CASE(1318, 9752): len = 9744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_123 */ + /* case MAKE_CASE(1318, 9752): len = 9744; break; RemoteStorageGetPublishedFileDetailsResult_t_119x */ + /* case MAKE_CASE(1318, 9752): len = 9740; break; RemoteStorageGetPublishedFileDetailsResult_t_119 */ + case MAKE_CASE(1318, 9496): len = 9484; break; /* RemoteStorageGetPublishedFileDetailsResult_t_118 */ + case MAKE_CASE(1319, 624): len = 620; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_125 */ + case MAKE_CASE(1319, 616): len = 612; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_123 */ + /* case MAKE_CASE(1319, 616): len = 612; break; RemoteStorageEnumerateWorkshopFilesResult_t_119 */ + case MAKE_CASE(1320, 32): len = 28; break; /* RemoteStorageGetPublishedItemVoteDetailsResult_t_123 */ + /* case MAKE_CASE(1320, 32): len = 28; break; RemoteStorageGetPublishedItemVoteDetailsResult_t_119 */ + case MAKE_CASE(1324, 16): len = 12; break; /* RemoteStorageUpdateUserPublishedItemVoteResult_t_123 */ + /* case MAKE_CASE(1324, 16): len = 12; break; RemoteStorageUpdateUserPublishedItemVoteResult_t_119 */ + case MAKE_CASE(1325, 24): len = 16; break; /* RemoteStorageUserVoteDetails_t_123 */ + /* case MAKE_CASE(1325, 24): len = 16; break; RemoteStorageUserVoteDetails_t_119 */ + case MAKE_CASE(1326, 416): len = 412; break; /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 */ + /* case MAKE_CASE(1326, 416): len = 412; break; RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 */ + case MAKE_CASE(1327, 24): len = 16; break; /* RemoteStorageSetUserPublishedFileActionResult_t_123 */ + /* case MAKE_CASE(1327, 24): len = 16; break; RemoteStorageSetUserPublishedFileActionResult_t_119 */ + case MAKE_CASE(1330, 24): len = 20; break; /* RemoteStoragePublishedFileUpdated_t */ + case MAKE_CASE(2101, 32): len = 24; break; /* HTTPRequestCompleted_t_132x */ + case MAKE_CASE(2101, 24): len = 20; break; /* HTTPRequestCompleted_t_123 */ + /* case MAKE_CASE(2101, 24): len = 20; break; HTTPRequestCompleted_t_115 */ + case MAKE_CASE(2102, 16): len = 12; break; /* HTTPRequestHeadersReceived_t_123 */ + /* case MAKE_CASE(2102, 16): len = 12; break; HTTPRequestHeadersReceived_t_121x */ + case MAKE_CASE(2103, 24): len = 20; break; /* HTTPRequestDataReceived_t_123 */ + /* case MAKE_CASE(2103, 24): len = 20; break; HTTPRequestDataReceived_t_121x */ + case MAKE_CASE(2803, 40): len = 32; break; /* SteamInputConfigurationLoaded_t */ + case MAKE_CASE(2804, 32): len = 24; break; /* SteamInputGamepadSlotChange_t */ + case MAKE_CASE(3402, 9784): len = 9768; break; /* SteamUGCRequestUGCDetailsResult_t_128x */ + case MAKE_CASE(3402, 9776): len = 9764; break; /* SteamUGCRequestUGCDetailsResult_t_129 */ + case MAKE_CASE(3402, 9768): len = 9760; break; /* SteamUGCRequestUGCDetailsResult_t_126 */ + case MAKE_CASE(3403, 24): len = 16; break; /* CreateItemResult_t */ + case MAKE_CASE(3405, 16): len = 12; break; /* ItemInstalled_t */ + case MAKE_CASE(3406, 24): len = 16; break; /* DownloadItemResult_t */ + case MAKE_CASE(3412, 24): len = 20; break; /* AddUGCDependencyResult_t */ + case MAKE_CASE(3413, 24): len = 20; break; /* RemoveUGCDependencyResult_t */ + case MAKE_CASE(3414, 24): len = 16; break; /* AddAppDependencyResult_t */ + case MAKE_CASE(3415, 24): len = 16; break; /* RemoveAppDependencyResult_t */ + case MAKE_CASE(3416, 152): len = 148; break; /* GetAppDependenciesResult_t */ + case MAKE_CASE(3417, 16): len = 12; break; /* DeleteItemResult_t */ + case MAKE_CASE(4502, 48): len = 48; break; /* HTML_NeedsPaint_t */ + case MAKE_CASE(4503, 20): len = 20; break; /* HTML_StartRequest_t */ + case MAKE_CASE(4505, 24): len = 24; break; /* HTML_URLChanged_t */ + case MAKE_CASE(4506, 12): len = 12; break; /* HTML_FinishedRequest_t */ + case MAKE_CASE(4507, 8): len = 8; break; /* HTML_OpenLinkInNewTab_t */ + case MAKE_CASE(4508, 8): len = 8; break; /* HTML_ChangedTitle_t */ + case MAKE_CASE(4513, 20): len = 20; break; /* HTML_LinkAtPosition_t */ + case MAKE_CASE(4514, 8): len = 8; break; /* HTML_JSAlert_t */ + case MAKE_CASE(4515, 8): len = 8; break; /* HTML_JSConfirm_t */ + case MAKE_CASE(4516, 12): len = 12; break; /* HTML_FileOpenDialog_t */ + case MAKE_CASE(4517, 16): len = 16; break; /* HTML_ComboNeedsPaint_t */ + case MAKE_CASE(4521, 28): len = 28; break; /* HTML_NewWindow_t_132x */ + case MAKE_CASE(4521, 24): len = 24; break; /* HTML_NewWindow_t_130x */ + case MAKE_CASE(4523, 8): len = 8; break; /* HTML_StatusText_t */ + case MAKE_CASE(4524, 8): len = 8; break; /* HTML_ShowToolTip_t */ + case MAKE_CASE(4525, 8): len = 8; break; /* HTML_UpdateToolTip_t */ + case MAKE_CASE(4704, 24): len = 20; break; /* SteamInventoryStartPurchaseResult_t */ + case MAKE_CASE(5211, 16): len = 12; break; /* RequestPlayersForGameProgressCallback_t */ + case MAKE_CASE(5212, 64): len = 56; break; /* RequestPlayersForGameResultCallback_t */ + case MAKE_CASE(5213, 24): len = 20; break; /* RequestPlayersForGameFinalResultCallback_t */ + case MAKE_CASE(5214, 24): len = 20; break; /* SubmitPlayerResultResultCallback_t */ + case MAKE_CASE(5215, 16): len = 12; break; /* EndGameResultCallback_t */ + case MAKE_CASE(5301, 280): len = 276; break; /* JoinPartyCallback_t */ + case MAKE_CASE(5302, 16): len = 12; break; /* CreateBeaconCallback_t */ +#endif +#ifdef __x86_64__ + case MAKE_CASE(152, 24): len = 16; break; /* MicroTxnAuthorizationResponse_t_123 */ + /* case MAKE_CASE(152, 24): len = 24; break; MicroTxnAuthorizationResponse_t_109 */ + case MAKE_CASE(209, 40): len = 32; break; /* GSReputation_t_123 */ + /* case MAKE_CASE(209, 40): len = 40; break; GSReputation_t_108 */ + case MAKE_CASE(513, 16): len = 12; break; /* LobbyCreated_t_123 */ + /* case MAKE_CASE(513, 16): len = 16; break; LobbyCreated_t_099u */ + case MAKE_CASE(1023, 40): len = 36; break; /* FileDetailsResult_t */ + case MAKE_CASE(1106, 32): len = 28; break; /* LeaderboardScoreUploaded_t_123 */ + /* case MAKE_CASE(1106, 32): len = 32; break; LeaderboardScoreUploaded_t_104 */ + case MAKE_CASE(1111, 16): len = 12; break; /* LeaderboardUGCSet_t_123 */ + /* case MAKE_CASE(1111, 16): len = 16; break; LeaderboardUGCSet_t_111x */ + case MAKE_CASE(1112, 24): len = 20; break; /* PS3TrophiesInstalled_t_123 */ + /* case MAKE_CASE(1112, 24): len = 24; break; PS3TrophiesInstalled_t_112x */ + case MAKE_CASE(1221, 712): len = 704; break; /* SteamNetConnectionStatusChangedCallback_t_153a */ + /* case MAKE_CASE(1221, 712): len = 704; break; SteamNetConnectionStatusChangedCallback_t_144 */ + case MAKE_CASE(1221, 584): len = 576; break; /* SteamNetConnectionStatusChangedCallback_t_151 */ + case MAKE_CASE(1303, 288): len = 280; break; /* RemoteStorageAppSyncProgress_t_123 */ + /* case MAKE_CASE(1303, 288): len = 288; break; RemoteStorageAppSyncProgress_t_111x */ + case MAKE_CASE(1307, 280): len = 272; break; /* RemoteStorageFileShareResult_t_128x */ + case MAKE_CASE(1307, 16): len = 12; break; /* RemoteStorageFileShareResult_t_123 */ + /* case MAKE_CASE(1307, 16): len = 16; break; RemoteStorageFileShareResult_t_111x */ + case MAKE_CASE(1308, 40): len = 40; break; /* RemoteStorageDownloadUGCResult_t_111x */ + case MAKE_CASE(1309, 24): len = 16; break; /* RemoteStoragePublishFileResult_t_125 */ + case MAKE_CASE(1309, 16): len = 12; break; /* RemoteStoragePublishFileResult_t_123 */ + /* case MAKE_CASE(1309, 16): len = 16; break; RemoteStoragePublishFileResult_t_116x */ + case MAKE_CASE(1310, 1744): len = 1744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_116x */ + case MAKE_CASE(1311, 16): len = 12; break; /* RemoteStorageDeletePublishedFileResult_t_123 */ + /* case MAKE_CASE(1311, 16): len = 16; break; RemoteStorageDeletePublishedFileResult_t_116x */ + case MAKE_CASE(1312, 416): len = 412; break; /* RemoteStorageEnumerateUserPublishedFilesResult_t_123 */ + /* case MAKE_CASE(1312, 416): len = 416; break; RemoteStorageEnumerateUserPublishedFilesResult_t_116x */ + case MAKE_CASE(1313, 16): len = 12; break; /* RemoteStorageSubscribePublishedFileResult_t_123 */ + case MAKE_CASE(1313, 4): len = 4; break; /* RemoteStorageSubscribePublishedFileResult_t_116x */ + case MAKE_CASE(1314, 616): len = 612; break; /* RemoteStorageEnumerateUserSubscribedFilesResult_t_123 */ + /* case MAKE_CASE(1314, 616): len = 616; break; RemoteStorageEnumerateUserSubscribedFilesResult_t_116x */ + case MAKE_CASE(1315, 16): len = 12; break; /* RemoteStorageUnsubscribePublishedFileResult_t_123 */ + case MAKE_CASE(1315, 4): len = 4; break; /* RemoteStorageUnsubscribePublishedFileResult_t_116x */ + case MAKE_CASE(1316, 24): len = 16; break; /* RemoteStorageUpdatePublishedFileResult_t_125 */ + case MAKE_CASE(1316, 16): len = 12; break; /* RemoteStorageUpdatePublishedFileResult_t_123 */ + /* case MAKE_CASE(1316, 16): len = 16; break; RemoteStorageUpdatePublishedFileResult_t_116x */ + case MAKE_CASE(1317, 296): len = 288; break; /* RemoteStorageDownloadUGCResult_t_123 */ + /* case MAKE_CASE(1317, 296): len = 296; break; RemoteStorageDownloadUGCResult_t_116x */ + case MAKE_CASE(1318, 9760): len = 9748; break; /* RemoteStorageGetPublishedFileDetailsResult_t_126 */ + case MAKE_CASE(1318, 9752): len = 9744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_123 */ + /* case MAKE_CASE(1318, 9752): len = 9752; break; RemoteStorageGetPublishedFileDetailsResult_t_119x */ + /* case MAKE_CASE(1318, 9752): len = 9752; break; RemoteStorageGetPublishedFileDetailsResult_t_119 */ + case MAKE_CASE(1318, 9496): len = 9496; break; /* RemoteStorageGetPublishedFileDetailsResult_t_118 */ + case MAKE_CASE(1319, 624): len = 620; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_125 */ + case MAKE_CASE(1319, 616): len = 612; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_123 */ + /* case MAKE_CASE(1319, 616): len = 616; break; RemoteStorageEnumerateWorkshopFilesResult_t_119 */ + case MAKE_CASE(1320, 32): len = 28; break; /* RemoteStorageGetPublishedItemVoteDetailsResult_t_123 */ + /* case MAKE_CASE(1320, 32): len = 32; break; RemoteStorageGetPublishedItemVoteDetailsResult_t_119 */ + case MAKE_CASE(1324, 16): len = 12; break; /* RemoteStorageUpdateUserPublishedItemVoteResult_t_123 */ + /* case MAKE_CASE(1324, 16): len = 16; break; RemoteStorageUpdateUserPublishedItemVoteResult_t_119 */ + case MAKE_CASE(1325, 24): len = 16; break; /* RemoteStorageUserVoteDetails_t_123 */ + /* case MAKE_CASE(1325, 24): len = 24; break; RemoteStorageUserVoteDetails_t_119 */ + case MAKE_CASE(1326, 416): len = 412; break; /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 */ + /* case MAKE_CASE(1326, 416): len = 416; break; RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 */ + case MAKE_CASE(1327, 24): len = 16; break; /* RemoteStorageSetUserPublishedFileActionResult_t_123 */ + /* case MAKE_CASE(1327, 24): len = 24; break; RemoteStorageSetUserPublishedFileActionResult_t_119 */ + case MAKE_CASE(1330, 24): len = 20; break; /* RemoteStoragePublishedFileUpdated_t */ + case MAKE_CASE(2101, 32): len = 24; break; /* HTTPRequestCompleted_t_132x */ + case MAKE_CASE(2101, 24): len = 20; break; /* HTTPRequestCompleted_t_123 */ + /* case MAKE_CASE(2101, 24): len = 24; break; HTTPRequestCompleted_t_115 */ + case MAKE_CASE(2102, 16): len = 12; break; /* HTTPRequestHeadersReceived_t_123 */ + /* case MAKE_CASE(2102, 16): len = 16; break; HTTPRequestHeadersReceived_t_121x */ + case MAKE_CASE(2103, 24): len = 20; break; /* HTTPRequestDataReceived_t_123 */ + /* case MAKE_CASE(2103, 24): len = 24; break; HTTPRequestDataReceived_t_121x */ + case MAKE_CASE(2803, 40): len = 32; break; /* SteamInputConfigurationLoaded_t */ + case MAKE_CASE(2804, 32): len = 24; break; /* SteamInputGamepadSlotChange_t */ + case MAKE_CASE(3402, 9784): len = 9768; break; /* SteamUGCRequestUGCDetailsResult_t_128x */ + case MAKE_CASE(3402, 9776): len = 9764; break; /* SteamUGCRequestUGCDetailsResult_t_129 */ + case MAKE_CASE(3402, 9768): len = 9760; break; /* SteamUGCRequestUGCDetailsResult_t_126 */ + case MAKE_CASE(3403, 24): len = 16; break; /* CreateItemResult_t */ + case MAKE_CASE(3405, 16): len = 12; break; /* ItemInstalled_t */ + case MAKE_CASE(3406, 24): len = 16; break; /* DownloadItemResult_t */ + case MAKE_CASE(3412, 24): len = 20; break; /* AddUGCDependencyResult_t */ + case MAKE_CASE(3413, 24): len = 20; break; /* RemoveUGCDependencyResult_t */ + case MAKE_CASE(3414, 24): len = 16; break; /* AddAppDependencyResult_t */ + case MAKE_CASE(3415, 24): len = 16; break; /* RemoveAppDependencyResult_t */ + case MAKE_CASE(3416, 152): len = 148; break; /* GetAppDependenciesResult_t */ + case MAKE_CASE(3417, 16): len = 12; break; /* DeleteItemResult_t */ + case MAKE_CASE(4502, 56): len = 52; break; /* HTML_NeedsPaint_t */ + case MAKE_CASE(4503, 40): len = 32; break; /* HTML_StartRequest_t */ + case MAKE_CASE(4505, 48): len = 36; break; /* HTML_URLChanged_t */ + case MAKE_CASE(4506, 24): len = 20; break; /* HTML_FinishedRequest_t */ + case MAKE_CASE(4507, 16): len = 12; break; /* HTML_OpenLinkInNewTab_t */ + case MAKE_CASE(4508, 16): len = 12; break; /* HTML_ChangedTitle_t */ + case MAKE_CASE(4513, 32): len = 24; break; /* HTML_LinkAtPosition_t */ + case MAKE_CASE(4514, 16): len = 12; break; /* HTML_JSAlert_t */ + case MAKE_CASE(4515, 16): len = 12; break; /* HTML_JSConfirm_t */ + case MAKE_CASE(4516, 24): len = 20; break; /* HTML_FileOpenDialog_t */ + case MAKE_CASE(4517, 24): len = 20; break; /* HTML_ComboNeedsPaint_t */ + case MAKE_CASE(4521, 40): len = 32; break; /* HTML_NewWindow_t_132x */ + case MAKE_CASE(4521, 32): len = 28; break; /* HTML_NewWindow_t_130x */ + case MAKE_CASE(4523, 16): len = 12; break; /* HTML_StatusText_t */ + case MAKE_CASE(4524, 16): len = 12; break; /* HTML_ShowToolTip_t */ + case MAKE_CASE(4525, 16): len = 12; break; /* HTML_UpdateToolTip_t */ + case MAKE_CASE(4704, 24): len = 20; break; /* SteamInventoryStartPurchaseResult_t */ + case MAKE_CASE(5211, 16): len = 12; break; /* RequestPlayersForGameProgressCallback_t */ + case MAKE_CASE(5212, 64): len = 56; break; /* RequestPlayersForGameResultCallback_t */ + case MAKE_CASE(5213, 24): len = 20; break; /* RequestPlayersForGameFinalResultCallback_t */ + case MAKE_CASE(5214, 24): len = 20; break; /* SubmitPlayerResultResultCallback_t */ + case MAKE_CASE(5215, 16): len = 12; break; /* EndGameResultCallback_t */ + case MAKE_CASE(5301, 280): len = 276; break; /* JoinPartyCallback_t */ + case MAKE_CASE(5302, 16): len = 12; break; /* CreateBeaconCallback_t */ +#endif + default: return callback; + } +#undef MAKE_CASE + + callback = HeapAlloc( GetProcessHeap(), 0, len ); + *callback_len = len; + return callback; +} + +void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len) +{ +#define MAKE_CASE(id, wlen, ulen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24) | (uint64_t)(ulen) + switch (MAKE_CASE(id, w_callback_len, u_callback_len)) + { +#ifdef __i386__ + case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_123 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_123 *)u_callback; break; + /* case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_109 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_109 *)u_callback; break; */ + case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_123 *)w_callback = *(u_GSReputation_t_123 *)u_callback; break; + /* case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_108 *)w_callback = *(u_GSReputation_t_108 *)u_callback; break; */ + case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_123 *)w_callback = *(u_LobbyCreated_t_123 *)u_callback; break; + /* case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_099u *)w_callback = *(u_LobbyCreated_t_099u *)u_callback; break; */ + case MAKE_CASE(1023, 40, 36): *(w_FileDetailsResult_t *)w_callback = *(u_FileDetailsResult_t *)u_callback; break; + case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_123 *)w_callback = *(u_LeaderboardScoreUploaded_t_123 *)u_callback; break; + /* case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_104 *)w_callback = *(u_LeaderboardScoreUploaded_t_104 *)u_callback; break; */ + case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_123 *)w_callback = *(u_LeaderboardUGCSet_t_123 *)u_callback; break; + /* case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_111x *)w_callback = *(u_LeaderboardUGCSet_t_111x *)u_callback; break; */ + case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_123 *)w_callback = *(u_PS3TrophiesInstalled_t_123 *)u_callback; break; + /* case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_112x *)w_callback = *(u_PS3TrophiesInstalled_t_112x *)u_callback; break; */ + case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_153a *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_153a *)u_callback; break; + /* case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_144 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_144 *)u_callback; break; */ + case MAKE_CASE(1221, 584, 576): *(w_SteamNetConnectionStatusChangedCallback_t_151 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_151 *)u_callback; break; + case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_123 *)w_callback = *(u_RemoteStorageAppSyncProgress_t_123 *)u_callback; break; + /* case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_111x *)w_callback = *(u_RemoteStorageAppSyncProgress_t_111x *)u_callback; break; */ + case MAKE_CASE(1307, 280, 272): *(w_RemoteStorageFileShareResult_t_128x *)w_callback = *(u_RemoteStorageFileShareResult_t_128x *)u_callback; break; + case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_123 *)w_callback = *(u_RemoteStorageFileShareResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_111x *)w_callback = *(u_RemoteStorageFileShareResult_t_111x *)u_callback; break; */ + case MAKE_CASE(1308, 40, 32): *(w_RemoteStorageDownloadUGCResult_t_111x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_111x *)u_callback; break; + case MAKE_CASE(1309, 24, 16): *(w_RemoteStoragePublishFileResult_t_125 *)w_callback = *(u_RemoteStoragePublishFileResult_t_125 *)u_callback; break; + case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_123 *)w_callback = *(u_RemoteStoragePublishFileResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_116x *)w_callback = *(u_RemoteStoragePublishFileResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1310, 1744, 1732): *(w_RemoteStorageGetPublishedFileDetailsResult_t_116x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_116x *)u_callback; break; + case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1313, 16, 12): *(w_RemoteStorageSubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1313, 4, 4): *(w_RemoteStorageSubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1315, 16, 12): *(w_RemoteStorageUnsubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1315, 4, 4): *(w_RemoteStorageUnsubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1316, 24, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_125 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_125 *)u_callback; break; + case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_123 *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_116x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_116x *)u_callback; break; */ + case MAKE_CASE(1318, 9760, 9748): *(w_RemoteStorageGetPublishedFileDetailsResult_t_126 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_126 *)u_callback; break; + case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119x *)u_callback; break; */ + case MAKE_CASE(1318, 9752, 9740): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119 *)u_callback; break; + case MAKE_CASE(1318, 9496, 9484): *(w_RemoteStorageGetPublishedFileDetailsResult_t_118 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_118 *)u_callback; break; + case MAKE_CASE(1319, 624, 620): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)u_callback; break; + case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_123 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_123 *)u_callback; break; + /* case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_119 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_119 *)u_callback; break; */ + case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_123 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_123 *)u_callback; break; + /* case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_119 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1330, 24, 20): *(w_RemoteStoragePublishedFileUpdated_t *)w_callback = *(u_RemoteStoragePublishedFileUpdated_t *)u_callback; break; + case MAKE_CASE(2101, 32, 24): *(w_HTTPRequestCompleted_t_132x *)w_callback = *(u_HTTPRequestCompleted_t_132x *)u_callback; break; + case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_123 *)w_callback = *(u_HTTPRequestCompleted_t_123 *)u_callback; break; + /* case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_115 *)w_callback = *(u_HTTPRequestCompleted_t_115 *)u_callback; break; */ + case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_123 *)w_callback = *(u_HTTPRequestHeadersReceived_t_123 *)u_callback; break; + /* case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_121x *)w_callback = *(u_HTTPRequestHeadersReceived_t_121x *)u_callback; break; */ + case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_123 *)w_callback = *(u_HTTPRequestDataReceived_t_123 *)u_callback; break; + /* case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_121x *)w_callback = *(u_HTTPRequestDataReceived_t_121x *)u_callback; break; */ + case MAKE_CASE(2803, 40, 32): *(w_SteamInputConfigurationLoaded_t *)w_callback = *(u_SteamInputConfigurationLoaded_t *)u_callback; break; + case MAKE_CASE(2804, 32, 24): *(w_SteamInputGamepadSlotChange_t *)w_callback = *(u_SteamInputGamepadSlotChange_t *)u_callback; break; + case MAKE_CASE(3402, 9784, 9768): *(w_SteamUGCRequestUGCDetailsResult_t_128x *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_128x *)u_callback; break; + case MAKE_CASE(3402, 9776, 9764): *(w_SteamUGCRequestUGCDetailsResult_t_129 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_129 *)u_callback; break; + case MAKE_CASE(3402, 9768, 9760): *(w_SteamUGCRequestUGCDetailsResult_t_126 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_126 *)u_callback; break; + case MAKE_CASE(3403, 24, 16): *(w_CreateItemResult_t *)w_callback = *(u_CreateItemResult_t *)u_callback; break; + case MAKE_CASE(3405, 16, 12): *(w_ItemInstalled_t *)w_callback = *(u_ItemInstalled_t *)u_callback; break; + case MAKE_CASE(3406, 24, 16): *(w_DownloadItemResult_t *)w_callback = *(u_DownloadItemResult_t *)u_callback; break; + case MAKE_CASE(3412, 24, 20): *(w_AddUGCDependencyResult_t *)w_callback = *(u_AddUGCDependencyResult_t *)u_callback; break; + case MAKE_CASE(3413, 24, 20): *(w_RemoveUGCDependencyResult_t *)w_callback = *(u_RemoveUGCDependencyResult_t *)u_callback; break; + case MAKE_CASE(3414, 24, 16): *(w_AddAppDependencyResult_t *)w_callback = *(u_AddAppDependencyResult_t *)u_callback; break; + case MAKE_CASE(3415, 24, 16): *(w_RemoveAppDependencyResult_t *)w_callback = *(u_RemoveAppDependencyResult_t *)u_callback; break; + case MAKE_CASE(3416, 152, 148): *(w_GetAppDependenciesResult_t *)w_callback = *(u_GetAppDependenciesResult_t *)u_callback; break; + case MAKE_CASE(3417, 16, 12): *(w_DeleteItemResult_t *)w_callback = *(u_DeleteItemResult_t *)u_callback; break; + case MAKE_CASE(4502, 48, 48): *(w_HTML_NeedsPaint_t *)w_callback = *(u_HTML_NeedsPaint_t *)u_callback; break; + case MAKE_CASE(4503, 20, 20): *(w_HTML_StartRequest_t *)w_callback = *(u_HTML_StartRequest_t *)u_callback; break; + case MAKE_CASE(4505, 24, 24): *(w_HTML_URLChanged_t *)w_callback = *(u_HTML_URLChanged_t *)u_callback; break; + case MAKE_CASE(4506, 12, 12): *(w_HTML_FinishedRequest_t *)w_callback = *(u_HTML_FinishedRequest_t *)u_callback; break; + case MAKE_CASE(4507, 8, 8): *(w_HTML_OpenLinkInNewTab_t *)w_callback = *(u_HTML_OpenLinkInNewTab_t *)u_callback; break; + case MAKE_CASE(4508, 8, 8): *(w_HTML_ChangedTitle_t *)w_callback = *(u_HTML_ChangedTitle_t *)u_callback; break; + case MAKE_CASE(4513, 20, 20): *(w_HTML_LinkAtPosition_t *)w_callback = *(u_HTML_LinkAtPosition_t *)u_callback; break; + case MAKE_CASE(4514, 8, 8): *(w_HTML_JSAlert_t *)w_callback = *(u_HTML_JSAlert_t *)u_callback; break; + case MAKE_CASE(4515, 8, 8): *(w_HTML_JSConfirm_t *)w_callback = *(u_HTML_JSConfirm_t *)u_callback; break; + case MAKE_CASE(4516, 12, 12): *(w_HTML_FileOpenDialog_t *)w_callback = *(u_HTML_FileOpenDialog_t *)u_callback; break; + case MAKE_CASE(4517, 16, 16): *(w_HTML_ComboNeedsPaint_t *)w_callback = *(u_HTML_ComboNeedsPaint_t *)u_callback; break; + case MAKE_CASE(4521, 28, 28): *(w_HTML_NewWindow_t_132x *)w_callback = *(u_HTML_NewWindow_t_132x *)u_callback; break; + case MAKE_CASE(4521, 24, 24): *(w_HTML_NewWindow_t_130x *)w_callback = *(u_HTML_NewWindow_t_130x *)u_callback; break; + case MAKE_CASE(4523, 8, 8): *(w_HTML_StatusText_t *)w_callback = *(u_HTML_StatusText_t *)u_callback; break; + case MAKE_CASE(4524, 8, 8): *(w_HTML_ShowToolTip_t *)w_callback = *(u_HTML_ShowToolTip_t *)u_callback; break; + case MAKE_CASE(4525, 8, 8): *(w_HTML_UpdateToolTip_t *)w_callback = *(u_HTML_UpdateToolTip_t *)u_callback; break; + case MAKE_CASE(4704, 24, 20): *(w_SteamInventoryStartPurchaseResult_t *)w_callback = *(u_SteamInventoryStartPurchaseResult_t *)u_callback; break; + case MAKE_CASE(5211, 16, 12): *(w_RequestPlayersForGameProgressCallback_t *)w_callback = *(u_RequestPlayersForGameProgressCallback_t *)u_callback; break; + case MAKE_CASE(5212, 64, 56): *(w_RequestPlayersForGameResultCallback_t *)w_callback = *(u_RequestPlayersForGameResultCallback_t *)u_callback; break; + case MAKE_CASE(5213, 24, 20): *(w_RequestPlayersForGameFinalResultCallback_t *)w_callback = *(u_RequestPlayersForGameFinalResultCallback_t *)u_callback; break; + case MAKE_CASE(5214, 24, 20): *(w_SubmitPlayerResultResultCallback_t *)w_callback = *(u_SubmitPlayerResultResultCallback_t *)u_callback; break; + case MAKE_CASE(5215, 16, 12): *(w_EndGameResultCallback_t *)w_callback = *(u_EndGameResultCallback_t *)u_callback; break; + case MAKE_CASE(5301, 280, 276): *(w_JoinPartyCallback_t *)w_callback = *(u_JoinPartyCallback_t *)u_callback; break; + case MAKE_CASE(5302, 16, 12): *(w_CreateBeaconCallback_t *)w_callback = *(u_CreateBeaconCallback_t *)u_callback; break; +#endif +#ifdef __x86_64__ + case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_123 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_123 *)u_callback; break; + case MAKE_CASE(152, 24, 24): *(w_MicroTxnAuthorizationResponse_t_109 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_109 *)u_callback; break; + case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_123 *)w_callback = *(u_GSReputation_t_123 *)u_callback; break; + case MAKE_CASE(209, 40, 40): *(w_GSReputation_t_108 *)w_callback = *(u_GSReputation_t_108 *)u_callback; break; + case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_123 *)w_callback = *(u_LobbyCreated_t_123 *)u_callback; break; + case MAKE_CASE(513, 16, 16): *(w_LobbyCreated_t_099u *)w_callback = *(u_LobbyCreated_t_099u *)u_callback; break; + case MAKE_CASE(1023, 40, 36): *(w_FileDetailsResult_t *)w_callback = *(u_FileDetailsResult_t *)u_callback; break; + case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_123 *)w_callback = *(u_LeaderboardScoreUploaded_t_123 *)u_callback; break; + case MAKE_CASE(1106, 32, 32): *(w_LeaderboardScoreUploaded_t_104 *)w_callback = *(u_LeaderboardScoreUploaded_t_104 *)u_callback; break; + case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_123 *)w_callback = *(u_LeaderboardUGCSet_t_123 *)u_callback; break; + case MAKE_CASE(1111, 16, 16): *(w_LeaderboardUGCSet_t_111x *)w_callback = *(u_LeaderboardUGCSet_t_111x *)u_callback; break; + case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_123 *)w_callback = *(u_PS3TrophiesInstalled_t_123 *)u_callback; break; + case MAKE_CASE(1112, 24, 24): *(w_PS3TrophiesInstalled_t_112x *)w_callback = *(u_PS3TrophiesInstalled_t_112x *)u_callback; break; + case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_153a *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_153a *)u_callback; break; + /* case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_144 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_144 *)u_callback; break; */ + case MAKE_CASE(1221, 584, 576): *(w_SteamNetConnectionStatusChangedCallback_t_151 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_151 *)u_callback; break; + case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_123 *)w_callback = *(u_RemoteStorageAppSyncProgress_t_123 *)u_callback; break; + case MAKE_CASE(1303, 288, 288): *(w_RemoteStorageAppSyncProgress_t_111x *)w_callback = *(u_RemoteStorageAppSyncProgress_t_111x *)u_callback; break; + case MAKE_CASE(1307, 280, 272): *(w_RemoteStorageFileShareResult_t_128x *)w_callback = *(u_RemoteStorageFileShareResult_t_128x *)u_callback; break; + case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_123 *)w_callback = *(u_RemoteStorageFileShareResult_t_123 *)u_callback; break; + case MAKE_CASE(1307, 16, 16): *(w_RemoteStorageFileShareResult_t_111x *)w_callback = *(u_RemoteStorageFileShareResult_t_111x *)u_callback; break; + case MAKE_CASE(1308, 40, 40): *(w_RemoteStorageDownloadUGCResult_t_111x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_111x *)u_callback; break; + case MAKE_CASE(1309, 24, 16): *(w_RemoteStoragePublishFileResult_t_125 *)w_callback = *(u_RemoteStoragePublishFileResult_t_125 *)u_callback; break; + case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_123 *)w_callback = *(u_RemoteStoragePublishFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1309, 16, 16): *(w_RemoteStoragePublishFileResult_t_116x *)w_callback = *(u_RemoteStoragePublishFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1310, 1744, 1744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_116x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_116x *)u_callback; break; + case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1311, 16, 16): *(w_RemoteStorageDeletePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)u_callback; break; + case MAKE_CASE(1312, 416, 416): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)u_callback; break; + case MAKE_CASE(1313, 16, 12): *(w_RemoteStorageSubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1313, 4, 4): *(w_RemoteStorageSubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)u_callback; break; + case MAKE_CASE(1314, 616, 616): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)u_callback; break; + case MAKE_CASE(1315, 16, 12): *(w_RemoteStorageUnsubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1315, 4, 4): *(w_RemoteStorageUnsubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1316, 24, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_125 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_125 *)u_callback; break; + case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_123 *)u_callback; break; + case MAKE_CASE(1316, 16, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_116x *)u_callback; break; + case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_123 *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_123 *)u_callback; break; + case MAKE_CASE(1317, 296, 296): *(w_RemoteStorageDownloadUGCResult_t_116x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_116x *)u_callback; break; + case MAKE_CASE(1318, 9760, 9748): *(w_RemoteStorageGetPublishedFileDetailsResult_t_126 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_126 *)u_callback; break; + case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_123 *)u_callback; break; + case MAKE_CASE(1318, 9752, 9752): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119x *)u_callback; break; + /* case MAKE_CASE(1318, 9752, 9752): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119 *)u_callback; break; */ + case MAKE_CASE(1318, 9496, 9496): *(w_RemoteStorageGetPublishedFileDetailsResult_t_118 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_118 *)u_callback; break; + case MAKE_CASE(1319, 624, 620): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)u_callback; break; + case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)u_callback; break; + case MAKE_CASE(1319, 616, 616): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)u_callback; break; + case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)u_callback; break; + case MAKE_CASE(1320, 32, 32): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)u_callback; break; + case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)u_callback; break; + case MAKE_CASE(1324, 16, 16): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)u_callback; break; + case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_123 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_123 *)u_callback; break; + case MAKE_CASE(1325, 24, 24): *(w_RemoteStorageUserVoteDetails_t_119 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_119 *)u_callback; break; + case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)u_callback; break; + case MAKE_CASE(1326, 416, 416): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)u_callback; break; + case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_123 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_123 *)u_callback; break; + case MAKE_CASE(1327, 24, 24): *(w_RemoteStorageSetUserPublishedFileActionResult_t_119 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_119 *)u_callback; break; + case MAKE_CASE(1330, 24, 20): *(w_RemoteStoragePublishedFileUpdated_t *)w_callback = *(u_RemoteStoragePublishedFileUpdated_t *)u_callback; break; + case MAKE_CASE(2101, 32, 24): *(w_HTTPRequestCompleted_t_132x *)w_callback = *(u_HTTPRequestCompleted_t_132x *)u_callback; break; + case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_123 *)w_callback = *(u_HTTPRequestCompleted_t_123 *)u_callback; break; + case MAKE_CASE(2101, 24, 24): *(w_HTTPRequestCompleted_t_115 *)w_callback = *(u_HTTPRequestCompleted_t_115 *)u_callback; break; + case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_123 *)w_callback = *(u_HTTPRequestHeadersReceived_t_123 *)u_callback; break; + case MAKE_CASE(2102, 16, 16): *(w_HTTPRequestHeadersReceived_t_121x *)w_callback = *(u_HTTPRequestHeadersReceived_t_121x *)u_callback; break; + case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_123 *)w_callback = *(u_HTTPRequestDataReceived_t_123 *)u_callback; break; + case MAKE_CASE(2103, 24, 24): *(w_HTTPRequestDataReceived_t_121x *)w_callback = *(u_HTTPRequestDataReceived_t_121x *)u_callback; break; + case MAKE_CASE(2803, 40, 32): *(w_SteamInputConfigurationLoaded_t *)w_callback = *(u_SteamInputConfigurationLoaded_t *)u_callback; break; + case MAKE_CASE(2804, 32, 24): *(w_SteamInputGamepadSlotChange_t *)w_callback = *(u_SteamInputGamepadSlotChange_t *)u_callback; break; + case MAKE_CASE(3402, 9784, 9768): *(w_SteamUGCRequestUGCDetailsResult_t_128x *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_128x *)u_callback; break; + case MAKE_CASE(3402, 9776, 9764): *(w_SteamUGCRequestUGCDetailsResult_t_129 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_129 *)u_callback; break; + case MAKE_CASE(3402, 9768, 9760): *(w_SteamUGCRequestUGCDetailsResult_t_126 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_126 *)u_callback; break; + case MAKE_CASE(3403, 24, 16): *(w_CreateItemResult_t *)w_callback = *(u_CreateItemResult_t *)u_callback; break; + case MAKE_CASE(3405, 16, 12): *(w_ItemInstalled_t *)w_callback = *(u_ItemInstalled_t *)u_callback; break; + case MAKE_CASE(3406, 24, 16): *(w_DownloadItemResult_t *)w_callback = *(u_DownloadItemResult_t *)u_callback; break; + case MAKE_CASE(3412, 24, 20): *(w_AddUGCDependencyResult_t *)w_callback = *(u_AddUGCDependencyResult_t *)u_callback; break; + case MAKE_CASE(3413, 24, 20): *(w_RemoveUGCDependencyResult_t *)w_callback = *(u_RemoveUGCDependencyResult_t *)u_callback; break; + case MAKE_CASE(3414, 24, 16): *(w_AddAppDependencyResult_t *)w_callback = *(u_AddAppDependencyResult_t *)u_callback; break; + case MAKE_CASE(3415, 24, 16): *(w_RemoveAppDependencyResult_t *)w_callback = *(u_RemoveAppDependencyResult_t *)u_callback; break; + case MAKE_CASE(3416, 152, 148): *(w_GetAppDependenciesResult_t *)w_callback = *(u_GetAppDependenciesResult_t *)u_callback; break; + case MAKE_CASE(3417, 16, 12): *(w_DeleteItemResult_t *)w_callback = *(u_DeleteItemResult_t *)u_callback; break; + case MAKE_CASE(4502, 56, 52): *(w_HTML_NeedsPaint_t *)w_callback = *(u_HTML_NeedsPaint_t *)u_callback; break; + case MAKE_CASE(4503, 40, 32): *(w_HTML_StartRequest_t *)w_callback = *(u_HTML_StartRequest_t *)u_callback; break; + case MAKE_CASE(4505, 48, 36): *(w_HTML_URLChanged_t *)w_callback = *(u_HTML_URLChanged_t *)u_callback; break; + case MAKE_CASE(4506, 24, 20): *(w_HTML_FinishedRequest_t *)w_callback = *(u_HTML_FinishedRequest_t *)u_callback; break; + case MAKE_CASE(4507, 16, 12): *(w_HTML_OpenLinkInNewTab_t *)w_callback = *(u_HTML_OpenLinkInNewTab_t *)u_callback; break; + case MAKE_CASE(4508, 16, 12): *(w_HTML_ChangedTitle_t *)w_callback = *(u_HTML_ChangedTitle_t *)u_callback; break; + case MAKE_CASE(4513, 32, 24): *(w_HTML_LinkAtPosition_t *)w_callback = *(u_HTML_LinkAtPosition_t *)u_callback; break; + case MAKE_CASE(4514, 16, 12): *(w_HTML_JSAlert_t *)w_callback = *(u_HTML_JSAlert_t *)u_callback; break; + case MAKE_CASE(4515, 16, 12): *(w_HTML_JSConfirm_t *)w_callback = *(u_HTML_JSConfirm_t *)u_callback; break; + case MAKE_CASE(4516, 24, 20): *(w_HTML_FileOpenDialog_t *)w_callback = *(u_HTML_FileOpenDialog_t *)u_callback; break; + case MAKE_CASE(4517, 24, 20): *(w_HTML_ComboNeedsPaint_t *)w_callback = *(u_HTML_ComboNeedsPaint_t *)u_callback; break; + case MAKE_CASE(4521, 40, 32): *(w_HTML_NewWindow_t_132x *)w_callback = *(u_HTML_NewWindow_t_132x *)u_callback; break; + case MAKE_CASE(4521, 32, 28): *(w_HTML_NewWindow_t_130x *)w_callback = *(u_HTML_NewWindow_t_130x *)u_callback; break; + case MAKE_CASE(4523, 16, 12): *(w_HTML_StatusText_t *)w_callback = *(u_HTML_StatusText_t *)u_callback; break; + case MAKE_CASE(4524, 16, 12): *(w_HTML_ShowToolTip_t *)w_callback = *(u_HTML_ShowToolTip_t *)u_callback; break; + case MAKE_CASE(4525, 16, 12): *(w_HTML_UpdateToolTip_t *)w_callback = *(u_HTML_UpdateToolTip_t *)u_callback; break; + case MAKE_CASE(4704, 24, 20): *(w_SteamInventoryStartPurchaseResult_t *)w_callback = *(u_SteamInventoryStartPurchaseResult_t *)u_callback; break; + case MAKE_CASE(5211, 16, 12): *(w_RequestPlayersForGameProgressCallback_t *)w_callback = *(u_RequestPlayersForGameProgressCallback_t *)u_callback; break; + case MAKE_CASE(5212, 64, 56): *(w_RequestPlayersForGameResultCallback_t *)w_callback = *(u_RequestPlayersForGameResultCallback_t *)u_callback; break; + case MAKE_CASE(5213, 24, 20): *(w_RequestPlayersForGameFinalResultCallback_t *)w_callback = *(u_RequestPlayersForGameFinalResultCallback_t *)u_callback; break; + case MAKE_CASE(5214, 24, 20): *(w_SubmitPlayerResultResultCallback_t *)w_callback = *(u_SubmitPlayerResultResultCallback_t *)u_callback; break; + case MAKE_CASE(5215, 16, 12): *(w_EndGameResultCallback_t *)w_callback = *(u_EndGameResultCallback_t *)u_callback; break; + case MAKE_CASE(5301, 280, 276): *(w_JoinPartyCallback_t *)w_callback = *(u_JoinPartyCallback_t *)u_callback; break; + case MAKE_CASE(5302, 16, 12): *(w_CreateBeaconCallback_t *)w_callback = *(u_CreateBeaconCallback_t *)u_callback; break; +#endif + default: memcpy( w_callback, u_callback, u_callback_len ); break; + } +#undef MAKE_CASE +}