diff --git a/Facepunch.Steamworks/Classes/Dispatch.cs b/Facepunch.Steamworks/Classes/Dispatch.cs index dfd7db5..ad7700d 100644 --- a/Facepunch.Steamworks/Classes/Dispatch.cs +++ b/Facepunch.Steamworks/Classes/Dispatch.cs @@ -176,6 +176,9 @@ namespace Steamworks var fields = t.GetFields( System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic ); + if ( fields.Length == 0 ) + return "[no fields]"; + var columnSize = fields.Max( x => x.Name.Length ) + 1; if ( columnSize < 10 ) diff --git a/Facepunch.Steamworks/Generated/SteamCallbacks.cs b/Facepunch.Steamworks/Generated/SteamCallbacks.cs index c6af5a2..fbc2d59 100644 --- a/Facepunch.Steamworks/Generated/SteamCallbacks.cs +++ b/Facepunch.Steamworks/Generated/SteamCallbacks.cs @@ -261,7 +261,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct AvatarImageLoaded_t : ICallbackData { internal ulong SteamID; // m_steamID CSteamID @@ -276,7 +276,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct ClanOfficerListResponse_t : ICallbackData { internal ulong SteamIDClan; // m_steamIDClan CSteamID @@ -290,7 +290,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct FriendRichPresenceUpdate_t : ICallbackData { internal ulong SteamIDFriend; // m_steamIDFriend CSteamID @@ -303,7 +303,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct GameRichPresenceJoinRequested_t : ICallbackData { internal ulong SteamIDFriend; // m_steamIDFriend CSteamID @@ -375,7 +375,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct JoinClanChatRoomCompletionResult_t : ICallbackData { internal ulong SteamIDClanChat; // m_steamIDClanChat CSteamID @@ -388,7 +388,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct GameConnectedFriendChatMsg_t : ICallbackData { internal ulong SteamIDUser; // m_steamIDUser CSteamID @@ -1467,7 +1467,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct UserStatsUnloaded_t : ICallbackData { internal ulong SteamIDUser; // m_steamIDUser CSteamID @@ -1479,7 +1479,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct UserAchievementIconFetched_t : ICallbackData { internal GameId GameID; // m_nGameID CGameID @@ -1605,7 +1605,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct P2PSessionRequest_t : ICallbackData { internal ulong SteamIDRemote; // m_steamIDRemote CSteamID @@ -1617,7 +1617,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct P2PSessionConnectFail_t : ICallbackData { internal ulong SteamIDRemote; // m_steamIDRemote CSteamID @@ -2731,7 +2731,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct GSClientDeny_t : ICallbackData { internal ulong SteamID; // m_SteamID CSteamID @@ -2747,7 +2747,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct GSClientKick_t : ICallbackData { internal ulong SteamID; // m_SteamID CSteamID @@ -2894,7 +2894,7 @@ namespace Steamworks.Data #endregion } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct GSStatsUnloaded_t : ICallbackData { internal ulong SteamIDUser; // m_steamIDUser CSteamID diff --git a/Facepunch.Steamworks/Generated/SteamStructs.cs b/Facepunch.Steamworks/Generated/SteamStructs.cs index 7d80a75..e3bc0a7 100644 --- a/Facepunch.Steamworks/Generated/SteamStructs.cs +++ b/Facepunch.Steamworks/Generated/SteamStructs.cs @@ -88,7 +88,7 @@ namespace Steamworks.Data } - [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPackSize )] + [StructLayout( LayoutKind.Sequential, Pack = Platform.StructPlatformPackSize )] internal struct LeaderboardEntry_t { internal ulong SteamIDUser; // m_steamIDUser CSteamID diff --git a/Generator/SteamApiDefinition.cs b/Generator/SteamApiDefinition.cs index 08236e2..ee59ca4 100644 --- a/Generator/SteamApiDefinition.cs +++ b/Generator/SteamApiDefinition.cs @@ -106,10 +106,10 @@ namespace Generator // 4/8 packing is irrevant to these classes if ( Name.Contains( "MatchMakingKeyValuePair_t" ) ) return true; - if ( Fields.Any( x => x.Type.Contains( "CSteamID" ) ) ) + if ( Fields.Skip( 1 ).Any( x => x.Type.Contains( "CSteamID" ) ) ) return true; - if ( Fields.Any( x => x.Type.Contains( "CGameID" ) ) ) + if ( Fields.Skip( 1 ).Any( x => x.Type.Contains( "CGameID" ) ) ) return true; return false;