diff --git a/.gitignore b/.gitignore
index 5f9075a..608774c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,4 @@ build/
*.lib
#Clean files from the Game SDK
-src/discord-game-sdk-cpp/*.cpp
-src/discord-game-sdk-cpp/*.h
-src/discord-game-sdk-cpp/*.md
\ No newline at end of file
+src/lib/discord_game_sdk/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index 8d21e28..e497b19 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "lib/godot-cpp"]
- path = lib/godot-cpp
+[submodule "src/lib/godot-cpp"]
+ path = src/lib/godot-cpp
url = https://github.com/godotengine/godot-cpp
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..04cf75a
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,21 @@
+{
+ "configurations": [
+ {
+ "name": "Win32",
+ "includePath": [
+ "${default}"
+ ],
+ "defines": [
+ "_DEBUG",
+ "UNICODE",
+ "_UNICODE"
+ ],
+ "windowsSdkVersion": "10.0.22621.0",
+ "compilerPath": "cl.exe",
+ "cStandard": "c17",
+ "cppStandard": "c++17",
+ "intelliSenseMode": "windows-msvc-x64"
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 47bac5b..53d6b52 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,10 +1,14 @@
{
"C_Cpp.default.includePath": [
- "lib/godot-cpp/include",
- "lib/godot-cpp/gen/include",
- "lib/godot-cpp/gdextension"
+ "src/lib/godot-cpp/include",
+ "src/lib/godot-cpp/gen/include",
+ "src/lib/godot-cpp/gdextension"
],
"files.associations": {
"xlocbuf": "cpp"
- }
+ },
+ "[python]": {
+ "editor.defaultFormatter": "ms-python.black-formatter"
+ },
+ "python.formatting.provider": "none"
}
\ No newline at end of file
diff --git a/README.md b/README.md
index 144709b..ff160a6 100644
--- a/README.md
+++ b/README.md
@@ -42,8 +42,9 @@ func _ready():
### Credit
-[@Pukimaa](https://github.com/pukimaa) - Logo Design
+[@Pukimaa](https://github.com/pukimaa) - Designer
+[@koyuawsmbrtn](https://github.com/koyuawsmbrtn) - Getting it to work on MacOS (shes giving her best)
*This project is not endorsed or affiliated with Discord Inc. or the Godot Foundation.*
diff --git a/SConstruct b/SConstruct
index 830fd0f..52bd487 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2,40 +2,62 @@
import os
# Gets the standard flags CC, CCX, etc.
-env = SConscript("lib/godot-cpp/SConstruct")
+env = SConscript("src/lib/godot-cpp/SConstruct")
# Check our platform specifics
-if env['platform'] == "macos":
- discord_library = 'libdiscord_game_sdk.dylib'
+if env["platform"] == "macos":
+ discord_library = "libdiscord_game_sdk.dylib"
+ discord_library_second = "libdiscord_game_sdk_aarch64.dylib"
libexportfolder = "/macos/"
-elif env['platform'] in ('linuxbsd', 'linux'):
- discord_library = 'libdiscord_game_sdk.so'
+elif env["platform"] in ("linuxbsd", "linux"):
+ discord_library = "libdiscord_game_sdk.so"
+ discord_library_second = ""
libexportfolder = "/linux/"
-elif env['platform'] == "windows":
- discord_library = 'discord_game_sdk.dll'
+elif env["platform"] == "windows":
+ discord_library = "discord_game_sdk.dll"
+ discord_library_second = "discord_game_sdk_x86.dll"
libexportfolder = "/windows/"
-if env['target'] == "template_debug":
+if env["target"] == "template_debug":
debugsuffix = "_debug"
else:
debugsuffix = ""
# make sure our binding library is properly includes
-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(LIBPATH=["src/lib/discord_game_sdk/bin/"])
+sources = Glob("src/lib/discord_game_sdk/cpp/*.cpp")
+env.Append(CPPPATH=["src/lib/discord_game_sdk/cpp/"])
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/'])
-sources += Glob('src/*.cpp')
+env.Append(CPPPATH=["src/"])
+sources += Glob("src/*.cpp")
# The finished exports
-library = env.SharedLibrary(target="project/addons/discord-sdk-gd/bin/" +
- libexportfolder + "discord_game_sdk_binding" + debugsuffix, source=sources)
-env.Depends(library, Command("project/addons/discord-sdk-gd/bin/" + libexportfolder +
- discord_library, "lib/discord-game-sdk/" + discord_library, Copy("$TARGET", "$SOURCE")))
+library = env.SharedLibrary(
+ target="project/addons/discord-sdk-gd/bin/"
+ + libexportfolder
+ + "discord_game_sdk_binding"
+ + debugsuffix,
+ source=sources,
+)
+env.Depends(
+ library,
+ Command(
+ "project/addons/discord-sdk-gd/bin/" + libexportfolder + discord_library,
+ "src/lib/discord_game_sdk/bin/" + discord_library,
+ Copy("$TARGET", "$SOURCE"),
+ ),
+)
+env.Depends(
+ library,
+ Command(
+ "project/addons/discord-sdk-gd/bin/" + libexportfolder + discord_library_second,
+ "src/lib/discord_game_sdk/bin/" + discord_library_second,
+ Copy("$TARGET", "$SOURCE"),
+ ),
+)
Default(library)
diff --git a/lib/discord-game-sdk/discord_game_sdk.bundle b/lib/discord-game-sdk/discord_game_sdk.bundle
deleted file mode 100644
index 3402426..0000000
Binary files a/lib/discord-game-sdk/discord_game_sdk.bundle and /dev/null differ
diff --git a/lib/discord-game-sdk/discord_game_sdk.dll b/lib/discord-game-sdk/discord_game_sdk.dll
deleted file mode 100644
index be946ea..0000000
Binary files a/lib/discord-game-sdk/discord_game_sdk.dll and /dev/null differ
diff --git a/lib/discord-game-sdk/discord_game_sdk.lib b/lib/discord-game-sdk/discord_game_sdk.lib
deleted file mode 100644
index 562b01c..0000000
Binary files a/lib/discord-game-sdk/discord_game_sdk.lib and /dev/null differ
diff --git a/lib/discord-game-sdk/libdiscord_game_sdk.dylib b/lib/discord-game-sdk/libdiscord_game_sdk.dylib
deleted file mode 100644
index 3402426..0000000
Binary files a/lib/discord-game-sdk/libdiscord_game_sdk.dylib and /dev/null differ
diff --git a/lib/discord-game-sdk/libdiscord_game_sdk.so b/lib/discord-game-sdk/libdiscord_game_sdk.so
deleted file mode 100644
index 9dacf94..0000000
Binary files a/lib/discord-game-sdk/libdiscord_game_sdk.so and /dev/null differ
diff --git a/lib/godot-cpp b/lib/godot-cpp
deleted file mode 160000
index feaba55..0000000
--- a/lib/godot-cpp
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit feaba551b5a5b2d13ad1c3fdd8c90e67c67ff37c
diff --git a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll
index a4af60f..e907059 100644
Binary files a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll and b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding.dll differ
diff --git a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll
index 885c535..64d0b23 100644
Binary files a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll and b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_binding_debug.dll differ
diff --git a/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll
new file mode 100644
index 0000000..45b9bb1
Binary files /dev/null and b/project/addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll differ
diff --git a/project/addons/discord-sdk-gd/export.gd b/project/addons/discord-sdk-gd/export.gd
index 7e83dae..2c6e265 100644
--- a/project/addons/discord-sdk-gd/export.gd
+++ b/project/addons/discord-sdk-gd/export.gd
@@ -3,8 +3,12 @@ extends EditorExportPlugin
func _export_file(path, type, features):
if features[2] == "windows":
- add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
+ if features[4] == "x86_64":
+ add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
+ elif features[4] == "x86":
+ add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll",[],"/")
elif features[2] == "linux":
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/libdiscord_game_sdk.dylib",[],"/")
+ add_shared_object("res://addons/discord-sdk-gd/bin/macos/libdiscord_game_sdk_aarch64.dylib",[],"/")
diff --git a/setup.py b/setup.py
index 45c5692..b34f8e8 100644
--- a/setup.py
+++ b/setup.py
@@ -3,15 +3,42 @@ from distutils.dir_util import copy_tree
import shutil
import os
-with zipfile.ZipFile("src/discord-game-sdk-cpp/discord_game_sdk.zip", "r") as zip_ref:
- zip_ref.extractall("src/discord-game-sdk-cpp")
+with zipfile.ZipFile("src/lib/discord_game_sdk.zip", "r") as zip_ref:
+ zip_ref.extractall("src/lib/discord_game_sdk/")
-copy_tree("src/discord-game-sdk-cpp/cpp", "src/discord-game-sdk-cpp/")
+copy_tree("src/lib/discord_game_sdk/lib/", "src/lib/discord_game_sdk/bin/")
+os.rename(
+ "src/lib/discord_game_sdk/bin/aarch64/discord_game_sdk.dylib",
+ "src/lib/discord_game_sdk/bin/aarch64/libdiscord_game_sdk_aarch64.dylib",
+)
+os.rename(
+ "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.dylib",
+ "src/lib/discord_game_sdk/bin/x86_64/libdiscord_game_sdk.dylib",
+)
+os.rename(
+ "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.so",
+ "src/lib/discord_game_sdk/bin/x86_64/libdiscord_game_sdk.so",
+)
+os.rename(
+ "src/lib/discord_game_sdk/bin/x86/discord_game_sdk.dll",
+ "src/lib/discord_game_sdk/bin/x86/discord_game_sdk_x86.dll",
+)
-shutil.rmtree("src/discord-game-sdk-cpp/c/", ignore_errors=True)
-shutil.rmtree("src/discord-game-sdk-cpp/cpp/", ignore_errors=True)
-shutil.rmtree("src/discord-game-sdk-cpp/csharp/", ignore_errors=True)
-shutil.rmtree("src/discord-game-sdk-cpp/examples/", ignore_errors=True)
-shutil.rmtree("src/discord-game-sdk-cpp/lib/", ignore_errors=True)
+os.rename(
+ "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.dll.lib",
+ "src/lib/discord_game_sdk/bin/x86_64/discord_game_sdk.lib",
+)
+copy_tree("src/lib/discord_game_sdk/bin/aarch64/", "src/lib/discord_game_sdk/bin/")
+copy_tree("src/lib/discord_game_sdk/bin/x86/", "src/lib/discord_game_sdk/bin/")
+copy_tree("src/lib/discord_game_sdk/bin/x86_64/", "src/lib/discord_game_sdk/bin/")
+
+shutil.rmtree("src/lib/discord_game_sdk/c/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/csharp/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/examples/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/lib/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/bin/aarch64/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/bin/x86/", ignore_errors=True)
+shutil.rmtree("src/lib/discord_game_sdk/bin/x86_64/", ignore_errors=True)
+os.remove("src/lib/discord_game_sdk/README.md")
os.system("git submodule update --init")
diff --git a/src/discordgodot.cpp b/src/discordgodot.cpp
index 057c835..bb26904 100644
--- a/src/discordgodot.cpp
+++ b/src/discordgodot.cpp
@@ -1,5 +1,5 @@
#include "discordgodot.h"
-#include "./discord-game-sdk-cpp/discord.h"
+#include "lib/discord_game_sdk/cpp/discord.h"
#include
#include
#include
diff --git a/src/discordgodot.h b/src/discordgodot.h
index fd8557b..6ad12c1 100644
--- a/src/discordgodot.h
+++ b/src/discordgodot.h
@@ -2,7 +2,7 @@
#define DISCORDGODOT_H
#include
-#include "discord-game-sdk-cpp/discord.h"
+#include "lib/discord_game_sdk/cpp/discord.h"
#include
#include
diff --git a/src/discord-game-sdk-cpp/discord_game_sdk.zip b/src/lib/discord_game_sdk.zip
similarity index 55%
rename from src/discord-game-sdk-cpp/discord_game_sdk.zip
rename to src/lib/discord_game_sdk.zip
index 9a996b5..10b8a51 100644
Binary files a/src/discord-game-sdk-cpp/discord_game_sdk.zip and b/src/lib/discord_game_sdk.zip differ
diff --git a/godot-cpp b/src/lib/godot-cpp
similarity index 100%
rename from godot-cpp
rename to src/lib/godot-cpp