Commit Graph

621 Commits

Author SHA1 Message Date
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
Garux f9157a6993 * point entities are understood as miscmodels, if <model attribute is present in xml .ent definition
* <model key= is not hardcoded to 'model' anymore, can use 'mdl'(q1) or w/e
2018-01-31 23:14:30 +03:00
Garux 387c4c0846 * prefs->game->paths: +Extra Resource Path option 2018-01-30 16:02:07 +03:00
Garux d747bd6111 * move path settings to separate preferences group to simplify finding one 2018-01-28 18:08:57 +03:00
Garux 4a6c809e7d * Valve220: optimize ST coords calculation (rotation value is irrelevant) 2018-01-24 13:01:47 +03:00
Garux cb2886cd97 * BP to AP, BP to 220, 220 to AP format conversions, Valve220 texture vertex lock: handle degenerate BP basis case 2018-01-24 00:13:35 +03:00
Garux 16ee5cc8c8 * Valve220 texture lock: catch QNAN, if projection direction is parallel to face 2018-01-23 04:52:34 +03:00
Garux fc7c69df97 * transform manipulator: draw arrowheads, while some line is selected for skew 2018-01-19 20:56:31 +03:00
Garux 31c1b27853 * transform manipulator: add scale transformation; bbox resizing style 2018-01-18 23:40:47 +03:00
Garux ad0f9ea6cc make m_bFaceFill aka "Colorize selection" saveable 2018-01-17 08:58:54 +03:00
Garux 78db33ff4a * fix crash, if renaming tag w/o shaders assigned 2018-01-16 14:40:16 +03:00
Garux 98937beb75 * transform manipulator: also perform translation, if grabbed bbox 2018-01-11 21:01:40 +03:00
Garux d3b1bfaefa * restyle manipulators icons in GtkRadiant 1.5 way 2018-01-11 15:20:55 +03:00
Garux 14ee12354d * new manipulator, applying skew transform 2018-01-11 14:20:05 +03:00
Garux fadace9d69 more clear preference name to expose its effect better 2018-01-05 14:41:02 +03:00
Garux fd04e52a06 * disable MSAA in Texture Browser, even if forced via driver 2017-12-20 15:57:44 +03:00
Garux 55a36d5543 * fix: consider rotation value for Valve220 arbitrary projections 2017-12-19 16:11:17 +03:00
Garux 5c0859be8d * increase precision of camera mouse sensitivity setting from int to float to make it adapted for new hardware/software
* change mouse sensitivity handling by factor of 3 (old default 3 == new default 9)
2017-12-16 10:28:38 +03:00
Garux aeaeb2a3e6 * statusbar: del "R:" info (rotate increment from SI)
+current map format info (F:AP/BP/220)
		+explanatory tooltip, describing shown infos
2017-12-15 15:58:52 +03:00
Garux fd7429d45f * change default Map Info window position to centered 2017-12-15 13:47:01 +03:00
Garux 2417ac196c * fix: reread values from SI on FitTexture command 2017-12-15 03:59:10 +03:00
Garux b4d81fac21 * close Map Info dialog by ESC 2017-12-15 03:24:42 +03:00
Garux 9f1690ed64 * fix unwanted brush face texture transformations on brush resizing with texture lock on 2017-12-11 16:53:01 +03:00
Garux 723a615110 * texture locking during vertex and edge manipulations 2017-12-06 13:57:40 +03:00
Garux 533b842a00 * Valve220 to AP brush type conversion: one is lossless, when it is possible 2017-12-05 16:08:19 +03:00
Garux 9b644b4680 * BP to AP brush type conversion: one is lossless, when it is possible 2017-12-05 15:49:15 +03:00
Garux 7103ac23de * support scale 0 in AP Texdef_transformLocked 2017-12-05 14:39:14 +03:00
Garux 0e29985090 * support scale 0 in BP Texdef_transformLocked (is usable, while scaling faces in component mode by 0) 2017-12-04 21:42:03 +03:00
Garux 382ce2e691 * fix AP texture lock for faces with 45 degrees angle 2017-12-04 21:18:53 +03:00
Garux 4b5390e6cf remove sleep code and all references 2017-11-11 12:22:30 +03:00
Garux 4511d1b5b1 * deselect components on HideSelected(): could be texturized or edited implicitly 2017-11-11 11:58:33 +03:00
Garux 3426be50bf * fix: reset hide button on Map_Free() 2017-11-11 11:52:08 +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 618d31bc96 * fix: don't exclude worldspawn node on region() functions, so newly created brushes are visible afterwards
* fix: region() functions work for entities, having model, which is instantiated multiple times in a scene
	* warn on Map_RegionBrush with none selected
	* fix: 'region set brush' is deleting ultimateselected only (is using one to get bounds)
	* deselect components on any region() function: could be texturized or edited implicitly
	* allow 'region set selection' in components mode
	* Map_RegionXY: deselect anything (could leave stuff selected + invisible)
