Commit Graph

662 Commits

Author SHA1 Message Date
Garux 7492d3d8c5 use memcpy in CopyWindingAccuIncreaseSizeAndFreeOld
rephrase ChopWindingInPlaceAccu::fineEpsilon
2020-01-13 12:43:18 +03:00
Garux 4d9a6cc2a9 const pointer in copy functions 2020-01-13 04:31:05 +03:00
Garux 5dc0244ef9 remove unused statistic variables 2020-01-13 00:39:55 +03:00
Garux a626907ba9 use offsetof( type, flexible_array_member[size] ) semantics 2020-01-13 00:37:44 +03:00
Garux 99bae99b36 add safe_calloc(), safe_calloc_info() functions, use them (optimization, code shortening) 2020-01-12 18:55:03 +03:00
Thomas Köppe 23a166a4dd Change winding_t, winding_accu_t and brush_t to use flexible array members rather than fixed-sized arrays.
The arrays were always meant to be variably sized, and objects are only ever allocated dynamically. Object size computations are simplified with this change.

Flexible arrays were introduced in C99, so this change means that we will require a C99-conforming compiler henceforth.
2020-01-12 01:32:43 +03:00
Thomas Köppe 1e2ccf5f06 Use standard "offsetof" facility rather than manual code involving null pointer dereferences. 2020-01-12 00:49:05 +03:00
Thomas Köppe 07c14c71a1 [unzip.c{,pp}] Change zc{alloc,free} to internal linkage 2020-01-11 20:29:10 +03:00
Thomas Köppe 78bc1dcec6 [q3map2] Unwind script stack in case of script loading error.
Also avoid type punning read into char* variable (even though char* and void* happen to be layout-compatible).
2020-01-11 20:16:26 +03:00
Garux d320ac3a4b optimize copystring(), use it 2020-01-10 20:43:15 +03:00
Garux d9bad45a3d emit error on shader name string overflow in ShaderInfoForShader instead of silent truncation 202a05461f 2020-01-09 20:30:21 +03:00
Zack Middleton 48444683ee q3map2: add missing help for q3map2 stage arguments
Move -keeplights help from -light stage to -bsp. Add other ~40 arguments
that were missing from help. My main focus was on the -convert stage
but I tried to document the rest as well. Some descriptions are copied
from message when enabling the option.
2019-12-28 12:40:14 +03:00
Zack Middleton c9a33917e3 q3map2: fix crash if command-line argument is missing
Running `q3map2 -fs_forbiddenpath -v mapname.map` would crash because
-v gets replaced with NULL in main().

Running `q3map2 -threads` would crash because missing next argument
for number of threads.
2019-12-28 12:06:36 +03:00
Zack Middleton 9c60ebea68 q3map2: fix not displaying default args for some q3map2 stages
Fix not displaying default arguments, and possibly segfaulting, when
running q3map2 -bsp, -analyze, -convert, -exportents, -export, or
-import.
2019-12-28 11:52:56 +03:00
Garux 19accfbbab fix Convert_ReferenceLightmaps() from 42ab06e363 2019-12-28 00:59:50 +03:00
Garux 48f3a19d87 repackBSPMain(): use StrBuf struct for shader dump (safer, faster) 2019-12-28 00:32:12 +03:00
Garux d0032126cd repackBSPMain(): use pointer to array of chars semantics for bspList 2019-12-27 14:07:40 +03:00
Garux 3b4f22ee32 use pushStringCallback in vfsListShaderFiles() 2019-12-27 09:07:55 +03:00
Garux 02fce47d00 add -complevel to -pk3 2019-12-27 07:32:54 +03:00
Garux 05be4d4936 add autopk3.c::packResource(), packTexture() 2019-12-27 07:28:18 +03:00
Garux 5d46d88d2d refactor autopk3.c
generalize Q_stricmp, Q_strncasecmp defines instead of local implementations
replace Q_strncpyz, Q_strcat, Q_strncat with strlcpy, strlcat versions: strcpyQ, strcatQ, strncatQ
fix ExtractFilePath, ExtractFileBase, ExtractFileExtension edge case (empty path string)
ExtractFileBase() : mimic StripExtension() logic
BeginMapShaderFile() : use 	ExtractFileBase(), 	ExtractFilePath()
2019-12-27 06:01:28 +03:00
Garux 8373782b75 generalize FixDOSName function and its use 2019-12-20 20:10:49 +03:00
Garux 3cbbbaf7e9 move main.c::pk3 business->autopk3.c 2019-12-20 20:05:42 +03:00
Garux 853633efd1 move main.c::FixAAS()->convert_bsp.c 2019-12-20 17:39:04 +03:00
Thomas Debesse 68f8cabf95 split bsp conversion stuff from q3map2 2019-12-20 08:02:06 +03:00
Thomas Debesse 27b1549a2d split minimap stuff from q3map2 2019-12-20 06:57:02 +03:00
Thomas Debesse 18d7d50444 [q3map2] unvanquished expects white minimap 2019-12-20 06:34:57 +03:00
Garux c401adfe3e * -brightness only affects lightmap brightness, like q3map_lightmapBrightness, as there are -vertexscale and -gridscale for the rest
is multipled with q3map_lightmapBrightness
2019-12-12 00:20:00 +03:00
Garux 3f2825b8ec * -extlmhacksize N (external lightmaps hack size) -light switch
similar to -lightmapsize N: Size of lightmaps to generate (must be a power of two)
		but instead of native external lightmaps enables hack to reference them in autogenerated shader (for vanilla Q3 etc)
