Commit graph

941 commits

Author SHA1 Message Date
Yuri Sizov
215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
bruvzg
9a1e0e4aef
[Bitmap fonts] Add support for scaling. 2023-10-13 12:57:45 +03:00
Clay
acb65377cd Cleanup instances of using uint32_t for mesh formats
And tidy up some leftovers from the attribute compression PR
2023-10-12 22:01:41 +02:00
Rémi Verschelde
fb6dc8c630
Merge pull request #83076 from SaracenOne/make_rest_fixer_tracks_imported
Set new SkeletonRestFixer tracks as imported
2023-10-10 09:12:42 +02:00
Saracen
96c3d0e73e Set new RestFixer tracks as imported 2023-10-09 23:43:37 +01:00
jsjtxietian
3a85e4bbd5 Move animation slice processing to _post_fix_animations 2023-10-09 18:58:55 +08:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
clayjohn
51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Shnazzy
17364e20b5 Fixed the Advanced Import Settings window's camera rotation order in the 3D viewport when moving the mouse. 2023-09-29 23:02:22 -04:00
Silc Lizard (Tokage) Renew
1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Hugo Locurcio
fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Rémi Verschelde
fcbc50ec14
Merge pull request #82302 from MewPurPur/alt-font-icon
Add Font and Mesh icons that aren't grayed out
2023-09-25 18:38:29 +02:00
MewPurPur
fb030beac5 Add white Font and Mesh icons 2023-09-25 17:29:14 +03:00
Rémi Verschelde
9e011c3950
Merge pull request #82190 from BlueCube3310/aabb-import-shadows-disable
Disable bounding box shadows for advanced scene importer
2023-09-24 23:35:22 +02:00
Rémi Verschelde
98747a9040
Merge pull request #78803 from EMBYRDEV/additional-mesh-import-options
Add layer, shadow and visibility range options to the Scene importer
2023-09-24 23:30:30 +02:00
BlueCube3310
1121c7bbaf Disable bounding box shadows for advanced scene importer 2023-09-23 15:18:57 +02:00
Rémi Verschelde
cdef53df1e
Merge pull request #81705 from AThousandShips/null_check_editor
[Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-16 21:24:53 +02:00
kobewi
cd0aaab48c Cleanup some GLOBAL_DEFs 2023-09-15 21:32:23 +02:00
A Thousand Ships
75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Yuri Sizov
237515d0ed Register and cleanup resource importer singletons in a predictable way 2023-08-07 17:49:33 +02:00
Rémi Verschelde
f5b2d7d393
Merge pull request #79774 from aaronfranke/scene-import-root-type-name
Improve overriding the root type or root name in the scene importer
2023-08-02 12:19:34 +02:00
Aaron Franke
ba3fb66d71
Merge pull request #79907 from kdiduk/fix-advanced-scene-reimport-default-settings
Fix reimporting scene with default values selected
2023-08-01 15:30:07 -05:00
Aaron Franke
aa187d8d69
Improve overriding the root type or root name in the scene importer 2023-08-01 13:30:57 -05:00
Yuri Sizov
2bd1d8ac28 Merge pull request #80107 from Spycemyster/reimport-path-message
Add path to missing import texture metadata to error message
2023-08-01 17:26:10 +02:00
Yuri Sizov
266e195c0d Merge pull request #77533 from EMBYRDEV/phys-mat-import-option
Add more physics options to the Scene importer
2023-08-01 17:25:02 +02:00
Spencer Chang
57d9e3bb0e Added path to output of missing import texture metadata 2023-08-01 01:28:36 -07:00
Kirill Diduk
8b729e5b7e [bugfix] Fix reimporting scene withh default values selected
This commit fixes #78140

When the scene was re-imported with non-default values of some settings, re-importing it again using default values for those settings didn't have the effect.

The problem was that when handling the reimport, a wrong dictionary of the settings was used.
2023-07-28 16:53:33 +02:00
Pedro J. Estébanez
abd0dcac88 Fix life cycle of ResourceImporterTexture better 2023-07-28 11:52:09 +02:00
Pedro J. Estébanez
79c798fa0b Fix life cycle of ResourceImporterTexture not tracked properly 2023-07-27 13:54:30 +02:00
Haoyu Qiu
80728bdf1e Fix typo in ResourceImporterImageFont 2023-07-21 09:50:29 +08:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
9547de5b0e Merge pull request #76367 from Chaosus/import_settings_animation_playback
Add animation playback preview to scene import settings
2023-07-12 17:14:57 +02:00
Yuri Sizov
c16afc1c2d
Merge pull request #79050 from capnm/fix_teststr_what
Fix import hints that are followed by dot.number
2023-07-05 15:59:44 +02:00
Martin Capitanio
470083caed Fix import hints that are followed by dot.number.
Fixes #78881.
2023-07-05 14:49:53 +02:00
Hannah Crawford
444e1a8e2c Add layer, shadow and visibility range options to Scene Importer. 2023-06-28 17:09:23 +01:00
Ninni Pipping
818fe886a3 Bounds fixes in TextureAtlas import 2023-06-22 19:20:56 +02:00
Lyuma
0d0e8b0a8a Fix Import Tracks import setting for single clip 2023-06-20 15:49:38 -07:00
Aaron Franke
1a70d82606
Check if the required texture format is imported in the export dialog 2023-06-20 10:58:34 -05:00
andybarcia
553f4f8dce
Improve error reporting when parsing CSV translation file
Fixes #46682.

Also fix unit test suite to separate generic FileAccess CSV testing
from using CSV as translation. And add more CSV translation tests.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-19 12:47:44 +02:00
Rémi Verschelde
8d6c33a2b9
Merge pull request #76630 from gelvinp/respect-binary-compress
Respect "compress_binary_resources" editor setting on scene import
2023-06-18 16:29:49 +02:00
Patrick Gelvin
9408ac0d6e Respect "compress_binary_resources" editor setting 2023-06-18 00:55:32 -07:00
Yuri Rubinsky
7cd943fc43 Add animation playback preview to scene import settings 2023-06-13 08:42:12 +03:00
Rémi Verschelde
0e0758c5cd
Merge pull request #75261 from AThousandShips/wav_trim
Fix trim when importing WAV
2023-06-09 15:31:15 +02:00
Rémi Verschelde
0b5c5022f2
Merge pull request #77663 from RedworkDE/audiostream-preview-crash
Fix crash in AudioStream preview
2023-06-01 15:52:08 +02:00
RedworkDE
301731c7e6 Fix crash in AudioStream preview 2023-05-30 20:26:10 +02:00
bitsawer
78361370ec Fix issues found by a static analyzer 2023-05-30 12:47:50 +03:00
Hannah Crawford
adb86dda82 Add Additional Physics Options to Scene Importer. 2023-05-27 23:40:24 +01:00
Yuri Sizov
b856188904 Split editor-specific import metadata for textures 2023-05-26 18:48:23 +02:00
Lyuma
5ae311e577 Avoid doubly mutating the same Skin in rest fixer
Fixes a regression from #77123 that was caused by removal of ibm_diffs variable.
This replaced idempotent code with code that applied an offset each time.
If the same Skin was visited multiple times, this caused an incorrect result.
2023-05-26 00:49:24 -07:00
Lyuma
7b71061b3e Adjust BoneAttachment3D children/meshes during rest fixer
Also simplifies equivalent matrix math which previously used ibm_diffs to calculate skinned mesh offsets.
2023-05-16 01:34:54 -07:00
Rémi Verschelde
591115dcde
Merge pull request #76989 from dalexeev/fix-draw-multiline-colors-usage
Fix `draw_multiline_colors` usage
2023-05-15 13:44:09 +02:00
Rémi Verschelde
e2f27a2248
Merge pull request #77042 from dioptryk/obj-vertex-colors-master
Add support for non-standard OBJ vertex entries
2023-05-15 09:34:59 +02:00
Danil Alexeev
cc44d75cd8
Fix draw_multiline_colors usage 2023-05-15 09:56:13 +03:00
Bartłomiej Karwacki
444d211a8d Add support for non-standard OBJ vertex entries 2023-05-13 22:37:38 +02:00
Pedro J. Estébanez
45d0b38076 Enhance thread safety of loaders and importers 2023-05-12 17:44:48 +02:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Haoyu Qiu
d24ee551ec Allow EditorInspector to change its property name style when necessary
Previously, an EditorInspector's property name can only be set from
outside. Inspectors used for settings needs to respond to changes in
editor settings. So a few boilerplate code is almost always needed,
including watching for a certain editor setting in `_notification()`.

This commit adds a `set_use_settings_style()` function to tell the
inspector to watch for editor settings changes on its own.
2023-04-29 10:51:00 +08:00
Rémi Verschelde
0fc3ba2ea7
Merge pull request #76499 from lyuma/fix_silhouette_fixer
import: Fix Silhouette used incorrect index.
2023-04-27 16:56:33 +02:00
Lyuma
d33a734ac5 import: Fix Silhouette used incorrect index.
Fixes bind pose mistake from using i (mesh skin index) instead of bone_idx (skeleton bone index).
Fixes #76448
2023-04-27 01:41:28 -07:00
Silc Renew
fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
bruvzg
41f7bb2025
[Image Font] Fix fractional ascent for font with odd height. 2023-04-16 18:42:45 +03:00
Rémi Verschelde
ee0e809064
Merge pull request #75315 from kleonc/obj-importer-fix-no-smoothing-handling
Fix OBJ mesh importer smoothing handling
2023-04-13 09:53:29 +02:00
Rémi Verschelde
c5d9470c7c
Merge pull request #75765 from YuriSizov/editor-node-optimize-includes
Improve includes of `EditorNode` (and everything else)
2023-04-11 19:40:24 +02:00
smix8
1549aeaef8 Add Mesh ConvexDecompositionSettings wrapper
Adds wrapper MeshConvexDecompositionSettings to control parameters for Mesh ConvexDecomposition operations.
2023-04-07 22:39:25 +02:00
Yuri Sizov
4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Rémi Verschelde
b8375071b0
Merge pull request #75636 from lyuma/advanced_importer_extract_textures_fix
gltf: Remove obsolete hack to embed gltf textures in advanced import
2023-04-05 12:03:27 +02:00
Lyuma
bd020b7d92 gltf: Remove obsolete hack to embed gltf textures in advanced import 2023-04-03 20:28:03 -07:00
Yuri Sizov
9b500ab53c Fix premature theme item access in editor tools 2023-04-03 18:01:11 +02:00
Aaron Franke
2deb8fdd45
Internal renames and cleanup in resource importer scene 2023-04-02 20:59:32 -07:00
Haoyu Qiu
5a5fd33e42 More i18n improvements
* Make placeholder in editor layout dialog translatable.
* Make messages in scene import settings dialog translatable.
* Mark theme override property categories for translation.
2023-03-27 22:24:01 +08:00
nikitalita
68a6505f41 Fix ResourceImporterLayeredTexture::import() high_quality type 2023-03-25 10:27:15 -07:00
kleonc
e8900a2cac Fix OBJ mesh importer smoothing handling 2023-03-25 11:39:00 +01:00
Ninni Pipping
ff127ba57e Fix trim when importing WAV 2023-03-23 16:19:20 +01:00
Gilles Roudière
1a2caf28e3 Fix a crash in the GLB importer 2023-02-27 17:24:03 +01:00
hare_ware
f3095b7c9d Fix settings not appearing for Animation Libraries in the Scene Import window 2023-02-23 21:38:50 -05:00
Rémi Verschelde
13382a88df
Merge pull request #73814 from lyuma/importer_mesh_convex
import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()
2023-02-23 13:55:43 +01:00
Rémi Verschelde
873c50732d
Merge pull request #73687 from Calinou/editor-convex-import-fix-max-convex-hulls-crash
Add a property hint to fix crash when setting max convex hulls below 0
2023-02-23 13:53:24 +01:00
Hugo Locurcio
7899726b98
Add a property hint to fix crash when setting max convex hulls below 0
Generating less than 1 convex hull is not valid anyway.
2023-02-23 13:51:12 +01:00
Lyuma
51a4fe1d53 import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()
Implements create_convex_shape in ImpoterMesh.
Note: ImporterMeshInstance3D::get_mesh() is safe.
The only dangerous function with side effects is ImpoterMesh::get_mesh()
2023-02-23 11:55:28 +01:00
Lyuma
cb35471cb0 import: Pass the correct defaults to generated collision shapes.
Solves incorrect defaults, as well as applied scale failing to apply.
The default values are removed, and they differ from collision shape defaults
These values must match the defaults defined in resource_importer_scene.cpp
2023-02-23 03:03:04 +01:00
Rémi Verschelde
b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
Rémi Verschelde
2aaa6f6728
Merge pull request #69810 from trollodel/scene_importer_material_crash_fix
Ensure that generated import IDs are unique
2023-02-17 00:34:14 +01:00
Haoyu Qiu
84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Rémi Verschelde
766bb88159
Merge pull request #71691 from hcoura/res-importer-gen-physics-mesh-only-when-needed
Fix SceneImportSettings perf issues
2023-02-10 18:46:00 +01:00
Haoyu Qiu
26581ca574 Add some missing translatable editor strings 2023-02-10 16:55:50 +08:00
Haoyu Qiu
a40ccc2d7e Improve some editor strings for localization 2023-02-09 19:32:02 +08:00
bruvzg
504ca3940c
[Bitmap Font] Fix character count check. 2023-02-08 13:51:19 +02:00
Lyuma
5fbcb80170 Use reimport_append api for importing embedded gltf images
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-02-06 07:11:45 -08:00
Rémi Verschelde
074113b97d
Merge pull request #72455 from reduz/allow-reimport-appending
Support reimport appending
2023-02-06 15:39:51 +01:00
Juan Linietsky
91c3066c89 Support reimport appending
* Add API: `EditorFileSystem::reimport_append(path)`, thread safe, what can be used from importers when they generate new files within the import process.
* Added a `remap.gen_param` custom value to .import files, which can be used by importers to store data needed to generate this file again or not.

This API is added to allow the GLTF2 importer to properly extract png files as textures.
2023-02-01 12:27:50 +01:00
Rémi Verschelde
c40020513a
Merge pull request #72440 from V-Sekai/gltf_embed_as_uncompressed
gltf: Add GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_UNCOMPRESSED
2023-02-01 12:10:13 +01:00
Lyuma
bc24d01359 gltf: Add GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_UNCOMPRESSED
This option allows for a safe fallback for embedded gltf textures in cases where VRAM compression is not needed.
Add an is_editor_hint guard around GLTFHandleBinary::HANDLE_BINARY_EXTRACT_TEXTURES, to use EMBED_AS_UNCOMPRESSED by default at runtime.
This provides an option for pixel art to be stored losslessly.
Additionally, respect project importer defaults for texture import settings.
Avoid writing and reimporting extracted textures identical to version on disk.
2023-02-01 01:42:36 -08:00
Rémi Verschelde
7fb1b11818
Merge pull request #71409 from fire/escn-fixes
Fixes to ESCN mesh import
2023-02-01 07:56:42 +01:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
Rémi Verschelde
78e7087d81
Merge pull request #72245 from JonqsGames/apply_root_scale_to_shape
Apply root scale to 3d shapes on import
2023-01-31 13:19:02 +01:00
Juan Linietsky
28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00