Commit Graph

729 Commits

Author SHA1 Message Date
Garux 7acdf92d50 * QE tool mouse move: highlight PlaneSelectables with alt/ctrl+alt, components in component modes
improve bestPlaneIndirect pickup (resolve, when corner is closest)
support 2d in class DragPlanes::bestPlaneIndirect
2020-03-19 00:00:28 +03:00
Garux a4b61f88e5 * shortcuts list: add Reset All button (defaults all shortcuts) 2020-03-10 08:30:15 +03:00
Garux b122d19ec7 * shortcuts list: add Reset button (defaults selected shortcut) 2020-03-10 06:57:08 +03:00
Garux e301fce02e simplify command_list_dialog codes 2020-03-10 05:38:50 +03:00
Garux 64e2eebfb3 rewrite GlobalShortcuts_foreach() to use functor semantics 2020-03-09 23:06:45 +03:00
Garux e25f67ca29 use struct for ShortcutValue, add accelerator_default value 2020-03-09 20:34:39 +03:00
Garux 380d5547c5 use GlobalSelectionSystem().foreachSelected instead of GlobalSceneGraph().traverse in alt+m1 PlaneSelectable pickup 2020-03-09 06:34:28 +03:00
Garux e7b8e36db6 * DragExtrudeFaces: process with selected faces only, i.e. w/o objects selection 2020-03-09 05:53:14 +03:00
Garux 6e88e7b746 * DragExtrudeFaces: diagonal extruded brushes joints if extruding multiple faces per brush 2020-03-08 17:23:02 +03:00
Garux d664d15f17 * improved CSGTool::Hollow::diagonal algorithm (reliable for complex brushes complete extrude, handle simple brushes deep partial extrude) 2020-03-04 04:01:20 +03:00
Thomas Debesse 9f29864f50 lessen code duplication 2020-03-03 02:24:36 +03:00
Thomas Debesse 66e6781c9b use Instance_isSelected() function 2020-03-03 02:00:15 +03:00
Thomas Debesse 1acf0bb221 * alt + m1 2D view face vertex manipulator: use 'faces on the only best plane' pickup strategy 2020-03-03 01:57:56 +03:00
Thomas Debesse edb9abc546 use xdg-open to open url on Linux 2020-03-01 20:08:55 +03:00
Garux 4b2f9d6080 * open/save dialogs: use current file path, name, focus it, if present
brushexport plugin: case insensitive extension check
2020-03-01 19:38:27 +03:00
Garux 658819cfac support https in help menu 2020-02-29 05:12:38 +03:00
Garux 097a662814 * preferences->Grid->Max grid coordinate: how much big grid to render (visual aid for games with small world)
known minor issues:
preference change to smaller value doesn't trigger 2d view origin, scale constraints evaluation (ok after doing manually)
preference change during region mode resets grid region size
2020-02-27 21:03:04 +03:00
Garux 9304e9bfa5 bigger default grid spacing 2020-02-25 19:21:14 +03:00
Garux 94a6cc9cda lower default camera fov 2020-02-25 19:01:48 +03:00
Garux abcc47ad64 more csg tool refactoring 2020-02-24 21:44:20 +03:00
Garux 53676dcf31 * csg tool: +faces face specification mode (only process selected faces)
* csg tool: also process unselected brushes with selected faces
2020-02-24 21:43:27 +03:00
Thomas Debesse 07a06b5b89 * ctrl + alt + m1: extrude pointed faces of selected brushes and selected faces inside/outside
* improve alt + m1 resizing camera for slanted faces
2020-02-22 04:14:45 +03:00
wongit df7d260538 fix for spawnflags toolstips now showing when bits are skipped
(undefined)
2020-02-21 22:03:20 +00:00
Garux 37ae7f0794 * support Quake3 and Quake in -gamedetect (autodetects by availability of "baseq3/pak0.pk3" and "id1/pak0.pak" in folders prior to radiant's) 2020-01-28 19:38:03 +03:00
Garux 34e9b522b7 * shader editor: support files with crlf line feeds in linux
preserve line feeds on saving
			indicate 'modified' state by save button and window name
			view shaders from packs too (read only)
			refactor
2019-11-09 15:13:59 +03:00
Garux bad1a965c0 fix shader editor text length and offset in linux 2019-11-06 13:02:24 +03:00
Garux b9d846ac32 build menu.customize: clear ... placeholder string on the "editing-started" signal 2019-11-03 23:51:22 +03:00
Garux e849c95216 * build menu.customize: ctrl + c / ctrl + insert = copy, ctrl + v / shift + insert = paste build presets and command lines 2019-10-09 15:05:13 +03:00
Garux 4809f1a27a * build menu.customize: show placeholder string in entries for creation of new ones 2019-10-08 23:42:13 +03:00
Garux 05d7db4e3e don't append excess slash to g_qeglobals.m_userGamePath 2019-09-12 20:21:24 +03:00
Garux a834981d53 binds... * shift + }/{: CameraModeNext/Prev 2019-09-08 18:28:48 +03:00
Garux 4ebfc1dcac refactor template class LatchedValue use
make m_sGameFile LatchedValue
fix odd prompt to restart after game change via global preferences dialog + OK in local preferences
sort games list alphabetically by .game file name
2019-09-07 23:04:10 +03:00
Garux 1a18246a1f * suggest to automatically restart editor on change of preferences, which require this
* suggest to restart after selected game preference change
import of https://gitlab.com/xonotic/netradiant/merge_requests/141 e2f605b12f
2019-09-06 11:22:28 +03:00
Garux 6c9870f941 * workaround gamma bug in 2D views and texture browser with fresh nvidia drivers 2019-08-31 12:22:47 +03:00
Garux 6e42edd1cb * calculate fov against max of 3D viewport width, height for consistency 2019-08-31 11:30:29 +03:00
Garux 3bb51ba6b9 * fix invisible radiant with floating 3D camera window hidden in non floating layout 2019-08-30 12:30:16 +03:00
Garux fb773e2bcb tweak XYWnd code 2019-08-30 00:54:53 +03:00
Garux 1e0f7ba781 tweak VIEWTYPE related code 2019-08-29 00:41:40 +03:00
Garux 15cf9d0b55 * focus all 2D views on map load, selection by q3map2, NextLeakSpot, selection by brush/entity number 2019-08-24 01:12:01 +03:00
Garux 446e1148a5 * prevent runouts of 2D views from grid area 2019-08-23 23:38:29 +03:00
Garux 154b5f3619 shorten XYWnd::ZoomIn() / Out logic
fix odd wxywnd updates on zoom out of scale bounds
2019-08-23 20:32:28 +03:00
Garux 4e82cdf2f4 shorten code 2019-08-23 19:21:39 +03:00
Garux da7c72547b remove MIN use 2019-08-23 14:57:34 +03:00
Garux 49d1c98d81 * disable overlay front buffer rendering hack in 3D camera and completely in 64bit builds
* render 2D crosshair, as overlay, update it during manipulations
	* fix active 2D view outline rendering in 2x2 layout
2019-08-23 13:06:16 +03:00
Garux 9c908392b9 fix warnings and error 2019-07-06 14:35:20 +03:00
Garux 04b4f5fb1d simplify TextureBrowser Texture_Draw() 2019-07-05 19:30:43 +03:00
Garux 58b786d6e6 * fix face centroids of small faces at big coordinates in 64 bit
(explicitly cast to double, which likely happens implicitly in 32 bit)
2019-07-05 19:27:00 +03:00
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
Garux 652de9bb8f * entity based structural/detail filters depend on brushtypes="quake" in .game to make detail surfaceflags usable for quake 1 2018-04-10 20:51:41 +03:00
Garux 417051921e DragNewBrush: when no testselestion: offset based on gridsize to handle big grid 2018-04-10 18:02:34 +03:00
Garux 1eff801967 new algorithm for DragNewBrush Transform in camera 2018-04-06 23:27:46 +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 304d4760c4 * catch degenerate cases in texture vertex lock (ex: verts edit to noncontributing face, then back) 2018-04-04 12:02:53 +03:00
Garux 21db492d73 * build monitoring: determine if pending stack got monitorable commands, use non monitorable path, if not
* preferences->Build->Dump non Monitored Builds Log (default = no)
2018-03-30 01:47:28 +03:00
Garux b9dca3b000 * build system: prevent empty commands execution 2018-03-30 00:34:50 +03:00
Garux 8fbc462525 * select only plane of planeselectables in camera (since it's not easy to select multiple ones on purpose anyway) 2018-03-29 00:53:43 +03:00
Garux 75852ff0a1 robust algorithm for DragPlanes selection (Patch, Doom3Light) 2018-03-28 14:38:32 +03:00
Garux 73605bf94b robust algorithm for indirect Brush faces selection 2018-03-27 01:15:16 +03:00
Garux ed50787ee8 even more robust algorithm for Transform manipulator bbox faces pickup 2018-03-26 20:35:09 +03:00
Garux fce4ba0d67 new more robust algorithm for Transform manipulator bbox faces pickup 2018-03-26 19:05:03 +03:00
Garux 3222052652 fix and improve Transform manipulator bbox faces pickup 2018-03-21 22:48:10 +03:00
Garux 3da4012f1e add required message_flush calls 2018-03-21 20:59:30 +03:00
Garux fd656d274a * orange console warnings 2018-03-21 16:07:40 +03:00
Garux cf580963c2 more globalWarningStream() globalErrorStream() use 2018-03-21 16:06:22 +03:00
Garux b1e2f26124 use globalWarningStream() 2018-03-21 04:21:07 +03:00
Garux 54a98ed5e8 * fix RadiantSelectionSystem::getSelectionAABB() for PlaneSelectables 2018-03-21 03:03:41 +03:00
Garux 45a38ae48e * introduce globalWarningStream() 2018-03-15 01:18:16 +03:00
Garux 5bf0dd5243 q3map2: * buffered broadcast xml stream to dramatically increase compilation monitoring speed 2018-03-13 22:51:30 +03:00
Garux 0bf509dc1a * fix: FBO creation was random
* disable MSAA with samples = 0, even if more is forced via driver
2018-03-05 13:48:48 +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 357beaa46d * texbro: show all used textures on 'flush and reload shaders' 2018-03-03 15:05:30 +03:00
Garux ef94020d67 * texbro tree: display only wad names + full paths as tooltips
* texbro tree: do not try to load root of texture directories group
2018-03-03 13:08:18 +03:00
Garux 1d3094de94 use static boolean TextureBrowser::wads, clean the code 2018-03-02 19:19:29 +03:00
Garux 565f7fc6db * Entity Inspector->smartedit: enable array, target, targetname, skin attribute types
* Entity Inspector->smartedit: enable texture attribute type, add full shader path autocompletion
	* fix lags, caused by texture entries autocompletion
2018-03-01 04:01:18 +03:00
Garux 286f784ecf * Entity Inspector->smartedit->color chooser sets actual key, was always _color 2018-02-28 13:15:05 +03:00
Garux 5b226482b8 * Entity Inspector->smartedit angle(s), direction fields: add "set from camera view direction" button 2018-02-24 14:08:41 +03:00
Garux eae7ac024a clean namedentity, forward declarations, ostream_write 2018-02-22 18:56:53 +03:00
Garux 327fa13d54 add killconnect command only for mGameType=nexuiz (.game type="nexuiz"); was confusing bindlist readers 2018-02-21 17:15:10 +03:00
Garux 81cc314ff5 * support q1 liquids filtering with entities="quake" in .game 2018-02-21 14:58:41 +03:00
Garux ad68a7232d * toggle transform origin lock by clicking it
* represent locked transform origin with special colours
2018-02-21 12:49:10 +03:00
Garux 062df0bc5f fix AP texlock, handle scale 0 in different way 2018-02-20 16:08:44 +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 1b673b1a76 refactored EntityClass usage to only store being a miscmodel in miscmodel_is bool + set it on setting classname
* miscmodel filter: simplify and support miscmodels, defined by new way (xml .ent)
2018-02-19 00:40:51 +03:00
Garux feedf4919e consider func_detail* in Map Info dialog 2018-02-18 20:56:18 +03:00
Garux 024e6bd667 fix possible typo in LoadMapFile primitives count report 2018-02-18 20:22:09 +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 9b6e1e3b9e transform manipulator: add selected renderable lines last to get highlighted ones rendered on top in 2d 2018-02-18 16:03:16 +03:00
Garux faae287567 * transform manipulator: add rotate transformation with handles in corner points 2018-02-16 13:47:58 +03:00
Garux 63afbecab6 * fix accidental negative rotation by rotate tool in camera, caused by low precision 2018-02-15 13:13:44 +03:00
Garux 22cba3641a import c359b728f6
Try ~/.{prefix} on Apple OS X if /Library/Application Support/{prefix+1} fails.
2018-02-07 22:43:13 +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 f91df90d58 remove const_cast hack and memory leak in 'load doubleclicked texture's directory' 2018-02-04 19:38:08 +03:00
Garux 339d078bc6 fix/improve camera near_z usage 2018-02-04 16:55:25 +03:00
Garux c22187907e * entity inspector -> clear all: keep origin key 2018-02-03 09:03:59 +03:00
Garux b8f2cffa3f reformat gtktheme.cpp 2018-02-03 00:27:09 +03:00
Garux a5865dce55 * entity based structural/detail filters for entities="quake" in .game 2018-02-01 13:34:58 +03:00