2017-11-05 22:58:59 +03:00
Garux bd28ec81f7 * View->Show->Entity Connections option 2017-10-27 23:32:29 +03:00
Garux 9b2109a5ee * don't save .map and snapshots during .reg (region) compilations 2017-10-27 10:48:13 +03:00
Garux 3d3592c1f0 * preferences->Camera->Colorize selection option (filling highlighting), def=on
* fix: selected faces wire color is updated immediately on colour theme change
2017-10-27 10:47:15 +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 9c415afaae * swap shift+pgup/pgdn to match SI behavior (up = +value, down = -value) & to improve ergonomics
* invert BP fake angle to synchronise shift+pgup/pgdn behavior with rotation by SI
2017-10-19 13:11:44 +03:00
Garux 2adf7f8a4f improve textureProjectionSetSelected -rotation output in BP mode 2017-10-19 10:15:59 +03:00
Garux c152cf02a4 * round AP and Valve220 rotation values to f.xx instead of int 2017-10-19 00:27:46 +03:00
Garux 62a5122ff8 rename TEXDEFTYPEID_HALFLIFE -> TEXDEFTYPEID_VALVE for consistency 2017-10-18 23:35:56 +03:00
Garux 4ecd635bfc * increased Patch::Calculate_AvgNormal() robustness; affects Patch::CapTexture() & Patch::ProjectTexture() 2017-10-18 15:02:55 +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 0b3f42ffbc * "BrushAlwaysCaulk" option is saveable for brush types other than q3
* brush format is preference for [maptypes, brushtypes]: [mapq1, quake], [mapq2, quake2], [mapq3, quake3]:
		preferences->Brush->Brush type: Axial projection, Brush primitives, Valve 220
	* autodetect brush type on map opening
	* brush face surfaceflags are optional on loading for flexibility
	* 'Snap planes to integer grid' option is always off by default
2017-09-16 16:37:39 +03:00
Garux 4e4b8e1407 * texbro->search entry: ESC = clear
* entity list+: search entry with start/any position modes:
		mouse wheel, uparrow/downarrow = scroll through search results
		ESC = clear
		mwheel in empty entry = scroll through selected/child selected entities
	* entity list: expand map's root node on dialog display for convenience
2017-09-03 22:48:46 +03:00
Garux 20e9bc9dfe * shortcuts list: search in the middle of strings too 2017-08-26 18:49:03 +03:00
Garux caf093f827 * "Entity Names = Targetnames" option:
also affects Entity List
		moved from View->Show menu to prefs->display->entities
		prompt about restart on change
2017-08-20 16:42:18 +03:00
Garux 56997e1c66 * brush resize, face shear: select single face with angle, closest to view direction (or multiple ones with equal angles) 2017-08-12 18:40:50 +03:00
Garux 93be572ca3 * filterbar: removed barely used areaportal button, moved 'apply nodraw/nodrawnonsolid' functions to translucent button 2017-08-08 20:45:21 +03:00
Garux 31cef208e0 Radiant:
misc...
	* draggable renderable transform origin for translate, rotate & scale manipulators
		click w/o move = reset
		move is constraintable to axis with shift pressed
	* highlight manipulators' renderables on mouse hover
	* mouse_moved_epsilon system (0.5% of viewport size) for m1, tunnel selectors, manipulators (except freelook) to make them more fail-safe
2017-08-02 16:26:21 +03:00
Garux a28b531d84 Radiant:
misc...
	* entity inspector, entity list->'autofocus on selection' buttons: also do FocusAllViews() on clicking them
	* focus on preferences treeview on 2nd+ call to make text search to work
	* fixed WindowPositionTracker globally: minus many particular hacks, plus correct wnds positioning in Floating viewports layout
	* fixed ToggleShown functionality: shown/hidden wnds states are saved and loaded correctly in Floating viewports layout
	* also save/load XY and Cam viewports visibility states
	* new preferences->layout icons
	* fix: stop chaseMouseMotion on mouse button release
2017-08-02 09:54:33 +03:00
Garux 3f1c97ebeb Radiant:
misc...
	* selection system: fixes of: selecting point behind point (not perfectly precise distance)
					selecting occluded objects and faces via direct and indirect hits
	* select models from back in 2d
2017-08-02 09:53:56 +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 e14027e117 Radiant:
misc...
	* render scene to FBO to get following options:
		preferences->camera->MSAA (def = 8 samples)
		preferences->orthographic->MSAA (def = 8 samples)
		coloured camera POV icon w/o rerendering the scene
		coloured rectangular selector box w/o rerendering the scene
	* fallback to glCopyTexImage2D (NPoT), if FBO isn't available
