Commit Graph

593 Commits

Author SHA1 Message Date
b2c3f6c4e7 Handles can be dragged properly again without them sticking to the mouse pointer. 2022-01-27 17:25:42 +01:00
1c6c2a6931 Hide the vertex split operation for now as it's not implemented. 2022-01-27 17:12:34 +01:00
7622f36b44 Decreased them by a little. 2022-01-27 17:09:33 +01:00
dca6a0c960 Now mdr ed's handle markers have a fixed size. 2022-01-27 17:08:46 +01:00
e75b44089c Fix typo. 2022-01-27 17:04:04 +01:00
20276b77c7 Now every normal calculation in the mdred_mesh_utils.gd is done via hand instead of via the surface tool. This actually fixed the extrude algorithm. 2022-01-27 17:01:40 +01:00
0cd86b089c Added back the extrude button to mdr ed's sidebar, and implemented an extrude algorithm. I have high hopes for it, however it does not work at the moment, because SurfaceTool messes up the order of the triangles in the mesh after a normal generation, which I will fix soon. 2022-01-27 16:39:23 +01:00
fb044323a3 Made Godoxel's plugin return Paint as plugin name instead of Godoxel, as it looks better as a window tab name at the top of the editor. 2022-01-26 22:25:37 +01:00
78f97c94ea Now the history tab will try to fall back to use the resource name property if the text name property cannot be found. 2022-01-26 22:17:19 +01:00
da9b6703c9 Fix the resource pane. now it will properly show the folder entries. 2022-01-26 22:12:41 +01:00
9f1d06c7f8 Now clicking the fodler entries will again pass the relevant informations to the resource panel. 2022-01-26 22:09:47 +01:00
1ee8220992 Check whether the confirmed signal is already connected in the add folder dialog. 2022-01-26 21:14:30 +01:00
8b486e156b Now in data manager;s fodler tab each selected module will have an add folder button. Also implemented it. 2022-01-26 21:13:08 +01:00
d8f93baeba Now when a module is toggled on in the data manager, it will add entries to to folder tab, based on what folders are available in it. 2022-01-26 20:38:09 +01:00
33ea23e3c3 Added a modules tab to the data manager's main panel. Also made it collect all the modules in the project. 2022-01-26 20:21:35 +01:00
58d707c695 Check whether the the on_visibility changes signal is connected before attempting to connect it in data manager's main panel. 2022-01-26 19:40:36 +01:00
cdd8d73686 Now the data manager plugin's main scene uses the new settings class instead of the old json. It should work, but It's not yet setup correctly for the current directory / project structure though. 2022-01-26 19:37:46 +01:00
d4220bbbbb Mostly ported the old settings json for the data manager. 2022-01-26 19:17:59 +01:00
77111d0ee0 Implement a folders array for the data managers's settings resource similar to how the json used to be. 2022-01-26 18:58:49 +01:00
357900e87e Create the settings file with the .tres extension so it's not saved as binary. 2022-01-26 18:57:16 +01:00
965ecd5f18 Added a new settings resource class to the data manager addon, and made the plugin load and save it to a central folder. 2022-01-26 18:17:09 +01:00
3db96fec68 Brought in code from the DataManager singleton (which maybe should be renamed) to the data manager addon. Also disabled the addon's panel's _ready() for now, and enabled it. 2022-01-26 18:04:30 +01:00
1ab2e6bd62 Also change it's name in it's cfg file. 2022-01-26 17:29:50 +01:00
0c096227e0 Change the data manager plugin's name to "Data". 2022-01-26 17:29:17 +01:00
9afecbc546 Fix paths. 2022-01-26 17:23:27 +01:00
644d5f22dc Renamed the module manager addon to data manager. 2022-01-26 17:20:44 +01:00
a9c36ff8b6 Only zoom with the scroll wheen when over the canvas. 2022-01-25 19:18:36 +01:00
f6de6a0a8a The tools should not be extended vertically. 2022-01-25 19:16:52 +01:00
2174b218d5 Changed Godoxel's middle section's root node's type to HBoxContainer and changed the left and right panel's type to PanelContainer. 2022-01-25 19:13:58 +01:00
20029bfec2 Changed the "NoBCViewportsnotworking26181" node in Godoxel to HBoxcontainer. This makes the the ui slimmer and more responsive. 2022-01-25 19:10:46 +01:00
bbde564348 Godoxel's navbar is now a HBoxcontainer instead of a normal container. 2022-01-25 19:07:52 +01:00
625f36b4b8 Now in godoxel you won't be able to draw behind other controls. 2022-01-25 19:02:14 +01:00
c8337cc505 Fix typo. 2022-01-25 18:15:38 +01:00
f465df60ee Added a HSeparator under the select all button. 2022-01-25 18:15:03 +01:00
72fec658ac Fix handle selection types when the mesh data instance is not at origin. 2022-01-25 18:11:52 +01:00
06f1785695 Implemented handle selection types. 2022-01-25 18:01:55 +01:00
0cf7be7fc7 Removed handle normals. 2022-01-25 15:53:59 +01:00
78993c214f Implemented handle normal calculation, and facing checks based on them for clicking. This doesn't work well, so it will be removed, but committing it because the normal calculations might come in handy later,. 2022-01-25 15:52:51 +01:00
a5cb7ab767 More setup and smaller fixes. 2022-01-25 15:21:20 +01:00
af604f845e Added handle selection types to mdi ed's sidebar, and set up events for them. 2022-01-25 14:47:18 +01:00
0d45bd0f97 Moved the selection codes to their own methods. 2022-01-25 14:34:53 +01:00
f71d65be85 Also make rect based selection work when dragging from right to left adn/or from down to up. 2022-01-25 14:24:14 +01:00
85a4fc8fd3 Implement rect based selection. Now alt also work as an unselect option, as while holding down ctrl, the selection rect won't show up in the editor. 2022-01-25 14:17:15 +01:00
44f3ab6c5e Rework mdr ed's gizmo so it's able to handle rect style selection later. 2022-01-25 13:32:03 +01:00
6f8525a44b Added a select all button to mdr ed's sidebar, and implemented it. 2022-01-25 12:55:42 +01:00
c950762d77 Reworked handle selection. Now you can only select one by default, and deselect with clicking far away from handles (when nothing is held down). Holding down shift will always append, and holding down control deselects one by one. 2022-01-23 23:03:02 +01:00
3ea93cf42c Actually implemented the visual indicator toggles. 2022-01-23 22:46:15 +01:00
1d9d5fba7c Add toggles for visual indicators to mdr ed's sidebar. 2022-01-23 22:26:08 +01:00
e54a90af07 Fix an another 2 typos. 2022-01-23 22:07:42 +01:00
6c02392f11 Fix a typo and copy pase error. 2022-01-23 22:05:28 +01:00
692a4feab6 Lock the Popup root node in mde ed's gui, so widgets can be selected in the editor again with clicking on them. 2022-01-23 22:04:08 +01:00
f05fea0924 Moved the pivot setting to the scroll container part of mdi ed's sidebar. 2022-01-23 22:01:30 +01:00
45a1f42e51 Transfer the current editing state from the active gizmo when a new mesh data instance is selected. Also smaller cleanups. 2022-01-23 01:58:43 +01:00
4ef0a39fa2 Only send events to the active MeshDataInstance gizmo from mdr ed's plugin. 2022-01-23 01:47:16 +01:00
1773be1b9b The active axis buttons in mdr ed's sidebar have their text written in uppercase now, to be inline with the rest of the buttons. 2022-01-23 01:27:10 +01:00
5c9841c480 Check whether the signals are already connected in uveditor's popup. This fixed an in-editor error message. 2022-01-23 01:26:25 +01:00
8523380059 Missing button group resource from the last commit. 2022-01-23 01:24:07 +01:00
9f6b66a45f Added pivot setting buttons to mdi ed's sidebar. 2022-01-23 01:23:43 +01:00
5115167821 Also added undo redo support for creating and removing nodes in mat_maker_gd's addon. 2022-01-22 01:31:11 +01:00
49efd3f106 Fix dragging nodes in mat_maker_gd after recent changes. Also implemented undo redo support for node drag events. 2022-01-22 01:25:50 +01:00
c3a51582c4 Don't let world editor's property list's refresh get called muliple times in a frame. 2022-01-22 00:22:01 +01:00
42c91d88d9 Implement undo redo for world editor's property list checkboxes aswell. 2022-01-22 00:16:21 +01:00
994d9447f3 Added undo redo support for world generator's property list aswell. 2022-01-22 00:08:07 +01:00
f3c9129171 Implemented undo redo support for world generator's DataList. 2022-01-21 23:57:37 +01:00
be14831b47 Undo redo support for world generator's RectView. 2022-01-21 23:24:55 +01:00
181189f515 Now the world generator's editor plugin distributes the plugin itself to every class that will need it. 2022-01-21 22:58:14 +01:00
23344760e7 Now ignore changes in MatMakerGDEditor is done with an int instad of a bool, so it won't matter if ignore is set multiple times. Also ignore changes in recreate, and don't allow multiple recreate()s to run. 2022-01-21 19:03:56 +01:00
52a367239c Small improvements to MMMaterial. Also call the new threadpool method. 2022-01-21 19:01:50 +01:00
2ada5fa3b1 Don't connect to the MMnode's changed event in mm_graph_node as it's not needed. Also set ignore changes when a texture is changed. 2022-01-21 18:59:55 +01:00
edd698504b Call each MMNode's init_properties in MMMaterial's init. This fixes broken node connections when you open an MMMaterial in the material editor. 2022-01-21 13:43:36 +01:00
b7a5f6bcbd Connect to material's change event after calling recreate(). 2022-01-21 13:35:46 +01:00
4237b0c7c9 Properly call initialize() in mm material 's render. 2022-01-21 13:35:14 +01:00
b5dbe0b6dd Add the do and undo methods in one after the other in add_mesh_seam_change_undo_redo because the docs say it has to be like that. 2022-01-21 13:25:23 +01:00
2ce6e4d466 Implemented undo redo support for mat_maker_gd. It does have some issues with undoing some of the changes, those will be fixed later. However all actions seems to properly mark the resource as dirty. 2022-01-21 13:22:39 +01:00
87336f55e8 Added undo redo support for the rest of the action of mdr ed. 2022-01-20 23:32:00 +01:00
3a6c705201 Added undo redo support for mdr ed's handle operations. 2022-01-20 23:06:01 +01:00
3337cfdc3c Added undo redo support for more actions in mdr ed. 2022-01-20 22:31:30 +01:00
6b56563056 Added undo redo support for uv_unwrap, apply_seam, mark_seam, and unmark_seam. 2022-01-20 21:48:21 +01:00
62fc405cc5 Undo redo support for the uv editor. 2022-01-20 21:12:05 +01:00
42918bc5fc Implemented the ok and cancel buttons for the uv editor. 2022-01-20 19:30:58 +01:00
1bec27b886 Now after a drag operation the rect view node will actually update the uvs. 2022-01-20 19:16:08 +01:00
5e6e17a3b2 Remove rect y axis flipping code, as it's not needed here. (Both uvs and the gui is y+ down.) 2022-01-20 19:00:57 +01:00
df502c5e5e Fix typo. 2022-01-20 18:57:23 +01:00
ea96a36996 A bit better colors. 2022-01-20 18:56:22 +01:00
2d43cace5d Normalize uvs in the rect view node. Also cleaned up draw a bit. 2022-01-20 18:53:29 +01:00
4484c0e0c9 Implemented mesh partitioning for the uv editor. 2022-01-20 18:34:49 +01:00
9916554d94 Set up drawing and resource handling logic for the rect view nodes. They also get instanced now. 2022-01-20 17:56:30 +01:00
34b6877afc Initial cleanups and setup for the uv editor. 2022-01-20 17:21:50 +01:00
1629224aeb Renamed rect editor and added it to the uv editor popup. 2022-01-20 14:57:59 +01:00
2a6768a8ca Copied over the rect editor from the world generator addon to med ed as a base for a uv editor. 2022-01-20 14:42:01 +01:00
1f48d44a5f Now the uv preview will show the mesh data instance's active texture as a background. 2022-01-20 00:21:23 +01:00
b2e6c037f4 Grouped together the uv related widgets in mdr ed's side panel. Also added an uv edit button with a popup. 2022-01-20 00:01:13 +01:00
2d88f4d6b4 Apply seams should properly work now in every cases (hopefully). 2022-01-19 23:34:04 +01:00
9daff0f907 More work on the apply seam algorithm. 2022-01-19 23:00:57 +01:00
a5ba62ba65 Work on a new seam apply algorithm. 2022-01-19 14:51:37 +01:00
bee904f077 An another shot at implementing the apply_seams action. Still doesn't work, need to think more about the algorithm. 2022-01-19 11:32:19 +01:00
04e95a0814 Wrote my own generate_normals method as apparently surface tool creates new vertices during normal generation. 2022-01-19 02:10:22 +01:00
2e2d22574d Recalculate seam edges after normal and tangent generation. Also smaller improvements to the gizmo. 2022-01-19 01:46:33 +01:00
8d68969ab5 Fix apply_seam creating duplicate faces. 2022-01-19 01:28:28 +01:00
670a059fbd Don't set half baked arrays into mesh data resource. 2022-01-19 01:18:10 +01:00
5a56b91e6a Call uv_unwrap properly in the plugin, and fixed the uv_unwrap method in the gizmo. 2022-01-19 01:01:32 +01:00
1a38232d51 Move the code for the uv unwrapping action from the plugin to the gizmo. 2022-01-19 00:17:39 +01:00
28138e86d4 Implemented apply seam command. 2022-01-18 23:02:26 +01:00
a973b875b9 Setup call paths for the apply seam button. 2022-01-18 22:24:22 +01:00
1637395eef Set the seam's material to always on to. 2022-01-18 22:22:32 +01:00
9ab64c2301 Implement mechanism to transfer seams after a merge or cleanup. 2022-01-18 22:21:50 +01:00
5c70ceb63f Removing a triangle will also remove it's marked edges. 2022-01-18 21:47:18 +01:00
25c71e2c14 Moved some of the new helper methods to the mesh utils script. 2022-01-18 21:41:39 +01:00
272e34a06a Refactored the mesh outline generator a bit. Also made it offset the outline along the normal if available to reduce z-fighting. 2022-01-18 21:34:25 +01:00
302e0a9680 Implemented seam visualization. Also changed the color of the default mesh outline to gray. 2022-01-18 21:11:37 +01:00
d0d636554d Implemented seam marking and unmarking. 2022-01-18 20:51:05 +01:00
7af44898eb Removed vertex disconnect action. I don't think it would have been that useful. 2022-01-18 20:23:27 +01:00
def030986a Reset selection after appending triangles or quads. Also don't rely on the changed event during these methods. 2022-01-15 17:12:01 +01:00
c3c35c7e37 Moved the add at buttons to under edge's options. 2022-01-15 17:06:38 +01:00
86a9e1edc2 More tweaks to mdr ed's sidebar. Also added 2 new buttons. They are not yet implemented. 2022-01-15 17:03:19 +01:00
d7ee2b9993 More smaller tweaks to mdr ed's sidebar. 2022-01-15 16:52:26 +01:00
b9cf5e7d7c Moved the uv preview node out of it's container. 2022-01-15 16:41:06 +01:00
aec3098df1 Added a scroll container to mdr ed's sidebar. 2022-01-15 16:35:47 +01:00
f5371f511f Small improvements to the mdr ed's sidebar. 2022-01-15 16:30:26 +01:00
51960419b4 Added mark and unmark seam buttons to the edges. Also smaller fixes to the mrd_ed's gui. 2022-01-15 16:24:34 +01:00
d32b9a50ea Removed per vertex/edge/face merge option. Also hidden extrude in edge for now. 2022-01-15 16:16:11 +01:00
8ee90e179c Now there are 3 types of connect action. 2022-01-15 16:13:09 +01:00
69ba7ac15a Implemented generate normals, remove doubles, merge optimize and generate tangent actions. 2022-01-15 15:53:08 +01:00
76d5818c34 Implemented face deletion. 2022-01-15 15:18:14 +01:00
18583e66f9 Implemented a very crude face creation algorithm. Also did the gui for it. I't not perfect, it does depend on the selection order if you have more than 3 vertices selected. I'll implement a better one later. 2022-01-15 13:44:14 +01:00
0019d2f784 Also implemented add quad to edge operation. 2022-01-15 01:29:09 +01:00
5185d29150 Fix triangle winding order issues. 2022-01-15 01:01:40 +01:00
2a93318ff8 Implemented ad triangle at command for mdr_ed. It still has issues determining the proper winding order though. 2022-01-14 23:21:50 +01:00
50074bf677 Added an another helper method. 2022-01-14 16:22:40 +01:00
bdb0b956a7 Moved the new helper to the bottom of the mesh utils. Also the reflect helpers will reflect v2 instead of v1. 2022-01-14 15:50:54 +01:00
8e546e113f Added add quad at and add triangle at options to mdr's gui, adn set up call paths for them. 2022-01-14 15:24:59 +01:00
7b0d382f57 Split up the operations into a per vertex/edge/face panel and one that's permanent. 2022-01-14 15:16:06 +01:00
7fcafe7ac0 Added more helper methods. 2022-01-14 14:29:36 +01:00
5a0cfe213d Renamed mesh_add_utils to mdred_mesh_utils. 2022-01-14 13:17:31 +01:00
6dfb97cb39 Added a few helper methods to mesh add utils. 2022-01-14 13:03:11 +01:00
c9dce50315 Implemented connect for the vertex selection mode. 2022-01-03 18:05:19 +01:00
dbbad9871d Set up call paths to the connect, disconnect, and merge, split buttons. 2022-01-03 17:33:34 +01:00
0bb573a2ee Implemented add box and add quad. 2022-01-03 16:54:28 +01:00
b66331f8ab Cleanups for mesh add utils. 2022-01-03 16:44:11 +01:00
535f55d54c Change the sidebar's operations and add containers to vboxcontainer. 2022-01-03 14:47:24 +01:00
847fbd35dd Added more buttons to the mesh data editor's sidebar. 2022-01-03 14:45:40 +01:00
e2a43ac587 Changed up the keybinds. 2021-12-31 14:48:25 +01:00
57a58a58ab Fix typo in edge map generation code. This should just make it more optimal by not not adding vertices multiple times to a single edge vertex map. 2021-12-31 14:39:17 +01:00
8a2da58680 Implemented face selection mode. 2021-12-31 14:37:07 +01:00
17bc926810 Don't process the current events in the mesh data resource editor if a key modifier is pressed. 2021-12-31 13:52:23 +01:00
6629fa503c Implemented outline for face selection. (Face selection itself is not yet implemented though.) 2021-12-31 08:54:12 +01:00
6733787c46 Fix get_handle_edge_to_vertex_map. 2021-12-31 08:42:19 +01:00
4303e94617 Implemented a different outline for the edge select mode. 2021-12-31 08:41:25 +01:00
2067291890 Implemented switching selection modes through the ui. 2021-12-31 08:18:56 +01:00
34f080e03e The ui will now reflect axis constaint state. 2021-12-31 08:08:02 +01:00