Commit Graph

82 Commits

Author SHA1 Message Date
Garux 4cbe05a25c bump EntityClass MAX_FLAGS to 32
#150
closes #82
2023-09-18 22:42:41 +06:00
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00
Garux f61e0dcb67 * view->filter->sky: Q3 shader based skies (skyParms keyword) 2022-07-18 18:28:56 +03:00
Garux d3e48d8c31 * render Q3 shader based skyboxes
logic: load 6 skybox textures when shader gets used by scene, don't unload dynamically, just on 'flush'
texture browser only uses normal preview image and doesn't trigger potentially heavy box loading
also fix R_ResampleTexture for [2+x upscaling
2022-07-18 10:05:19 +03:00
Garux f366f6cc6e double precision plane points in _QERFaceData 2021-11-23 15:11:43 +03:00
Garux b0b997e493 manage stl includes 2021-10-31 12:38:53 +03:00
Garux bf6389fc26 use #pragma once 2021-10-22 02:19:50 +03:00
Garux 71c72527af refactor tokenizing 2021-10-06 23:37:12 +03:00
Garux b58408344c Q2 optional brush face flags in BP, 220 mapformats 2021-08-24 18:55:34 +03:00
Garux f0c393fcbf remove __attribute__ ((unused)) uses 2021-08-19 23:14:18 +03:00
Garux aa4f3a1f72 reduce the use of GSlist
Quake3FileSystem::forEachFile: avoid double extension check, support "*", as advertised
2021-08-19 12:28:56 +03:00
Garux 6c00419653 fix spelling 2021-05-24 20:23:09 +03:00
Garux da98f5f9d9 add and use Entity::getClassName(), Entity::hasKeyValue()
do not return default value from getKeyValue()
2021-05-16 10:13:42 +03:00
Garux 5008fa278f simplify TYPE_CONSTANT code 2021-03-25 21:59:31 +03:00
Garux 60652a335f remove empty .cpp of header libs 2021-03-24 01:20:05 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux 4ce944444d rewrite q3map2 math in c++ 2021-02-25 19:41:43 +03:00
Garux cc1f7ecd76 * new filter: Point Entities (nongroup entities besides misc_models and lights) 2020-06-12 20:41:27 +03:00
Garux ef2fdfa127 make bestPlaneDirect, bestPlaneIndirect const 2020-05-05 19:49:01 +03:00
Garux 7ae79b263d minor refactoring 2020-04-28 08:30:25 +03:00
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 1e0f7ba781 tweak VIEWTYPE related code 2019-08-29 00:41:40 +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 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 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 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 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 74a3da969c * ctrl + r: clone stuff and repeat recent transforms; clipper tool toggle resets transforms stack 2019-01-18 15:00:06 +03:00
Garux 9a2886e624 add build tool skeleton; does nothing, button is hidden 2018-12-10 23:01:09 +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 afdf2a76e0 make Scene_BoundsSelected lazily evaluatable 2018-08-19 16:40:48 +03:00
Garux ed151906bd * bindable commands EntityMovePrimitivesToLast, EntityMovePrimitivesToFirst, EntityUngroup, EntityUngroupPrimitives 2018-06-24 21:25:53 +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 6f8a0668a3 add and use VolumeTest/View.getViewDir() 2018-05-18 01:55:20 +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 26b2065350 refactor SelectionIntersection 2018-05-14 22:31:37 +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 45a38ae48e * introduce globalWarningStream() 2018-03-15 01:18:16 +03:00
Garux eae7ac024a clean namedentity, forward declarations, ostream_write 2018-02-22 18:56:53 +03:00
Garux 14ee12354d * new manipulator, applying skew transform 2018-01-11 14:20:05 +03:00
Garux bd28ec81f7 * View->Show->Entity Connections option 2017-10-27 23:32:29 +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 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 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 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 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 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 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