From 7e98577a74082e978b9bfd534e1300a0754cf9d7 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 12 Mar 2024 15:02:15 -0600 Subject: [PATCH] lsteamclient: Reimplement alloc_callback_wtou(), convert_callback_utow() in manual code using generated table. And try to handle the case of non-matching Windows callback length similar to before commit 6a5d5757ca2fbed232481f4e001114e7ba87560c. CW-Bug-Id: #23550 --- lsteamclient/gen_wrapper.py | 71 +-- lsteamclient/unix_private.h | 11 + lsteamclient/unixlib.cpp | 87 ++++ lsteamclient/unixlib_generated.cpp | 664 ++++++++++------------------- 4 files changed, 333 insertions(+), 500 deletions(-) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 1ffb1717..57f246f9 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -1700,73 +1700,40 @@ with open('unixlib_generated.cpp', 'w') as file: out(u'}\n') out(u'\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 = malloc( len );\n') - out(u' *callback_len = len;\n') - out(u' return callback;\n') - out(u'}\n') - out(u'\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') + out(u'const struct callback_def callback_data[] =\n{\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] + + w_from_u = f'{name}_w_from_u' + if not w_from_u in written_converters: + w_from_u = u'nullptr' + 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') + out(f' {{ {cbid}, {sdkver}, {abis["w32"].size}, {abis["u32"].size}, {w_from_u} }},\n') else: - out(f' /* case MAKE_CASE({cbid}, {abis["w32"].size}, {abis["u32"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n') + out(f' /*{{ {cbid}, {sdkver}, {abis["w32"].size}, {abis["u32"].size}, {w_from_u} }},*/\n') values.add(value) + out(u'};\n'); out(u'#endif\n') out(u'#ifdef __x86_64__\n') + out(u'const struct callback_def callback_data[] =\n{\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] + + w_from_u = f'{name}_w_from_u' + if not w_from_u in written_converters: + w_from_u = u'nullptr' + 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') + out(f' {{ {cbid}, {sdkver}, {abis["w64"].size}, {abis["u64"].size}, {w_from_u} }},\n') else: - out(f' /* case MAKE_CASE({cbid}, {abis["w64"].size}, {abis["u64"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n') + out(f' /*{{ {cbid}, {sdkver}, {abis["w64"].size}, {abis["u64"].size}, {w_from_u} }},*/\n') values.add(value) + out(u'};\n'); 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') + out(u'const unsigned int callback_data_size = ARRAY_SIZE(callback_data);\n'); diff --git a/lsteamclient/unix_private.h b/lsteamclient/unix_private.h index fe9be035..8e95b47e 100644 --- a/lsteamclient/unix_private.h +++ b/lsteamclient/unix_private.h @@ -57,6 +57,17 @@ typedef void (W_CDECL *w_void_SteamAPI_PostAPIResultInProcess_t)(void); u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t ); u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t ); +struct callback_def +{ + int id; + int sdkver; + int w_callback_len; + int u_callback_len; + void (*conv_w_from_u)(void *dst, const void *src); +}; +extern const struct callback_def callback_data[]; +extern const unsigned int callback_data_size; + void callback_message_utow( const u_CallbackMsg_t *u_msg, w_CallbackMsg_t *w_msg ); void *alloc_callback_wtou( int id, void *callback, int *callback_len ); void convert_callback_utow( int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len ); diff --git a/lsteamclient/unixlib.cpp b/lsteamclient/unixlib.cpp index 417b0d44..7fd77f28 100644 --- a/lsteamclient/unixlib.cpp +++ b/lsteamclient/unixlib.cpp @@ -648,3 +648,90 @@ unsigned int steamclient_unix_path_to_dos_path( bool api_result, const char *src return r; } +static const struct callback_def *find_first_callback_def_by_id( int id ) +{ + unsigned int l, r, m; + + l = 0; + r = callback_data_size; + while (l < r) + { + m = (l + r) /2; + if (callback_data[m].id == id) + { + while (m && callback_data[m - 1].id == id) --m; + return &callback_data[m]; + } + if (id < callback_data[m].id) r = m; + else l = m + 1; + } + return NULL; +} + +void *alloc_callback_wtou( int id, void *callback, int *callback_len ) +{ + const struct callback_def *c, *end, *best; + + if (!(c = find_first_callback_def_by_id( id ))) return callback; + + end = callback_data + callback_data_size; + best = NULL; + while (c != end && c->id == id) + { + if (c->w_callback_len == *callback_len) + { + best = c; + break; + } + if (!best && *callback_len >= c->w_callback_len) best = c; + ++c; + } + + if (!best) + { + WARN( "len %d is too small for callback %d.\n", *callback_len, id ); + return callback; + } + if (best->w_callback_len != *callback_len) + WARN( "Found len %d for id %d, len %d.\n", best->w_callback_len, id, *callback_len ); + *callback_len = best->u_callback_len; + return malloc( *callback_len ); +} + +void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len) +{ + const struct callback_def *c, *end, *best; + + if (!(c = find_first_callback_def_by_id( id ))) + { + memcpy( w_callback, u_callback, u_callback_len ); + return; + } + + end = callback_data + callback_data_size; + best = NULL; + while (c != end && c->id == id) + { + if (c->w_callback_len == w_callback_len && c->u_callback_len == u_callback_len) + { + best = c; + break; + } + if (!best && c->u_callback_len == u_callback_len && c->w_callback_len <= w_callback_len) + best = c; + ++c; + } + if (!best) + { + ERR( "Could not find id %d, u_callback_len %d, w_callback_len %d.\n", id, u_callback_len, w_callback_len ); + memcpy( w_callback, u_callback, std::min(w_callback_len, u_callback_len) ); + return; + } + + if (best->w_callback_len != w_callback_len || best->u_callback_len != u_callback_len) + WARN( "Found len %d, %d for id %d, len %d, %d.\n", best->w_callback_len, best->u_callback_len, + id, w_callback_len, u_callback_len ); + + if (best->conv_w_from_u) best->conv_w_from_u( w_callback, u_callback ); + else memcpy( w_callback, u_callback, u_callback_len ); +} diff --git a/lsteamclient/unixlib_generated.cpp b/lsteamclient/unixlib_generated.cpp index 5f60193d..a6a7e961 100644 --- a/lsteamclient/unixlib_generated.cpp +++ b/lsteamclient/unixlib_generated.cpp @@ -20306,456 +20306,224 @@ void callback_message_utow( const u_CallbackMsg_t *u_msg, w_CallbackMsg_t *w_msg w_msg->m_cubParam = len; } -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 */ +const struct callback_def callback_data[] = +{ + { 152, 158, 24, 16, MicroTxnAuthorizationResponse_t_123_w_from_u }, + /*{ 152, 122, 24, 16, MicroTxnAuthorizationResponse_t_109_w_from_u },*/ + { 209, 158, 40, 32, GSReputation_t_123_w_from_u }, + /*{ 209, 122, 40, 32, GSReputation_t_108_w_from_u },*/ + { 513, 158, 16, 12, LobbyCreated_t_123_w_from_u }, + /*{ 513, 122, 16, 12, LobbyCreated_t_099u_w_from_u },*/ + { 1023, 158, 40, 36, FileDetailsResult_t_w_from_u }, + { 1106, 158, 32, 28, LeaderboardScoreUploaded_t_123_w_from_u }, + /*{ 1106, 122, 32, 28, LeaderboardScoreUploaded_t_104_w_from_u },*/ + { 1111, 158, 16, 12, LeaderboardUGCSet_t_123_w_from_u }, + /*{ 1111, 122, 16, 12, LeaderboardUGCSet_t_111x_w_from_u },*/ + { 1112, 158, 24, 20, PS3TrophiesInstalled_t_123_w_from_u }, + /*{ 1112, 122, 24, 20, PS3TrophiesInstalled_t_112x_w_from_u },*/ + { 1221, 158, 712, 704, SteamNetConnectionStatusChangedCallback_t_153a_w_from_u }, + /*{ 1221, 152, 712, 704, SteamNetConnectionStatusChangedCallback_t_144_w_from_u },*/ + { 1221, 151, 584, 576, SteamNetConnectionStatusChangedCallback_t_151_w_from_u }, + { 1303, 151, 288, 280, RemoteStorageAppSyncProgress_t_123_w_from_u }, + /*{ 1303, 122, 288, 280, RemoteStorageAppSyncProgress_t_111x_w_from_u },*/ + { 1307, 158, 280, 272, RemoteStorageFileShareResult_t_128x_w_from_u }, + { 1307, 128, 16, 12, RemoteStorageFileShareResult_t_123_w_from_u }, + /*{ 1307, 122, 16, 12, RemoteStorageFileShareResult_t_111x_w_from_u },*/ + { 1308, 116, 40, 32, RemoteStorageDownloadUGCResult_t_111x_w_from_u }, + { 1309, 158, 24, 16, RemoteStoragePublishFileResult_t_125_w_from_u }, + { 1309, 124, 16, 12, RemoteStoragePublishFileResult_t_123_w_from_u }, + /*{ 1309, 122, 16, 12, RemoteStoragePublishFileResult_t_116x_w_from_u },*/ + { 1310, 117, 1744, 1732, RemoteStorageGetPublishedFileDetailsResult_t_116x_w_from_u }, + { 1311, 158, 16, 12, RemoteStorageDeletePublishedFileResult_t_123_w_from_u }, + /*{ 1311, 122, 16, 12, RemoteStorageDeletePublishedFileResult_t_116x_w_from_u },*/ + { 1312, 158, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_123_w_from_u }, + /*{ 1312, 122, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_116x_w_from_u },*/ + { 1313, 158, 16, 12, RemoteStorageSubscribePublishedFileResult_t_123_w_from_u }, + { 1313, 122, 4, 4, nullptr }, + { 1314, 158, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_123_w_from_u }, + /*{ 1314, 122, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_116x_w_from_u },*/ + { 1315, 158, 16, 12, RemoteStorageUnsubscribePublishedFileResult_t_123_w_from_u }, + { 1315, 122, 4, 4, nullptr }, + { 1316, 158, 24, 16, RemoteStorageUpdatePublishedFileResult_t_125_w_from_u }, + { 1316, 124, 16, 12, RemoteStorageUpdatePublishedFileResult_t_123_w_from_u }, + /*{ 1316, 122, 16, 12, RemoteStorageUpdatePublishedFileResult_t_116x_w_from_u },*/ + { 1317, 158, 296, 288, RemoteStorageDownloadUGCResult_t_123_w_from_u }, + /*{ 1317, 122, 296, 288, RemoteStorageDownloadUGCResult_t_116x_w_from_u },*/ + { 1318, 158, 9760, 9748, RemoteStorageGetPublishedFileDetailsResult_t_126_w_from_u }, + { 1318, 125, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_123_w_from_u }, + /*{ 1318, 122, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_119x_w_from_u },*/ + { 1318, 119, 9752, 9740, RemoteStorageGetPublishedFileDetailsResult_t_119_w_from_u }, + { 1318, 118, 9496, 9484, RemoteStorageGetPublishedFileDetailsResult_t_118_w_from_u }, + { 1319, 158, 624, 620, RemoteStorageEnumerateWorkshopFilesResult_t_125_w_from_u }, + { 1319, 124, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_123_w_from_u }, + /*{ 1319, 122, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_119_w_from_u },*/ + { 1320, 158, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_123_w_from_u }, + /*{ 1320, 122, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_119_w_from_u },*/ + { 1324, 158, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_123_w_from_u }, + /*{ 1324, 122, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_119_w_from_u },*/ + { 1325, 158, 24, 16, RemoteStorageUserVoteDetails_t_123_w_from_u }, + /*{ 1325, 122, 24, 16, RemoteStorageUserVoteDetails_t_119_w_from_u },*/ + { 1326, 158, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123_w_from_u }, + /*{ 1326, 122, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119_w_from_u },*/ + { 1327, 158, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_123_w_from_u }, + /*{ 1327, 122, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_119_w_from_u },*/ + { 1330, 158, 24, 20, RemoteStoragePublishedFileUpdated_t_w_from_u }, + { 2101, 158, 32, 24, HTTPRequestCompleted_t_132x_w_from_u }, + { 2101, 132, 24, 20, HTTPRequestCompleted_t_123_w_from_u }, + /*{ 2101, 122, 24, 20, HTTPRequestCompleted_t_115_w_from_u },*/ + { 2102, 158, 16, 12, HTTPRequestHeadersReceived_t_123_w_from_u }, + /*{ 2102, 122, 16, 12, HTTPRequestHeadersReceived_t_121x_w_from_u },*/ + { 2103, 158, 24, 20, HTTPRequestDataReceived_t_123_w_from_u }, + /*{ 2103, 122, 24, 20, HTTPRequestDataReceived_t_121x_w_from_u },*/ + { 2803, 158, 40, 32, SteamInputConfigurationLoaded_t_w_from_u }, + { 2804, 158, 32, 24, SteamInputGamepadSlotChange_t_w_from_u }, + { 3402, 158, 9784, 9768, SteamUGCRequestUGCDetailsResult_t_128x_w_from_u }, + { 3402, 129, 9776, 9764, SteamUGCRequestUGCDetailsResult_t_129_w_from_u }, + { 3402, 128, 9768, 9760, SteamUGCRequestUGCDetailsResult_t_126_w_from_u }, + { 3403, 158, 24, 16, CreateItemResult_t_w_from_u }, + { 3405, 158, 16, 12, ItemInstalled_t_w_from_u }, + { 3406, 158, 24, 16, DownloadItemResult_t_w_from_u }, + { 3412, 158, 24, 20, AddUGCDependencyResult_t_w_from_u }, + { 3413, 158, 24, 20, RemoveUGCDependencyResult_t_w_from_u }, + { 3414, 158, 24, 16, AddAppDependencyResult_t_w_from_u }, + { 3415, 158, 24, 16, RemoveAppDependencyResult_t_w_from_u }, + { 3416, 158, 152, 148, GetAppDependenciesResult_t_w_from_u }, + { 3417, 158, 16, 12, DeleteItemResult_t_w_from_u }, + { 4502, 158, 48, 48, HTML_NeedsPaint_t_w_from_u }, + { 4503, 158, 20, 20, HTML_StartRequest_t_w_from_u }, + { 4505, 158, 24, 24, HTML_URLChanged_t_w_from_u }, + { 4506, 158, 12, 12, HTML_FinishedRequest_t_w_from_u }, + { 4507, 158, 8, 8, HTML_OpenLinkInNewTab_t_w_from_u }, + { 4508, 158, 8, 8, HTML_ChangedTitle_t_w_from_u }, + { 4513, 158, 20, 20, HTML_LinkAtPosition_t_w_from_u }, + { 4514, 158, 8, 8, HTML_JSAlert_t_w_from_u }, + { 4515, 158, 8, 8, HTML_JSConfirm_t_w_from_u }, + { 4516, 158, 12, 12, HTML_FileOpenDialog_t_w_from_u }, + { 4517, 132, 16, 16, HTML_ComboNeedsPaint_t_w_from_u }, + { 4521, 158, 28, 28, HTML_NewWindow_t_132x_w_from_u }, + { 4521, 132, 24, 24, HTML_NewWindow_t_130x_w_from_u }, + { 4523, 158, 8, 8, HTML_StatusText_t_w_from_u }, + { 4524, 158, 8, 8, HTML_ShowToolTip_t_w_from_u }, + { 4525, 158, 8, 8, HTML_UpdateToolTip_t_w_from_u }, + { 4704, 158, 24, 20, SteamInventoryStartPurchaseResult_t_w_from_u }, + { 5211, 158, 16, 12, RequestPlayersForGameProgressCallback_t_w_from_u }, + { 5212, 158, 64, 56, RequestPlayersForGameResultCallback_t_w_from_u }, + { 5213, 158, 24, 20, RequestPlayersForGameFinalResultCallback_t_w_from_u }, + { 5214, 158, 24, 20, SubmitPlayerResultResultCallback_t_w_from_u }, + { 5215, 158, 16, 12, EndGameResultCallback_t_w_from_u }, + { 5301, 158, 280, 276, JoinPartyCallback_t_w_from_u }, + { 5302, 158, 16, 12, CreateBeaconCallback_t_w_from_u }, +}; #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 = malloc( 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) +const struct callback_def callback_data[] = { -#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; + { 152, 158, 24, 16, MicroTxnAuthorizationResponse_t_123_w_from_u }, + { 152, 122, 24, 24, MicroTxnAuthorizationResponse_t_109_w_from_u }, + { 209, 158, 40, 32, GSReputation_t_123_w_from_u }, + { 209, 122, 40, 40, GSReputation_t_108_w_from_u }, + { 513, 158, 16, 12, LobbyCreated_t_123_w_from_u }, + { 513, 122, 16, 16, LobbyCreated_t_099u_w_from_u }, + { 1023, 158, 40, 36, FileDetailsResult_t_w_from_u }, + { 1106, 158, 32, 28, LeaderboardScoreUploaded_t_123_w_from_u }, + { 1106, 122, 32, 32, LeaderboardScoreUploaded_t_104_w_from_u }, + { 1111, 158, 16, 12, LeaderboardUGCSet_t_123_w_from_u }, + { 1111, 122, 16, 16, LeaderboardUGCSet_t_111x_w_from_u }, + { 1112, 158, 24, 20, PS3TrophiesInstalled_t_123_w_from_u }, + { 1112, 122, 24, 24, PS3TrophiesInstalled_t_112x_w_from_u }, + { 1221, 158, 712, 704, SteamNetConnectionStatusChangedCallback_t_153a_w_from_u }, + /*{ 1221, 152, 712, 704, SteamNetConnectionStatusChangedCallback_t_144_w_from_u },*/ + { 1221, 151, 584, 576, SteamNetConnectionStatusChangedCallback_t_151_w_from_u }, + { 1303, 151, 288, 280, RemoteStorageAppSyncProgress_t_123_w_from_u }, + { 1303, 122, 288, 288, RemoteStorageAppSyncProgress_t_111x_w_from_u }, + { 1307, 158, 280, 272, RemoteStorageFileShareResult_t_128x_w_from_u }, + { 1307, 128, 16, 12, RemoteStorageFileShareResult_t_123_w_from_u }, + { 1307, 122, 16, 16, RemoteStorageFileShareResult_t_111x_w_from_u }, + { 1308, 116, 40, 40, RemoteStorageDownloadUGCResult_t_111x_w_from_u }, + { 1309, 158, 24, 16, RemoteStoragePublishFileResult_t_125_w_from_u }, + { 1309, 124, 16, 12, RemoteStoragePublishFileResult_t_123_w_from_u }, + { 1309, 122, 16, 16, RemoteStoragePublishFileResult_t_116x_w_from_u }, + { 1310, 117, 1744, 1744, RemoteStorageGetPublishedFileDetailsResult_t_116x_w_from_u }, + { 1311, 158, 16, 12, RemoteStorageDeletePublishedFileResult_t_123_w_from_u }, + { 1311, 122, 16, 16, RemoteStorageDeletePublishedFileResult_t_116x_w_from_u }, + { 1312, 158, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_123_w_from_u }, + { 1312, 122, 416, 416, RemoteStorageEnumerateUserPublishedFilesResult_t_116x_w_from_u }, + { 1313, 158, 16, 12, RemoteStorageSubscribePublishedFileResult_t_123_w_from_u }, + { 1313, 122, 4, 4, nullptr }, + { 1314, 158, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_123_w_from_u }, + { 1314, 122, 616, 616, RemoteStorageEnumerateUserSubscribedFilesResult_t_116x_w_from_u }, + { 1315, 158, 16, 12, RemoteStorageUnsubscribePublishedFileResult_t_123_w_from_u }, + { 1315, 122, 4, 4, nullptr }, + { 1316, 158, 24, 16, RemoteStorageUpdatePublishedFileResult_t_125_w_from_u }, + { 1316, 124, 16, 12, RemoteStorageUpdatePublishedFileResult_t_123_w_from_u }, + { 1316, 122, 16, 16, RemoteStorageUpdatePublishedFileResult_t_116x_w_from_u }, + { 1317, 158, 296, 288, RemoteStorageDownloadUGCResult_t_123_w_from_u }, + { 1317, 122, 296, 296, RemoteStorageDownloadUGCResult_t_116x_w_from_u }, + { 1318, 158, 9760, 9748, RemoteStorageGetPublishedFileDetailsResult_t_126_w_from_u }, + { 1318, 125, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_123_w_from_u }, + { 1318, 122, 9752, 9752, RemoteStorageGetPublishedFileDetailsResult_t_119x_w_from_u }, + /*{ 1318, 119, 9752, 9752, RemoteStorageGetPublishedFileDetailsResult_t_119_w_from_u },*/ + { 1318, 118, 9496, 9496, RemoteStorageGetPublishedFileDetailsResult_t_118_w_from_u }, + { 1319, 158, 624, 620, RemoteStorageEnumerateWorkshopFilesResult_t_125_w_from_u }, + { 1319, 124, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_123_w_from_u }, + { 1319, 122, 616, 616, RemoteStorageEnumerateWorkshopFilesResult_t_119_w_from_u }, + { 1320, 158, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_123_w_from_u }, + { 1320, 122, 32, 32, RemoteStorageGetPublishedItemVoteDetailsResult_t_119_w_from_u }, + { 1324, 158, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_123_w_from_u }, + { 1324, 122, 16, 16, RemoteStorageUpdateUserPublishedItemVoteResult_t_119_w_from_u }, + { 1325, 158, 24, 16, RemoteStorageUserVoteDetails_t_123_w_from_u }, + { 1325, 122, 24, 24, RemoteStorageUserVoteDetails_t_119_w_from_u }, + { 1326, 158, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123_w_from_u }, + { 1326, 122, 416, 416, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119_w_from_u }, + { 1327, 158, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_123_w_from_u }, + { 1327, 122, 24, 24, RemoteStorageSetUserPublishedFileActionResult_t_119_w_from_u }, + { 1330, 158, 24, 20, RemoteStoragePublishedFileUpdated_t_w_from_u }, + { 2101, 158, 32, 24, HTTPRequestCompleted_t_132x_w_from_u }, + { 2101, 132, 24, 20, HTTPRequestCompleted_t_123_w_from_u }, + { 2101, 122, 24, 24, HTTPRequestCompleted_t_115_w_from_u }, + { 2102, 158, 16, 12, HTTPRequestHeadersReceived_t_123_w_from_u }, + { 2102, 122, 16, 16, HTTPRequestHeadersReceived_t_121x_w_from_u }, + { 2103, 158, 24, 20, HTTPRequestDataReceived_t_123_w_from_u }, + { 2103, 122, 24, 24, HTTPRequestDataReceived_t_121x_w_from_u }, + { 2803, 158, 40, 32, SteamInputConfigurationLoaded_t_w_from_u }, + { 2804, 158, 32, 24, SteamInputGamepadSlotChange_t_w_from_u }, + { 3402, 158, 9784, 9768, SteamUGCRequestUGCDetailsResult_t_128x_w_from_u }, + { 3402, 129, 9776, 9764, SteamUGCRequestUGCDetailsResult_t_129_w_from_u }, + { 3402, 128, 9768, 9760, SteamUGCRequestUGCDetailsResult_t_126_w_from_u }, + { 3403, 158, 24, 16, CreateItemResult_t_w_from_u }, + { 3405, 158, 16, 12, ItemInstalled_t_w_from_u }, + { 3406, 158, 24, 16, DownloadItemResult_t_w_from_u }, + { 3412, 158, 24, 20, AddUGCDependencyResult_t_w_from_u }, + { 3413, 158, 24, 20, RemoveUGCDependencyResult_t_w_from_u }, + { 3414, 158, 24, 16, AddAppDependencyResult_t_w_from_u }, + { 3415, 158, 24, 16, RemoveAppDependencyResult_t_w_from_u }, + { 3416, 158, 152, 148, GetAppDependenciesResult_t_w_from_u }, + { 3417, 158, 16, 12, DeleteItemResult_t_w_from_u }, + { 4502, 158, 56, 52, HTML_NeedsPaint_t_w_from_u }, + { 4503, 158, 40, 32, HTML_StartRequest_t_w_from_u }, + { 4505, 158, 48, 36, HTML_URLChanged_t_w_from_u }, + { 4506, 158, 24, 20, HTML_FinishedRequest_t_w_from_u }, + { 4507, 158, 16, 12, HTML_OpenLinkInNewTab_t_w_from_u }, + { 4508, 158, 16, 12, HTML_ChangedTitle_t_w_from_u }, + { 4513, 158, 32, 24, HTML_LinkAtPosition_t_w_from_u }, + { 4514, 158, 16, 12, HTML_JSAlert_t_w_from_u }, + { 4515, 158, 16, 12, HTML_JSConfirm_t_w_from_u }, + { 4516, 158, 24, 20, HTML_FileOpenDialog_t_w_from_u }, + { 4517, 132, 24, 20, HTML_ComboNeedsPaint_t_w_from_u }, + { 4521, 158, 40, 32, HTML_NewWindow_t_132x_w_from_u }, + { 4521, 132, 32, 28, HTML_NewWindow_t_130x_w_from_u }, + { 4523, 158, 16, 12, HTML_StatusText_t_w_from_u }, + { 4524, 158, 16, 12, HTML_ShowToolTip_t_w_from_u }, + { 4525, 158, 16, 12, HTML_UpdateToolTip_t_w_from_u }, + { 4704, 158, 24, 20, SteamInventoryStartPurchaseResult_t_w_from_u }, + { 5211, 158, 16, 12, RequestPlayersForGameProgressCallback_t_w_from_u }, + { 5212, 158, 64, 56, RequestPlayersForGameResultCallback_t_w_from_u }, + { 5213, 158, 24, 20, RequestPlayersForGameFinalResultCallback_t_w_from_u }, + { 5214, 158, 24, 20, SubmitPlayerResultResultCallback_t_w_from_u }, + { 5215, 158, 16, 12, EndGameResultCallback_t_w_from_u }, + { 5301, 158, 280, 276, JoinPartyCallback_t_w_from_u }, + { 5302, 158, 16, 12, CreateBeaconCallback_t_w_from_u }, +}; #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 -} +const unsigned int callback_data_size = ARRAY_SIZE(callback_data);