Commit Graph

198 Commits

Author SHA1 Message Date
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
c09474ccd8 Re-extracted class docs. 2024-09-20 10:03:06 +02:00
36622694ee Re-extracted class docs. 2024-09-08 17:02:09 +02:00
6783cb92ab Re-extracted class docs. 2024-04-26 17:32:25 +02:00
a52a68afb7 Added more properties to PropDataLight and other light helper classes. 2024-03-18 08:38:27 +01:00
0edc5438dd Re-extracted class docs. 2024-02-25 10:26:26 +01:00
5133ef182d File copyright header updates pt10. 2023-12-18 00:31:04 +01:00
429575fab6 File copyright header updates pt8. 2023-12-18 00:18:53 +01:00
3afe20bdc7 More old copyright header cleanups. 2023-12-17 23:24:10 +01:00
5088d32fa0 Removed my old copyright headers. 2023-12-17 22:59:50 +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
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
9df5649c1b Moved CanvasItem, Control, Node2D and Spatial under scene/main. 2023-12-10 15:50:54 +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
1ff5cdf911 Fix positioning the colliders from PropDataStaticBody in TerrainPropJob and VoxelPropJob. 2023-10-14 08:10:06 +02:00
9142600d70 Implemented PropDataStaticBody handling for TerrainPropJob and VoxelPropJob. 2023-10-13 21:00:25 +02:00
3f8ca3136e Codestyle fixes. 2023-10-13 20:41:22 +02:00
2aa3fbf381 Codestyle. 2023-10-13 20:27:08 +02:00
c5ec0b8a33 Codestyle. 2023-10-13 20:26:59 +02:00
93a2081a58 Re-extracted class docs. 2023-10-12 01:59:32 +02:00
06efbe1882 Added separators to TerrainWorldEditor and VoxelWorldEditor's toolbars. 2023-09-03 13:43:58 +02:00
8ed3b41865 Re-extracted class docs. 2023-08-26 22:41:21 +02:00
8bf5c70f50 Now VoxelWorld and TerrainWorld inherits from Spatial instead of Navigation, and Terrain2DWorld inherits from Node2D insteaf of Navigation2D, as there is now a proper NavigationServer. Also this will make Node hieararchies involvig them more versatile. 2023-08-24 18:55:21 +02:00
8d679355df Re-extracted class docs pt3. 2023-06-13 17:34:41 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
4873a3429d Don't bind _execute() method in ThreadPoolJob derived classes, as it's not needed anymore. 2023-06-05 14:15:49 +02:00
d093365b00 Fix some property names being the same as getters / setters. 2023-06-01 15:42:32 +02:00
b7e273b226 Bind missing enum constants. 2023-05-31 22:33:20 +02:00
5acb19630d Fix the order of some default arguments in bindings. 2023-05-31 22:14:12 +02:00
8d7090241a Make sure that the editor can be built even when the new code_editor module is disabled. 2023-02-17 23:20:10 +01:00