3f817947c7
Fix logic in TerrainChunk::scenes_set() and TerrainChunk::props_set().
2025-04-04 12:39:21 +02:00
f9172bddd5
Fix typo.
2025-04-04 10:55:27 +02:00
dc4de19aaf
Return and set the name with the props property in TerrainChunk.
2025-04-04 10:54:54 +02:00
0847706fa2
Implement setting a name to scenes in TerrainChunk.
2025-04-04 10:53:12 +02:00
5d036590dd
Fix typo.
2025-04-04 09:20:06 +02:00
dd98d9e7e5
Added tooltips for the bake props tool's buttons in TerrainWorldEditor.
2025-04-04 09:18:45 +02:00
7e52eb6b43
Now props added to TerrainWorld can also have a name. The prop bake editor tool uses it to save and restore node names.
2025-04-04 01:27:22 +02:00
474ab893d6
Implemented Bake Props tool for TerrainWorldEditor.
2025-04-04 01:14:53 +02:00
5d3aa83ffa
Rebuild chunks in TerrainWorld::prop_add().
2025-04-04 01:14:23 +02:00
fb08c49ab6
Make sure the prop meshes are cleared from previous runs before returning early in TerrainPropJob.
2025-04-04 01:13:50 +02:00
5ad5d65705
Call emit_changed() in TerrainChunk setters. Also a setter fix.
2025-04-04 00:32:30 +02:00
1e4aaa412a
Set up baking tools page in TerrainWorldEditor.
2025-04-03 22:56:15 +02:00
35b072e1df
Reworked the new GLOBAL_GET_CACHED macro.
2025-03-31 12:51:27 +02:00
lawnjelly
8a735a3c02
Physics Interpolation - Move 3D FTI to SceneTree
...
Moves 3D interpolation from `VisualServer` to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-03-31 08:23:44 +02:00
lawnjelly
d149a59513
Add GLOBAL_GET cached macros.
...
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-03-31 07:58:52 +02:00
320da06260
Fix windows build.
2025-02-14 19:51:19 +01:00
f56182466f
Fix compile on windows, osx, and javascript. (Hopefully.)
2025-02-14 19:43:35 +01:00
b248a28ccf
More tweaks to TerrainChunk's new scene api.
2025-02-14 18:02:32 +01:00
9841d6fdc8
Small variable name tweak.
2025-02-14 17:51:08 +01:00
10c5076819
Added the new scene_add() method to TerrainWorld. Also store scenes from props inside chunks.
2025-02-14 17:49:07 +01:00
9d6ec2bb65
Tweaks and improvements to TerrainChunk's new scene api.
2025-02-14 17:48:33 +01:00
39eeba0efd
Added scene storage api to TerrainChunks.
...
Also mass replaced the typo "tarnsform" to "transform", and fixed a
parameter name in a TerrainChunk binding.
2025-02-14 16:57:32 +01:00
418bac4209
Added owned_lights property to TerrainChunk. Also changed the lights property it is now scripting only, it won't get saved.
2025-02-14 16:39:25 +01:00
6e9e3fd580
Now TerrainLights inherit from Resource.
2025-02-14 16:27:21 +01:00
6786193010
Added to_dict() and from_dict() methods to TerrainLight/
2025-02-14 16:25:37 +01:00
601185c2bd
Set prop ownership to lights in TerrainWorld::prop_add().
2025-02-14 16:09:21 +01:00
1c14d1cb4c
Store ownership information in TerrainLights.
2025-02-14 16:09:01 +01:00
7006c947cd
Store whether a mesh_data_resource in a TerrainChunk is original or not.
2025-02-14 15:49:39 +01:00
2054f60c6d
Renamed the new original parameter in TerrainChunk and TerrainWorld's prop api from owner to original.
2025-02-14 15:32:54 +01:00
0a87629b01
Set prop ownership when adding them in TerrainWorld.
2025-02-14 15:28:45 +01:00
1643197af3
Now TerrainChunks will remember whether they own a prop or not. Also added and bound missing methods to Chunk's prop api.
2025-02-14 15:28:14 +01:00
954ca26471
Make sure the remaining chunks are notified of the changed world lights when adding / removing chunks.
2025-02-11 00:50:21 +01:00
583298dbfe
Now TerrainLights are stored inside chunks (they are also automatically saved with them). Also changed TerrainLight's api to makes use of Vector3i.
2025-02-11 00:38:48 +01:00
eb3ed4fa20
Now props and mesh data resources are saved with the TerrainChunks.
2025-02-10 17:48:11 +01:00
b0177a2c3a
Only generate chunks once.
2025-02-10 15:24:16 +01:00
23614770f1
Simplify chunks_set() in TerrainWorld.
2025-02-08 15:55:40 +01:00
42a2979d3e
Fix isolevel paint and paint brush tools always allowing chunk creation.
2025-02-08 15:10:23 +01:00
a980238482
Add the new chunk to the generation queue instead of directly calling it's build method in TerrainWorld::chunk_add().
2025-02-08 14:47:29 +01:00
64a14fee17
Also expose the liquid data in TerrainChunkBlocky.
2025-02-08 14:40:07 +01:00
c9089867f9
Fix typo.
2025-02-08 14:39:35 +01:00
9142f7c806
Implemented the spawn chunks and remove chunks tool in TerrainWorldEditor.
2025-02-08 14:23:23 +01:00
4886ff454b
Call TerrainChunk's build() after it's added to a World manually.
2025-02-08 14:22:55 +01:00
4ac6095509
Added a new helper method to TerrainWorld.
2025-02-08 14:22:31 +01:00
d0fa4ba194
Clear the material cache data in TerrainChunk::_exit_tree().
2025-02-08 14:22:03 +01:00
a2784fd2a0
Implemented the gui for the chunk spawn and chunk remove tools in TerrainWorldEditor.
2025-02-08 13:14:43 +01:00
ebcac318e7
TerrainWorldEditor variable name tweaks.
2025-02-08 12:50:26 +01:00
12214cb8c7
Fix potential hang on exit due to deadlocks.
2025-02-08 11:24:42 +01:00
b264a837a8
Implemented the paint picker tool in TerrainWorldEditor. Also improved the editor's Button signal setup.
2025-02-08 09:59:41 +01:00
175f67fd74
Tewaks to the main tool labels in TerrainWorldEditor.
2025-02-08 09:11:17 +01:00
fb9c71726c
Implemented the paint picker tool's ui in TerrainWorldEditor.
2025-02-08 09:10:54 +01:00
4ac888c7af
Add the paint brush tool settings buttons to the proper container in TerrainWorldEditor.
2025-02-08 08:37:10 +01:00
0762caaf20
Reordered the main tool buttons in TerrainWorldEditor.
2025-02-08 08:31:29 +01:00
33bd758806
Removed the add and remove single tools from TerrainWorldEditor as they are not very useful for a terrain engine.
2025-02-08 08:28:38 +01:00
da336fdb73
Only show the surface selection when the paint brush is active in TerrainWorldEditor.
2025-02-08 08:04:13 +01:00
a46997b87f
Added the ability to erase using the paint brush in TerrainWorldEditor.
2025-02-08 07:58:14 +01:00
f7a9f5201f
Added liquid mode to the isolevel brush and paint brush tools in TerrainWorldEditor.
2025-02-08 07:49:26 +01:00
17e048a044
Added a new helper method to TerrainWorld.
2025-02-08 07:44:55 +01:00
16d62d3a34
Chunk remover tool initial setup in TerrainWorldEditor.
2025-02-07 14:45:40 +01:00
3f267dcbfc
Make the expected tool settings shown by default in TerrainWorldEditor.
2025-02-07 12:58:50 +01:00
1da418523a
Spawn brush initial setup in TerrainWorldEditor.
2025-02-07 12:57:16 +01:00
ba6a112efb
Reorganized the tools in TerrainWorldEditor. Also made the Isolevel Brush the default.
2025-02-07 12:50:59 +01:00
ae987b83e9
Renamed the add and remove tools to add single and remove single voxel in TerrainWorldEditor. Also improved their gui a bit.
2025-02-07 12:47:06 +01:00
aeae3198ba
Disable allow chunk creation for the paint brush and isolevel brush tools by default in TerrainWorldEditor. A new chunk spawner tool will be added instead soon.
2025-02-07 12:40:05 +01:00
70fe973810
Invert the logic of the isolevel brush smoothness calculation so it works as expected.
2025-02-07 12:34:54 +01:00
6539b25257
Start at max isolevel brush smoothness in TerrainWorldEditor.
2025-02-07 12:30:33 +01:00
5c2f5da950
Fix isolevel brush smoothness calculation in TerrainWorldEditor.
2025-02-07 12:27:12 +01:00
58698e2971
Allow 0 as the isolevel brush strength and smoothness in TerrainWorldEditor.
2025-02-07 12:19:08 +01:00
39b3a12b1a
Handle a missing case when setting voxels in TerrainWorld.
2025-02-07 12:17:11 +01:00
39cb3e398f
Reset the mesher's lod index in _reset() in TerrainTerrainJob. This fixes subsequent mesh generations.
2025-02-07 10:49:40 +01:00
2024a33ee9
Implemented chunk material invalidation support for TerrainLibraryMergerPCM.
2025-02-07 10:08:22 +01:00
e11e75e5ea
Unlock the mutex after the rects are refreshed in the material cache in TerrainLibraryMergerPCM.
2025-02-07 08:49:11 +01:00
2688162cf9
Optimized editing in TerrainWorldEditor.
2025-02-06 17:42:53 +01:00
c13a4d08a5
Use the new immediate build mode in TerrainWorld's set_voxel_at_world_data_position().
2025-02-06 17:22:42 +01:00
6be11c2bff
Implemented an immediate build mode for TerrainChunk.
2025-02-06 17:22:10 +01:00
952553e9ad
Clear meshes as needed in TerrainTerrainJob.
2025-02-06 17:21:35 +01:00
4a2d4af692
Clear meshes as needed in TerrainPropJob.
2025-02-06 17:21:24 +01:00
ac6be71368
Codestyle fix.
2025-02-06 17:20:58 +01:00
e435adde65
Codestyle fix.
2025-02-06 17:20:46 +01:00
26b6fc89f8
Fix crash on shutdown.
2025-02-05 20:35:32 +01:00
1a5be23b91
Udpate the gizmo size properly in TerrainWorldEditor.
2025-02-05 20:32:09 +01:00
66b98829a1
Optimized UndoRedo usage in TerrainWorldEditor.
2025-02-05 20:22:30 +01:00
b1e386fd73
Implemented the TerrainWorldGizmo.
2025-02-05 14:01:01 +01:00
dbff74222c
Renamed the new gizmo.
2025-02-05 11:11:32 +01:00
91f6141b5c
Initial gizmo setup for Terraman.
2025-02-05 11:05:42 +01:00
3610209f54
Moved the TerrainWorldEditor to a new folder. Also make sure it's only compiled in tools builds.
2025-02-05 09:35:16 +01:00
d345ddb9e1
Implemented the paint brush mode in TerrainWorldEditor.
2025-02-04 20:19:50 +01:00
4114c23649
Implemented the isolevel brush in TerrainWorldEditor.
2025-02-04 18:27:35 +01:00
9cd4da72c8
Added new helper methods to TerrainWorld.
2025-02-04 18:26:01 +01:00
0fd99be95a
Added a strength slider for the isolevel brush in TerrainWorldEditor.
2025-02-04 14:17:43 +01:00
7e54c7d634
Added a button for setting the allow chunk creation option for the isolevel brush in TerrainWorldEditor.
2025-02-04 13:30:55 +01:00
7120ab24fd
Include cleanups.
2025-02-04 13:22:18 +01:00
c199161646
Removed set_voxel_with_tool from TerrainWorld.
2025-02-04 13:10:28 +01:00
4201113680
Initial input handling refactor for TerrainWorldEditor.
2025-02-04 13:08:35 +01:00
45e5c77395
Added the option to select the channel in TerrainWorldEditor's Isolevel Brush.
2025-02-04 11:28:12 +01:00
6c7d5c9049
Gui and callback setup for the isolevel brush in TerrainWorldEditor.
2025-02-04 10:00:06 +01:00
f25c008f6d
Small tweaks and reorganization in TerrainWorldEditor.
2025-02-04 09:02:19 +01:00
bb59a03e06
Small tweak.
2025-02-03 23:02:41 +01:00
c3b468027a
TerrainWorldEditor cleanups and some initial rework for it's new functionality.
2025-02-03 18:19:14 +01:00
0f8a398f95
Tidy up the Isolevel clider of the TerrainWorldEditor.
2025-02-03 14:27:58 +01:00
a138cb10a4
Moved the control buttons of the TerrainWorldEditor to the side panel.
2025-02-03 14:25:35 +01:00
13a691bb37
Fix compile.
2025-02-03 14:16:21 +01:00
1bc26692f6
Fix variable names.
2025-02-03 14:12:52 +01:00
39c2c615a9
Fix property names.
2025-02-03 14:11:35 +01:00
857b010951
Use icons for the TerrainWorldEditor's buttons.
2025-02-03 14:06:53 +01:00
Travis Wrightsman
7cbdde61a6
Enable builds with miniupnpc API 18
...
Backports https://github.com/godotengine/godot/pull/97139 without
bumping the embedded miniupnpc library.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-02-03 13:03:57 +01:00
fe7f931dc8
Added next_column*() helper methods to PreparedStatement.
2024-12-11 16:59:27 +01:00
9da9dbc14c
Now get_cell and is_cell_null in Sqlite3QueryResult will do a bounds check via error macros.
...
This means indexing errors will not result in a crash due to vectors
using CRASH_BAD_INDEX error macros.
2024-12-11 16:42:27 +01:00
e210e8dc0a
Added get_stored_row_count() and get_cell_count() helper methods to QueryResult.
2024-12-11 16:34:00 +01:00
9e93b4426a
Added get_next_cell*() helper methods to QueryBuilder.
2024-12-11 15:04:23 +01:00
c9ca35accd
Added get_last_insert_rowid() method to PreparedStatement.
2024-12-11 13:27:57 +01:00
a52e1f168a
Re-extracted class docs.
2024-12-10 23:00:02 +01:00
323016fcbe
Added new classes to the web module's config.py.
2024-12-10 22:51:15 +01:00
1788749a8f
Added a new LocaleSetupWebServerMiddleware.
2024-12-10 22:51:00 +01:00
9ee96b25f8
HTMLTemplateMultilang now also tries to use the locale helper method in WebServerRequest.
2024-12-10 22:36:30 +01:00
7e67160d53
Implement locale helper methods to WebServerRequest.
2024-12-10 22:29:12 +01:00
e0fc57e12a
Bind methods in HTMLTemplateMultilang.
2024-12-10 22:28:19 +01:00
6bad54c4d2
Created a HTMLTemplateMultilang class. It can automatically select between multiple HTMLTemplates.
2024-12-10 22:13:56 +01:00
14100c3ac0
Added a method to get all users from the UserDB and UserManagers.
2024-11-20 21:57:35 +01:00
1a45e6371a
Added the previous commit as patch.
2024-11-14 20:10:58 +01:00
ad572cdfdb
Reapply SQLITE_NO_FCHOWN Pandemonium sqlite patch.
2024-11-14 20:07:24 +01:00
8022d4ab90
Updated sqlite to version 3.47.0. Also added a VERSION.txt to it's folder.
2024-11-14 20:02:59 +01:00
Rémi Verschelde
672cea4d08
CI: Update Ubuntu runners to 24.04, but keep 22.04 for Linux builds
...
Pin clang-format to version 16, and black to 24.10.0.
Keep using Ubuntu 22.04 for Linux builds for portability.
2024-11-13 23:48:04 +01:00
Capital
3fe6da64d4
Backport 65910 for Godot 3
2024-11-13 23:20:38 +01:00
a59cb3956b
Backported from godot 4: Make SkeletonIk3D node usable
...
- warriormaster12
ddf93f3f59
2024-09-30 18:55:39 +02:00
506a0756c5
Update gdnative api.
2024-09-30 17:26:29 +02:00
6ac0c2bbc0
Undo unecessary breaking change to gdnative.
2024-09-30 16:26:52 +02:00
ee1e40f1b0
Renamed looking_at to create_looking_at, and from_scale to create_from_scale in Basis.
2024-09-30 16:17:19 +02:00
c09474ccd8
Re-extracted class docs.
2024-09-20 10:03:06 +02:00
b0cf8c6859
Use the engine's math singleton in proctree.cpp.
2024-09-08 17:33:30 +02:00
f73b16470a
Simple initial docs for ProceduralTreeMesh.
2024-09-08 17:10:32 +02:00
36622694ee
Re-extracted class docs.
2024-09-08 17:02:09 +02:00
5c24f0ba90
Added an icon for procedural tree mesh.
2024-09-08 17:00:16 +02:00
089ac25db5
Fix shadowed declaration.
2024-09-08 16:56:39 +02:00
83871fc6e0
Clang format everything.
2024-09-08 16:52:38 +02:00
e4263507ce
Added an array mesh conversion helper method to ProceduralTreeMesh.
2024-09-08 16:37:04 +02:00
2124f48710
Added flip twig and branch faces options to procedural tree mesh.
2024-09-08 16:26:35 +02:00
a02d73b035
Fix typo.
2024-09-08 16:14:46 +02:00
4f62ea4b8e
Fix tree mesh face orientation.
2024-09-08 16:12:16 +02:00
ad642e3f16
Added an option to enable and disable branch and twig meshes.
2024-09-08 16:03:54 +02:00
5e7264b292
Increase max trunk length.
2024-09-08 15:29:07 +02:00
147bc63f7e
Update the tree mesh when a property changes.
2024-09-08 15:24:41 +02:00
c4fa44a02b
Implement tree generation.
2024-09-08 15:18:37 +02:00
905f1105b1
Range property hints for the ProceduralTreeMesh.
2024-09-08 14:50:00 +02:00
51ee422874
ProceduralTreeMesh bind improvements.
2024-09-08 14:36:59 +02:00
da67535193
ProceduralTreeMesh initial binds.
2024-09-08 14:25:06 +02:00
6c0cb3dc52
Bind enum values.
2024-09-08 13:35:37 +02:00
fe9d89d6ec
Also rename it's files.
2024-09-08 13:33:48 +02:00
883851a57a
Renamed ProceduralTree3DMesh to ProceduralTreeMesh.
2024-09-08 13:31:27 +02:00
755a8b0225
ProceduralTree3DMesh initial setup.
2024-09-08 13:28:45 +02:00
2a936f4954
Renamed procedural_tree_3d.h and cpp to procedural_tree_3d_mesh.h and .cpp.
2024-09-08 10:50:01 +02:00