Skip to content

Releases: Garux/netradiant-custom

Latest Build

14 Jan 15:52

Choose a tag to compare

Commits

  • ceb906c: fix custom shader writing when scripts/ folder does not exist (Garux)
  • 1297251: fix group entities with origin broken in 1d441d5 (Garux)
  • 182dff7: * more robust deduction of triangle for texture alignment during bsp to map decompilation (Garux)
  • 182dff7: * more than ten times faster bsp to map decompilation (Garux)
  • 0cbdfc2: non monitored 'run engine after compile': set CWD to make some engines happy (Garux)
  • cc036b6: "system/origin" for decompiled origin brush in sof2, ja, jk2 (Garux)
  • c8831a4: AppImage linux autobuild (Garux)
  • 8171593: * move -brightness/q3map_lightmapBrightness application to the end to match r_mapOverbrightBits effect when other adjustments like -gamma or -exposure are used (Garux)
  • 3f177cb: write .minimap file for unvanquished (Garux)
  • a7545a9: * .webp image format support (Garux)
  • b947396: * .dpk .dpkdir game archives support (Garux)
  • 3fe03e5: * .crn image format support (Garux)
  • 758837d: fix RadLightForPatch planar test (Garux)
  • 75a5402: * volumetric merge of triangles for model autoclip in axial backplane, max extrude modes (Garux)
  • 75a5402: * merge coplanar triangles for model autoclip in terrain, up, down modes (Garux)
  • 3fd9749: merge coplanar triangles for model autoclip in 'axial pyramid' mode (Garux)
  • 5cad61b: * Q3MAP2_EXPERIMENTAL_OFFSET_WINDING_CREATION for higher windings precision (Garux)
  • d26c1b4: * merge coplanar triangles for model autoclip in default, pyramidal, face normals, 45 modes (Garux)
  • 0bbd529: shader editor: write file in text mode for more expected newlines (Garux)
  • 43e2c42: fix script error line reporting on the 1st script line (Garux)
  • 198a915: make q3map_skyLight work w/o surfaceparm sky or q3map_sun (Garux)
  • 6e50678: fix PopulateWithBSPModel() oddly using modelscale and angles (Garux)
  • a2404a5: limit erroneous script files location reporting to script files (Garux)
  • b76a5e2: fix FloodAreas() stack overflow in extreme cases (Garux)
  • 2f69f99: fix LayerShowWalker unhiding all misc_models (Garux)
  • 968d36d: fix _skybox geometry being not scaled when _skybox area had other entities (Garux)
  • abadf52: * support separated _ambient, _color per group, misc_model entities (Garux)

20251023

23 Oct 08:20

Choose a tag to compare

Commits

  • 374c3fc: indicate model loading failure by nomodel.png
  • 4705d56: add ASSIMP_INTERNAL build option, use external assimp by default
  • 739bad8: * -format map_220: bsp to map of Valve220 format conversion
  • bf9d5c3: fix texture alignment deduction during bsp to map decompilation on bmodels with origin
  • 1285e9c: * fix AP texture alignment deduction during bsp to map decompilation
  • e919276: * -wtf: During bsp to map conversion use common/WTF on faces with failed texture alignment deduction
  • ee3ac80: * -modelclip: Decompile model autoclip brushes during bsp to map conversion (they are skipped by default)
  • e0ff456: * texBro.context menu: Select Textured Objects, Select Textured Surfaces
  • f7630df: * del: DeleteSelection3 as most expected deletion bind
  • eab5983: * support distinct lighting from different sky shaders in one map (by Tom Arrow)
  • eab5983: * -onesky: fallback to old behavior: any sky emits total of all suns/skylights in the map (by Tom Arrow)
  • 0094c59: * support mixture of monitored and unmonitored build commands (do unmonitored run after 1st such command)
  • 0094c59: * do Run Engine After Compile also after unmonitored builds
  • 10cfb24: * fix and simplify FloodAreas
  • 413eb84: * render camera crosshair sharply independently of viewport size, with shadow
  • 2501b86: * refactor to work without -maxshaderinfo limit, improve shader search performance
  • 1dc52f9: create patch prefabs inside selected entity, if applicable
  • de002ea: * Copy All in console context menu
  • c81c2b7: * improved GUI themes, new unmodified Fusion theme, external .qss file
  • eea78c3: * context menu for toolbar buttons configuration
  • 34f7fe7: * new icons by Julius, high dpi scaling support
  • a78a2e4: optimize UnsortedSet memory consumption and use it for selection tracking
  • 0c4fc84: * Layers Browser: New Layer, Show All Layers, Hide All Layers buttons
  • 1599d0a: * layers system (stored in comments of .map file)
  • 1599d0a: * View->Layers Browser (L)
  • 1599d0a: * Edit->Expand Selection To Layers (ctrl + q)
  • 1599d0a: * shift + q: move-to LayersMenu
  • 581dd79: * build menu.customize.build variables: are editable
  • c2cb339: * build menu.customize: drag and drop items; ctrl + drag = copy
  • 6aaaa7d: draw big light radii for linear lights, has more use
  • eed8c1b: * m2 in texBro: context menu
  • 71c7261: * shader editor: make Copy and SelectAll binds work in read only mode
  • 27b4ac9: * shader editor: Find, FindNext, FindPrevious OS dependent binds; Find fills search entry from selection
  • 222f155: * shader editor: save on ctrl + s

