Commit Graph

57 Commits

Author SHA1 Message Date
Garux 71c63fbdc6 * fix alt + m1 indirect faces picking, when object is partially or fully out of camera view
refactor math functions
2019-04-28 20:54:29 +03:00
Garux 8d1015c7c8 make RenderTextLabel OpenGLRenderable
render CamDrawSize in uniform way
2019-04-23 14:02:13 +03:00
Garux 58eb6e61d2 simplify RENDER_TEXT logic
class RenderTextLabel for text rendering
* consider texture alpha channel during rendering of shaders with qer_trans
2019-04-23 11:31:52 +03:00
Garux 1628abfd0f calm down -Wdelete-non-virtual-dtor warnings
remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
2019-02-26 19:08:47 +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 9c91f4fa78 binds... * alt + m1 in camera: new resizing mode for brushes, curves and doom3 lights with direct and indirect selection methods 2018-10-06 02:31:05 +03:00
Garux c5f2279f4a * render direction arrow for group entities, having angle/angles key set or having angle/angles/direction attribute in .ent
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?
2018-08-16 20:00:58 +03:00
Garux 3706e1131a binds...
* m3: copy texture name, alignment +new: color, light power, color
	* alt + m3/drag: paste texture name (to pointed and selected stuff)
	* shift + m3/drag: paste texture name, alignment +new: light power
	* ctrl + m3/drag: paste texture seamlessly between brush faces +new: light color
	* ctrl + shift + m3/drag: project texture from copied brush face +new: paste light power, color
	* alt + ctrl/shift/ctrl+shift + m3/drag: respective texture alignment paste w/o texture name
fix void NormalizeColor( Vector3& color )
fix: reset texture clipboard texdef on selection in texbro (was only resetting scales)
2018-08-11 23:36:50 +03:00
Garux a13ad776b4 * fix group entities name position with origin key used 2018-07-21 22:05:31 +03:00
Garux 11e2cb2d01 RenderableNamedEntity : adjust behind nearplane epsilon 2018-06-08 22:09:25 +03:00
Garux 17a7e2f413 * replace reGroup command with simpler to use Move Primitives to Entity one (select primitives to move, select target entity primitive, go)
fix crashes in Entity_ungroupSelected, Entity_connectSelected
rename entity commands uniformly for simpler search in the list
2018-05-24 18:21:38 +03:00
Garux c3bc392afe * wysiwyg lights selection (was bbox based) 2018-05-11 21:03:46 +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 54a98ed5e8 * fix RadiantSelectionSystem::getSelectionAABB() for PlaneSelectables 2018-03-21 03:03:41 +03:00
Garux 1b8fc11668 * fix filter structural filtering point entities for q1 2018-03-06 22:32:38 +03:00
Garux c182b48fee do not render light radii in doom3 mode 2018-03-01 17:25:08 +03:00
Garux 74e101c7ba * fix and improve light power adjusting by mouse drag 2018-03-01 17:02:17 +03:00
Garux eae7ac024a clean namedentity, forward declarations, ostream_write 2018-02-22 18:56:53 +03:00
Garux 1b673b1a76 refactored EntityClass usage to only store being a miscmodel in miscmodel_is bool + set it on setting classname
* miscmodel filter: simplify and support miscmodels, defined by new way (xml .ent)
2018-02-19 00:40:51 +03:00
Garux a5865dce55 * entity based structural/detail filters for entities="quake" in .game 2018-02-01 13:34:58 +03:00
Garux b5235dcfcd * add func_detail* to world and detail filters 2018-02-01 11:53:36 +03:00
Garux f9157a6993 * point entities are understood as miscmodels, if <model attribute is present in xml .ent definition
* <model key= is not hardcoded to 'model' anymore, can use 'mdl'(q1) or w/e
2018-01-31 23:14:30 +03:00
Garux bd28ec81f7 * View->Show->Entity Connections option 2017-10-27 23:32:29 +03:00
Garux 04e8f5ef63 * fix/improvement of arrows, showing direction of entity connections; now are definitely visible in all orthogonal projections :) 2017-10-27 10:48:12 +03:00
Garux caf093f827 * "Entity Names = Targetnames" option:
also affects Entity List
		moved from View->Show menu to prefs->display->entities
		prompt about restart on change
