Commit Graph

582 Commits

Author SHA1 Message Date
Garux 2426697f65 UV Tool: add patch support
patch controls move modifiers: shift = only move along the axis with the biggest move, ctrl = snap hard to grid and povit lines
fix a couple of Patch::Calculate_AvgNormal() and Patch::NaturalTexture() problems
2019-06-10 15:17:57 +03:00
Garux 684187c4ec fix clipping whole brush by clipper after 3ce07bb310
fix rotate manipulator selection after aa99f4d254
2019-06-01 19:25:01 +03:00
Garux aa99f4d254 * UV Tool (edit texture alignment of selected face) modifiers:
pivot control point and lines: ctrl = snap hard to face vertices and grid
		grid density controls: shift = change density of both axes synchronously, ctrl = power of two grid
		scale lines: shift = scale axes synchronously, ctrl = snap hard to vertices
		alt + m1 on grid = skew texture (is possible alright in BP and Valve220 map formats, not in AP); ctrl = snap hard to edges
		texture move: shift = only move along the axis with the biggest move, ctrl = snap grid lines hard to vertices and pivot
		rotate: shift = rotate with step of 15 degrees, ctrl = snap hard to edges
2019-05-19 10:30:44 +03:00
Garux 3ce07bb310 change points order in plane3_for_points( const BasicVector3<Element>& p0, const BasicVector3<Element>& p1, const BasicVector3<Element>& p2 )
to be consistent over the related code
to omit points swap there and there
2019-05-01 12:38:58 +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 b9a43074f0 fix wrong alpha after negative float to byte conversion in RenderableCamWorkzone 2019-04-24 01:08:51 +03:00
Garux 8d1015c7c8 make RenderTextLabel OpenGLRenderable
render CamDrawSize in uniform way
2019-04-23 14:02:13 +03:00
Garux 58eb6e61d2 simplify RENDER_TEXT logic
class RenderTextLabel for text rendering
* consider texture alpha channel during rendering of shaders with qer_trans
2019-04-23 11:31:52 +03:00
Garux 4bc399fe56 optimize RenderableCamWorkzone 2019-04-17 13:57:59 +03:00
Garux f45f759b43 * bigger components handles
* render occluded brush vertices differently
disable NV_DRIVER_BUG workaround
remove RenderableWireframe::glColorPointer call
2019-04-16 00:07:50 +03:00
Garux eff4d4224c use hardcoded opengl font names in windows only 2019-04-12 20:54:23 +03:00
Garux bfc66aa6af * prevent resizing brushes to zero volume by faces drag, try to stop at minimal configuration 2019-04-04 17:34:08 +03:00
Garux 2ef794539c * fix sloped brushes evaluation at big coordinates (aka disappearing faces and brushes)
add windingTestInfinity() to bruteforce test maxWorldCoord's multiplier, lending reliable winding infinity
experimental Winding_createInfinite() percision improvements, borrowed from q3map2's BaseWindingForPlaneAccu()
2019-04-02 00:17:26 +03:00
Garux 429eae54de * fix precision of brush vertex editing and wrap merge 2019-04-01 23:50:35 +03:00
Garux 213b680a3c * region XY: only deselect excluded objects for convenience 2019-03-24 23:05:14 +03:00
Garux 12d010446b * Brush->AutoCaulk Selected (F4); camera must be there, where legit player respawn could be, i.e. close to selection and not inside of a brush 2019-03-23 19:10:41 +03:00
Garux fd0f0e0a6f minor optimization 2019-03-19 16:45:26 +03:00
Garux 0aa711ef74 better move amount measurement logic for m2 = texbro scroll or tags condition 2019-03-14 21:19:15 +03:00
Garux 645d33be37 * special mWheel scrolling mode during orbiting in camera (alt + m2) 2019-03-14 21:10:02 +03:00
Garux 57b374417d shorten brushexport command name
increase offset in commandlist.txt
2019-03-13 19:58:21 +03:00
Garux 502c0f8bc1 * all plugins commands are bindable
support detachable menus in submenus of plugins menus
user_shortcuts_init() and user_shortcuts_save() are moved to not the most convenient spot, as init has to happen after plugins init and before menus creation
2019-03-13 19:45:51 +03:00
Garux 51ee1dcccb more undo levels 2019-03-08 19:57:19 +03:00
Garux dabcad5088 * Shortcuts edit: fix "already assigned" check
rebase shortcuts logic on 'key is lower, modifiers are allowed in struct Accelerator' idea
2019-03-08 19:31:51 +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 b3154d301e fix shaking XYWnd::XY_DrawAxis position 2019-03-07 23:48:48 +03:00
Garux 6d080c01e0 turn FaceTexdef_importTokens / exportTokens: bad texdef assertions to console warning, as in practice it does more annoyance, than use, for end user 2019-03-07 16:14:36 +03:00
Garux 7a2084b405 fix: set color for RENDER_TEXT 2019-03-07 15:45:55 +03:00
Garux 4382b5f6d9 * bobToolz::Vis Viewer repair (shows current vis cluster brush drawsurfaces in green and rest visible ones in other colours for Q3 and Wolf/QL .bsp):
don't crash on bsp w/o vis
		don't crash with origin in the void (includes inside of structural brush)(do reset)
		grab point to analyse from camera position with nothing selected; grab from any objects selection too
		fix rendering issues
		read surfaces written by q3map2 correctly + faster rendering code
		print number of loaded drawsurfaces to console for evaluation of optimization done
		fix a couple of of leaks and crashes after new/delete
