Commit graph

4416 commits

Author SHA1 Message Date
PrecisionRender
8cbb9b8b0a Add ShapeCast3D node 2022-07-28 12:08:42 -05:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
kobewi
beabbad390 Improvements to shader editor 2022-07-28 18:28:38 +02:00
Hugo Locurcio
e24029edc3
Allow changing mipmap LOD bias when FSR 1.0 scaling is not used
Mipmap LOD bias can be useful to improve the appearance of distant
textures without increasing anisotropic filtering (or in situations
where anisotropic filtering is not effective).

`fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly.
The property hint now allows for greater precision as well.
2022-07-28 17:51:13 +02:00
Rémi Verschelde
2e05cc3314
Merge pull request #58361 from V-Sekai/tileset_editor_selection
Fix tileset editor visiblity and selection context
2022-07-28 17:31:21 +02:00
Rémi Verschelde
7281f0f238
Merge pull request #62350 from Valeryn4/fix_animation_state_machine
Validate AnimationNode name in AnimationStateMachine
2022-07-28 10:39:58 +02:00
Valerii
c28efd6c95 Validate AnimationNode name in AnimationStateMachine
Fixes #60959.
2022-07-28 10:16:45 +02:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local 2022-07-28 10:03:07 +02:00
Rémi Verschelde
72e9122514
Merge pull request #63558 from TokageItLab/skel-validator 2022-07-28 09:25:45 +02:00
Rémi Verschelde
422725cffc
Merge pull request #56597 from V-Sekai/material_drag_and_drop
Add drag-and-drop support for materials in 3D Instances
2022-07-28 09:22:38 +02:00
Silc 'Tokage' Renew
3b89bf901a Make BoneMapper validation stricter 2022-07-28 07:27:41 +09:00
Rémi Verschelde
ed61fb2a8b
Merge pull request #63138 from TokageItLab/normalize-position-track
Add position track normalization to importer retarget
2022-07-27 16:49:18 +02:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde
f3fbb157ca
Merge pull request #63121 from aaronfranke/editor-export-split 2022-07-27 11:19:40 +02:00
Hugo Locurcio
ad9a8e70f4
Merge pull request #62888 from Calinou/editor-material-preview-improve-appearance
Improve appearance of the material editor preview
2022-07-27 00:25:12 +02:00
Rémi Verschelde
222e489dfd
Merge pull request #63496 from groud/fix_tile_set_not_saving
Fix TileSet not loading correctly when embedded in a scene
2022-07-26 18:27:05 +02:00
Gilles Roudière
8da2710911 Fix TileSet not loading correctly when embedded in a scene 2022-07-26 17:39:35 +02:00
Aaron Franke
e53ae13178
Split up editor export code into multiple files 2022-07-26 08:28:19 -05:00
Silc Renew
dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
Fabio Alessandrelli
ca7d572908 [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
Rémi Verschelde
49b0aa93e3
Merge pull request #63424 from Chaosus/shader_preprocessor_inc_fix 2022-07-25 14:56:06 +02:00
Yuri Rubinsky
be3fb7a216 Fix errors when using built-ins in shaderinc 2022-07-25 12:33:04 +03:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
reduz
455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
Yuri Rubinsky
5705825d55 Fix clearing errors indication in the shader editor 2022-07-23 11:32:04 +03:00
Yuri Rubinsky
6d992abb54 Fix some errors after shader preprocessor PR 2022-07-23 09:38:59 +03:00
reduz
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
Rémi Verschelde
fe929d4787
Merge pull request #62513 from reduz/shader_preprocessor_remake 2022-07-23 00:02:33 +02:00
Rémi Verschelde
e5df1e65f9
Merge pull request #62581 from Guh-Feng/Color-Picker-Update 2022-07-22 23:46:27 +02:00
reduz
f649678402 Clean up Shader Preprocessor
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
Yuri Roubinsky
7b94603baa Adding shader preprocessor support
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
Guh-Feng
1b8652e86a Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
2022-07-21 18:11:09 -04:00
Rémi Verschelde
f40aafeb39
Merge pull request #63244 from KoBeWi/canvas_picker 2022-07-21 16:34:16 +02:00
SaracenOne
bd0819d4a0 Disable plugin for conversion of foreign Sprite2D to different types 2022-07-21 15:04:29 +01:00
SaracenOne
7776b47489 Add read-only mode to AnimationEditor for foreign resources. 2022-07-21 14:46:58 +01:00
luz paz
38aaaa3cf9 Fix various typos not caught by codespell
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
kobewi
dabe021f19 Fix selection list in 2D editor 2022-07-21 12:24:02 +02:00
Rémi Verschelde
4ba6c9a19f
Merge pull request #63229 from Chaosus/vs_fix_icons 2022-07-20 22:25:04 +02:00
Rémi Verschelde
e1901008a5
Merge pull request #63247 from YuriSizov/toolbars-go-with-the-flow 2022-07-20 21:38:56 +02:00
Rémi Verschelde
e1c50152a0
Merge pull request #63232 from nathanfranke/simplify-editor-anchors
Simplify alignment preset, fixing icon for full rect
2022-07-20 21:15:14 +02:00
Rémi Verschelde
9a941ea35e
Merge pull request #61347 from fire-forge/theme-icons
Add type icons to Theme editor Import Items tab
2022-07-20 21:05:34 +02:00
Yuri Sizov
dcd64799ef Use FlowContainer to handle toolbar overflow more gracefully 2022-07-20 20:43:45 +03:00
Nathan Franke
f3d43a384d
simplify alignment preset, fixing icon for full rect 2022-07-20 12:18:33 -05:00
Yuri Rubinsky
702b6a00d8 Fix icons not loaded correctly in the visual shader editor 2022-07-20 19:24:42 +03:00
SaracenOne
86aa2a8578 Add drag-and-drop support for materials in 3D
Add mesh surface picking for material drag & drop, show drag info label
2022-07-19 12:49:09 -07:00
Rémi Verschelde
8351d75b7f
Merge pull request #63195 from Rindbee/fix-wrong-clear-edit-menu 2022-07-19 13:49:43 +02:00
Rindbee
8972dd8492 Fix incorrectly clearing edit menu
Delete only if `editor_enabled` is true, otherwise destructor may delete it repeatedly.
2022-07-19 19:09:27 +08:00
Rémi Verschelde
7fd29b5464
Merge pull request #59301 from fire-forge/layout-preset-full-rect 2022-07-19 12:06:00 +02:00
Rémi Verschelde
00c0fbb8cf
Merge pull request #62871 from fire-forge/vector2i 2022-07-19 08:45:49 +02:00
FireForge
468157bfe0 Capitalize the SpriteFrames search bar placeholder
Follow-up to https://github.com/godotengine/godot/pull/49488
2022-07-18 20:15:50 -05:00
FireForge
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
FireForge
84431bd782 Use integer types in Image and ImageTexture methods
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
2022-07-18 19:43:32 -05:00
kleonc
a4d8c78e48 SpriteFramesEditor Add animation searchbox 2022-07-18 15:47:12 +02:00
Rémi Verschelde
1c6148aa86
Merge pull request #63062 from Chaosus/vs_fix 2022-07-18 12:05:36 +02:00
Rémi Verschelde
5a6b13b8bb
Merge pull request #62939 from TokageItLab/implement-rest-fixer
Add Rest Fixer to importer retarget
2022-07-16 16:54:20 +02:00
Yuri Rubinsky
f05fce405e Fix visual shader graph not correctly updating when multiple tabs opened 2022-07-16 16:43:06 +03:00
Silc Renew
9be288edf9 refactor sync in AnimationTree 2022-07-16 21:45:32 +09:00
Silc Renew
f3af3aedfe add rest fixer to importer retarget 2022-07-16 19:53:11 +09:00
Fabian Keller
2bf9e6090c rename translate(d) to translate(d)_local in Transform 2D/3D 2022-07-16 11:47:54 +02:00
kobewi
87fb95f1ff Clear drag_selection when drag ends 2022-07-14 14:51:47 +02:00
kobewi
38d8cb4782 Fix drag_selection crash on scene close 2022-07-14 02:31:52 +02:00
Hugo Locurcio
21ea1c3835
Rename soft shadow quality project settings for easier searching
`rendering/quality/shadows` is now `rendering/quality/positional_shadow`
to explicitly denote that the settings only affect positional light shadows,
not directional light shadows.

Shadow atlas settings now contain the word "atlas" for easier searching.

Soft shadow quality settings were renamed to contain the word "filter".
This makes the settings appear when searching for "filter" in the
project settings dialog, like in Godot 3.x.
2022-07-13 19:56:02 +02:00
Rémi Verschelde
200009cd48
Merge pull request #62282 from fire-forge/gradient2d-editor-fix
Fix GradientTexture2D editor height
2022-07-13 14:11:11 +02:00
Rémi Verschelde
b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
Hugo Locurcio
99ac090233
Improve appearance of the material editor preview
- Use lower camera FOV to show more of the sphere/box, while still
  fully displaying the meshes in question.
2022-07-10 18:47:09 +02:00
FireForge
af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge
e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
kobewi
d2900429e8 Add static methods for creating Image and ImageTexture 2022-07-08 13:40:47 +02:00
Rémi Verschelde
0e3ac839b4
Merge pull request #62638 from Calinou/animationtree-editor-use-antialiasing 2022-07-08 10:17:40 +02:00
Rémi Verschelde
7d3ff927de
Merge pull request #62075 from Vitika9/gsoc-colorpicker 2022-07-08 09:06:47 +02:00
bruvzg
a319e6e623
Fix regressions from Font refactor
Fixes `p_font.is_null()` errors due to incorrect resource type used.
Fixes code editor font not set correctly, and OpenType features applied to the wrong font.
2022-07-07 15:11:08 +03:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3 2022-07-07 12:22:49 +02:00
Vitika9
0011d93c81 ColorPicker Refactor 2022-07-06 22:11:43 +05:30
Rémi Verschelde
635d447a69
Merge pull request #62713 from YuriSizov/docs-scripting-annotations 2022-07-06 15:31:19 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Guilherme Felipe
51aa57328a [Node3DEditorViewport] Add correct margin for rotation control and fps label. 2022-07-05 17:32:16 -03:00
kobewi
072e2ff659 Show the transform operation numbers in 2D 2022-07-05 13:19:32 +02:00
Yuri Sizov
a9098e6147 Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
bruvzg
e3d5bc2098
Use autowrap in the curve editor. 2022-07-04 10:13:11 +03:00
Rémi Verschelde
5cc830892a
Merge pull request #62681 from Jummit/keep-perspective-menu
Keep Perspective menu open after selecting an option
2022-07-04 08:21:57 +02:00
Jummit
e3ab344af9 Keep Perspective menu open on selection
Makes the Perspective menu consistent with the View menu in the 3D
viewport. This allows for quicker inspection of the scene, and makes
missclicks more forgiving.
2022-07-03 17:23:41 +02:00
Rémi Verschelde
b2a4cac9f4
Merge pull request #62649 from Calinou/3d-editor-gizmos-fix-gi 2022-07-03 15:30:08 +02:00
Hugo Locurcio
de976eb82f
Fix 3D editor gizmos appearing in GI following default GI mode change 2022-07-02 23:19:01 +02:00
python273
d65eb592b0 Make asset library's column count dynamic 2022-07-02 23:42:09 +03:00
Hugo Locurcio
feac27476c
Use antialiasing for line drawing in the AnimationTree editor
- Use EDSCALE where relevant to improve scaling on hiDPI displays.
2022-07-02 18:26:41 +02:00
Rémi Verschelde
a2459c7d35
Merge pull request #61610 from TokageItLab/importer-retarget-registered-gdhumanoid 2022-07-02 00:17:21 +02:00
Kirill
924658a849
Stretch image on resize in asset description dialog 2022-07-01 17:17:40 +03:00
Hugo Locurcio
32973094f5
Add a Bake Mask property to GPUParticlesCollisionSDF3D
This allows not accounting for certain visible meshes during baking
(such as foliage and thin fixtures).

This also adds a clarification about transparent materials always
being excluded in the OccluderInstance3D documentation.
2022-06-30 23:12:40 +02:00
Silc Renew
dc43cfc830 implement bone renamer in importer 2022-07-01 03:55:28 +09:00
Rémi Verschelde
1e082914e2
Merge pull request #62299 from Calinou/texture-preview-add-mipmap-memory-usage
Mention mipmap and memory usage in the texture editor preview
2022-06-30 13:12:09 +02:00
Rémi Verschelde
fd3970f762
Merge pull request #62531 from Faless/fix/4.x_assetlib_is_available 2022-06-30 10:06:17 +02:00
Fabio Alessandrelli
0e504e4191 [AssetLib] Fix crash in Web editor.
Add EditorAssetLibrary::is_available which always returns false in the
Web editor and use it in EditorNode for detection.
2022-06-30 01:26:08 +02:00
Rémi Verschelde
a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00
Hugo Locurcio
87c989f98d
Mention mipmap and memory usage in the texture editor preview
This is important to quickly determine if a texture is using
unexpectedly high amounts of memory, or to troubleshoot
why mipmap sampling modes have no effect on it.

- Improve readability by increasing outline size and reducing
  font size to match the rest of the editor UI.
2022-06-29 17:38:50 +02:00
K. S. Ernest (iFire) Lee
9ddebc0c22 Add a const call mode to Object, Variant and Script.
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).

This mode ensures only const functions can be called, making it safe to use from the editor.

Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
Rémi Verschelde
b192073001
Merge pull request #62309 from reduz/remake-resource-thread-safety
Remake ResourceCache thread safety code and API
2022-06-25 14:09:28 +02:00
kobewi
2ccef6616e Fix crash when drawing invalid tiles 2022-06-23 14:34:23 +02:00
Rémi Verschelde
21b51fdf7e
Merge pull request #61826 from guilhermefelipecgs/fix_leak
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-23 09:58:51 +02:00
Haoyu Qiu
084fdee4a2 Add missing TTR in dialog title 2022-06-23 13:13:42 +08:00
reduz
e772b65d92 Remake resource thread safety and API
* Ensures thread safety when resources are destroyed.
* Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe.
* Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem.

Supersedes #57533
2022-06-22 13:46:46 +02:00
Rémi Verschelde
f3bf0334bb
Merge pull request #62262 from fire-forge/suffix2 2022-06-21 16:05:35 +02:00
FireForge
743a48da2a Fix GradientTexture2D editor height 2022-06-20 22:21:18 -05:00
FireForge
88589c091b Improve TileSet editor and add more suffixes 2022-06-20 15:28:19 -05:00
smix8
e12e239ab4 Add Path2D/3D debug options
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Rémi Verschelde
b4804a2d3f
Merge pull request #61459 from reduz/new-shader-editor 2022-06-20 15:27:16 +02:00
reduz
141c375581 Clean up Hash Functions
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Hugo Locurcio
2651e88b05
Automatically update the editor viewport when 3D scaling options are changed
This allows for previewing the effects of the various 3D scaling
project settings without having to restart the editor.
2022-06-19 01:05:17 +02:00
Trevor Davenport
e3fc0fd118 Add missing new function parameter. 2022-06-17 10:13:10 -06:00
Rémi Verschelde
1767507e69
Merge pull request #61888 from Chaosus/vs_remove_engine_version
Remove engine version from visual shader
2022-06-16 18:19:03 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
FireForge
f72c1ac2a3 Use new inspector button style in InputEvent editor 2022-06-15 01:44:16 -05:00
FireForge
b8720500b0 Improve TileMap editor layer selection button 2022-06-14 14:14:19 -05:00
bruvzg
0d6de213b4
[macOS] Fix high-precision scrolling direction in the canvas editor zoom. 2022-06-14 10:52:58 +03:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit 2022-06-13 17:06:34 +02:00
Andreas Raddau
9d9a50b7ee Fixed missing call to AnimationTrackEditor::make_insert_queue 2022-06-12 16:02:09 +02:00
Gilles Roudière
62d2549e9e Add terrain center bit 2022-06-10 14:37:39 +02:00
Yuri Rubinsky
d6622330d7 Remove engine version from visual shader 2022-06-10 13:17:16 +03:00
Rémi Verschelde
ab2fd4a671
Merge pull request #59776 from fire-forge/more-round 2022-06-10 10:52:44 +02:00
Yuri Rubinsky
e02aadba95 Distinguish Length function name to Length2D/3D/4D in visual shaders 2022-06-10 11:08:08 +03:00
Danny Chung
09658f7e3b Increase AnimationPlayer position SpinBox to fit more decimals
Fixed UI bug where it appeared that pushing the up or down incrementing
arrows did not increment the SpinBox value appropriately. Just needed
to increase the size of the box horizontally, to display four decimal
points consistently.
2022-06-09 09:59:26 +02:00
Guilherme Felipe de C. G. da Silva
7fc3aa43ce Fix ObjectDB instances leaked on state machine when editor closes 2022-06-08 17:08:48 -03:00
Rémi Verschelde
c8ce7e34e2 i18n: Misc fixes translation strings
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:57:54 +02:00
Rémi Verschelde
b33660228b
Merge pull request #61784 from Geometror/visualeditors_editorsettings_propagation
Fix visual editor settings change propagation
2022-06-07 21:03:13 +02:00
Rémi Verschelde
5ebdfc31b2
Merge pull request #61319 from JFonS/taa_wip
Initial TAA implementation
2022-06-07 20:53:55 +02:00
Rémi Verschelde
28cf97746f
Merge pull request #61779 from RechieKho/zoom_100_percent_error
Define zoom shortcut before using it
2022-06-07 20:52:09 +02:00
Hendrik Brucker
e4ba3b64f0 Fix visual editor settings change propagation 2022-06-07 19:17:47 +02:00
RechieKho
ea9aaab293 Define zoom shortcut before using it 2022-06-07 21:27:38 +08:00
Rémi Verschelde
7f5c10b588
Merge pull request #61737 from LightningAA/fix-frac-typo
Fix typo "Frac" instead of "Fract"
2022-06-07 14:10:56 +02:00
jfons
ba832d83b2 Initial TAA implementation
Initial TAA support based on the implementation in Spartan Engine.

Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-07 13:14:44 +02:00
Rémi Verschelde
36bd26dc75
Merge pull request #61767 from KoBeWi/tiling_speedrun
Add shortcuts to GenericTilePolygonEditor
2022-06-07 11:36:57 +02:00
Rémi Verschelde
54d43efbd8
Merge pull request #61651 from Haydoggo/path-editor-handle-swap
Fix end handles being reversed in Path3DGizmo
2022-06-07 07:52:32 +02:00
kobewi
cf2287a2b4 Add shortcuts to GenericTilePolygonEditor 2022-06-07 02:03:04 +02:00
Aaron Record
14df02b21f Fix typo "Frac" instead of "Fract" 2022-06-05 19:20:32 -06:00
kobewi
6ac85ccc3d Enable nearest filtering in shrunk 3D viewport 2022-06-05 18:24:05 +02:00
Andy Gainey
9172ab37bf Fix inverted mouse wheel zoom in CanvasItemEditor #61716
Bug introduced in bb07c6a7d0 while fixing symmetry of zooming in and out.
2022-06-05 16:29:59 +02:00
Rémi Verschelde
25908c17c9
Merge pull request #61696 from guilhermefelipecgs/fix_menus
Removes start/end states from menus
2022-06-05 13:59:31 +02:00
Guilherme Felipe de C. G. da Silva
e363fdeed9 Removes start/end states from menus 2022-06-04 15:13:07 -03:00
Andy Gainey
bb07c6a7d0 Fix zoom in callback for CanvasItemEditor to use correct numeric sign 2022-06-04 18:14:19 +02:00
Rémi Verschelde
7a5eba16d8
Merge pull request #61679 from fire-forge/tilemap-grid
Update viewport when toggling TileMap grid
2022-06-04 15:45:43 +02:00
Hayden Leete
f6123e00e7 fix end handles being reversed in Path3DGizmo 2022-06-04 10:58:52 +12:00
FireForge
87cfe90f6e Update viewport when toggling TileMap grid 2022-06-03 13:52:53 -05:00
Guilherme Felipe de C. G. da Silva
4bf5047fb0 Fix state machine style 2022-06-03 14:59:00 -03:00
kobewi
489ac77cbc Update half resolution immediately 2022-06-03 02:12:41 +02:00
Rémi Verschelde
1baee2189c
Merge pull request #61626 from Haydoggo/path-editor-handle-swap
Swap Path3DGizmo control points order
2022-06-02 18:51:36 +02:00
JFonS
8e3084cc91
Merge pull request #61292 from KoBeWi/hack_your_way_to_fix_the_bug 2022-06-02 13:02:48 +02:00
JFonS
8abace0f79
Merge pull request #60517 from Calinou/3d-editor-audiostreamplayer3d-add-gizmo 2022-06-02 12:11:06 +02:00
Hayden Leete
90b39f95da swap path_3d_editor_plugin control points order 2022-06-02 21:15:15 +12:00
Rémi Verschelde
532e253a7c
Merge pull request #61455 from fire-forge/tab
Add color contrast to TabContainer backgrounds in the editor
2022-05-31 12:52:03 +02:00
Rémi Verschelde
68bf4eb100
Merge pull request #61440 from vnen/gdscript-scene-unique-nodes
GDScript: Support `%` in shorthand for `get_node`
2022-05-31 12:36:37 +02:00
Hendrik Brucker
70c234f3e3 Improve Graphedit connection lines 2022-05-30 17:33:01 +02:00
Rémi Verschelde
6bfea24695
Merge pull request #61505 from ArneStenkrona/script-drop-focus
Ensure focus when dropping to script editor
2022-05-30 02:04:55 +02:00
Rémi Verschelde
26bfaf34dd
Merge pull request #61488 from fire-forge/filter 2022-05-30 02:03:45 +02:00
FireForge
7f7244f04a Use consistent casing in editor filter/search bars 2022-05-28 18:43:16 -05:00
Arne Stenkrona
6cd4d5f061 Ensure focus when dropping to script editor
This improves usability by making sure actions subsequent to drop
are performed within the script editor. For example, dropping a
node from the scene tree to the script editor and attempting undo
will now undo the drop instead of performing an undo in the scene
tree.

Fixes issue #61465
2022-05-28 19:58:46 +02:00
Hugo Locurcio
3541200f2b
Rotate Decal nodes when using Align Transform/Rotation With View
This matches the expected orientation with decal nodes "looking"
in the same direction as the editor camera.
2022-05-28 13:14:10 +02:00
reduz
73c102f272 Redo the shader editor
* Shader editor is permanent (no longer transient).
* Can edit multiple files at the same time.

Likely fixes many usability issues (please lend me a hand Bugsquad team to identify them).
2022-05-28 11:03:16 +02:00
Rémi Verschelde
1f690f197a
Merge pull request #61264 from KoBeWi/zoom_reset_begone
Remove zoom_reset shortcut in 2D editor
2022-05-27 22:45:55 +02:00
George Marques
eba3e0a9fc
GDScript: Support % in shorthand for get_node
The `%` is used in scene unique nodes. Now `%` can also be used instead
of `$` for the shorthand, besides being allowed generally anywhere in
the path as the prefix for a node name.
2022-05-27 13:46:18 -03:00
FireForge
198f70c4c8 Use type icons in Theme editor import tab
- Use + icon for "Add" button
- Replace "One" with "1" in data type counts
2022-05-26 23:05:17 -05:00
FireForge
eb573da2b5 Use "odd" style for TabContainers on base BG color
- Use the "odd" style for TabContainers that are on a background with the same color as the default TabContainer background color to add contrast
2022-05-26 21:19:15 -05:00
kobewi
e748fc1a11 Improve TextureRegionEditor 2022-05-26 20:54:45 +02:00
Hugo Locurcio
93933e4085
Add a gizmo to visualize AudioStreamPlayer3D's audible radius
The ring's color changes depending on the attenuation model chosen,
and whether Max Distance is capping the distance the sound can be
heard at.

Cold colors are used when the volume cap is a "soft" cap (the sound
can still be heard past the distance, but only faintly).

Warm colors are used when the volume cap is a "hard" cap (the sound
can't be heard past the distance at all).

White is used for linear fade performed when the attenuation model
is Disabled and Max Distance is greater than 0.

No ring is drawn when the attenuation model is Disabled and Max Distance
is equal to 0 (since the sound can be heard from anywhere).
2022-05-26 20:53:07 +02:00
Rémi Verschelde
69b30eae29
Merge pull request #61337 from reduz/improve-stylebox-preview
Improve StyleBox preview
2022-05-26 13:28:36 +02:00
reduz
b4c6900123 Improve StyleBox preview
* Show checkerboard on background.
* Add margins.
* Show Ninepatch lines (toggleable).
* Move the region to its own section so it does not pollute.
2022-05-26 11:57:56 +02:00
kobewi
e7b0e7e35a Improve style of inspector buttons 2022-05-25 22:54:47 +02:00
FireForge
42d1a96904 Add rounded corners to the contextual toolbar
- Move contextual toolbar stylebox to the editor theme because it's the same in the 2D and 3D editors
2022-05-25 15:43:40 -05:00
Rémi Verschelde
360119ffbf
Merge pull request #61352 from Faless/ext/linux_export
[Editor] Fix GDExtension GNU/Linux export.
2022-05-25 01:17:59 +02:00
Rémi Verschelde
12ddaa36a6
Merge pull request #60641 from clayjohn/Sky-ign
Use IGN instead of white noise for sky dithering
2022-05-24 23:34:41 +02:00
clayjohn
4f82b1bd20 Use IGN instead of white noise for sky dithering 2022-05-24 10:57:07 -07:00
SnailRhymer
b0e31eeb4a Remove configuration warning from AnimationPlayer
Remove warning about animations in different libraries having the same name, since shared names are fine.

Also fix missing vformat argument when setting the name of an animation to one that does conflict with an animation in the same library.
2022-05-24 13:22:16 +01:00
Juan Linietsky
4dd6f56c82
Merge pull request #61342 from reduz/reorganize-region-rect-editor
Reorganize Region Rect Editor
2022-05-24 12:25:12 +02:00
Fabio Alessandrelli
cf39f36685 [Editor] Report GDExtension export errors and missing libraries. 2022-05-24 12:01:30 +02:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
65dd1bf023
Merge pull request #47665 from trollodel/tree_more_buttons_signals 2022-05-24 10:50:55 +02:00
reduz
4044cc7d57 Reorganize Region Rect Editor
Problem:

* Region rect was pretty much a hidden editor. Because it was annoying for it to pop up automatically, it did not.
* Because it did not, most users have no idea it even exists.
* But because it is a transient editor, it would steal focus of other editor and annoy users.

Solution:

* Editor has been moved to a window.
* Regions that can be edited add a button below the region which can be pressed to open the editor.

This required a slight change in EditorInspectorPlugin to allow custom editors to be below others.
2022-05-24 09:42:49 +02:00
Rémi Verschelde
1314e6cbcc
Merge pull request #60803 from Chaosus/shader_hint_rename
Rename `hint_albedo`, `hint_white/black` in shaders
2022-05-24 08:15:33 +02:00
Rémi Verschelde
9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
reduz
12474fd87a Improve MultiplayerSynchronizer editor usability
* Add a button to add properties (which lets you select node and property)
* Add ability to drag properties and drop them to the editor.
* Made the editor transient (not always visible on the bottom) since its not needed most of the time.
* Added the ability to pin the editor, in case dragging properties from other nodes is desired.
2022-05-23 13:14:59 +02:00
kobewi
c2bf9c2802 Remove zoom_reset shortcut in 2D editor 2022-05-22 21:39:53 +02:00
kobewi
5d413eaa96 Redraw selected 3D gizmo on deselect 2022-05-22 21:28:47 +02:00
trollodel
307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Aaron Franke
a53b7f0a9d
Tweaks to improve the Project Manager display at small sizes 2022-05-19 23:57:48 -05:00
kobewi
9a1054d942 Tweak minsize of editor ColorPickerButtons 2022-05-19 15:20:46 +02:00
Aaron Record
900c676b02 Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
Rémi Verschelde
e7868626fa
Merge pull request #61148 from Jummit/drop-unique-nodes 2022-05-18 16:13:54 +02:00
Rémi Verschelde
5b3d596285
Merge pull request #60774 from TokageItLab/root-seek-mode
Fixed broken root motion calculation in internal process of `AnimationBlendTree` such as `NodeOneShot`
2022-05-18 15:24:21 +02:00
Jummit
1101f6c660 Use % when dropping unique scene nodes into script
This expands uppon #60708, using `get_node("%NodeName")` for nodes that
have a unique scene name to avoid having to change the onready
statements when the paths of the nodes change.
2022-05-18 15:21:31 +02:00
Rémi Verschelde
d5c1de784c
Merge pull request #61115 from KoBeWi/don't_quote_me_on_that 2022-05-17 21:24:47 +02:00
kobewi
995bcd6218 Include quotes conditionally for dropped paths 2022-05-17 16:30:23 +02:00
Rémi Verschelde
5b02415fd0
Merge pull request #55134 from KoBeWi/script_pillow_or_something
Always soft-reload scripts
2022-05-17 15:09:09 +02:00
Rémi Verschelde
1d5e662766
Merge pull request #60708 from timothyqiu/drop-onready 2022-05-17 13:58:51 +02:00
Yuri Rubinsky
c84d050980 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-17 13:28:21 +03:00
Rémi Verschelde
743fce6834
Merge pull request #59242 from Sauermann/fix-editor-select-toplevel
Fix that Top Level CanvasItems are unselectable in editor
2022-05-17 08:22:12 +02:00
Haoyu Qiu
3094e739f5 Create onready variables when dropping nodes and holding Ctrl 2022-05-17 11:51:22 +08:00
Markus Sauermann
4cb74a5270 Fix that Top Level CanvasItems are unselectable in editor
Previously the parent Transform2D was included in the calculation
2022-05-17 01:36:28 +02:00
SnailRhymer
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
Rémi Verschelde
b154f445d5
Merge pull request #60507 from bruvzg/textmesh
Implement TextMesh.
2022-05-16 13:52:57 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
388988d341
Merge pull request #61068 from Calinou/editor-gpuparticles3d-tweak-attractor-gizmo 2022-05-16 13:48:54 +02:00
Rémi Verschelde
75e4d24ace
Merge pull request #61071 from timothyqiu/leading-stylebox 2022-05-16 13:47:39 +02:00
Haoyu Qiu
4b013a9c96 Fix crash when editing pinned StyleBox 2022-05-16 17:33:24 +08:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Hugo Locurcio
d329229ad6
Use a different color for GPUParticlesAttractor3D editor gizmos
This makes attractor gizmos (orange) distinguishable from
collision gizmos (blue).
2022-05-16 01:45:12 +02:00
Yuri Rubinsky
eb80a9f325
Merge pull request #60978 from fire-forge/shader-caps
Capitalize AO, AA, UV, and UV2 in visual shader output ports
2022-05-13 09:31:56 +03:00
FireForge
584a646f50 Capitalize output port names in visual shader 2022-05-13 00:53:09 -05:00
bruvzg
05963674a7
Implement TextMesh resource.
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-13 08:20:22 +03:00
Rémi Verschelde
f263e3ac81
Merge pull request #60954 from V-Sekai/fix_ownership_of_created_nodes 2022-05-12 23:11:00 +02:00
Yuri Rubinsky
a439832035 Fix signal completion in GDScript editor 2022-05-12 16:10:48 +03:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
SaracenOne
ce99de32b8 Fix ownership of nodes created by the MeshInstance3DEditorPlugin
and Skeleton3DEditorPlugin when used on foreign nodes.
Make gizmos visible upon creation rather than having to select
them first.
Make UV2 unwrapping and PhysicalBone creation properly subject
to UndoRedo.
2022-05-11 22:03:07 +01:00
Rémi Verschelde
a12fe31e1f
Merge pull request #60873 from KoBeWi/ded 2022-05-09 22:47:44 +02:00
Yuri Roubinsky
a8bbe570ca Rename hint_albedo, hint_white/black in shaders 2022-05-09 22:50:18 +03:00
Yuri Rubinsky
033e211724
Merge pull request #60845 from Chaosus/vs_color_func 2022-05-09 21:34:34 +03:00
Silc Renew
ba8398f270 Fixed delta & Implement selection of whether or not to seek root 2022-05-09 08:28:32 +09:00
kobewi
8177a8d358 Remove unused code 2022-05-08 02:49:20 +02:00
Yuri Roubinsky
ee1b7a033d Push HSV2RGB/RGB2HSV to ColorFunc (from VecFunc) in visual shaders 2022-05-07 09:49:12 +03:00
Yuri Roubinsky
edd3b1274e Change output port of VisualShaderNodeColorUniform to vec4 2022-05-07 08:40:19 +03:00
Vitika9
aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Rémi Verschelde
90da6ad9b4
Merge pull request #58024 from geowarin/master
use physical keys for numpad emulation in the editor
2022-05-05 08:35:11 +02:00
Haoyu Qiu
b3162e270e Fix global AnimationLibrary name validation 2022-05-05 11:19:54 +08:00
Hugo Locurcio
016cca1740
Merge pull request #54606 from Calinou/mesh-editor-plugin-tweak-msaa
Use 4× MSAA for the Advanced Import Options 3D preview
2022-05-04 23:18:08 +02:00
Haoyu Qiu
c0516c2312 Handle AssetLib repository config error 2022-05-04 22:18:41 +08:00
Rémi Verschelde
1b2992799b
Merge pull request #60727 from aaronfranke/basis-axis-column 2022-05-03 19:36:07 +02:00
Guilherme Felipe de C. G. da Silva
e72b86b499 Fix state machine box selection 2022-05-03 12:42:51 -03:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods 2022-05-03 09:37:47 -05:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Guilherme Felipe
e7056c195d Improvements of state machine
- Open the menu to add new animation nodes by dragging the transitions to
empty areas and automatically connecting them.
- Adds box selection to the state machine.
- Add feature to group/ungroup selected nodes in a "sub" state machine.
- Add start/end node by default. In addition, add new color to these
nodes to differentiate then.
- Add tooltip for transitions to show the connection "from -> to".
- Add new "type" of transition line when multiple transitions are
grouped.
- Add popup to connect nodes in sub state machine.
- Add dialog to select which nodes can be deleted when they are grouped.
- Add classes:
	AnimationNodeStartState
	AnimationNodeEndState
	EditorAnimationMultiTransitionEdit
- Implements disabled transition

API Changes:
- Now it's posible to add transitions between state machines,
`AnimationNodeStateMachine::add_transition` will works with relative path,
this means you can use it like this `add_transition("Idle", "Walk", tr)`
or `add_transition("Idle", "StateMachine/Shoot)`.
2022-05-02 13:06:36 -03:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
kobewi
142d0e7d75 Change Place Random Tiles to an icon 2022-05-01 22:13:30 +02:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns" 2022-04-29 08:02:39 -05:00
Rémi Verschelde
12f25ce574
Merge pull request #60521 from IgorKordiukiewicz/warning-ignore-annotations
Added button to add warning ignore annotations
2022-04-29 14:52:34 +02:00
Markus Sauermann
a793960a10 Fix cppcheck const parameters
Convert method signature parameters to const where it is possible

# Conflicts:
#	drivers/gles3/rasterizer_canvas_gles3.cpp
#	drivers/gles3/rasterizer_canvas_gles3.h
#	editor/plugins/animation_state_machine_editor.cpp
#	editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Igor Kordiukiewicz
8462647871 Added button to add warning ignore annotations 2022-04-28 02:46:05 +02:00
Rémi Verschelde
2890ac7100
Merge pull request #60319 from TokageItLab/implement-global-rest 2022-04-27 11:06:42 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
FireForge
fb1d4be7bd Add RayCast2D target_position editor handle 2022-04-26 15:14:35 -05:00
Rémi Verschelde
e8cca501fe
Merge pull request #60395 from Geometror/editor-gradient-preview-plugin 2022-04-26 12:22:07 +02:00
Rémi Verschelde
948f4e3fbd
Merge pull request #60008 from fire-forge/bitmap-preview 2022-04-26 12:20:07 +02:00
Rémi Verschelde
e77a7c2976
Merge pull request #60369 from timothyqiu/al-validate
Fix AnimationLibrary name validation
2022-04-26 08:17:41 +02:00
Igor Kordiukiewicz
fa3d53ab4e Fixed issue where panels in sprite frames editor couldn't be resized 2022-04-26 02:34:18 +02:00
Rémi Verschelde
3ff0cc5c1c
Merge pull request #60401 from fire-forge/gradient-undoredo 2022-04-25 16:58:30 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
bfc727d970
Merge pull request #60493 from Calinou/editor-add-external-link-icon 2022-04-25 16:04:15 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +02:00
Yuri Rubinsky
d9d871dfbf
Merge pull request #60439 from Chaosus/vs_vec4 2022-04-25 07:20:44 +03:00
Hugo Locurcio
5626d026d8
Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.

The icon was designed by redlamp.

Co-authored-by: Taylor Wright <taylor@redlamp.org>
2022-04-24 17:26:29 +02:00
Aaron Franke
80aaca42ec
Fix "Vector4DDecompose" typo in VisualShaderEditorPlugin 2022-04-24 01:31:53 -05:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Yuri Roubinsky
8bf632240d Continue to improve vector4 type in visual shaders 2022-04-22 22:29:26 +03:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
FireForge
1f60584970 Add an inspector preview for BitMap 2022-04-20 22:20:31 -05:00
Hendrik Brucker
a93834c819 Add gradient resource preview generator 2022-04-21 00:08:35 +02:00
FireForge
a384031326 Fix UndoRedo in Gradient editor 2022-04-20 15:41:30 -05:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4 2022-04-20 08:33:42 +03:00
Haoyu Qiu
d8fed8fb69 Fix AnimationLibrary name validation 2022-04-19 17:15:43 +08:00
Silc 'Tokage' Renew
4d4ffa3a2c Implement global rest 2022-04-18 02:11:19 +09:00
Rémi Verschelde
668c498659
Merge pull request #60030 from KoBeWi/pewport 2022-04-13 12:57:21 +02:00
SaracenOne
f8cc2e054d Ensure gizmos are added to newly created Node3D-derivatives and silence error for attempting to create gizmos twice 2022-04-13 04:39:01 +01:00
Rémi Verschelde
895f2a21f4
Merge pull request #60081 from fire-forge/input-event-editor-fix
Redesign InputEvent editor and fix `Window.popup_centered()` rect calculation.
2022-04-12 23:46:56 +02:00
Hendrik Brucker
cf58d23a72 Add Vector4 to VisualShader 2022-04-12 19:09:29 +02:00
Rémi Verschelde
c896ba8c8c
Merge pull request #60163 from fire-forge/texture-size-x 2022-04-12 16:34:08 +02:00
FireForge
0b0a74e135 Redesign InputEvent editor plugin
- Use vertical layout and add text wrapping
- Fix Window.popup_centered() rect calculation
2022-04-12 08:30:24 -05:00
Rémi Verschelde
43f94c95aa
Merge pull request #60057 from timothyqiu/select-frames 2022-04-12 14:43:37 +02:00
bruvzg
59e0a55c9c
Fix OpenType property editor signal connection. 2022-04-12 13:15:10 +03:00
Rémi Verschelde
f586e06f7b
Merge pull request #60166 from bruvzg/narrow_file_access 2022-04-12 10:39:54 +02:00
bruvzg
4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
Haoyu Qiu
2b97020543 Disable Open in Inspector when there is no animation 2022-04-12 13:10:42 +08:00
FireForge
d879d6016a Use multiplication symbol in Texture size label 2022-04-11 23:02:39 -05:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
Haoyu Qiu
90782a18b7 Improve Select Frames dialog of SpriteFrames editor 2022-04-09 17:30:00 +08:00
kobewi
216fe8f8d9 Fix 2D editor menu position 2022-04-08 17:09:40 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
Rémi Verschelde
f00803b8a5
Merge pull request #56695 from bruvzg/mod_unicode_input 2022-04-05 14:03:39 +02:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
Yuri Roubinsky
5db47c5521 Fix lookup symbol in scripts which doesn't open a tab at first attempt 2022-04-05 10:18:45 +03:00
Rémi Verschelde
b78aa4fe19 Style: Apply clang-tidy to current code, add readability-redundant-member-init 2022-04-04 21:49:51 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Michael Alexsander
1062bc9884 Fix creation and reopening of built-in scripts 2022-04-03 15:34:21 -03:00
Rémi Verschelde
c630c2001d
Merge pull request #59633 from EricEzaM/better-code-complete-update
Improve sorting of Code Completion options.
2022-04-03 12:34:00 +02:00
Eric M
4ab605d14d Improve sorting of Code Completion options.
Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
2022-04-01 20:39:09 +10:00
kobewi
004ced89aa Fix name of the created static trimesh body 2022-03-31 18:02:18 +02:00
Hendrik Brucker
314430b868 Cleanup EditorNode and EditorData
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-03-30 20:12:26 +02:00
Rémi Verschelde
01a3b84545
Merge pull request #59558 from V-Sekai/primitive-indicies 2022-03-29 14:43:26 +02:00
Yuri Roubinsky
509598e8c0 Remove SHADOW_ATTENUATION spatial light shader built-in 2022-03-29 08:43:31 +03:00
Yuri Roubinsky
9edbdc4f36 Add refs to shading language to the desciption of input nodes in vshader 2022-03-28 22:01:10 +03:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
Rémi Verschelde
00e9170812
Merge pull request #59574 from Sauermann/proposal-rename-warp-mouse
Rename warp mouse functions to warp_mouse
2022-03-28 08:52:02 +02:00
Michael Alexsander
c331a3a614 Fix errors when locking nodes 2022-03-27 16:10:57 -03:00
reduz
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Markus Sauermann
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
K. S. Ernest (iFire) Lee
ee954914d9 Clarify what primitives means. 2022-03-26 10:25:13 -07:00
Rémi Verschelde
d3064400c5
Merge pull request #59500 from fire-forge/opentype-button 2022-03-25 18:14:58 +01:00
FireForge
15f4b283bb Make the OpenType "Add Feature..." button full width 2022-03-25 11:18:09 -05:00
FireForge
c0f2825f8b Remove space in MeshLibrary editor button 2022-03-24 15:28:19 -05:00
Haoyu Qiu
81c21ebf39 Add TTR context for pagination button texts 2022-03-24 13:48:07 +08:00
Rémi Verschelde
600ff3a221
Merge pull request #48310 from Blackiris/fix-create-skeleton-physical-bones-4.0 2022-03-21 11:25:41 +01:00
kobewi
3bd7f82162 Reduce the size of Controls editor toolbar 2022-03-20 17:04:23 +01:00
Yuri Roubinsky
0d9aecd967 Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
Yuri Roubinsky
99e26b6e63 Fix editor crash when renaming visual shader port 2022-03-18 09:52:12 +03:00
Michael Alexsander
deb1342036 Make TabBar/Container default their alignments to the left instead of center 2022-03-17 18:12:23 -03:00
Rémi Verschelde
c0b472dfe2
Merge pull request #58967 from fire-forge/gradient2d_editor 2022-03-17 19:43:29 +01:00
FireForge
9c0261ff85 Add GradientTexture2D editor plugin 2022-03-17 10:32:54 -05:00
Rémi Verschelde
178961a6dc
Merge pull request #59183 from YeldhamDev/assetlib_less_borders
Remove extra borders from the AssetLib plugin
2022-03-16 23:50:18 +01:00
Priyansh Rathi
edbf757208
fix axis handle gizmo letters at wrong positions on varying editor scale 2022-03-17 02:20:57 +05:30
bruvzg
98d0af7d5c
Implement GDExtension export plugin. 2022-03-16 11:16:19 +02:00
Michael Alexsander
fc0e657e8f Remove extra borders from the AssetLib plugin 2022-03-15 20:40:46 -03:00
taigi100
6c4dbf92ac
Update to only use select tool on button press
It used to run the code twice, probably once on button press, once on button release.
2022-03-15 20:04:59 +02:00
Haoyu Qiu
0ac6e6acbe More icon updates on theme change 2022-03-15 23:05:41 +08:00
Rémi Verschelde
51bbcbdec2
Merge pull request #45263 from KoBeWi/😕 2022-03-15 13:18:27 +01:00
Rémi Verschelde
cf834db44c
Merge pull request #59137 from timothyqiu/sprite-frames-editor 2022-03-15 09:10:48 +01:00
Haoyu Qiu
7cabf49e67 Improves SpriteFrames editor 2022-03-15 14:39:40 +08:00
Haoyu Qiu
d07fd739ca Separate 2D grid visibility and grid snap 2022-03-15 08:54:07 +08:00
Rémi Verschelde
4f40a71e03
Merge pull request #57436 from AnilBK/change-scopes
Scope Changes for some variables.
2022-03-13 22:10:16 +01:00
Hugo Locurcio
6f76aaec82
Improve display of freelook/zoom speed indicator bars in the 3D editor
- Use a different color for freelook and zoom speed bars.
- Use an outline for the text to make it readable on any background.
2022-03-13 18:57:28 +01:00
Ricardo Buring
ac32535d6e Fix out of bounds crash in particle collision gizmo 2022-03-12 23:57:12 +01:00
Rémi Verschelde
38122b8d85
Merge pull request #59050 from KoBeWi/tsal_eht_morf_ssecca 2022-03-12 14:50:56 +01:00
Rémi Verschelde
51505519c1
Merge pull request #59040 from Sauermann/fix-cursorshape-animationnodestatemachineeditor 2022-03-12 14:49:13 +01:00
Haoyu Qiu
b255efba7c Hide smart snapping line when guideline dragging ends 2022-03-12 14:37:20 +08:00
kobewi
42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
Markus Sauermann
0d96dbcb2a Use get_cursor_shape for identifying the cursor shape in AnimationNodeStateMachineEditor
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.

Fix minor issue with selection order.
2022-03-11 19:10:45 +01:00
Haoyu Qiu
6a1e3380f8 Remove unused code in AnimationPlayerEditor::_update_animation_list_icons() 2022-03-11 07:51:15 +08:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
Rémi Verschelde
83f2942a04
Merge pull request #58969 from timothyqiu/ani-editor-theme
Fix some Animation panel icons not updating after theme change
2022-03-10 08:59:39 +01:00
Haoyu Qiu
83828c7d1b Fix some Animation panel icons not updating after theme change 2022-03-10 14:46:03 +08:00
Haoyu Qiu
af16e099ea Fix TextureRegion editor grid color for light themes 2022-03-10 10:59:01 +08:00
Rémi Verschelde
97cb90aa3a
Merge pull request #58907 from novaplusplus/gutter_spam_fix 2022-03-09 21:13:24 +01:00
Rémi Verschelde
f17c5501eb
Merge pull request #58865 from timothyqiu/more-i18n
Add missing i18n to various strings
2022-03-09 20:38:19 +01:00
kobewi
39d429e497 Change some math macros to constexpr
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09 16:24:32 +01:00
nova++
ce66f8a7a0 Add check to prevent "p_gutter = -1" error spam 2022-03-08 20:23:46 -05:00
Yuri Roubinsky
4d6790e9df Add _get_func_code/_is_available virtual functions to custom nodes 2022-03-08 16:23:44 +03:00
Rémi Verschelde
f470979732
Merge pull request #58896 from timothyqiu/locks-n-groups 2022-03-08 12:54:59 +01:00
Haoyu Qiu
fb999ebe22 Don't show Lock & Group buttons for nodes hidden by CanvasLayer 2022-03-08 19:43:34 +08:00
Silc 'Tokage' Renew
40f2eefe78 fix deselect behavior for Skeleton gizmo 2022-03-08 19:26:27 +09:00
K. S. Ernest (iFire) Lee
fd411e580a Avoid gizmo crashes in cases where the points are null.
fix for pose editor
2022-03-08 06:21:04 +09:00
Haoyu Qiu
25d93200c8 Add missing i18n to various strings 2022-03-07 21:50:49 +08:00
Yuri Roubinsky
c20860a1f4
Merge pull request #58854 from Chaosus/vs_varying_fix 2022-03-07 12:14:24 +03:00
Rémi Verschelde
53cf5eff9a
Merge pull request #58847 from KoBeWi/editor_settings_mess 2022-03-07 08:38:15 +01:00
Yuri Roubinsky
87c7fe69f2 Fix _update_varyings call in visual shader 2022-03-07 10:26:09 +03:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Rémi Verschelde
bb5d71f6cc
Merge pull request #58719 from Chaosus/vs_builtins
Adds few more input/output built-ins to visual shader
2022-03-07 07:39:51 +01:00
kobewi
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
Rémi Verschelde
52b6088c1d
Merge pull request #58800 from rcorre/blender-nav
Disable blender-style transforms in freelook.
2022-03-06 10:19:41 +01:00
kobewi
7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
Rémi Verschelde
d37e8586be
Merge pull request #58788 from reduz/rename-streamtexture
Rename StreamTexture* to CompressedTexture*
2022-03-06 00:19:55 +01:00
kobewi
bc3aff9b46 Various code and documentation improvements 2022-03-05 22:00:35 +01:00
Ryan Roden-Corrent
34b87772b4
Disable blender-style tranforms in freelook.
It's common to bind instant_scale to s, which conflicts with WASD
bindings in freelook mode.

Fixes #58502.
2022-03-05 15:00:11 -05:00
reduz
ccd4cdfd8b Rename StreamTexture* to CompressedTexture*
* Its not and will not be used for streaming.
* Streaming will be implemented in 4.1 and it will work different.
* It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-05 16:43:38 +01:00
Haoyu Qiu
8dc12135cd Fix animation resource name after duplication 2022-03-05 21:00:34 +08:00
Haoyu Qiu
86c76dca12 Make name of editor file dialog filters translatable 2022-03-05 12:32:38 +08:00
Rémi Verschelde
c9d0523302
Merge pull request #58770 from YeldhamDev/some_crumbles_left
Replace some bits of code left to work with the new `TabContainer`
2022-03-04 23:39:25 +01:00
Rémi Verschelde
27377170d2
Merge pull request #58727 from fire-forge/EditorSpinSlider_label_color
Make EditorSpinSlider label color a theme property
2022-03-04 23:38:55 +01:00
Michael Alexsander
917dac78e7 Replace some bits of code left to work with the new TabContainer 2022-03-04 19:16:33 -03:00
FireForge
6a4d3859cf Make EditorSpinSlider label color a theme property 2022-03-04 15:27:50 -06:00
Yuri Roubinsky
15a87f8e92 Add varying support to visual shaders 2022-03-04 23:30:47 +03:00
Rémi Verschelde
9d5d20ae6d
Merge pull request #58687 from YeldhamDev/the_beast_has_been_slain 2022-03-04 12:18:55 +01:00
FireForge
1e7108938c Add node icons to the Sprite2D menu 2022-03-04 01:17:35 -06:00
Michael Alexsander
a811ebf699 Make TabContainer use TabBar internally 2022-03-03 21:49:58 -03:00
Yuri Roubinsky
2f8cb76899 Adds few more input/output built-ins to visual shader 2022-03-03 21:28:23 +03:00
Igor Kordiukiewicz
ed0da06958 Added property hint to id property in tile set atlas source editor 2022-03-02 20:33:03 +01:00
Rémi Verschelde
3f9a6011fe
Merge pull request #58632 from IgorKordiukiewicz/camera-preview-toggle-crash
Fixes camera preview toggle in additional editor viewports not disappearing corectly causing a crash
2022-03-01 19:59:17 +01:00
kobewi
f653107764 Fix scripts not saving when closing 2022-03-01 01:23:26 +01:00
Igor Kordiukiewicz
ffa4a02808 Fixes camera preview toggle in additional editor viewports not disappearing corectly causing a crash 2022-02-28 15:47:35 +01:00
Yuri Roubinsky
a4a8de3874 Fix crash on creation of HSV2RGB/RGB2HSV functions in visual shader 2022-02-27 17:51:31 +03:00
bruvzg
74ff5921d6 Improve popup window handling.
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
kobewi
b727b81468 Fix source picking with sort 2022-02-24 01:20:21 +01:00
Haoyu Qiu
33ad21d2ed Utilize mouse position when zooming with shortcuts in 2D editor 2022-02-23 20:45:44 +08:00
lawnjelly
bb070af610 Fix GIProbe gizmo out of bounds crash
The GIProbe gizmo was writing values in 3 dimensions to Vector2s. This error was previously being masked by the Vector2 accessor, but now results in a crash or ERR_FAIL message.

This PR removes the Vector2s as they were unused.
2022-02-22 19:01:18 +00:00
SaracenOne
04535bdc7d Fix contextual tileset editor and ensure button is always visible when tileset is available 2022-02-21 13:34:11 +00:00
Rémi Verschelde
adf10902c9
Merge pull request #58315 from KoBeWi/fixibility 2022-02-21 12:33:17 +01:00
kobewi
3a9fb3aff0 Fix 2D instance drop position 2022-02-20 23:09:47 +01:00
kobewi
3a77484f70 Fix CanvasItem visibility propagation 2022-02-19 22:40:53 +01:00
Markus Sauermann
ec8e616024 Fix vertical icons in container sizing 2022-02-19 19:29:53 +01:00
Eric M
f6edd2d2a0 Fixed issues with shortcut checking in 3d node editor
The freelook shortcuts now use the action system by proxy. This allows the actions system to be leveraged for input checking. When the shortcut changes, the respective action is updated.
2022-02-18 23:19:22 +10:00
Hugo Locurcio
958912a33f
Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.
2022-02-17 18:17:02 +01:00
Rémi Verschelde
009254d87c
Merge pull request #58187 from jakobbouchard/notification-switch-chunk-c
Convert _notification methods to switch - Chunk C
2022-02-16 20:58:55 +01:00
Jakob Bouchard
6553f5c242
Convert _notification methods to switch - Chunk C 2022-02-16 13:03:05 -05:00
Rémi Verschelde
51a00c2855
Merge pull request #58182 from akien-mga/style-cleanup-if-semicolons-deadcode 2022-02-16 16:55:07 +01:00
Rémi Verschelde
33c7f52f36
Merge pull request #58169 from megalobyte/update-notificatin-if-to-switch-batch-B 2022-02-16 16:39:23 +01:00
megalobyte
8824b6c5e9 Update if == NOTIFICATION_* to switch statements to match coding style 2022-02-16 08:44:37 -05:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
kobewi
547786650f Automatically select source of the picked tile 2022-02-16 00:39:00 +01:00
Rémi Verschelde
11572c6e30
Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
Rémi Verschelde
1d910b1e58
Merge pull request #57863 from Calinou/editor-use-anchors-metadata-no-redundant 2022-02-15 14:41:27 +01:00
Rémi Verschelde
6d708dfd6a
Merge pull request #57329 from Ev01/tileset-editor-minimum-zoom 2022-02-15 14:20:22 +01:00
Rémi Verschelde
f810f76890
Merge pull request #57306 from trollodel/remove_editornode_param 2022-02-14 16:40:40 +01:00
trollodel
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
JFonS
8317753c24
Merge pull request #57964 from mbrlabs/deselect
Deselect nodes in the 3D editor when pressing ESC
2022-02-14 10:42:46 +01:00
JFonS
58199e5ad0
Merge pull request #57990 from jmb462/fix-drag-lines-precision-issue
Fix 3D editor axis drag lines precision issue
2022-02-14 10:39:44 +01:00
Haoyu Qiu
9aaab5b693 Make duplicate animation prompt for new name 2022-02-14 14:48:25 +08:00