Commit graph

174 commits

Author SHA1 Message Date
Aaron Franke
3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Aaron Franke
9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Thaddeus Crews
33c257c081
Merge pull request #95414 from jsjtxietian/inside-tree
Fix `!is_inside_tree` in csg node when reloading a scene
2025-07-30 09:03:45 -05:00
smix8
c2f8e70aa0 Revert "Create more optimized CSGShape3D baked static mesh"
This reverts commit 28875459d9.
2025-07-04 20:43:28 +02:00
smix8
28875459d9 Create more optimized CSGShape3D baked static mesh
Creates more optimized CSGShape3D baked static mesh by adding indices and cache optimization.
2025-06-13 21:43:28 +02:00
LuoZhihao
8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
Lukas Tenbrink
963c20565b Remove OAHashMap, in favour of AHashMap.
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
Yufeng Ying
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
kobewi
e64a07cc57 Unbind CSGShape::_update_shape() and make it public 2025-03-16 00:36:50 +01:00
Robert Yevdokimov
6f0a0ba408 Fix collision reposition with CSGShape3D 2025-02-13 19:31:58 +04:00
Juan Pablo Arce
dd7bbcc837 Add flag to enable use of accurate path tangents for polygon rotation in CSGPolygon3D
The new property is called `path_rotation_accurate`.
2025-01-17 08:18:21 -03:00
smix8
0ed2cb0439 Make nodes handle their respective navigation source geometry
Makes nodes handle their respective navigation source geometry.
2025-01-12 13:14:46 +01:00
Hilderin
055b418e4d Fix Selection Game View 2025-01-10 09:53:17 -05:00
Thaddeus Crews
77eb92f8f3
Merge pull request #100826 from Lielay9/csg-spin-360
Fix gaps in CSGPolygon3D spin mode at 360 degrees
2024-12-30 08:58:35 -06:00
Hei
d310d9f975 Fix gaps in CSGPolygon3D spin mode at 360 degrees 2024-12-26 13:59:24 +02:00
A Thousand Ships
a1846b27ea
Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Rémi Verschelde
32c634a381
Merge pull request #100526 from fire/vsk-csg-warnings-update
Update the warnings for CSGShape3D.
2024-12-17 23:00:17 +01:00
Hugo Locurcio
7a04d85ec3
Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
If an invalid type is supplied (which can still be done from a script),
a warning is printed (along with a workaround for ViewportTexture).

This also adds support for "negative" resource hints such as
"Texture2D,-ViewportTexture" to exclude one or more subclasses
from a class hint.

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-12-17 20:41:12 +01:00
K. S. Ernest (iFire) Lee
46b02f08c6 Update the warnings for CSGShape3D. 2024-12-17 11:02:38 -08:00
K. S. Ernest (iFire) Lee
441c440bf4 Push some warnings for CSG non manifold and other errors.
In the scene tree add warnings.
2024-12-16 12:49:51 -08:00
smix8
20c519d0fa Fix 3D CSG not reacting to child node order changes
Fixes 3D CSG not reacting to child node order changes.
2024-12-13 00:28:42 +01:00
Hei
b4c6f9b3d9 Mend gaps in meshes caused by trigonometric funcs. 2024-12-06 17:10:12 +02:00
K. S. Ernest (iFire) Lee
6cf1d3c13e Print better manifold errors and avoid crash on non manifold csg input.
* Manifold does not have a snap property.
* Tolerance means simplification amount.
* CSG snap has been removed
* Add better error messages.
* Verbose print manifold meshgl64 properties as json.
* Update manifold for error fixes
2024-12-03 20:19:47 -08:00
K. S. Ernest (iFire) Lee
fda444bb01 Add csg boolean operators using elalish/manifold.
Uses MeshGL64 for more floating point precision.

Co-Authored-By: 31 <31eee384@gmail.com>
Co-Authored-By: Claudio Z <120678869+cloudofoz@users.noreply.github.com>
2024-11-28 06:26:52 -08:00
Zi Ye
a9e51c3aab Fixed CSG debug collision shapes being visible in editor. Also undid an old, incorrect fix which made debug collision visibility depend on CSG visibility. 2024-09-09 14:11:10 -05:00
Rémi Verschelde
b39df869c7
Merge pull request #93252 from smix8/csg_bake
Add CSG options to bake to static mesh and collision shape
2024-08-19 16:04:59 +02:00
jsjtxietian
a630744b9f Fix !is_inside_tree in csg node when reloading a scene 2024-08-12 12:58:06 +08:00
jsjtxietian
5e4dafb0d9 Fix CSGShape3D's _mesh_changed thread unsafe call to update_gizmos 2024-07-30 10:57:28 +08:00
smix8
6455810db8 Add CSG options to bake to static mesh and collision shape
Adds API to bake a CSG root node operation to either a static ArrayMesh or a ConcavePolygonShape3D physics collision shape. Adds menu options to the editor plugin when selecting a CSG root node to add baked sibling nodes.
2024-06-19 22:54:25 +02:00
31
649c87b957 Make CSG shape dirty after changing Snap, update doc
Update doc to mention that Snap only takes effect at the top level.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-06-16 14:33:48 -07:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Rémi Verschelde
4859f8090f
Merge pull request #85455 from xiongyaohua/fix_CSGPolygon_not_following_Path3D
Notify CSGPolygon about transform changes in Path3D
2024-02-15 15:44:39 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yaohua Xiong
0e344f0d0b Path3D notify transform change to CSGPolygon 2024-01-08 18:29:18 +08:00
Rémi Verschelde
94edf0f9a1
Merge pull request #80326 from MewPurPur/no-exp-with-zero
Remove exp hint of a few properties
2023-12-04 22:57:09 +01:00
smix8
0cba21f2da Fix CSGShape debug_collision_shape crash
Fixes CSGShape debug_collision_shape crash.
2023-11-02 11:23:47 +01:00
jsjtxietian
173e2c7f29 Hide CSGShape's debug_collision_shape when it is invisible 2023-10-30 14:53:09 +08:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
pidogs
f476b74ecf
Make CSGShape follow curve's tilt in Path mode
Fixes #65634.
2023-08-17 12:01:29 +02:00
MewPurPur
09270f9624 Remove exp hint of a few properties 2023-08-06 12:18:27 +03:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Evan Todd
da7e54ec17 Fix CSGPolygon3D in path mode disappearing at runtime. 2023-05-15 16:52:39 -07:00
Ricardo Buring
3f17a81f87 Add debug collision shape to CSG with collision 2023-05-03 08:41:37 +02:00
K. S. Ernest (iFire) Lee
eaa84bc682
Fix CSG edge case causing intersection line to hit on common edge of 2 triangles.
The previous implementation assumed that the intersection entered or exited a
shape when it hit right on the common edge of 2 triangles. However, there is
also a case where it just "skirts" the other shape on the outside.

To fix this, we added code to check the intersection distance and if the
normals of the faces are pointed in the same direction as the intersection or
not (e.g. inner product > 0). This handles the case where the intersection
line hits the common edge of 2 triangles and skirts the other shape on the
outside.

Extended code to cover a third case.

Fixes #58637.

Co-authored-by: OldBelge <StevenGeens@users.noreply.github.com>
2023-04-27 11:39:29 +02:00
DESKTOP-9O27V4U\Navi
ac92704f39
Add compatibility code for CSGBox3D width/height/depth from Godot 3.x
Fixes #66420.
2023-02-13 20:41:23 +01:00
MinusKube
541b725190 Don't generate CSGPolygon3D shape before the assigned path is inside tree 2023-01-31 02:04:57 +01:00