2019-12-06 00:55:16 +03:00
Garux 42ab06e363 * -lightmapsastexcoord conversion: support 'external lightmaps, referenced by shader' hack 2019-12-05 22:56:42 +03:00
Garux b96aed7190 * support -shadersasbitmap in -lightmapsastexcoord conversion mode 2019-12-04 22:35:50 +03:00
Garux 661e8b00de use EXTERNAL_LIGHTMAP macro, shorten code 2019-12-04 22:18:44 +03:00
Garux 74a5d6cf8d * support -lightmapsastexcoord conversion to .ase 2019-12-04 21:56:02 +03:00
Garux 6a5d148284 q3map2 * -fillpink in light stage: fill unoccupied pixels with pink colour 2019-11-11 04:13:13 +03:00
Garux 3464341167 refactor WriteTGA24() 2019-11-11 03:28:26 +03:00
Garux d92c32d453 q3map2 * misc_model::_remap: also remap 'abrakadabraNAME' shaders by _remap = 'NAME;newname'
exact match has priority over this
2019-11-11 01:14:10 +03:00
Garux c0b5454fd8 q3map2::misc_model::_remap: more persistent input error check 2019-11-10 22:45:14 +03:00
Garux 8dab7339d9 rephrase -trianglecheck and -extravisnudge code 2019-09-30 18:51:29 +03:00
Garux f2f36df58f q3map2 * _maxlight worldspawn key (works unless exposure is used) (for those, who know, what they do) 2019-07-25 19:55:16 +03:00
Garux 070161fd13 shorten code 2019-07-25 19:23:13 +03:00
Garux 635c732e72 fix warnings 2019-07-21 00:49:53 +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 00bb22e458 q3map2 * fix unwanted culling of both matching brush faces 2019-03-19 16:54:23 +03:00
Garux 812a8b6001 q3map2: follow ODR
enables compilation with -fno-common
2019-02-23 00:09:42 +03:00
Garux 202a05461f prevent shader name string overflow in ShaderInfoForShader 2019-02-23 00:06:57 +03:00
Garux e55e622d2f prevent buffer read overflow 2019-02-23 00:05:25 +03:00
Garux 6680d394e8 fix use after free (freed by realloc in EmitShader) 2019-02-23 00:02:58 +03:00
Garux 43a5b5513f fix indentation and typos 2019-01-27 21:37:37 +03:00
Garux 7884d9f1cd q3map2 * assign surfaceflags to brush 'bevel' planes, so physics like slick/nodamage/metalsteps function at brush edges and vertices
non bitwise materials in certain games are not handled
2019-01-27 19:41:16 +03:00
maek 01962a5afe Fix a bug that prevent -fast to behave correctly 2019-01-16 23:13:56 +03:00
Garux 034f06f18d * brushexport plugin: write Kd (diffuse color) and map_Kd (diffuse map) data to .mtl
* 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
2019-01-10 00:44:27 +03:00
Garux 5e50ac9ccf q3map2 * allow maps with only point entity@( 0, 0, 0 )
more informative prints
2018-12-26 02:59:12 +03:00
Garux 048b4a50f2 q3map2 * model autoclip: handle 'triangle points almost on line' case 2018-12-22 13:03:22 +03:00
Garux 674eacf842 q3map2: * fix map region -light compilation: load lights from .reg, not .map 2018-12-21 14:52:47 +03:00
Garux d716c4d0b9 tweak new miniz 2018-10-23 19:43:04 +03:00
Garux 2384269177 update miniz to recent version https://github.com/richgel999/miniz 2018-10-23 19:32:18 +03:00
Garux 614885f1fb fix typos 2018-10-07 23:36:13 +03:00
Garux f99cf57f27 fix some strncpy use 2018-09-29 21:34:03 +03:00
Garux 6ad88b42fa Q3map2: * fix reading of old wolf, et, etut bsps 2018-08-12 19:18:43 +03:00
Garux 3da4012f1e add required message_flush calls 2018-03-21 20:59:30 +03:00
Garux 43202af380 q3map2 * modify message flags system to allow SYS_WRN | SYS_VRB, SYS_ERR | SYS_NOXML etc combinations 2018-03-20 19:37:47 +03:00
Garux 0f65e67896 q3map2 * colored warnings and errors in Windows console 2018-03-17 20:39:10 +03:00
Garux 968e210f2d q3map2 * mark warning messages with respective flag for colorized monitoring output 2018-03-16 20:33:50 +03:00
Garux 5bf0dd5243 q3map2: * buffered broadcast xml stream to dramatically increase compilation monitoring speed 2018-03-13 22:51:30 +03:00
Garux 98270201b2 q3map2: * fix misspelled 'donotenterlarge' contentflag for RTCW & ET 2017-12-06 13:50:37 +03:00
Garux 80faa85d36 q3map2: fix -samplessearchboxsize msg printing 2017-10-27 21:10:18 +03:00
Garux 81c31337b5 q3map2 * add extra surfaceflags from quakelive 2017-10-27 17:02:41 +03:00
Garux a2406ea3d7 q3map2: * Valve220 mapformat autodetection and support 2017-10-17 12:59:56 +03:00
Garux b0c4caa9d1 Radiant:
binds...
	* m3: apply texture name and alignment to selected primitives and faces
	cleaning