20250805

05 Aug 16:23

Choose a tag to compare

Commits

  • c812caf: menu * Entity->Reload Entity Definitions (Garux)
  • e4aaeaa: * .def .ent .fgd can be used simultaneously (removed entityclass="halflife") (Garux)
  • a9635db: fix fgd @include (only load once) (Garux)
  • 7888d59: Fix bounce lighting for styled lights (Tom) #243
  • a86bce5: fix vertex lights being broken on lightmapped surfaces for styled lights (Tom) #238
  • 5f77769: * bobToolz: new Aperture Door builder (Garux)
  • 05f3f66: snap angle, angles keys on transform to zero to avoid scientific notation in saved string (Garux)
  • fba4000: don't filter empty brushes by filter_brush_all_faces (Garux)
  • 251d8eb: * bobToolz::Vis Viewer add sortable leafs chart (visible leafs, surfaces, shaders) (Garux)
  • de09784: * handle patch lodbounds in -shift and -scale (Garux)
  • 28c17dc: UV Tool, surface inspector: better invalid projection handling (Garux)
  • b14dcff: * hide group entity node when all its children get hidden (Garux)
  • 079f07a: remove areaportal inside func_group warning (Garux)
  • e370745: add quakelive.exclude for autopacker (Garux)
  • 283198c: * fix tiny structural brushes breaking bsp tree (Garux)
  • dbb506a: * tighten FilterPatchIntoTree() regarding to even (pink) points (Garux) #227

20250216

16 Feb 14:13

Choose a tag to compare

Commits

  • 12faf99: * improve CSG Subtract results via more defined splits order (Garux)
  • 372bf08: * add bobToolz.explodeEntity: create group entity from each primitive of existing group entity (Garux)
  • da05702: * ctrl + shift + p: Shortcuts dialog (keyboard commands palette) (Garux)
  • 6e16d7e: menu * Modify->Repeat: saved transforms feedback and individual resets (Garux)
  • 2324823: consider Q2 .wal contents flags in makeDetail, makeStructural (Garux)
  • 07ae4b0: adjust Q3Radiant Original, QE4 Original themes grid for more distinct geometry (Garux)
  • 256bbfd: workaround poorly visible white lights on bright grid background (use eclass color) (Garux)
  • d107800: * Misc->Colors: add Model Browser Background control (Garux)
  • a3e6733: * Misc->Colors: add CameraIcon, AxisX, AxisY, AxisZ controls (Garux)
  • 870bdc2: * add Blender Lighter and Green viewports themes by Julius (Garux)
  • 063784e: * Misc->Colors->Viewports Theme: load from .json presets stored in install/themes/_colors/ (Garux)
  • de4ba78: menu * Misc->Colors display colors (Garux)
  • 59c0d22: bsp -info print flareCount if present (Garux)
  • d69589d: saveable build menu dialog window parameters (Garux)
  • da216c9: fix saveable window size management during the 1st run (Garux)
  • 2706964: make build menu presets tree scrollable, as fixed one might exceed screen height (Garux)
  • 887315d: fix build menu command paste (Garux)
  • f387ed7: * add alt + m1 selection style to transform manipulator for scaling in 3D (Garux)
  • 4ea3f36: don't deselect only primitive in a component mode by alt+m1, as this quits component mode (Garux)
  • e9c842f: do SelectionSystem highlights, manipulations and selections only with intended kb/mouse inputs (Garux)
  • d8290c4: * update SelectionSystem highlights, manipulations immediately onModifierDown(), onModifierUp() (Garux)
  • 193c3dd: fix texturing clipboard shader name on light entity data copy (Garux)
  • 1a895c1: prevent simultaneous mouse presses in SelectionSystemWindowObserver (Garux)
  • 3e1871d: improve 343cf73, force net send via dedicated thread loop (Garux)
  • c243592: shader manual: crosslink, improve (Garux)
  • a3742e3: shader manual: consistent indentation and alignment of shaders (Garux)
  • 4aedb78: tweak shader manual anchors (Garux)
  • 79b9b69: mbspc * decompile brushes with texinfo -1 ZHLT optimisation, deduce clip, AAATRIGGER, NULL textures (Garux)
  • d6cbd7e: mbspc: less crude HL_FixContentsTextures: fixes tex alignment on liquids (Garux)
  • fbf88ec: mbspc: write decent default map220 texdef (Garux)
  • a0288b5: mbspc: support bigger HL maps decompilation (+-16384 range) (Garux)
  • c20192e: mbspc: write entity numbers in decompiled maps (Garux)
  • b3ff10b: * add prefs->Build->Region Box Shader (shader to use on the box generated around region) (Garux)
  • c7fd44d: don't invalidate region bounds, while in region mode (by prefs application) (Garux)
  • 159a063: * fix surface inspector updates on patch texturing changes, on UV Tool edits (Garux)