2017-08-02 09:52:30 +03:00
Garux 2e3529798d Radiant:
misc...
	* prefs->cam->Selected faces wireframe option (def = yes)
	* Textured+Wireframe camera render mode
2017-08-02 09:51:41 +03:00
Garux 6a85a08c18 Radiant:
misc...
	* entities converting: also create group entities from world primitives instead of "do not want to convert worldspawn entity" error
	* fix: group dialog: prevent focusing on texbro->filter entry and console, if switching to ones by click on tabs (was blocking hotkeys)
2017-08-02 09:51:08 +03:00
Garux c3d11bca70 Radiant:
misc...
	* experimental fix of rendering scene and evaluating brush/patch representation TWICE on every transform (literally after every mouse move fraction)
2017-08-02 09:48:29 +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 fb7c979d42 Radiant:
misc...
	* place created simple patch mesh not in middle of bbox, but on edge to make result more usable
	* prefs-interface-layout-single scrollable toolbar
2017-08-02 09:47:35 +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
Garux b0c4caa9d1 Radiant:
binds...
	* m3: apply texture name and alignment to selected primitives and faces
	cleaning
2017-08-02 09:46:24 +03:00
Garux a102c41b48 Radiant:
misc...
	* changed surface inspector behavior from 'set whole texture projection' to 'set modified value' (makes sense for multiple surfaces selected)
	* BP: surface inspector and Tex* binds scale texture by its axes, not world axes
	* BP: fix rotation of tex projection with scale S != scale T
	* BP: fix ruining nonregular tex projections by surface inspector (for example after fit/seamless/arbitrary projection)
	* jump over tex projection scale = 0 case, while modifying one (AP and BP)
2017-08-02 09:45:26 +03:00
Garux 492f00b729 Radiant:
misc...
	* fix scaling for doom3 brush format
	* Pointfile function: try to also load .pts leak line file (q1), if .lin isn't found
	* snap transform origin for flip commands
	* change light intensity save format from %f to %g to prevent .99999 on transforms
	* support 'stupid quake bug' (invert pitch in angles)(generic and miscmodel ents)(cfg: entities="quake" in .game)
	* clipper: place 1st and 2nd points far, 3rd near to ease 3 points clipping
2017-08-02 09:44:51 +03:00
Garux 0139fa9de6 Radiant:
binds...
	* doubleClick/Enter in Entity inspector Class list = convert entities
	* ctrl during creating brush = cube brush

misc...
	* on worldspawn entity create/convert to one do most expected move-selected-primitives-to-worldspawn
	* convert point entity to group one = placeholder brush at origin + remove origin key
	* convert group entity to point one: set origin key to contained primitives center
	* fix uniform rotation operations for eclassmodel, miscmodel entities
	* scale miscmodel entities uniformly
	* added func_detail to world and detail filters
	* region->set_xy: using active projection, not just xy one; is subtractive (no region off before applying)
	* new brush prefab: icosahedron
	* refactored CSGTool, improved Hollow::diagonal algorithm stability

	improved view_cubiclipping.png
2017-08-02 09:44:13 +03:00
Garux 335dcb2fa8 Radiant:
misc...
	* restrict unwanted angle(s) keys commits on moving generic, eclassmodel, miscmodel entities
	* reverted angle(s), origin, scale entity keys save format from %f to %g
	* fix uniform rotation operations for generic entities with angles key
	* use more precise meth for rotating point entities with only angle rotated
	* snap tiny inaccuracies in angle(s) and origin point entities keys
	* workaround: don't discard empty group ents, having origin key
	* entity class convertion: prevent converting worldspawn; prevent converting point entity to empty group
2017-08-02 09:43:35 +03:00
Garux 9613511560 Radiant:
binds...
	* m2 drag in cam = sideways+updownways strafemode; do not enter/quit freelook, if long button press (>300ms)
	* m1 drag in freelook = sideways+updownways strafemode (mainly for visual editing)
	* ctrl + m3/drag = seamless brush face to face texture paste; works for any faces in BP mode, only axial ones in AP
	* ctrl + shift + a: select all visible brush faces and curves, textured by selected shader
		(more obvious way, than existing ones: components mode::faces->shift+a and find/replace to empty)
	* shift during creating brush = quadratic brush
	* drag clipper point + shift = constrain to axis with biggest move amount

misc...
	* -gamedetect command line option to enable game detection
	* don't disable aero by default; -aero command line option disables one
	* "Don't show" (during session) checkbox in Light Intensity dialog
	* fix: show-grid toggle hides grid, when snap-to-grid is off too
	* region mode: draw out of region part of grid in subtle style
	texbro tags button png icon
