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
Garux
6eee961fcc
Radiant:
...
binds...
* shift + m3: apply texture name and alignment to selected primitives and faces (m3 was inconsistent + often required quite deep planning)
* ctrl + shift + m3: also project tex from face to selection
misc...
* lazy cursor updates in clipper mode
* update cursor immediately on clipper mode toggles
* fixes and optimizations of entity names rendering; for instance: don't prerender textures for unneeded names
FBO overlay fixes
2017-08-02 09:53:07 +03:00
Garux
6fa612373e
Radiant:
...
misc...
* new texture lock algorithm for BP map format, supporting any affine transformations
* more robust texture lock algorithm for AP map format, locking what is possible to; also improves seamless face2face tex paste function
2017-08-02 09:48:12 +03:00
Garux
da43652df1
Radiant:
...
binds...
* ctrl + shift + m3/drag: project tex from face in tex clipboard to brushes(BP format) and curves
misc...
* fixed and improved normal finding in patch texture autocap algorithm
* removed axis cycling in patch cap texture; using autocap
* patch cap texture: project, using brush texture projection math of current mapformat to make it seamless with brushes by default
* Surface inspector->Project functions work for curves (in AP map format too)
2017-08-02 09:47:05 +03:00