20241217

17 Dec 04:41

Choose a tag to compare

Gamepacks

  • JKA/MBII mp_entities.ent by Frenz

Commits

  • dbcdb40: * fix deformvertexes autosprite2 on brushes and models (Garux)
  • 8403e07: fix bobToolz TreePlanter, DropEntity, MakeChain (Garux)
  • ff9aeaf: shader editor: add skybox template (Garux)
  • d425977: shader editor: fix completion collision of blendFunc blend with blend shader template (Garux)
  • 1ed93f7: tweak portal, alphagen portal documentation, completion (Garux)
  • 79f4357: mbspc * fix build speed penalty due to terminal output (Garux)
  • 7357b6e: rewrite ini reader/writer (Garux)
  • 2afef41: fix floating point errors (Garux)
  • c488aa1: * -globalflag : add surface flag to every bsp shader. Reusable, e.g. -globalflag slick -globalflag nodamage. (Garux)
  • 6cd9028: validate smartedit key values input, tweak entity key name, value validation interaction (Garux)
  • f9dd863: shader editor: fix typo, add 'compile time remap' template (Garux)
  • c166e42: * improved brush faces triangulation wrt degenerate triangles production (non -maxarea algorithm) (Garux)
  • e0169cd: * -nobrushsnap: disable brush vertices snapping (of drawsurfs) (experimental, keep eye on meta merge efficiency) (Garux)
  • 0145a3d: apply bevel surfaceflags unconditionally (Garux)
  • 6a89422: Load last map at startup by default (Garux)
  • 343cf73: force q3map2 net send if >1-2 seconds has passed for greater build monitoring responsibility (Garux) #221

20241031

31 Oct 01:02

Choose a tag to compare

Gamepacks

  • improved HL, Q2, Q3 (slickob) gamepacks
  • added Q2Rerelease gamepack

