153 Commits

Author SHA1 Message Date
Alibek Omarov
ef5295c5ab engine: workaround the misalignment issue when reading textures in BSP 2026-05-30 03:53:16 +05:00
Alibek Omarov
c6c1163aa0 engine: common: refactor variable declarations 2026-05-20 23:24:36 +05:00
Alibek Omarov
68dba8b4e0 engine: add litwater support 2026-04-28 11:12:11 +05:00
Alibek Omarov
7942d9b1bc engine: mod_bmodel: refactor unified bmodel loader
* Use offsets into dbspmodel_t struct, get rid of srcmodel global variable.
* Allocate dbspmodel_t when it's required
* Make srclumps const, move Blue-Shift hack into lump loader's flag.
2026-04-26 06:29:04 +05:00
Alibek Omarov
b3bb2fc16f engine: imagelib: add IL_HOST_ENDIAN flag to mark on-disk data that's already in host endianness 2026-04-26 04:12:52 +05:00
Alibek Omarov
06b14800e1 engine: mod_bmodel: fix bspx swap definition 2026-04-24 08:00:49 +05:00
Alibek Omarov
f9ed578bf1 engine: move CRC32_MapFIle to mod_bmodel, as it's a common function. Use le_struct_swap 2026-04-24 06:58:53 +05:00
Alibek Omarov
86c84c7de7 engine: common: add struct swapping for BSP models
With support for Quake BSP, HL BSP, extended HL BSP and BSPX.
2026-04-24 06:58:53 +05:00
Alibek Omarov
dd3583d11a engine: move details textures parser to the engine 2026-04-14 21:18:57 +05:00
Alibek Omarov
055d646225 ref: gl: merge refactoring changes from litwater branch 2026-04-09 11:43:47 +05:00
Alibek Omarov
6c3f8c7ec5 engine: mod_bmodel: allow nearest on quake skybox 2026-04-06 06:55:52 +05:00
Alibek Omarov
d6993c47d6 engine: mod_bmodel: do not try to load visibility if there is none, like for external bmodels 2026-04-05 07:03:46 +05:00
Alibek Omarov
bd3f865cf7 engine: mod_bmodel: only look for BSPX lumps if BSPX header was found 2026-04-05 07:03:46 +05:00
Alibek Omarov
6179bef160 engine: fix possible buffer overflow when looking for BSPX header 2026-04-05 07:03:46 +05:00
Alibek Omarov
30c81c9f01 engine: use dynamic allocation for required wad list and optional debug info 2026-03-22 14:20:59 +05:00
Alibek Omarov
af5d190bc4 engine: common: mod_bmodel: make texture name array larger so it fits both world name and miptex name 2026-03-04 06:06:00 +05:00
Alibek Omarov
eacc35d9e1 engine: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty 2026-02-21 01:20:34 +05:00
Alibek Omarov
dbbe75fec6 engine: mod_bmodel: minor refactoring 2026-02-13 12:33:44 +05:00
Alibek Omarov
f802b0eed9 engine: mod_bmodel: fix build w/ MSVC 2026-02-13 12:09:01 +05:00
Alibek Omarov
1b2c00e228 engine: add ability to scan and load BSPX lumps. As an example support RGBLIGHTING and LIGHTINGDIR extensions. 2026-02-13 11:16:12 +05:00
Alibek Omarov
e32470280d engine: add file size argument to brush model loading functions 2025-11-27 19:26:36 +05:00
Alibek Omarov
93dfcc344b engine: implement loading luma in half-life 2025-11-18 15:35:20 +05:00
Alibek Omarov
4c9b69af5f engine: mod_bmodel: allow firstclipnode index to be negative, as maps compiled with it rely on this trick by encoding whole hull as empty contents 2025-07-16 23:42:49 +05:00
Alibek Omarov
05edde050d engine: always remap clipnodes for bsp30ext 2025-05-27 22:54:06 +03:00
Alibek Omarov
1c29490889 Reapply "engine: disable clipnodes remapping for non-extended formats and QBSP2"
This reverts commit 2e748c4aea.
2025-05-27 22:44:53 +03:00
Alibek Omarov
2e748c4aea Revert "engine: disable clipnodes remapping for non-extended formats and QBSP2"
This reverts commit f2ecdad5bb.
2025-05-27 22:23:44 +03:00
Alibek Omarov
f2ecdad5bb engine: disable clipnodes remapping for non-extended formats and QBSP2 2025-05-24 20:43:44 +05:00
Alibek Omarov
298842be32 engine: fix clipnodes limit check based on BSP version 2025-05-24 17:43:01 +05:00
Alibek Omarov
15544cde26 engine: common: fix typo in aguirRe nickname [skip ci] 2025-05-21 17:43:05 +05:00
Andrey Akhmichin
d278d3bdd7 engine: common: fix clang build. 2025-01-19 04:33:06 +03:00
Alibek Omarov
7811b60292 engine: common: fix build for apple and freebsd-15 2025-01-18 10:40:12 +03:00
Alibek Omarov
5b9db5940b engine: mod_bmodel: don't try to load luma/fullbright texture for water, as no renderers support it anyway, and instead we will use that field for rippletexture 2025-01-18 08:30:59 +03:00
Alibek Omarov
98ff33d9e2 engine: mod_bmodel: rewrite .lit file loader using normal stream io functions 2025-01-09 08:02:39 +03:00
Alibek Omarov
baa8fbaaec engine: mod_bmodel: fix misleading debug message telling about monochrome lighting when .lit file is used 2025-01-09 08:02:39 +03:00
Alibek Omarov
a0b46da04b engine: consolidate all box clipnodes used in studio models, pmove and server in a single place 2025-01-09 08:02:39 +03:00
Alibek Omarov
e70ba7ad64 engine: now, remove SUPPORT_BSP2_FORMAT macro, only prevent ref_soft from loading such maps 2025-01-09 08:02:39 +03:00
Alibek Omarov
47aff9e30b engine: hack mnode_t struct so we can have 24-bit face and children indices to support BSP2 format in runtime 2025-01-09 08:02:39 +03:00
Alibek Omarov
ced8744ac9 engine: split edge struct into two with 16-bit indicies and 32-bit indicies to support BSP2 format in runtime 2025-01-08 14:46:07 +03:00
Alibek Omarov
734c07ddab engine: split clipnodes struct into two with 16-bit indicies and 32-bit indicies to support BSP2 format in runtime 2025-01-08 14:46:07 +03:00
Alibek Omarov
23b410ccb0 engine: mod_bmodel: optimize loading wad textures by directly loading it from the archive through new filesystem functions 2024-11-23 15:04:05 +03:00
Alibek Omarov
e7f939c87b engine: always add .wad extension to wadlist names to simplify how it's being used 2024-11-23 14:01:09 +03:00
Alibek Omarov
a29b6772b9 engine: mod_bmodel: fix wadlist, wad file names don't have an extension there 2024-11-18 04:53:48 +03:00
Alibek Omarov
229f1560b0 engine: fix some possible off by one errors 2024-11-17 13:04:20 +03:00
Alibek Omarov
8f7f311f60 engine: mod_bmodel: simplify wadlist parser 2024-11-17 06:28:02 +03:00
Alibek Omarov
31a86d8af2 engine: use new Q_splitstr to work with single character delimited strings 2024-11-17 05:35:36 +03:00
Alibek Omarov
0813d2c7ce engine: mod_bmodel: merge Mod_LoadColoredLightmap and Mod_LoadDeluxemap into a single function 2024-11-17 04:59:52 +03:00
Alibek Omarov
0ceb0d9e11 engine: provide compatible replacement for CompareFileTime function 2024-11-17 04:33:13 +03:00
Alibek Omarov
f529f06ea1 engine: use designated initializers to define BSP lumps. Reorder mlumpinfo_t for better memory efficiency 2024-11-06 01:39:46 +03:00
Alibek Omarov
5402a9611e engine: common: fix discarded const qualifier 2024-10-14 19:41:36 +03:00
Alibek Omarov
f52c825bf5 engine: make some global variables static and const, make even more functions static if possible 2024-10-14 19:19:46 +03:00