2017-08-02 09:42:58 +03:00
Garux 7e36f12449 Radiant:
binds...
	* Tab + mWheel in freelook: offset focus distance with dist2origin/8 step; exponentially, if moving far away

menus...
	* Misc->Colors->Themes->Blender/Dark color theme
misc...
	* surface inspector: renamed poorly named Axial button to Reset
	* arbitrary brush texture projections in brush primitives map format: axial, from ortho view, from cam
	* frame 2 frame time render stat
	* renamed confusingly named command GroupSelection to RegroupSelection
	* fix: changing clipper color via theme loading doesn't require restart
	* fix: changing CameraSelectedBrushColor, SelectedBrushColor don't require restart
2017-08-02 09:42:08 +03:00
Garux 7bb36b774c Radiant:
menus...
	* view->show->Entity boxes (always show bbox for ents with model)
misc...
	FBO support
	* preferences->display->entities->Names Display Ratio (2D): hide names, if view_size/bbox_size > value; def = 64
2017-08-02 09:41:22 +03:00
Garux 8ca384165b Radiant:
misc...
	* fix name case sensitivity in shaders (non plain textures) loading during map/model loading
	* all patch prefabs are created aligned to active projection
2017-08-02 09:40:29 +03:00
Garux 697d2714d6 Radiant:
binds...
	* ctrl + e: ExpandSelectionToPrimitives (select group entities w/o parent node)
	* ctrl + m3 texture painting by drag
misc...
	* fix: QNAN texture projection after scaling cuboid on Z axis (brush primitives + texture lock)
	* preferences->display->entities->Names Display Distance (in cam) def = 512u
	* always show selected/childSelected entity names (unselected is optional)
	* fix: mouse texture grab/paint commands ignore filtered faces (caulk filter)
2017-08-02 09:39:45 +03:00
Garux 43d4204697 Radiant:
misc...
	* new very fast entity names rendering system
	* render entity names in cam within < 512u dist or if selected
2017-08-02 09:36:47 +03:00
Garux 1df30a3b8c Radiant:
misc...
	* disabled depth write for qer_trans surfs and highlight (=any amount of layers is visible)
	* 20x faster light radii rendering
	* light radii are coloured and additive
	* anisotropic textures filtering option (def = yes)
2017-08-02 09:33:51 +03:00
Garux bc5dcc1699 Radiant:
misc...
	* extradebug_quicker BUILD mode (defines _DEBUG_QUICKER = no slowing down debug renderables)
	* draw bbox for having model + selected entities
2017-08-02 09:32:49 +03:00
Garux 969b901abe Radiant:
misc...
	* texbro search: SearchFromStart option (match start of texture name)
	* texbro search: entry is activated/deactivated by mouse pointing
	* texbro search: clear button
2017-08-02 09:26:22 +03:00
Garux e3fd576624 Q3map2:
code fixes

Radiant:

binds...
	* m1x2 on clipper point = do clip
menus...
	* misc->colors->opengl font selector
misc...
	* calculate farplane from g_MaxWorldCoord, g_MinWorldCoord (was const 32768)
	* 1.0f nearplane
	* numerous code fixes
2017-08-02 09:25:58 +03:00
Garux 65ca31fd44 Radiant:
menus...
	* Shortcuts item moved from Help to Edit
misc...
	* fix: q1 mdl reader out of bounds reading crash
	* fix: q1 mdl loading of MDL_FRAME_GROUP case
	* fix: rightclick main wnd border, release in texbro glwidget == crash (unfreezepointer)
	* texbro: search in currently shown textures
	* ask for saving nonsaved map on project settings change
	* func_detail to nongame group ents counter
	* deiconify main wnd, unmaximize maximized view on app closing to save correct layout data
	* close preferences dialog on ESC
	* Enter = Ok in global and path settings dialogs
	* print renderer stats in XY views too
	* global 'show renderer stats' option, def = off
	* ~10x faster opengl text rendering
2017-08-02 09:25:04 +03:00
Garux cba5583d23 Radiant:
binds...
	* m1 + shift drag: snapped modes of manipulators:
		scale free: scale two axes synchronously
	* m2 in entities creation menu: change classname; ctrl + m2: change classname, don't close menu
	* ctrl + m1 in entities creation menu: create entity, don't close menu (+offset every next entity by 8u or gridsize, if > 8)

