Commit Graph

1111 Commits

Author SHA1 Message Date
Haoyu Qiu
f98d552214 Fix crash when columns are skipped in csv translation 2024-03-16 23:26:06 +08:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Hugo Locurcio
51af186bb6
Default to trimesh for generated collision shapes in Advanced Import Settings
This avoids using convex decomposition every time collision is enabled
on a mesh, which can be extremely slow on complex meshes (such as entire
levels).
2024-03-14 00:06:54 +01:00
bruvzg
fee14eb5e8
[Import] Add "skip file" import option to skip (and exclude from export) importable formats, auto set it for the images used by bitmap font. 2024-03-12 21:34:40 +02:00
bruvzg
911fa38d3a
[Font] Add option to disable embedded bitmaps loading. 2024-03-11 16:31:10 +02:00
Rémi Verschelde
5c1b926610
Merge pull request #88045 from Malcolmnixon/optimize-collider-regeneration
Optimize when colliders are regenerated for imported meshes
2024-03-09 22:19:34 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
DeeJayLSP
7fa3431dca WAV importer: use cubic interpolation on resampler 2024-03-04 00:05:48 -03:00
Rémi Verschelde
21e3b2111e
Merge pull request #88862 from smix8/split_physics_classes
Split monolithic physics class files
2024-02-27 16:37:07 +01:00
smix8
35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +01:00
Rémi Verschelde
04e16a27cf
Merge pull request #88821 from lyuma/preserve_initial_pose
Allow preserving the initial bone pose in rest fixer
2024-02-27 10:18:04 +01:00
Rémi Verschelde
3780604d79
Merge pull request #88819 from lyuma/import_nodes_as_skeleton_bones
Add new scene import option to import as Skeleton
2024-02-27 10:18:00 +01:00
Rémi Verschelde
8f98ed65f7
Merge pull request #88738 from clayjohn/mesh_compression-tangents
Multiple fixes for compressed meshes
2024-02-27 10:17:43 +01:00
Muller-Castro
1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
Lyuma
6a6bd2307c Add rest fixer toggle to disable bone pose reset
Adds a "Reset All Bone Poses After Import" option to the Skeleton3D Rest Fixer settings.
Default value of true resets the bone poses to rest (usually a t-pose), matching previous behavior.
If disabled, keeps the bones posed as they would have been before silhouette adjustment.
2024-02-26 03:24:01 -08:00
Aaron Franke
c399424db9
Move 3D-only resources to their own folder 2024-02-26 05:23:04 -06:00
Lyuma
652ef966f9 Add new scene import option to import as Skeleton
Adds a bool import option `nodes/import_as_skeleton_bones`.
This is supported in all FBX or GLTF document based formats.
It is especially useful for retargeting and importing animations.
2024-02-26 03:06:07 -08:00
clayjohn
781cd27fe4 Avoid singularity when generated tangents and validate that tangents are good enough when using compression 2024-02-23 16:25:26 -08:00
K. S. Ernest (iFire) Lee
04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00
Rémi Verschelde
c187d6522b
Merge pull request #84569 from jsjtxietian/Add-ignorable-columns-to-translation-CSVs
Add support for comment (ignorable) column in translation csv
2024-02-20 11:12:03 +01:00
Rémi Verschelde
3252995b41
Merge pull request #88088 from bruvzg/img_font_more
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings.
2024-02-13 23:43:29 +01:00
bruvzg
42ec133dbe
[Font] Allow overriding advances, offsets and kerning in the ImageFont import settings. Fix bitmap font kerning override. 2024-02-13 18:49:47 +02:00
Rémi Verschelde
e53e60e0fe
Merge pull request #83856 from BlueCube3310/animation-import-crash
Fix Scene Importer crashing when animation or mesh save paths are invalid
2024-02-13 17:23:03 +01:00
A Thousand Ships
8b3c12d8df
Allow configuring the maximum width for atlas import 2024-02-13 10:30:44 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Malcolm Nixon
39e28da040 Optimize when colliders are regenerated for imported meshes to prevent unnecessary recalcuation. 2024-02-06 22:08:41 -05:00
Aaron Franke
d1de00a2c8
Fix crash when previewing a scene with a mesh as the root node 2024-01-31 06:26:24 -06:00
Yuri Sizov
45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
BlueCube3310
cd87916d98 Fix Scene Importer crashing when mesh or animation save paths are invalid 2024-01-16 17:42:11 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
风青山
f932c6548e Set an appropriate minimum size for labels in windows that display incorrectly
When the label's `autowrap_mode` is `AUTOWRAP_WORD_SMART` and the initial `text`
is set at the same time, it may have a higher height.