2017-08-02 09:46:24 +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 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 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 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 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 93ca259313 Q3map2:
* new slightly less careful, but much faster lightmaps packing algorithm (allocating... process)
	* -slowallocate switch to enable old lightmaps packing algorithm
	* Subsampling...collapsing...sorting...allocating...storing...projecting... timers
2017-08-02 09:16:57 +03:00
Garux ed4c8c2044 Q3map2:
* new area lights backsplash algorithm ( by Jelvan ), hijacking temp area lights ( to simulate volumetric behavior of source ones )
	* fix: create backsplash for area lights, while q3map_lightsubdivide'ing too
	* no backsplash for area lights, if surf == sky
	* report patches count in -info
	* -exportents to exports entities to a .ent file
	* unvanquished game support
	* -fs_basepath: can be used more than once to look in multiple paths (Sets the given path as main directory of the game)
	* -fs_game: can be used more than once (Sets a different game directory name (default for Q3A: baseq3))
	* -fs_pakpath <dir>: Specify additional custom path to assets (can be used more than once to look in multiple paths)
	* fix undocumented unexpected LokiInitPaths
	* -help option (-h, --help)
2017-08-02 09:16:24 +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
Garux e7c45da823 Q3map2:
* code fixes
	* packer: !FAIL! msg for missing ingame resources, ~fail for the rest
	* bumped stack size to 4Mb to fix crash for huge skies, using old shaders with fairly useless q3map_surfacelight + q3map_lightsubdivide < 999 combo


Radiant:

binds...
	* F5: run first in the list or recently invoked build option
	* F11: fullscreen

misc...
	* opening *.map, sent via cmd line: enabled for non win32 too
	* fix: textures find/replace wnd better default pos, size
	* fix: crash in CSG::Subtract
	* fix crash: main wnd maximized + 'start on primary monitor' off + monitors > 1
	* correct save/restore of main wnd pos/size and maximized/fullscreened states
	* scale widgets consistently along with main wnd, while using regular layout
2017-08-02 09:06:17 +03:00
Garux bf6dd1f2d1 Q3map2:
* report full / full pk3 path on file syntax errors
2017-08-02 09:05:30 +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 fa294e4215 Q3map2:
* do not delete q3map2_*.shader on minimap generation


Radiant:

misc...
	* fix: crash in CSG::BrushDeleteSelected
	* fix: crash in Brush::windingForClipPlane
	* disabled snapping of transform/pivot origin
2017-08-02 09:04:00 +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 f8b2b1f25e Q3map2:
* decompiling: fix: broken brushes, empty brush definitions; shut down too usual warnings; with -force tries to decompile model autoclip too
	* decompiling: -fast mode for BSPToMap conversion


Radiant:
misc...
	* _setmaxstdio(2048): tested max pk3s count: 1021
	* curve: deform (randomize Z points coord at given amount)
2017-08-01 13:59:31 +03:00
Garux fe73dd74d0 Q3map2:
* fix: number of problems, found by Visual Studio's static code analyser
		(76ea7385dd)

Radiant:

misc...
	* fix of: convert group entity to diff one = entity w/o objects
	* asking for game path at 1st start, even if one, specified in .game exists (auto picking could make confused)
	* disabled game autodetecting: (~2min awaiting on w7 in non admin mode was confusing)