Commits

  • 958b99a: fix si->implicitImagePath extension presence vagueness added in c3437b7 (Garux)
  • 679ebd9: improve rotate-snap to align bbox axially as much as possible (Garux)
  • 1b0e573: fix "winding: index out of bounds" when highlighting brush components during undo/redo (Garux)
  • 1fe5016: * m1 drag + ctrl (Drag tool, 3D view): move-snap selecton bbox corner to pointed position in scene (Garux)
  • 811fcd6: confirmation dialog for reset all shortcuts (Garux)
  • cc2c170: shader editor: 4 chars tab size (was 80 pixels), update it on zoom, monospace font (Garux)
  • 7c0b080: enable menu.help.about.changelog (Garux)
  • a2bdefc: improve fgd.choices (Garux)
  • dce698d: fix linux build process monitoring (Vorschreibung) #205
  • 7b565c2: log to terminal on linux/macos (Vorschreibung) #199
  • f3ffdf9: support 16bit png loading in radiant (Garux)
  • 5daf2e2: * generate shaders to force nomipmaps flag on external lightmap images created by lightstyles and external lms hacks (Garux)
  • a3d438c: * adjust -light -trisoup to enable performance hack for games with low verts per lmed surf count (e.g. 64 in Q3): (Garux)
  • 6749261: * -maxshaderinfo : Sets max amount of shaderInfo, default = 8192 (Garux)
  • 20a9afc: * -maxmapdrawsurfs : Sets max amount of mapDrawSurfs, used during .map compilation (-bsp, -convert), default = 131072 (Garux)
  • 2721cca: untie PatchMapDrawSurfs() from MAX_MAP_DRAW_SURFS, was doing stack overflow when increased (Garux)
  • bf579cc: * ctrl + shift + u: CSG Intersect (Garux)
  • e77d713: * fix custom shaders generation for lightstyles and external lightmaps hacks for :q3map suffixed shaders (Garux)
  • ecdad80: * light radiuses: don't render biggest radius, make them less occluding in 3D (Garux)
  • 9b9e1df: * light entity radius: support negative intensity display and adjustment (keep sign while adjusting) (Garux)
  • e02571f: * preferences.Selection.Create brushes in 3D (by m1 drag) (Garux)
  • ec29d48: * Model Browser: unmoved m2 resets models rotations (Garux)
  • 3212660: * fix equally named builds execution (Garux)
  • a9a9907: support .fgd color1 key type (Garux)
  • 3eff562: in .def ent defs treat -, x & unused* spawnflags as dummy (Garux)
  • 4cbe05a: bump EntityClass MAX_FLAGS to 32 (Garux)
  • 7bd1148: * bobToolz: new Find Duplicates function: finds & selects duplicate brushes in entire map (Garux)
  • 69a3a4f: * brush.cone result respects original brush bounds and is currect projection dependent (Garux)
  • 2c947b7: q3map2/light: introduce -nobouncestore (Thomas Debesse)
  • 374f66b: don't store lightmap if the last bounce computation ran empty. (Matthias Krüger)
  • 39f4bdf: * installer of map developer's files (common shaders/textures/w/e is included in gamepack) (Garux)
  • a5bad3d: * fix: don't turn lights with targetname to styled for IBSP, as they are not switchable there (Garux)
  • 1da9dbf: * -keepmodels in -bsp / _keepModels on worldspawn: keep misc_model entities in the BSP file after compile (Garux)
  • b9c537f: * Run Engine After Compile function: make 'Engine to Run' & 'Engine Arguments' customizable in preferences (Garux)
  • cc89d51: make console text color adaptive to GUI theme changes (Garux)
  • 32c4ded: fix default GUI theme application on the fly (Garux)
  • 4e1c8ad: install share/qt5/plugins/styles/qwindowsvistastyle.dll for native look'n'feel in Windows with 'Default' theme (Garux)
  • 4d870a3: * shader editor: lines numbering (Garux)
  • 66f8098: * shader editor: highlight current line (Garux)
  • 1e90913: * misc_model _target and group entity _targetname key aliases for baking the model into entity (Garux)
  • 9c2fbc9: * shader editor: Q3 shader syntax highlighting (Garux)
  • 2b3a34b: improve performance of console, shader view (Garux)
  • 9ca1d93: * UV Tool: measure snapping distance in screenspace (Garux)
  • 860ba89: * UV Tool::skew: snap lines to vertices; change snapping measure to distance (Garux)
  • f6972d0: add action, triggering shaderManual deployment action (Garux)
  • a351b63: add "textures/skip" to caulk filter for Q1 (Garux)
  • a998927: entity, surface inspectors: clear focus widget while showing to keep global shortcuts working (Garux)
  • 544ade9: on Enter in NonModalEntry, NonModalSpinner always do apply, since not every selected instance necessarily has shown property applied (Garux)
  • c08c2f9: * ctrl/ctrl + shift modifiers in value spinners divide step by 10 & 100 respectively (Garux)
  • f9bc21a: * -lessbrushes switch: less brushes when decompiling Q1, HL maps at the expense of texturing (Garux)
  • f43f9da: mbspc: * improve decompilation quality of Q1, HL maps greatly (texturing correctness, less brushes) (Garux)
  • 6fa7a8b: decompilation: bump limits to be able to decompile all AD Q1 BSPv1 maps (Garux)
  • 18d4a0a: decompilation: avoid writing empty texture name (Garux)
  • 0ac6b34: sanitize Entity inspector key/value input (Garux)
  • 88a03b0: normalize rendered light color for display consistency (compiler normalizes it anyway) (Garux)
  • d41adc5: * use bounding box for misc_model transformations (Garux)
  • f0ce315: handle fgd spawnflags #115 (Garux)
  • 5162a22: adjust gui style: bright menu separators with margin, highlighted scrollbar handle, no scroll buttons (Garux)
  • 85d6e4b: shortcuts customization: handle numpad keys as numpad keys (Garux)

20221212

12 Dec 15:53

Choose a tag to compare

menus...

* view->filter->sky: Q3 shader based skies (skyParms keyword)

misc...

* render Q3 shader based skyboxes
* refactor textureTags GUI, make it toggleable in runtime
* textureTags work right away without scanning of all availbale textures & shaders
* superseded Patch Inspector by extended Surface Inspector functionality
* port editor to Qt framework
* texBro folders tree: sort it case insensitively
* "Built-In Group Dialog" layout option, embeds entity, textures etc dialog on the right of main window
* 2D view new brush creation: do not stumble on one dimenstion resizing, when the other is 0
* 2D view new brush creation: preserve brush start world coordinate, when viewpoint is changed in the process

20221027-QtTest1

27 Oct 09:10

Choose a tag to compare

20221027-QtTest1 Pre-release
Pre-release

menus...

* view->filter->sky: Q3 shader based skies (skyParms keyword)

misc...

* render Q3 shader based skyboxes
* refactor textureTags GUI, make it toggleable in runtime
* textureTags work right away without scanning of all availbale textures & shaders
* superseded Patch Inspector by extended Surface Inspector functionality
* port editor to Qt framework

20220211

11 Feb 22:58

Choose a tag to compare

Q3map2:

* now runs on c++
* discard excess portals in the void (great optimization for maps with void areas in between of playable areas and non rectangular maps)
* optimize FloodPortals()
* fix xml_Select() of leaked entity (was selecting last map entity always)
* xml_Select() leaked entity exactly in the beginning of leak line
* case insensitive command line arguments
* -help -game lists available games
* print available games on wrong -game and -format args
* -saturation light switch, default = 1, affects lightmaps and vertex color; > 1 = saturate, 0 = grayscale, < 0 = complementary colors
* replace model loaders by assimp library (40+ formats)
* auto split big model meshes to <= maxSurfaceVerts chunks (avoids excess meta process for vertexlit ones)
* fix texturing, when origin key of group entity is set
* improve ase export compatibility
* support negative misc_model scale
* use dynamic maxSurfaceVerts (user preference/game define) in 'force meta process for a surface' decision (was hardcoded)
* fix _castShadows > 1: cast on world, as advertised
* read .map brush plane points and store brush planes for windings calculation in double precision (fixes cracks between brush faces)
* support entries with .shader extension in shaderlist.txt
* sort pk3s, so content of later (zzz) overrides earlier, like in radiant and engine
* fix strong performance penalty with large amount of files in pk3s
* hasten MergeMetaTriangles and SmoothMetaTriangles to perform typically in 0 seconds
* improve quality of metasurfaces and reduce their count in general case
* prioritize +Z fog visible side in ambiguous case (= -Z fog direction), as in fogged pit
* auto fog direction: try all sides, not just axial; default to none, if no visible sides
* q3map_fogDir: pick best matching side, not strict match only; ignore invisible 'bevel' sides
* -fs_basegame gamename: Overrides default game directory name (e.g. Q3A uses 'baseq3', OpenArena 'baseoa', so -game quake3 -fs_basegame baseoa for OA)
* new: bsp export/import in json format; Usage: q3map2 -json <-unpack|-pack> [-v] <mapname>
* synchronize -help, html help and actually available command line arguments
* -json -pack -useflagnames: deduce surface/content flag values from their names in shaders.json (useful for conversion to a game with different flag values)
* -skipflags: while -useflagnames, skip unknown flag names
* -pk3, -repack: support multiple bsp files input by command line
* unlimit MAX_IMAGES
* support inline /* */ comments
* -mergebsp [options] <mainBsp.bsp> <bspToinject.bsp>: Inject latter BSP to former. Tree and vis data of the main one are preserved.
* -mergebsp -fixnames: Make incoming BSP target/targetname names unique to not collide with existing names
* -mergebsp -world: Also merge worldspawn model (brushes as if they were detail, no BSP tree is affected) (only merges entities by default)
* fix decompilation of brushes with edge case face normal ( -0.577350259 -0.577350259 0.577350259 ) and MakeNormalVectors() in general
* non -fast bsp decompilation: deduce brush detail flag
* patchMeta: fix: keep playerclip patches for collisions
* autocaulk: do not impact fog brushes with all faces culled (global fog case)
* skylight extension: q3map_skylight amount iterations optional[horizon_min horizon_max sample_color]
	horizon_min horizon_max: two spherical angles, defining portion of sphere to emit light from.
	Default is 0 90, which is upper hemisphere. -90 90 will be whole sphere.
	sample_color: Default = 1: sample color of each individual light from skybox images, if they are present.
	0: use shader color, set by q3map_lightRGB/q3map_lightImage/_up skybox image/qer_editorImage.
