8 Commits
2.2 ... 2.4

Author SHA1 Message Date
Yannik
c41396cdbb Merge branch 'main' of https://github.com/vaporvee/discord-sdk-godot 2023-07-06 18:24:44 +02:00
Yannik
abb0cdb0c5 updated for godot 4.1 2023-07-06 18:22:39 +02:00
Yannik
35c1895650 Update README.md 2023-07-05 23:47:48 +02:00
Yannik
548349d9f8 bumped version 2023-06-30 22:54:43 +02:00
Yannik
68c8a42826 removed obsolete export plugin 2023-06-30 22:54:13 +02:00
Yannik
3e944683a4 Merge pull request #31 from vaartis/patch-1
Change gdextension dependencies so they're actually used, patch the SDK
2023-06-30 22:22:33 +02:00
Ekaterina Vaartis
6f288564cf Patch the SDK in setup.py so it actually builds 2023-06-30 20:51:04 +03:00
vaartis
aa39fb80e0 Change gdextension dependencies so they're actually used
This part isn't very well documented, but they changed the format of that file at some point and now it needs to be like this to pull the dependencies into the built project. Assuming this is what the export plugin does, that can probably be removed.
2023-06-30 19:35:35 +03:00
15 changed files with 29 additions and 47 deletions

View File

@@ -23,6 +23,8 @@ body:
label: Version
description: What version of our software are you running?
options:
- 2.4
- 2.3
- 2.2
- 2.1
- 2.0

View File

@@ -1,7 +1,6 @@
<img src="/project/assets/Banner.svg" alt="Project Banner" />
**Discord Game SDK support for GDScript in Godot Engine 4.0. with the easiest code pattern!**<br><br>
**Please leave a star that would really help! And thanks to all the people that already starred this project! ❤️**
<br />
<br />
# [Quick start :rocket: (click here)](https://github.com/vaporvee/discord-sdk-godot/wiki)

View File

@@ -1,6 +1,7 @@
[configuration]
entry_symbol = "discordsdkgd_library_init"
compatibility_minimum = 4.1
[libraries]
@@ -17,13 +18,13 @@ linux.release.rv64 = "bin/linux/libdiscord_game_sdk_binding.so"
[dependencies]
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/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"
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/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": "" }

View File

@@ -1,17 +0,0 @@
@tool
extends EditorExportPlugin
func _export_file(_path, _type, features) -> void:
if features.find("windows",0) != -1:
if features.find("x86_64",0) != -1:
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
elif features.find("x86",0) != -1:
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk_x86.dll",[],"/")
elif features.find("linux",0) != -1:
add_shared_object("res://addons/discord-sdk-gd/bin/linux/libdiscord_game_sdk.so",[],"/")
elif features.find("macos",0) != -1:
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",[],"/")
func _get_name():
pass

View File

@@ -3,5 +3,5 @@
name="DiscordSDK"
description="Discord Game SDK support for GDScript in Godot"
author="vaporvee"
version="2.2"
version="2.4"
script="plugin.gd"

View File

@@ -6,14 +6,9 @@ const DiscordSDKDebug_icon = preload("res://addons/discord-sdk-gd/nodes/assets/D
var loaded_DiscordSDKDebug = DiscordSDKDebug.new()
const ExportPlugin = preload("res://addons/discord-sdk-gd/export.gd")
var loaded_exportplugin = ExportPlugin.new()
func _enter_tree() -> void:
add_custom_type("DiscordSDKDebug","Node",DiscordSDKDebug,DiscordSDKDebug_icon)
add_autoload_singleton("DiscordSDKLoader", "res://addons/discord-sdk-gd/nodes/core_updater.gd")
add_export_plugin(loaded_exportplugin)
func _enable_plugin() -> void:
print("DiscordSDK Addon got enabled (PLEASE RESTART THE EDITOR)")

View File

@@ -8,7 +8,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../uizkgiuzfv/discord_sdk_demo.exe"
export_path="../../exportestt/discord_sdk_demo.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false

View File

@@ -8,15 +8,11 @@
config_version=5
[DiscordSDK]
EditorPresence/enabled=false
[application]
config/name="GDExtension DiscordSDK Test Project"
run/main_scene="res://main.tscn"
config/features=PackedStringArray("4.0")
config/features=PackedStringArray("4.1")
boot_splash/bg_color=Color(0.25098, 0.305882, 0.929412, 1)
boot_splash/image="res://assets/Banner_v1.png"
boot_splash/fullsize=false

View File

@@ -6,6 +6,12 @@ import os
with zipfile.ZipFile("src/lib/discord_game_sdk.zip", "r") as zip_ref:
zip_ref.extractall("src/lib/discord_game_sdk/")
# Patch the SDK to actually build, since it's missing an include
with open("src/lib/discord_game_sdk/cpp/types.h", "r+") as f:
s = f.read();
f.seek(0);
f.write("#include <cstdint>\n" + s)
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",

View File

@@ -11,7 +11,7 @@ using namespace godot;
static discord_sdk *discordsdk;
void gdextension_initialize(ModuleInitializationLevel p_level)
void initialize_discordsdk_module(ModuleInitializationLevel p_level)
{
if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE)
{
@@ -21,7 +21,7 @@ void gdextension_initialize(ModuleInitializationLevel p_level)
}
}
void gdextension_terminate(ModuleInitializationLevel p_level)
void uninitialize_discordsdk_module(ModuleInitializationLevel p_level)
{
if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE)
{
@@ -32,12 +32,12 @@ void gdextension_terminate(ModuleInitializationLevel p_level)
extern "C"
{
GDExtensionBool GDE_EXPORT discordsdkgd_library_init(const GDExtensionInterface *p_interface, GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization)
GDExtensionBool GDE_EXPORT discordsdkgd_library_init(GDExtensionInterfaceGetProcAddress p_get_proc_address, GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization)
{
godot::GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization);
godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library, r_initialization);
init_obj.register_initializer(gdextension_initialize);
init_obj.register_terminator(gdextension_terminate);
init_obj.register_initializer(initialize_discordsdk_module);
init_obj.register_terminator(uninitialize_discordsdk_module);
init_obj.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE);
return init_obj.init();