misc...
	* fix: laggy selectors, manipulators in mlook mode
	* scale free->snapped mode: constrain to two axes, most perpendicular to view direction (i.e. works for two axes in 3d too)
	* scale free->snapped mode: use min move delta for scale (was max = hard to scale down); fix ZY projection case
	* fix: pointfile was considered as shown, when trying to load missing one
	* entity inspector->EntityProperties treeview: Tab keypress = focus Key field
	* 2x2 layout: allow gtk to handle separators positions; fixes: unmaximize wnd, maximize = horizontal separators > center
		fixes: unmaximize wnd = not updated views glwidget positions on some systems
	* fix: paint selector, selecting occluded faces
	* camera->field of view option
	* wider Texture Gamma preference range
	* wad games->texbro treeview: do not group names, using underscore; fixes crash on loading parent; fixes mess if path contains underscore
	* fix: do not quit freelook on autosaving
	* entity creation menu has ability to be 'tearoff'
	* wad games: fix TextureBrowser_ShowDirectory crash on loading common dir (can cfg to load .wad), on loading containing dir (do nothing)
	* wad games: fix crash on selecting a shader (not a plain texture) in tex bro
	* wad games: more reliable filterbar texturing defaults
	* shader for 'caulk new brushes' and 'clipper uses caulk' options is optional via 'shader_caulk' option in .game
2017-08-02 09:24:32 +03:00
Garux 471fca65b6 Radiant:
binds...
	* ctrl + shift + v: MoveToCamera (translate selection to camera origin)
	* m2 in entities creation menu: change classname

misc...
	* do not delete selected on entities creation, just deselect
	* ExpandSelectionToEntities: do not select invisible nodes
	* fix: keep stuff on grid after paste/move to camera commands, if stuff's size is (2*N + 1)*gridSize
	* MapName build system variable (can use to make build menu entry to run map in a game)
	* build->customize: list available build variables
	* texture browser: gtk search in directories and tags trees
	* fix: build menu->customize Cancel button cancels (was reloading menu from disk)
	* build menu->customize Reset button (= reload menu from disk = editor start state)
2017-08-02 09:23:14 +03:00
Garux 4dcf76ef34 Radiant:
binds...
	* m2x2 in camera: entities creation menu
2017-08-02 09:22:40 +03:00
Garux c92c662abb Radiant:
binds...
	* Tab in freelook: smooth turn around selected, while focusing on one

misc...
	* activate key_press_handler before special_key_press_handler to allow CameraFree* commands, bound to special (gtk: !accelerator_is_valid) keys
	* update workzone on partial deselecting too (was updating only on adding to selection)
2017-08-02 09:22:10 +03:00
Garux dfce2da577 Q3map2:
disable fastnormalize for light: was increasing dirt from arealights, lighting with acute angle

Radiant:

