diff --git a/.gitignore b/.gitignore index aab5efc..86f8e35 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ build/ #Cleanup unused build files -*obj -*obj -*exp -*lib \ No newline at end of file +*.obj +*.exp +*.lib \ No newline at end of file diff --git a/README.md b/README.md index 4ff171c..78bf2e5 100644 --- a/README.md +++ b/README.md @@ -40,12 +40,6 @@ func _ready(): ### [Try a built demo](https://github.com/vaporvee/discord-sdk-godot/releases/latest/download/Demo-Export.zip) :incoming_envelope: Still questions? write an [issue](https://github.com/vaporvee/discord-sdk-godot/issues)! I'll answer very fast :) -
- -## Extra Info -- The Discord SDK itself doesn't build under Linux for some reason (I don't have a Mac so i don't even know if it's builds under OSX) its not well documented but I try as hard as i can to get it working crossplatform but at the time its only working under Windows... (But feel free to make pull requests btw) -- Its an early release some features aren't implemented only because i need a small amount of time not because it's not possible -

diff --git a/SConstruct b/SConstruct index c2c4a3e..45c544a 100644 --- a/SConstruct +++ b/SConstruct @@ -6,11 +6,11 @@ env = SConscript("godot-cpp/SConstruct") # Check our platform specifics if env['platform'] == "macos": - discord_library = 'discord_game_sdk.dylib' + discord_library = 'libdiscord_game_sdk.dylib' libexportfolder = "/macos/" elif env['platform'] in ('linuxbsd', 'linux'): - discord_library = 'discord_game_sdk.so' + discord_library = 'libdiscord_game_sdk.so' libexportfolder = "/linux/" elif env['platform'] == "windows": @@ -27,7 +27,7 @@ else: env.Append(LIBPATH=["lib/discord-game-sdk/"]) sources = Glob('src/discord-game-sdk-cpp/*.cpp') env.Append(CPPPATH=['src/discord-game-sdk-cpp']) -env.Append(LIBS=[discord_library.replace(".dll", "")]) +env.Append(LIBS=["discord_game_sdk"]) # tweak this if you want to use different folders, or more folders, to store your source code in. env.Append(CPPPATH=['src/']) diff --git a/lib/discord-game-sdk/discord_game_sdk.dylib b/lib/discord-game-sdk/libdiscord_game_sdk.dylib similarity index 100% rename from lib/discord-game-sdk/discord_game_sdk.dylib rename to lib/discord-game-sdk/libdiscord_game_sdk.dylib diff --git a/lib/discord-game-sdk/discord_game_sdk.so b/lib/discord-game-sdk/libdiscord_game_sdk.so similarity index 100% rename from lib/discord-game-sdk/discord_game_sdk.so rename to lib/discord-game-sdk/libdiscord_game_sdk.so diff --git a/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so new file mode 100644 index 0000000..9dacf94 Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so differ diff --git a/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding.so b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding.so new file mode 100644 index 0000000..ac1fcf6 Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding.so differ diff --git a/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding_debug.so b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding_debug.so new file mode 100644 index 0000000..616d89b Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk_binding_debug.so differ diff --git a/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk.dylib b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk.dylib new file mode 100644 index 0000000..3402426 Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk.dylib differ diff --git a/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding.dylib b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding.dylib new file mode 100644 index 0000000..a5af5f0 Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding.dylib differ diff --git a/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding_debug.dylib b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding_debug.dylib new file mode 100644 index 0000000..d15e6bc Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_binding_debug.dylib differ diff --git a/project/addons/discord-sdk-gd/bin/version.txt b/project/addons/discord-sdk-gd/bin/version.txt new file mode 100644 index 0000000..676327c --- /dev/null +++ b/project/addons/discord-sdk-gd/bin/version.txt @@ -0,0 +1,4 @@ +Version: 1.2 +Windows: build-1 +Linux: build-1 +MacOS: build-1 \ No newline at end of file diff --git a/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension b/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension index 87a2e00..360b36b 100644 --- a/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension +++ b/project/addons/discord-sdk-gd/discord-rpc-gd.gdextension @@ -4,26 +4,26 @@ entry_symbol = "discordsdkgd_library_init" [libraries] -macos.debug = "bin/macos/discord_game_sdk_binding_debug.framework" -macos.release = "bin/macos/discord_game_sdk_binding.framework" +macos.debug = "bin/macos/libdiscord_game_sdk_binding_debug.dylib" +macos.release = "bin/macos/libdiscord_game_sdk_binding.dylib" windows.debug.x86_64 = "bin/windows/discord_game_sdk_binding_debug.dll" windows.release.x86_64 = "bin/windows/discord_game_sdk_binding.dll" -linux.debug.x86_64 = "bin/linux/discord_game_sdk_binding_debug.so" -linux.release.x86_64 = "bin/linux/discord_game_sdk_binding.so" -linux.debug.arm64 = "bin/linux/discord_game_sdk_binding_debug.so" -linux.release.arm64 = "bin/linux/discord_game_sdk_binding.so" -linux.debug.rv64 = "bin/linux/discord_game_sdk_binding_debug.so" -linux.release.rv64 = "bin/linux/discord_game_sdk_binding.so" +linux.debug.x86_64 = "bin/linux/libdiscord_game_sdk_binding_debug.so" +linux.release.x86_64 = "bin/linux/libdiscord_game_sdk_binding.so" +linux.debug.arm64 = "bin/linux/libdiscord_game_sdk_binding_debug.so" +linux.release.arm64 = "bin/linux/libdiscord_game_sdk_binding.so" +linux.debug.rv64 = "bin/linux/libdiscord_game_sdk_binding_debug.so" +linux.release.rv64 = "bin/linux/libdiscord_game_sdk_binding.so" [dependencies] -macos.debug = "bin/macos/discord_game_sdk.framework" -macos.release = "bin/macos/discord_game_sdk.framework" +macos.debug = "bin/macos/libdiscord_game_sdk.dylib" +macos.release = "bin/macos/libdiscord_game_sdk.dylib" windows.debug.x86_64 = "bin/windows/discord_game_sdk.dll" windows.release.x86_64 = "bin/windows/discord_game_sdk.dll" -linux.debug.x86_64 = "bin/linux/discord_game_sdk.so" -linux.release.x86_64 = "bin/linux/discord_game_sdk.so" -linux.debug.arm64 = "bin/linux/discord_game_sdk.so" -linux.release.arm64 = "bin/linux/discord_game_sdk.so" -linux.debug.rv64 = "bin/linux/ldiscord_game_sdk.so" -linux.release.rv64 = "bin/linux/discord_game_sdk.so" \ No newline at end of file +linux.debug.x86_64 = "bin/linux/libdiscord_game_sdk.so" +linux.release.x86_64 = "bin/linux/libdiscord_game_sdk.so" +linux.debug.arm64 = "bin/linux/libdiscord_game_sdk.so" +linux.release.arm64 = "bin/linux/libdiscord_game_sdk.so" +linux.debug.rv64 = "bin/linux/libdiscord_game_sdk.so" +linux.release.rv64 = "bin/linux/libdiscord_game_sdk.so" \ No newline at end of file diff --git a/project/addons/discord-sdk-gd/example.gd b/project/addons/discord-sdk-gd/example.gd new file mode 100644 index 0000000..d7436b3 --- /dev/null +++ b/project/addons/discord-sdk-gd/example.gd @@ -0,0 +1,17 @@ +extends Node + +func _ready(): + Discord_Activity.app_id = 1099618430065324082 # Application ID + print("Discord working: " + str(Discord_Activity.get_is_discord_working())) # A boolean if everything worked + Discord_Activity.details = "A demo activity by vaporvee#1231" + Discord_Activity.state = "Checkpoint 23/23" + + Discord_Activity.large_image = "game" # Image key from "Art Assets" + Discord_Activity.large_image_text = "Try it now!" + Discord_Activity.small_image = "boss" # Image key from "Art Assets" + Discord_Activity.small_image_text = "Fighting the end boss! D:" + + Discord_Activity.start_timestamp = int(Time.get_unix_time_from_system()) # "02:41 elapsed" + # Discord_Activity.end_timestamp = int(Time.get_unix_time_from_system()) + 3600 # +1 hour in unix time + + Discord_Activity.refresh() # Always refresh after changing the values! diff --git a/project/addons/discord-sdk-gd/export.gd b/project/addons/discord-sdk-gd/export.gd index 5ef7180..7e83dae 100644 --- a/project/addons/discord-sdk-gd/export.gd +++ b/project/addons/discord-sdk-gd/export.gd @@ -5,6 +5,6 @@ func _export_file(path, type, features): if features[2] == "windows": add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/") elif features[2] == "linux": - add_shared_object("res://addons/discord-sdk-gd/bin/linux/discord_game_sdk.so",[],"/") + add_shared_object("res://addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so",[],"/") elif features[2] == "macos": - add_shared_object("res://addons/discord-sdk-gd/bin/macos/discord_game_sdk.dylib",[],"/") + add_shared_object("res://addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk.dylib",[],"/") diff --git a/project/addons/discord-sdk-gd/plugin.cfg b/project/addons/discord-sdk-gd/plugin.cfg index 80ae797..dcfb796 100644 --- a/project/addons/discord-sdk-gd/plugin.cfg +++ b/project/addons/discord-sdk-gd/plugin.cfg @@ -3,5 +3,5 @@ name="DiscordSDK" description="Discord Game SDK support for GDScript in Godot" author="vaporvee" -version="1.1" +version="1.2" script="plugin.gd"