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.');