diff --git a/SAM.API/GlobalSuppressions.cs b/SAM.API/GlobalSuppressions.cs
new file mode 100644
index 0000000..cc49fb4
--- /dev/null
+++ b/SAM.API/GlobalSuppressions.cs
@@ -0,0 +1,295 @@
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Scope = "member", Target = "SAM.API.NativeWrapper`1.#Call`1(System.IntPtr,System.Object[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Scope = "member", Target = "SAM.API.NativeWrapper`1.#Call`2(System.IntPtr,System.Object[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Scope = "member", Target = "SAM.API.NativeWrapper`1.#GetDelegate`1(System.IntPtr)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1009:DeclareEventHandlersCorrectly", Scope = "member", Target = "SAM.API.Callback.#OnRun")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1009:DeclareEventHandlersCorrectly", Scope = "member", Target = "SAM.API.Callback`1.#OnRun")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "SAM.API.Callbacks")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "1#", Scope = "member", Target = "SAM.API.Steam.#GetCallback(System.Int32,SAM.API.Types.CallbackMessage&,System.Int32&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "1#", Scope = "member", Target = "SAM.API.Wrappers.SteamUserStats007.#GetAchievementState(System.String,System.Boolean&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "1#", Scope = "member", Target = "SAM.API.Wrappers.SteamUserStats007.#GetStatValue(System.String,System.Int32&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "1#", Scope = "member", Target = "SAM.API.Wrappers.SteamUserStats007.#GetStatValue(System.String,System.Single&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "1#", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetImageSize(System.Int32,System.Int32&,System.Int32&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "2#", Scope = "member", Target = "SAM.API.Steam.#GetCallback(System.Int32,SAM.API.Types.CallbackMessage&,System.Int32&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", MessageId = "2#", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetImageSize(System.Int32,System.Int32&,System.Int32&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Steam.#GetInstallPath()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Wrappers.SteamApps003.#GetCurrentGameLanguage()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Wrappers.SteamUser012.#GetSteamId()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetAppId()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetConnectedUniverse()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetIPCountry()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Scope = "type", Target = "SAM.API.Callback`1+CallbackFunction")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1034:NestedTypesShouldNotBeVisible", Scope = "type", Target = "SAM.API.Callback+CallbackFunction")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference", MessageId = "0#", Scope = "member", Target = "SAM.API.Wrappers.SteamClient009.#CreateLocalUser(System.Int32&,SAM.API.Types.AccountType)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamApps001")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamApps003")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamClient")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamUserStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Client.#SteamUtils")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps001.#GetAppData")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#GetAvailableGameLanguages")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#GetCurrentGameLanguage")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsCybercafe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsDlcInstalled")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsLowViolence")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsSubscribed")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsSubscribedApp")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsVACBanned")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ConnectToGlobalUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#CreateLocalUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#CreateSteamPipe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetIPCCallCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamApps")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamFriends")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGameServer")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGameServerStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGenericInterface")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMasterServerUpdater")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMatchmaking")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMatchmakingServers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamNetworking")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamRemoteStorage")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUserStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUtils")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ReleaseSteamPipe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ReleaseUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#RunFrame")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#SetLocalIPBinding")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#SetWarningMessageHook")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#BeginAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#CancelAuthTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#DecompressVoice")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#EndAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetAuthSessionTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetCompressedVoice")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetHSteamUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetSteamID")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetUserDataFolder")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#InitiateGameConnection")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#LoggedOn")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#StartVoiceRecording")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#StopVoiceRecording")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#TerminateGameConnection")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#TrackAppUsageEvent")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#UserHasLicenseForApp")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#ClearAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#DownloadLeaderboardEntries")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#FindLeaderboard")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#FindOrCreateLeaderboard")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementAndUnlockTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementDisplayAttribute")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementIcon")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetDownloadedLeaderboardEntry")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardDisplayType")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardEntryCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardName")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardSortMethod")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetNumberOfCurrentPlayers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserAchievementAndUnlockTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserStatInt")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#IndicateAchievementProgress")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#RequestCurrentStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#RequestUserStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#ResetAllStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#StoreStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#UpdateAvgRateStat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#UploadLeaderboardScore")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAPICallFailureReason")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAPICallResult")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAppID")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetConnectedUniverse")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetCSERIPPort")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetCurrentBatteryPower")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetImageRGBA")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetImageSize")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetIPCCallCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetIPCountry")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetSecondsSinceAppActive")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetSecondsSinceComputerActive")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetServerRealTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#IsAPICallCompleted")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#IsOverlayEnabled")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#OverlayNeedsPresent")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#RunFrame")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#SetOverlayNotificationPosition")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#SetWarningMessageHook")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.NativeWrapper`1.#Functions")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.NativeWrapper`1.#ObjectAddress")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.AppDataChanged.#Id")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.AppDataChanged.#Result")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#Id")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#ParamPointer")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#ParamSize")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#User")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserItemsReceived.#GameId")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserItemsReceived.#ItemCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserItemsReceived.#Unknown")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserStatsReceived.#GameId")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserStatsReceived.#Result")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserStatsStored.#GameId")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1051:DoNotDeclareVisibleInstanceFields", Scope = "member", Target = "SAM.API.Types.UserStatsStored.#Result")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1060:MovePInvokesToNativeMethodsClass", Scope = "member", Target = "SAM.API.Steam+Native.#GetProcAddress(System.IntPtr,System.String)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1060:MovePInvokesToNativeMethodsClass", Scope = "member", Target = "SAM.API.Steam+Native.#LoadLibraryEx(System.String,System.IntPtr,System.UInt32)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1060:MovePInvokesToNativeMethodsClass", Scope = "member", Target = "SAM.API.Steam+Native.#SetDllDirectory(System.String)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Auth", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#BeginAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Auth", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#CancelAuthTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Auth", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#EndAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Auth", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetAuthSessionTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Avg", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#UpdateAvgRateStat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Cybercafe", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsCybercafe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Dlc", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsDlcInstalled")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multiset", Scope = "member", Target = "SAM.API.Types.AccountType.#Multiset")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "param", Scope = "member", Target = "SAM.API.ICallback.#Run(System.IntPtr)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Param", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#ParamPointer")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Param", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#ParamSize")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "param", Scope = "type", Target = "SAM.API.Callback+CallbackFunction")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "member", Target = "SAM.API.Client.#SteamUtils")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUtils")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "member", Target = "SAM.API.Wrappers.SteamClient009.#GetISteamUtils`1(System.Int32,System.String)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "member", Target = "SAM.API.Wrappers.SteamClient009.#GetSteamUtils004(System.Int32)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "type", Target = "SAM.API.Interfaces.ISteamUtils005")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Utils", Scope = "type", Target = "SAM.API.Wrappers.SteamUtils005")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API", Scope = "namespace", Target = "SAM.API")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API", Scope = "namespace", Target = "SAM.API.Callbacks")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API", Scope = "namespace", Target = "SAM.API.Interfaces")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API", Scope = "namespace", Target = "SAM.API.Types")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "API", Scope = "namespace", Target = "SAM.API.Wrappers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "OK", Scope = "member", Target = "SAM.API.Types.ItemRequestResult.#OK")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "RGBA", Scope = "member", Target = "SAM.API.Wrappers.SteamUtils005.#GetImageRGBA(System.Int32,System.Byte[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM", Scope = "namespace", Target = "SAM.API")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM", Scope = "namespace", Target = "SAM.API.Callbacks")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM", Scope = "namespace", Target = "SAM.API.Interfaces")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM", Scope = "namespace", Target = "SAM.API.Types")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "SAM", Scope = "namespace", Target = "SAM.API.Wrappers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Scope = "member", Target = "SAM.API.Callback.#OnRun")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Scope = "member", Target = "SAM.API.Callback`1.#OnRun")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "int", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserStatInt")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "integer", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "integer", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "pointer", Scope = "member", Target = "SAM.API.NativeWrapper`1.#Call`1(System.IntPtr,System.Object[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "pointer", Scope = "member", Target = "SAM.API.NativeWrapper`1.#Call`2(System.IntPtr,System.Object[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "pointer", Scope = "member", Target = "SAM.API.NativeWrapper`1.#GetDelegate`1(System.IntPtr)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "pointer", Scope = "member", Target = "SAM.API.NativeWrapper`1.#GetFunction`1(System.IntPtr)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1725:ParameterNamesShouldMatchBaseDeclaration", MessageId = "0#", Scope = "member", Target = "SAM.API.Callback`1.#Run(System.IntPtr)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.API.NativeStrings.#PointerToString(System.Byte*)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.API.NativeStrings.#PointerToString(System.Byte*,System.Int32)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Interfaces.ISteamApps001")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Interfaces.ISteamApps003")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Interfaces.ISteamClient009")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Interfaces.ISteamUser012")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Interfaces.ISteamUtils005")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Types.AppDataChanged")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Types.CallbackMessage")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Types.UserItemsReceived")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Types.UserStatsReceived")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1815:OverrideEqualsAndOperatorEqualsOnValueTypes", Scope = "type", Target = "SAM.API.Types.UserStatsStored")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps001.#GetAppData")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#GetAvailableGameLanguages")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#GetCurrentGameLanguage")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsCybercafe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsDlcInstalled")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsLowViolence")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsSubscribed")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsSubscribedApp")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamApps003.#IsVACBanned")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ConnectToGlobalUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#CreateLocalUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#CreateSteamPipe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetIPCCallCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamApps")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamFriends")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGameServer")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGameServerStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamGenericInterface")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMasterServerUpdater")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMatchmaking")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamMatchmakingServers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamNetworking")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamRemoteStorage")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUserStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#GetISteamUtils")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ReleaseSteamPipe")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#ReleaseUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#RunFrame")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#SetLocalIPBinding")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamClient009.#SetWarningMessageHook")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#BeginAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#CancelAuthTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#DecompressVoice")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#EndAuthSession")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetAuthSessionTicket")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetCompressedVoice")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetHSteamUser")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetSteamID")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#GetUserDataFolder")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#InitiateGameConnection")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#LoggedOn")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#StartVoiceRecording")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#StopVoiceRecording")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#TerminateGameConnection")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#TrackAppUsageEvent")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUser012.#UserHasLicenseForApp")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#ClearAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#DownloadLeaderboardEntries")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#FindLeaderboard")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#FindOrCreateLeaderboard")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementAndUnlockTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementDisplayAttribute")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetAchievementIcon")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetDownloadedLeaderboardEntry")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardDisplayType")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardEntryCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardName")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetLeaderboardSortMethod")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetNumberOfCurrentPlayers")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserAchievementAndUnlockTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#GetUserStatInt")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#IndicateAchievementProgress")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#RequestCurrentStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#RequestUserStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#ResetAllStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetAchievement")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetStatFloat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#SetStatInteger")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#StoreStats")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#UpdateAvgRateStat")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUserStats007.#UploadLeaderboardScore")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAPICallFailureReason")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAPICallResult")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetAppID")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetConnectedUniverse")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetCSERIPPort")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetCurrentBatteryPower")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetImageRGBA")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetImageSize")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetIPCCallCount")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetIPCountry")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetSecondsSinceAppActive")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetSecondsSinceComputerActive")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#GetServerRealTime")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#IsAPICallCompleted")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#IsOverlayEnabled")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#OverlayNeedsPresent")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#RunFrame")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#SetOverlayNotificationPosition")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Interfaces.ISteamUtils005.#SetWarningMessageHook")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.NativeWrapper`1.#ObjectAddress")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2111:PointersShouldNotBeVisible", Scope = "member", Target = "SAM.API.Types.CallbackMessage.#ParamPointer")]
diff --git a/SAM.API/NativeWrapper.cs b/SAM.API/NativeWrapper.cs
index 769bdc0..167be68 100644
--- a/SAM.API/NativeWrapper.cs
+++ b/SAM.API/NativeWrapper.cs
@@ -34,6 +34,7 @@ namespace SAM.API
public override string ToString()
{
return string.Format(
+ System.Globalization.CultureInfo.CurrentCulture,
"Steam Interface<{0}> #{1:X8}",
typeof(TNativeFunctions),
this.ObjectAddress.ToInt32());
diff --git a/SAM.API/SAM.API.csproj b/SAM.API/SAM.API.csproj
index 5e21799..8d9a354 100644
--- a/SAM.API/SAM.API.csproj
+++ b/SAM.API/SAM.API.csproj
@@ -74,6 +74,7 @@
+
diff --git a/SAM.API/Steam.cs b/SAM.API/Steam.cs
index 9ef2ca8..bc90385 100644
--- a/SAM.API/Steam.cs
+++ b/SAM.API/Steam.cs
@@ -31,14 +31,15 @@ namespace SAM.API
{
private struct Native
{
- [DllImport("kernel32.dll", SetLastError = true)]
+ [DllImport("kernel32.dll", SetLastError = true, BestFitMapping = false, ThrowOnUnmappableChar = true)]
internal static extern IntPtr GetProcAddress(IntPtr module, string name);
- [DllImport("kernel32.dll", SetLastError = true)]
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
internal static extern IntPtr LoadLibraryEx(string path, IntPtr file, uint flags);
- [DllImport("kernel32.dll", SetLastError = true)]
- internal static extern IntPtr SetDllDirectory(string path);
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ internal static extern bool SetDllDirectory(string path);
internal const uint LoadWithAlteredSearchPath = 8;
}
diff --git a/SAM.API/Wrappers/SteamUtils005.cs b/SAM.API/Wrappers/SteamUtils005.cs
index 55edc4f..a5378e8 100644
--- a/SAM.API/Wrappers/SteamUtils005.cs
+++ b/SAM.API/Wrappers/SteamUtils005.cs
@@ -68,6 +68,10 @@ namespace SAM.API.Wrappers
public bool GetImageRGBA(int index, byte[] data)
{
+ if (data == null)
+ {
+ throw new ArgumentNullException("data");
+ }
var call = this.GetFunction(this.Functions.GetImageRGBA);
return call(this.ObjectAddress, index, data, data.Length);
}
diff --git a/SAM.Game/GlobalSuppressions.cs b/SAM.Game/GlobalSuppressions.cs
new file mode 100644
index 0000000..9c05404
--- /dev/null
+++ b/SAM.Game/GlobalSuppressions.cs
@@ -0,0 +1,47 @@
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Game.KeyValue.#LoadAsBinary(System.String)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Game.KeyValue.#ReadAsBinary(System.IO.Stream)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Game.Manager.#LoadUserGameStatsSchema()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Game.Manager.#OnIconDownload(System.Object,System.Net.DownloadDataCompletedEventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Game.Manager.#OnUserStatsReceived(SAM.API.Types.UserStatsReceived)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1064:ExceptionsShouldBePublic", Scope = "type", Target = "SAM.Game.Stats.StatIsProtectedException")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ColumnHeader.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.Control.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.Form.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#.ctor(System.Int64,SAM.API.Client)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#OnResetAllStats(System.Object,System.EventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#OnUserStatsReceived(SAM.API.Types.UserStatsReceived)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Program.#Main(System.String[])")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#OnCheckAchievement(System.Object,System.Windows.Forms.ItemCheckEventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#OnResetAllStats(System.Object,System.EventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#OnStore(System.Object,System.EventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#RefreshStats()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#Store()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#StoreAchievements()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Game.Manager.#StoreStatistics()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#DownloadNextIcon()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#OnUserStatsReceived(SAM.API.Types.UserStatsReceived)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Game.Manager.#RefreshStats()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_ToolTipText(System.String)", Scope = "member", Target = "SAM.Game.Manager.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1309:UseOrdinalStringComparison", MessageId = "System.String.StartsWith(System.String,System.StringComparison)", Scope = "member", Target = "SAM.Game.Manager.#GetAchievements()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "wstring", Scope = "member", Target = "SAM.Game.KeyValue.#ReadAsBinary(System.IO.Stream)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Scope = "member", Target = "SAM.Game.Manager.#GetStatistics()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Scope = "member", Target = "SAM.Game.Manager.#StoreStatistics()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.AchievementInfo.#ImageIndex")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.StatInfo.#DisplayName")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.StatInfo.#Extra")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.StatInfo.#IsIncrementOnly")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.StatIsProtectedException.#.ctor(System.String)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.Stats.StatIsProtectedException.#.ctor(System.String,System.Exception)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "SAM.Game.StreamHelpers.#ReadStringAscii(System.IO.Stream)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.AchievementDefinition.#IsHidden")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.FloatStatDefinition.#DefaultValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.FloatStatDefinition.#MaxChange")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.FloatStatDefinition.#MaxValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.FloatStatDefinition.#MinValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.IntegerStatDefinition.#DefaultValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.IntegerStatDefinition.#MaxChange")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.IntegerStatDefinition.#MaxValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Scope = "member", Target = "SAM.Game.Stats.IntegerStatDefinition.#MinValue")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "SAM.Game.Manager.#.ctor(System.Int64,SAM.API.Client)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "SAM.Game.Manager.#InitializeComponent()")]
diff --git a/SAM.Game/KeyValue.cs b/SAM.Game/KeyValue.cs
index fcabf3d..86385f8 100644
--- a/SAM.Game/KeyValue.cs
+++ b/SAM.Game/KeyValue.cs
@@ -47,7 +47,7 @@ namespace SAM.Game
}
var child = this.Children.SingleOrDefault(
- c => c.Name.ToLowerInvariant() == key.ToLowerInvariant());
+ c => string.Compare(c.Name, key, StringComparison.InvariantCultureIgnoreCase) == 0);
if (child == null)
{
@@ -202,7 +202,11 @@ namespace SAM.Game
return this.Name;
}
- return string.Format("{0} = {1}", this.Name, this.Value);
+ return string.Format(
+ System.Globalization.CultureInfo.CurrentCulture,
+ "{0} = {1}",
+ this.Name,
+ this.Value);
}
public static KeyValue LoadAsBinary(string path)
@@ -214,16 +218,15 @@ namespace SAM.Game
try
{
- var input = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
- var kv = new KeyValue();
-
- if (kv.ReadAsBinary(input) == false)
+ using (var input = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
- return null;
+ var kv = new KeyValue();
+ if (kv.ReadAsBinary(input) == false)
+ {
+ return null;
+ }
+ return kv;
}
-
- input.Close();
- return kv;
}
catch (Exception)
{
diff --git a/SAM.Game/Manager.cs b/SAM.Game/Manager.cs
index c79b35d..4ad2e4a 100644
--- a/SAM.Game/Manager.cs
+++ b/SAM.Game/Manager.cs
@@ -156,12 +156,15 @@ namespace SAM.Game
return;
}
- if (this._IconDownloader.IsBusy)
+ if (this._IconDownloader.IsBusy == true)
{
return;
}
- this._DownloadStatusLabel.Text = string.Format("Downloading {0} icons...", this._IconQueue.Count);
+ this._DownloadStatusLabel.Text = string.Format(
+ CultureInfo.CurrentCulture,
+ "Downloading {0} icons...",
+ this._IconQueue.Count);
this._DownloadStatusLabel.Visible = true;
var info = this._IconQueue[0];
@@ -169,13 +172,15 @@ namespace SAM.Game
this._IconDownloader.DownloadDataAsync(
- new Uri(string.Format("http://media.steamcommunity.com/steamcommunity/public/images/apps/{0}/{1}",
- this._GameId,
- info.IsAchieved == true ? info.IconNormal : info.IconLocked)),
+ new Uri(string.Format(
+ CultureInfo.InvariantCulture,
+ "http://media.steamcommunity.com/steamcommunity/public/images/apps/{0}/{1}",
+ this._GameId,
+ info.IsAchieved == true ? info.IconNormal : info.IconLocked)),
info);
}
- private string TranslateError(int id)
+ private static string TranslateError(int id)
{
switch (id)
{
@@ -188,7 +193,7 @@ namespace SAM.Game
return id.ToString(CultureInfo.InvariantCulture);
}
- private string GetLocalizedString(KeyValue kv, string language, string defaultValue)
+ private static string GetLocalizedString(KeyValue kv, string language, string defaultValue)
{
var name = kv[language].AsString("");
if (string.IsNullOrEmpty(name) == false)
@@ -223,7 +228,10 @@ namespace SAM.Game
path = API.Steam.GetInstallPath();
path = Path.Combine(path, "appcache");
path = Path.Combine(path, "stats");
- path = Path.Combine(path, string.Format("UserGameStatsSchema_{0}.bin", this._GameId));
+ path = Path.Combine(path, string.Format(
+ CultureInfo.InvariantCulture,
+ "UserGameStatsSchema_{0}.bin",
+ this._GameId));
if (File.Exists(path) == false)
{
@@ -268,7 +276,7 @@ namespace SAM.Game
var type = (APITypes.UserStatType)rawType;
switch (type)
{
- case API.Types.UserStatType.Invalid:
+ case APITypes.UserStatType.Invalid:
{
break;
}
@@ -318,7 +326,7 @@ namespace SAM.Game
if (stat.Children != null)
{
foreach (var bits in stat.Children.Where(
- b => b.Name.ToLowerInvariant() == "bits"))
+ b => string.Compare(b.Name, "bits", StringComparison.InvariantCultureIgnoreCase) == 0))
{
if (bits.Valid == false ||
bits.Children == null)
@@ -364,6 +372,7 @@ namespace SAM.Game
if (param.Result != 1)
{
this._GameStatusLabel.Text = string.Format(
+ CultureInfo.CurrentCulture,
"Error while retrieving stats: {0}",
TranslateError(param.Result));
this.EnableInput();
@@ -395,6 +404,7 @@ namespace SAM.Game
}
this._GameStatusLabel.Text = string.Format(
+ CultureInfo.CurrentCulture,
"Retrieved {0} achievements and {1} statistics.",
this._AchievementListView.Items.Count,
this._StatisticsDataGridView.Rows.Count);
@@ -428,7 +438,7 @@ namespace SAM.Game
foreach (var def in this._AchievementDefinitions)
{
- if (def.Id == string.Empty)
+ if (string.IsNullOrEmpty(def.Id) == true)
{
continue;
}
@@ -460,7 +470,7 @@ namespace SAM.Game
info.Item = item;
- if (item.Text.StartsWith("#") == true)
+ if (item.Text.StartsWith("#", StringComparison.InvariantCulture) == true)
{
item.Text = info.Id;
}
@@ -580,7 +590,10 @@ namespace SAM.Game
{
MessageBox.Show(
this,
- string.Format("An error occured while setting the state for {0}, aborting store.", info.Id),
+ string.Format(
+ CultureInfo.CurrentCulture,
+ "An error occurred while setting the state for {0}, aborting store.",
+ info.Id),
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
@@ -615,7 +628,10 @@ namespace SAM.Game
{
MessageBox.Show(
this,
- string.Format("An error occured while setting the value for {0}, aborting store.", stat.Id),
+ string.Format(
+ CultureInfo.CurrentCulture,
+ "An error occurred while setting the value for {0}, aborting store.",
+ stat.Id),
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
@@ -631,7 +647,10 @@ namespace SAM.Game
{
MessageBox.Show(
this,
- string.Format("An error occured while setting the value for {0}, aborting store.", stat.Id),
+ string.Format(
+ CultureInfo.CurrentCulture,
+ "An error occurred while setting the value for {0}, aborting store.",
+ stat.Id),
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
@@ -640,7 +659,7 @@ namespace SAM.Game
}
else
{
- throw new Exception();
+ throw new InvalidOperationException("unsupported stat type");
}
}
@@ -701,7 +720,7 @@ namespace SAM.Game
{
MessageBox.Show(
this,
- "An error occured while storing, aborting.",
+ "An error occurred while storing, aborting.",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
@@ -735,7 +754,11 @@ namespace SAM.Game
MessageBox.Show(
this,
- string.Format("Stored {0} achievements and {1} statistics.", achievements, stats),
+ string.Format(
+ CultureInfo.CurrentCulture,
+ "Stored {0} achievements and {1} statistics.",
+ achievements,
+ stats),
"Information",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
@@ -746,18 +769,17 @@ namespace SAM.Game
{
if (e.Context == DataGridViewDataErrorContexts.Commit)
{
+ var view = (DataGridView)sender;
if (e.Exception is Stats.StatIsProtectedException)
{
e.ThrowException = false;
e.Cancel = true;
- var view = (DataGridView)sender;
view.Rows[e.RowIndex].ErrorText = "Stat is protected! -- you can't modify it";
}
else
{
e.ThrowException = false;
e.Cancel = true;
- var view = (DataGridView)sender;
view.Rows[e.RowIndex].ErrorText = "Invalid value";
}
}
diff --git a/SAM.Game/Program.cs b/SAM.Game/Program.cs
index 7dc4024..a2c09c5 100644
--- a/SAM.Game/Program.cs
+++ b/SAM.Game/Program.cs
@@ -43,7 +43,7 @@ namespace SAM.Game
if (long.TryParse(args[0], out appId) == false)
{
MessageBox.Show(
- "Could not parse application ID from commandline argument.",
+ "Could not parse application ID from command line argument.",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
diff --git a/SAM.Game/SAM.Game.csproj b/SAM.Game/SAM.Game.csproj
index 45908cf..0b935b5 100644
--- a/SAM.Game/SAM.Game.csproj
+++ b/SAM.Game/SAM.Game.csproj
@@ -73,6 +73,7 @@
+
Component
diff --git a/SAM.Game/Stats/AchievementDefinition.cs b/SAM.Game/Stats/AchievementDefinition.cs
index e37aabb..5936fc3 100644
--- a/SAM.Game/Stats/AchievementDefinition.cs
+++ b/SAM.Game/Stats/AchievementDefinition.cs
@@ -34,7 +34,11 @@ namespace SAM.Game.Stats
public override string ToString()
{
- return string.Format("{0}: {1}", this.Name ?? this.Id ?? base.ToString(), this.Permission);
+ return string.Format(
+ System.Globalization.CultureInfo.CurrentCulture,
+ "{0}: {1}",
+ this.Name ?? this.Id ?? base.ToString(),
+ this.Permission);
}
}
}
diff --git a/SAM.Game/Stats/FloatStatInfo.cs b/SAM.Game/Stats/FloatStatInfo.cs
index 7a12884..7517b8a 100644
--- a/SAM.Game/Stats/FloatStatInfo.cs
+++ b/SAM.Game/Stats/FloatStatInfo.cs
@@ -32,7 +32,7 @@ namespace SAM.Game.Stats
get { return this.FloatValue; }
set
{
- var f = float.Parse((string)value);
+ var f = float.Parse((string)value, System.Globalization.CultureInfo.CurrentCulture);
if ((this.Permission & 2) != 0 &&
this.FloatValue.Equals(f) == false)
diff --git a/SAM.Game/Stats/IntStatInfo.cs b/SAM.Game/Stats/IntStatInfo.cs
index 9e7a644..24ce09a 100644
--- a/SAM.Game/Stats/IntStatInfo.cs
+++ b/SAM.Game/Stats/IntStatInfo.cs
@@ -32,7 +32,7 @@ namespace SAM.Game.Stats
get { return this.IntValue; }
set
{
- var i = int.Parse((string)value);
+ var i = int.Parse((string)value, System.Globalization.CultureInfo.CurrentCulture);
if ((this.Permission & 2) != 0 &&
this.IntValue != i)
diff --git a/SAM.Game/Stats/StatIsProtectedException.cs b/SAM.Game/Stats/StatIsProtectedException.cs
index 293a3de..a797d08 100644
--- a/SAM.Game/Stats/StatIsProtectedException.cs
+++ b/SAM.Game/Stats/StatIsProtectedException.cs
@@ -21,10 +21,30 @@
*/
using System;
+using System.Runtime.Serialization;
namespace SAM.Game.Stats
{
+ [Serializable]
internal class StatIsProtectedException : Exception
{
+ public StatIsProtectedException()
+ {
+ }
+
+ public StatIsProtectedException(string message)
+ : base(message)
+ {
+ }
+
+ public StatIsProtectedException(string message, Exception innerException)
+ : base(message, innerException)
+ {
+ }
+
+ protected StatIsProtectedException(SerializationInfo info, StreamingContext context)
+ : base(info, context)
+ {
+ }
}
}
diff --git a/SAM.Picker/GamePicker.cs b/SAM.Picker/GamePicker.cs
index 1b75b71..676506f 100644
--- a/SAM.Picker/GamePicker.cs
+++ b/SAM.Picker/GamePicker.cs
@@ -95,7 +95,7 @@ namespace SAM.Picker
byte[] bytes;
using (var downloader = new WebClient())
{
- bytes = downloader.DownloadData(new Uri(string.Format("http://gib.me/sam/games.xml")));
+ bytes = downloader.DownloadData(new Uri("http://gib.me/sam/games.xml"));
}
using (var stream = new MemoryStream(bytes, false))
{
@@ -105,7 +105,7 @@ namespace SAM.Picker
while (nodes.MoveNext())
{
string type = nodes.Current.GetAttribute("type", "");
- if (type == string.Empty)
+ if (string.IsNullOrEmpty(type) == true)
{
type = "normal";
}
@@ -159,6 +159,7 @@ namespace SAM.Picker
this._GameListView.VirtualListSize = this._FilteredGames.Count;
this._PickerStatusLabel.Text = string.Format(
+ CultureInfo.CurrentCulture,
"Displaying {0} games. Total {1} games.",
this._GameListView.Items.Count,
this._Games.Count);
@@ -187,17 +188,17 @@ namespace SAM.Picker
return;
}
- var text = e.Text.ToLowerInvariant();
+ var text = e.Text;
int startIndex = e.StartIndex;
Predicate predicate;
/*if (e.IsPrefixSearch == true)*/
{
- predicate = gi => gi.Name != null && gi.Name.ToLowerInvariant().StartsWith(e.Text);
+ predicate = gi => gi.Name != null && gi.Name.StartsWith(text, StringComparison.CurrentCultureIgnoreCase);
}
/*else
{
- predicate = gi => gi.Name != null && gi.Name.ToLowerInvariant() == e.Text;
+ predicate = gi => gi.Name != null && string.Compare(gi.Name, text, StringComparison.CurrentCultureIgnoreCase) == 0;
}*/
int index;
@@ -227,6 +228,7 @@ namespace SAM.Picker
{
var info = (GameInfo)e.Argument;
var logoPath = string.Format(
+ CultureInfo.InvariantCulture,
"https://media.steamcommunity.com/steamcommunity/public/images/apps/{0}/{1}.jpg",
info.Id,
info.Logo);
@@ -283,6 +285,7 @@ namespace SAM.Picker
}
this._DownloadStatusLabel.Text = string.Format(
+ CultureInfo.CurrentCulture,
"Downloading {0} game icons...",
this._LogoQueue.Count);
this._DownloadStatusLabel.Visible = true;
diff --git a/SAM.Picker/GlobalSuppressions.cs b/SAM.Picker/GlobalSuppressions.cs
new file mode 100644
index 0000000..db6c1cb
--- /dev/null
+++ b/SAM.Picker/GlobalSuppressions.cs
@@ -0,0 +1,12 @@
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Scope = "member", Target = "SAM.Picker.GamePicker.#DoDownloadLogo(System.Object,System.ComponentModel.DoWorkEventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.Control.set_Text(System.String)", Scope = "member", Target = "SAM.Picker.GamePicker.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Picker.Program.#Main()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Picker.GamePicker.#OnActivateGame(System.Object,System.EventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.MessageBox.Show(System.Windows.Forms.IWin32Window,System.String,System.String,System.Windows.Forms.MessageBoxButtons,System.Windows.Forms.MessageBoxIcon)", Scope = "member", Target = "SAM.Picker.GamePicker.#OnAddGame(System.Object,System.EventArgs)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Picker.GamePicker.#DownloadNextLogo()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Picker.GamePicker.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = "System.Windows.Forms.ToolStripItem.set_Text(System.String)", Scope = "member", Target = "SAM.Picker.GamePicker.#RefreshGames()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "statusStrip", Scope = "member", Target = "SAM.Picker.GamePicker.#InitializeComponent()")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "SAM.Picker.GamePicker.#.ctor(SAM.API.Client)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Scope = "member", Target = "SAM.Picker.GamePicker.#InitializeComponent()")]
diff --git a/SAM.Picker/SAM.Picker.csproj b/SAM.Picker/SAM.Picker.csproj
index 73572c4..68e0f18 100644
--- a/SAM.Picker/SAM.Picker.csproj
+++ b/SAM.Picker/SAM.Picker.csproj
@@ -87,6 +87,7 @@
GamePicker.cs
+