Skip to content

Commit 8208060

Browse files
committed
Merge pull request #74040 from akien-mga/safer-renames
Cleanup 3-to-4 renames, prevent common words replacements, handle project.godot settings
2 parents 3379d73 + 7cf1ec1 commit 8208060

File tree

3 files changed

+159
-165
lines changed

3 files changed

+159
-165
lines changed

editor/project_converter_3_to_4.cpp

+12-3
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ class ProjectConverter3To4::RegExContainer {
153153
LocalVector<RegEx *> enum_regexes;
154154
LocalVector<RegEx *> gdscript_function_regexes;
155155
LocalVector<RegEx *> project_settings_regexes;
156+
LocalVector<RegEx *> project_godot_regexes;
156157
LocalVector<RegEx *> input_map_regexes;
157158
LocalVector<RegEx *> gdscript_properties_regexes;
158159
LocalVector<RegEx *> gdscript_signals_regexes;
@@ -173,10 +174,14 @@ class ProjectConverter3To4::RegExContainer {
173174
for (unsigned int current_index = 0; RenamesMap3To4::gdscript_function_renames[current_index][0]; current_index++) {
174175
gdscript_function_regexes.push_back(memnew(RegEx(String("\\b") + RenamesMap3To4::gdscript_function_renames[current_index][0] + "\\b")));
175176
}
176-
// Project Settings.
177+
// Project Settings in scripts.
177178
for (unsigned int current_index = 0; RenamesMap3To4::project_settings_renames[current_index][0]; current_index++) {
178179
project_settings_regexes.push_back(memnew(RegEx(String("\\b") + RenamesMap3To4::project_settings_renames[current_index][0] + "\\b")));
179180
}
181+
// Project Settings in project.godot.
182+
for (unsigned int current_index = 0; RenamesMap3To4::project_godot_renames[current_index][0]; current_index++) {
183+
project_godot_regexes.push_back(memnew(RegEx(String("\\b") + RenamesMap3To4::project_godot_renames[current_index][0] + "\\b")));
184+
}
180185
// Input Map.
181186
for (unsigned int current_index = 0; RenamesMap3To4::input_map_renames[current_index][0]; current_index++) {
182187
input_map_regexes.push_back(memnew(RegEx(String("\\b") + RenamesMap3To4::input_map_renames[current_index][0] + "\\b")));
@@ -253,6 +258,9 @@ class ProjectConverter3To4::RegExContainer {
253258
for (RegEx *regex : project_settings_regexes) {
254259
memdelete(regex);
255260
}
261+
for (RegEx *regex : project_godot_regexes) {
262+
memdelete(regex);
263+
}
256264
for (RegEx *regex : input_map_regexes) {
257265
memdelete(regex);
258266
}
@@ -405,7 +413,7 @@ bool ProjectConverter3To4::convert() {
405413

406414
custom_rename(lines, "\\.shader", ".gdshader");
407415
} else if (file_name.ends_with("project.godot")) {
408-
rename_common(RenamesMap3To4::project_settings_renames, reg_container.project_settings_regexes, lines);
416+
rename_common(RenamesMap3To4::project_godot_renames, reg_container.project_godot_regexes, lines);
409417
rename_common(RenamesMap3To4::builtin_types_renames, reg_container.builtin_types_regexes, lines);
410418
rename_common(RenamesMap3To4::input_map_renames, reg_container.input_map_regexes, lines);
411419
} else if (file_name.ends_with(".csproj")) {
@@ -577,7 +585,7 @@ bool ProjectConverter3To4::validate_conversion() {
577585

578586
changed_elements.append_array(check_for_custom_rename(lines, "\\.shader", ".gdshader"));
579587
} else if (file_name.ends_with("project.godot")) {
580-
changed_elements.append_array(check_for_rename_common(RenamesMap3To4::project_settings_renames, reg_container.project_settings_regexes, lines));
588+
changed_elements.append_array(check_for_rename_common(RenamesMap3To4::project_godot_renames, reg_container.project_godot_regexes, lines));
581589
changed_elements.append_array(check_for_rename_common(RenamesMap3To4::builtin_types_renames, reg_container.builtin_types_regexes, lines));
582590
changed_elements.append_array(check_for_rename_common(RenamesMap3To4::input_map_renames, reg_container.input_map_regexes, lines));
583591
} else if (file_name.ends_with(".csproj")) {
@@ -1106,6 +1114,7 @@ bool ProjectConverter3To4::test_array_names() {
11061114
valid = valid && test_single_array(RenamesMap3To4::shaders_renames, true);
11071115
valid = valid && test_single_array(RenamesMap3To4::gdscript_signals_renames);
11081116
valid = valid && test_single_array(RenamesMap3To4::project_settings_renames);
1117+
valid = valid && test_single_array(RenamesMap3To4::project_godot_renames);
11091118
valid = valid && test_single_array(RenamesMap3To4::input_map_renames);
11101119
valid = valid && test_single_array(RenamesMap3To4::builtin_types_renames);
11111120
valid = valid && test_single_array(RenamesMap3To4::color_renames);

0 commit comments

Comments
 (0)