Commit Graph
100 Commits
Author SHA1 Message Date
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