Commit Graph

533 Commits

Author SHA1 Message Date
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
82435d4c59 Added parent pos setup to the world generator resources. 2021-12-27 03:48:55 +01:00
808c8e97d3 Now terra chunks are actually properly generated by placing chunks on the world generator's grid. 2021-12-27 02:38:05 +01:00
0cbf540e30 RectViewNodes now convert between yup and ydown coordinate systems to store rect.position.ys. 2021-12-27 02:36:52 +01:00
0c96328005 Ported the current world generator to the new addon. Now the world in-game uses the new world generator's resource to generate the terrain. 2021-12-26 21:14:41 +01:00
3adfad40a2 Added a seed parameter to the world generation methods. 2021-12-26 19:08:45 +01:00
47c49b56ab Added the needed methods for terrain generation. 2021-12-26 19:05:48 +01:00
8453518e8b Added a class selector to the world editor on add. 2021-12-26 18:52:23 +01:00
4ff14380a1 Added a new WorldGeneratorSettings resource which can store and load in world generator related classes from folders. 2021-12-26 18:51:46 +01:00
9cac983ff5 Added a new get_editor_class to the WoirldGeneratorBaseResource, and now the RectViewNode will also render it if it's not an empty string. 2021-12-26 18:50:09 +01:00
f739cca1f4 Now the added resource's rect gets recalculated on add_content() instead in create_content() 2021-12-26 18:48:29 +01:00
0a0f4ee865 The RectEditor now will only set a margin of max 50. 2021-12-26 13:10:15 +01:00
193ed69fef Also made the delete and duplicate buttons work for the zones editor and continent editor. 2021-12-26 00:28:32 +01:00
cc6669bb12 Implemented delete and duplicate buttons in world. Also made sure that the inspectors update properly after the edited resources change. 2021-12-26 00:25:30 +01:00
829b01b72f Set up proper drawing for RectViewNode. it grabs the required parameters from new methods in WorldGenBaseResource. 2021-12-26 00:03:17 +01:00
61b66b4109 Reduce the scale border's size to 5. 2021-12-25 23:41:50 +01:00
7b4f044f43 Fixed keeping zoom in RectView. 2021-12-25 23:34:33 +01:00
11aa1e1b6a Set up the rect property to expand horizontally. 2021-12-25 23:20:40 +01:00
a8dfb9a156 Fix label. 2021-12-25 23:14:51 +01:00