2017-08-20 16:42:18 +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 492f00b729 Radiant:
misc...
	* fix scaling for doom3 brush format
	* Pointfile function: try to also load .pts leak line file (q1), if .lin isn't found
	* snap transform origin for flip commands
	* change light intensity save format from %f to %g to prevent .99999 on transforms
	* support 'stupid quake bug' (invert pitch in angles)(generic and miscmodel ents)(cfg: entities="quake" in .game)
	* clipper: place 1st and 2nd points far, 3rd near to ease 3 points clipping
2017-08-02 09:44:51 +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 335dcb2fa8 Radiant:
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
2017-08-02 09:43:35 +03:00
Garux 7bb36b774c Radiant:
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
2017-08-02 09:41:22 +03:00
Garux 697d2714d6 Radiant:
binds...
	* ctrl + e: ExpandSelectionToPrimitives (select group entities w/o parent node)
	* ctrl + m3 texture painting by drag
misc...
	* fix: QNAN texture projection after scaling cuboid on Z axis (brush primitives + texture lock)
	* preferences->display->entities->Names Display Distance (in cam) def = 512u
	* always show selected/childSelected entity names (unselected is optional)
	* fix: mouse texture grab/paint commands ignore filtered faces (caulk filter)
2017-08-02 09:39:45 +03:00
Garux 62ccd942e5 Radiant:
misc...
	* oranje names for group entities, having childrens selected (also no distance cull in cam for those)
2017-08-02 09:38:53 +03:00
Garux 6a7758012d Radiant:
misc...
	* fix: noninitialized lightradii, if light value is not set (example: lightjunior)
	* light power is adjustable by mouse drag
2017-08-02 09:37:10 +03:00
Garux 43d4204697 Radiant:
misc...
	* new very fast entity names rendering system
	* render entity names in cam within < 512u dist or if selected
2017-08-02 09:36:47 +03:00
Garux bec8719fe1 Radiant:
misc...
	* GL_TRIANGLE_STRIP light radii spheres (2.5x faster)
2017-08-02 09:34:47 +03:00
Garux 1df30a3b8c Radiant:
misc...
	* disabled depth write for qer_trans surfs and highlight (=any amount of layers is visible)
	* 20x faster light radii rendering
	* light radii are coloured and additive
	* anisotropic textures filtering option (def = yes)
2017-08-02 09:33:51 +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 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 87d5b6efe5 menus...
* view->show: +Entity Names = Targetnames (option to draw targetnames, not classnames; def = no)
2017-08-02 09:17:58 +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 dce6730b39 Radiant:
misc...
	* fix: select inside and touching: ignored ANY filters and hiding, and region
	* fix: M3 tex paint/grab ignored _hidden_ models
	* fix: M3 tex paint/grab ignored group ent (world, triggers, et cetera), model filters
	* fix: shift+a by tex: ignored group ent (world, triggers, et cetera) filters
	* fix: tex find/replace: ignored any filters, regioning & hiding
	* fix: shift+a by classname: ignored filters, hiding, region
	* fix: floor walker ignored group ent filters
	* fix: csg subtract ignored group ent filters
	* fix: invert selection: ignored group ent filters
	* fix: tex find/replace: 'select by shader' mode for patches (was replacing with notex instead)
	* fix: select inside and touching: were selecting group ents, as single unit (=sensitive to parent node and its bbox)
	* fix: csg merge two group ents = empty group ent
	* fix: csg subtract group ent completely = empty group ent
	* fix: hollow group ent: could produce empty group ent
	* func_groups are filtered by world filter only, not entities one
	* new func_group filter, filterBar button; Rightclick = create func_group
2017-08-01 14:27:03 +03:00
Garux 0fb65a91c7 Q3map2:
* -brightness 0..alot, def 1: mimics q3map_lightmapBrightness, but globally + affects vertexlight
	* -contrast -255..255, def 0: lighting contrast
	* packer improvements

Radiant:

binds...
	* entity inspector: Tab enters Key field, toggles between key/value fields; Del deletes keys; Esc quits

