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
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
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