2017-08-01 13:58:52 +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 7d7436ec3d Q3map2:
* packer: +warnings on implicitMaps, mapNoComps
	* packer: known problem: minizip crash, when trying to get file with 2039 year date from disk
	* -repack: repacks multiple maps, strips out only required shaders; main argument is single bsp path or txt with full pathes to bsps
		switches: -dbg: talkative mode; -png: include pngs, at highest priority; -complevel: -1..10, def 0, compression level
		uses additional exclusions file repack.exclude with different logic
2017-08-01 13:56:25 +03:00
Garux 2b85b7c20c Q3map2:
* packer: rewrote logic to make sure not to include excluded stuff
	* packer: preserves file date, if grabbing file from .pk3 too
	* packer: in case of missing *ingame* resources pk3 gets _FAILEDpack suffix
2017-08-01 13:54:01 +03:00
Garux 66d12fc237 Q3map2:
* -pk3 autopackager: alternative way to write
2017-08-01 13:53:05 +03:00
Garux eef3995202 Q3map2:
* -pk3: autopackager mode(complete Q3 support); bsp path as input; switches: -dbg - talkative mode, -png - include pngs, at highest priority
		is using file 'gamename.exclude' to exclude vanilla game resources
		tip: ioq3, netradiant, compiler (and packager) treat *.pk3dir directories as separate pk3 files
2017-08-01 13:51:52 +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
Garux a255fbd84e Q3map2:
* brush planes normals snap: +fix of vector-is-close-to-be-ON-axis case, was breaking slivers collisions, drawsurfs
	* alphamod scale: works now
clean shiftBspMain
2017-08-01 13:35:36 +03:00
Garux f73cc19a61 Q3map2:
* -clipdepth F, def 2, _clipdepth
	* fixed model autoclip (64u thick brushes/no collision at all in some cases)
	* pyramidal etc zillion (20!) of autoclip modes
	* removed stuctural caulk in models, was broken anyway

Radiant:

misc...
	* hollow: produces not intersecting brushes
2017-08-01 13:34:48 +03:00
Garux bf803dd851 Q3map2:
* -bounceColorRatio 0..1 (ratio of colorizing sample by texture)
	* -debugclip: autoclip debug, uses shaders debugclip, debugclip2
	* >2GB makefile option, allows up to 3GB ram on 32bit, 4GB on 64bit
	* speedup patch to use fast sqrt at some points of light phase, where precision is not needed

Radiant:

binds...
	* paste to camera - shift+v (alt+v was leading to texBro-View menu)
2017-08-01 13:33:37 +03:00
Garux 7ca7a54fe6 Q3map2:
fix * q3map_remapshader remaps anything fine, on all stages (effect is: postrenaming shader when things are have been done)
	* typo at -dirtmode

Radiant:

misc...
	* translucent textures are visible, while selected, too; +matching trans polys are visible simultaneously
2017-08-01 13:32:31 +03:00
Garux 9fed37bae0 Q3map2:
* native surfaceparm noob support (no -custinfoparms needed)
	* -noob in bsp phase: assign surfaceparm noob to all map surfaces
	* surfaceparm ob: skip assigning surfaceparm noob with -noob on that
	* farplane modes: radius+radius, origin2origin, exact (add r/o/e to the number to enable), < 0 works too
	* samples+filter - enabled again, makes sense
	* -vertexscale
	* fixed -novertex, (0..1) sets
	* quick q3map_novertexlight (?)
	* fixed _clone _ins _instance (_clonename)
	* -nolm - no lightmaps
	* ent keys aliases:_sa - shadeangle;_ss - samplesize
	* -shift N -shift X Y Z: shift whole map to some coords
	* more fogs (256) (ingame appearence lots of ones might be bugged due to engine arrangement, needs testing)
	* q3map_remapshader remaps anything fine, on all stages (effect is: postrenaming shader when things are have been done)
	* fixed 'unknown argument 1' at -lightanglehl
	* -nocmdline writting to worldspawn

Radiant:

binds...
	* wasd camera binds, c - deSelect, z - delete
	* ExpandSelectionToEntities - shift+e
	* make detail - alt+d
	* arbitrary rotation - shifr+r
	* arbitrary scale - ctrl+shift+s
misc...
	* fit width, fit height butts in surf inspector (for trims) (saves scales ratio)
	add old TODO with ideas
2017-08-01 13:26:50 +03:00
Rudolf Polzer 214d4c94ce Found why RadSubdivideDiffuseLight happens with !bouncing. Trying
another one now.
2013-09-24 14:51:54 +02:00
Rudolf Polzer a78573e0e9 HAHA. Fix a bug that prevented ANY non-sRGB builds with the current default build menu. For ages now. Also addd some attempt to track down a bounce issue. 2013-09-24 12:45:47 +02:00
Stijn Buys 2f72e166b2 Fix an invalid pointer reference in the alphahack image loader, print filename on LoadJPGBuff error messages. 2013-07-02 19:23:35 +02:00
Rudolf Polzer 847a61d888 fix some easy warnings 2013-06-19 18:50:07 +02:00
Rudolf Polzer 06afddfe80 Fix a possible bug in floodlighting/dirtmapping in conjunction with alphashadow surfaces 2013-03-28 12:26:46 +01:00
Rudolf Polzer dac8329952 Merge branch 'master' into divVerent/farplanedist-sky-fix
Conflicts:
	tools/quake3/q3map2/prtfile.c
	tools/quake3/q3map2/vis.c
	tools/quake3/q3map2/visflow.c
