Commit Graph
896 Commits
Author SHA1 Message Date
Garux c20192e970 mbspc: write entity numbers in decompiled maps 2024-12-20 00:57:57 +05:00
Garux dbcdb4044e * fix deformvertexes autosprite2 on brushes and models
broken for brushes in c166e4214e by new triangualtion
broken for models forever
fixes https://github.com/TTimo/GtkRadiant/issues/658
2024-12-17 09:29:30 +05:00
Garux af7c039b21 trim all trailing spaces in mbspc altogether 2024-12-10 10:29:56 +05:00
Garux 79f435721b mbspc * fix build speed penalty due to terminal output
most noticeable with msvcrt, e.g.:
dump to file: 8 sec
ucrt terminal: 14 sec
msvcrt terminal: 40 sec
2024-12-10 10:14:31 +05:00
Garux 9ed79ea8cf correct libxml #include type 2024-12-06 06:15:55 +05:00
Willi Schinmeyer 27c5b9e78b Rework TemplateString for standard compliance
Creating an std::integer_sequence from a user-defined string literal is
a non-standard gcc extension. This alternative implementation should
conform to C++20.
2024-12-05 19:00:23 +05:00
Willi Schinmeyer 14e1cc95ad Fix StringFixedSize infinite template recursion
On MSC, `sizeof...(Args) != 1 ||` does not short-circuit properly, so
`std::tuple_element_t<0, std::tuple<Args...>>` is treated as an
out-of-bounds access.

This felt like a good use-case for concepts, but the fix could also have
been done while keeping std::enable_if.
2024-12-04 11:30:59 +05:00
Garux 721687afbe manage snprintf uses 2024-12-04 08:32:40 +05:00
Garux 55dc6e677d use std::set std::map contains() 2024-12-01 06:01:52 +05:00
Garux 7dc1a3dbb0 switch to c++20, switch to std::span 2024-11-27 02:07:43 +05:00
Garux 8202b5a6ba fix some warnings 2024-11-24 02:00:56 +05:00
Garux 7a4695e7eb tweak md4 funcs 2024-11-24 01:10:30 +05:00
Garux 2afef413c0 fix floating point errors 2024-11-16 05:52:52 +05:00
Garux c488aa115b * -globalflag <surfaceparm>: add surface flag to every bsp shader. Reusable, e.g. -globalflag slick -globalflag nodamage. 2024-11-14 22:02:38 +05:00
Garux db64da67a4 modernize surfaceExtra_t storage 2024-11-13 06:47:24 +05:00
Garux a24c330de2 refactor tjunction.cpp 2024-11-13 00:35:23 +05:00
Garux c166e4214e * improved brush faces triangulation wrt degenerate triangles production (non -maxarea algorithm) 2024-11-11 04:59:17 +05:00
Garux e0169cdc63 * -nobrushsnap: disable brush vertices snapping (of drawsurfs) (experimental, keep eye on meta merge efficiency)
fixes most of issues added by tjuction fixing due to offshape vertices insertion
2024-11-11 04:26:57 +05:00
Garux 0145a3df45 apply bevel surfaceflags unconditionally
seemingly does not add extra bsp shaders
useful in Urban Terror to prevent walljumps by slick surfaceparm
2024-11-07 05:17:17 +05:00
Garux 343cf73d29 force q3map2 net send if >1-2 seconds has passed for greater build monitoring responsibility 2024-11-03 02:36:14 +05:00
Garux 958b99a4c4 fix si->implicitImagePath extension presence vagueness added in c3437b7833
closes #220
2024-10-31 01:50:50 +05:00
Garux 9a9d48ab20 fix -bounce -dump files numbering, don't write last empty file 2024-09-18 18:16:05 +05:00
Garux 9a4f0321ef Merge commit 'c54bd5caf3dd576e729bd20141cb348badd457eb' 2024-07-04 14:01:33 +05:00
Garux 7499ba60ea always fix backsplashes in vfsGetFileCount, vfsLoadFile to surely work in unix
fixes e.g. misc_model.model-path with backsplashes
https://github.com/Garux/netradiant-custom/pull/200
2024-06-23 09:23:08 +05:00
Garux d59668f943 don't write nomipmaps hack 5daf2e265e when native external lightmaps, as it prevents r_mapOverbrightBits application 2024-04-05 14:45:42 +05:00
Garux 5daf2e265e * generate shaders to force nomipmaps flag on external lightmap images created by lightstyles and external lms hacks
fix -trisoup: apply after each -bounce
remove excess WriteBSPFile() when -yes-bounceStore + 'No diffuse light to calculate, ending radiosity'