2019-03-07 11:29:59 +03:00
Garux af720a7f32 remove convhull_3d.h 2019-02-28 00:00:54 +03:00
Garux 1628abfd0f calm down -Wdelete-non-virtual-dtor warnings
remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
2019-02-26 19:08:47 +03:00
Garux 2dd78b7b97 fix use after free in RenderableCamWorkzone
somehow it was grabbed by ogl too late here, if sizing info wasn't rendering
2019-02-23 00:01:12 +03:00
Garux d2dceca361 fix constness 2019-02-22 23:56:17 +03:00
Garux 7c2d05f399 fix 'might be considered always true' warning 2019-02-22 23:53:39 +03:00
Garux 07d3008b96 calm down fall through warnings 2019-02-22 23:50:10 +03:00
Garux eb95c73416 Winding_Draw fix use after scope 2019-02-22 23:44:51 +03:00
Garux 74a3da969c * ctrl + r: clone stuff and repeat recent transforms; clipper tool toggle resets transforms stack 2019-01-18 15:00:06 +03:00
Garux 7bcb57562f preserve brush detail state during vertex manipulations 2019-01-17 00:00:14 +03:00
Garux b7bfa11b55 * entity inspector::smartEdit: display real key names
* entity inspector::smartEdit: show tooltips with extended names and descriptions for keys and flags
2019-01-11 21:25:31 +03:00
Garux fb53d5094a some more sensible gui default sizes 2019-01-11 18:35:37 +03:00
Garux e7fbe45319 build monitoring: change timeout value back to 25, as 8 results in radiant, taking one cpu thread for some reason
buffered stream is quick enough anyway
2019-01-07 19:26:17 +03:00
Garux 168e085d8e * "BuildMenu" preference: store filename (def. build_menu.xml) instead of absolute path for portability; absolute path is supported too, if set
* fix: load customized build_menu.xml from settings folder on the very first start and with senseless "BuildMenu" value
2018-12-26 16:20:43 +03:00
Garux 90d272e0a8 fix commit 9186d18353 , handle 'no vertices selected' case properly 2018-12-25 22:50:18 +03:00
Garux 4dc9b18f70 * fix brush shader names handling by bobtoolz (was writting empty shader name = crash on map save, at least "textures/" is expected)
complain about patch and brush shader names harder
2018-12-24 23:44:57 +03:00
Garux 9186d18353 optimize vertices reselection during vertex manipulations 2018-12-24 00:08:55 +03:00
Garux ab0f376d4a * lower Winding_Clip ON_EPSILON to play with weird brushes w/o error 2018-12-23 23:46:22 +03:00
Garux 2f867c99d9 * fix crashy assertions on vertices/edges selection (also = during vertex manipulations)
by removing not needed anymore update_move_planepts_vertex code
	* disable points snapping to .125 grid during edge manipulation (already disabled for vertex mode)
