Giter VIP home page Giter VIP logo

Comments (22)

diealp avatar diealp commented on May 28, 2024 2

Yes! updating also the .gdextension file now it's working

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024 1

Probably due to the addition of plugin support, this library now cannot start correctly when using a patch that removes unnecessary classes and speeds up the build process.
And perhaps now the difference between the targets of editor and template_debug is more significant and I will have to build a versions for the editor separately.

ERROR: Cannot find instance binding callbacks for class 'FontVariation'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'Timer'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'Panel'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'HBoxContainer'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'MenuBar'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'HBoxContainer'.
   at: (src\core\class_db.cpp:321)
ERROR: Cannot find instance binding callbacks for class 'HBoxContainer'.
   at: (src\core\class_db.cpp:321)
...

And specifically, these classes are now somehow trying to interact with my library:

CenterContainer
CheckBox
CheckButton
EditorFileDialog
FontVariation
GridContainer
HBoxContainer
HFlowContainer
HSeparator
HSlider
HSplitContainer
ItemList
LineEdit
MarginContainer
MenuBar
MenuButton
OptionButton
Panel
PopupPanel
ProgressBar
RichTextLabel
SpinBox
SubViewportContainer
TabBar
TabContainer
Timer
Tree
VSeparator
VSplitContainer

Now I have to wait 40 minutes to build godot from source and suffer half a day with debugging.

I hope it will be possible to preserve the functionality of this patch, because otherwise this godot-cpp takes a very long time to build, even when almost nothing is used from it -_-

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

Yes, because GDExtension 4.0 and 4.1 are not compatible. I will publish the update only after the release of Godot 4.1.

from godot_debug_draw_3d.

diealp avatar diealp commented on May 28, 2024

Ok, thanks!

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

https://godotengine.org/article/godot-4-1-is-here/

from godot_debug_draw_3d.

diealp avatar diealp commented on May 28, 2024

https://godotengine.org/article/godot-4-1-is-here/

Great timing! :)

from godot_debug_draw_3d.

diealp avatar diealp commented on May 28, 2024

I'll wait patiently ;)

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

I apparently found where these errors came from. Now all methods returning Object try to get all bindings for specific classes in advance. Therefore, my get_node's that are searching for a place of editor viewports cause a bunch of errors.
This happens even when I don't need anything more than a basic Node.

Perhaps this can be avoided, but most likely there may be more problems in other places.
So now the build time will increase 2-3 times for me, and the size of downloaded files will increase 2-3 times for users. 😥

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

37MB vs 101MB (86MB without editor libs as before)...
You can test library here (gdextension_libs asset):
https://github.com/DmitriySalnikov/godot_debug_draw_3d/actions/runs/5478565765

from godot_debug_draw_3d.

diealp avatar diealp commented on May 28, 2024

37MB vs 101MB (86MB without editor libs as before)...
You can test library here (gdextension_libs asset):
https://github.com/DmitriySalnikov/godot_debug_draw_3d/actions/runs/5478565765

i tried to replace the files under the libs directory but i still get the same errors, maybe i did something wrong

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

maybe i did something wrong

No, this is my mistake, I forgot that I also updated the .gdextension file https://github.com/DmitriySalnikov/godot_debug_draw_3d/blob/47b686fcf8fe2597fbfd9095fd8f2afe4789d4d4/addons/debug_draw_3d/debug_draw_3d.gdextension

from godot_debug_draw_3d.

skooter500 avatar skooter500 commented on May 28, 2024

Hey

I cant get this to work on Windows Godot 4.1. It works on Godot 4.0

not enough arguments for format string
platform/windows/os_windows.cpp:394 - Method/function failed. Returning: ERR_CANT_OPEN
core/extension/gdextension.cpp:455 - GDExtension dynamic library not found: C:/Users/skooter500/Documents/courses/GE2-2023-GD4/GodotBoids/addons/debug_draw_3d/libs/libdd3d.windows.editor.x86_64.dll
Failed loading resource: res://addons/debug_draw_3d/debug_draw_3d.gdextension. Make sure resources have been imported by opening the project in the editor at least once.
res://Boid.gd:34 - Parse Error: Identifier "DebugDraw" not declared in the current scope.

Bryan

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

Have you downloaded new libraries and .gdextension?

I will update all the files in AssetLib later when I improve the patch to exclude unnecessary classes and turn the release libraries into dummies with a minimum size. I hope no one will need such debugging in the release versions of games, right?..

from godot_debug_draw_3d.

skooter500 avatar skooter500 commented on May 28, 2024

Hey. I tested with Godot 4.1 and the new libraries and its working now. Also I would appreciate the ability to have these in release. I am making art and educational projects.

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

Also I would appreciate the ability to have these in release.

What do you think about me leaving this option when manually compiling the library? Because I believe that most users will not need this feature in the release version.

Actually I can add separate versions of libraries

platform.template_release.DEBUG_DRAW_ENABLED.x86_64 = "libs/libdd3d.platform.template_release.DEBUG_DRAW_ENABLED.x86_64.**"

so that when specifying an additional tag DEBUG_DRAW_ENABLED during export, a library is used where DebugDraw is active.
But this will further increase the size of binaries that need to be downloaded for your project during development. For large projects, this is not a problem, but for small ones it is too much.

Although the best option would be if Conditional Compilation was finally added to GDScript, so that those who do not need DebugDraw in the release version could simply remove all mentions of it when compiling scripts/exporting game.

from godot_debug_draw_3d.

wrightwriter avatar wrightwriter commented on May 28, 2024

thanks so much for the work! works in 4.1 here without issues after update

from godot_debug_draw_3d.

StaleLoafOfBread avatar StaleLoafOfBread commented on May 28, 2024

The version in the main branch right now 9a05247 gives me error error loading extension: res://addons/debug_draw_3d/debug_draw_3d.gdextension with v4.1.stable.official [970459615]. Based on above comments it looks like it should be working. Am I misunderstanding?

Edit: I downloaded the libs from GHActions and that fixed it https://github.com/DmitriySalnikov/godot_debug_draw_3d/actions/runs/5560340708

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

I'm sorry that I haven't updated the binaries yet, I just don't know what to do with the large download size.

from godot_debug_draw_3d.

diealp avatar diealp commented on May 28, 2024

For me the separate versions is the solution

from godot_debug_draw_3d.

StaleLoafOfBread avatar StaleLoafOfBread commented on May 28, 2024

I'm sorry that I haven't updated the binaries yet, I just don't know what to do with the large download size.

Its all good. I was just confused since I saw other people say that 4.1 worked for them. GDExtension development is not something I am familiar with so I didn't realize the libraries wouldn't be in the repo itself. especially when some similar looking files were there.

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

For me the separate versions is the solution

I updated the binaries and added a new section to the readme: https://github.com/DmitriySalnikov/godot_debug_draw_3d#exporting-a-project

from godot_debug_draw_3d.

DmitriySalnikov avatar DmitriySalnikov commented on May 28, 2024

The library has been updated on AssetLib

from godot_debug_draw_3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.