Commit Graph
69 Commits
Author SHA1 Message Date
vld_voiculescu 8ebe37083a add more improvements 2026-06-21 22:12:04 +03:00
Garux 5b380fd6fe remove explicit float literal specifiers 2025-11-02 01:27:42 +05:00
Garux 37c7ff934c remove makeQuoted, use Quoted directly 2025-10-06 22:52:30 +05:00
Garux 66e15e9ba0 minor tweaks 2025-09-23 02:45:24 +05:00
Garux 86d08f9e93 use std::array for PlanePoints 2025-09-07 18:20:13 +05:00
Garux d7f3e9bd3f minor tweaks 2025-09-04 16:01:47 +05:00
Garux 5426732f28 minor tweaks 2025-09-02 05:04:33 +05:00
Garux fba4000c66 don't filter empty brushes by filter_brush_all_faces
case: CSG Intesect: Failed: empty brush deleted = filtered, also after undo
Optimize filter_brush_all_faces, filter_brush_any_face by leaving loops ASAP
2025-04-02 21:37:00 +05:00
Garux 607d4c67ad tweak formatting 2025-02-05 15:59:29 +05:00
TimePath b65f27b166 Callback: cleanup 2025-01-22 14:57:22 +05:00
TimePath 57c8189225 Callback: remove fixed-arity wrappers 2025-01-22 12:39:14 +05:00
TimePath d71556d1de Embrace lambdas 2025-01-21 18:54:52 +05:00
Garux b3ff10b287 * add prefs->Build->Region Box Shader (shader to use on the box generated around region) 2024-12-18 08:22:00 +05:00
Garux bf579cc278 * ctrl + shift + u: CSG Intersect 2024-02-11 21:19:19 +06:00
Garux df02774ff5 tweak StringOutputStream use
auto str = StringOutputStream()(bla) use form was not doing copy elision or move, but copy
2024-01-29 16:54:08 +06:00
Garux 69a3a4f829 * brush.cone result respects original brush bounds and is currect projection dependent 2023-08-21 17:17:11 +06:00
Garux a351b63868 add "textures/skip" to caulk filter for Q1 2023-02-03 21:21:23 +06:00
Garux 0678e842b2 improve Surface Inspector consistency
was showing shader of last selected brush, texdef of 1st
now shows properties of single primitive
at 1st tries to show last selected primitive to be responsible to selection
prefers brushes over patches as general rule
2022-10-28 21:00:55 +03: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 6c129e546f store winding points in double precision 2021-11-23 14:48:00 +03:00
Garux 0c390241c8 fix formatting 2021-10-26 18:16:24 +03:00
Garux 512d14736c * region build: widen temp box to handle small volumes, light entities at the edge and flat primitives
* region build: pull temporal respawn to the box instead of error
2021-10-21 04:48:54 +03:00
Garux 8cc464014e improve Brush_ConstructPrism() readability 2021-07-11 16:30:48 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux 8b460b5318 * brush.icosahedron.truncate option 2020-12-14 08:46:36 +03:00
Garux e1a145c234 remove excess (GdkModifierType) casts 2020-05-19 21:40:52 +03:00
Garux 1e0f7ba781 tweak VIEWTYPE related code 2019-08-29 00:41:40 +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 adc6adf50e delete duplicate code, enable search in find/replace dialog in selected in component mode 2018-11-23 16:50:27 +03:00
Garux c611be157a * also filter "textures/common/donotenter" by Botclips filter 2018-11-01 02:24:12 +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 7908a2b593 simplify TextureBrowser_GetSelectedShader, TextureBrowser_SetSelectedShader usage
assuming, that we have only TextureBrowser
2018-08-03 17:32:57 +03:00
Garux f0057a86f4 * bindable commands FitTextureWidth, FitTextureHeight, FitTextureWidthOnly, FitTextureHeightOnly 2018-06-24 13:14:54 +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 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 48d75b777d * brush creation in camera; alt = modify height 2018-04-06 12:26:06 +03:00
Garux 552d0ac083 bind * shift + n: brush texture reset + patch texture cap 2018-03-04 17:37:28 +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 81cc314ff5 * support q1 liquids filtering with entities="quake" in .game 2018-02-21 14:58:41 +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 a5865dce55 * entity based structural/detail filters for entities="quake" in .game 2018-02-01 13:34:58 +03:00
Garux 723a615110 * texture locking during vertex and edge manipulations 2017-12-06 13:57:40 +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 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 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 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 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 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