2018-12-23 23:44:13 +03:00
Garux 13481405ac improve workaround of slow fontconfig start 2018-12-21 11:48:34 +03:00
Garux bcbbde0b35 remove debug prints 2018-12-13 19:31:23 +03:00
Garux 9eff327c70 refactor brush transform evaluation code to reduce amount of unneeded evaluations to 0
improvable: don't evaluateBRep on shader changed, perhaps more
fix: brush vertex manip: no vertexModeFree() after identity transform (mouse forth and back / rotate dialog 0 / insertion w/o move) = selects vertices on undo
fix: brush vertex manip: tex vertex lock: broken for 220
use brush::vertexmode code to delete selected brush components
2018-12-13 19:13:26 +03:00
Garux 868ff8fe50 * insert brush vertices in vertex mode by clicking with no ones selected 2018-12-11 13:19:07 +03:00
Garux 9a2886e624 add build tool skeleton; does nothing, button is hidden 2018-12-10 23:01:09 +03:00
Garux 907c0b1265 minus Brush_textureChanged(); call, faces are getting deselected anyway 2018-12-10 21:08:52 +03:00
Garux 51c798fd9c * Snap to grid in a component mode: snap whole objects, if no components selected
* Snap brush/its vertices to grid: rebuild brush from snapped vertices with optional texture vertex lock
2018-12-10 21:00:33 +03:00
Garux 3f3230ed2a remove debug prints 2018-12-10 17:51:41 +03:00
Garux 435c41b73b * new vertex editing mode, preserving non modified vertices (=adding/removing faces automatically)
with debug prints
2018-12-10 17:50:40 +03:00
Garux 389030e05d fix cached brush face centroid tracking 2018-12-05 15:19:12 +03:00
Garux 70167de13b switch CSG_build_hull to https://github.com/akuukka/quickhull lib, feels robust enough
use -std=c++11
2018-12-01 15:43:26 +03:00
Garux 058ae2697e use original brush for CSG_DeleteComponents result and try to for CSG_WrapMerge to preserve selection on undo 2018-11-24 01:49:58 +03:00
Garux adc6adf50e delete duplicate code, enable search in find/replace dialog in selected in component mode 2018-11-23 16:50:27 +03:00
Garux 1ae93ef20c also merge clipper points on CSGWrapMerge command 2018-11-15 01:02:37 +03:00
Garux a88202f6c1 CSG_build_hull: use bruteforce, when is reasonable (double facehoof) 2018-11-15 00:16:39 +03:00
Garux d83d5977b7 * fix: update component modes toolbar buttons on entering clipper mode 2018-11-14 22:38:00 +03:00
Garux c611be157a * also filter "textures/common/donotenter" by Botclips filter 2018-11-01 02:24:12 +03:00
Garux 29998d8e8f * improve rotation manipulations consistency in camera 2018-10-31 11:23:08 +03:00
Garux c49be81280 use TranslateFreeXY_Z in 2d in DragManipulator & ClipManipulator 2018-10-30 13:29:12 +03:00
Garux 8508ee720e * XY + Z style of transform manipulator translations 2018-10-30 12:31:04 +03:00
Garux 74f2f5a5b4 * improve skew manipulation consistency in camera 2018-10-30 11:32:32 +03:00
Garux b6fd6e803f * 3d camera clipper: move points in XY + Z style with shift, ctrl, alt; snap to grid with ctrl 2018-10-30 01:04:34 +03:00
Garux 736f89026f use convhull_3d for quicker hull calculation 2018-10-22 18:36:38 +03:00
Garux 70254905c8 fix: crash in CSG::BrushDeleteSelected (again(likely-)) 2018-10-22 16:09:11 +03:00
Garux 053df17a35 binds... * clipper::enter, shift+enter, doubleclick: merge brushes and components with clipper points, if no cut occured 2018-10-22 13:58:36 +03:00
Garux 07bc303c2d * arbitrary rotation dialog fix: also handle extra precision of values on execution by button press 2018-10-21 23:01:12 +03:00
Garux 2836989099 binds... * z, backspace (DeleteSelection): also delete selected components (vertices/edges/faces) of brush in a component mode 2018-10-18 20:14:29 +03:00
Garux 0f7af6aaa4 binds... * shift + u: new uniform CSG wrap merge algorithm, merging selected brushes and/or components 2018-10-16 01:20:09 +03:00
Garux 2a3ca3a44f binds... * alt + m2 in camera: orbit around clicked point 2018-10-07 02:20:29 +03:00
Garux 9c91f4fa78 binds... * alt + m1 in camera: new resizing mode for brushes, curves and doom3 lights with direct and indirect selection methods 2018-10-06 02:31:05 +03:00
Garux cf885ea4ea use OpenGLRenderable to draw camera workzone for proper sorting and smoother states management 2018-09-25 20:50:04 +03:00
Garux 2d35f656f9 * represent grid by 3d camera workzone 2018-09-24 20:35:57 +03:00
Garux cdd1676a59 minus inclusion, a bit of correctness in FBO_fallback 2018-08-29 00:12:00 +03:00
Garux e7fec22b52 * rewrite and fix 2d background image feature; fix bug on intels (glPushAttrib) 2018-08-28 23:58:02 +03:00
Garux 1f4143ece2 * render size info in 3d camera 2018-08-28 16:06:47 +03:00
Garux 82ff22882d * render workzone in 3d camera 2018-08-20 23:33:33 +03:00
Garux 601ca95fbf simplify XYWnd::PaintSizeInfo slightly 2018-08-19 19:57:02 +03:00
Garux afdf2a76e0 make Scene_BoundsSelected lazily evaluatable 2018-08-19 16:40:48 +03:00
Garux c5f2279f4a * render direction arrow for group entities, having angle/angles key set or having angle/angles/direction attribute in .ent
draw condition relies on entity.getKeyValue, which also provides default values; thus removed default "0" for all group entities in .def loader
mind to add entity.getOnlySpecifiedKeyValue func or perform by visitor?
2018-08-16 20:00:58 +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 94e01fdb0a camera 2 points clipper: use likely more worthy split plane, if current axial one does not intersect selection bounds 2018-08-02 09:42:29 +03:00
Garux 461410f1a9 * fix automatic connection names resolving of cloned entities
issue was:
	create entity 1, clone to 2,3; connect 1-2, 2-3 = 1-3 connected; 2-3, 1-2/3-2 2-1 = ok; create all ones via menu/clone-make-unique/ctrl+c +v = ok
	clone-make-unique is broken, when operating with cloned entities, connected 3-2, 2-1 (ctrl+c +v too)
