diff --git a/native/Build.xml b/native/Build.xml index 3ae1331..c309b9b 100644 --- a/native/Build.xml +++ b/native/Build.xml @@ -64,11 +64,11 @@ - + - \ No newline at end of file + diff --git a/ndll/Linux64/steamwrap.ndll b/ndll/Linux64/steamwrap.ndll index c16bf08..b80b0d5 100755 Binary files a/ndll/Linux64/steamwrap.ndll and b/ndll/Linux64/steamwrap.ndll differ diff --git a/steamwrap/api/Cloud.hx b/steamwrap/api/Cloud.hx index 32fdf75..0811eac 100644 --- a/steamwrap/api/Cloud.hx +++ b/steamwrap/api/Cloud.hx @@ -122,9 +122,9 @@ class Cloud try { //Old-school CFFI calls: - SteamWrap_FileRead = cpp.Lib.load("steamwrap", "SteamWrap_FileRead", 1); - SteamWrap_FileWrite = cpp.Lib.load("steamwrap", "SteamWrap_FileWrite", 2); - SteamWrap_GetQuota = cpp.Lib.load("steamwrap", "SteamWrap_GetQuota", 0); + SteamWrap_FileRead = Loader.loadRaw("SteamWrap_FileRead", 1); + SteamWrap_FileWrite = Loader.loadRaw("SteamWrap_FileWrite", 2); + SteamWrap_GetQuota = Loader.loadRaw("SteamWrap_GetQuota", 0); } catch (e:Dynamic) { customTrace("Running non-Steam version (" + e + ")"); diff --git a/steamwrap/api/Controller.hx b/steamwrap/api/Controller.hx index cdfff30..5ae21d3 100644 --- a/steamwrap/api/Controller.hx +++ b/steamwrap/api/Controller.hx @@ -563,26 +563,26 @@ class Controller { try { // Old-school CFFI calls: - SteamWrap_GetConnectedControllers = cpp.Lib.load("steamwrap", "SteamWrap_GetConnectedControllers", 0); - SteamWrap_GetInputTypeForHandle = cpp.Lib.load("steamwrap", "SteamWrap_GetInputTypeForHandle", 1); - // SteamWrap_GetGamepadIndexForController = cpp.Lib.load("steamwrap", "SteamWrap_GetGamepadIndexForController", 1); - SteamWrap_GetControllerForGamepadIndex = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerForGamepadIndex", 1); - SteamWrap_GetInputTypeForControllerIndex = cpp.Lib.load("steamwrap", "SteamWrap_GetInputTypeForControllerIndex", 1); - SteamWrap_GetDigitalActionOrigins = cpp.Lib.load("steamwrap", "SteamWrap_GetDigitalActionOrigins", 3); - SteamWrap_GetEnteredGamepadTextInput = cpp.Lib.load("steamwrap", "SteamWrap_GetEnteredGamepadTextInput", 0); - SteamWrap_GetAnalogActionOrigins = cpp.Lib.load("steamwrap", "SteamWrap_GetAnalogActionOrigins", 3); - SteamWrap_InitControllers = cpp.Lib.load("steamwrap", "SteamWrap_InitControllers", 0); - SteamWrap_ShowBindingPanel = cpp.Lib.load("steamwrap", "SteamWrap_ShowBindingPanel", 1); - SteamWrap_GetGlyphForActionOrigin = cpp.Lib.load("steamwrap", "SteamWrap_GetGlyphForActionOrigin", 1); - SteamWrap_GetStringForActionOrigin = cpp.Lib.load("steamwrap", "SteamWrap_GetStringForActionOrigin", 1); - SteamWrap_ShutdownControllers = cpp.Lib.load("steamwrap", "SteamWrap_ShutdownControllers", 0); - - SteamWrap_GetControllerMaxCount = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMaxCount", 0); - SteamWrap_GetControllerMaxAnalogActions = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMaxAnalogActions", 0); - SteamWrap_GetControllerMaxDigitalActions = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMaxDigitalActions", 0); - SteamWrap_GetControllerMaxOrigins = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMaxOrigins", 0); - SteamWrap_GetControllerMaxAnalogActionData = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMaxAnalogActionData", 0); - SteamWrap_GetControllerMinAnalogActionData = cpp.Lib.load("steamwrap", "SteamWrap_GetControllerMinAnalogActionData", 0); + SteamWrap_GetConnectedControllers = Loader.loadRaw("SteamWrap_GetConnectedControllers", 0); + SteamWrap_GetInputTypeForHandle = Loader.loadRaw("SteamWrap_GetInputTypeForHandle", 1); + // SteamWrap_GetGamepadIndexForController = Loader.loadRaw("SteamWrap_GetGamepadIndexForController", 1); + SteamWrap_GetControllerForGamepadIndex = Loader.loadRaw("SteamWrap_GetControllerForGamepadIndex", 1); + SteamWrap_GetInputTypeForControllerIndex = Loader.loadRaw("SteamWrap_GetInputTypeForControllerIndex", 1); + SteamWrap_GetDigitalActionOrigins = Loader.loadRaw("SteamWrap_GetDigitalActionOrigins", 3); + SteamWrap_GetEnteredGamepadTextInput = Loader.loadRaw("SteamWrap_GetEnteredGamepadTextInput", 0); + SteamWrap_GetAnalogActionOrigins = Loader.loadRaw("SteamWrap_GetAnalogActionOrigins", 3); + SteamWrap_InitControllers = Loader.loadRaw("SteamWrap_InitControllers", 0); + SteamWrap_ShowBindingPanel = Loader.loadRaw("SteamWrap_ShowBindingPanel", 1); + SteamWrap_GetGlyphForActionOrigin = Loader.loadRaw("SteamWrap_GetGlyphForActionOrigin", 1); + SteamWrap_GetStringForActionOrigin = Loader.loadRaw("SteamWrap_GetStringForActionOrigin", 1); + SteamWrap_ShutdownControllers = Loader.loadRaw("SteamWrap_ShutdownControllers", 0); + + SteamWrap_GetControllerMaxCount = Loader.loadRaw("SteamWrap_GetControllerMaxCount", 0); + SteamWrap_GetControllerMaxAnalogActions = Loader.loadRaw("SteamWrap_GetControllerMaxAnalogActions", 0); + SteamWrap_GetControllerMaxDigitalActions = Loader.loadRaw("SteamWrap_GetControllerMaxDigitalActions", 0); + SteamWrap_GetControllerMaxOrigins = Loader.loadRaw("SteamWrap_GetControllerMaxOrigins", 0); + SteamWrap_GetControllerMaxAnalogActionData = Loader.loadRaw("SteamWrap_GetControllerMaxAnalogActionData", 0); + SteamWrap_GetControllerMinAnalogActionData = Loader.loadRaw("SteamWrap_GetControllerMinAnalogActionData", 0); } catch (e:Dynamic) { customTrace("Running non-Steam version (" + e + ")"); return; diff --git a/steamwrap/api/Steam.hx b/steamwrap/api/Steam.hx index f894fbe..528f740 100644 --- a/steamwrap/api/Steam.hx +++ b/steamwrap/api/Steam.hx @@ -133,58 +133,58 @@ class Steam { leaderboardOps = new List(); try { - SteamWrap_ClearAchievement = cpp.Lib.load("steamwrap", "SteamWrap_ClearAchievement", 1); - SteamWrap_DownloadScores = cpp.Lib.load("steamwrap", "SteamWrap_DownloadScores", 4); - SteamWrap_FindLeaderboard = cpp.Lib.load("steamwrap", "SteamWrap_FindLeaderboard", 1); - SteamWrap_GetCurrentGameLanguage = cpp.Lib.load("steamwrap", "SteamWrap_GetCurrentGameLanguage", 0); - SteamWrap_GetGlobalStat = cpp.Lib.load("steamwrap", "SteamWrap_GetGlobalStat", 1); - SteamWrap_GetStat = cpp.Lib.load("steamwrap", "SteamWrap_GetStat", 1); - SteamWrap_GetStatFloat = cpp.Lib.load("steamwrap", "SteamWrap_GetStatFloat", 1); - SteamWrap_GetStatInt = cpp.Lib.load("steamwrap", "SteamWrap_GetStatInt", 1); - SteamWrap_IndicateAchievementProgress = cpp.Lib.load("steamwrap", "SteamWrap_IndicateAchievementProgress", 3); - SteamWrap_Init = cpp.Lib.load("steamwrap", "SteamWrap_Init", 2); - SteamWrap_IsSteamInBigPictureMode = cpp.Lib.load("steamwrap", "SteamWrap_IsSteamInBigPictureMode", 0); - SteamWrap_IsSteamRunning = cpp.Lib.load("steamwrap", "SteamWrap_IsSteamRunning", 0); - SteamWrap_IsSteamRunningOnSteamDeck = cpp.Lib.load("steamwrap", "SteamWrap_IsSteamRunningOnSteamDeck", 0); - SteamWrap_IsOverlayEnabled = cpp.Lib.load("steamwrap", "SteamWrap_IsOverlayEnabled", 0); - SteamWrap_BOverlayNeedsPresent = cpp.Lib.load("steamwrap", "SteamWrap_BOverlayNeedsPresent", 0); - SteamWrap_RequestStats = cpp.Lib.load("steamwrap", "SteamWrap_RequestStats", 0); - SteamWrap_RunCallbacks = cpp.Lib.load("steamwrap", "SteamWrap_RunCallbacks", 0); - SteamWrap_SetAchievement = cpp.Lib.load("steamwrap", "SteamWrap_SetAchievement", 1); - SteamWrap_GetAchievement = cpp.Lib.load("steamwrap", "SteamWrap_GetAchievement", 1); - SteamWrap_GetAchievementDisplayAttribute = cpp.Lib.load("steamwrap", "SteamWrap_GetAchievementDisplayAttribute", 2); - SteamWrap_GetNumAchievements = cpp.Lib.load("steamwrap", "SteamWrap_GetNumAchievements", 0); - SteamWrap_GetAchievementName = cpp.Lib.load("steamwrap", "SteamWrap_GetAchievementName", 1); - SteamWrap_GetSteamID = cpp.Lib.load("steamwrap", "SteamWrap_GetSteamID", 0); - SteamWrap_GetPersonaName = cpp.Lib.load("steamwrap", "SteamWrap_GetPersonaName", 0); - SteamWrap_GetFriendPersonaName = cpp.Lib.load("steamwrap", "SteamWrap_GetFriendPersonaName", 1); - SteamWrap_GetPersonaState = cpp.Lib.load("steamwrap", "SteamWrap_GetPersonaState", 0); - SteamWrap_GetFriendPersonaState = cpp.Lib.load("steamwrap", "SteamWrap_GetFriendPersonaState", 1); - SteamWrap_GetFriendCount = cpp.Lib.load("steamwrap", "SteamWrap_GetFriendCount", 1); - SteamWrap_GetFriendByIndex = cpp.Lib.load("steamwrap", "SteamWrap_GetFriendByIndex", 2); - SteamWrap_GetSmallFriendAvatar = cpp.Lib.load("steamwrap", "SteamWrap_GetSmallFriendAvatar", 1); - SteamWrap_GetMediumFriendAvatar = cpp.Lib.load("steamwrap", "SteamWrap_GetMediumFriendAvatar", 1); - SteamWrap_GetLargeFriendAvatar = cpp.Lib.load("steamwrap", "SteamWrap_GetLargeFriendAvatar", 1); - SteamWrap_StartVoiceRecording = cpp.Lib.load("steamwrap", "SteamWrap_StartVoiceRecording", 0); - SteamWrap_StopVoiceRecording = cpp.Lib.load("steamwrap", "SteamWrap_StopVoiceRecording", 0); - SteamWrap_GetAvailableVoice = cpp.Lib.load("steamwrap", "SteamWrap_GetAvailableVoice", 0); - SteamWrap_GetVoice = cpp.Lib.load("steamwrap", "SteamWrap_GetVoice", 0); - SteamWrap_DecompressVoice = cpp.Lib.load("steamwrap", "SteamWrap_DecompressVoice", 1); - SteamWrap_RequestUserInformation = cpp.Lib.load("steamwrap", "SteamWrap_RequestUserInformation", 2); - SteamWrap_GetImageSize = cpp.Lib.load("steamwrap", "SteamWrap_GetImageSize", 1); - SteamWrap_GetImageBytes = cpp.Lib.load("steamwrap", "SteamWrap_GetImageBytes", 1); - SteamWrap_SetStat = cpp.Lib.load("steamwrap", "SteamWrap_SetStat", 2); - SteamWrap_SetStatFloat = cpp.Lib.load("steamwrap", "SteamWrap_SetStatFloat", 2); - SteamWrap_SetStatInt = cpp.Lib.load("steamwrap", "SteamWrap_SetStatInt", 2); - SteamWrap_Shutdown = cpp.Lib.load("steamwrap", "SteamWrap_Shutdown", 0); - SteamWrap_StoreStats = cpp.Lib.load("steamwrap", "SteamWrap_StoreStats", 0); - SteamWrap_UploadScore = cpp.Lib.load("steamwrap", "SteamWrap_UploadScore", 3); - SteamWrap_RequestGlobalStats = cpp.Lib.load("steamwrap", "SteamWrap_RequestGlobalStats", 0); - SteamWrap_RestartAppIfNecessary = cpp.Lib.load("steamwrap", "SteamWrap_RestartAppIfNecessary", 1); - SteamWrap_OpenOverlayToURL = cpp.Lib.load("steamwrap", "SteamWrap_OpenOverlayToURL", 1); - SteamWrap_OpenOverlay = cpp.Lib.load("steamwrap", "SteamWrap_OpenOverlay", 1); - SteamWrap_BIsAppInstalled = cpp.Lib.load("steamwrap", "SteamWrap_BIsAppInstalled", 1); - SteamWrap_BIsDlcInstalled = cpp.Lib.load("steamwrap", "SteamWrap_BIsDlcInstalled", 1); + SteamWrap_ClearAchievement = Loader.loadRaw("SteamWrap_ClearAchievement", 1); + SteamWrap_DownloadScores = Loader.loadRaw("SteamWrap_DownloadScores", 4); + SteamWrap_FindLeaderboard = Loader.loadRaw("SteamWrap_FindLeaderboard", 1); + SteamWrap_GetCurrentGameLanguage = Loader.loadRaw("SteamWrap_GetCurrentGameLanguage", 0); + SteamWrap_GetGlobalStat = Loader.loadRaw("SteamWrap_GetGlobalStat", 1); + SteamWrap_GetStat = Loader.loadRaw("SteamWrap_GetStat", 1); + SteamWrap_GetStatFloat = Loader.loadRaw("SteamWrap_GetStatFloat", 1); + SteamWrap_GetStatInt = Loader.loadRaw("SteamWrap_GetStatInt", 1); + SteamWrap_IndicateAchievementProgress = Loader.loadRaw("SteamWrap_IndicateAchievementProgress", 3); + SteamWrap_Init = Loader.loadRaw("SteamWrap_Init", 2); + SteamWrap_IsSteamInBigPictureMode = Loader.loadRaw("SteamWrap_IsSteamInBigPictureMode", 0); + SteamWrap_IsSteamRunning = Loader.loadRaw("SteamWrap_IsSteamRunning", 0); + SteamWrap_IsSteamRunningOnSteamDeck = Loader.loadRaw("SteamWrap_IsSteamRunningOnSteamDeck", 0); + SteamWrap_IsOverlayEnabled = Loader.loadRaw("SteamWrap_IsOverlayEnabled", 0); + SteamWrap_BOverlayNeedsPresent = Loader.loadRaw("SteamWrap_BOverlayNeedsPresent", 0); + SteamWrap_RequestStats = Loader.loadRaw("SteamWrap_RequestStats", 0); + SteamWrap_RunCallbacks = Loader.loadRaw("SteamWrap_RunCallbacks", 0); + SteamWrap_SetAchievement = Loader.loadRaw("SteamWrap_SetAchievement", 1); + SteamWrap_GetAchievement = Loader.loadRaw("SteamWrap_GetAchievement", 1); + SteamWrap_GetAchievementDisplayAttribute = Loader.loadRaw("SteamWrap_GetAchievementDisplayAttribute", 2); + SteamWrap_GetNumAchievements = Loader.loadRaw("SteamWrap_GetNumAchievements", 0); + SteamWrap_GetAchievementName = Loader.loadRaw("SteamWrap_GetAchievementName", 1); + SteamWrap_GetSteamID = Loader.loadRaw("SteamWrap_GetSteamID", 0); + SteamWrap_GetPersonaName = Loader.loadRaw("SteamWrap_GetPersonaName", 0); + SteamWrap_GetFriendPersonaName = Loader.loadRaw("SteamWrap_GetFriendPersonaName", 1); + SteamWrap_GetPersonaState = Loader.loadRaw("SteamWrap_GetPersonaState", 0); + SteamWrap_GetFriendPersonaState = Loader.loadRaw("SteamWrap_GetFriendPersonaState", 1); + SteamWrap_GetFriendCount = Loader.loadRaw("SteamWrap_GetFriendCount", 1); + SteamWrap_GetFriendByIndex = Loader.loadRaw("SteamWrap_GetFriendByIndex", 2); + SteamWrap_GetSmallFriendAvatar = Loader.loadRaw("SteamWrap_GetSmallFriendAvatar", 1); + SteamWrap_GetMediumFriendAvatar = Loader.loadRaw("SteamWrap_GetMediumFriendAvatar", 1); + SteamWrap_GetLargeFriendAvatar = Loader.loadRaw("SteamWrap_GetLargeFriendAvatar", 1); + SteamWrap_StartVoiceRecording = Loader.loadRaw("SteamWrap_StartVoiceRecording", 0); + SteamWrap_StopVoiceRecording = Loader.loadRaw("SteamWrap_StopVoiceRecording", 0); + SteamWrap_GetAvailableVoice = Loader.loadRaw("SteamWrap_GetAvailableVoice", 0); + SteamWrap_GetVoice = Loader.loadRaw("SteamWrap_GetVoice", 0); + SteamWrap_DecompressVoice = Loader.loadRaw("SteamWrap_DecompressVoice", 1); + SteamWrap_RequestUserInformation = Loader.loadRaw("SteamWrap_RequestUserInformation", 2); + SteamWrap_GetImageSize = Loader.loadRaw("SteamWrap_GetImageSize", 1); + SteamWrap_GetImageBytes = Loader.loadRaw("SteamWrap_GetImageBytes", 1); + SteamWrap_SetStat = Loader.loadRaw("SteamWrap_SetStat", 2); + SteamWrap_SetStatFloat = Loader.loadRaw("SteamWrap_SetStatFloat", 2); + SteamWrap_SetStatInt = Loader.loadRaw("SteamWrap_SetStatInt", 2); + SteamWrap_Shutdown = Loader.loadRaw("SteamWrap_Shutdown", 0); + SteamWrap_StoreStats = Loader.loadRaw("SteamWrap_StoreStats", 0); + SteamWrap_UploadScore = Loader.loadRaw("SteamWrap_UploadScore", 3); + SteamWrap_RequestGlobalStats = Loader.loadRaw("SteamWrap_RequestGlobalStats", 0); + SteamWrap_RestartAppIfNecessary = Loader.loadRaw("SteamWrap_RestartAppIfNecessary", 1); + SteamWrap_OpenOverlayToURL = Loader.loadRaw("SteamWrap_OpenOverlayToURL", 1); + SteamWrap_OpenOverlay = Loader.loadRaw("SteamWrap_OpenOverlay", 1); + SteamWrap_BIsAppInstalled = Loader.loadRaw("SteamWrap_BIsAppInstalled", 1); + SteamWrap_BIsDlcInstalled = Loader.loadRaw("SteamWrap_BIsDlcInstalled", 1); } catch (e:Dynamic) { customTrace("Running non-Steam version (" + e + ")"); return; diff --git a/steamwrap/api/UGC.hx b/steamwrap/api/UGC.hx index 47d3bd5..2316a16 100644 --- a/steamwrap/api/UGC.hx +++ b/steamwrap/api/UGC.hx @@ -322,26 +322,26 @@ class UGC { try { // Old-school CFFI calls: - SteamWrap_CreateUGCItem = cpp.Lib.load("steamwrap", "SteamWrap_CreateUGCItem", 1); - SteamWrap_SetUGCItemContent = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemContent", 2); - SteamWrap_SetUGCItemDescription = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemDescription", 2); - SteamWrap_SetUGCItemPreviewImage = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemPreviewImage", 2); - SteamWrap_SetUGCItemTitle = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemTitle", 2); - SteamWrap_SetUGCItemTags = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemTags", 2); - SteamWrap_AddUGCItemKeyValueTag = cpp.Lib.load("steamwrap", "SteamWrap_AddUGCItemKeyValueTag", 3); - SteamWrap_RemoveUGCItemKeyValueTags = cpp.Lib.load("steamwrap", "SteamWrap_RemoveUGCItemKeyValueTags", 2); - SteamWrap_SetUGCItemVisibility = cpp.Lib.load("steamwrap", "SteamWrap_SetUGCItemVisibility", 2); - SteamWrap_StartUpdateUGCItem = cpp.Lib.load("steamwrap", "SteamWrap_StartUpdateUGCItem", 2); - SteamWrap_SubmitUGCItemUpdate = cpp.Lib.load("steamwrap", "SteamWrap_SubmitUGCItemUpdate", 2); - SteamWrap_GetSubscribedItems = cpp.Lib.load("steamwrap", "SteamWrap_GetSubscribedItems", 0); - SteamWrap_GetItemDownloadInfo = cpp.Lib.load("steamwrap", "SteamWrap_GetItemDownloadInfo", 1); - SteamWrap_GetItemInstallInfo = cpp.Lib.load("steamwrap", "SteamWrap_GetItemInstallInfo", 2); - SteamWrap_CreateQueryUserUGCRequest = cpp.Lib.load("steamwrap", "SteamWrap_CreateQueryUserUGCRequest", 5); - SteamWrap_CreateQueryAllUGCRequest = cpp.Lib.load("steamwrap", "SteamWrap_CreateQueryAllUGCRequest", 5); - SteamWrap_CreateQueryUGCDetailsRequest = cpp.Lib.load("steamwrap", "SteamWrap_CreateQueryUGCDetailsRequest", 1); - SteamWrap_GetQueryUGCResult = cpp.Lib.load("steamwrap", "SteamWrap_GetQueryUGCResult", 2); - SteamWrap_GetQueryUGCKeyValueTag = cpp.Lib.load("steamwrap", "SteamWrap_GetQueryUGCKeyValueTag", 5); - SteamWrap_GetQueryUGCMetadata = cpp.Lib.load("steamwrap", "SteamWrap_GetQueryUGCMetadata", 3); + SteamWrap_CreateUGCItem = Loader.loadRaw("SteamWrap_CreateUGCItem", 1); + SteamWrap_SetUGCItemContent = Loader.loadRaw("SteamWrap_SetUGCItemContent", 2); + SteamWrap_SetUGCItemDescription = Loader.loadRaw("SteamWrap_SetUGCItemDescription", 2); + SteamWrap_SetUGCItemPreviewImage = Loader.loadRaw("SteamWrap_SetUGCItemPreviewImage", 2); + SteamWrap_SetUGCItemTitle = Loader.loadRaw("SteamWrap_SetUGCItemTitle", 2); + SteamWrap_SetUGCItemTags = Loader.loadRaw("SteamWrap_SetUGCItemTags", 2); + SteamWrap_AddUGCItemKeyValueTag = Loader.loadRaw("SteamWrap_AddUGCItemKeyValueTag", 3); + SteamWrap_RemoveUGCItemKeyValueTags = Loader.loadRaw("SteamWrap_RemoveUGCItemKeyValueTags", 2); + SteamWrap_SetUGCItemVisibility = Loader.loadRaw("SteamWrap_SetUGCItemVisibility", 2); + SteamWrap_StartUpdateUGCItem = Loader.loadRaw("SteamWrap_StartUpdateUGCItem", 2); + SteamWrap_SubmitUGCItemUpdate = Loader.loadRaw("SteamWrap_SubmitUGCItemUpdate", 2); + SteamWrap_GetSubscribedItems = Loader.loadRaw("SteamWrap_GetSubscribedItems", 0); + SteamWrap_GetItemDownloadInfo = Loader.loadRaw("SteamWrap_GetItemDownloadInfo", 1); + SteamWrap_GetItemInstallInfo = Loader.loadRaw("SteamWrap_GetItemInstallInfo", 2); + SteamWrap_CreateQueryUserUGCRequest = Loader.loadRaw("SteamWrap_CreateQueryUserUGCRequest", 5); + SteamWrap_CreateQueryAllUGCRequest = Loader.loadRaw("SteamWrap_CreateQueryAllUGCRequest", 5); + SteamWrap_CreateQueryUGCDetailsRequest = Loader.loadRaw("SteamWrap_CreateQueryUGCDetailsRequest", 1); + SteamWrap_GetQueryUGCResult = Loader.loadRaw("SteamWrap_GetQueryUGCResult", 2); + SteamWrap_GetQueryUGCKeyValueTag = Loader.loadRaw("SteamWrap_GetQueryUGCKeyValueTag", 5); + SteamWrap_GetQueryUGCMetadata = Loader.loadRaw("SteamWrap_GetQueryUGCMetadata", 3); } catch (e:Dynamic) { customTrace("Running non-Steam version (" + e + ")"); return; diff --git a/steamwrap/api/Workshop.hx b/steamwrap/api/Workshop.hx index 0b5abbf..55731b0 100644 --- a/steamwrap/api/Workshop.hx +++ b/steamwrap/api/Workshop.hx @@ -194,8 +194,8 @@ class Workshop try { //Old-school CFFI calls: - SteamWrap_GetUGCDownloadProgress = cpp.Lib.load("steamwrap", "SteamWrap_GetUGCDownloadProgress", 1); - SteamWrap_UGCRead = cpp.Lib.load("steamwrap", "SteamWrap_UGCRead", 4); + SteamWrap_GetUGCDownloadProgress = Loader.loadRaw("SteamWrap_GetUGCDownloadProgress", 1); + SteamWrap_UGCRead = Loader.loadRaw("SteamWrap_UGCRead", 4); } catch (e:Dynamic) { customTrace("Running non-Steam version (" + e + ")"); diff --git a/steamwrap/helpers/Loader.hx b/steamwrap/helpers/Loader.hx index 5da197b..ce72903 100644 --- a/steamwrap/helpers/Loader.hx +++ b/steamwrap/helpers/Loader.hx @@ -2,6 +2,9 @@ package steamwrap.helpers; #if macro import haxe.macro.Expr; +#elseif sys +import haxe.io.Path; +import sys.FileSystem; #end @@ -20,20 +23,34 @@ class Loader { return macro cpp.Prime.load("steamwrap", $inName2, $inSig, false); } - + public static var loadErrors:Array = []; #if !macro private static function fallback() { } + private static var modulePath:String = null; + + private static function getModulePath():String { + if (modulePath == null) { + var programPath = Sys.programPath(); + try { + programPath = FileSystem.fullPath(programPath); + } catch (e:Dynamic) {} + modulePath = Path.join([Path.directory(programPath), "steamwrap"]); + } + return modulePath; + } /** * Attempts to load a function from SteamWrap C++ library. * If that fails, logs the error and returns a fallback function to reduce the odds of hard crashing on call to a broken function. */ public static function loadRaw(name:String, argc:Int):Dynamic { - try { - var r = cpp.Lib.load("steamwrap", name, argc); - if (r != null) return r; - } catch (e:Dynamic) { - loadErrors.push(Std.string(e)); + for (library in [getModulePath(), "steamwrap"]) { + try { + var r = cpp.Lib.load(library, name, argc); + if (r != null) return r; + } catch (e:Dynamic) { + loadErrors.push(Std.string(e)); + } } return function() { trace('Error: $name is not loaded.');