diff --git a/project/addons/discord-rpc-gd/bin/windows/discord_game_sdk_binding_debug.dll b/project/addons/discord-rpc-gd/bin/windows/discord_game_sdk_binding_debug.dll index aba6988..4b8e6f0 100644 Binary files a/project/addons/discord-rpc-gd/bin/windows/discord_game_sdk_binding_debug.dll and b/project/addons/discord-rpc-gd/bin/windows/discord_game_sdk_binding_debug.dll differ diff --git a/project/addons/discord-rpc-gd/discord_coreupdater.gd b/project/addons/discord-rpc-gd/discord_coreupdater.gd index 2b4fe6e..ce5e503 100644 --- a/project/addons/discord-rpc-gd/discord_coreupdater.gd +++ b/project/addons/discord-rpc-gd/discord_coreupdater.gd @@ -1,4 +1,4 @@ extends Node func _process(delta): - DiscordSDK.coreupdate() + Discord_Activity.coreupdate() diff --git a/project/main.gd b/project/main.gd index d46940b..2f3f148 100644 --- a/project/main.gd +++ b/project/main.gd @@ -1,10 +1,9 @@ extends Node func _ready(): - DiscordSDK.debug() - #DiscordSDK.app_id = 918857075105349632 - #DiscordSDK.details = "Made with GDExtension" - #DiscordSDK.state = "This is a test from GDScript in Godot 4" + Discord_Activity.app_id = 918857075105349632 + Discord_Activity.details = "Made with GDExtension" + Discord_Activity.state = "This is a test from GDScript in Godot 4" - #DiscordSDK.refresh() - #$Info.text = $Info.text.replace("{id}",str(DiscordSDK.app_id)).replace("{details}",DiscordSDK.details).replace("{state}",DiscordSDK.state) + Discord_Activity.refresh() + $Info.text = $Info.text.replace("{id}",str(Discord_Activity.app_id)).replace("{details}",Discord_Activity.details).replace("{state}",Discord_Activity.state) diff --git a/src/main.cpp b/src/activity.cpp similarity index 62% rename from src/main.cpp rename to src/activity.cpp index 2cc973b..09ca5c2 100644 --- a/src/main.cpp +++ b/src/activity.cpp @@ -1,4 +1,4 @@ -#include "main.h" +#include "activity.h" #include "./discord-game-sdk-cpp/discord.h" #include #include @@ -6,48 +6,48 @@ using namespace godot; -DiscordSDK *DiscordSDK::singleton = nullptr; +Discord_Activity *Discord_Activity::singleton = nullptr; discord::Core *core{}; discord::Result result; discord::Activity activity{}; -void DiscordSDK::_bind_methods() +void Discord_Activity::_bind_methods() { - ClassDB::bind_method(D_METHOD("debug"), &DiscordSDK::debug); - ClassDB::bind_method(D_METHOD("coreupdate"), &DiscordSDK::coreupdate); + ClassDB::bind_method(D_METHOD("debug"), &Discord_Activity::debug); + ClassDB::bind_method(D_METHOD("coreupdate"), &Discord_Activity::coreupdate); - ClassDB::bind_method(D_METHOD("get_app_id"), &DiscordSDK::get_app_id); - ClassDB::bind_method(D_METHOD("set_app_id", "app_id"), &DiscordSDK::set_app_id); + ClassDB::bind_method(D_METHOD("get_app_id"), &Discord_Activity::get_app_id); + ClassDB::bind_method(D_METHOD("set_app_id", "app_id"), &Discord_Activity::set_app_id); ADD_PROPERTY(PropertyInfo(Variant::INT, "app_id"), "set_app_id", "get_app_id"); - ClassDB::bind_method(D_METHOD("get_state"), &DiscordSDK::get_state); - ClassDB::bind_method(D_METHOD("set_state", "state"), &DiscordSDK::set_state); + ClassDB::bind_method(D_METHOD("get_state"), &Discord_Activity::get_state); + ClassDB::bind_method(D_METHOD("set_state", "state"), &Discord_Activity::set_state); ADD_PROPERTY(PropertyInfo(Variant::STRING, "state"), "set_state", "get_state"); - ClassDB::bind_method(D_METHOD("get_details"), &DiscordSDK::get_details); - ClassDB::bind_method(D_METHOD("set_details", "details"), &DiscordSDK::set_details); + ClassDB::bind_method(D_METHOD("get_details"), &Discord_Activity::get_details); + ClassDB::bind_method(D_METHOD("set_details", "details"), &Discord_Activity::set_details); ADD_PROPERTY(PropertyInfo(Variant::STRING, "details"), "set_details", "get_details"); - ClassDB::bind_method(D_METHOD("refresh"), &DiscordSDK::refresh); + ClassDB::bind_method(D_METHOD("refresh"), &Discord_Activity::refresh); } -DiscordSDK *DiscordSDK::get_singleton() +Discord_Activity *Discord_Activity::get_singleton() { return singleton; } -DiscordSDK::DiscordSDK() +Discord_Activity::Discord_Activity() { ERR_FAIL_COND(singleton != nullptr); singleton = this; } -DiscordSDK::~DiscordSDK() +Discord_Activity::~Discord_Activity() { ERR_FAIL_COND(singleton != this); singleton = nullptr; } -void DiscordSDK::debug() +void Discord_Activity::debug() { auto debugresult = discord::Core::Create(1080224638845591692, DiscordCreateFlags_NoRequireDiscord, &core); discord::Activity debugactivity{}; @@ -60,41 +60,41 @@ void DiscordSDK::debug() core->ActivityManager().UpdateActivity(debugactivity, [](discord::Result debugresult) {}); } -void DiscordSDK::coreupdate() +void Discord_Activity::coreupdate() { ::core->RunCallbacks(); } -void DiscordSDK::set_app_id(const int64_t &appid) +void Discord_Activity::set_app_id(const int64_t &appid) { app_id = appid; result = discord::Core::Create(app_id, DiscordCreateFlags_NoRequireDiscord, &core); } -int64_t DiscordSDK::get_app_id() const +int64_t Discord_Activity::get_app_id() const { return app_id; } -void DiscordSDK::set_state(const String &pstate) +void Discord_Activity::set_state(const String &pstate) { state = pstate; activity.SetState(state.utf8().get_data()); } -String DiscordSDK::get_state() const +String Discord_Activity::get_state() const { return state; } -void DiscordSDK::set_details(const String &detail) +void Discord_Activity::set_details(const String &detail) { details = detail; activity.SetDetails(details.utf8().get_data()); } -String DiscordSDK::get_details() const +String Discord_Activity::get_details() const { return details; } -void DiscordSDK::refresh() +void Discord_Activity::refresh() { core->ActivityManager().UpdateActivity(activity, [](discord::Result result) {}); } \ No newline at end of file diff --git a/src/main.h b/src/activity.h similarity index 68% rename from src/main.h rename to src/activity.h index bceb5f4..7b81deb 100644 --- a/src/main.h +++ b/src/activity.h @@ -1,5 +1,5 @@ -#ifndef MAIN_H -#define MAIN_H +#ifndef ACTIVITY_H +#define ACTIVITY_H #include #include @@ -7,11 +7,11 @@ using namespace godot; -class DiscordSDK : public Object +class Discord_Activity : public Object { - GDCLASS(DiscordSDK, Object); + GDCLASS(Discord_Activity, Object); - static DiscordSDK *singleton; + static Discord_Activity *singleton; protected: static void _bind_methods(); @@ -22,10 +22,10 @@ private: String details; public: - static DiscordSDK *get_singleton(); + static Discord_Activity *get_singleton(); - DiscordSDK(); - ~DiscordSDK(); + Discord_Activity(); + ~Discord_Activity(); void debug(); void coreupdate(); diff --git a/src/register_types.cpp b/src/register_types.cpp index c49187b..020f653 100644 --- a/src/register_types.cpp +++ b/src/register_types.cpp @@ -6,19 +6,19 @@ #include #include -#include "main.h" +#include "activity.h" using namespace godot; -static DiscordSDK *discordsdk; +static Discord_Activity *discordactivity; void gdextension_initialize(ModuleInitializationLevel p_level) { if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) { - ClassDB::register_class(); + ClassDB::register_class(); - discordsdk = memnew(DiscordSDK); - Engine::get_singleton()->register_singleton("DiscordSDK", DiscordSDK::get_singleton()); // Cant change the class name in the cpp files for some reason + discordactivity = memnew(Discord_Activity); + Engine::get_singleton()->register_singleton("Discord_Activity", Discord_Activity::get_singleton()); // Cant change the class name in the cpp files for some reason } } @@ -26,8 +26,8 @@ void gdextension_terminate(ModuleInitializationLevel p_level) { if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) { - Engine::get_singleton()->unregister_singleton("DiscordSDK"); - memdelete(discordsdk); + Engine::get_singleton()->unregister_singleton("Discord_Activity"); + memdelete(discordactivity); } }