Garux
ecf9a46e78
std::vector<bspAdvertisement_t> bspAds
2021-09-27 13:29:59 +03:00
Garux
ce0dd55cc5
std::vector<bspFog_t> bspFogs
2021-09-27 12:56:08 +03:00
Garux
4642753564
std::vector<bspDrawSurface_t> bspDrawSurfaces
2021-09-27 06:14:12 +03:00
Garux
7993cc8a1f
std::vector<int> bspDrawIndexes
2021-09-26 22:10:46 +03:00
Garux
c58bd839da
std::vector<bspDrawVert_t> bspDrawVerts
2021-09-26 21:41:46 +03:00
Garux
560060a908
std::vector<byte> bspVisBytes
2021-09-26 20:34:41 +03:00
Garux
28dfbaa5ab
std::vector<bspGridPoint_t> bspGridPoints
2021-09-26 20:01:26 +03:00
Garux
e4d6e63e91
std::vector<byte> bspLightBytes
2021-09-25 19:16:25 +03:00
Garux
f5c1a11a66
std::vector<bspBrushSide_t> bspBrushSides
2021-09-25 10:17:51 +03:00
Garux
9f63742fda
std::vector<std::uint8_t> opaqueBrushes
2021-09-24 17:35:58 +03:00
Garux
260dc59d4a
std::vector<bspBrush_t> bspBrushes
2021-09-24 17:05:00 +03:00
Garux
a20717c364
std::vector<int> bspLeafBrushes
2021-09-24 16:27:10 +03:00
Garux
6066fe2cc2
std::vector<int> bspLeafSurfaces
2021-09-24 16:16:02 +03:00
Garux
b1f32e6faa
std::vector<bspNode_t> bspNodes
2021-09-24 16:06:34 +03:00
Garux
bccd3bafd7
std::vector<bspPlane_t> bspPlanes
2021-09-24 15:43:24 +03:00
Garux
76d2b565b3
std::vector<bspLeaf_t> bspLeafs
2021-09-24 15:25:58 +03:00
Garux
6267f1d0af
std::vector<char> bspEntData
2021-09-24 13:57:17 +03:00
Garux
58911934e0
std::vector<bspShader_t> bspShaders
2021-09-24 13:39:04 +03:00
Garux
6e2fc92576
std::vector<bspModel_t> bspModels
2021-09-24 12:11:11 +03:00
Garux
0e0a295330
* new: bsp export/import in json format; Usage: q3map2 -json <-unpack|-pack> [-v] <mapname>
2021-09-23 03:11:43 +03:00
Garux
29ba8c4876
refactor command line arguments parsing
2021-09-19 11:58:00 +03:00
Garux
02a3b9c026
use ostream_write( CopiedString )
2021-09-18 15:30:11 +03:00
Garux
b78513f9f8
refactor InitPaths()
...
get rid of MAX_OS_PATH
2021-09-17 19:50:36 +03:00
Garux
e22e6169c9
* -fs_basegame gamename: Overrides default game directory name (e.g. Q3A uses 'baseq3', OpenArena 'baseoa', so -game quake3 -fs_basegame baseoa for OA )
2021-09-16 15:26:55 +03:00
Garux
97ad9bf5c5
separate path manipulating functions
...
unlimit VFS_MAXDIRS
2021-09-15 08:07:05 +03:00
Garux
e1186dd734
subdivide files
2021-09-13 22:29:44 +03:00
Garux
dbeb2d0718
rename game -> g_game
2021-09-13 18:49:09 +03:00
Garux
5c5f698c28
use standard [[ noreturn ]] attribute
...
add ENSURE macro
2021-09-13 18:22:44 +03:00
Garux
ef635cd95c
remove direct uses of MAIN_C macro
2021-09-13 16:33:29 +03:00
Garux
68b8d7d5dc
refactor game configs: using class inheritance to avoid massive duplication
2021-09-13 16:11:01 +03:00
Garux
34fc3d0a5d
minor tweaks
2021-09-08 20:03:15 +03:00
Garux
18c741a960
remove unused side_t field
2021-09-08 19:45:04 +03:00
Garux
77f2e39af5
minor tweaks
2021-09-08 19:40:09 +03:00
Garux
f3321cef5f
* 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
2021-09-08 19:22:18 +03:00
Garux
23d82aa9ef
* prioritize +Z fog visible side in ambiguous case (= -Z fog direction), as in fogged pit
2021-09-08 10:11:49 +03:00
Garux
204c3138e2
emit warning on expected practical engine fog limit overflow
2021-09-07 08:14:04 +03:00
Garux
43b5148447
remove -metaMaxBBoxDistance
...
with current 'pre weld' strategy it's not optimization anymore, also wont work as option to merge non welded triangles with adjusted meta score
2021-09-05 14:45:01 +03:00
Garux
191d489d62
* hasten MergeMetaTriangles and SmoothMetaTriangles to perform typically in 0 seconds
...
* improve quality of metasurfaces and reduce their count in general case
2021-09-05 11:37:00 +03:00
Garux
bafb339c09
MergeMetaTriangles: epsilon compare st, improves merging imprecise sts, e.g. for nonplanar surfaces after q3map_tcgen or just brush face texture projection
2021-09-03 06:23:40 +03:00
Garux
d113eed245
improve MergeMetaTriangles out surfaces quality and reduce count
2021-09-03 06:19:41 +03:00
Garux
7f8e548c2f
* hasten MergeMetaTriangles greatly (around 30 times in worst case)
...
this has negative impact on surfaces count in certain scenario (big axial surface of easily mergable triangles)
it wins predecessor once we rotate such surface
so may be consider choosing sorting plane per lump or mergables
algorithm itself is dependent on test data ordering, thus best option would be tweaking it, not prerequisites
`redundant indexes suppressed` count is always worse with this due to sorting nature, sorting per axial plane helps
assuming this optimization is not important and case dependent
2021-09-01 20:16:57 +03:00
Garux
f067b5d6c3
tweak -meta
2021-08-28 18:37:22 +03:00
Garux
0ad3d89d4a
use spatially sorted indices during search of coincident vertices in AddMetaVertToSurface
2021-08-28 10:56:50 +03:00
Garux
e780b45696
enfasten -meta for nonplanar by doing cheap check 1st
2021-08-27 17:13:26 +03:00
Garux
160c1d33db
remove -texrange business (assuming it's not relevant for decades)
...
optimize -meta (shave off 1/3 in worst case)
2021-08-27 12:18:56 +03:00
Garux
8d71aea059
* Q2::surface inspector::brush face flags: add "Unset flags" button
2021-08-24 18:57:59 +03:00
Garux
b58408344c
Q2 optional brush face flags in BP, 220 mapformats
2021-08-24 18:55:34 +03:00
Garux
3129fd0bce
refactor model clipping code
2021-08-20 22:32:33 +03:00
Garux
f0c393fcbf
remove __attribute__ ((unused)) uses
2021-08-19 23:14:18 +03:00
Garux
4c49b81c3a
shorten g_archives syntax
2021-08-19 13:16:38 +03:00