godot icon indicating copy to clipboard operation
godot copied to clipboard

GDExtension: Mark virtual function as `is_required` in `extension_api.json`

Open dsnopek opened this issue 1 year ago • 5 comments

This is a draft exploring how to implement https://github.com/godotengine/godot-proposals/discussions/9982

TODO to finish:

  • ~~Find all the required virtual methods and swap in the GDVIRTUAL*_REQUIRED() macro~~
  • ~~Replace all GDVIRTUAL_REQUIRED_CALL() with GDVIRTUAL_CALL()~~

dsnopek avatar Jun 18 '24 15:06 dsnopek

@dsnopek I migrated all the remaining instances of GDVIRTUAL_REQUIRED_CALL in e07dbec346bcdb86dd22a0562c23772110e7b34f and removed the macro in 0590f31c893d3c26c58ad0a155b45b0cee76e0a1. You are welcome to add these commits to your PR.

EDIT: they are on this branch: https://github.com/TitanNano/godot/commits/gdextension-required-virtuals/

TitanNano avatar Jul 04 '24 21:07 TitanNano

@TitanNano Thanks! I added your changes.

After I've gone through and double-checked all the changes I'll take this out of draft.

dsnopek avatar Jul 06 '24 16:07 dsnopek

@dsnopek do you think this can make it into 4.4?

TitanNano avatar Sep 10 '24 19:09 TitanNano

This would be great to get into 4.4, especially if we can get PR https://github.com/godotengine/godot/pull/86079 too. I'll try to find some time soon to dig back into both PRs.

dsnopek avatar Sep 11 '24 20:09 dsnopek

I just rebased, updated for new required virtual methods that have been added, and finally went back through everything and double-checked that everything that should be required is marked as required.

So, I'm taking this one of draft status now!

dsnopek avatar Sep 11 '24 22:09 dsnopek

Thanks!

akien-mga avatar Sep 27 '24 11:09 akien-mga