Commit Graph

537 Commits

Author SHA1 Message Date
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