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 e74a436..2c2c018 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -### This is an early version! In future versions there will be lobbies, invites, linux builds etc. very soon! +### This is an early version! In future versions there will be invites, user info etc. very soon! Don't forget to run the following command **if you clone this project** or the godot-cpp folder will be empty ```sh git submodule update --init ``` # Addon Usage :rocket: 1. [Download the addon](https://github.com/vaporvee/discord-sdk-godot/releases/latest/download/ADDON-Discord-SDK-Godot.zip/) -2. Put the `discord-sdk-gd/` folder in a `addons/` folder in your Godot project +2. Put the `addons/` folder in your Godot project 3. Enable the addon in your Project Settings under "Plugins" and "DiscordSDK". (if it doesn't show up restart your project and try again) 4. Restart your project 5. Create an Application under https://discord.com/developers/applications and get the Application ID @@ -38,12 +38,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 7ad45e0..d4f6376 100644 --- a/SConstruct +++ b/SConstruct @@ -8,11 +8,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": 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"