2018-07-27 20:21:42 +03:00
Garux cc997fd5a1 * fix clone, clone-make-unique, select all of type, expand selection to entities/primitives for maps w/o worldspawn 2018-07-27 19:11:53 +03:00
Garux 5c48131eba * rectangular selector gestures, enabling select, deselect and toggle behaviors 2018-07-23 16:25:32 +03:00
Garux 6ce87c04ac * update Texture Quality (mip level) preference without restart 2018-07-10 12:49:23 +03:00
Garux c3a110bf2c fix old mipmaps code: tex size could be = 0 2018-07-10 01:13:47 +03:00
Garux f83dc2e891 * use external textures mipmaps generation, draw NPoT textures correctly 2018-07-10 00:54:35 +03:00
Garux d6389acf21 fix TranslateFreeXY_Z usage for entities with non identity origin 2018-06-30 12:40:29 +03:00
Garux ac87395f6c * preferences->Clipper->On DoubleClick do: clip or split (def = split) 2018-06-24 22:50:15 +03:00
Garux 962df6a60e remove duplicated ViewEntityInfo command 2018-06-24 21:34:09 +03:00
Garux ed151906bd * bindable commands EntityMovePrimitivesToLast, EntityMovePrimitivesToFirst, EntityUngroup, EntityUngroupPrimitives 2018-06-24 21:25:53 +03:00
Garux 645c2f479c comment out Scene_parentSelected() codes 2018-06-24 19:24:16 +03:00
Garux f0057a86f4 * bindable commands FitTextureWidth, FitTextureHeight, FitTextureWidthOnly, FitTextureHeightOnly 2018-06-24 13:14:54 +03:00
Garux 59c05fa390 fix coincident UndoableCommand name "patchCreateCaps" 2018-06-24 12:16:08 +03:00
Garux 9f6a467e1e * handle degenerate cases of 2 points clipper in camera (points on the line of view direction) 2018-06-17 17:05:58 +03:00
Garux 5a78874f9b * selector size: bump default 8->12
clipper's one = user preference + 4
			hardcode for pivoted manipulators to 8 (since their size is constant)