misc...
	* improved mwheel 2d zoom by Neumond
	* +makeRoom: like hollow, but extrudes faces outwards; for making rooms
	* deactivating tex dirs tree after loading dir, so SPACE and ENTER aren't broken for 2D after that
	* Regular, RegularLeft layouts: smaller console, bigger tex browser
	* Rotate, Scale dialogs: values aren't erased on Enter, OK, Apply (are on cancel, esc)
	* Rotate dialog: fix: new value in focused field wasn't taking in account on Enter
	* +updating texture directories list on 'flush and reload shaders' (reloading shaderlist aswell)
	* NumLock perspective window fix
	* ctrl+k(ConnectEntities): friendlier to complex connections, takes in account existing keys
		(priority: target > targetname > none)
	* +'all Supported formats' default option in open dialogs
	* defaulted show light radii
	* camera fov: 90->110
	* cubic clip: off by default; bigger def dist; fixed button's shortcut tip
	* prefs: Min & Max texture thumbnail size + dependant on scale;
		def = *scale .5, min 48, max 160 (makes range 96-320 visually differentiated)
2017-08-01 13:57:26 +03:00
Garux af4e2d29cf Q3map2:
* shot down spammy warning about samplesize for lmsize<=128; -debugsamplesize to show
	* numBspModels ('brusmodels') stat emitting


Radiant:

misc...
	* filters toolbar (disableable)
	* fix: shift + m1 click in tex browser to open shader in internal/external editor;
		defaulted internal; focuses on wanted shader; correct opening/saving
	* fix: angles "0 x 0" autoconvert to angle "x" on transform (was getting deleted w/o a trace)
2017-08-01 13:50:06 +03:00
Garux 6e687efe88 Q3map2:
* content of brush is determined now not by 1st side in brush definition (inconsistency!)
		but on priority: liquid > fog > playerclip > nonsolid > solid
		ex.: nodraw solid shader works now for hiding liquid or fog volume splits / unwanted faces
		solid or nonsolid shader + face(s) of playerclip = playerclip
		solid shader + face(s) of nonsolid = nonsolid (b4 could happen: 5nonsolid sides + 1solid = solid brush )


Radiant:

binds...
	* make structural - alt+s
	* shift+n - cycle patch tex projection
	* ctrl+f - fit texture
	* bind a, d in no mlook mode - CameraStrafeLeft/Right

menus...
	* smartified content basically
	* hidden killconnect for games, which are not nexuiz
	* view-orthographic+: center 2d on selected (ctrl+shift+tab)
	* removed parent from menu, regroup does work + isn't bugged
	* edit+: SelectAllOfType (shift+a)
	* view->show+: ToggleCrosshair, show size info, show grid
	* view menu: +patch inspector
	* curve->texture+: flip patch tex ( {ctrl}shift+i ), naturalize, cycle projection
	* cleaned, updated help menu links,+: Mouse Shortcuts, recent offline&fixed Shader Manual,
		netRadiant specific docs, lists of q3map2 switches/entity keys/shader directives
misc...
	* removed note to save before going to preferences, project settings
	* fog is automatically transparent
	* Doom3LightRadius: failed to parse default light radius - spammy msg removed
	* 1.5x bigger light ents (8->12u)
	* longer list of recently opened (4->9)
	* crosshair display: is saving in prefs
	* defaulted Maya theme
	* removed question to override current compile monitoring
2017-08-01 13:36:40 +03:00
Rudolf Polzer e4287c28bb my own uncrustify run 2012-03-27 12:03:21 +02:00
Rudolf Polzer 49908637c3 turn lights by 45 degrees to make them look the same in all 3 2D views 2010-07-30 16:02:23 +02:00
Jānis Rūcis 5dafde957a When connecting entities, don't reuse the target field to name the entity
If an entity already has a target field, chances are that the targeted
entity still exists and the mapper will just get a naming collision.
2010-07-14 04:41:03 +03:00
Rudolf Polzer 93f9dc354f support misc_*model as misc_model in the radiant editor (way more convenient) 2010-06-04 20:57:00 +02:00
Rudolf Polzer 6255d00622 support "angles" key in generic entities 2010-02-11 10:33:37 +01:00