Drachenfrucht1 / godotcord

A Discord Game SDK integration for Godot
https://drachenfrucht1.github.io/godotcord
MIT License
53 stars 5 forks source link

Game crashes if discord isn't running even using CreateFlags_NO_REQUIRE_DISCORD #57

Closed hugorplobo closed 3 years ago

hugorplobo commented 3 years ago

If I don't have discord running when I launch the game, I got this:

ERROR: Godotcord::init: Condition "result != discord::Result::Ok" is true. Returned: ERR_CANT_CONNECT
   At: modules\godotcord\godotcord.cpp:45
CrashHandlerException: Program crashed
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[0] <couldn't map PC to fn name>
[1] <couldn't map PC to fn name>
[2] <couldn't map PC to fn name>
[3] <couldn't map PC to fn name>
[4] <couldn't map PC to fn name>
[5] <couldn't map PC to fn name>
[6] <couldn't map PC to fn name>
[7] <couldn't map PC to fn name>
[8] <couldn't map PC to fn name>
[9] <couldn't map PC to fn name>
[10] <couldn't map PC to fn name>
[11] <couldn't map PC to fn name>
[12] <couldn't map PC to fn name>
[13] <couldn't map PC to fn name>
[14] <couldn't map PC to fn name>
[15] <couldn't map PC to fn name>
[16] <couldn't map PC to fn name>
[17] <couldn't map PC to fn name>
[18] <couldn't map PC to fn name>
[19] <couldn't map PC to fn name>
[20] <couldn't map PC to fn name>
[21] <couldn't map PC to fn name>
[22] BaseThreadInitThunk
-- END OF BACKTRACE --

My code is very simple:

func _ready():
    var _transition = tween.interpolate_property(
        transition, "cutoff", 0.0, 1.0, 2.0, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT
    )
    var _start = tween.start()

    Godotcord.init(CLIENT_ID, Godotcord.CreateFlags_NO_REQUIRE_DISCORD)
    var acv = GodotcordActivity.new()
    acv.state = "In title screen"
    acv.large_image = "512"
    acv.large_text = "Left Out"
    GodotcordActivityManager.set_activity(acv)

func _process(delta):
    Godotcord.run_callbacks()
hugorplobo commented 3 years ago

Resolved. The method Godotcord.init returns a Error Enum, just check it before other process.