Set an appropriate minimum size for labels in windows that display incorrectly
so that these controls display properly.
2024-01-12 23:08:38 +08:00
Rémi Verschelde
cab27498bd
Merge pull request #86957 from RandomShaper/mt_mends
A couple of enhancements to user-visible threading semantics
2024-01-11 17:40:37 +01:00
Pedro J. Estébanez
acac31ba5c Allow EditorImportPlugin to override can_import_threaded() 2024-01-09 17:30:24 +01:00
K. S. Ernest (iFire) Lee
1430f0b67d Add obj importer changes to use ImporterMesh. 2024-01-08 13:57:20 -08:00
Rémi Verschelde
e417b7e6e6
Merge pull request #86824 from alessandrofama/audio-import-playback-position
Fix playback position label update in Audio Stream Importer
2024-01-08 11:57:31 +01:00
Muller-Castro
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Alessandro Famà
155bebfdf2 Fix playback position label update in Audio Stream Importer
The current playback position label doesn't get updated if the playhead is not visible. The label is updated in `_draw_indicator()` at the end of the function, but we return early if the calculated offset falls outside the valid range. This fix moves the label updating above this check, ensuring that the label always gets updated regardless of the visibility of the playhead.

Fixes #86550.
2024-01-05 12:41:30 +01:00
Aaron Franke
9753a35c76
Move 3D scene import classes to their own folder 2024-01-04 11:02:49 -06:00
Rémi Verschelde
0fa767beff
Merge pull request #84508 from jsjtxietian/clean-copy
Clean unnecessary copy detected by clang-tidy
2024-01-04 14:25:58 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Yuri Sizov
13dd72ce78 Merge pull request #85219 from dsnopek/light-bake-mode-no-gi-method
Remove GI methods in parentheses from light baking options
2023-12-19 13:01:40 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Marius Hanl
4b8b0803eb Return false when no '.editor.ctex' file exists so that the file will be reimported after and no error is printed 2023-12-14 20:35:49 +01:00
Rémi Verschelde
d26a3f1b14
Merge pull request #85807 from rakkarage/import-warning
Add toaster notifications for import warnings.
2023-12-12 10:40:41 +01:00
Aaron Franke
52f1b86ebc
Fix referring to ResourceImporterScene static importers via instances 2023-12-11 20:01:39 -06:00
Rémi Verschelde
8f2b5cc109
Merge pull request #82899 from aaronfranke/import-settings-dialogs
Rename ImportSettings dialogs to have "Dialog" in the name
2023-12-12 00:15:59 +01:00
Rakka Rage
35444b28e3 Add toaster notifications for import warning. 2023-12-05 16:25:04 -05:00
Rémi Verschelde
6cfb3f61f2
Merge pull request #85556 from bs-mwoerner/wav-import-fix
Fix importing WAV files with odd chunk sizes
2023-12-04 23:19:34 +01:00
Rémi Verschelde
ff151bb9aa
Merge pull request #85061 from SaracenOne/imported_slices_fix
Fix imported track flag on sliced animations.
2023-12-04 23:09:37 +01:00
Michael Wörner
29810376b8 Fixed reading WAV files with odd chunk sizes.
These require a padding byte not included in the chunk size.
2023-12-04 20:01:34 +01:00
Aaron Franke
a8dc34b8f0
Rename ImportSettings dialogs to have "Dialog" in the name 2023-11-26 22:59:01 -06:00
David Snopek
ce488930ea Remove GI methods in parentheses from light baking options 2023-11-22 08:42:40 -06:00
Rémi Verschelde
fa259a77cd
Codestyle: Fix some comment issues 2023-11-21 15:26:53 +01:00
Saracen
57f1e5dcdc Fix imported track flag on sliced animations. 2023-11-18 15:36:33 +00:00
Alistair Leslie-Hughes
b0e0615075 Fix Resource Importer use after free 2023-11-14 16:39:41 +11:00
Rémi Verschelde
15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Markus Sauermann
75b4ea05a4 Fix stuck cursor in Advanced Scene Importer
Display an Arrow mouse cursor, while the mouse is moved within the
`SubViewportContainer` of the Advanced Scene Importer.
2023-11-09 12:50:13 +01:00
jsjtxietian
1b07b419b3 Add support for comment column in translation csv 2023-11-07 17:10:50 +08:00
jsjtxietian
8f6e8ef0d7 clean unnecessay copy detected by clang-tidy 2023-11-06 16:22:32 +08:00
Aaron Franke
58076b9ccb
Implement glTF compat version system for files from older Godot versions 2023-11-03 12:07:25 -05:00
Yuri Sizov
802813d8f9 Merge pull request #83036 from jsjtxietian/move-animation-slice-processing-to-_post_fix_animations
Move animation slice processing to `_post_fix_animations`
2023-11-03 12:52:08 +01:00
Rémi Verschelde
44a54f4500
Merge pull request #84252 from clayjohn/ensure_tangents
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +01:00
Rémi Verschelde
64bb27aefd
Merge pull request #83600 from jsjtxietian/make-translation-import-more-robust
Make translation importer skip not-supported lang tag, make it more robust
2023-11-02 09:11:00 +01:00
clayjohn
d1043a5f93 Enhance checks and user experience around tangents.
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.

Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.

Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
Rémi Verschelde
4f138db264
Merge pull request #83764 from timothyqiu/suffix-only
Fix infinite loop when importing 3D object named "-colonly"
2023-10-26 16:00:08 +02:00
Saracen
d0e5bff542 Add method check for _notify_skeleton_bones_renamed. 2023-10-26 10:22:59 +01:00
clayjohn
8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
Haoyu Qiu
2413952a4c Fix "as" capitalization in editor strings 2023-10-23 16:10:05 +08:00
Haoyu Qiu
c19bf7cda9 Fix infinite loop when importing 3D object named "-colonly" 2023-10-22 11:31:28 +08:00
jsjtxietian
0099791fc0 Make translation importer skip not-supported lang tag
Also give better warning.
2023-10-20 16:17:29 +08:00
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
Silc Renew
8b3be51d17 Add remove immutable tracks option to glTF importer
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2023-01-30 08:57:27 +09:00
JoJoX
ecba2e2d4e Apply root scale to shape on import 2023-01-28 12:32:03 +01:00
K. S. Ernest (iFire) Lee
39922d7167 Handle gltf binary
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]

