Commit Graph

629 Commits

Author SHA1 Message Date
48f5fbfcbb Also added undo redo support fro the gradient editor's interpolation type dropdown. 2022-03-08 12:12:14 +01:00
b17b7bb583 Added undo redo support form mat maker gd's gradient editor. This also fixes seamless color editing with it. 2022-03-08 12:08:30 +01:00
64c39c4444 Added a new WorldGenRaycast class, and now world generator will use this instead of a stack and stack index to make the data available to the generation methods. Also added local uv to it. 2022-02-19 10:41:33 +01:00
0fc1da3def Added warning message when a normal ends up being zero to mdr ed's generate normal. Also set a proper default in this case. 2022-02-14 14:50:33 +01:00
05ff25e41a Fix normal generation for mdr ed. 2022-02-14 14:19:37 +01:00
c2b76ea2f4 Re-enable the changed event before returning early in uv_unwrap(). 2022-02-13 16:42:53 +01:00
cf5dcf4512 Fix the undo redo action's name for unmark seam. 2022-02-13 16:39:42 +01:00
fa1a945319 Fix face deletion in mdr'es when more that one face is selected. 2022-02-13 16:14:34 +01:00
24d0e671ef Implemented rotation for the uv editor. 2022-02-13 13:45:33 +01:00
05f1c2c365 Implemented horizontal and vertical mirroring for the uv editor. 2022-02-13 12:57:18 +01:00
8ae0b5b236 Set up events for the new buttons. 2022-02-13 00:34:45 +01:00
a0a090ace9 Implement uv rect selection for mdr ed. 2022-02-12 23:37:19 +01:00
e729a31803 Added mirror and rotation buttons to the uv editor. They are not yet implemented. 2022-02-12 22:59:36 +01:00
e44e4c1366 Fixed godoxel's save file dialog. 2022-02-12 22:22:40 +01:00
926922572f Moved the world_generator folder under scripts. 2022-02-12 20:06:13 +01:00
ae3558d270 Moved the entity classes folder. 2022-02-12 19:26:05 +01:00
39d97244e4 Fix typo. 2022-02-12 16:52:19 +01:00
c31098cad8 Check whether the current mesh data instance is still ok, and unset if it gets freed in mdr ed's plugin. This can happen in the editor while messing around with scenes. 2022-02-12 14:35:56 +01:00
0707a9fa84 Fix normal (re)generation in mdr ed. 2022-02-11 19:25:27 +01:00
7e05bda987 Added a flip face action to mdr ed. 2022-02-11 17:29:37 +01:00
232aae5726 Updated the modules to the latest. I changed the Terra and Terraman class prefixes to Terrain. 2022-02-08 14:44:37 +01:00
3e4038a8ee Set clip content to true for godoxel's canvas's container again. I probably forgot to commit this the last time. 2022-01-31 14:40:42 +01:00
0d4a4347f4 Added the module root to the data manager as a selectable fodler. 2022-01-28 18:42:33 +01:00
61cfc92beb Fix created face's orientation when only 3 verts are selected. 2022-01-28 13:58:17 +01:00
f080b6041e Fix typo. 2022-01-28 13:23:26 +01:00
fd0486ff7e Now pivot points also work for scaling. 2022-01-28 13:16:17 +01:00
15404a82d9 Now pivot points work for rotation. 2022-01-28 13:14:24 +01:00
aa70306e6b Improved mdr'eds tranlate action by a lot. Also work on pivot point support. 2022-01-28 13:12:10 +01:00
410d48d0fa Remove unused code, and added a helper method. 2022-01-28 11:01:03 +01:00
f1a8188dfa Proper rotation implementation. 2022-01-28 10:57:43 +01:00
43b70b854e Lots of improvements to translate and scale. Initial (bad for now) rotation implementation. 2022-01-28 10:25:47 +01:00
d2beb36e2c Make sure to only apply a drag operation to a vertex only once. 2022-01-28 10:08:05 +01:00
ce1c408bc2 Implemented the clean mesh action. 2022-01-27 20:34:49 +01:00
38f6c15f36 Now the new edges are automatically selected after an extrude. 2022-01-27 19:32:43 +01:00
53f01ae370 Use the new delaunay triangulation for the add face action in case more than 3 verts are selected. 2022-01-27 19:26:47 +01:00
bb8eebfc0b Remove stray print. 2022-01-27 17:34:24 +01:00
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