Commit Graph

2608 Commits

Author SHA1 Message Date
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