Enable compressed mip maps from Basis Universal for faster compressions.

Increase the quality of Basis to avoid corruption.

To keep compatibility use the first mip of the previous internal Godot format.

Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Henrique Coura
b95219ef0f Fix SceneImportSettings perf issues 2023-01-19 18:48:21 -03:00
Rémi Verschelde
f6c662264e
Merge pull request #69288 from bruvzg/gde_low_level_funcs
[GDExtension] Expose some low level functions and String operators.
2023-01-19 13:23:45 +01:00
bruvzg
db7d8c2d87
[GDExtension] Expose some low level functions and String operators. 2023-01-19 12:50:49 +02:00
Mario Liebisch
9ba5d31141
Avoid importing MSVC obj files
Currently Godot tries to import any file with the extension "obj" as a
Wavefront OBJ model in text format.

This will fail and potentially crash the editor, if the obj file is
actually binary, like a MSVC build artifact/object file.

While the COFF header at the start of the obj file is subject to change,
this change should cover all potential/typical target machines possible
right now.

This fixes #71656.
2023-01-19 09:49:28 +01:00
Hugo Locurcio
ebb6894652
Improve visibility of Actions button in Advanced import settings dialog 2023-01-17 22:27:06 +01:00
Rémi Verschelde
ee7beff3c4
Merge pull request #70630 from asmaloney/importer-crash-null-mesh-node
Fix crash in SceneImportSettings::_select when a mesh has a null mesh node
2023-01-17 15:00:01 +01:00
rsjtdrjgfuzkfg
0442a65656 obj: Avoid empty names and meshes
This commit updates the obj importer to properly name imported meshes and
permits it to skip meshes that do not contain geometry. This fixes at
least one crash and several warnings and avoids unnecessary meshes being
generated when importing obj files that do not contain geometry that is
not assigned to a named object (such as when exporting from Blender).
2023-01-16 20:55:59 +01:00
K. S. Ernest (iFire) Lee
132e95212f Fixes to ESCN importer
Convert mesh instance 3d to a mesh importer instance 3d to run importer code. Also does blend shapes.
2023-01-14 09:55:56 -08:00
clayjohn
ccaebcd5e0 Avoid crashing when custom GLSL shaders are imported when using the gl_compatibility renderer 2023-01-13 12:53:19 -08:00
Rémi Verschelde
14cca21256
Merge pull request #71033 from scurest/obj-vertex-color
Add vertex color support to OBJ importer
2023-01-13 00:37:14 +01:00
Juan Linietsky
2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
scurest
649857416d Mark OBJ vertex colors sRGB in materials (only if has vertex colors) 2023-01-07 17:07:31 -06:00
scurest
091fa5fb7f Add vertex color support to OBJ importer
Fixes #70982
2023-01-07 13:26:55 -06:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Andy Maloney
c3d84ce57f Fix crash in SceneImportSettings::_select when a mesh has a null mesh_node 2022-12-27 09:03:18 -05:00
Rémi Verschelde
0566afa041
Merge pull request #70360 from dustinsth/fix_import_dialog_text
Fix overlapping text in Advanced Import Settings action dialogs.
2022-12-21 18:29:17 +01:00
dustinsth
c734ae469e Fix overlapping text in Advanced Import Settings action dialogs. 2022-12-20 09:57:57 -08:00
Marcus Elg
52061691b5 Disable properties that don't have an effect in the advanced audio importer 2022-12-20 18:57:27 +01:00
Marcus Elg
7f88943483 Fix inconsistent audio import menu naming 2022-12-19 17:42:54 +01:00
bmolyneaux
7c1cb65978
Clear animation map when import settings is opened 2022-12-14 19:54:48 -08:00
bruvzg
ebc85eff98
Fix advanced font import dialog not saving outline sizes of pre-render configs correctly. 2022-12-12 22:29:14 +02:00
trollodel
26d146b6c9 Ensure that generated import IDs are unique 2022-12-09 17:01:40 +01:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
Rémi Verschelde
09e1db2148
Merge pull request #68665 from TokageItLab/cut-unkeyed-gltf-anim
Add "Trimming" option to cut un-keyed timeline before first key in glTF animation
2022-11-29 16:51:56 +01:00
Silc Renew
db7473672f Add trimming option to cut un-keyed timeline before first key in gltf 2022-11-29 13:53:33 +09:00
Rémi Verschelde
794adbe996
Merge pull request #69178 from aaronfranke/mesh-shape
Use a more specific type for Mesh create_(convex|trimesh)_shape
2022-11-28 08:05:50 +01:00