Commit Graph

66 Commits

Author SHA1 Message Date
Garux a99892751b entity, surface inspectors: clear focus widget while showing to keep global shortcuts working 2023-02-02 19:39:39 +06:00
Garux 0678e842b2 improve Surface Inspector consistency
was showing shader of last selected brush, texdef of 1st
now shows properties of single primitive
at 1st tries to show last selected primitive to be responsible to selection
prefers brushes over patches as general rule
2022-10-28 21:00:55 +03:00
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00
Garux 6c129e546f store winding points in double precision 2021-11-23 14:48:00 +03:00
Garux 7be3cbda79 refactor PatchEdgeIter, Patch_getClosestTriangle 2021-11-22 12:27:55 +03:00
Garux cf8e0e1501 handle more cases in seamless patch<>brush tex paste 2021-11-16 00:38:47 +03:00
Garux da98e8fde3 various code cleanups 2021-10-30 16:04:31 +03:00
Garux 0c390241c8 fix formatting 2021-10-26 18:16:24 +03:00
Garux 8d71aea059 * Q2::surface inspector::brush face flags: add "Unset flags" button 2021-08-24 18:57:59 +03:00
Garux a1daaa2946 remove commented out code 2021-07-02 17:19:56 +03:00
Garux da55e8cbb4 * ctrl + m3/drag: also paste texture seamlessly from brush face to patch and vice versa, when face edje is adjacent to patch edje 2021-07-02 17:16:50 +03:00
Garux da98f5f9d9 add and use Entity::getClassName(), Entity::hasKeyValue()
do not return default value from getKeyValue()
2021-05-16 10:13:42 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux d734199601 manage path routines 2021-01-22 02:21:54 +03:00
Garux f6bf97f27e gtk_spin_button_get_value_as_float -> gtk_spin_button_get_value 2020-05-22 01:16:01 +03:00
Garux ab7eb468ec gtk_widget_set_usize -> gtk_widget_set_size_request
-2 in gtk_widget_set_usize() means 'don't change given dimension'
-2 in gtk_widget_set_size_request() = early quit function w/o an effect, thus change to -1
2020-05-21 16:27:33 +03:00
Garux 62603d25fb don't check equality to gboolean FALSE and TRUE 2020-05-21 16:27:31 +03:00
Garux 70cf8c4bdd gtk_widget_ref/gtk_widget_unref -> g_object_ref/g_object_unref 2020-05-21 16:27:28 +03:00
Garux 0140da6e72 only #include <gtk/gtk.h> 2020-05-21 16:27:17 +03:00
Garux 4f8e6e7ee5 fix the rest of errors with CFLAGS+="-DGSEAL_ENABLE" except accel_label->accel_string required hack 2020-05-21 16:27:14 +03:00
Garux ff33df7d45 replace GTK_WIDGET_VISIBLE -> gtk_widget_get_visible() 2020-05-19 23:46:54 +03:00
Garux 112f66fb06 remove deprecated GTK_WIDGET_SET_FLAGS GTK_WIDGET_UNSET_FLAGS use 2020-05-19 22:08:00 +03:00
Garux e1a145c234 remove excess (GdkModifierType) casts 2020-05-19 21:40:52 +03:00
Garux 13f877b7db forward path slashes entered in surface inspector, find/replace dialog::replace 2020-05-05 12:31:53 +03:00
Garux 71c63fbdc6 * fix alt + m1 indirect faces picking, when object is partially or fully out of camera view
refactor math functions
2019-04-28 20:54:29 +03:00
Garux a1abcd8c83 * bindable commands TextureProjectAxial/Ortho/Cam, using default texdef, unlike surface inspector buttons 2019-03-08 12:52:19 +03:00
Garux fb53d5094a some more sensible gui default sizes 2019-01-11 18:35:37 +03:00
Garux 3706e1131a binds...
* m3: copy texture name, alignment +new: color, light power, color
	* alt + m3/drag: paste texture name (to pointed and selected stuff)
	* shift + m3/drag: paste texture name, alignment +new: light power
	* ctrl + m3/drag: paste texture seamlessly between brush faces +new: light color
	* ctrl + shift + m3/drag: project texture from copied brush face +new: paste light power, color
	* alt + ctrl/shift/ctrl+shift + m3/drag: respective texture alignment paste w/o texture name
