Commit Graph

337 Commits

Author SHA1 Message Date
08f13a030d Android Editor: Disable nomedia file creation for Android 11 (api level 30)
Fixes https://github.com/godotengine/godot/issues/106479
Fixes https://github.com/godotengine/godot/issues/105399
2025-05-26 05:49:25 +05:30
b8e44a0000 Improve ConfigFile get_sections and get_section_keys by returning Vector<String> 2025-04-24 20:10:31 -04:00
ff1f040893 Add create_id_for_path() to ResourceUID 2025-04-11 00:53:34 +02:00
c67b9a43e3 Merge pull request #100086 from erodozer/multipart-ext-import
Support multi dot extensions in import plugins
2025-04-10 10:18:18 -05:00
889410dcda Add String::replace_char(s) methods for performance and convenience 2025-04-10 13:08:45 +02:00
8e5e915013 Android Editor: Auto create nomedia file to hide project files in media apps 2025-04-03 18:23:38 +05:30
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
8f6bb119f4 Merge pull request #100602 from KoBeWi/over_100_changes_in_50_random_files_aka_the_best_kind_of_PR
Add templated version of `ObjectDB::get_instance()`
2025-03-31 12:03:47 -05:00
2377309c09 Merge pull request #104669 from KoBeWi/files_are_not_paths
Fix `_delete_internal_files()` receiving wrong path
2025-03-28 14:33:49 +01:00
22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
bc9d0c7835 Add templated version of ObjectDB::get_instance() 2025-03-27 15:43:23 +01:00
8e15406117 Fix _delete_internal_files() receiving wrong path 2025-03-26 21:20:50 +01:00
9f67aeaae8 Merge pull request #104022 from precup/create_directory_fix
Defend against directories without trailing slashes
2025-03-19 12:27:07 +01:00
9de4efa451 Defend against directories without trailing slashes 2025-03-16 15:27:42 -07:00
38ecaec5f9 Create .uid files for detected new files 2025-03-16 19:23:06 +01:00
d912dcc26c Merge pull request #104013 from bruvzg/rload_nowait
[ResourceLoader] Do not wait for the main thread during initial reimport.
2025-03-14 00:08:53 +01:00
0cc7e2c27a Merge pull request #95821 from anvilfolk/cache-gd-docs
Scripting: Fix script docs not being searchable without manually recompiling scripts
2025-03-13 08:57:40 -05:00
72045c8306 Scripting: Add script documentation cache to project
This PR adds a script documentation cache in the project folder.
It is loaded at alongside native documentation caches. This makes
scripts fully accessible through Search Help, including their
members, etc, right from project start, without having to compile
every single script.

Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-03-12 13:44:41 -04:00
bebe037abf Add ConstIterator to Dictionary. 2025-03-13 01:28:46 +08:00
16865b6917 [ResourceLoader] Do not wait for the main thread during initial reimport. 2025-03-12 09:18:39 +02:00
466590d0ec Use get_slicec instead of get_slice for single character splitters 2025-03-08 20:36:37 +01:00
5113022dfe Clean up some uses of String::substr
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
e48fea73e6 Support multi part extensions in import plugins 2025-02-18 13:19:05 -05:00
2ba64a57c5 Fix Global Class names cache not saved with upgrade to 4.4.
Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-02-12 18:33:38 +01:00
7f0d81c433 Improve path handling in EditorQuickOpenDialog 2025-02-10 22:16:24 +01:00
9457666bba Fix accessing UID before first scan 2025-02-08 20:04:32 -05:00
65509ae4ff Improve UID file creation condition 2025-02-06 17:08:00 +01:00
318af42020 Include more attributes in the global class names cache 2025-01-29 09:39:50 +01:00
aca5cfc913 Rationalize parsing of file system cache 2025-01-21 12:59:19 +01:00
97003022c4 Merge pull request #101683 from KoBeWi/duplicate_preventer
Don't duplicate .uid files
2025-01-20 16:25:44 -06:00
8aa3ee6a35 Create .uid files in EditorFileSystem 2025-01-18 21:01:39 +01:00
d8db3085a3 Don't duplicate .uid files 2025-01-17 14:22:18 +01:00
33e16435f5 Replace some problematic uses of String::num to String::num_int64 2025-01-15 12:51:51 -05:00
de1499c3c2 Merge pull request #100927 from KoBeWi/yeah,_uids
Assign new UID when duplicating file externally
2025-01-07 23:17:44 +01:00
ba8a155551 Merge pull request #98909 from demolke/master
GLTF: Don't duplicate textures when importing blend files
2025-01-06 22:46:44 +01:00
88a101ef8c Merge pull request #100787 from KoBeWi/uid_be_like_'I'm_back'
Re-create missing .uid files
2025-01-03 02:01:28 +01:00
8e9c4e04be Assign new UID when duplicating file externally 2024-12-30 13:11:10 +01:00
e0ca8be392 Re-create missing .uid files 2024-12-24 20:45:41 +01:00
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
8a743f23e6 Merge pull request #98385 from RandomShaper/thread_yield
Rationalize busy waits
2024-12-20 23:56:39 +01:00
143d8c87bb Move reimport check to EditorImportPlugin
reimport_append is used by gltf_document, fbx_document and editor_import_plugin. The first two will never call it when importing == false. It's only the editor_import_plugin that should guard against that.
https://docs.godotengine.org/en/stable/classes/class_editorimportplugin.html#class-editorimportplugin-method-append-import-external-resource

The motivation of removing the check from gltf_document call path is to be able to test nested imports (texture embedded in gltf).
2024-12-18 21:24:18 +01:00
4f8dd96b3d Rationalize busy waits 2024-12-13 10:14:26 +01:00
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
35bb827d10 Destroy EditorFilesystem/EditorSettings on test shutdown
Otherwise asan complains if a test tries to use these.

Split off from https://github.com/godotengine/godot/pull/98909
2024-12-02 19:34:39 +01:00
0875523f6b Remove corresponding .uid file when removing file 2024-11-12 21:38:46 +01:00
2ed6d12652 Merge pull request #97363 from reduz/deterministic-gen-suberesources-id
Allow passing UID to importer
2024-11-11 14:18:30 -06:00
d57846087b Universalize UID support in all resource types
Ensures all resource types support UIDs in a project.

This is required to fix:
* Scripts and many other resource types can't be referenced by UID and when refactored the references are lost.
* Path export properties can't use UID for unsupported types.
* Refactoring problems when files are moved outside the editor (this PR effectively fixes it).
* Editor properly refreshing paths if they changed externally while opened (as example, git update).
  This needs to be addressed in a subsequent PR, but this one effectively sets the prerequisites.

Resource types that do not support UID will get a .uid file appended to them (this includes .gd, .gdshader, .gdextension, etc. files).
2024-11-11 15:59:56 +01:00
fe34c45d2a Allow passing UID to importer
This helps, for importers spitting out new resources to the res://
filesystem to actually hash them to generate deterministic UIDs.

This PR also fixes the determinism for translations.
2024-11-11 15:22:42 +01:00
0b7354dfa9 GLTF: Don't give up loading image if import fails 2024-11-04 19:28:18 -08:00
01d1f10845 Emit filesystem_changed only once per frame 2024-10-28 09:09:52 +02:00