Commit Graph

61 Commits

Author SHA1 Message Date
Garux 0831e0966d Replace GDK_<keyname> with GDK_KEY_<keyname> 2020-05-19 21:15:11 +03:00
Garux a0a47640b0 * new rendering system for volatile text
(symbols rendered to atlas texture)
deliver position via glRasterPos + glGet GL_CURRENT_RASTER_POSITION to avoid adding calculations of screen coords in many spots
solves problem: pango 1.44 switch freetype->harfbuzz = bitmap fonts aren't available, in particular no gdk_gl_font_use_pango_font()
text is rendered from font bottom (was from baseline)(latter is wanted less often)
wgl bitmap<->pango sizes do not match, thus realign all text positions, increase default font size
make 2D axes labels, view type text, sizing info adaptive to font size
#24
fixes #42
2020-05-14 07:51:34 +03:00
Garux fa2a179fd5 fix memory leaks in texture browser::tags functions 2020-05-05 23:36:48 +03:00
Garux d48ce73d01 reset texture browser origin on directory loading 2020-05-04 20:52:48 +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
Garux 56ecc1b0a5 reduce texwindow.h inclusions 2020-04-04 19:39:57 +03:00
Garux 34e9b522b7 * shader editor: support files with crlf line feeds in linux
preserve line feeds on saving
			indicate 'modified' state by save button and window name
			view shaders from packs too (read only)
			refactor
2019-11-09 15:13:59 +03:00
Garux 6c9870f941 * workaround gamma bug in 2D views and texture browser with fresh nvidia drivers 2019-08-31 12:22:47 +03:00
Garux 04b4f5fb1d simplify TextureBrowser Texture_Draw() 2019-07-05 19:30:43 +03:00
Garux 0aa711ef74 better move amount measurement logic for m2 = texbro scroll or tags condition 2019-03-14 21:19:15 +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 c3a110bf2c fix old mipmaps code: tex size could be = 0 2018-07-10 01:13:47 +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 24c02facb2 refactor status text, status labels 2018-05-31 16:16:47 +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 cf580963c2 more globalWarningStream() globalErrorStream() use 2018-03-21 16:06:22 +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 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 f91df90d58 remove const_cast hack and memory leak in 'load doubleclicked texture's directory' 2018-02-04 19:38:08 +03:00
Garux 78db33ff4a * fix crash, if renaming tag w/o shaders assigned 2018-01-16 14:40:16 +03:00
Garux fd04e52a06 * disable MSAA in Texture Browser, even if forced via driver 2017-12-20 15:57:44 +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 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 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 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 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 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 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 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 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 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 173f350be7 Q3map2:
* fix crash with nonpthreads xmllib + multithreading + output to system console
	* number of code fixes
Radiant:

misc...
	* fix: clone group ent / map import / saving map as : group ents name labels at 0,0,0;
	* number of code fixes
2017-08-02 09:00:11 +03:00
Garux a62c7302d3 Radiant:
misc...
	* texbro: disable alpha transparency by def; isn't good in half of cases
	* find/replace: tooltip helper note about search mode
	* Entity: arrowheads, showing direction of connection-lines in addition to color-code; New algorithm: are visible in all orthogonal projections
	* tweak: do not render 'misc_model' & 'light' entity names
	* filters: patches: +filter ones with surfaceparm playerclip
	* translucent filter also works for shaders with qer_alphafunc
	* filter areaportal, if single face matches (allows case with other faces, using 'skip')
	* filter translucent, if single face matches
	* filter liquids by surfaceparm {water, lava, slime} in addition to textures/liquids path
2017-08-01 14:28:28 +03:00
Garux 7ca59bef0a Radiant:
misc...
	* CSG Tool
	* fix: texbro: blured stipple with green and red borders
