Commit Graph

564 Commits

Author SHA1 Message Date
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
10ee9bb44a Similar cleanups to the SubZone editor. 2021-12-25 23:14:02 +01:00
1fa6903106 Cleaned up the methods in the Zone editor. Also fixed a few smaller usability issues. 2021-12-25 23:09:56 +01:00
900f402370 Set up the subzone editor. 2021-12-25 12:31:36 +01:00
0b74e33fc8 Set up the zone editor. 2021-12-25 12:18:59 +01:00
200a030882 Zero the positions of the created contents. 2021-12-25 11:30:22 +01:00
c21970b82f Also add the initial rect size setup code to Continent and Zone. 2021-12-25 03:26:33 +01:00
b7b36d47ab Set the selected continent into the widgets. 2021-12-25 03:25:42 +01:00
b30016bc28 Set up continent select dropdown. 2021-12-25 02:52:21 +01:00
65562c6523 Set the world into the continent editor. 2021-12-25 02:33:43 +01:00
c34b629b26 Move World's setup to the World class. 2021-12-25 02:32:00 +01:00
ba1c85b729 Set up the Continent editor's base ui. 2021-12-25 02:29:30 +01:00
13428b9a33 The world tab is now it's own scene. 2021-12-25 02:18:20 +01:00
87e4318e06 Implemented editing the names of resources in the DataList widget. 2021-12-25 02:15:17 +01:00
4cc9baf23b When adding a continent the world will set up a base size now. 2021-12-25 01:55:52 +01:00
6c438c97f4 Set the edited resource's rect after drag. 2021-12-25 01:51:35 +01:00
d07f9c4949 Fix RectViewNode's _draw(). 2021-12-25 01:48:56 +01:00
a4367ee257 Fix dragging. 2021-12-24 22:32:45 +01:00
9641d29001 Fix cursor switching on the borders in RectViewNode. 2021-12-24 22:25:56 +01:00
1a3a95809a Ported drag and resize code from godot's window dialog as a base for RectViewNode. 2021-12-24 22:20:30 +01:00
9aa18a9278 Implement zoom for RectView. 2021-12-23 18:08:13 +01:00
dd7024c0ed Basic RectView functionality. Renamed RectEditorNode to RectViewNode. 2021-12-23 17:45:36 +01:00
6b388b3c1b Removed stray print. 2021-12-23 16:51:59 +01:00
9c4c30b821 RectView basic setup. 2021-12-23 16:46:54 +01:00
c2e75ef147 Added a rect2 property. And started working on the rect editor. 2021-12-23 00:45:32 +01:00
3f7f5c0e07 Implement basic data list node. Also fix error spam. 2021-12-22 16:52:06 +01:00
afc929350b Work on the world editor. Also added a property editor similar to mat_maker_gd's nodes. 2021-12-22 16:15:39 +01:00
e44d367c0e Now world generator's resources inherit from a new base resource. 2021-12-22 16:14:26 +01:00
3524c3bf7f Ported EditorZoomWidget from godot4. 2021-12-22 11:27:15 +01:00
855b1120ab Add some exports to world generator's resources. 2021-12-22 10:03:55 +01:00
bbcd340cff Add a space to the text of the button that appears on the bottom. 2021-12-22 10:02:55 +01:00
e3f73103af Fix error. 2021-12-21 21:57:15 +01:00
5723a11825 Initial class and plugin setup. 2021-12-21 21:50:22 +01:00
c3093be0d4 Added a new world generator addon. 2021-12-21 21:25:35 +01:00
56866e65ba Updated mat_maker_gd. 2021-12-18 20:44:28 +01:00
991f327682 Fix 2 errors in mesh_data_resource_editor when a mesh data resource is empty. 2021-11-17 15:31:04 +01:00
baf4c89ce1 Small cleanups to transforms.gd. 2021-11-12 01:04:39 +01:00
0cb0559118 Color tiler node for mat_maker_gd. 2021-11-06 11:50:39 +01:00
1b9450cc74 Tiler node for mat_maker_gd. 2021-11-05 22:15:30 +01:00
b78f3c8358 Added 'pass' to cancel_render_and_wait, so if the lines that require ThreadPool are commented out it will not complain about scopes and indents. 2021-10-31 13:03:25 +01:00
547197e78f Improved the threading logic of MMMaterial's render by quite a bit. Also updated ThreadPool to get the new cleanups / fixes / api improvements required. 2021-10-31 12:37:51 +01:00
2a2918ddb7 Now the render can be cancelled. 2021-10-31 11:37:16 +01:00
ccc0a59a58 Return the default color if no image is set in image universal properties. 2021-10-31 11:30:14 +01:00
ee03da9a85 Implemented threaded generation for mat_maker_gd using ThreadPool. 2021-10-31 11:29:36 +01:00
d63dbbbf68 Math node for mat_maker_gd. 2021-10-30 15:52:14 +02:00
2dcac48022 fill_to_color and fill_to_random_color nodes for mat_maker_gd. 2021-10-30 11:40:09 +02:00
5ba662d628 Fill_to_random_grey node for mat_maker_gd. 2021-10-30 02:12:55 +02:00
170f50c31f Fill_to_position, fill_to_size, and fill_to_uv nodes for mat_maker_gd. 2021-10-29 18:20:21 +02:00
1d27ddd159 Greyscale quantize and tonality nodes. 2021-10-27 18:26:06 +02:00
f17de5a15d circle_map, kaleidoscope, mirror, repeat, rotate, scale, shear, transform, and translate nodes for mat_maker_gd. 2021-10-27 13:19:56 +02:00
96f2646ccb Decompose node. 2021-10-26 23:22:25 +02:00
5cf570a3d0 Swap channels node. 2021-10-26 23:14:35 +02:00
db5d96a4cd Combine node. 2021-10-26 23:00:52 +02:00
713fcfb490 Invert node. 2021-10-26 22:56:10 +02:00
77d2e64fe1 adjust_hsv node. 2021-10-26 22:51:51 +02:00
583415d5fb brightness_contrast node. 2021-10-26 17:16:19 +02:00
16910b5110 Fixed a few copy-paste errors, and removed 3 old nodes with test implementation. 2021-10-26 17:16:06 +02:00
1c988c54ed sdf3d_op_revolution and extrusion nodes. 2021-10-26 14:08:18 +02:00
182034fd82 sdf3d_op_morph node. 2021-10-26 13:52:55 +02:00
9252c7b21f sdf3d_op_elongation and rounded nodes. 2021-10-26 13:42:34 +02:00
1c8af1f3f7 sdf3d_op_repeat and circle_repeat nodes. 2021-10-26 13:26:59 +02:00
6429b4e725 sdf3d_op_bool and smooth_bool nodes. 2021-10-26 12:53:23 +02:00
ea9b0a1b2e sdf3d rotate, translate, and scale nodes. 2021-10-26 11:57:20 +02:00
32f80f288a sdf3d_shape_capsule node. 2021-10-26 11:37:08 +02:00
c7a2fea2c4 curve_base now has different initialization methods for the curve. sd_shape_line now initializes it's curve to the 1,1 variant. 2021-10-26 11:36:48 +02:00
920d4895e1 Fix and index in curves.gd. 2021-10-26 11:35:45 +02:00
6c5f2c0e95 sdf3d_shape cone and asd3d_shape_torus nodes. 2021-10-26 11:05:57 +02:00
709dd8081d sdf3d_shape_cylinder node. 2021-10-26 10:54:22 +02:00
e7556f14de sdf3d_shape_box node. 2021-10-26 10:47:27 +02:00
2f4f4888cf sdf3d_color node. 2021-10-26 10:38:57 +02:00