patch controls move modifiers: shift = only move along the axis with the biggest move, ctrl = snap hard to grid and povit lines
fix a couple of Patch::Calculate_AvgNormal() and Patch::NaturalTexture() problems
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
* brushexport plugin fix: invert Y during YZ swap; invert V of UV coords (correct texturing)
* brushexport plugin: default to 'Don't collapse' option
q3map2: * obj export: save in popular 'Y = Up, -Z = Forward' format
* picomodel::obj: load as popular 'Y = Up, -Z = Forward' format
* picomodel::obj: fix support of back references in faces
Loading Wavefront OBJ models in picomodel (used by radiant and q3map2)
did not reset the surface vertex index when starting a new surface. This
caused there to be unused vertexes, equal to the number of vertexes in
all previous surfaces, at the beginning of each surface. Exponential OBJ
vertex memory usage as number of surfaces increases. It did not affect
displaying or processing the surface faces.
name w/o path: assume textures are in the folder, where model file is
absolute path or with ..: try to cut at "/models/" or "/textures/" (as if leading to game folders); do previous case, if not
strip extensions and turn slashes to forward ones anytime
* picomodel::obj: fix diffuse map paths loading from .mtl
draw condition relies on entity.getKeyValue, which also provides default values; thus removed default "0" for all group entities in .def loader
mind to add entity.getOnlySpecifiedKeyValue func or perform by visitor?
* 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)
* 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
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
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
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
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
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
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)
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
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
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
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
binds...
* Tab in freelook: smooth turn around selected, while focusing on one
misc...
* activate key_press_handler before special_key_press_handler to allow CameraFree* commands, bound to special (gtk: !accelerator_is_valid) keys
* update workzone on partial deselecting too (was updating only on adding to selection)
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)
* 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)