2018-06-10 23:37:45 +03:00
Garux 78c97a6625 * disable clipper cut action on doubleclick, if click has set second point 2018-06-10 01:44:01 +03:00
Garux b5e9d98bc7 status_grid tooltip_markup 2018-06-09 22:51:26 +03:00
Garux 367e13e880 * map objects counts statusbar icons
* omit textures/ prefix in texture clipboard status
2018-06-09 22:04:23 +03:00
Garux fd1e14864a * enable entity->killconnect for game type="q1" 2018-06-09 00:47:16 +03:00
Garux f51000c0d0 3d cam: DragNewBrush: improve big grid handling 2018-06-08 21:30:38 +03:00
Garux aff5c8093e * up/down floor walker: examine all types of scene nodes (was brushes only)
consider only top/down and selected instances (was whole scene)
				fix jam at close coords
				also jump to bottommost coord of considered objects
2018-06-08 21:05:47 +03:00
Garux 2f38cfb4a3 * default (QE) tool: new translation styles: "XY plane + Z with Alt", "View plane + Forward with Alt" (prefs->Selection->Move style in 3D) 2018-06-04 19:22:07 +03:00
Garux c0b6f2169a * statusbar: show selected brushes/patches/entities counts, if anything is selected; total, if not 2018-06-01 02:23:07 +03:00
Garux 24c02facb2 refactor status text, status labels 2018-05-31 16:16:47 +03:00
Garux 6b8a1980af * add statusbar->patches count 2018-05-31 12:38:43 +03:00
Garux 4a59d83139 simplify void NormalizeColor( Vector3& color ) 2018-05-24 23:16:59 +03:00
Garux bf6e29d9c6 * remove entity->ungroup command: change classname to worldspawn does equal job; 'create worldspawn' click ungroups selected primitives only 2018-05-24 22:56:46 +03:00
Garux 66197713a5 simplify ParentSelectedBrushesToEntityWalker
add comments to EntitySetClassnameSelected
2018-05-24 21:37:39 +03:00
Garux 17a7e2f413 * replace reGroup command with simpler to use Move Primitives to Entity one (select primitives to move, select target entity primitive, go)
fix crashes in Entity_ungroupSelected, Entity_connectSelected
rename entity commands uniformly for simpler search in the list
2018-05-24 18:21:38 +03:00
Garux 6f8a0668a3 add and use VolumeTest/View.getViewDir() 2018-05-18 01:55:20 +03:00
Garux 4542d9da3c * Valve220: transform basis in special way with texture lock off 2018-05-16 16:40:54 +03:00
Garux ae1bd2c066 matrix4_for_normal_transform, matrix4_transformed_normal, plane3_transformed_affine_full functions 2018-05-16 14:16:43 +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 0a4d325f85 fix slow mass (de)selection in clipper mode 2018-05-15 02:55:05 +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 813cd70fd3 add vector3_max_abs_component_index, vector3_min_abs_component_index functions 2018-05-14 22:35:31 +03:00
Garux af9850510f prevent cursor change GDK_BLANK_CURSOR->g_clipper_cursor during freelook 2018-05-14 13:36:44 +03:00
Garux b2a911c9b1 * fix: update BrushClipPlane rendering on undo 2018-05-14 12:54:02 +03:00
Garux 05ea23c623 reimplement: * m1x2 on clipper point = do clip 2018-05-11 18:01:10 +03:00
Garux a42709f80a reimplement: * ctrl + m1: quick clipper mode (quits one after split done) (in 2d) 2018-05-11 02:27:52 +03:00
Garux 522cac75dc * preferences->Clipper->"Reset Flipped State" (on cut done and on manipulator changed), "Reset Points on Split", "2 Points in 2D Views" 2018-05-10 02:31:08 +03:00
Garux 8339ebfb23 remove code 2018-05-09 02:01:21 +03:00
Garux 7088653115 * clipper tool total rewrite; works in 3d viewport
* fix: update BrushClipPlane rendering on selection change
	* clipper points are draggable right after been dropped
