lawnjelly
942a304f4e
Physics Interpolation 2D - fix light and light occluder resetting
...
It turns out `NOTIFICATION_TRANSFORM_CHANGED` is deferred for these nodes, which can mean the transform is not set in the `VisualServer` until after the reset has been sent, even if the transform is set before the reset in script. This prevented the reset from acting correctly.
Here we explicitly set the transform prior to each reset, to ensure the `VisualServer` is up to date.
2024-04-06 11:02:42 +02:00
lawnjelly
010b8ba73b
Optimize AnimationTree::_process_graph()
...
Removes redundant lookups on HashMap.
2024-04-06 10:59:29 +02:00
lawnjelly
da78ed110a
Fix Mesh::get_face_count()
...
This fixes a minor bug whereby facecount was actually returning the facecount * 3.
There were no major problems from this, but it did mean the optional threshold poly count used when merging was out by a factor of 3.
2024-04-06 10:42:03 +02:00
c0805afa6c
Rework the vertex light 3d module to actually be 3d.
2024-03-27 16:02:08 +01:00
cd8f79865e
Added a property to World2D for the vertex light 2d map.
2024-03-27 08:16:48 +01:00
d7a54d702d
Free vertex_lights_2d_map in World2D's destructor.
2024-03-25 09:17:44 +01:00
3fc75ad15f
Set up VertexLight2D maps.
2024-03-24 22:14:26 +01:00
272ae15993
Now tooltips won't get scaled to their original control's scale anymore by default. Added a new gui_scale_tooltips property to Viewport to be able to use the previous behaviour when it's desired.
2024-03-13 16:55:47 +01:00
105115dbb3
Removed clips_input() method and _clips_input() virtual method from Control. Made clip_contents to also have an input clipping effect, since I couldn't think any single instance where keeping them separated would be useful.
...
This fixes LayeredTileMap's editors clipping input while being invisible, and likely other smaller issues.
2024-03-12 17:29:22 +01:00
b11bd949cc
Backported from Godot4: Allow disabling scrolling in Tree.
...
- groud
b2dddc3c82
2024-03-11 13:46:53 +01:00
60eb59ab19
Backpoered from Godot 4: Add is_built_in() method to Resource.
...
- KoBeWi
e393c2a734
2024-03-08 21:16:16 +01:00
be0b5b5bdc
Backported from Godot4: Implement Tabs minimum size.
...
- groud
898a2a7cf3
2024-03-07 21:57:49 +01:00
2b85fcdbb5
Backported ViewPanner from Godot4. It also got bindings, now inherited from Resource, and is registered in the ClassDB.
2024-03-01 22:39:19 +01:00
cf7b59b6c8
Fix small formatting inconsistencies.
2024-03-01 16:25:19 +01:00
6a6d3acd96
Clang format everything.
2024-03-01 11:56:19 +01:00
a5d8696021
Ported: Vertex cache optimizer
...
Optimizes indices to make good use of vertex cache on GPU.
- lawnjelly
0aa22b8f13
2024-02-08 21:35:01 +01:00
c3c6d64a50
Portred: Add MergeGroup node to simplify merging Meshes at runtime.
...
- lawnjelly
8b79135538
2024-02-08 21:00:07 +01:00
ae7409bf52
Ported: Fix signed distance field font rendering
...
This fix works in both GLES3 and GLES2.
The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.
- lawnjelly and Calinou
bc607fb607
2024-02-08 19:11:34 +01:00
5d2a594843
Ported: Shadow volume culling and tighter shadow caster culling
...
Existing shadow caster culling using the BVH takes no account of the camera. This PR adds the highly encapsulated class VisualServerLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
This is used to:
* More accurately defer dirty updates to shadows when the shadow volume does not intersect the camera frustum.
* Tighter cull shadow casters to the view frustum.
Lights dirty state is now automatically managed:
* Continuous (tighter caster culling)
* Static (all casters are rendered)
- lawnjelly
8ca631a466
2024-02-08 18:40:44 +01:00
lawnjelly
61645f36f3
Portals - Improve conversion logging
...
Logging is now allowed in any TOOLS build (rather than just in the editor), but still prevented in final exports.
Logging can be switched off via project settings.
Autoplacement is now logged.
2024-02-08 15:12:23 +01:00
lawnjelly
f09cdf5954
Portals - include in bound and special cases in start room
...
* Re-introduces a property for portals to decide whether they are included in room bounds during room conversion.
* Adds a special case for portals that extend into the start room, which may be caused by level design inaccuracies.
2024-02-08 15:10:00 +01:00
Micky
d1621245e6
Add Editor Description group
...
Backport from 4.0
2024-02-08 14:56:04 +01:00
kobewi
1a98244aac
Preserve selection when focusing SpinBox
2024-02-08 14:44:21 +01:00
Micky
4e68cd0251
Remove unused struct in GradientTexture1D
2024-02-08 13:25:47 +01:00
1d8e1f7065
Fixed TextEdit width calculation after it's font changes. This fixes lines being too long to scroll to in the editor.
2024-01-12 12:43:39 +01:00
8d67178204
Backported from godot4: Fix TextEdit.get_rect_at_line_column returning negative pos even though cursor is in viewable area of the control
...
- MJacred
6170381bd7
2024-01-12 12:24:09 +01:00
a38d3e5d61
Fix typo.
2024-01-12 12:18:05 +01:00
kleonc
44453b1d58
Make gizmo plugin handle SpriteBase3D instead of Sprite3D
2023-12-20 22:44:23 +01:00
Jakub Marcowski
f45f3bbc73
Remove the separator from ItemList
's thumbnail mode
2023-12-20 22:36:05 +01:00
5133ef182d
File copyright header updates pt10.
2023-12-18 00:31:04 +01:00
98912a89e8
File copyright header updates pt9.
2023-12-18 00:25:33 +01:00
88e9ad04f2
Moved back the servers and resources from core.
2023-12-10 23:11:07 +01:00
11945d7f1d
Split material.h.
2023-12-10 21:26:28 +01:00
ee245511fd
Removed unnecessary include.
2023-12-10 20:29:39 +01:00
63c895747a
Moved Curve and Gradient to core.
2023-12-10 20:23:51 +01:00
e32155717c
Moved 2d shapes to core.
2023-12-10 20:03:16 +01:00
9d2309bfe1
Moved shapes to core.
2023-12-10 19:58:44 +01:00
053f083e17
Moved the Physics 2d server to core.
2023-12-10 19:42:57 +01:00
dbcc6e33da
Moved the physics server to core.
2023-12-10 19:36:00 +01:00
238bf1b331
Moved the RenderingServer to core.
2023-12-10 19:04:24 +01:00
049440aaf1
Moved BitMap to core.
2023-12-10 18:07:25 +01:00
3902cf1924
Moved ScneeStringNames and PropertyUtils into scene/main.
2023-12-10 18:01:51 +01:00
191e9e152e
Added quote_style argument to get_argument_options().
2023-12-10 16:02:08 +01:00
9df5649c1b
Moved CanvasItem, Control, Node2D and Spatial under scene/main.
2023-12-10 15:50:54 +01:00
0dfba6c552
Moved AudioStreamSample.
2023-12-10 15:26:43 +01:00
763f662263
Moved meshes to a new subfolder.
2023-12-10 15:22:09 +01:00
deccaed2cc
Moved materials into a new subfolder.
2023-12-10 14:59:22 +01:00
08160fd63f
Moved fonts into a new subfolder.
2023-12-10 14:42:30 +01:00
4cbc387c53
Moved the navigation relatred resources into subfolders.
2023-12-10 14:23:24 +01:00
2cc42b045a
Moved shapes under a new shapes folder.
2023-12-10 14:10:10 +01:00
e50ab7fa84
Moved 2d shapes under a new shapes_2d folder.
2023-12-10 13:55:20 +01:00
11b8f50a82
Moved SyntaxHighlighter.
2023-12-10 13:44:52 +01:00
b34258606b
Moved Animation from scene/resources to scene/animation.
2023-12-10 13:30:23 +01:00
edb250930d
Small improvement to the CSplitCointainer.
2023-10-20 16:56:18 +02:00
2e7709185a
Added a new CSplitContainer type which acts as both a VSplitContainer and HSplitContainer and allows changing between them using a property.
2023-10-20 15:06:23 +02:00
e6ee1f0c0f
Added a new CBoxContainer type which acts as both a VBoxContainer and HBoxContainer and allows changing between them using a property.
2023-10-20 13:44:43 +02:00
b4692f1763
Port4ed from godot: Add binary MO translation file support. Add brotli decoder and WOFF2 support.
...
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
- bruvzg
fd2fba7c2c
2023-10-02 21:12:03 +02:00
59ae5c4662
Ported from godot: add support for 3 dir shadow splits
...
- Ansraer
54bc6a300e
2023-10-02 18:12:54 +02:00
cc012d3f92
Ported from godot: CPUParticles2D - Add ability to follow physics interpolated target
...
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.
- lawnjelly
3e19cf834a
2023-10-02 17:49:41 +02:00
f4339d2a49
Ported: CPUParticles2D - fix interpolated transforms and culling
...
1) Physics interpolated particles in global mode are specified in global space. In VisualServer they should therefore ignore local transform.
2) Additionally, the expected final_transform should be passed on to children, rather than the identity transform used on the local item.
3) Local bounds in hierarchical culling are fixed for items using identity transform, by calculating their local bound in local space from the global space particles.
- lawnjelly
723632a76a
2023-10-02 17:32:07 +02:00
a4b475b6b4
Fix compile error.
2023-10-02 17:28:21 +02:00
Haoyu Qiu
e3dd88e9ec
Fix PopupMenu icon and text not having separation
2023-10-02 16:56:58 +02:00
lawnjelly
994ae99f62
Physics Interpolation - automatic resets for Camera2D and TileMap.
...
Extra reset required for Camera2D. TileMaps require resetting by quadrant.
2023-10-02 16:50:50 +02:00
lawnjelly
a09c3891db
CPUParticles - fix non-interpolated NOTIFICATION_TRANSFORM
...
Updates global particle transforms immediately on receiving notification, to match legacy behaviour.
2023-10-02 16:47:45 +02:00
MJacred
519d0647fd
Fix cursor after last character in line counting as a character outside of the viewing area
...
The cursor column can be after the last_visible_char index and still be visible.
2023-10-02 16:40:26 +02:00
A Thousand Ships
3f6fdafd41
Make TextureButton
and Button
update on texture change
2023-10-02 16:32:02 +02:00
Haoyu Qiu
30376f7079
Fix TouchScreenButton not redrawn when texture changes
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-10-02 16:23:16 +02:00
4b4e508dab
Moved the toplevel property from CanvasItem to Node2D, as it can cause issues with Popups.
2023-09-27 01:15:38 +02:00
840e36c341
Only update the RenderingServer from the Main Thread while in debug break.
2023-09-10 22:49:21 +02:00
36f9e5186b
Removed the prefix from the Input property group in Control.
2023-09-09 09:22:04 +02:00
cf2e53ebc3
Also remove now unnecessary if.
2023-09-09 04:01:26 +02:00
f592c170d1
Go back to using no context Nodes directly to save on lookup, as Nodes shouldn't be deleted like this.
2023-09-09 04:00:47 +02:00
93f4077e73
Stop processing no context node inputs when the input gets handled. Also use ObjectIDs in case Nodes get deleted.
2023-09-09 03:41:19 +02:00
a7cf92860a
Fixed the editor's code editor handling some shortcut events twice.
2023-09-09 02:21:35 +02:00
e3998417e7
Fix shortcut input handling in BaseButton.
2023-09-07 14:11:17 +02:00
ccb6074ca9
Backported the editor constrol changes for the new shortcut system from godot4.
2023-09-07 13:41:05 +02:00
4637f73099
Backported the shortcut context system from godot4.
2023-09-07 12:57:34 +02:00
9a2bf73280
Backported _shortcut_input() virtual from godot4.
2023-09-07 09:56:16 +02:00
66e080d766
Fix typo.
2023-09-07 07:55:48 +02:00
7fcc653a0e
Backported the CallInputType parameter for SceneTree::_call_input_pause() from godot4.
2023-09-07 07:40:45 +02:00
5121b0d56b
Added Toplevel property to CanvasItem. Also removed 2 extremely old compatibility methods.
2023-09-06 20:02:14 +02:00
da0caaad15
Set input as handled when processing shortcuts in BaseButton.
...
This fixes the issue when the script editor tab is active and the scene tree editor is focused, a ctrl+a press both opens the new Node popup and selects all text in the script editor.
Doesn't seem to have negative side effects so far.
2023-09-06 15:11:33 +02:00
e7fe643ce5
Prefix messages with their thread id if they aren't coming from the main thread in the editor log.
2023-09-06 14:19:28 +02:00
deb5c49700
Backported the new output window from godot4.
2023-09-06 13:08:24 +02:00
6be43d2ec6
Backported SceneTree::get_first_node_in_group() from godot4.
2023-09-06 08:54:55 +02:00
8880722565
Removed cell height getters and setters from the Navigation2DServer.
2023-09-05 11:57:34 +02:00
11d47d8fdc
Simplifications to NavigationAgent and NavigationAgent2D.
2023-09-05 11:54:49 +02:00
43c11fcdf5
Backported from godot4: Fix typo and ensure backwards compatibility for changed property names
...
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.
Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.
- DarkKilauea, akien-mga
0572346985
2023-09-05 09:13:54 +02:00
6f3b1fac57
Simplify some logic in NavigationAgent2D.
2023-09-05 09:01:44 +02:00
397a9e9bcd
Backported from godot4: Fix NavigationAgent continues avoidance velocity
...
Fixes NavigationAgent continues avoidance velocity.
- smix8
c912df9d05
2023-09-05 08:01:57 +02:00
1e5f9895e7
Backported from godot4: Remove SceneTree debug avoidance hint
...
Removes SceneTree debug avoidance hint.
- smix8
f1d8ddd9bd
2023-09-04 21:43:06 +02:00
7b52f0200e
Backported from godot4: Fix NavigationObstacle2D debug position
...
Fixes NavigationObstacle2D debug position.
- smix8
2512157294
2023-09-04 21:21:56 +02:00
7001325758
Backported form godot4: Add NavigationRegion function to change navigation map
...
Adds NavigationRegion function to change navigation map.
- smix8
84647ab09e
2023-09-04 21:17:49 +02:00
a222159442
Backported from godot4: Add NavigationServer API to enable regions and links
...
Adds NavigationServer API to enable regions and links.
- smix8
69fad39cf5
2023-09-04 20:22:28 +02:00
b37e0e6a4e
Backported from godot4: Update navigation obstacle API
...
Updates navigation obstacle API.
- smix8
c1fc331b88
2023-09-04 19:55:32 +02:00
aeb4d3fbe2
Backported from godot4: Add agent pause mode to NavigationServer
...
Adds agent pause mode to NavigationServer.
- smix8
https://github.com/godotengine/godot/commit/ae9dd47d0c1c237d0733439862aa5ff651dcac2
2023-09-04 19:04:29 +02:00
2f036edcc5
Backported from godot4: Fix cell_height for navigation meshes
...
Fixes `cell_height` for navigation meshes.
- smix8
180a5cded1
2023-09-04 18:34:15 +02:00
c326722a65
Backported from godot4: Allow negative NavigationAgent2D path debug line_width for thin lines
...
Allows the line_width for NavigationAgent2D path debug to go negativ for thin line rendering.
- smix8
f6a10c0565
2023-09-04 18:03:12 +02:00
e2fd645a42
Ported from godot4: Fix NavigationAgent position not always updating
...
Fixes NavigationAgent position not always updating.
- smix8
34bc410fb4
2023-09-04 17:38:32 +02:00
8485b37515
Ported from godot4: Fix Navigation API abbreviations inconsistency
...
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
- smix8
34e7628f5f
2023-09-04 17:09:39 +02:00