mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Merge pull request #103099 from YeldhamDev/build_res_loader_disable
Disable `ResourceFormatLoader/Saver`s of disabled classes
This commit is contained in:
commit
8f331ebd9c
8 changed files with 148 additions and 80 deletions
|
|
@ -340,14 +340,20 @@ void register_scene_types() {
|
|||
|
||||
Node::init_node_hrcr();
|
||||
|
||||
resource_loader_stream_texture.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_stream_texture);
|
||||
if (GD_IS_CLASS_ENABLED(CompressedTexture2D)) {
|
||||
resource_loader_stream_texture.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_stream_texture);
|
||||
}
|
||||
|
||||
resource_loader_texture_layered.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_texture_layered);
|
||||
if (GD_IS_CLASS_ENABLED(TextureLayered)) {
|
||||
resource_loader_texture_layered.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_texture_layered);
|
||||
}
|
||||
|
||||
resource_loader_texture_3d.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_texture_3d);
|
||||
if (GD_IS_CLASS_ENABLED(Texture3D)) {
|
||||
resource_loader_texture_3d.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_texture_3d);
|
||||
}
|
||||
|
||||
resource_saver_text.instantiate();
|
||||
ResourceSaver::add_resource_format_saver(resource_saver_text, true);
|
||||
|
|
@ -355,17 +361,21 @@ void register_scene_types() {
|
|||
resource_loader_text.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_text, true);
|
||||
|
||||
resource_saver_shader.instantiate();
|
||||
ResourceSaver::add_resource_format_saver(resource_saver_shader, true);
|
||||
if (GD_IS_CLASS_ENABLED(Shader)) {
|
||||
resource_saver_shader.instantiate();
|
||||
ResourceSaver::add_resource_format_saver(resource_saver_shader, true);
|
||||
|
||||
resource_loader_shader.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_shader, true);
|
||||
resource_loader_shader.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_shader, true);
|
||||
}
|
||||
|
||||
resource_saver_shader_include.instantiate();
|
||||
ResourceSaver::add_resource_format_saver(resource_saver_shader_include, true);
|
||||
if (GD_IS_CLASS_ENABLED(ShaderInclude)) {
|
||||
resource_saver_shader_include.instantiate();
|
||||
ResourceSaver::add_resource_format_saver(resource_saver_shader_include, true);
|
||||
|
||||
resource_loader_shader_include.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_shader_include, true);
|
||||
resource_loader_shader_include.instantiate();
|
||||
ResourceLoader::add_resource_format_loader(resource_loader_shader_include, true);
|
||||
}
|
||||
|
||||
OS::get_singleton()->yield(); // may take time to init
|
||||
|
||||
|
|
@ -1284,14 +1294,20 @@ void unregister_scene_types() {
|
|||
|
||||
SceneDebugger::deinitialize();
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_texture_layered);
|
||||
resource_loader_texture_layered.unref();
|
||||
if (GD_IS_CLASS_ENABLED(TextureLayered)) {
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_texture_layered);
|
||||
resource_loader_texture_layered.unref();
|
||||
}
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_texture_3d);
|
||||
resource_loader_texture_3d.unref();
|
||||
if (GD_IS_CLASS_ENABLED(Texture3D)) {
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_texture_3d);
|
||||
resource_loader_texture_3d.unref();
|
||||
}
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_stream_texture);
|
||||
resource_loader_stream_texture.unref();
|
||||
if (GD_IS_CLASS_ENABLED(CompressedTexture2D)) {
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_stream_texture);
|
||||
resource_loader_stream_texture.unref();
|
||||
}
|
||||
|
||||
ResourceSaver::remove_resource_format_saver(resource_saver_text);
|
||||
resource_saver_text.unref();
|
||||
|
|
@ -1299,17 +1315,21 @@ void unregister_scene_types() {
|
|||
ResourceLoader::remove_resource_format_loader(resource_loader_text);
|
||||
resource_loader_text.unref();
|
||||
|
||||
ResourceSaver::remove_resource_format_saver(resource_saver_shader);
|
||||
resource_saver_shader.unref();
|
||||
if (GD_IS_CLASS_ENABLED(Shader)) {
|
||||
ResourceSaver::remove_resource_format_saver(resource_saver_shader);
|
||||
resource_saver_shader.unref();
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_shader);
|
||||
resource_loader_shader.unref();
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_shader);
|
||||
resource_loader_shader.unref();
|
||||
}
|
||||
|
||||
ResourceSaver::remove_resource_format_saver(resource_saver_shader_include);
|
||||
resource_saver_shader_include.unref();
|
||||
if (GD_IS_CLASS_ENABLED(ShaderInclude)) {
|
||||
ResourceSaver::remove_resource_format_saver(resource_saver_shader_include);
|
||||
resource_saver_shader_include.unref();
|
||||
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_shader_include);
|
||||
resource_loader_shader_include.unref();
|
||||
ResourceLoader::remove_resource_format_loader(resource_loader_shader_include);
|
||||
resource_loader_shader_include.unref();
|
||||
}
|
||||
|
||||
// StandardMaterial3D is not initialized when 3D is disabled, so it shouldn't be cleaned up either
|
||||
#ifndef _3D_DISABLED
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue