Commit Graph

70 Commits

Author SHA1 Message Date
Garux 6bfa626a38 fix ubuntu build, suppress spammy warning there 2022-10-27 10:30:27 +03:00
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00
Garux 58b440b6aa * fix: don't increment target/names on file.import 2021-12-08 13:40:28 +03:00
Garux 1f7d0250b0 * fix: don't rename target/names without numeric suffix on paste to non clashing namespace 2021-11-24 18:00:37 +03:00
Garux 4016d64859 use std::chrono::steady_clock timer 2021-11-03 19:43:44 +03:00
Garux 522f6f907e rename cmdlib and imagelib to fix name clashes 2021-10-31 14:13:02 +03:00
Garux da98e8fde3 various code cleanups 2021-10-30 16:04:31 +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 b6d60fb17c add and use path_extension_is() 2021-10-03 17:13:12 +03:00
Garux 02a3b9c026 use ostream_write( CopiedString ) 2021-09-18 15:30:11 +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 dc5dea6d21 delete copy constructors and assignment operators explicitly 2021-03-24 15:48:29 +03:00
Garux 2222100316 indent classes, align by spaces 2021-03-24 00:25:15 +03:00
Garux 8b204ac054 add and use class PathExtensionless 2021-01-21 15:15:07 +03:00
Garux 0140da6e72 only #include <gtk/gtk.h> 2020-05-21 16:27:17 +03:00
Garux 0831e0966d Replace GDK_<keyname> with GDK_KEY_<keyname> 2020-05-19 21:15:11 +03:00
Garux 7ae79b263d minor refactoring 2020-04-28 08:30:25 +03:00
Garux 06cd1e98ff * Model Browser: default bind '/'
m1 = assign model to selected entity nodes (shift + e to select nodes of group entities)
		m1x2 = insert "misc_model" with given model
		m1 drag = rotate model
		Preferences.Model Browser: list of * separated folderToLoad/depth values, e.g. *models/mapobjects/99*maps/1*; */99* loads root
2020-04-26 07:28:23 +03:00
Thomas Debesse 66e6781c9b use Instance_isSelected() function 2020-03-03 02:00:15 +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 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 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 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 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 645c2f479c comment out Scene_parentSelected() codes 2018-06-24 19:24:16 +03:00
Garux 6b8a1980af * add statusbar->patches count 2018-05-31 12:38:43 +03:00
Garux 66197713a5 simplify ParentSelectedBrushesToEntityWalker
add comments to EntitySetClassnameSelected
2018-05-24 21:37:39 +03:00
Garux cf580963c2 more globalWarningStream() globalErrorStream() use 2018-03-21 16:06:22 +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 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 b4d81fac21 * close Map Info dialog by ESC 2017-12-15 03:24:42 +03:00
Garux 3426be50bf * fix: reset hide button on Map_Free() 2017-11-11 11:52:08 +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 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 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 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
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 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 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 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