22ce231a4e
Backported from Godot 4: New and improved IK system for Skeleton3D
...
This PR and commit adds a new IK system for 3D with the Skeleton3D node
that adds several new IK solvers, as well as additional changes and functionality
for making bone manipulation in Godot easier.
This work was sponsored by GSoC 2020 and TwistedTwigleg
Full list of changes:
* Adds a SkeletonModification3D resource
* This resource is the base where all IK code is written and executed
* Adds a SkeletonModificationStack3D resource
* This node oversees the execution of the modifications and acts as a bridge of sorts for the modifications to the Skeleton3D node
* Adds SkeletonModification3D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK
* Each modification is in it's own file
* Several changes to Skeletons, listed below:
* Added local_pose_override, which acts just like global_pose_override but keeps bone-child relationships intract
* So if you move a bone using local_pose_override, all of the bones that are children will also be moved. This is different than global_pose_override, which only affects the individual bone
* Internally bones keep track of their children. This removes the need of a processing list, makes it possible to update just a few select bones at a time, and makes it easier to traverse down the bone chain
* Additional functions added for converting from world transform to global poses, global poses to local poses, and all the same changes but backwards (local to global, global to world). This makes it much easier to work with bone transforms without needing to think too much about how to convert them.
* New signal added, bone_pose_changed, that can be used to tell if a specific bone changed its transform. Needed for BoneAttachment3D
* Added functions for getting the forward position of a bone
* BoneAttachment3D node refactored heavily
* BoneAttachment3D node is now completely standalone in its functionality.
* This makes the code easier and less interconnected, as well as allowing them to function properly without being direct children of Skeleton3D nodes
* BoneAttachment3D now can be set either using the index or the bone name.
* BoneAttachment3D nodes can now set the bone transform instead of just following it. This is disabled by default for compatibility
* BoneAttachment3D now shows a warning when not configured correctly
* Added rotate_to_align function in Basis
* Added class reference documentation for all changes
- TwistedTwigleg
5ffed49907
Note: It still needs some work.
2022-08-10 01:01:38 +02:00
cf918406ae
Renamed Skeleton's skeleton_updated signal to pose_updated to make the following backports that much easier.
2022-08-09 22:31:17 +02:00
a478334d4a
Backported from Godot master: Made low level changes to the Skeleton3D class and Skeleton3D inspector. Changes listed below:
...
* Added helper functions to Skeleton3D for converting transforms from bone space to global space, and vice versa.
* Updated the Skeleton3D class reference.
* Changed the icon used for bones in the Skeleton3D inspector to use BoneAttachement3D's icon.
* Changed the Skeleton3D inspector to use EditorPropertyTransform and EditorPropertyVector3 when possible.
* Placed the Transform/Matrix for each bone in a sub-section, so it is visually similar to the Node3D inspector.
- TwistedTwigleg
24905becb2
- Also fixed smaller issues.
2022-08-09 21:57:46 +02:00
3b0c27d89c
Fixed the skeleton editor.
2022-08-09 18:32:39 +02:00
6d293dc7a3
Removed Transform type track from the Animation. This leaves a few things, like the skeleton editor broken, it will be fixed soon.
2022-08-09 17:40:42 +02:00
8fd473f685
Backported: "Remove animation 3D transform track, replace by loc/rot/scale tracks" from Godot4.
...
ec19ed3723
Its a bit broken right now, more patches need to be ported. Also I kept the Transform track for now, and I did not touch the gltf module yet.
2022-08-08 23:49:18 +02:00
d89dc61436
Switched back to the old gltf module. Apparently this one can export aswell.
2022-08-08 19:45:06 +02:00
9ae0437034
Backported and added EditorSceneFormatImporterFBX and EditorSceneFormatImporterGLTF to the build.
2022-08-08 18:52:58 +02:00
f086cf4128
Now GLTFDocument can be built.
2022-08-08 18:01:02 +02:00
42607ee8ca
Lots of work on GLTFDocument.
2022-08-08 02:53:46 +02:00
341b1a105f
Update method in GLTFDocumentExtensionConvertImporterMesh.
2022-08-08 00:52:21 +02:00
b28af3a912
Proper 3.x style bindings for GLTFDocumentExtension.
2022-08-08 00:50:00 +02:00
53fcf8b2d3
Cleaned GLTFDocumentExtensionConvertImporterMesh too.
2022-08-08 00:43:26 +02:00
5e5ae40009
Cleaned up GLTFDocumentExtension aswell.
2022-08-08 00:39:35 +02:00
2f9608aa65
GLTFState is also in the build now.
2022-08-08 00:23:19 +02:00
435a59947a
Cleaned up and added GLTF helper methods to the build.
2022-08-08 00:20:08 +02:00
5ac0285ea4
More fixes.
2022-08-07 22:53:31 +02:00
cda00a7b80
Fixed most includes.
2022-08-07 21:52:04 +02:00
23c2a98ee1
Deapplied ec19ed3723
from the gltf module for now.
2022-08-07 21:36:44 +02:00
7dd9df5e86
Backport FileAccess and DirAccess usage.
2022-08-07 21:26:40 +02:00
1bc7531da7
Remove Gridmap and CSG support from the gltf module.
2022-08-07 21:02:32 +02:00
fc7f3857da
Mass replace godot4 class names to 3.x.
2022-08-07 21:00:54 +02:00
81dc812e6f
Move include guards to the top of the files.
2022-08-07 20:56:19 +02:00
7c4416503e
Replaced the gltf modlue to the one in godot4. It's currently disabled by default while it can't be built.
2022-08-07 20:52:06 +02:00
f8ac4e5708
Check whether the gltf module is enabled or not before trying to use it.
2022-08-07 20:50:41 +02:00
8e6e429653
Removed unnecessary import.
2022-08-07 20:49:57 +02:00
81145db235
Actually check whether modules are enabled, not just for their existence in mesh_data_resource's SCsub.
2022-08-07 20:49:29 +02:00
2aa3fa0468
Fix typo, and init variable to 0.
2022-07-31 18:03:18 +02:00
068143691c
Added simple scaling for uvs for TiledWalls.
2022-07-31 14:52:58 +02:00
1a7c404a17
Implemented texture scale for TiledWalls.
2022-07-31 14:47:23 +02:00
40d9d6b49b
Implemented handling the new collider_z_offset property for merged TiledWalls.
2022-07-31 14:04:26 +02:00
0227b18d06
Codestyle fixes.
2022-07-31 13:43:36 +02:00
9771f1af99
Codestyle fixes.
2022-07-31 13:36:54 +02:00
f5b3262bde
Fix setter type.
2022-07-31 13:31:14 +02:00
27eafa074e
Fixed the 2 add methods in TiledWallData.
2022-07-31 13:22:55 +02:00
71f9dd4cd2
Added collider z offset, and texture scale parameters to TiledWallData. Also smaller fixes and codestyle improvements.
2022-07-31 11:29:03 +02:00
9a79a37ec9
Codestyle fixes for the PropMesher.
2022-07-31 11:01:57 +02:00
ec789f1b87
Fixed the property validation for aura triggers and aura stat attributes in Spell.
2022-07-31 00:19:25 +02:00
40ed18dd0d
Remove accidental import.
2022-07-31 00:02:31 +02:00
c4e7bc1c45
Reused the old unused PROPERTY_HINT_SPRITE_FRAMES as PROPERTY_HINT_BUTTON. It allows you to add buttons to the inspectors.
2022-07-31 00:01:58 +02:00
249dd4d661
Updated property hints for variant arrays.
2022-07-30 21:58:40 +02:00
65afe14ca4
Ported: [3.5] Replace Navigation std::vector use with LocalVector
...
Replace Navigation std::vector use with LocalVector.
- smix8
d0a78d05eb
2022-07-30 00:44:53 +02:00
bd391e6fc7
Did the same change to cscript aswell.
2022-07-29 23:07:19 +02:00
Dallon Feldner
90707b7098
Don't print redundant errors when parsing GDScript
2022-07-29 23:04:16 +02:00
Haoyu Qiu
ba8978a0ac
Fix doc for print_debug
2022-07-29 22:34:21 +02:00
c569ecfad1
Ported: TileMapEditor Fix interrupted erasing not being properly finished - kleonc
...
66551a94be
2022-07-29 22:06:26 +02:00
PZerua
8841a5f056
Fix light intensity and attenuation import from GLTF
...
(cherry picked from commit aa7ab96e7163578f0318546b0b39a4d962e88511)
2022-07-29 19:59:16 +02:00
8fb683fe5d
Also port hte previous fix to cscript.
2022-07-29 19:55:28 +02:00
janglee
47ddf3a7c9
GDScript: Fix autocompletetion showing class names with an underscore
...
Fixes #35469 .
2022-07-29 19:54:50 +02:00
11a92cfe27
Ported: Add NavigationServer map_force_update() function
...
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
- smix8
721c99a530
2022-07-29 17:56:48 +02:00
da20b32f66
Ported: Add NavigationServer.region_owns_point() helper function
...
Adds a helper function to check if a world space position is currently owned by a navigation region.
- smix8
f0069cc1e9
2022-07-29 17:52:38 +02:00
f811d48449
Ported: Add Navigation function to get all navigation maps
...
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
- smix8
38ee593b76
2022-07-29 17:49:24 +02:00
César Izurieta
28aaf7cc78
Fix gltf texture filename decoding
2022-07-29 17:37:32 +02:00
smix8
149baac627
Disable thread-unsafe EditorProgress for navmesh baking
...
Disables navmesh baking EditorProgress for now until fixed as EditorProgress is not thread-safe and uses hacks and Main::iteration() for steps which can result in random crashes when baking navmesh.
(cherry picked from commit 24bb0af4a9ae7d2c9f56c20f3d3c6a4568fc9bf5)
2022-07-29 12:16:02 +02:00
8b63c97000
Ported: Print NavMap error only once for invalid NavMesh.- fire
...
bcd92b8aa0
2022-07-29 10:14:05 +02:00
smix8
6a01f2b717
Fix crash of navigation agents callback when object is invalid
...
Fix crash of navigation agents callback when object is invalid.
(cherry picked from commit bc38ebe4f07724850095094873d1b42bf914c6f3)
2022-07-29 09:04:03 +02:00
bb5acfd745
Ported: [3.5] Update NavigationServer backport
...
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
- smix8
8bd7c6188b
2022-07-28 22:34:28 +02:00
Lyuma
19b13f9bdc
gltf: Allow more than 4 joints but warn and ignore them.
2022-07-28 19:03:48 +02:00
a166b71594
Ported: [3.5] Fix TileMap texture offset for navigationmesh and collisionshapes - smix8
...
e9ca65207e
2022-07-28 14:38:19 +02:00
SnailRhymer
cdc646fd63
Make Lookup Symbol recognize assert, preload, and yield in the script editor
2022-07-28 13:36:19 +02:00
smix8
62e781b914
Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty
...
Fix MultiMeshInstance crash in navmesh baking when MultiMesh Resource is empty
(cherry picked from commit caceceab0819dca9da4ca3c268bc07ded933e332)
2022-07-28 11:52:25 +02:00
f22e67a07c
Fix typo.
2022-07-28 11:01:41 +02:00
1ffafee7b1
Ported: Fix TileSetEditor wrong NavigationPolygon format
...
TileSets created and stored NavigationPolyons in a format that did not work for Navigation.
- smix8
1bac95b166
2022-07-28 10:58:21 +02:00
60b854d657
Ported: Make Navigation Agents and Obstacles respect parent process mode
...
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.
- smix8
88acb5b798
2022-07-27 20:07:55 +02:00
9f1607fcd8
Ported: rvo2: Sync with upstream commit bfc0486
...
snape/RVO2-3D@bfc0486
- akien-mga
52da1bcdca
2022-07-27 19:55:02 +02:00
bruvzg
ecb3ea9021
FreeType: Update to version 2.12.1
...
(cherry picked from commit 93fba7ead33b45a6f9904ab6a69ada72e8564230)
2022-07-27 19:38:59 +02:00
9d0982d0e2
Fix an another unused variable.
2022-07-27 19:19:50 +02:00
32037fc73c
Fix compile.
2022-07-27 19:13:29 +02:00
3b49fd6c70
Fix an another unused variable found by emscripten.
2022-07-27 19:09:59 +02:00
smix8
63a51b546e
Clamp NavigationMesh sample_distance above zero
...
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.
This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.
(cherry picked from commit e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
2022-07-27 19:05:26 +02:00
8ef56d4752
Fix unused variable found by emscripten in sqlite3.c.
2022-07-27 19:04:04 +02:00
08c0756260
Ported: Add NavigationServer2D/3D API functions to find missing RID info
...
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on ....
Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
- smix8
3977eb9107
2022-07-27 18:58:09 +02:00
smix8
9c8238ba72
Add Warning to NavigationMesh bake when source geometry is suspiciously big
...
Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.
(cherry picked from commit 79511af7c94b447409d10194239069facef9c4a0)
2022-07-27 18:42:48 +02:00
24eccc4281
Ported: Fix warnings found by Emscripten 3.1.10
...
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
Haoyu Qiu
4e256ef76f
Improve documentation of rand_range
2022-07-27 14:38:52 +02:00
trollodel
a50758b8f6
Use CollisionObject3D API when baking the navmesh with static colliders, instead of collecting CollisionShape3D nodes
...
(cherry picked from commit 72c37c4bcd50e34b81c3dc5a2c5b8112014cc525)
2022-07-27 14:33:31 +02:00
Haoyu Qiu
4fe20cbfb1
Document lerp_angle behavior when angles are approximately PI apart
...
(cherry picked from commit 492903a0b221ac50c5db0426d22db2457f946b58)
2022-07-27 14:29:11 +02:00
2c4a3f686b
ported: Expose tile_texture property - KoBeWi
...
0b5289cadf
2022-07-27 14:19:41 +02:00
a9df89703c
Ported: TileMap: Use const ref for all Vector2 parameters - akien-mga
...
2834332591
2022-07-27 13:54:29 +02:00
04e45474bb
Also apply the previous fix to cscript.
2022-07-27 13:38:43 +02:00
Haoyu Qiu
cdeba9e5d1
Fix incorrect usage for some export variables
2022-07-27 13:37:40 +02:00
Hugo Locurcio
fc041bf980
Document that glTF classes are only usable in editor builds
...
Run-time glTF saving/loading is only available in Godot 4.0,
not Godot 3.x.
2022-07-26 15:10:11 +02:00
Pawel Lampe
cf84a36352
Fix crash in GodotNavigationServer::map_get_path
, fixes #60413
2022-07-26 15:09:40 +02:00
kleonc
4c27d02012
NavMap::get_path Fix not resetting least_cost_id
2022-07-26 12:56:54 +02:00
Oğuzhan Eroğlu
95e6e47f88
Added set_extra_headers() to WebSocketServer
...
(cherry picked from commit fd4341fba46b8e78eea2e7efeae74038f7f55c4b)
2022-07-26 12:43:31 +02:00
8275f6b161
Ported: Add missing argument names in bindings - akien-mga
...
21c3048397
2022-07-25 23:51:34 +02:00
35eabcb846
Ported: Fix navmesh baking, fixes #57148
...
- improved mesh data calculation from standalone static colliders so that no
VisualServer calls are performed - and thus no VS mutexes need to
be locked in case of on-thread baking
- improved the same for GridMap's static colliders
- Scony
3035b9c44c
2022-07-25 22:57:51 +02:00
7747a3e85a
Ported: Free region RID when cleaning NavPoly in TileMap - timothyqiu
...
5c039ccc72
2022-07-25 22:34:05 +02:00
e8f8904e56
Ported:
...
Use 3001 instead of 1001 when destroying a websocket. - jasonwinterpixel
1f080e203d
2022-07-25 19:00:33 +02:00
a4e1126d45
Re-format file.
2022-07-25 18:59:57 +02:00
Pawel Lampe
0909a9adb5
Fix get_simple_path
behavior in 2D, fixes #56852
2022-07-25 18:02:26 +02:00
09acb9bfeb
Added an api to the web server simple to add / remove mime types from scripts.
2022-07-24 18:09:45 +02:00
e0b2f048c2
Cleaned up and added UserManagerDB to the build.
2022-07-24 16:26:23 +02:00
13f0e82b6c
Cleanups to the web server.
2022-07-24 15:33:32 +02:00
a1a94ab94e
Went back from using an RWLock to a Mutex in WebServerSimple.
2022-07-24 15:15:08 +02:00
9106b5685e
Removed multiple poll thread support related things from the web server, that was a bad idea. Also implemented single threaded mode.
2022-07-24 15:10:42 +02:00
731dbb427c
Replace the mutex in the web server to an rwlock.
2022-07-24 14:27:58 +02:00
275c11cc6b
Don't let changing properties if the server is running.
2022-07-24 14:18:04 +02:00
d55b66b7ff
Only start the server thread when it's actually needed.
2022-07-24 14:15:00 +02:00
057d937d8f
Added more binds to WebServerSimple.
2022-07-24 13:53:55 +02:00
3956c88859
Added threading settings binds to the SimpleWebServer.
2022-07-24 13:40:58 +02:00
aa8c6b35d1
IMplemented threading for the simple web server.
2022-07-24 13:19:21 +02:00
7d3486e5ee
Now the simple server is using a List in a thread safe way.
2022-07-24 11:53:16 +02:00
492f29163c
Refactored the SimpleHTTPServer to be able to multi thread it a bit later.
2022-07-24 02:40:39 +02:00
4baf5ed2da
Remove unused method.
2022-07-24 02:00:53 +02:00
2db29ae49f
Add Entity like to_dict and from_dict support to User, alongside to_json and from_json.
2022-07-24 01:42:55 +02:00
b479b6a1ab
Added a new UserModule class. It can be used to easily add data to Users.
2022-07-24 01:08:56 +02:00
ae36b35436
Reimplemented UserLogoutWebPage.
2022-07-23 22:37:21 +02:00
299f714ed9
Fix memory allocation using new int HTTPSessionManager. Also small cleanups.
2022-07-23 22:37:11 +02:00
97dd727ee1
Reimplemented UserSettingsWebPage.
2022-07-23 22:22:08 +02:00
a5a327ad35
Reimplemented UserRegisterWebPage.
2022-07-23 22:08:07 +02:00
abb875f8a5
Use length() instead of size() for strings in the FormValidators.
2022-07-23 22:07:49 +02:00
c6191e1c26
Reimplemented UserLoginWebPage.
2022-07-23 20:33:10 +02:00
d0c99d0ef6
Set the user's id after creation.
2022-07-23 20:32:42 +02:00
40df361d7c
Implemented UserWebPage.
2022-07-23 19:29:51 +02:00
41d32e3b35
Reimplemented migrations support.
2022-07-23 14:46:05 +02:00
eb4875de4c
Added table version getters and setters to the DatabaseConnection.
2022-07-23 14:45:34 +02:00
0cac8406ec
Added binds + methods to the DatabaseManager, and set it up as a singleton.
2022-07-23 13:37:24 +02:00
0c1d58f921
Cleanups to the todos, and some notes.
2022-07-23 12:25:11 +02:00
05fd41c5ac
Added back md parsing support for the rest of the WebNodes that used to support it.
2022-07-23 02:44:55 +02:00
0f39a8f6ac
Added back md parsing support to StaticWebPage.
2022-07-23 02:34:41 +02:00
853480a492
Added a new AliasWebPage WebNode.
2022-07-23 02:06:11 +02:00
db70692e73
Also renamed the classes themselves.
2022-07-23 01:35:22 +02:00
2cae30fcdf
Renamed some webnode files. I want to make their names a bit more standardized.
2022-07-23 01:20:43 +02:00
ed92564261
Added a new RedirectWebPage WebNode.
2022-07-23 00:54:26 +02:00
16fda02f48
Added the new user web page classes to the build. They still need binds, so they won't do anything at the moment.
2022-07-22 14:52:55 +02:00
3028c08e9e
Cleaned up the user web nodes.
2022-07-22 14:41:51 +02:00
b6253d1a68
Duplicated UserController into different files, to break it up.
2022-07-22 13:40:22 +02:00
a94e95ce06
Cleaned up UserController.
2022-07-22 12:09:00 +02:00
cf3c24381d
Improve the binds in WebServer.
2022-07-22 12:05:05 +02:00
caa93f89b0
Uncommented / fixed the methods that take WebServerRequest in HTMLBuilder and it's bind class.
2022-07-22 11:45:12 +02:00
0eba7b461f
Created UserManagerDB from UserController code. It's not yet in the build.
2022-07-22 10:16:49 +02:00
8236c509c8
Added user_id property to User, and also did some improvements to it's api.
2022-07-22 10:00:07 +02:00
fa768d2474
Remove the middleware from the user controller file.
2022-07-22 09:47:24 +02:00
30e3fd8faf
Fix typo.
2022-07-21 23:58:34 +02:00
cc42e1b526
Also renamed it's file.
2022-07-21 23:58:21 +02:00
7f58857334
Cleaned up and added the UserSessionSetup Middleware to the build.
2022-07-21 23:56:29 +02:00
a791c8f4b8
HTTPSession's get_int now has a default parameter.
2022-07-21 23:55:33 +02:00
129a2a830d
Moved a few folder in the users module.
2022-07-21 23:32:44 +02:00
31ee15432b
Notes.
2022-07-21 23:31:37 +02:00
5d260fd68d
Cleanups to WebServerRequest.
2022-07-21 23:25:04 +02:00
9232d5b5bb
Renamed the user middleware class.
2022-07-21 23:02:36 +02:00
10e86e1f16
Moved the UserController file.
2022-07-21 23:00:28 +02:00
c227dad81c
Add the web module to the users module as a dependency. (It's only going to be optional though.)
2022-07-21 22:58:12 +02:00
ed9aa722a3
Actually bind get_server(), and get_web_root() in WebServerRequest.
2022-07-21 22:37:55 +02:00
1f62ad89ff
Fix get_server() in WebNode.
2022-07-21 22:31:48 +02:00
f7cc2df683
Fix UserManagerFile. It's not that good for now, but I need a prototype UserManager implementation that can easily create save and load users.
2022-07-21 20:39:15 +02:00
d025937074
Make UserManagers register themselves.
2022-07-21 19:48:37 +02:00
a349dbd762
Fix potential crash.
2022-07-21 19:48:08 +02:00
7f03c8b429
Added a new UserManagerFile.
2022-07-21 19:33:04 +02:00
589844c827
Added an RWLock to User.
2022-07-21 18:19:40 +02:00
0ef9dc8fcf
Added a few bindings to UserManagerStatic to help with creating users form the editor.
2022-07-21 18:08:52 +02:00
7989cfabc4
Removed the user parameter from the User's hash methods.
2022-07-21 17:43:35 +02:00
be68b69b65
Created a new UserManagerStatic class.
2022-07-21 17:31:14 +02:00
0854b8999d
Now the SimpleWebServer will properly set the Request's http method.
2022-07-21 16:06:06 +02:00
e52a188794
Implement parsing cookies in the requests for the SimpleWebServer.
2022-07-21 15:51:44 +02:00
e7e95a677a
API improvements for WebServerCookie, also now it should be able to properly generate cookie response header strings.
2022-07-21 15:36:04 +02:00
ca08fe3de2
Reworked the Web Server's Cookie API.
2022-07-21 14:05:55 +02:00
9d07a6b271
Implement handling http status codes for responses.
2022-07-21 12:26:39 +02:00
7fa4125463
Small temporary typo fix.
2022-07-21 00:54:51 +02:00
061fb42165
Also implement urlenc (default) form data.
2022-07-21 00:28:57 +02:00
55eaf521b4
Rework the multipart parser code to also work with binary files.
2022-07-20 22:53:55 +02:00
25dda93577
Implement handling multipart forms for the WebServer. It will need some changes to work with binary files though.
2022-07-20 21:29:59 +02:00
2648034425
Layout work for form parsing.
2022-07-20 16:28:37 +02:00
88bc492eb1
Also avoid maybe uninitialized warning.
2022-07-20 00:44:17 +02:00
37fdc4938f
Fix shadowed declaration warning in hoedown.
2022-07-20 00:40:49 +02:00
76a0124b88
Implement MarkdownRender's logic.
2022-07-20 00:36:59 +02:00
453a03d0eb
Added a MArkdownRenderer class, and the hoedown library. It's not yet implemented.
2022-07-19 22:37:41 +02:00
e96b28c76b
Register both classes to the ClassDB, and added missing methods.
2022-07-19 20:36:54 +02:00
147568b18d
Bindings for the BBCodeParser.
2022-07-19 20:28:26 +02:00
aa85a21418
Added bindings for HTMLParser.
2022-07-19 20:21:28 +02:00
d786fb5722
More fixes.
2022-07-19 19:26:24 +02:00
30c3baba7c
Added binding methods to BBCodeParser.
2022-07-19 19:20:34 +02:00
2b631968d5
Added binding methods to HTMLParser.
2022-07-19 19:07:50 +02:00
f69cd86e5c
My BBCode parser now also inherith from Reference.
2022-07-19 14:27:01 +02:00
661ba986d7
Small tweaks.
2022-07-19 14:26:40 +02:00
e4e2bea570
HTMLParser and it's helper classes inherit from Reference now.
2022-07-19 13:58:26 +02:00
94f953494a
Implement the actual addon refresh / reload logic, alongside a few smaller logic tweaks.
2022-07-17 01:22:39 +02:00
91387222ce
Implement addon discovering for the plugin refresher module.
2022-07-17 00:40:08 +02:00
60a2fcf304
Added the settings dialog for the plugin refresher.
2022-07-16 23:20:43 +02:00
69f3a5229d
Added a new plugin_refresher module. It's only a skeleton for now. Same idea as the godot-plugin-refresher addon, but done a bit differently.
2022-07-16 21:42:46 +02:00
4faf01a1c1
Added a readme for the tx editor.
2022-07-16 15:50:42 +02:00
c228d921e4
Fixed CSV preview.
2022-07-16 15:32:23 +02:00
00d6e0a628
Hide the search bar by default.
2022-07-16 15:16:43 +02:00
b70482d246
Reuse CodeEditor's SearchBar class for TextEditor.
2022-07-16 15:07:48 +02:00
196c136181
Removed the search and replace box from the text editor.
2022-07-16 15:00:34 +02:00
8133312970
Fix typos.
2022-07-16 00:40:09 +02:00
22b4fbb357
Reimplemented missing initialization for the classes that need it.
2022-07-16 00:36:35 +02:00
383475a650
Use better icon.
2022-07-16 00:28:36 +02:00
72edf6db9c
Remove unneeded file.
2022-07-16 00:25:24 +02:00
e42ff580e4
Finished cleaning up text editor and added everything to the build. It doesn't work properly yet though.
2022-07-16 00:23:07 +02:00
5444e99213
Cleaned up the editor plugin.
2022-07-15 22:35:29 +02:00
573011b373
Also renamed classes, fixed include guards, and includes.
2022-07-15 22:13:18 +02:00
2346176cd0
Rename files in the text editor module.
2022-07-15 21:38:48 +02:00
61909cb0fa
Cleaned up LastOpenedFiles.
2022-07-15 21:04:02 +02:00
8a98ebf0ed
Removed the Icon Loader.
2022-07-15 19:48:25 +02:00
3f304192f4
Initial cleanup for the FileEdtitor.
2022-07-15 19:47:59 +02:00
614464725b
Initial cleanup for Preview.
2022-07-15 18:48:35 +02:00
477d6942fc
Initial cleanup pass on the VanillaEditor.
2022-07-15 17:09:10 +02:00
d8f28e77fd
Used the gdscript to cpp converter script to turn https://github.com/Relintai/godot-engine.file-editor into a module.
2022-07-15 14:55:18 +02:00
c8579ef63f
Removed yield from cscript.
2022-07-13 00:38:23 +02:00
c4edec424d
Separate syntax highlighting options.
2022-07-13 00:09:59 +02:00
8611d7d9c8
Removed rpc keywords from cscript. Note that networking should still work with it using rset_config (like how it works in engine side code).
2022-07-13 00:07:10 +02:00
73ac91dc86
Fixed remaining issues and added cscript to the build.
2022-07-12 22:58:44 +02:00
6b2db83031
Change script extension.
2022-07-12 21:38:17 +02:00
90e555ebb0
Rename cscript file names.
2022-07-12 20:04:37 +02:00
e92d4e0f97
Mass rename classes in the cscript module.
2022-07-12 19:55:21 +02:00
e687fc6a4a
Added a new cscript module. It's a copy of gdscript, and it's build is disabled for now. I plan to experiment with it to have a scripting language that's syntax is as close to c (c++) as possible.
2022-07-12 12:20:34 +02:00
1cee3914be
Added a few todos.
2022-07-08 16:09:17 +02:00
646d0c6e7d
Implemeted and added a new UserDB singleton.
2022-07-08 13:59:18 +02:00
62c895f85c
Moved password related methods to the User from UserManager.
2022-07-08 10:00:54 +02:00
e0ceb9fbab
Added a small note.
2022-07-08 01:36:40 +02:00
985edc6b9e
Created a new UserManager class.
2022-07-08 01:30:19 +02:00
e6e8de0cc5
Moved User and UserController to a new module from web.
2022-07-07 23:25:08 +02:00
f47536b834
Add an another note.
2022-07-07 21:53:28 +02:00
d363ad43c2
Remove 2 comments, these variables should actually be safe as normal bools.
2022-07-07 21:46:51 +02:00
6172b0eee4
Set wirte_lock_requested back to false.
2022-07-07 21:46:13 +02:00
57775d88de
Renamed WebNode's write lock acquired notification, and changed it's number.
2022-07-07 21:44:41 +02:00
2feba341be
Reworked the WebServer to automatically find it's root webnode, and HTTPSessionManager. Also Added notifications for when the server starts and stops, and implemented the write lock for it.
2022-07-07 21:44:14 +02:00
16d12e3756
Cleaned up User, and added it ot the build.
2022-07-07 17:06:00 +02:00
9d5828a6bd
Remove drbac and related classes.
2022-07-07 00:48:57 +02:00
3f481f6eba
Added an another idea that I had to notes.
2022-07-07 00:26:41 +02:00
9504c2590b
More notes.
2022-07-07 00:23:08 +02:00
d469473ec8
Some todos / notes.
2022-07-07 00:18:37 +02:00
eb251fef19
Removed web settings related code from WebNode.
2022-07-06 23:54:07 +02:00
83160ae6cf
Removed my settings classes.
2022-07-06 23:46:30 +02:00
afef61dabf
Re-enabled database support for WebNodes.
2022-07-06 23:03:44 +02:00
25e0c1097a
Disable warning.
2022-07-06 22:34:07 +02:00
8712507a20
Updated sqlite, it seems like they fixed all warnings.
2022-07-06 22:23:10 +02:00
9731e52130
Removed 2 lines that I thought would work.
2022-07-06 22:22:16 +02:00
d02d86aedc
Fully cleaned and added the sqlite database backend to the build.
2022-07-06 22:14:37 +02:00
2a5e0ae0f8
Ported https://github.com/godotengine/godot/pull/53443 .
2022-07-06 18:37:38 +02:00
de1e07daf4
Work on getting the sqlite module to compile.
2022-07-06 18:26:17 +02:00
07af5c285c
Moved the database backends into their own modules. All of them are disabled for now.
2022-07-06 13:13:00 +02:00
8422566d28
Moved the settings classes fomr the database module to the web module.
2022-07-06 12:59:34 +02:00
14b0d60d70
Fix duplicate binds.
2022-07-06 12:53:54 +02:00
66587299a8
Added the database classes to the build.
2022-07-06 12:46:22 +02:00
6389a5714d
Added multi threaded and single threaded Database base classes.
2022-07-06 10:11:17 +02:00
42501c339f
Added owner support for the DatabaseConnection.
2022-07-06 09:44:02 +02:00
be6ec3ee61
Separated Database and DatabaseConnection into different files.
2022-07-06 09:33:57 +02:00
2ec4fe922f
Broke up Database into 2 classes, to be able to better handle multi threading for the database systems that work better with having a connection for each thread. Haven't yet tested which backends would work better like this though.
2022-07-06 09:30:50 +02:00
b26ad4cab9
Cleaned up and added bindings for Database.
2022-07-06 09:17:49 +02:00
d5f5e9fec9
More cleanups.
2022-07-05 23:30:14 +02:00
134d94af5f
Finished cleaning up QueryBuilder.
2022-07-05 23:05:07 +02:00
f9bbf772ca
Work on cleaning up QueryBuilder.
2022-07-05 20:34:12 +02:00
5c1a702722
Cleaned up QueryResult.
2022-07-05 20:01:15 +02:00
614129ce2f
Clenaed up table builder, and added bindings for it. I also reworked it's api a bit. I don't think anyone will implement databases using gdscript, so I did it a bit differently than usual. Also if the need arises, a subclass can be implemented that is implementable through scripting.O
2022-07-05 19:42:27 +02:00
e9938cfefa
Initial database module setup.
2022-07-05 14:45:45 +02:00
d2c0941c42
Fix missing include.
2022-07-04 20:46:26 +02:00
189348169e
Added bindings for the FormValidators, and added them to the build.
2022-07-04 20:43:39 +02:00
d4e26c33fa
Added getters and setters for the FormValidators.
2022-07-04 19:48:38 +02:00
aa74fb8149
More work on a proper bindable api for the FormValidators.
2022-07-03 21:24:23 +02:00
d2925182fa
Cleaned up FormValidators, and reworked their api to fit the engine better.
2022-07-03 20:27:22 +02:00
f3a290e005
Also cleaned up and added my BBCodeParser to the build.
2022-07-03 18:40:05 +02:00
29480135c1
Cleaned up and added HTMLParser to the build. I'll make bindings for it later.
2022-07-03 18:13:41 +02:00
899e3b671d
Use memnew() instead of new.
2022-07-03 17:35:07 +02:00
b8d602f847
Added a new helper method to DirAccess.
2022-07-03 17:29:52 +02:00
2eb333b63d
Cleaned up the remaining 2 PagedArticle classes. Only PagedArticles is in the build, the other one will need more changes.
2022-07-03 16:28:57 +02:00
eb2abf779d
Cleaned up PagedArticle and added it to the build.
2022-07-03 15:27:14 +02:00
d4b93e4869
Small tweak.
2022-07-03 14:21:02 +02:00
bf99b34f1a
Fix warnings.
2022-07-03 13:27:11 +02:00
d6d4538c6e
Finished cleaning ListPage and added it to the build.
2022-07-03 13:23:32 +02:00
149c177582
Bindinds for HTMLPaginator.
2022-07-03 12:54:54 +02:00
a79a6484e7
Replace uints in HTMLPaginator to ints.
2022-07-02 22:21:43 +02:00
066129b2ba
Added HTMLPaginator to the build.
2022-07-02 22:18:14 +02:00
9b1d5d9e87
Removed html utils.
2022-07-02 22:00:19 +02:00
ba2b2d2822
Added pagination methods from utils to the Paginator.
2022-07-02 21:59:24 +02:00
549eb0b39b
Initial cleanup pass on Paginator and ListPage.
2022-07-02 21:56:10 +02:00
4d93d8da94
Fixed BrowsableFolderServeNode.
2022-07-02 21:11:13 +02:00
8787b9cd7f
Fix logic in WebServerRequest::get_path.
2022-07-02 21:10:48 +02:00
6f10e05c32
Fix FolderServeNode.
2022-07-02 19:58:43 +02:00
8840439f7a
Fix path handling in FileCache.
2022-07-02 19:58:06 +02:00
f81018f712
Initial cleanup of the folder serve nodes, also added them and HTMLBuilder to the build.
2022-07-02 16:40:08 +02:00
56d2ccbb26
Cleaned up StaticPages, and added them to the build.
2022-07-02 13:22:10 +02:00
a94ee653d1
Removed a few unneeded files.
2022-07-01 22:38:01 +02:00
25323a92b7
Fix shadowed declaration.
2022-07-01 22:17:35 +02:00
ead4b0594b
Refactored FileCache so it actually works with this setup.
2022-07-01 22:13:45 +02:00
0bbff6ae3b
Small improvements / fixes.
2022-07-01 18:50:56 +02:00
b77fc71b2d
Call setup_url_stack before trying to handle the request.
2022-07-01 18:50:42 +02:00
a7b705ebea
Implemented sending responses. (In an extremely simple way for now.)
2022-07-01 18:25:45 +02:00
24e120142e
Implement basig http header parsing, and also send the request through the WebNode tree.
2022-07-01 17:40:47 +02:00
10150d67c8
Fix shadowed declaration.
2022-07-01 01:10:35 +02:00
22a8b3fff5
Fix sign compare warning.
2022-07-01 01:08:51 +02:00
0ee8dc5f2a
Callback setup for http_parser.
2022-07-01 01:03:23 +02:00
913d46e7f0
Added http_parser.
2022-06-30 23:25:05 +02:00
7455fc9dd5
moved HTTPParser and writer to the simple server's directory.
2022-06-30 23:18:45 +02:00
08bb253a5c
Some initial work on the parser.
2022-06-30 23:12:32 +02:00
ddf3dae42b
Also added a HttpWriter.
2022-06-30 21:43:16 +02:00
228cfca0eb
Added a new HTTPParser class.
2022-06-30 21:22:42 +02:00
089431e902
Remvoed httpio, as it apparently works differently that how I originally thought.
2022-06-30 21:09:54 +02:00
fe5882665b
Added it to the build.
2022-06-30 18:26:51 +02:00
be5f77c874
Added httpio ( https://github.com/fetisov/httpio ).
2022-06-30 18:23:12 +02:00
617d3e6321
Added SimpleWebServerRequest.
2022-06-30 18:06:02 +02:00
92040597e9
Fixed my fix.
2022-06-30 17:29:02 +02:00
e3989cafad
Fix a compile error for some of the platforms.
2022-06-30 17:25:45 +02:00
e660b2d848
Cleaned up WebServerSimple and added it to the build.
2022-06-30 17:15:57 +02:00
8014115546
Initial cleanup of the web server classes.
2022-06-30 16:28:23 +02:00
aba918dd73
Added the database classes from rcpp_framework.
2022-06-30 13:23:48 +02:00
121740f070
Added theweb nodes from rcpp_framework.
2022-06-30 13:23:14 +02:00
48e8b85f7e
Copied over the javacript export class, as a base of a simple webserver implementation (later).
2022-06-27 16:38:35 +02:00
2fb352fd3c
Added note.
2022-06-27 16:37:30 +02:00
75c405c174
Removed the temp folder.
2022-06-27 16:24:04 +02:00
50c20d4a72
... an another one ...
2022-06-27 16:12:49 +02:00
4251937198
More sign compare warning fixes.
2022-06-27 16:10:02 +02:00
9e99f010bc
Fix an another sign compare warning.
2022-06-27 16:06:26 +02:00
567716c79a
Fix different sign compare warning.
2022-06-27 15:47:10 +02:00
a6331e9ff9
Fix calling the proper methods.
2022-06-27 15:42:57 +02:00
3a6a046ad4
WebRoot lookup and pix property.
2022-06-27 15:42:40 +02:00
cfe4279709
Fix double includes.
2022-06-27 15:42:11 +02:00
30900ebfb5
Skip evlauating special dist (like ., ..) in FileCache.
2022-06-27 15:04:44 +02:00
844dc44f24
More fixes, and added all of the cleanued up classes to the build.
2022-06-27 14:59:09 +02:00
5d3954bceb
Fix a few issues with binds.
2022-06-27 14:23:07 +02:00
f819383012
Smaller cleanups and improvements.
2022-06-27 14:16:23 +02:00
90c0a9937b
Renamed SessionManager to HTTPSessionManager.
2022-06-27 13:56:34 +02:00
c530aa2c41
Bindings, and an another round of cleanups for WebRoot.
2022-06-27 13:52:33 +02:00
3d9e615a51
WebServerMiddleware now inherit from Resource.
2022-06-27 13:51:55 +02:00
3644840a8e
Added FileCache to the build.
2022-06-27 12:28:36 +02:00
663cd9d3a2
Added bindings to FileCache, also smaller tweaks.
2022-06-27 12:26:57 +02:00
3c78c29c17
Alos cleaned up FileCache.
2022-06-27 01:31:05 +02:00
ba1ea3c62a
Cleaned up WebRoot aswell.
2022-06-27 01:15:01 +02:00
7aa6798ab7
Cleaned up WebNode.
2022-06-27 01:03:01 +02:00
633acfcd54
Cleaned up WebServer.
2022-06-26 21:34:29 +02:00
47ee34044a
More cleanups to the csrf token middleware.
2022-06-26 20:54:26 +02:00
c3458b80bc
Cleaned up the SessionManager.
2022-06-26 20:53:54 +02:00
da266fbea2
Cleaned up HTTPSession.
2022-06-26 20:53:39 +02:00
0b0d5e3657
Cleanup / bindings for Middleware, and CSRFToken.
2022-06-26 19:43:31 +02:00
9ce119a5ab
WebServerRequest cleanup + bindings.
2022-06-26 19:25:57 +02:00
19cd0fe4e2
Cleaned up WebPermission.
2022-06-26 17:23:40 +02:00
a92f8dd5c0
Added bindings for WebServerCookie and adde dit to the build.
2022-06-26 17:03:06 +02:00
09ef29804e
Added a class for http server's enums, and added it to the build.
2022-06-26 16:09:55 +02:00
b1283a7571
Renamed http_enums.h.
2022-06-26 15:09:55 +02:00
544863b923
Class renames.
2022-06-26 15:00:25 +02:00
e6d45eeb40
Renamed more files in the web module.
2022-06-26 11:13:34 +02:00
6b29462503
Removed RequestPool.
2022-06-26 11:09:36 +02:00
8211115346
Renamed Request to WebServerRequest.
2022-06-26 11:07:45 +02:00
50faba808b
Comment.
2022-06-26 03:37:36 +02:00
e69abb36fc
Created bindings for HTMLBuilder, and added the module to the build.
2022-06-25 20:15:51 +02:00
2e67a37aff
Binds for HTMLBuilder.
2022-06-25 16:53:25 +02:00
893a9af507
Added getters and setters for HTMLTag.
2022-06-25 15:11:11 +02:00
6576809d6b
Merged override methods to one int HTMLBuilder.
2022-06-25 14:33:00 +02:00
a9a5b8adaa
Getter/Setter for the result.
2022-06-25 12:29:50 +02:00
c8ad42a540
Update return statements.
2022-06-25 12:26:48 +02:00
676245221f
An another pass on the bound HTMLBuilder.
2022-06-25 11:58:55 +02:00
48d65fd93d
Added the web module from rcpp_framework, and a test attempt at binding HTMLBuilder. The module is not in the build yet.
2022-06-25 01:55:54 +02:00
fae3eabc8c
Fix property setter.
2022-06-22 00:43:52 +02:00
b8541c8e9d
Fix typo.
2022-06-21 23:05:26 +02:00
45d8f98459
Fixed resizing the canvas. Also now the new menu will clear all layers.
2022-06-21 22:58:54 +02:00
fed839a235
Fix resizing PaintCanvas.
2022-06-21 22:27:44 +02:00
81e959089e
Better color for the visual grid.
2022-06-21 21:10:20 +02:00
181ec8f642
Hide the magic menu button.
2022-06-21 21:03:10 +02:00