Commit Graph

596 Commits

Author SHA1 Message Date
Garux 9048028faa wrap Q_strncasecmp use 2020-02-04 05:08:54 +03:00
Garux c7f1391177 wrap Q_stricmp use 2020-02-04 04:33:58 +03:00
Garux 3409de2cb0 change EPAIR_STRCMP semantics 2020-02-04 03:50:33 +03:00
Garux cf98275ee4 wrap strcmp use 2020-02-04 03:40:27 +03:00
Garux 9485b925ff add common string functions 2020-02-04 03:38:24 +03:00
Garux 416b1f7d54 delete some unused q3 cmdlib stuff
fix q3data -writedir
2020-02-04 02:07:13 +03:00
Garux 0290bd76fe remove NeXT preprocessor conditions 2020-02-03 23:58:43 +03:00
Garux eb70faddc8 use standard C bool type:
get rid of qfalse, qtrue aliases everywhere
replace qboolean in q3map2, q3data
redefine qboolean type in q2 tools, mbspc
2020-02-03 01:15:30 +03:00
Garux e5d040a770 fix simple warnings 2020-02-02 14:53:18 +03:00
Garux 9cb2ab691e del myoffsetof macro 2020-01-29 04:09:12 +03:00
Garux be007466f9 fix [-Wincompatible-pointer-types] in RunThreadsOn() 2020-01-28 21:35:17 +03:00
Garux c7010884b6 manage strlwr, strlower->strLower 2020-01-28 21:33:37 +03:00
Garux e6ce77d031 use capital letter in strClear, strEmpty, strIstr to lessen names collision probability 2020-01-28 21:05:41 +03:00
Garux a258ebf887 fix warning: comparison between signed and unsigned integer expressions 2020-01-28 00:29:53 +03:00
Garux 93eb360104 fix Usage: help strings 2020-01-27 23:41:46 +03:00
Garux 08fee05b37 remove odd closing parenthesis from bsp marker 2020-01-27 21:30:10 +03:00
Garux 25d94dbd2f add and use path_set_extension()
fix -bsp crash with .bsp sent as map path
	* fix: qer_editorimage, q3map_lightImage etc work with file names, containing period
(i.e. 'file.name.ext' names; don't StripExtension() twice in ImageLoad() for that)
2020-01-27 01:22:10 +03:00
Garux 80e95ac165 refactor paths related codes 2020-01-26 19:01:57 +03:00
Garux 437004713f fix q3data warnings 2020-01-24 17:02:46 +03:00
Garux 3a95f8bb53 use StripExtension() in q3data 2020-01-24 04:20:04 +03:00
Garux 09953b82be minor tweaks 2020-01-24 03:48:13 +03:00
Garux 854eb14a69 use path_get_extension() 2020-01-24 03:20:17 +03:00
Garux ba26c2d02b add common functions:
strempty
	strclear
	path_is_absolute
	path_get_filename_start
	path_get_filename_base_end
	path_get_extension
simplify functions:
	DefaultExtension
	StripFilename
	StripExtension
	ExtractFilePath
	ExtractFileBase
	ExtractFileExtension
2020-01-23 21:55:43 +03:00
Garux 0bc1a2a280 workaround safe_*alloc size print on error (was negative due to %i format specifier for size_t) 2020-01-23 07:25:12 +03:00
Garux 2d839e524f allocate just once in CopyBrushSidesLump() 2020-01-23 05:01:46 +03:00
Garux ad05e553b9 use realloc() instead of safe_malloc() + free()
add AUTOEXPAND_BY_REALLOC_ADD macro, use it
2020-01-23 05:01:44 +03:00
Garux e4eae18f5f use safe_malloc_info instead of unreachable code 2020-01-23 05:01:21 +03:00
Garux de8171f1ea use snprintf instead of strcpy, strcat 2020-01-22 00:03:16 +03:00
Garux 1c73baa8b9 don't check safe_malloc() result for NULL 2020-01-21 23:45:57 +03:00
Garux 3f8d708bc4 repackBSPMain(): do Error on bspList overflow 2020-01-20 19:46:19 +03:00
Garux d58454d718 repackBSPMain(): don't check for NULL before free()
reset counts (isn't required at the moment, just for potential safety)
2020-01-20 19:33:02 +03:00
Garux dfae69d446 don't check for NULL, while doing free() 2020-01-20 19:14:52 +03:00
Garux 67820df935 simplify phrasing in vsf.c 2020-01-20 17:49:44 +03:00
Garux bc8cc6e213 fix compilation in Linux (Q_stricmp was function before and was implicitly linked w/o direct inclusion)
remove platform dependent branching in q3data
2020-01-20 16:33:33 +03:00
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