2018-05-09 00:24:02 +03:00
Garux b06c551866 * fix qer_alphafunc equal/greater/less/lequal alphatest modes (was always 'gequal') 2018-05-04 11:30:23 +03:00
Garux 9930b8842b make rectangular selector minimal size independent on g_SELECT_EPSILON, allow any non zero size 2018-05-04 11:02:04 +03:00
Garux 050c0559be * turn off 64u deep selection of components in QE tool 2018-04-29 21:02:16 +03:00
Garux 412e6cc60a shorten RadiantWindowObserver.ModifierFlags m_state code 2018-04-29 19:56:50 +03:00
Garux 1d4f115517 * preferences->Selection->Selector size (pixels) 2018-04-29 19:12:42 +03:00
Garux 9114385dda * fix mixed up ViewFront and ViewSide commands, NextView menu entry typo 2018-04-28 22:10:07 +03:00
Garux 1e58fb2d7d * change GDK_KP_Home, GDK_KP_Page_Down, GDK_KP_End binds to GDK_KP_7, GDK_KP_3, GDK_KP_1: works under Windows at least 2018-04-28 21:33:12 +03:00
Garux 7c5d79da6b * texbro: show tags frame on M2 release after small or zero move to enable (m2 drag = scroll pan) with tags on 2018-04-28 20:18:06 +03:00
Garux 10c2b9bbd2 * check move amount (56 pixels) in M2 toggle freelook or keep strafemode condition to allow fast strafe moves 2018-04-26 19:23:35 +03:00
Garux 16c00ac54c * fix backslashes in opened by cmd line map path = fix duplicates in recent maps list 2018-04-21 23:26:40 +03:00
Garux 460df292ff * preferences->Camera->Time to Max Speed slider (camera key moves acceleration) 2018-04-21 02:17:52 +03:00
Garux 600963629c * preferences->Camera->Scroll Move Speed slider
* change freelook move speed units to game units; expand range; simplify
	* print speed values on change by CameraSpeedDec/CameraSpeedInc commands to console
2018-04-21 01:13:08 +03:00
Garux 065505b71b * remove hack, making freelook move speed fps dependent and harsh move start 2018-04-20 23:17:23 +03:00
Garux a3201f1954 * camera strafe: m1 one is disableable by mode 'none'
do not block strafe by pressed shift in up/forward modes
			enable forward strafe with only shift pressed in 'both' modes (no ctrl is required)
2018-04-20 16:38:20 +03:00
Garux 0cae576d5e * preferences->Camera->Strafe Speed slider 2018-04-20 13:59:49 +03:00
Garux 446ab50511 really support mouse_moved_epsilon system in camera freelook
use FreezePointer chain for freelook selections/manipulaions instead of extra gtk motion handler (fixes one step latency in window observer aswell)
2018-04-17 14:26:49 +03:00
Garux 93aef246ea * support mouse_moved_epsilon system in camera freelook + refactor RadiantWindowObserver 2018-04-14 23:12:53 +03:00
Garux d636107f68 * lower alt+m2 (2d zoom) sensitivity 2018-04-14 18:12:52 +03:00
Garux 3ae4188e3d simplify planeselectables if( camera ) check 2018-04-13 00:14:32 +03:00