Merge pull request #111318 from Ivorforce/registration-order-1

Improve type registration order in `register_core_types.cpp`.
This commit is contained in:
Thaddeus Crews 2025-10-07 11:54:41 -05:00
commit 9c63619f20
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
2 changed files with 11 additions and 15 deletions

View file

@ -130,16 +130,23 @@ void register_core_types() {
static_assert(sizeof(Callable) <= 16);
ObjectDB::setup();
StringName::setup();
register_global_constants();
CoreStringNames::create();
GDREGISTER_CLASS(Object);
GDREGISTER_CLASS(RefCounted);
GDREGISTER_CLASS(WeakRef);
GDREGISTER_CLASS(Resource);
GDREGISTER_CLASS(Time);
_time = memnew(Time);
ResourceLoader::initialize();
register_global_constants();
Variant::register_types();
CoreStringNames::create();
GDREGISTER_CLASS(ResourceFormatLoader);
GDREGISTER_CLASS(ResourceFormatSaver);
if constexpr (GD_IS_CLASS_ENABLED(Translation)) {
resource_format_po.instantiate();
@ -162,17 +169,12 @@ void register_core_types() {
ResourceLoader::add_resource_format_loader(resource_format_image);
}
GDREGISTER_CLASS(Object);
GDREGISTER_ABSTRACT_CLASS(Script);
GDREGISTER_ABSTRACT_CLASS(ScriptLanguage);
GDREGISTER_CLASS(ScriptBacktrace);
GDREGISTER_VIRTUAL_CLASS(ScriptExtension);
GDREGISTER_VIRTUAL_CLASS(ScriptLanguageExtension);
GDREGISTER_CLASS(RefCounted);
GDREGISTER_CLASS(WeakRef);
GDREGISTER_CLASS(Resource);
GDREGISTER_VIRTUAL_CLASS(MissingResource);
GDREGISTER_CLASS(Image);
@ -256,9 +258,6 @@ void register_core_types() {
GDREGISTER_CLASS(UndoRedo);
GDREGISTER_CLASS(TriangleMesh);
GDREGISTER_CLASS(ResourceFormatLoader);
GDREGISTER_CLASS(ResourceFormatSaver);
GDREGISTER_ABSTRACT_CLASS(FileAccess);
GDREGISTER_ABSTRACT_CLASS(DirAccess);
GDREGISTER_CLASS(CoreBind::Thread);
@ -347,7 +346,6 @@ void register_early_core_singletons() {
GDREGISTER_CLASS(CoreBind::OS);
Engine::get_singleton()->add_singleton(Engine::Singleton("OS", CoreBind::OS::get_singleton()));
GDREGISTER_CLASS(Time);
Engine::get_singleton()->add_singleton(Engine::Singleton("Time", Time::get_singleton()));
}

View file

@ -410,8 +410,6 @@ void register_scene_types() {
OS::get_singleton()->yield(); // may take time to init
GDREGISTER_CLASS(Object);
GDREGISTER_CLASS(Node);
GDREGISTER_VIRTUAL_CLASS(MissingNode);
GDREGISTER_ABSTRACT_CLASS(InstancePlaceholder);