2012-05-15 11:58:06 +02:00
Rudolf Polzer 7fc621fc78 Merge remote-tracking branch 'ttimo/master'
Conflicts:
	config.py
	libs/missing.h
	plugins/model/cpicosurface.cpp
	plugins/vfspk3/unzip.cpp
	radiant/main.cpp
	radiant/mainframe.cpp
	radiant/mainframe.h
	radiant/missing.cpp
	radiant/pluginmanager.cpp
	radiant/preferences.cpp
	radiant/preferences.h
	tools/quake3/common/cmdlib.c
	tools/quake3/common/unzip.c
	tools/quake3/q3map2/image.c
2012-05-07 12:32:31 +02:00
Timothee 'TTimo' Besset 6476802ae8 dunno what happened there, someone brain farted hard 2012-05-06 15:55:10 -05:00
Timothee 'TTimo' Besset c40e0b3e57 unused 2012-04-15 11:24:38 -05:00
Timothee 'TTimo' Besset 943424faa1 fix q3map2 2012-04-14 17:31:10 -05:00
Timothee 'TTimo' Besset 85a66c9519 fix unzip code 2012-04-14 17:15:55 -05:00
Rudolf Polzer d005d46d64 oops, this was broken 2012-04-12 17:14:40 +02:00
Rudolf Polzer 62d99f889c Merge remote-tracking branch 'ttimo/master'
Conflicts:
	plugins/imagepng/plugin.cpp
	radiant/gtkdlgs.cpp
	radiant/radiant.ico
	tools/quake3/q3map2/image.c
2012-04-12 15:32:57 +02:00
michaelb 1f0271a988 fix invalid use of <glib/...> headers 2012-04-09 09:44:35 +02:00
alex8664 67411cb18e This is fix for failure of compilation on new libpng 2012-03-31 17:31:50 +04:00
Rudolf Polzer b7e36c120e Merge remote-tracking branch 'github/master'
Conflicts:
	.gitignore
	config.py
	libs/synapse/synapse.cpp
	plugins/imagehl/lbmlib.cpp
	plugins/surface_heretic2/surfacedialog.cpp
	plugins/surface_ufoai/surfacedialog.cpp
	radiant/brushscript.cpp
	radiant/main.cpp
	radiant/preferences.cpp
	tools/quake3/common/cmdlib.c
	tools/quake3/common/cmdlib.h
	tools/quake3/q3map2/path_init.c
	windows_compile_guide/index.html
2012-03-27 12:11:37 +02:00
Rudolf Polzer e4287c28bb my own uncrustify run 2012-03-27 12:03:21 +02:00
Rudolf Polzer 231225d6f9 Merge commit '515673c08f8718a237e90c2130a1f5294f966d6a'
Conflicts:
	.gitignore
	COMPILING
	CONTRIBUTORS
	ChangeLog
	DoxyConfig
	Doxyfile
	Doxygen_files/Doxyfile
	Doxygen_files/doxy_mainpage.h
	Doxygen_files/doxygen_gtkradiant_foot.html
	Doxygen_files/doxygen_gtkradiant_head.html
	Doxygen_files/doxygen_index.html
	Doxygen_files/doxygen_reference_foot.html
	Doxygen_files/doxygen_reference_head.html
	Doxygen_files/example/annotated.html
	Doxygen_files/example/classIEpair-members.html
	Doxygen_files/example/classIEpair.html
	Doxygen_files/example/classes.html
	Doxygen_files/example/files.html
	Doxygen_files/example/functions.html
	Doxygen_files/example/graph_legend.dot
	Doxygen_files/example/graph_legend.html
	Doxygen_files/example/index.html
	Doxygen_files/example/pages.html
	Doxygen_files/example/test_8c-source.html
	Doxygen_files/example/test_8c.html
	Doxygen_files/example/todo.html
	Doxygen_files/genDoxyfile
	Doxygen_files/gendoxfunctions
	Doxygen_files/reference1.html
	README.doxygen
	SConscript.q3map2
	SConscript.radiant
	TODO
	config.py
	contrib/bkgrnd2d/bkgrnd2d.vcproj
	contrib/bobtoolz/bobtoolz.vcproj
	contrib/camera/camera.vcproj
	contrib/gtkgensurf/gtkgensurf.vcproj
	contrib/hydratoolz/hydratoolz.vcproj
	contrib/prtview/prtview.vcproj
	contrib/ufoai/ufoai.vcproj
	gen.readme
	gendox
	libs/picomodel/picomodules.c
	plugins/eclassfgd/fgd.vcproj
	plugins/entity/entity.vcproj
	plugins/image/image.vcproj
	plugins/imagem8/imagem8.vcproj
	plugins/imagepng/imagepng.vcproj
	plugins/imagewal/imagewal.vcproj
	plugins/map/map.vcproj
	plugins/mapxml/mapxml.vcproj
	plugins/model/model.vcproj
	plugins/shaders/shaders.vcproj
	plugins/spritemodel/spritemodel.vcproj
	plugins/surface/surface.vcproj
	plugins/surface_heretic2/surface_heretic2.vcproj
	plugins/surface_quake2/surface_quake2.vcproj
	plugins/surface_ufoai/surface_ufoai.vcproj
	plugins/textool/textool.vcproj
	plugins/vfspak/vfspak.vcproj
	plugins/vfspk3/vfspk3.vcproj
	plugins/vfswad/vfswad.vcproj
	radiant.sln
	radiant/main.cpp
	radiant/mainframe.cpp
	radiant/preferences.cpp
	radiant/preferences.h
	radiant/radiant.vcproj
	setup/data/tools/plugins/bt/bt-el2.txt
	tools/quake3/q3map2/main.c
	tools/quake3/q3map2/q3map2.vcproj
	windows_compile_guide/index.html
