Commit Graph

196 Commits

Author SHA1 Message Date
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 5c48131eba * rectangular selector gestures, enabling select, deselect and toggle behaviors 2018-07-23 16:25:32 +03:00
Garux bbc691a07b * more robust open/save/import dialog path handling (could crash by opening file w/o extension or with illegal one)
likely fix for extensions in uppercase in OSes with case dependent FSes
2018-07-21 22:12:51 +03:00
Garux a13ad776b4 * fix group entities name position with origin key used 2018-07-21 22:05:31 +03:00
Garux 9643c53990 * picomodel: fix parser->curLine for line number report (was increased twice) 2018-07-18 22:01:08 +03:00
Garux b12ecc838b picomodel: white default color of fm, md2 (was one white and rest black)
unified picoColor_white
2018-07-18 14:53:15 +03:00
Garux 47ef9a6ae2 * picomodel::obj: fix black default vertex color, also use one from .mtl 2018-07-14 20:52:17 +03:00
Garux f83dc2e891 * use external textures mipmaps generation, draw NPoT textures correctly 2018-07-10 00:54:35 +03:00
Garux 6f8a0668a3 add and use VolumeTest/View.getViewDir() 2018-05-18 01:55:20 +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 813cd70fd3 add vector3_max_abs_component_index, vector3_min_abs_component_index functions 2018-05-14 22:35:31 +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 3ae4188e3d simplify planeselectables if( camera ) check 2018-04-13 00:14:32 +03:00
Garux 48d75b777d * brush creation in camera; alt = modify height 2018-04-06 12:26:06 +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 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 a02c1312c4 try to increase precision of matrix transform vector operations 2018-03-08 16:57:47 +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 74e101c7ba * fix and improve light power adjusting by mouse drag 2018-03-01 17:02:17 +03:00
Garux eae7ac024a clean namedentity, forward declarations, ostream_write 2018-02-22 18:56:53 +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 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 78db33ff4a * fix crash, if renaming tag w/o shaders assigned 2018-01-16 14:40:16 +03:00
Garux 14ee12354d * new manipulator, applying skew transform 2018-01-11 14:20:05 +03:00
Garux e7b4a4fad2 add class Matrix4 commentary 2017-11-27 14:05:09 +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 0dfdf77c18 rename 'supported formats' in open to 'all supported formats' 2017-10-02 18:37:40 +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 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 fb4c1beb49 * fix FreezePointer in linux with custom input coordinate tranformation and in win10 2017-08-08 18:30:55 +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 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 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 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 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 62ccd942e5 Radiant:
misc...
	* oranje names for group entities, having childrens selected (also no distance cull in cam for those)
2017-08-02 09:38:53 +03:00
Garux 6a7758012d Radiant:
misc...
	* fix: noninitialized lightradii, if light value is not set (example: lightjunior)
	* light power is adjustable by mouse drag
2017-08-02 09:37:10 +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