binds...
	* QE tool: alt + m1 drag in primitives mode:
		click face = clicked faces shear
	* m3 in texbro: select texture w/o applying to selection
	* `: XYFocusOnSelected
	* ctrl + shift + e: Select Connected Entities
misc...
	* search in shortcuts list
	* edit shortcuts on m1 dbl click
	* edit shortcuts fix: could highlight a few rows for editing
	* texbro: toggle off hideUnused on loading a tag
	* fix of: undo something, select tex in texbro, no redo available
	* epsilon in resize brush selector to prevent perpendicular faces pickup
	* clone group entity primitives to separate entity on cloneSelectedMakeUnique
	* Focus on Selected option in Entity List (focus cam and center xy)
	* entity inspector: connected entities walker (select target / targeting / both)(focus)
2017-08-02 09:21:32 +03:00
Garux 461d008daa Q3map2:
* fix: parsing of /* */ comments, having * or / inside

Radiant:

misc...
	encapsulate RETURN_FALSE_IF_FAIL macros with do while 0: minus warnings
	* button to call color selector from ents inspector color entry
	* explanatory text on initial engine path configuration
	* don't show Global preferences by default, except first start
	* activate {xyview, camera, texbro glwidget} on mouse button press and scroll, so {texbro treeview and console} hotkeys do not override global ones
	* activate windows, containing xyview, camera, texbro on mouse scroll
	* fix: autoapplying trigger texture on entity creation is undoable
	* fix: texbro m1/2 x2 work, when some tag is loaded
	* bold key and spawnflags names in entity inspector entity description
	* fix: +CameraFreeMove* command, +shift, -CameraFreeMove*, -shift = still moving (reason: caps letter)
2017-08-02 09:20:56 +03:00
Garux 2ab47003e0 Radiant:
misc...
	* regular gtk search in entity inspector -> entity class list
	* fix: entities, converted to ( targeted + having model + not loaded b4 ) ones weren't selectable normally + rendered only while 0 0 0 was visible
	* ExpandSelectionToEntities works, if only parent node is selected, too (via entity list)
	* Select & normalize color commands work for group ents, if contained primitive is selected
	* remove boolean key, if set via entity inspector checkbox to 0 (ex: light - sun checkbox: was _sun 0, if off)
2017-08-02 09:19:53 +03:00
Garux 0261afc6df Q3map2:
* -backsplash (float)scale (float)distance: scale area lights backsplash fraction + set distance globally
		(distance < -900 to omit distance setting); def = 1 23; real area lights have no backsplash (scale = 0)
		q3map_backsplash shader keyword overrides this setting

Radiant:

binds...
	* alt + m1 click/drag in component modes: select objects
misc...
	* fix: selected entity and brush numbers display in 'Find brush' dialog
	* prefer to display texture width and height in status bar over name (PANGO_ELLIPSIZE_START)
	* allow search shortcut (ctr+f in win) in entity inspector -> entity class list
	* fix: don't save empty group entities (but worldspawn)
2017-08-02 09:19:22 +03:00
Garux dd7f4f1689 Radiant:
binds...
	* ctrl + shift + m1 (in texbro): open shader in external editor
misc...
	* fix: do not unmaximize external shader editor on win
	* fix: blank cursor in radiant after calling external shader editor on win
	* fix shader editors stuff for non uindowses
	* 'Shader Editor Command' preference is available on win (is used, if set; otherwise try default os action for file)
	* fix: 'Shader Editor Command' preference allows selecting executable via dialog
	* GDK_HAND2 cursor in clipper tool mode
	* fix: clipper points have numeric labels
	* '2d zoom in to mouse pointer' option works for alt + m2 zoom
	* '3d zoom in to mouse pointer' option (def = yes)
2017-08-02 09:18:45 +03:00
Garux 87d5b6efe5 menus...
* view->show: +Entity Names = Targetnames (option to draw targetnames, not classnames; def = no)
2017-08-02 09:17:58 +03:00
Garux 804c20949d Q3map2:
* _setmaxstdio(2048) for windows
	* game_qfusion update

Radiant:

misc...
	* wrap long command lines in build menu -> customize
	* map info dialog: + Total patches, Ingame entities, Group entities, Ingame group entities counts
	* fix: map info dialog -> sort by count works
	* fix of: minimize main wnd, close, start = cam, cons, texbro null size
2017-08-02 09:15:41 +03:00
Garux 89c4e25e26 Radiant:
misc...
	* fix: update projections on prev/nextleakspot
	* use active projection for prev/nextleakspot tracking
	* fix of: no redo available after ( nothing selected + M1 click ) in 2D
	* fix: nudge left, right, up, down commands work in scale, rotate, clipper manipulator modes
	* deprecated 'Disable system menu on popup windows' preference, was doing nothing
	* preference: Nudge selected after duplication (def = no)
	* preference: Left mouse click tunnel selector (def = yes)
2017-08-02 09:15:07 +03:00
Garux 2455e50d72 Radiant:
misc...
	* fix: mixed up 'Up' & 'Forward' mouse strafe options
	* mouse strafe options: old 'both' one with inverted forward, None


	fix: QE tool: alt + m1 + ctrl drag : verts weren't snapped (since not component mode)
	fix: QE tool face drag + ctrl: no snap
	fix: ctrl snap on drag + shift constrain to axis: excess snap on not dragged axis //some coord e-17
2017-08-02 09:14:33 +03:00
Garux d079351041 Radiant:
binds...
	* QE tool: alt + m1 drag in primitives mode:
		click on vertex location = quick vertices drag (unlimited selection depth)
		click outside = brush faces shear
misc...
	* load (aka 'search') tags on m1 dbl click
	* fix Doom3 crash in FilterAreaportals filterbar button
2017-08-02 09:13:52 +03:00
Garux 0709fce07d Radiant:
binds...
	* m1 + ctrl drag: snap bbox during manipulators manipulations:
		drag axis, freedrag: snap bbox edges to grid on dragged axes; allows more varied snappings, then SnapToGrid command
		scale axis, scale free: snap bbox size on scaled axes to grid

misc...
	* QE tool in a component mode: perform drag w/o hitting any handle too
2017-08-02 09:13:12 +03:00
Garux f79ac495d0 Radiant:
misc...
	* fix: texBro & tags treeviews scroll focus follows folder selection; (text search shortcut is ctrl+f on windows)
	* fix: detached tags menu appearence
	* new icon
2017-08-02 09:12:17 +03:00
Garux 3a78d90201 Radiant:
binds...
	* m1 + shift drag: snapped modes of manipulators:
		freedrag: constrain to axis with biggest move amount
		rotate axis: snap to angles, multiple of 15'
		scale axis: scale all axes synchronously
		scale free: scale axes with non zero drag synchronously (i.e. two visible ones in projection views)
misc...
	* fix: CameraFreeMoveUp, CameraFreeMoveDown shortcuts are editable
	* prism, cone prefabs: increased precision
	* fix: out of pivot rotating is active from start, no additional magic is needed for that
	* fix: could lock (but not set) transform origin in non-pivoted mode
	* arbitrary rotation dialog allows decimals
	* fix: grid rendering with ToggleGridSnap off
	* fix of: scale tool scale, locked to 1 for things w/o bbox with bigger grid (e.g. single misc_model)
		(snapped drag start was = 0, scale func depends on initial click point: closer to center = more extreme scaling)
	* fix: make detail / structural are undoable
	* default autosave period: 5 -> 15 minutes
	* texBro option: hide nonShaders in common folder; def = yes; are shown, if are in use
2017-08-02 09:10:43 +03:00
Garux c845c5cd8f Radiant:
binds...
	* Tab: focus camera on selected

menus...
	* Modify->Nudge:+ Nudge +Z, Nudge -Z

misc...
	* improvement of: Scale tool: now scales bbox by gridsize increment
	* snap transform origin for rotate 90' commands, if one is not custom (is good to stay on grid)
	* 2d camera icon in ZY, ZX views represents yaw aswell
	* M3 camera direction control: disabled snapping
	* M3 camera direction control: affect yaw instead of doing pitch > 90' in ZY, ZX views
	* fix of: ctrl+m3 in 2d, release ctrl, then m3: m3 drag works like with ctrl pressed
	* removed 2 buttons mouse option: was only affecting m3 camera control binds
	* fix of: press any modifier (ctrl/shift/alt) + any mouse, release modifier, then mouse = chase mouse broken
	* removed 'Right Button Activates Context Menu' preference
	* brushExport plugin, prtview plugin, bobToolz::Polygon Builder, about, textures reset, messagebox windows live on top of main window
	* removed 'Update views on camera move' option: camera icon updating is enough quick
	* fix: bobToolz::split patch rows+columns - works if rows = 3 ( clos and rows were mixed up in general )
	* entitySetColour, entityNormalizeColour are undoable
	* bobToolz::splitPatch commands place result into parent entity (worldspawn or group one)
	* bobToolz::mergePatches places result into last selected patch's parent entity
	* bobToolz::mergePatches: remove left empty group entities
	* SelectAllOfType works for group entities, whose brush(es) are selected (no parent node selection needed).
		Algorithm is: get [ent inspector's keyName field(if visible) or classname]'s keyValues of selected ents ('no key' counts, as property, too);
		Then select ents with according keyName+keyValues; Worldspawn is omitted;
		Otherwise (nothing or worldspawn selected) select primitives, holding selected texture;
		in 'Faces' component mode = select specifically faces, holding selected texture;
	* SelectAllOfType selects child primitives of group entities
	* ExpandSelectionToEntities works for worldspawn entity too
2017-08-02 09:09:58 +03:00
Garux 322b0c2ee4 Radiant:
misc...
	* shader editor lives on top of main window
	* csg tool: 'active projection' exclusion method instead of axis selection
	* csg tool: new 'selected faces' & 'cam direction' exclusion methods
	* new active projection dependent commands MirrorSelectionHorizontally, MirrorSelectionVertically,
		RotateSelectionClockwise, RotateSelectionAnticlockwise + toolbar buttons
2017-08-02 09:09:20 +03:00
Garux de5fcea336 Radiant:
binds...
	* ctrl+tab (nextview cmd) = center on selected in 4 views layout

misc...
	* quick method of rendering camera icon (w/o rerendering the scene) = great speedup for camera moves
	* fix: center on selected cmd works in floating views layout
	* projections are switchable in floating views layout
	* defaulted 'mark active view by outline'
2017-08-02 09:08:43 +03:00
Garux 5a8c27d93c menus...
* view->show: toggle crosshair, size, grid are check menu items
	* view->show: +Show Light Radiuses toggle
	* view->show->show stats makes effect immediately
	* view->show fix: check menu items are sensitive to changing options via shortcuts

misc...
	* option to disable main toolbar
	* removed bobtoolz caulk selection button; filterbar one does the job better
	* filterbar: + region set selected button; rightclick = region off
	* filterbar: + hide selected button; rightclick = show hidden
	* SelectionSystem option: prefer point entities in 2D views (def = yes)
	* filterbar: indicate region, hide states by buttons states
	* fix: region compiles (run build with region enabled = compile regioned part only)
	* solid selection boxes by default (m_bNoStipple)
	* always use stipple for stuff behind stuff in 3d (was dependent on m_bNoStipple)
	* del unused ChooseSmallGridMajorColor ChooseSmallGridMinorColor preferences pipeline
	* fix: Active View Name and Outline... Clipper... colors saving
	* fix: ChooseCameraSelectedBrushColor changes the color (requires restart)
	* fix: ChooseSelectedBrushColor preference saving (requires restart)
	* fix rubberband selector appearence in 2D with 'show window outline' option enabled
	* multiple projections layouts: activate a projection on zoom
	* multiple projections layouts: added wnds updates to correctly indicate active projection (via wnd outline and projection name)
	* draw projection name is independent from show coordinates option
	* multiple projections layouts: greyscale axes in inactive views
	* 'show coordinates' is disabled by default
	* quick (hacky) method to render things, indicating viewport being active or not (axes, view name, wnd outline)
2017-08-02 09:07:44 +03:00
Garux cac514541c Radiant:
binds...
	* F12: maximize main wnd view under cursor
	* ctrl + t: patch thicken
menus...
	* simplified curve menu
misc...
	* square option in exact patch creators (= redisperse rows + cols)
	* axis option in patch deform dialog
	* spinner instead of entry in: patch deform, thicken; brush prism, cone, sphere, rock dialogs
	* maximized brush cone prefab sides limit
2017-08-02 09:06:50 +03:00
Garux e7c45da823 Q3map2:
* code fixes
	* packer: !FAIL! msg for missing ingame resources, ~fail for the rest
	* bumped stack size to 4Mb to fix crash for huge skies, using old shaders with fairly useless q3map_surfacelight + q3map_lightsubdivide < 999 combo


Radiant:

binds...
	* F5: run first in the list or recently invoked build option
	* F11: fullscreen

misc...
	* opening *.map, sent via cmd line: enabled for non win32 too
	* fix: textures find/replace wnd better default pos, size
	* fix: crash in CSG::Subtract
	* fix crash: main wnd maximized + 'start on primary monitor' off + monitors > 1
	* correct save/restore of main wnd pos/size and maximized/fullscreened states
	* scale widgets consistently along with main wnd, while using regular layout
2017-08-02 09:06:17 +03:00
Garux 0d5ebb17b2 Q3map2:
fix compilation on linux
	* packer: pack actual loaded bsp instead of one, found in vfs

Radiant:

binds...
	* Q - toggle QE/Scale tools (MouseDragOrScale command)
	* new MouseRotateOrScale command
	* shift + m3: set custom transform/pivot origin in pivoted mode
		switch manipulator mode = disable
		is snapped to (if SnapToGrid is on):
			grid
			selection bbox edges
			selection bbox origin

misc...
	* Scale tool: now scales bbox by gridsize increment
	* m1 selector fix: shift/ctrl + m1 drag, release shift/ctrl, release m1 = replace brush selection
	* m1 selector fix: do not select when dragged off pivot in pivoted mode
	* don't restore cursor pos after quit mlook (do center)
	* toggle and paint selectors do select matching stuff (depth threshold ~= 0.1 u)
2017-08-02 09:04:48 +03:00
Garux fa294e4215 Q3map2:
* do not delete q3map2_*.shader on minimap generation


Radiant:

misc...
	* fix: crash in CSG::BrushDeleteSelected
	* fix: crash in Brush::windingForClipPlane
	* disabled snapping of transform/pivot origin
2017-08-02 09:04:00 +03:00
Garux e8686a54bf Radiant:
binds...
swap paint and rect selectors:
	* M1 click: tunnel selector
	* shift + m1 drag: paint objects selection
	* ctrl + m1: select brush face
	* ctrl + m1 drag: paint faces selection
	* shift + m2: tunnel selector
	* shift + m2 drag: rectangular toggle selector
	* ctrl + m2: tunnel face selector
	* ctrl + m2 drag: rectangular selector of brush faces
	* alt + m2 drag: 2d zoom in/out
	* ctrl + m1: quick clipper mode (quits one after split done)
2017-08-02 09:03:25 +03:00
Garux fab6205991 Radiant:
binds...
	* M1 click: tunnel selector
	* shift + m2 drag: paint objects selection
	* ctrl + m1: select brush face
	* ctrl + m2 drag: paint faces selection
	* shift + m2: tunnel selector
	* shift + m1 drag: rectangular toggle selector
	* ctrl + m2: tunnel face selector
	* ctrl + m1 drag: rectangular selector of brush faces
	* alt + m2 drag: 2d zoom in/out
	* ctrl + m2: quick clipper mode (quits one after split done)
2017-08-02 09:02:58 +03:00
Garux 09b97bb415 ctrl+m2=clipper 2017-08-02 09:02:12 +03:00
Garux 4616fea08c ctrl=face selector m2=cycle 2017-08-02 09:01:50 +03:00
Garux 91f0982380 m1 selector more 2017-08-02 09:01:31 +03:00