2012-03-27 11:43:50 +02:00
Timothee TTimo Besset 6ac1b9cfd3 Merge branch 'master' of github.com:TTimo/GtkRadiant 2012-03-22 22:59:40 -05:00
Timothee TTimo Besset a5a1d8287b new version of glib is touchy 2012-03-22 22:57:36 -05:00
Ben Noordhuis f961a547ff q3map2: bump MAX_OS_PATH to 4096
Fixes a "buffer overflow detected" abort when compiled with _FORTIFY_SOURCE=1.

The realpath(3) function in glibc checks if the destination buffer is large
enough to hold up to PATH_MAX characters and aborts if that is not the case.
PATH_MAX doesn't have to be defined so assume that it's equal to 4096.

We should really be using pathconf(_PC_PATH_MAX) instead of a hard-coded value
but that means we can no longer use static buffers to hold paths.
2012-03-18 02:17:09 +01:00
Ben Noordhuis 3a959349ac q3map2: harden UNIX path sniffer against buffer overflows 2012-03-18 02:17:09 +01:00
Ben Noordhuis 808e1c9f6f q3map2: fix dangling pointer dereference
`last` was used but not initialized.

Also fixes a segmentation fault if PATH is not in the environment.
2012-03-18 02:17:09 +01:00
Ben Noordhuis d7e9dab03d q3map2: getpwent() result may not be persistent
Use getpwuid_r() instead and store the path in a static buffer.
2012-03-18 02:17:09 +01:00
Ben Noordhuis c2be26a9bd q3map2: add safe string copy functions
* Q_strncpyz()
* Q_strncat()
* Q_strcat()

Guard against buffer overruns, always zero terminate the result.
2012-03-18 02:17:09 +01:00
Ben Noordhuis 997811d430 q3map2: fix bogus empty string checks
qdir is an array, not a pointer, so `if (qdir)` is always true.
2012-03-18 02:17:09 +01:00
Ben Noordhuis ca8d032cfb fix warning: unused variable 'foo' 2012-03-18 02:17:09 +01:00
Ben Noordhuis 3311b00ae6 fix warning: format not a string literal and no format arguments 2012-03-18 02:13:11 +01:00
Timothee TTimo Besset 830125fad0 uncrustify! now the code is only ugly on the *inside* 2012-03-17 15:01:54 -05:00
Rudolf Polzer dba712acf6 query the online, not total, CPUs in case some were shut off 2012-03-03 17:31:03 +01:00
Lauri Kasanen 123f3fd962 q3map2: Small cleanups
Move one variable to the section it is used in, and remove one unnecessary
NULL check.

If si were NULL at that point, we would have segfaulted ages ago.

