Commit Graph

551 Commits

Author SHA1 Message Date
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
81bfa4b6bd Fix axis constraint logic. 2021-12-31 08:07:13 +01:00
9962ef777a Set up the edit mode buttons to actually reflect state. 2021-12-31 07:51:23 +01:00
6fe4eaa7fa Fix regression with the vertex selection mode. 2021-12-31 00:54:14 +01:00
1e71822982 Add in missing return. Also removed now obsolete comment. 2021-12-31 00:53:21 +01:00
881528f77b Now the mesh data resource plugin's gizmo will watch for changes in the edited mesh data resource when it's not messing with it. 2021-12-31 00:52:39 +01:00
71662367ae Small tweaks to the mesh outline generator. 2021-12-31 00:47:08 +01:00
5e63f45f0d The mesh outline generator now won't connect to the mdr's changed event. 2021-12-31 00:44:01 +01:00
5db3ff2eb3 Initial edge select mode implementation. It's still a bit buggy, that will be fixed later. 2021-12-31 00:12:02 +01:00
ae56bf8b56 Fix error on plugin reload. 2021-12-30 01:23:54 +01:00
bed06568e4 Handle more edge cases in recalculate_handle_points. 2021-12-30 01:21:38 +01:00
2bffe4dc68 Fix visual server array len == 0 errors. 2021-12-30 01:18:03 +01:00
e0db0b0379 Fix an error, remove a now unneeded comment, and an apply call. 2021-12-30 01:14:05 +01:00
2217c1d4dc Remove commented line. 2021-12-30 00:13:53 +01:00
7565993faa Copy the required data in recalculate_handle_points, so the original mesh doesn't get modified as a side effect. 2021-12-29 23:42:19 +01:00
cf6da736c2 Fix handle point ofsetting, and multiplications. 2021-12-29 23:34:54 +01:00
9e939eff64 Move around some class variables, and prefix some of them with an underscore. 2021-12-29 23:30:08 +01:00
1bf7d50cf0 Now the MDR edit gizmo uses the new generated handle points. 2021-12-29 23:23:50 +01:00
ec0b477291 Implemented generating handle points. 2021-12-29 22:01:52 +01:00
e7110b5314 Renamed the entries in the EditMode enum. 2021-12-29 21:38:57 +01:00
0c923500f7 Small improvements. 2021-12-29 21:26:56 +01:00
02da1a0780 Moved more code around. 2021-12-29 21:24:27 +01:00
98e50d4a64 Now the mesh data resource editor's gizmo just stored the editoed mesh data resource. Also smaller changes / comments. 2021-12-29 21:21:23 +01:00
21b7b3da0b Fix apply and redraw order. 2021-12-29 17:54:44 +01:00
612ee7936a Moved around more code in mesh data resource editor's gizmo. 2021-12-29 17:48:27 +01:00
ef7ed3848b Started refactoring mesh data resource editor's gizmo. 2021-12-29 17:10:58 +01:00
b3edaa7bd7 Fixed uvs and normals for the box. 2021-12-29 00:07:37 +01:00
6337d16a54 Implemented the Add Box button for the mesh data resource editor. 2021-12-29 00:00:28 +01:00
290f8e39f1 Properly handle horizontal minimum in the flex grid container. 2021-12-28 21:14:46 +01:00
b0613182d0 Reworked mesh_data_resource_editor's side panel. 2021-12-28 15:05:43 +01:00
3d8493bd01 Added the FlexGridContainer from godot-color-palette, to the mesh_data_resource_editor. 2021-12-28 14:30:11 +01:00
f90d4e8858 Revert accidentally comitted change. 2021-12-28 14:23:30 +01:00
d48894aa90 Updated the color palette addon. 2021-12-28 14:22:28 +01:00
31ad20843f Remove a hseparator. 2021-12-27 22:26:08 +01:00
ef03b30dfe Now HSeparators can also be added to the property inspector. 2021-12-27 22:25:37 +01:00
cae4735ae2 Added separators to the property inspector. Also moved the content up above the new properties. 2021-12-27 22:22:07 +01:00
e13be6f3f5 Added a class and script property by default to the property inspector. 2021-12-27 22:20:09 +01:00
f9662ed967 Added a resource property. 2021-12-27 22:05:57 +01:00
1dd6aa25f4 Add the locked property to the property inspector. 2021-12-27 22:05:08 +01:00
e0cb83ffe2 Fix signal already connected errors. 2021-12-27 18:00:10 +01:00
ff2579bd04 Now RectView will also change / zoom the margins. 2021-12-27 17:58:33 +01:00
b45e197d69 Now RectView's zoom will resize everything, instead of just setting rect_scale. 2021-12-27 17:56:44 +01:00
1cb11ca32a Fix hit stack calculation. 2021-12-27 14:27:33 +01:00