Commit Graph

1352 Commits

Author SHA1 Message Date
d9e094ab9a Renamed elements in Basis to rows. 2022-08-13 19:07:59 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00
f423b30714 Backported from Godot4: Fix secondary handles in editor gizmos
Primary and secondary handles are no longer differentiated by their ids, so a bool was added to tell them apart in all the handle-related methods.
Includes a minor fix in CollisionPolygon3DEditor, unrelated to editor gizmos.
- JFonS
5ebea2d120
2022-08-12 22:21:00 +02:00
a84be665ec Use AnimationPlayer's root property instead of just getting it's parent when exprting a GLTFDocument. 2022-08-12 13:59:27 +02:00
82550d10e3 Also update BoneAttachment handling code. 2022-08-12 12:58:04 +02:00
d5158716d9 Update the logic of _convert_animation_track in GLTFDocument. 2022-08-12 12:57:02 +02:00
e3918692a3 Backported from Godot 4: Fixed animation insertion in SkeletonEditor - TokageItLab
653e2a550c
2022-08-12 01:34:45 +02:00
9d9271b518 Removed the SNAME macro, I'll probably keep static counting support for StringNames though. 2022-08-11 20:22:51 +02:00
6825202490 Removed warning. 2022-08-11 20:11:43 +02:00
5e3c3ff4d0 Ported from Godot4: Implement global rest - TokageItLab
4d4ffa3a2c
2022-08-11 20:10:26 +02:00
da62c587e8 Ported from Godot4: get rid set_bone_pose and fix some function in SkeletonEditor - TokageItLab
8e9897b6de
2022-08-11 19:57:23 +02:00
109a0ca81b Ported from Godot4: Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
- reduz
2dc823273e
2022-08-11 19:06:33 +02:00
92600420ba Backported from Godot4: Implemented SkeletonEditorGizmo.
-TokageItLab, lyuma
f2e9867e9f
- It still has some issues, as this one works differently than the 3.x version, they will be fixed later.
2022-08-11 17:31:02 +02:00
3cbdd9cfa1 Removed Module prefix / infix from the skeleton editor's classes. Also now the module only has one EditorPlugin. 2022-08-11 10:59:22 +02:00
b6eb2db442 Backported returning AfterGUIInput from forward_spatial_gui_input from Godot4. Also removed the first index parameter. This fully broke the skeleton editor, it will be fixed soon. 2022-08-11 02:24:30 +02:00
58539a22b6 Backported from Godot4: Node3D gizmo improvements
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs.
* Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins.
* Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes.
* Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles.
* Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
- JFonS
cfb555a081
- Note: MeshDataResourceEditor is now kind of painful to use, it will be fixed a bit later.
2022-08-11 01:24:29 +02:00
ed5024d3c3 Moved AnimationPlayerEditor::singleton to private, and added getter method for it. 2022-08-10 18:53:15 +02:00
7e451e0f30 Removed the built in SkeletonSpatialGizmoPlugin. (The skeleton editor module used to remove it anyway.) 2022-08-10 14:44:15 +02:00
07fa703645 Improvements to the skeleton's gizmo. It still has issues though. I'll get back to it later. 2022-08-10 14:28:26 +02:00
73fa94274b Fixed the bone editor's bone tree. 2022-08-10 12:51:20 +02:00
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
6939e22983 Fix PasteCutAction. 2022-06-21 20:26:05 +02:00
118fd74a10 Improvements to commit_action()'s logic. 2022-06-21 20:02:33 +02:00
ec82662b10 Fix RainbowAction. 2022-06-21 19:40:47 +02:00
04a8f1d3d2 Fix BucketAction. 2022-06-21 19:21:50 +02:00
50530c4f79 Fix undo and redo order. 2022-06-21 19:15:07 +02:00
10eeb612b0 Also set up layer. 2022-06-21 19:11:46 +02:00
8fe7110dc9 Remove a now uneeded method. 2022-06-21 18:54:33 +02:00
ab5b32cedf Use duplicate(). 2022-06-21 18:54:23 +02:00
1f3ef7782f Bindings for the rest of the actions. 2022-06-21 18:47:22 +02:00
d68d3fa340 Created binds for PaintAction. 2022-06-21 18:04:31 +02:00
233e128dc3 Register the actions to the classdb. 2022-06-21 17:12:03 +02:00
bd609fd96a Now PaintAction inherits from Resource instead of Reference. 2022-06-21 17:04:09 +02:00
2f647c1561 Improved copying the data from an action to an another. I'll try an another solution though. 2022-06-21 17:02:39 +02:00
004bf8e812 Fixed LineAction and RectAction. 2022-06-21 16:35:19 +02:00
918a246ef4 Fixed the tool layer. 2022-06-21 16:28:17 +02:00
1ef976c007 Remove unecessary check. 2022-06-21 16:22:41 +02:00
328af63ad1 Small improvements and simplifications for PaintCanvas. 2022-06-21 14:42:51 +02:00
0483521818 Ported CutAction. 2022-06-21 13:13:41 +02:00
f462e22536 Ported RainbowAction. 2022-06-21 10:52:18 +02:00
cfee15aa52 Ported MultilineAction. 2022-06-21 10:37:22 +02:00
1e979d3061 Ported RectAction. 2022-06-21 10:08:41 +02:00
ad3a5aa196 Ported PasteCutAction. 2022-06-21 00:34:47 +02:00
bafde8e9db Ported LineAction. 2022-06-20 23:22:52 +02:00
61a8942070 Ported DarkenAction. 2022-06-20 22:57:44 +02:00
3db7c40a46 Fixed the up and down arrows of the paint layers. 2022-06-20 22:21:52 +02:00
d8185be48f Fix the initial canvas size for the paint module. 2022-06-20 21:06:44 +02:00
b60b5f79c2 Fix crash in PaintWindow's undo. 2022-06-20 20:42:05 +02:00
6ef7294524 Fix SDF3DShapeCapsule already has a binding error. 2022-06-20 20:07:40 +02:00
b2d2a6fbe5 Fixed BrushAction. 2022-06-20 01:47:20 +02:00
5f683261ff Reimplemented the PaintVisualGrid differently. 2022-06-20 00:59:32 +02:00
5e03f0f82b Register PaintWindow, and also enable the PaintEditorPlugin by default. The paint module is still a bit buggy though, I'm hoping to fix most of it's isues in the next few days. 2022-06-20 00:12:33 +02:00
1ca15c44e4 Fix typo in PencilAction. 2022-06-20 00:10:51 +02:00
f3a3fdfd75 Ported get_points in PaintAction. 2022-06-20 00:10:31 +02:00
0f97b55f27 Cleaned up the original addon's files for mat_maker_gd. Only kept node code. And moved the readme and license files and updated the readme. 2022-06-19 22:56:48 +02:00
3283f1d649 Re-enabled all filter nodes. 2022-06-19 18:38:35 +02:00
95a542057a Rename math.h and cpp in filters to mm_math.h and cpp. 2022-06-19 18:36:59 +02:00
ed928158bd Removed the previous test. 2022-06-19 18:35:29 +02:00
036629a84c An another small test. 2022-06-19 18:30:51 +02:00
af5a897f17 Disabled all filter nodes again. 2022-06-19 18:25:56 +02:00
08529315ca Enabled the fill nodes and disabled tonality. 2022-06-19 18:10:55 +02:00
f1226b3519 Removed include. 2022-06-19 18:03:23 +02:00
5a92fc871d Re-enabled the tonality node. 2022-06-19 17:35:11 +02:00
9375356924 Temporarily disabled filter nodes to try to debug an issue with github actions. 2022-06-19 17:28:38 +02:00
0fe6e5325e Fix warning. 2022-06-19 17:07:40 +02:00
3bf4f2d1bf Fixed the size of the graident preview. 2022-06-19 17:04:46 +02:00
29919540db Also handle udpating the GradientEditor when the edited resource changes. 2022-06-19 16:54:12 +02:00
91b87ce9ef Reworked the gradient editor. It shouldn't crash anymore. 2022-06-19 16:06:27 +02:00
af99c162c0 Fix typo. 2022-06-19 13:02:13 +02:00
33d43d8ef8 An another stab at fixing the windows github action build. 2022-06-19 13:00:01 +02:00
9171cfb92e A stab at fixing windows build. 2022-06-19 12:37:57 +02:00
7a97d20c97 Remove unecessary if. 2022-06-19 12:37:16 +02:00
4517cc0c78 Use the popup closed event for color slots in MMGraphNode. 2022-06-19 04:41:53 +02:00
d6bf1b281a Cleaned up the filter nodes aswell. 2022-06-18 23:03:34 +02:00
e8cb984e21 Cleaned up gradients. 2022-06-18 16:49:53 +02:00
cbb5142be6 Cleaned up mat_maker_gd's noise classes. 2022-06-18 16:21:46 +02:00
d5437adaa2 Cleaned up MMOutputImage. 2022-06-18 11:53:46 +02:00
3fbf9713f7 Cleaned up the patterns. 2022-06-18 00:19:06 +02:00
efb00f2fbb Cleaned up the sdf2d operations. 2022-06-17 21:38:22 +02:00
f2fb6b8b7d Cleaned up the rest of the SDShapes. 2022-06-17 19:58:57 +02:00
d339fb1fdb Cleaned up SDF show, rhombus, and transforms. 2022-06-17 18:59:08 +02:00
8282061088 Cleaned up sdf3d op nodes, and sdf3d color. 2022-06-17 17:36:45 +02:00
88f2303cf8 Only initialize points if necessary. 2022-06-17 13:20:55 +02:00
e0895460e5 Cleaned up the rest of the sdf3d shapes. 2022-06-17 13:17:08 +02:00
c39cfd2c05 _curve_changed is now virtual, and curve_changed uses call() to invoke it. 2022-06-17 13:11:18 +02:00
b1cc1cb693 Cleaned up MMSdf3dRender. 2022-06-17 12:25:33 +02:00
5c67416ad5 Cleaned up 3 more sdf3d nodes. 2022-06-17 12:07:24 +02:00
3bbaaa3af0 MMSDF3dTfTranslate node. 2022-06-17 11:25:09 +02:00
edf682cace Cleaned up MMCurve. 2022-06-17 10:55:37 +02:00
87b0cd5733 Cleaned up MMImage. 2022-06-17 10:17:17 +02:00
4b63250bc7 Fix bindings in ImagePickerButton, and load the image properly. 2022-06-17 10:17:05 +02:00
a4d5219e26 Cleaned up MMShape. 2022-06-17 01:38:18 +02:00
18b19d0293 Added missing class to config.py. 2022-06-17 01:17:01 +02:00
f1c5132346 Fix typos. 2022-06-17 01:16:27 +02:00
0c759b2f16 Cleaned up MMCircleMap, MMColorTiler, and the MMKaleidoscope nodes. 2022-06-17 01:14:46 +02:00
e1493ecac6 Cleaned up MMMirror, and MMRepeat. 2022-06-16 21:31:35 +02:00
3e1002c71d Cleaned up MMScale and MMRotate. 2022-06-16 21:20:48 +02:00
778e4948ba Cleaned up MMShear. 2022-06-16 21:09:20 +02:00
6da5703d5c Cleaned up MMTiler. 2022-06-16 20:00:15 +02:00
9ff5be15e5 Cleaned up MMTransform. 2022-06-16 19:26:46 +02:00
20af76c795 Cleaned up MMTranslate. 2022-06-16 18:59:21 +02:00
90f6ba8369 Removed duplicate binds. 2022-06-16 18:42:02 +02:00
8a057a643e Prefixed GreyscaleUniform with MM. 2022-06-16 18:40:43 +02:00
bf11ab2a43 Also cleaned up GreyscaleUniform. 2022-06-16 18:10:55 +02:00
c2a373a9cf Cleaned up Uniform, and added it to the build. 2022-06-16 17:13:14 +02:00
d939ab54c7 Mark quite a few methods as virtual in MMNode. 2022-06-16 16:40:17 +02:00
c028c76499 Comverted the remaining nodes. 2022-06-16 15:29:08 +02:00
1644490a3e Fix sign compare warning. 2022-06-16 15:28:55 +02:00
32b3d1bd0d Now MatMakerGDEditor will properly delete all previous graph nodes when it has to open a new MMMaterial. 2022-06-16 14:24:40 +02:00
034aed2b73 Fix duplicate methods and binds in CurveEditor. 2022-06-16 12:15:10 +02:00
025713f94f Fix the CurveDialog's ui. 2022-06-16 12:14:56 +02:00
e9a02afd37 Connect up CurveEdit's button. 2022-06-16 11:36:49 +02:00
2539e01711 Fix duplicate binds in CurveEdit. Also smaller fixes. 2022-06-15 20:30:36 +02:00
59baf2088f CurveEdit needs to inherit from Button. 2022-06-15 20:30:11 +02:00
0ee27d830b Fix duplicate bind. 2022-06-15 20:27:38 +02:00
d3c7a61cef MMGraphNode should use GraphEdit Instead of MMGraphEditor. 2022-06-15 18:57:08 +02:00
d73d398155 Connect PolygonControlpoint's gui input method. 2022-06-15 18:52:55 +02:00
6da06474cf Added the Node structure for PolygonDialog. 2022-06-15 18:21:15 +02:00
ee9144b1b5 PolygonEdit should have inherited from Button, and connected the pressed signal. 2022-06-15 18:03:35 +02:00
9975ea358f MMGraphNode should instance PolygonEdit instead of PolygonEditor. 2022-06-15 17:57:20 +02:00
08c6131285 Fix duplicate properties in PolygonEdit. 2022-06-15 17:56:32 +02:00
fe5f0bc196 Det anchors properly,a nd connect gui_input In PolygonEditor. 2022-06-15 17:56:14 +02:00
f1eced523c Fix overrides and duplicate binds in PolygonEditor. 2022-06-15 17:38:19 +02:00
6e09878f54 Fix sorting GradientCursors. 2022-06-15 17:22:58 +02:00
1ec5e8a756 Fix loading cursors for the gradient editor. 2022-06-15 16:45:58 +02:00
275d0604f8 Added virtual method binding for get_gradient_color in GradientBase. 2022-06-15 14:34:51 +02:00
d320f3862f Fix having a duplicate binding in GradientCursor. Also fix setting up the value label for it. 2022-06-15 14:04:42 +02:00
af2999c615 Fix duplicate method bind. 2022-06-15 13:41:58 +02:00
3566962fab Fix shader and a crash in Gradient Editor. 2022-06-15 13:41:35 +02:00
76464a0509 Instance the proper base type when using scripts in mat maker gd editor. 2022-06-15 13:40:46 +02:00
3e26ea2975 Check whenter the node has the proper class before adding a curve, polygon or gradient graph node. 2022-06-15 13:19:18 +02:00
af2059468f Fix initializing MMGraphNodes. 2022-06-15 13:02:15 +02:00
9b36e0dd1c Set minimum size for the mat maker editor. 2022-06-15 12:47:39 +02:00
c6d7e7c112 Fix set_input_properties and set_output_properties in MMNode. 2022-06-15 12:44:17 +02:00
aedd8ee5d1 Fix crahs in mat maker's editor. 2022-06-15 10:53:13 +02:00
93ea9616d1 Fixed default parameter bindings for MMGraphNode. 2022-06-15 10:41:03 +02:00
d642c0ad79 Re-enable mat maker's editor plugin. 2022-06-15 10:34:09 +02:00
764c285223 Fix the add popup for mat maker's ui. 2022-06-15 10:33:57 +02:00
315f642c3a Fix MMNode registration. 2022-06-15 10:01:14 +02:00
4de6619a40 Fix typo. 2022-06-15 10:00:37 +02:00
4e43137471 Disable mat maker's editor plugin for now. 2022-06-14 18:57:33 +02:00
38b918c515 Fix binding related errors on startup. 2022-06-14 18:44:45 +02:00
1890f45fe1 Added an editor plugin for the material maker module. 2022-06-14 18:27:36 +02:00
43db64cc7f Reimplement the missing methods in MMGraphNode. Had to rename the cure and gradient editor classes as they were confliction with engine stuff. 2022-06-14 17:55:23 +02:00
f180658682 Fixed smaller issues and added all of mat maker's widgets to the build. 2022-06-14 17:16:26 +02:00
35fadcb6bb Fixed the remaining compile issues for the gradient editor, and added it to the build. 2022-06-14 16:43:44 +02:00
dbca350602 More cleanups to the gradient editor. 2022-06-14 15:00:55 +02:00
f21019adab Also added the file dialog and float edit to the build. 2022-06-13 23:07:53 +02:00
d2a8b9ad86 Added it to the build. 2022-06-13 22:52:48 +02:00
fbde39b27f Fixed the remaining issues with the curve editor. 2022-06-13 22:52:12 +02:00
b8b0294501 Fix ImagePickerButton. 2022-06-13 21:38:34 +02:00
ce637e247e Renamed mat maker's file dialog's file. 2022-06-13 20:58:27 +02:00
a276ee47e8 Claened up MatMAker's FileDialog. 2022-06-13 20:57:24 +02:00
18694c27b9 Cleaned up LeftPanel. 2022-06-13 20:09:59 +02:00
efd6c7b333 Cleaned up PolygonEditor. 2022-06-13 18:58:08 +02:00
5eafb2fcd5 Cleaned up PolygonDialog. 2022-06-13 18:35:51 +02:00
665f8be21f Cleaned up PolygonEdit. 2022-06-13 18:12:04 +02:00
8178d526ba Renamed polygon editor's ControlPoint to PolygonControlPoint. 2022-06-13 17:45:23 +02:00
6014b98720 Mostly done ControlPoint. 2022-06-13 17:42:10 +02:00
a12ee8f913 Cleaned up PolygonView. 2022-06-13 17:28:17 +02:00
09e7eb3db2 An another set of cleanups to CurveEdit. 2022-06-13 16:51:02 +02:00
e78601c60a Cleaned up CurveDialog. 2022-06-13 16:47:01 +02:00
4c12cb8606 Cleaned up CurveEdit. 2022-06-13 16:46:42 +02:00
20b291a2ea Light clean pass on CurveEditor. 2022-06-12 22:24:36 +02:00
28720be0be Initial cleanup for ControlPoint. 2022-06-12 16:59:12 +02:00
1943e7f150 Cleaned up CurveView. 2022-06-12 16:19:27 +02:00
e4ef99abc4 An another touchup. 2022-06-12 15:25:33 +02:00
db18d2b5b2 Cleaned up SlopePoint. 2022-06-12 15:24:10 +02:00
7923375f8e Added the 3 base classes to the build. 2022-06-12 14:45:01 +02:00
21ca852196 Also cleaned up PolygonBase. 2022-06-12 14:24:27 +02:00
a4276b11d0 Cleaned up GradientBase. 2022-06-12 13:47:09 +02:00
240871c517 Fix all errors in CurveBase found by clangd. 2022-06-12 13:41:42 +02:00
4943aa9569 Initial cleanup pass on CurveBase. 2022-06-12 00:54:08 +02:00
c2311362fd Also converted and added the base nodes for material maker. 2022-06-11 23:39:25 +02:00
aa38f53ed2 Fix typo. 2022-06-11 21:17:26 +02:00
f0ac767970 Compare as boolean. 2022-06-11 20:57:03 +02:00
38ff41c893 Fix handling input for the PaintWindow. 2022-06-11 20:56:41 +02:00
1309b39162 Little cleanups for the GradientEditor. 2022-06-10 19:41:28 +02:00
943538fec9 GradientCursor initial cleanup. 2022-06-10 18:33:01 +02:00
8ff93d88e8 Cleaned up FloatEdit. 2022-06-10 15:55:10 +02:00
d25efcc17c Initial cleanup for the ImagePickerButton. 2022-06-10 01:01:32 +02:00
b50e8bc49b Ported color picker popup. 2022-06-10 00:05:36 +02:00
35f8b54b75 Also renamed it's filename and directory. 2022-06-09 23:52:31 +02:00
4f27367a1f Cleaned up mat maker's color picker button. 2022-06-09 23:50:23 +02:00
4c2ec0ffd9 Converted the widget code for mat_maker_gd to cpp and added it in. 2022-06-09 19:42:17 +02:00
96ed3b53a3 More smaller fixes. 2022-06-08 21:48:23 +02:00
7f5e462ad0 Fix one more error. 2022-06-08 21:23:48 +02:00
5915042c20 Fixed every issue found by clangd in MMGraphNode. 2022-06-08 21:22:05 +02:00
15ce82c23b Full cleanup of MatMakerGDEditor. 2022-06-08 19:13:06 +02:00
0f7a6fb070 The MMCreateNamePopup should be finished now. 2022-06-08 17:02:10 +02:00
7af9c93c3f Added MMNode registry to MMAlgos. 2022-06-08 15:53:58 +02:00
ab95dd6418 Second pass on MMCreateNamePopup. 2022-06-08 11:04:34 +02:00
56eeb9adde Initial cleanup for the MMCreateNamePopup. 2022-06-08 09:42:21 +02:00
221708f7c3 Initial cleanup of MatMakerGDEditor. 2022-06-08 00:45:59 +02:00
4f6a2df5a5 Second round of cleanups to MMGraphNode. 2022-06-07 17:44:25 +02:00
0d5514856f More cleanups to MMGraphNode. 2022-06-07 16:50:32 +02:00
36881d5390 Renamed the rest of the editor classes. 2022-06-07 15:57:04 +02:00
8682d334a1 Initial cleanup form MMGraphNode. 2022-06-07 15:56:49 +02:00
729950b86a More null checks. 2022-06-07 13:32:04 +02:00
ecd2be23a6 Fix operator for gradients in MMAlgos. 2022-06-07 13:05:56 +02:00
0abb68c016 More fixes to MMnode. 2022-06-07 12:35:24 +02:00
523ed95055 MMNodeUniversalProperty bindings cleanup. 2022-06-07 10:55:42 +02:00
7f0b7d121e MMNode binding cleanup. 2022-06-07 10:11:45 +02:00
dcdcd7098c Cleaned up MMMaterial's bindings. 2022-06-07 09:43:42 +02:00
d30be583de Added the 3 new cleaned up classes to the build. They still need some work on their bindings to work properly though. 2022-06-07 03:42:35 +02:00
daa818e9d3 Initial cleanup of MMMaterial. 2022-06-07 03:41:22 +02:00
ad813681e8 More cleanups to MMNode, and added a few missing methods. 2022-06-07 03:41:02 +02:00
9529c7a5a5 Return a value in all codepaths. 2022-06-07 03:40:24 +02:00
4589a29066 Initial cleanups for MMNode. 2022-06-07 01:56:45 +02:00
4c5c313b10 Initial cleanup for MMNodeUniversalProperty. 2022-06-06 23:01:34 +02:00
5cb26e2b6b Ran the cpp conversion scripts on mat_maker_gd's core classes. 2022-06-06 22:04:36 +02:00
df9099e0ed Added the MMAlgos class (and binding) to the build. Also set up it's singleton. 2022-06-06 18:44:51 +02:00
2c3d7cecff Fixed all issues clangd was able to find with MMAlgos. 2022-06-06 18:13:29 +02:00
80439d8cb7 Initial cleanups to the new files. 2022-06-06 15:48:52 +02:00
6a58bbca29 Added a generated MMAlgos class for the material maker module. 2022-06-06 14:06:22 +02:00
c3d05ab91f Fix shadowed declaration warning. 2022-05-27 00:38:55 +02:00
125af06336 Implemented z offset support for TiledWalls when using Vertical tiling. 2022-05-26 23:19:30 +02:00
8d00fe6db9 Implement tile y size handling for TiledWalls. 2022-05-26 21:07:00 +02:00
6a18764f1d TiledWallData's size is now a float instad of a vector2. 2022-05-26 18:49:24 +02:00
36437d98b2 Renamed the internal vectors of TiledWallData. 2022-05-26 18:42:24 +02:00
f141399345 Removed the _texture_ infix from the methods in TiledWallData which were not supposed to have it. 2022-05-26 18:38:01 +02:00
c7e1f40435 Also added a collider type enum for TiledWallData. Not used yet. 2022-05-26 18:26:05 +02:00
09a4afc907 Reworked TiledWallData's api, and added per tile size and z offset members. Mesh generation does not use them yet. 2022-05-26 18:17:48 +02:00
3de05db75a Prefixed all member variables with _ in the wfc module. 2022-04-25 11:59:24 +02:00
d8938665f8 The 2 constants are uppercase in TilingWFC. 2022-04-25 10:46:16 +02:00
f93c9fdd15 Small optimization. 2022-04-24 17:46:36 +02:00
4922e62b13 Small optimization for image indexer. This also fixes pixel order. 2022-04-24 17:46:14 +02:00
278a55a4b4 Fix wrong order of arguments. 2022-04-24 17:15:18 +02:00
0a7b5c2deb Actually set pattern frequencies in TilingWFC. This actually fixes the image generation problems. 2022-04-24 16:44:28 +02:00
89d7829c1e Don't crash in TilingWFC due to the result containing bad indices. This will help with debugging. 2022-04-24 16:25:17 +02:00
c930e8b754 API improvements, crash fixes and smaller various improvements for the Tiling WFC class. 2022-04-24 15:14:29 +02:00
c9a520f9c3 Better error handling and fix potential crash in the overlapping WFC class. 2022-04-24 15:13:50 +02:00
dcdb5715cc Use ERR_FAIL_COND macro again if the image passed in is not valid in index_image. Also don't delete color information. 2022-04-24 11:46:46 +02:00
53aed73a64 Added helper methods so tile name can also be used when it's more conveninent in TilingWaveFormCollapse. 2022-04-24 11:34:09 +02:00
7dbf967170 Improved the api / usability of the image indexer. 2022-04-24 11:19:03 +02:00
b8dcd4fbf8 Add back binding that I accidentally emoved. 2022-04-24 09:51:09 +02:00
9b717b0a87 Added reset method to the ImageIndexer, and made it's index_image method additive. 2022-04-24 09:49:59 +02:00
6736ff17fd Bindings for TilingWaveFormCollapse. 2022-04-24 01:49:26 +02:00
f9db81c6c4 Added new helper methods to Array2D. 2022-04-24 01:39:47 +02:00
3ba0a856a3 Fix typo. 2022-04-24 01:37:16 +02:00
c7ee453e8a Found an unneeded static cast. 2022-04-23 21:30:51 +02:00
05dddc114e Found more smaller things. 2022-04-23 16:03:37 +02:00
f3c96f945a Lots of small fixes and improvements to the wfc module. It still has issues though. 2022-04-23 15:23:00 +02:00
2f81373562 Lots of work on the bindings for the wfc module. Also smaller improvements. 2022-04-23 00:48:19 +02:00
0f1c04e08d Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
73caee4fa2 Re-extracted the class docs. 2022-04-22 19:39:21 +02:00
e1ca765409 Set up doc classes for the wfc module. 2022-04-22 19:36:12 +02:00
e311cacced Use int-s instead of uint32_t-s in the wfc module for better compatibility with scripting. 2022-04-22 19:07:29 +02:00
129ed4e349 Register the new classes into the ClassDB. 2022-04-22 18:54:59 +02:00
6e5407c55f Finished the initial cleanup for OverlappingWaveFormCollapse, and added it to the build. 2022-04-22 18:50:27 +02:00
21be696f6a OverlappingWaveFormCollapse initial codestyle cleanup / setup. 2022-04-22 15:18:19 +02:00