fix void NormalizeColor( Vector3& color )
fix: reset texture clipboard texdef on selection in texbro (was only resetting scales)
2018-08-11 23:36:50 +03:00
Garux 7908a2b593 simplify TextureBrowser_GetSelectedShader, TextureBrowser_SetSelectedShader usage
assuming, that we have only TextureBrowser
2018-08-03 17:32:57 +03:00
Garux f0057a86f4 * bindable commands FitTextureWidth, FitTextureHeight, FitTextureWidthOnly, FitTextureHeightOnly 2018-06-24 13:14:54 +03:00
Garux e1bc4a8ba9 fix quaternion_for_unit_vectors, quaternion_normalised
RotateFree got lower (realistic) sensitivity
2018-05-16 02:59:18 +03:00
Garux a18a5d7c9b * snap Clipper points to brush planes, edges and vertices (in 3d camera) 2018-05-15 02:43:10 +03:00
Garux 48d75b777d * brush creation in camera; alt = modify height 2018-04-06 12:26:06 +03:00
Garux b078ec3ad0 small cleaning 2018-04-04 13:34:12 +03:00
Garux cf580963c2 more globalWarningStream() globalErrorStream() use 2018-03-21 16:06:22 +03:00
Garux 552d0ac083 bind * shift + n: brush texture reset + patch texture cap 2018-03-04 17:37:28 +03:00
Garux 2859ea7e9c * Valve220: fix uninitialized texture buffer basis 2018-03-04 13:52:34 +03:00
Garux 658cbe45ba * menu Brush->Copy/PasteFaceTexture: show contextual Copy/Paste commands (dependant on faces selected) 2018-03-04 12:46:45 +03:00
Garux c878333c7b * m2 in Surface Inspector->fit width/height = fit width/height, keep height/width 2018-02-19 17:28:05 +03:00
Garux c1b9b17635 * do 'project from face' in face2face seamless function for parallel faces 2018-02-19 13:09:10 +03:00
Garux 86a8aec283 * turn SI->project texture radiobuttons to label and 3 buttons to save clicks 2018-02-18 18:52:44 +03:00
Garux 6ac153f2f0 3 decimals precision for SI->fit hopefully will be enough 2018-02-18 16:08:19 +03:00
Garux 1f31e94aca undo 'numeric GtkSpinButtons in SI, arbitrary rotation dialog' (aint flexible enough for input) 2018-02-04 20:56:45 +03:00
Garux 2417ac196c * fix: reread values from SI on FitTexture command 2017-12-15 03:59:10 +03:00
Garux 1658f27ee6 * Valve220: keep basis on 'paintTexture&Projection' (shift+m3); 'projectTexture' (ctrl+shift+m3) performs basis copy 2017-11-10 14:56:35 +03:00
Garux 5761c6006b GtkSpinButtons are numeric only in SI, arbitrary rotation dialog, preferences
SI: fit: fewer trailing zeros
SI: rotate: page_increment = 45 (activatable by scroll click on arrows; RMB = min/max)
2017-10-19 21:51:22 +03:00
Garux 2adf7f8a4f improve textureProjectionSetSelected -rotation output in BP mode 2017-10-19 10:15:59 +03:00
Garux 097c1e8fc5 * Valve220: fix patch.CapTexture (patch had invalid control points: define basis)
* Curve->Simple patch mesh: CapTexture() instead of NaturalTexture() for convinience
2017-10-02 20:44:36 +03:00
Garux f4149f1549 * Valve220: use face projection by default
* Valve220: Project {axial, ortho, cam, from face} functions
	* conversions between AP, BP and Valve220 brush types; conversions to Brush Primitives and Valve220 formats are lossless
	* detect brush format and automatically convert to current one on map Import and Paste
	* Valve220: fixed Reset function, implemented Rotate one
	* Valve220: fix overwriting basis on brush clone/map import ( in Face( Face ) constructor )
	* BP: fix: normalize shift values during import, arbitrary projections and face->fit
	* Valve220: fix texture lock for scaling, fix for negative texdef.scale
2017-10-02 18:11:43 +03:00
Garux 65e6d4a560 del douplicated code in seamless texturing->line 2017-09-17 11:52:23 +03:00