Merge pull request #112607 from KoBeWi/what_could_have_gone_wrong🤷‍♂️

Add MeshInstance3D upgrade code
This commit is contained in:
Thaddeus Crews
2025-11-18 14:00:50 -06:00
5 changed files with 31 additions and 0 deletions

View File

@ -30,12 +30,14 @@
#include "project_upgrade_tool.h"
#include "core/config/project_settings.h"
#include "core/io/dir_access.h"
#include "editor/editor_node.h"
#include "editor/file_system/editor_file_system.h"
#include "editor/scene/editor_scene_tabs.h"
#include "editor/settings/editor_settings.h"
#include "editor/themes/editor_scale.h"
#include "scene/3d/mesh_instance_3d.h"
#include "scene/gui/dialogs.h"
void ProjectUpgradeTool::_add_files(EditorFileSystemDirectory *p_dir, Vector<String> &r_reimport_paths, Vector<String> &r_resave_scenes, Vector<String> &r_resave_resources) {
@ -77,6 +79,9 @@ void ProjectUpgradeTool::popup_dialog() {
void ProjectUpgradeTool::prepare_upgrade() {
EditorSettings::get_singleton()->set_project_metadata(META_PROJECT_UPGRADE_TOOL, META_RUN_ON_RESTART, true);
ProjectSettings::get_singleton()->set_setting("animation/compatibility/default_parent_skeleton_in_mesh_instance_3d", false);
ProjectSettings::get_singleton()->save();
Vector<String> reimport_paths;
Vector<String> resave_scenes;
Vector<String> resave_resources;
@ -102,6 +107,7 @@ void ProjectUpgradeTool::finish_upgrade() {
EditorFileSystem::get_singleton()->reimport_files(paths);
EditorSettings::get_singleton()->set_project_metadata(META_PROJECT_UPGRADE_TOOL, META_REIMPORT_PATHS, Variant());
MeshInstance3D::upgrading_skeleton_compat = true;
{
paths = EditorSettings::get_singleton()->get_project_metadata(META_PROJECT_UPGRADE_TOOL, META_RESAVE_SCENES, Vector<String>());
EditorProgress ep("uid_upgrade_resave", TTR("Updating Project Scenes"), paths.size());
@ -115,6 +121,7 @@ void ProjectUpgradeTool::finish_upgrade() {
}
EditorSettings::get_singleton()->set_project_metadata(META_PROJECT_UPGRADE_TOOL, META_RESAVE_SCENES, Variant());
}
MeshInstance3D::upgrading_skeleton_compat = false;
{
paths = EditorSettings::get_singleton()->get_project_metadata(META_PROJECT_UPGRADE_TOOL, META_RESAVE_RESOURCES, Vector<String>());