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
5c3b7d842c
* entity keys: prefer "angles" over "angle", "modelscale_vec" over "modelscale" if both are set
2021-05-16 21:50:09 +03:00
Garux
da98f5f9d9
add and use Entity::getClassName(), Entity::hasKeyValue()
...
do not return default value from getKeyValue()
2021-05-16 10:13:42 +03:00
Garux
ed04f90497
* .ent: "direction" attribute presence enables -1/-2 angle support for EclassModel, GenericEntity
...
* .ent: "angles" attribute presence enables angles support for EclassModel
2021-05-15 23:38:41 +03:00
Garux
155c2624b1
* .ent: support setting default model value of MiscModel type (<model key="model" name="Model File" value="ass/spider.mdc">)
2021-05-15 18:10:34 +03:00
Garux
4a53b753b8
make libassimp_.$(DLL) order-only prerequisite to avoid it in the $^ list = fix linking in linux
2021-05-13 20:42:14 +03:00
Garux
31e7829e2b
* support negative misc_model scale
2021-05-11 19:05:54 +03:00
Garux
427ef0874b
* improve ase export compatibility
...
write normals after faces
write vertex normals right after their face normal
2021-05-08 14:15:17 +03:00
Garux
9cf755dfab
lower default camera mouse sensitivity
...
screen resolution change over time ~= 640x480 -> fullHd ~= 3x
2021-05-08 11:05:13 +03:00
Garux
d1dcc29fa0
* automatically add ExtraResoucePath to q3map2 arguments, if set
2021-05-08 10:48:06 +03:00
Garux
72248bd95f
* add optional soundtypes keyword of .game config, affecting file types shown in sound browsing dialog
2021-05-07 16:30:52 +03:00
Garux
9eefda4fc5
* fix texturing, when origin key of group entity is set
2021-05-07 14:50:43 +03:00
Garux
6b699527a3
* fix rendering of direction arrow of group entities, when origin key is set
2021-05-07 14:50:16 +03:00
Garux
c58749c72a
apply custom assimp fixes
2021-05-07 14:49:50 +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
89110afef6
fix default model box
2021-04-14 16:44:01 +03:00
Garux
05f4c6639b
add -DNDEBUG for assimp
2021-04-14 16:22:27 +03:00
Garux
8d19be1c0e
* fgd: support studio("display/model/path") and flags(Angles)
2021-04-07 03:06:38 +03:00
Garux
ceb6ee6051
parse extra comment and url in fgd
2021-04-07 03:04:01 +03:00
Garux
281096da58
fix crash on EntityClassFGD:: re realise()
2021-04-07 03:00:10 +03:00
Garux
c6c978a38f
* load all found *.fgd, not just halflife.fgd
2021-04-07 02:31:28 +03:00
Garux
31a79faee4
update assimp
2021-04-07 01:56:00 +03:00
Garux
b1043424ed
fix findstring use in makefile
2021-04-04 15:58:50 +03:00
Garux
70b12396aa
build own assimp dll
2021-03-29 13:57:16 +03:00
Garux
63f9703cd6
add assimp dependency to makefile
2021-03-29 02:08:03 +03:00
Garux
b533eca7ca
add assimp library code
2021-03-29 02:06:58 +03:00
Garux
5008fa278f
simplify TYPE_CONSTANT code
2021-03-25 21:59:31 +03:00
Garux
edabdd157e
shorten BernsteinPolynomial
2021-03-25 18:03:46 +03:00
Garux
f8ab9a3b59
remove IntegralConstant hack
2021-03-25 05:50:17 +03:00
Garux
dc5dea6d21
delete copy constructors and assignment operators explicitly
2021-03-24 15:48:29 +03:00
Garux
6aa8e432f7
change Preferences_Save_Safe code to not have small oob read
2021-03-24 04:26:54 +03:00
Garux
60652a335f
remove empty .cpp of header libs
2021-03-24 01:20:05 +03:00
Garux
2222100316
indent classes, align by spaces
2021-03-24 00:25:15 +03:00
Garux
5b1b9b5e6c
fix xml entity key description with escaped characters reading
...
handle special symbols in smartedit key description tooltip
2021-03-21 05:44:28 +03:00
Garux
9feec41e31
minor tweaks
2021-03-20 20:15:43 +03:00
Garux
95f4b3e504
* only scale light radius by mouse while it is displayed
2021-03-20 02:32:42 +03:00
Garux
e200ffc762
minor tweaks
2021-03-20 02:30:11 +03:00
Garux
ebd90382a4
* improve performance of deselecting big selections
2021-03-20 02:29:48 +03:00
Garux
812679236d
* improve performance of big maps loading, undo/redo dramatically
...
determinant factor is amount of nodes in one container
2021-03-20 02:29:11 +03:00
Garux
c0c9f49433
* common shaders deduction: fallback to .game "common_shaders_dir" param (default = "common/"), so they may be configured all at once
...
#64
2021-03-13 16:57:31 +03:00
Garux
a5fb9388c2
fix double free on PICO model parsing error
2021-03-13 14:54:59 +03:00
Garux
4f5f5649dc
consider ability of _pico_parse() to return empty string (on trailing space w/o linefeed in this case)
2021-03-13 11:32:45 +03:00
Garux
c7fedadcd1
use std::vector for flagging in SmoothNormals()
...
functions run about 10% faster due to cheaper access to a flag
2021-03-13 11:16:07 +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
0cff77e30d
consider "textures/system/" jka common folder during map decompilation
2021-03-09 20:13:42 +03:00
Garux
0737e962de
use std::sort instead of qsort
2021-03-09 20:09:08 +03:00
Garux
52ef1c838a
make sure to do VectorNormalize in double
2021-03-08 15:36:46 +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
bee749118f
unify WindingExtendBounds logic
2021-03-05 06:15:48 +03:00
Garux
902fb46938
random tweaks
2021-03-04 16:11:00 +03:00
Garux
b68cbfd78b
clean ShiftBSPMain
2021-03-03 19:16:53 +03:00
Garux
ce93fb3be8
* -help -game lists available games
...
std::size for help arrays
2021-03-03 17:30:55 +03:00
Garux
39c22acbae
* case insensitive command line arguments
2021-03-03 07:54:16 +03:00
Garux
39f5a2d060
use MinMax functions instead of raw math
2021-03-03 07:01:28 +03:00
Garux
f9a424b6c8
more c++
2021-03-02 22:01:09 +03:00
Garux
9446aeca8e
fix introduced problems
2021-02-28 12:04:52 +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
ba497e4139
SafeOpenWrite, SafeOpenRead funcs use
2021-02-09 18:05:06 +03:00
Garux
37c11990cb
del struct StrBuf; CopiedString for mapShaderFile;
2021-02-09 13:03:48 +03:00
Garux
02874bebee
shorten some StringOutputStream uses
2021-02-08 13:48:49 +03:00
Garux
b013f9954c
simplify unlimited bsp entities code
2021-02-08 04:36:57 +03:00
Garux
d5f55e7c35
safe strings in OnlyEnts()
2021-02-08 02:53:57 +03:00
Garux
92b2487875
fix string warnings
2021-02-08 01:33:36 +03:00
Garux
aa596f856d
bytebool.h : only #include <stdbool.h> w/o __cplusplus
2021-02-07 07:47:33 +03:00
Garux
ca34e8f38f
enum class EFloodEntities
2021-02-07 07:34:57 +03:00
Garux
a17bf05f5c
more information in "StrList overflow" error
2021-02-07 07:23:46 +03:00
Garux
54f7daa887
more PathExtensionless use
2021-02-07 07:18:10 +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
e729f7b898
prevent stack overflow
2021-02-02 00:26:21 +03:00
Garux
2bf53ef643
fix overlook introduced in 36b63e1d2c
2021-01-30 16:50:40 +03:00
Garux
b29a8cb5c4
default release build
2021-01-30 16:24:07 +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
40ab7fa26c
remove excess string overflow checks, fix warnings
2021-01-29 05:14:33 +03:00
Garux
b9d5f091e0
use fold expression, forwarding reference
2021-01-29 05:12:20 +03:00
Garux
abc666ab7f
use std::uint32_t in md4
2021-01-28 05:11:59 +03:00
Garux
623163ae9c
remove unused markers
2021-01-28 02:12:15 +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
3ff224cbdf
fix texture projection decompilation
...
in C this check was equal to
abs((int)dist) >= distanceEpsilon
comparing float dist to distanceEpsilon is not sufficient, as points are not precise enough, plus they are snapped
2021-01-25 08:36:16 +03:00
Garux
d0dcce342b
use LightFlags::FastActual shortcut
2021-01-25 07:29:46 +03:00
Garux
bdfd864670
refactor enums
...
credits for class BitFlags go to Jelvan <3
2021-01-25 01:33:56 +03:00
Garux
661f8e53b9
switch to c++17
2021-01-25 01:11:46 +03:00
Garux
7297e8758b
remove unused light_shadows.cpp
2021-01-25 01:11:26 +03:00
Garux
22dd3d1719
fix warning
2021-01-25 01:09:21 +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
Garux
b949f70077
fix dds loading in 64 bit
2021-01-23 11:23:04 +03:00