fixed import errors
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -24,6 +24,8 @@ build/
|
||||
#Clean files from setup.py
|
||||
src/lib/discord_social_sdk/*
|
||||
src/lib/godot-cpp/*
|
||||
discordpp.h
|
||||
cdiscord.h
|
||||
*.zip
|
||||
*.so
|
||||
*.dll
|
||||
|
3
.vscode/c_cpp_properties.json
vendored
3
.vscode/c_cpp_properties.json
vendored
@@ -7,8 +7,7 @@
|
||||
"${workspaceFolder}/src/lib/godot-cpp/gen/include",
|
||||
"${workspaceFolder}/src/lib/godot-cpp/include",
|
||||
"${workspaceFolder}/src/lib/godot-cpp/gdextension",
|
||||
"${workspaceFolder}/src/lib/godot-cpp/gen/include",
|
||||
"${workspaceFolder}/src/lib/discord_social_sdk/include"
|
||||
"${workspaceFolder}/src/lib/godot-cpp/gen/include"
|
||||
],
|
||||
"defines": [
|
||||
"_DEBUG",
|
||||
|
10
SConstruct
10
SConstruct
@@ -20,14 +20,10 @@ elif env["platform"] == "windows":
|
||||
|
||||
if env["target"] == "template_debug":
|
||||
debugsuffix = "_debug"
|
||||
folder = "debug/"
|
||||
discord_library_target = discord_library.replace(".", f"{debugsuffix}.")
|
||||
else:
|
||||
debugsuffix = ""
|
||||
folder = "release/"
|
||||
discord_library_target = discord_library
|
||||
|
||||
env.Append(LIBPATH=["src/lib/discord_social_sdk/lib/" + folder])
|
||||
env.Append(LIBPATH=["src/lib/discord_social_sdk/lib/release/"])
|
||||
env.Append(LIBS=["discord_partner_sdk"])
|
||||
|
||||
env.Append(CPPDEFINES=["HOT_RELOAD_ENABLED"])
|
||||
@@ -42,8 +38,8 @@ library = env.SharedLibrary(
|
||||
env.Depends(
|
||||
library,
|
||||
Command(
|
||||
"project/addons/discord-rpc-gd/bin/" + libexportfolder + discord_library_target,
|
||||
"src/lib/discord_social_sdk/lib/" + folder + discord_library,
|
||||
"project/addons/discord-rpc-gd/bin/" + libexportfolder + discord_library,
|
||||
"src/lib/discord_social_sdk/lib/release/" + discord_library,
|
||||
Copy("$TARGET", "$SOURCE"),
|
||||
),
|
||||
)
|
||||
|
@@ -19,11 +19,5 @@ linux.release.rv64 = "linux/libdiscord_partner_sdk_binding.so"
|
||||
[dependencies]
|
||||
|
||||
macos = { "macos/libdiscord_partner_sdk.dylib": "" }
|
||||
windows.debug.x86_64 = { "windows/discord_partner_sdk_debug.dll": "" }
|
||||
windows.release.x86_64 = { "windows/discord_partner_sdk.dll": "" }
|
||||
linux.debug.x86_64 = { "linux/libdiscord_partner_sdk_debug.so": "" }
|
||||
linux.release.x86_64 = { "linux/libdiscord_partner_sdk.so": "" }
|
||||
linux.debug.arm64 = { "linux/libdiscord_partner_sdk_debug.so": "" }
|
||||
linux.release.arm64 = { "linux/libdiscord_partner_sdk.so": "" }
|
||||
linux.debug.rv64 = { "linux/libdiscord_partner_sdk_debug.so": "" }
|
||||
linux.release.rv64 = { "linux/libdiscord_partner_sdk.so": "" }
|
||||
windows.x86_64 = { "windows/discord_partner_sdk.dll": "" }
|
||||
linux = { "linux/libdiscord_partner_sdk.so": "" }
|
||||
|
@@ -48,7 +48,7 @@ Is party public: {ppublic} (needs to be activated in Discord client settings)
|
||||
|
||||
Is instanced: {instanced}
|
||||
\"
|
||||
$Panel/Info.text = $Panel/Info.text.replace(\"{ppublic}\",str(DiscordRPC.is_public_party)).replace(\"{instanced}\",str(DiscordRPC.instanced)).replace(\"{ssecret}\",DiscordRPC.spectate_secret).replace(\"{jsecret}\",DiscordRPC.join_secret).replace(\"{msecret}\",DiscordRPC.match_secret).replace(\"{mpartysize}\",str(DiscordRPC.max_party_size)).replace(\"{cpartysize}\",str(DiscordRPC.current_party_size)).replace(\"{partyid}\",DiscordRPC.party_id).replace(\"{id}\",str(DiscordRPC.app_id)).replace(\"{details}\",DiscordRPC.details).replace(\"{state}\",DiscordRPC.state).replace(\"{lkey}\",DiscordRPC.large_image).replace(\"{ltext}\",DiscordRPC.large_image_text).replace(\"{skey}\",DiscordRPC.small_image).replace(\"{stext}\",DiscordRPC.small_image_text).replace(\"{stimestamp}\",str(DiscordRPC.start_timestamp)).replace(\"{etimestamp}\",str(DiscordRPC.end_timestamp))
|
||||
#$Panel/Info.text = $Panel/Info.text.replace(\"{ppublic}\",str(DiscordRPC.is_public_party)).replace(\"{instanced}\",str(DiscordRPC.instanced)).replace(\"{ssecret}\",DiscordRPC.spectate_secret).replace(\"{jsecret}\",DiscordRPC.join_secret).replace(\"{msecret}\",DiscordRPC.match_secret).replace(\"{mpartysize}\",str(DiscordRPC.max_party_size)).replace(\"{cpartysize}\",str(DiscordRPC.current_party_size)).replace(\"{partyid}\",DiscordRPC.party_id).replace(\"{id}\",str(DiscordRPC.app_id)).replace(\"{details}\",DiscordRPC.details).replace(\"{state}\",DiscordRPC.state).replace(\"{lkey}\",DiscordRPC.large_image).replace(\"{ltext}\",DiscordRPC.large_image_text).replace(\"{skey}\",DiscordRPC.small_image).replace(\"{stext}\",DiscordRPC.small_image_text).replace(\"{stimestamp}\",str(DiscordRPC.start_timestamp)).replace(\"{etimestamp}\",str(DiscordRPC.end_timestamp))
|
||||
|
||||
var user_request: Dictionary = {};
|
||||
|
||||
@@ -260,7 +260,7 @@ texture = ExtResource("3_goflf")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Panel/TextureRect"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_a7ofc")
|
||||
&"": SubResource("AnimationLibrary_a7ofc")
|
||||
}
|
||||
|
||||
[connection signal="pressed" from="Panel/PrintCurrentUserOnConsole" to="." method="_on_print_current_user_on_console_pressed"]
|
||||
|
@@ -4,7 +4,7 @@ func _ready() -> void:
|
||||
if GDExtensionManager.is_extension_loaded("res://addons/discord-rpc-gd/bin/discord-rpc-gd.gdextension"):
|
||||
set_activity()
|
||||
DiscordRPC.connect("activity_join_request",_on_activity_join_request)
|
||||
DiscordRPC.connect("activity_join",_on_activity_join)
|
||||
#DiscordRPC.connect("activity_join",_on_activity_join)
|
||||
DiscordRPC.connect("activity_spectate",_on_activity_spectate)
|
||||
DiscordRPC.connect("relationships_init",_on_relationship_init)
|
||||
DiscordRPC.connect("updated_relationship", _on_updated_relationship)
|
||||
@@ -12,27 +12,27 @@ func _ready() -> void:
|
||||
func set_activity() -> void:
|
||||
DiscordRPC.clear(false)
|
||||
DiscordRPC.app_id = 1099618430065324082
|
||||
DiscordRPC.details = "A demo activity by vaporvee#1231"
|
||||
DiscordRPC.state = "Checkpoint 23/23"
|
||||
|
||||
DiscordRPC.large_image = "example_game"
|
||||
DiscordRPC.large_image_text = "Try it now!"
|
||||
DiscordRPC.small_image = "boss"
|
||||
DiscordRPC.small_image_text = "Fighting the end boss! D:"
|
||||
DiscordRPC.end_timestamp = int(Time.get_unix_time_from_system()) + 3600 # +1 hour in unix time
|
||||
#DiscordRPC.details = "A demo activity by vaporvee#1231"
|
||||
#DiscordRPC.state = "Checkpoint 23/23"
|
||||
#
|
||||
#DiscordRPC.large_image = "example_game"
|
||||
#DiscordRPC.large_image_text = "Try it now!"
|
||||
#DiscordRPC.small_image = "boss"
|
||||
#DiscordRPC.small_image_text = "Fighting the end boss! D:"
|
||||
#DiscordRPC.end_timestamp = int(Time.get_unix_time_from_system()) + 3600 # +1 hour in unix time
|
||||
|
||||
# It is NOT recommended to manage secrets locally! It's meant to be a payload wich the server understands and
|
||||
# returns the other variables like current_party_size, party_id etc. Most of the values must differ from the others.
|
||||
var my_secret: String = str(randi_range(0,999999))
|
||||
|
||||
DiscordRPC.party_id = "mylobbycanbeeverything_" + my_secret
|
||||
DiscordRPC.current_party_size = 1
|
||||
DiscordRPC.max_party_size = 4
|
||||
DiscordRPC.match_secret = "m_" + my_secret #better use seeds with 1 to 1 range instead of just chars
|
||||
DiscordRPC.join_secret = "j_" + my_secret
|
||||
DiscordRPC.spectate_secret = "s_" + my_secret
|
||||
DiscordRPC.is_public_party = true
|
||||
DiscordRPC.instanced = true #required for spectate
|
||||
#DiscordRPC.party_id = "mylobbycanbeeverything_" + my_secret
|
||||
#DiscordRPC.current_party_size = 1
|
||||
#DiscordRPC.max_party_size = 4
|
||||
#DiscordRPC.match_secret = "m_" + my_secret #better use seeds with 1 to 1 range instead of just chars
|
||||
#DiscordRPC.join_secret = "j_" + my_secret
|
||||
#DiscordRPC.spectate_secret = "s_" + my_secret
|
||||
#DiscordRPC.is_public_party = true
|
||||
#DiscordRPC.instanced = true #required for spectate
|
||||
#DiscordRPC.start_timestamp = int(Time.get_unix_time_from_system())
|
||||
DiscordRPC.register_command("C:\\Users\\yanni\\Desktop\\demo\\DiscordRPC.exe")
|
||||
#DiscordRPC.register_steam(1389990)
|
||||
@@ -44,14 +44,14 @@ func _on_activity_join_request(user_requesting: Dictionary) -> void:
|
||||
print(user_requesting)
|
||||
user_request = user_requesting
|
||||
|
||||
func _on_activity_join(secret: String) -> void:
|
||||
if(DiscordRPC.join_secret != secret):
|
||||
DiscordRPC.current_party_size = clamp(int(secret) + 1, 0, DiscordRPC.max_party_size)
|
||||
DiscordRPC.party_id = secret.replace("j_","mylobbycanbeeverything_")
|
||||
DiscordRPC.match_secret = secret.replace("j_","m_")
|
||||
DiscordRPC.join_secret = secret
|
||||
DiscordRPC.spectate_secret = secret.replace("j_","s_")
|
||||
DiscordRPC.refresh()
|
||||
#func _on_activity_join(secret: String) -> void:
|
||||
#if(DiscordRPC.join_secret != secret):
|
||||
#DiscordRPC.current_party_size = clamp(int(secret) + 1, 0, DiscordRPC.max_party_size)
|
||||
#DiscordRPC.party_id = secret.replace("j_","mylobbycanbeeverything_")
|
||||
#DiscordRPC.match_secret = secret.replace("j_","m_")
|
||||
#DiscordRPC.join_secret = secret
|
||||
#DiscordRPC.spectate_secret = secret.replace("j_","s_")
|
||||
#DiscordRPC.refresh()
|
||||
|
||||
func _on_activity_spectate(secret: String) -> void:
|
||||
print(secret)
|
||||
|
24
setup.py
24
setup.py
@@ -2,35 +2,49 @@ import zipfile
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import sys
|
||||
import glob
|
||||
|
||||
EXPECTED_VERSION = "1.0.7445"
|
||||
|
||||
# Extract the version from the zip filename
|
||||
zip_path = "src/lib/DiscordSocialSdk-1.0.7445.zip"
|
||||
zip_files = glob.glob("src/lib/DiscordSocialSdk-*.zip")
|
||||
if not zip_files:
|
||||
print("Error: No zip file matching 'DiscordSocialSdk-*.zip' found.")
|
||||
sys.exit(1)
|
||||
|
||||
zip_path = zip_files[0] # Use the first matching file
|
||||
match = re.search(r"DiscordSocialSdk-(\d+\.\d+\.\d+)\.zip", zip_path)
|
||||
if match:
|
||||
extracted_version = match.group(1)
|
||||
if extracted_version != EXPECTED_VERSION:
|
||||
print(f"Warning: Last tested version {EXPECTED_VERSION}, but found {extracted_version} in the zip file.")
|
||||
print(f"Extracting {zip_path}...")
|
||||
|
||||
# Extract the zip file ignoring the version in the filename
|
||||
with zipfile.ZipFile(zip_path, "r") as zip_ref:
|
||||
zip_ref.extractall("src/lib/")
|
||||
|
||||
# Copy the release DLL to the lib directory
|
||||
release_dll_src = "src/lib/discord_social_sdk/bin/release/discord_partner_sdk.dll"
|
||||
release_dll_dest = "src/lib/discord_social_sdk/lib/release/"
|
||||
os.makedirs(release_dll_dest, exist_ok=True)
|
||||
shutil.copy(release_dll_src, release_dll_dest)
|
||||
|
||||
# Copy the debug DLL to the lib/debug directory
|
||||
debug_dll_src = "src/lib/discord_social_sdk/bin/debug/discord_partner_sdk.dll"
|
||||
debug_dll_dest = "src/lib/discord_social_sdk/lib/debug/"
|
||||
os.makedirs(debug_dll_dest, exist_ok=True)
|
||||
shutil.copy(debug_dll_src, debug_dll_dest)
|
||||
|
||||
# Delete the bin folder
|
||||
include_folder_src = "src/lib/discord_social_sdk/include"
|
||||
include_folder_dest = "src"
|
||||
shutil.copytree(include_folder_src, include_folder_dest, dirs_exist_ok=True)
|
||||
|
||||
shutil.rmtree(include_folder_src, ignore_errors=True)
|
||||
|
||||
bin_folder = "src/lib/discord_social_sdk/bin"
|
||||
shutil.rmtree(bin_folder, ignore_errors=True)
|
||||
|
||||
print(f"Extracted and copied Discord Social SDK version: {extracted_version}")
|
||||
|
||||
print("Getting submodules...")
|
||||
os.system("git submodule update --init --remote")
|
||||
print("Finished setup!")
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#include "lib/discord_social_sdk/include/discordpp.h"
|
||||
#include "discordpp.h"
|
||||
#include "discordgodot.h"
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
#include <godot_cpp/variant/utility_functions.hpp>
|
||||
@@ -18,14 +18,10 @@
|
||||
}
|
||||
|
||||
DiscordRPC *DiscordRPC::singleton = nullptr;
|
||||
std::shared_ptr<discordpp::Client> client;
|
||||
discordpp::Activity activity;
|
||||
|
||||
void DiscordRPC::_bind_methods()
|
||||
{
|
||||
BIND_SET_GET(app_id, Variant::INT);
|
||||
BIND_SET_GET(state, Variant::STRING);
|
||||
BIND_SET_GET(details, Variant::STRING);
|
||||
BIND_SIGNAL(activity_join, PropertyInfo(Variant::STRING, "join_secret"));
|
||||
BIND_SIGNAL(activity_spectate, PropertyInfo(Variant::STRING, "spectate_secret"));
|
||||
BIND_SIGNAL(activity_join_request, PropertyInfo(Variant::DICTIONARY, "user_requesting"));
|
||||
@@ -51,8 +47,6 @@ void DiscordRPC::_bind_methods()
|
||||
BIND_METHOD(open_voice_settings);
|
||||
BIND_METHOD(get_is_discord_working);
|
||||
}
|
||||
SET_GET(state, activity.SetState(value.utf8().get_data()))
|
||||
SET_GET(details, activity.SetDetails(value.utf8().get_data()))
|
||||
|
||||
DiscordRPC::DiscordRPC()
|
||||
{
|
||||
@@ -63,8 +57,6 @@ DiscordRPC::DiscordRPC()
|
||||
DiscordRPC::~DiscordRPC()
|
||||
{
|
||||
app_id = 0;
|
||||
client->~Client();
|
||||
client = nullptr;
|
||||
ERR_FAIL_COND(singleton != this);
|
||||
singleton = nullptr;
|
||||
}
|
||||
@@ -146,8 +138,6 @@ void DiscordRPC::clear(bool reset_values = false)
|
||||
if (reset_values)
|
||||
{
|
||||
old_app_id = 0;
|
||||
set_state("");
|
||||
set_details("");
|
||||
set_is_overlay_locked(false);
|
||||
// core->ActivityManager().ClearActivity([](discordpp::Result result) {});
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#define DISCORDGODOT_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "lib/discord_social_sdk/include/discordpp.h"
|
||||
#include "discordpp.h"
|
||||
#include <godot_cpp/classes/object.hpp>
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
|
||||
@@ -37,8 +37,6 @@ public:
|
||||
void set_app_id(uint64_t value);
|
||||
uint64_t get_app_id();
|
||||
uint64_t app_id = 0; // needs to be directly set to 0 or it will crash randomly
|
||||
H_SET_GET(String, state)
|
||||
H_SET_GET(String, details)
|
||||
H_SET_GET(bool, is_overlay_locked)
|
||||
|
||||
void debug();
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#include "editor_presence.h"
|
||||
#include "lib/discord_social_sdk/include/discordpp.h"
|
||||
#include "discordpp.h"
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
#include <godot_cpp/variant/utility_functions.hpp>
|
||||
#include <godot_cpp/classes/scene_tree.hpp>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#define EDITOR_PRESENCE_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "lib/discord_social_sdk/include/discordpp.h"
|
||||
#include "discordpp.h"
|
||||
#include <godot_cpp/classes/node.hpp>
|
||||
#include <godot_cpp/core/class_db.hpp>
|
||||
#include <godot_cpp/classes/project_settings.hpp>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <godot_cpp/classes/engine.hpp>
|
||||
#include <godot_cpp/godot.hpp>
|
||||
|
||||
#include "lib/discord_social_sdk/include/discordpp.h"
|
||||
#include "discordpp.h"
|
||||
#include "discordgodot.h"
|
||||
#include "editor_presence.h"
|
||||
using namespace godot;
|
||||
|
Reference in New Issue
Block a user