b770c07a32
Always just defer call to the active UserManager or error in UserDB.
...
- Having an optional separate User list in UserDB when there is no
UserManager can lead to subtle bugs, so it got removed.
- It also had other limitations, like it was not possible to setup Users
properly, which could also lead to subtle bugs.
2025-05-11 14:10:32 +02:00
d8aa3140e1
Removed unused enum from User.
...
Note that WebPermission had the same enum if needed.
2025-05-11 11:53:15 +02:00
ebab8f1e0c
Docs for the User class.
2025-05-11 11:50:32 +02:00
b438b2b35a
Improve comment.
2025-05-11 11:50:20 +02:00
da142951ec
Re-extracted class docs.
2025-05-11 08:49:52 +02:00
7c109ad4a0
Added read_try_lock and write_try_lock to User and UserModule.
2025-05-11 08:48:41 +02:00
516236de23
Added some comments to User.
2025-05-11 08:42:32 +02:00
0b56f22f87
Use module names instead of indexes if they are available in User::_from_dict() and User::_to_dict().
2025-05-11 08:26:55 +02:00
abd7a0660e
Write and read lock modules in User::_to_dict() and User::_from_dict().
2025-05-11 08:20:07 +02:00
0e79057d11
Guard against bad indexes in User::_from_dict().
2025-05-04 20:24:42 +02:00
f59632a7d3
Disabled integer division and unused signal warnings by default in gdscript.
2025-05-04 09:28:49 +02:00
ebd3280443
Automatically load sessions when HTTPSessionManagerFile enters tree.
2025-05-03 22:21:03 +02:00
45f2f77a58
Re-extracted class docs.
2025-05-03 22:12:14 +02:00
d36950fecb
Added a new HTTPSessionManagerFile class.
2025-05-03 22:11:37 +02:00
8978925b2f
Added serialization helper methods to HTTPSession.
2025-05-03 22:09:44 +02:00
5aa9a0db10
Hode session_id and id in HTTPSession.
2025-05-03 21:19:29 +02:00
7937fb6cae
Disable internal process for UserManagerFile. It's not needed anymore.
2025-05-03 21:11:41 +02:00
3894d36ad3
Fix User::_from_dict() using wrong dictionary keys.
2025-05-03 20:53:47 +02:00
0927580e78
Fix saving files in UserManagerFile.
2025-05-03 20:51:16 +02:00
7ef5b152bc
Fix calling the new _create_user() method in UserManager.
2025-05-03 20:41:28 +02:00
e9e2e72665
Now UserManager::_create_user() has a User as a parameter.
...
This shoukld make it easier to customize user creation. Similar idea to
how TerrainWorld's _create_chunk() works.
2025-05-03 20:25:32 +02:00
ca1f9c7674
Improved UserManagerFile's internals.
2025-05-03 20:13:52 +02:00
fd13bb3c51
Now get_all_as_vector() in UserManager is not virtual anymore. Also removed other implementations.
...
- This had to be done as get_all_as_vector() cannot be customized by
scripts, and if an inherited UserManager needs to set up UserModules
this will cause issues later down the line.
- Other solutions like a user_setup() method could also work, but then
that would cause more individual (non-optimizable) lookups to db-based
backends (and likely others too), so this solution seems to be the best
currently.
2025-05-03 17:07:24 +02:00
8a1981d1b8
Fix calling the wrong method in UserManager.
2025-05-03 16:57:34 +02:00
556de2db50
TerrainChunkDefault lod change code cleanups and improvements. Also set scenario on entering and exiting the tree.
2025-04-18 20:22:17 +02:00
61a43daa45
Removed unnecessary check.
2025-04-18 20:21:09 +02:00
64696b534b
Don't destroy and re-generate meshes in TerrainChunk's _enter and _exit_tree, just hide / show them. This makes scene tab swithing with TerrainWorlds in the editor a lot simpler.
2025-04-18 19:50:17 +02:00
ae18822f95
Added PropDataESSEntityWorldSpawner3D class. Made PropDataESSEntityWorldSpawner3DArea and PropDataESSEntityWorldSpawner3DSingle inherit from it.
2025-04-18 13:28:10 +02:00
7681d71704
Temporary comments.
2025-04-15 10:32:31 +02:00
526209c1a4
Re-extracted class docs.
2025-04-15 10:19:14 +02:00
52d17cacd2
Added prop support for PropDataESSEntityWorldSpawner3DArea.
2025-04-15 10:18:20 +02:00
9c3ac7c4f8
Added prop support for ESSEntityWorldSpawner3DSingle.
2025-04-15 10:03:21 +02:00
1d37a1cf28
Fix drawing line colors in WorldSpawner3DSpatialGizmoPlugin. Also better colors.
2025-04-14 18:40:16 +02:00
d03decb983
Fix the spawn position line height in WorldSpawner3DSpatialGizmoPlugin.
2025-04-14 18:16:36 +02:00
bdda27e116
Fix drawing the spawn slots in ESSEntityWorldSpawner3DArea's gizmo.
2025-04-14 18:16:13 +02:00
df9be4f17d
Implemented spawn entry editing to ESSEntityWorldSpawner3DArea.
2025-04-14 16:30:55 +02:00
2a249c8f25
ESSEntityWorldSpawner3DArea initial implementation.
2025-04-14 16:08:44 +02:00
12eade8158
Fix the type of the respawn time properties in ESSEntityWorldSpawner3DSingle.
2025-04-14 16:07:50 +02:00
c59cf944c2
Zero out the entity's ObjectID in ESSEntityWorldSpawner3DSingle when exiting tree.
2025-04-14 14:40:27 +02:00
48d68c0896
Renamed the level property to entity_level in ESSEntityWorldSpawner3DSingle.
2025-04-14 14:39:36 +02:00
a61442d567
Added spawn_area_extents property to ESSEntityWorldSpawner3DArea and implemented an editor gizmo for it.
2025-04-14 13:50:31 +02:00
79f54f71bf
Don't use octahedral compression in the prop module's gizmos.
2025-04-14 13:49:29 +02:00
885089ad1f
Added ESSEntityWorldSpawner3DArea class.
2025-04-14 12:28:51 +02:00
7b321db257
Re-extracted class docs.
2025-04-14 12:28:40 +02:00
ffe171e840
Implemented respawn support for ESSEntityWorldSpawner3DSingle.
2025-04-14 09:26:19 +02:00
b88b25409b
Now Entities can store their spawner's ObjectID.
2025-04-14 09:25:34 +02:00
5c105a15fb
Call spawn as deferred in ESSEntityWorldSpawner3DSingle instead of requesting a deferred entity spawn.
2025-04-14 08:27:24 +02:00
12b42eaab1
Rotate the text by 180 degrees in WorldSpawner3DSpatialGizmoPlugin.
2025-04-13 21:25:32 +02:00
b2f33108fa
Added an editor gizmo plugin for TiledWalls so they can be selected in the spatial editor directly.
2025-04-13 21:07:01 +02:00
d2ba6585c4
Implemented ESSEntityWorldSpawner3DSingle.
2025-04-13 20:43:48 +02:00
b718228923
Write the spawner's name to the world in the WorldSpawner3DSpatialGizmoPlugin.
2025-04-13 19:58:55 +02:00
b792287b6e
Added a Spatial Gizmo plugin for ESSEntityWorldSpawner3D.
2025-04-13 19:18:05 +02:00
26c53fd16d
Added 3 new helper classes for the entity spell system. ESSEntityWorldSpawner3D, ESSEntityWorldSpawner3DSingle, ESSEntityWorldSpawner2D.
2025-04-13 18:54:12 +02:00
570bcaee0f
Re-extracted class docs for terraman.
2025-04-13 18:52:58 +02:00
a21b5a843e
Re/enabled the entity_spell_system's editor plugin, and disabled it's tool menu item.
2025-04-13 18:25:58 +02:00
c16c5d35f4
Bind is_priority_generation bool in TerrainWorld. Also set it to false in the constructor, but set it to true when eneteeing tree if the world already has chunks loaded.
2025-04-12 22:53:18 +02:00
9289351284
Also check whether chunks are building when doing a priority generation.
2025-04-08 09:17:12 +02:00
82218be991
Fix visibility toggling in TerrainChunkDefault even if lods are disabled.
2025-04-08 08:58:21 +02:00
97380e3f53
Only build the chunk in TerrainWorld::chunk_add() if the world is in the tree.
2025-04-08 08:32:37 +02:00
d99577365c
Call chunk's enter_tree and set voxel world on entering the tree in TerrainWorld.
2025-04-08 08:31:53 +02:00
4d23866ac5
Call TerrainWorldDefault's _create_chunk() and _setup_chunk() in TerrainWorldBlocky.
2025-04-08 08:31:00 +02:00
4c2ae4dc8b
Fix error message on startup.
2025-04-07 22:13:14 +02:00
bd476c1d66
Split _create_chunk() to _create_chunk() and _setup_chunk() in TerrainWorld.
...
Unfortunately this is a breaking change. (Very slight though.)
Now _create_chunk() should be used to initialize serialized properties
in chunks. The new _setup_chunk() virtual should be used to initialize
other non/serialized properties (like meshers).
Fortunately the only thing that needs to be done is to split old
_create_chunk() into two.
Note that when using procedural generation, the old way should just work
without any updates necessary. This change is only needed when loading
of chunks is desired.
2025-04-07 22:06:04 +02:00
32487af081
Implement TerrainWorldChunkDataManagerStaticFolderResources.
2025-04-07 22:01:12 +02:00
bb32eab4ca
Fix typo.
2025-04-07 22:01:04 +02:00
b7bfd13ec4
Added a force save all chunks button to TerrainWorld's inspector if a TerrainWorldChunkDataManager is set.
2025-04-07 17:37:26 +02:00
9fefe64c3b
Added force_save_all_chunks() method to TerrainWorld.
2025-04-07 17:30:29 +02:00
c64e9e1131
Added chunk saving api to TerrainWorldChunkDataManager.
2025-04-07 17:27:47 +02:00
117f6cffd1
Now TerrainWorld won't save it's chunks into scenes in the editor anymore if a TerrainWorldChunkDataManager is set.
2025-04-07 17:04:57 +02:00
5dbfdac48e
Now TerrainWorld uses TerrainWorldChunkDataManagers if they are available.
2025-04-07 12:53:51 +02:00
e88789ba9e
Added TerrainWorldChunkDataManager class to support loading and saving TerrainWorld chunks dynamically to and from disk.
2025-04-07 12:53:00 +02:00
9bb5495776
Re-extracted class doc for PropInstance.
2025-04-07 12:49:51 +02:00
7e999a3d5d
Added a simple gizmo for PropInstances. This makes PropInstances selectable with the mouse in the Spatial editor.
2025-04-07 01:46:01 +02:00
7cfebd1eaf
Now PropInstance inherits from VisualInstance. Set up it's AABB calculation.
2025-04-07 01:44:43 +02:00
8cc8c4c7b4
Return the actual AABB in TiledWall::get_aabb().
2025-04-07 01:43:42 +02:00
aacd20d9dd
Re-extracted class docs.
2025-04-04 19:03:05 +02:00
c094e070c7
Now TerrainChunks will register their lights into the VertexLights3DServer if use_vertex_lights_3d is enabled in world.
2025-04-04 18:15:33 +02:00
1ac803de1c
Make use of the VertexLights3DServer in TerrainChunkDefault::_bake_lights() if enabled.
2025-04-04 17:45:11 +02:00
a4ff7e9e66
Added use_vertex_lights_3d property to TerrainWorld.
2025-04-04 17:44:42 +02:00
83e68549d5
Added VertexLight3D baking tool to TerrainWorldEditor.
2025-04-04 16:25:41 +02:00
20f5439a82
Fix TerrainChunk::light_remove_index() not actually remoing lights.
2025-04-04 16:24:48 +02:00
ffa4cf938f
Added more helper methods to TerrainWorld.
2025-04-04 16:24:30 +02:00
7a50eedd5a
Added item_cull_mask property to TerrainLight.
2025-04-04 16:24:12 +02:00
4f0050f019
Added light_mode property to TerrainLight.
2025-04-04 15:44:53 +02:00
d37176539e
Removed OWNER_TYPE_VERTEX_LIGHT_3D from TerrainLight.
2025-04-04 15:36:37 +02:00
538a17950b
Small tweaks to the info outputs in TerrainWorldEditor.
2025-04-04 15:13:37 +02:00
a8c47eed08
Fix method call in TerrainWorldEditor.
2025-04-04 15:08:32 +02:00
62a5bc1be8
Added MeshDataInstance baking tool to TerrainWorldEditor.
2025-04-04 15:06:06 +02:00
74ddba1eb1
Added mesh_data_resource_add() helper method to TerrainWorld.
2025-04-04 15:05:31 +02:00
f770c598ed
Now TerrainChunks can also store a name and material for MeshDataResources.
2025-04-04 15:05:05 +02:00
a0219e12e6
Don't create prop baking tool buttons if the Props module is disabled.
2025-04-04 12:42:03 +02:00
77d9f5debd
Added a scene baking tool to TerrainWorldEditor.
2025-04-04 12:39:37 +02:00
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