* q3map_skylight may be used multiple times in a single shader

Radiant:

binds...

* ctrl + m3/drag: also paste texture seamlessly from brush face to patch and vice versa, when patch edge is on face plane

menus...

* Misc->Colors->Themes->Adwaita Dark color theme

misc...

* common shaders deduction: fallback to .game "common_shaders_dir" param (default = "common/"), so they may be configured all at once
* improve performance of big maps loading, undo/redo dramatically
* improve performance of deselecting big selections
* only scale light radius by mouse while it is displayed
* load all found *.fgd, not just halflife.fgd
* fgd: support studio("display/model/path") and flags(Angles)
* replace model loaders by assimp library (40+ formats)
* fix rendering of direction arrow of group entities, when origin key is set
* add optional `soundtypes` keyword of .game config, affecting file types shown in sound browsing dialog
* automatically add ExtraResoucePath to q3map2 arguments, if set
* support negative misc_model scale
* .ent: support setting default model value of MiscModel type (<model key="model" name="Model File" value="ass/spider.mdc">)
* .ent: "direction" attribute presence enables -1/-2 angle support for EclassModel, GenericEntity
* .ent: "angles" attribute presence enables angles support for EclassModel
* entity keys: prefer "angles" over "angle", "modelscale_vec" over "modelscale" if both are set
* support entries with .shader extension in shaderlist.txt
* Q2::surface inspector::brush face flags: add "Unset flags" button	
* patch thicken: set default thickness and increment step to current grid size
* patch thicken: create new patches in original patch entity
* 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
* bobToolz.mergePatch: bruteforce merge all selected patches; keep unaffected patches selected
* view.show.blocks (_blocksize display): support q3map2 way of handling (3 values input, zero values, Z splits)
* fix: don't rename target/names without numeric suffix on paste to non clashing namespace
* cloneSelected, cloneSelectedMakeUnique: select cloned stuff (was preserving original selected)
* fix: don't increment target/names on file.import
* model shader paths guessings: prefer material names, starting with textures/ or models/ over diffuse map name
* add Inter-Quake Model (IQM) support
* add grid sizes 512, 1024

20210105

05 Jan 05:33

Choose a tag to compare

Q3map2:

* fix: do not affect styled lightmaps by floodlight
* support -extlmhacksize N N input for non square lightmaps, for example -extlmhacksize 2048 1024
* no shaderlist.txt or empty one = load all shaders
* fix -fixaas
* packer, repacker: also handle fogs without drawsurfaces
* -repack -analyze switch: only analyze bsps and exit (to dump bsp resource calls)
* packer, repacker: handle nodraw patches correctly; warn on visible surface, having shader w/o maps (typically watercaulk)

Radiant:

binds...

* ctrl + shift + z: redo alias

misc...

* support misc_model::_remap facility of q3map2
* support indexed tga formats: (24/32bit palette)x(8bit colour index)x(rle/not)
* 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
* new rendering system for volatile text
* new filter: Point Entities (nongroup entities besides misc_models and lights)
* unzoom from mouse pointer in 2D and 3D
* set clipper points to selected face on clipper tool switching-on
* entity inspector: select entities by key, value, key+value buttons
* no shaderlist.txt or empty one = load all shaders
* brush.icosahedron.truncate option