Signed-off-by: Lauri Kasanen <curaga@operamail.com>
2012-03-03 17:28:34 +01:00
Lauri Kasanen 053ca4041b Automatically determine the number of threads on linux
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
2012-03-03 17:28:34 +01:00
Rudolf Polzer 747e474c40 remove internal libjpeg6 copy (patch by monad) 2012-03-01 10:24:29 +01:00
Rudolf Polzer e8f94f12dd Merge remote-tracking branch 'origin/divVerent/leak-fix' 2012-02-19 18:40:59 +01:00
Rudolf Polzer 312f954913 also select the best entity when a leak was found 2012-02-14 13:24:05 +01:00
Rudolf Polzer 11fdc6f6d0 .lin files: find optimal path from leak entity 2012-02-14 13:19:44 +01:00
Rudolf Polzer bca4840507 another experimental change: better handle leaky maps 2012-02-14 11:35:59 +01:00
Rudolf Polzer 917677bab9 fix drawindexes crash when loading BSP files 2012-02-13 21:09:11 +01:00
Rudolf Polzer f8bfc8d1df fix crash in -bsp 2012-02-13 11:22:07 +01:00
Rudolf Polzer 3a7c77d720 unlimit MAX_MAP_DRAW_INDEXES 2012-02-12 19:00:55 +01:00
Rudolf Polzer d5d6e98191 add option -nofastpoint; make old buggy behaviour default as it is typically a lot faster. To not use fast point lights, pass -nofastpoint but not -fast. 2012-02-09 11:28:49 +01:00
Rudolf Polzer 8dcd2d22e6 slow down non-fast operation but make it more accurate by not using falloff tolerance at all when -fast is not used 2012-02-09 10:51:09 +01:00
Rudolf Polzer c30d367a12 FIXME comment because falloffTolerance is checked in non-fast too for point lights, should we really do that? Maybe add a -slow then... 2012-02-09 10:41:17 +01:00
Rudolf Polzer 0c44cbd7ea fix falloff tolerance for sRGB 2012-02-09 10:41:09 +01:00
Rudolf Polzer c60d22dd26 swap values 0 and 1 for -exposure (now -exposure 0 does nothing, -exposure 1 did what 0 did before) 2012-02-09 10:40:48 +01:00
Rudolf Polzer 7bd87de737 fix deprecation with libpng 1.4 2012-01-23 17:25:22 +01:00
Rudolf Polzer d0df309a98 Xonotic: make sRGB compiles default 2011-12-31 14:37:43 +01:00
Rudolf Polzer a0b68611bc don't care for singular/plural in -shaderasbitmap vs -shadersasbitmap etc. 2011-12-30 20:01:02 +01:00
Rudolf Polzer 2f85cccd8c -onlyents: keep gridsize as stored in the bsp 2011-12-27 19:45:22 +01:00
Rudolf Polzer f536f829e5 add shorthand option -nosRGB to turn off all sRGB modes 2011-12-25 19:45:09 +01:00
Rudolf Polzer 56bbeb0552 Merge branch 'master' of /var/cache/git/xonotic/netradiant 2011-12-21 16:36:07 +01:00
Rudolf Polzer c4ff5f029f 256 surfaceparms 2011-12-21 16:35:44 +01:00
Rudolf Polzer 272a29bdd8 always use color normalization, vector normalization on colors is worng 2011-12-18 22:36:53 +01:00
Rudolf Polzer bb15de2ddc also support -sRGBcolor for floodlight 2011-12-14 09:51:15 +01:00
Rudolf Polzer 2b560b8348 sRGB convert all shader specified colors 2011-12-14 09:51:15 +01:00
Rudolf Polzer 084d085966 support -sRGBcolor for all _color keys 2011-12-14 09:51:15 +01:00
Rudolf Polzer 870333585c support -sRGBcolor for flares 2011-12-14 09:51:15 +01:00
Rudolf Polzer f4e45cb897 option: -sRGBcolor (unused yet) 2011-12-14 09:51:15 +01:00
Rudolf Polzer 48a8cb1d67 mark two shader checks nullable 2011-12-09 17:24:33 +01:00
Rudolf Polzer b104009ba6 no, we do NOT want to ignore caulk 2011-12-09 17:17:31 +01:00
Rudolf Polzer 35162b6b63 properly ignore caulk 2011-12-09 17:15:51 +01:00
Rudolf Polzer aef478a99a PROPERLY ignore sky brushes for minimap 2011-12-09 16:36:07 +01:00
Rudolf Polzer c3a3978aea -autolevel for minimap 2011-12-09 16:18:17 +01:00
Rudolf Polzer a75d633c49 fix lightstyle compare (SIGBUS on SPARC) 2011-12-08 14:11:06 +01:00
Rudolf Polzer 4afa1f6427 AllocWinding: fix handling of compiler enforced alignment of double 2011-12-08 12:20:56 +01:00
Rudolf Polzer 76dd045925 properly support -keeplights option. Current implementation never worked. 2011-12-01 16:47:35 +01:00
Rudolf Polzer 34d45e210f _farplanedist now ignores C_SKY leafs 2011-11-23 12:01:02 +01:00
Rudolf Polzer 6b01d68ba6 audit all uses of ClipWindingEpsilon and choose the strict variant or not, and explain why 2011-11-23 09:44:05 +01:00
Rudolf Polzer 323c01a983 try to fix the "-np surfaces disappear" bug 2011-11-22 12:10:26 +01:00
Rudolf Polzer 8bff7284c3 fix an obvious q3map2 bug that causes BSP leafs to be too big sometimes. Maybe improves fps. No other change. 2011-11-20 21:37:55 +01:00
Rudolf Polzer e8f27310d6 also new option: -sRGBtex, and renamed -sRGB to -sRGBlight 2011-10-29 16:33:46 +02:00
Rudolf Polzer aaa68ca620 fix spotScale implementation 2011-10-29 16:10:09 +02:00
Rudolf Polzer 2cc696a6e1 add separate spotlight scale -spotscale 2011-10-29 13:38:19 +02:00
Rudolf Polzer 98bf67071d add also a -nosRGB option to turn sRGB off 2011-10-22 15:38:56 +02:00
Rudolf Polzer 5c97bccbf6 experimental q3map2 command line option: -sRGB (store lightmaps in sRGB) 2011-10-21 17:25:09 +02:00
Rudolf Polzer d67672d1b3 alphashadow/lightfilter: bound the texcoords after converting to integer to guard against float accuracy issues 2011-10-18 17:07:24 +02:00
Rudolf Polzer 756d07eba3 add a missing memset 2011-10-18 11:12:31 +02:00
Rudolf Polzer 4b642e822f totally unlimit entities 2011-10-17 06:53:42 +02:00
Rudolf Polzer f15b9265ec Merge branch 'master' of git://de.git.xonotic.org/xonotic/netradiant 2011-10-17 06:47:47 +02:00
Rudolf Polzer ed1e2eb318 allow more entities 2011-10-17 06:47:29 +02:00
Rudolf Polzer 778563508d fix two obvious typos 2011-09-16 06:55:21 +02:00
Rudolf Polzer 9aa6996229 make runtime parameters for meta 2011-09-15 21:19:39 +02:00
Rudolf Polzer 33885f370c fix MAX_BBOX_DISTANCE path (not enabled) 2011-09-15 17:21:40 +02:00
Rudolf Polzer db1787bbfa handle forbidden dir exclusions properly now 2011-07-01 12:49:31 +02:00
Rudolf Polzer c75ae4296b forbidden dirs: allow wildcard patterns 2011-07-01 11:27:15 +02:00
Rudolf Polzer 11186bfec5 misc_model: also support _skin name; also support frame field name 2011-06-05 20:37:37 +02:00
Rudolf Polzer bf4ab34b0a more warnings done. Now q3map2 is warning free apart from libpng deprecation problems. 2011-06-05 19:47:08 +02:00
Rudolf Polzer 7db8ac9952 more warnings be gone 2011-06-05 19:43:21 +02:00
Rudolf Polzer 148c7d50d5 more warning fixes 2011-06-05 19:37:54 +02:00
Rudolf Polzer 098472b067 fix a slight memory leak 2011-06-05 19:37:50 +02:00
Rudolf Polzer 2af64392f8 fix uninitialized use of an int when filtering a patch into a tree - possible performance increase after this fix 2011-06-05 19:33:29 +02:00
Rudolf Polzer 770b8ea401 fix ignoring surface alpha for surfacemodels 2011-06-05 19:32:43 +02:00
Rudolf Polzer c75d4746fd some warning fixes 2011-06-05 19:32:39 +02:00
Rudolf Polzer dbaf1a8f00 fix some more warnings 2011-06-05 19:21:31 +02:00
Rudolf Polzer 772c8fda0f fix a scanf warning 2011-06-05 19:19:45 +02:00
Rudolf Polzer bbce294abb fix a possible bug that can cause ds->shaderInfo to be NULL 2011-06-05 18:43:31 +02:00
Rudolf Polzer 865fc23ebf fix compile errors 2011-05-15 22:26:46 +02:00
Rudolf Polzer d8518d0278 fix error 2011-05-15 22:24:57 +02:00
Rudolf Polzer f2ba0cbb0a support passing the home path to q3map2 as -fs_home (home dir only, ends with /. to request a dotdir name) and -fs_homepath (full path, including /.gamename) 2011-05-01 18:49:33 +02:00
Rudolf Polzer 410909df7d q3map2: accept -fs_home /home/rpolzer/.xonotic to set the home dir 2011-05-01 18:43:34 +02:00
Rudolf Polzer a15293c86f untested changes so DP might work with this again. Who knows if they even compile. 2011-04-29 10:55:57 +02:00
Rudolf Polzer d4500cb5d9 fix two more bugs 2011-04-20 17:50:29 +02:00
Rudolf Polzer 50e0a3fb24 add a missing #include 2011-04-20 17:49:36 +02:00
Rudolf Polzer 9b15142ec2 q3map2: use "My Games" directory if exists on Win32 2011-04-20 17:44:27 +02:00