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
18c741a960
remove unused side_t field
2021-09-08 19:45:04 +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
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
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
1372ea440b
more move semantics
2021-08-15 15:15:30 +03:00
Garux
f492ab27eb
more c++ in q3map2
2021-08-10 22:41:43 +03:00
Garux
99f4a4a767
minor tweaks
2021-08-03 20:54:21 +03:00
Garux
357f67f237
remove Q_EXTERN int numLights
...
remove /* potential pre-setup */ :
1. it seems to never actually be the case
2. it is called from threaded functions, while SetupEnvelopes() itself is not thread safe
2021-08-03 18:26:47 +03:00
Garux
f49639c697
std::list<light_t> lights
2021-08-03 07:28:53 +03:00
Garux
15b391cdb3
minor tweaks
2021-08-02 00:47:18 +03:00
Garux
e8996d0857
using facelist_t = std::forward_list<face_t>
2021-08-01 22:50:35 +03:00
Garux
c3041cc2f8
using winding_t = std::vector<Vector3>
2021-07-31 18:28:38 +03:00
Garux
ffa1a4340c
std::vector<plane_t> mapplanes
2021-07-29 22:21:36 +03:00
Garux
89b7bcdf53
* read .map brush plane points and store brush planes for windings calculation in double precision (fixes cracks between brush faces)
2021-07-27 20:04:35 +03:00
Garux
6c00419653
fix spelling
2021-05-24 20:23:09 +03:00
Garux
5efe29d863
* use dynamic maxSurfaceVerts (user preference/game define) in 'force meta process for a surface' decision (was hardcoded)
2021-05-20 17:10:31 +03:00
Garux
75c7c09903
* replace model loaders by assimp library (40+ formats)
...
* auto split big model meshes to <= maxSurfaceVerts chunks (avoids excess meta process for vertexlit ones)
2021-05-07 14:47:39 +03:00
Garux
2222100316
indent classes, align by spaces
2021-03-24 00:25:15 +03:00
Garux
1d4424f4c6
minor tweaks
2021-03-12 01:17:01 +03:00
Garux
09c78ec0dc
return Vector3 from vectorForKey()
2021-03-11 20:16:52 +03:00
Garux
1144be0881
add BasicVector3 uniform constructor
2021-03-11 19:14:07 +03:00
Garux
98f9023cdc
minor tweaks
2021-03-11 10:57:17 +03:00
Garux
858ec974f7
* -saturation light switch, default = 1, affects lightmaps and vertex color; > 1 = saturate, 0 = grayscale, < 0 = complementary colors
2021-03-08 13:34:58 +03:00
Garux
ac1dd904f1
* print available games on wrong -game and -format args
2021-03-08 13:32:16 +03:00
Garux
293fab0ffb
manage color-to-byte conversions
2021-03-05 13:37:56 +03:00
Garux
39f5a2d060
use MinMax functions instead of raw math
2021-03-03 07:01:28 +03:00
Garux
9857bb955b
more c++ math
2021-02-26 01:10:51 +03:00
Garux
4ce944444d
rewrite q3map2 math in c++
2021-02-25 19:41:43 +03:00
Garux
820dd5e21f
bump MAX_IMAGES, MAX_MODELS
2021-02-10 00:20:32 +03:00
Garux
37c11990cb
del struct StrBuf; CopiedString for mapShaderFile;
2021-02-09 13:03:48 +03:00
Garux
b013f9954c
simplify unlimited bsp entities code
2021-02-08 04:36:57 +03:00
Garux
92b2487875
fix string warnings
2021-02-08 01:33:36 +03:00
Garux
ca34e8f38f
enum class EFloodEntities
2021-02-07 07:34:57 +03:00
Garux
5fd7b340df
* discard excess portals in the void (great optimization for maps with void areas in between of playable areas and non rectangular maps)
...
(excess portals there are effect of _blocksize)
* optimize FloodPortals() (also fix stack depth crash in debug mode due to recursive calls)
* fix xml_Select() of leaked entity (was selecting last map entity always)
* xml_Select() leaked entity exactly in the beginning of leak line
2021-02-06 22:22:59 +03:00
Garux
2bf53ef643
fix overlook introduced in 36b63e1d2c
2021-01-30 16:50:40 +03:00
Garux
99a5ef0416
refactor entity key values routines
2021-01-30 16:23:31 +03:00
Garux
8425ce3c3e
refactor foliage_t
2021-01-29 22:40:09 +03:00
Garux
762699287e
refactor surfaceModel_t
2021-01-29 21:11:56 +03:00
Garux
276d1f5875
safe string in indexMap_t
2021-01-29 20:46:06 +03:00
Garux
e11aede11a
refactor surfaceType_t enum
2021-01-27 19:43:53 +03:00
Garux
1efff8cdfe
refactor enum vstatus_t
2021-01-27 11:53:32 +03:00
Garux
62a0ae5623
prevent string overflows
2021-01-26 22:31:19 +03:00
Garux
bdfd864670
refactor enums
...
credits for class BitFlags go to Jelvan <3
2021-01-25 01:33:56 +03:00
Garux
20b908e31b
remove excess typedef struct declarations
2021-01-23 19:26:50 +03:00
Garux
54c38610bf
use std::list<epair_t>
2021-01-23 17:25:47 +03:00
Garux
36b63e1d2c
turn entities array to std::vector<entity_t>
2021-01-23 15:39:42 +03:00