2017-08-01 14:26:18 +03:00
Garux 6592d65469 Radiant:
misc...
	* made shaderplug msg to look not like error (but barely noticeable)
	* removed Texdef_FitTexture copypasted code
	* ctrl+shift+mouse strafe mode: moving mouse forward moves camera forward, back - back
	* add map to recent ones on SaveMap (instead of doing that in 'open by cmd line': spoils the list)
	* fix: spin buttons alignment in patch inspector
	* fix: patch inspector window pos save/restore during run time
	* removed console, texbro buttons in regular layout
	* ent inspector: saving window splits pos in non regular layouts
	* ent inspector: saving lower split pos aswell
	* ent inspector: fix of: minimizing part behind middle to 0
	* saving find/replace wnd pos; bringing ontop, if is (present + called)
	* moved 'find unique name for' output to _DEBUG
	* fix of 'GLib-CRITICAL **: Source ID was not found when attempting to remove it' in buid monitor timer
	* fix: build menu customizing: command field is reachable right after creating new entry
2017-08-01 14:25:41 +03:00
Garux 9d6e27e4e3 Radiant:
misc...
	* fix: texbro m2 drag in 2x2 layout
	* fix: crash in (texbro + freezePointer)
	* fix: all sorts of problems with freezePointer drags near widget borders
2017-08-01 14:25:00 +03:00
Garux b017c473e8 Radiant:
menus...
	* help+: Blendmodes cheatsheet
misc...
	* fix treemodel Clang compilation
	* fix: 1x1 textures crash and appearence
	* fix of: create func static in non doom3 gametype = group entity w/o objects
	* merged tex bro textures borders; stipple indicates shaders
	* realigned tex bro text, so one doesn't collide with textures borders
	* fix of texture focusing in tex bro
	* grayscale RLE TGA support
	* unsupported Doom 3 entity keys: popup->log warning
	* patch inspector: +flip texture buttons
	* disabled texture lock by default (confuses novices, suddenly)
	* added MeshTex plugin src to project, compiled, fixed (works now-)
2017-08-01 14:23:38 +03:00
Garux f6b9708d07 Radiant:
binds...
	* tex bro: left double click loads directory, containing active shader + focuses on it
		right double click loads 'common' directory
misc...
	* shader editor gets focus after been hidden behind main window and called again
	* patch thicken: significantly more fail safe; correct handling of cycled patches
	* fix: was parsing vfs twice; pk3s were being opened twice during runtime
	* fix: shortcuts work after startup (plugins bar buttons were stealing focus)
2017-08-01 14:07:22 +03:00
Garux 86023af46c Radiant:
misc...
	* local gtk2 themes support; cfgs are .gtkrc-2.0.radiant, .gtkrc-2.0.win; +~100 themes included;
		MS-Windows theme is one, inheriting current appearence on Windows
	* GTK2 theme & font selector (Misc->Colors->Gtk theme...) (need restart after pair of naughty engines tho)
	* openGL implementaion of rubberband selector (w/o rerendering whole scene) (fixes visual issues with Aero)
2017-08-01 14:06:41 +03:00
Garux 2de8ee725b Radiant:
misc...
	* fix of 2.24 related: minimize floating window = whole app minimizes + can't restore
	* fix of 2.24 related: glwidgets inside floating windows were not shown after hide/show of parent widgets
	* tex bro: menubar = toolbar
2017-08-01 14:06:00 +03:00
Garux 6f51c7f28d Radiant:
misc...
	* filter toobar buttons also handle right mouse clicks:
		caulk: apply caulk tex
		clip: toggle apply clip/weapclip tex
		hint: toggle apply hint/hintlocal/hintskip tex
		triggers: apply trigger tex
		liquids: toggle apply watercaulk/lavacaulk/slimecaulk tex
		areaportals: toggle apply nodraw/nodrawnonsolid tex
			shader names are configurable through respective shader_* keys in .game file
		details: make detail
		structural: make structural
	* png icons with real alpha; partially antialiased
2017-08-01 14:03:16 +03:00
Garux 23d2497f12 Radiant:
binds...
	* texbro: left double click loads directory, containing active shader
	* texbro: left triple click loads 'common' directory
misc...
	* updating texture browser height after thumbnail scale, min/max size, show shaders options changed
	* tex bro: show textures option (to leave only shaders)
	* tex bro: Show all (ctrl + a) toggles 'Hide unused' (typically: ctrl+a: get all used, once more ctrl+a: get all loaded)
	* tex bro: 'flush and reload shaders' autoloads last selected dir
	* tex bro: show alpha transparency option; def = yes
	* tex bro: white+black stipple around shader thumbnails + is visible, while being selected
	* filter toobar is not part of plugin one
2017-08-01 14:00:58 +03:00