https://github.com/TTimo/GtkRadiant/issues/66
2024-03-09 17:01:12 +05:00
Garux 34038fd7fd unify WriteBSPFile() print 2024-03-08 04:23:25 +05:00
Garux a3d438c4be * adjust -light -trisoup to enable performance hack for games with low verts per lmed surf count (e.g. 64 in Q3):
-bsp -meta -mv 999 //get big lmed surfs with max verts count = max trisoup verts (-debugsurfaces to debug)
		-light -extlmhacksize 1024 -trisoup //gen shaders for external lms and mark as trisoup
2024-02-26 22:41:10 +06:00
Garux c8bf05af57 fix -info leafsurfaces alignment 2024-02-26 20:26:57 +06:00
Garux 6abeb431e3 fix ds->lightmapAxis after MergeMetaTriangles 2024-02-26 17:39:13 +06:00
Garux 6749261e75 * -maxshaderinfo <N>: Sets max amount of shaderInfo, default = 8192 2024-02-15 23:35:45 +06:00
Garux 20a9afcd1d * -maxmapdrawsurfs <N>: Sets max amount of mapDrawSurfs, used during .map compilation (-bsp, -convert), default = 131072 2024-02-15 22:35:58 +06:00
Garux 2721cca15b untie PatchMapDrawSurfs() from MAX_MAP_DRAW_SURFS, was doing stack overflow when increased 2024-02-14 09:35:39 +06:00
Garux c54bd5caf3 appease clang's sfinea 2024-02-08 23:25:55 +06:00
Garux e77d713bad * fix custom shaders generation for lightstyles and external lightmaps hacks for :q3map suffixed shaders
note ignoring only classic stageless :q3map shaders; ones with stages are assumed as templates for custom shaders, hidden by suffix
closes #165
2024-02-04 09:33:43 +06:00
Garux 4b26129c47 minor tweaks 2024-02-03 17:34:58 +06:00
Garux df02774ff5 tweak StringOutputStream use
auto str = StringOutputStream()(bla) use form was not doing copy elision or move, but copy
2024-01-29 16:54:08 +06:00
Garux b4e44bc8ed refactor StringFixedSize, auto str = String64()() use form was not doing copy elision 2024-01-25 23:46:01 +06:00
Garux 8923546e79 more precise -bounce description 2023-08-23 00:24:29 +06:00
Garux a2e35eb774 in autocaulk use caulk instead of nodraw, if latter is nonsolid
#145
2023-08-18 17:50:42 +06:00
Thomas Debesse 2c947b7e95 q3map2/light: introduce -nobouncestore
when storing computed lightmap on each bounce, user can interrupt compilation and
get working files, but it spends allocation time (which is slow and single-threaded

with this option, user can decide to only allocate lightmaps on the very final
bounce, it means it can't be interrupted, but it can save a lot of time
2023-08-18 15:10:59 +06:00
Matthias Krüger 374f66bb42 q3map2: don't store lightmap if the last bounce computation ran empty. 2023-08-18 15:06:20 +06:00
Garux 1fb1896f11 tweak light styles checks 2023-08-18 11:30:48 +06:00
Garux d40538eea0 * fix RBSP style keys on -exportents and decompilation, so that they are alright for -onlyents and compilation 2023-08-18 01:20:58 +06:00
Garux a5bad3d471 * fix: don't turn lights with targetname to styled for IBSP, as they are not switchable there 2023-08-17 19:46:49 +06:00
Garux 1da9dbfea9 * -keepmodels in -bsp / _keepModels on worldspawn: keep misc_model entities in the BSP file after compile 2023-08-17 19:22:21 +06:00
Garux 1e909131be * misc_model _target and group entity _targetname key aliases for baking the model into entity
helps when targetname key is not wanted on an entity, as changing its behavour
crosslinking of keys versions works, underscored version has priority
2023-07-05 14:45:05 +06:00
Garux cfe248da83 q3map2 -light -scale: don't scale bounced light; user expects scaling light sources here 2023-07-05 12:43:58 +06:00
Garux f9bc21ab12 * -lessbrushes switch: less brushes when decompiling Q1, HL maps at the expense of texturing 2023-01-18 21:36:11 +06:00
Garux f43f9da361 mbspc: * improve decompilation quality of Q1, HL maps greatly (texturing correctness, less brushes)
#87
#92
2023-01-18 21:33:23 +06:00