Alibek Omarov
e52c46ec5e
engine: imagelib: rename mips variable to mipmaps, to avoid clash with some MIPS compilers
...
While here, reduce some variables scope.
2025-08-25 11:37:14 +05:00
Alibek Omarov
4f45df2293
engine: imagelib: add missing argument name, so it compilers with old C standards compliant compilers
2025-08-11 20:50:03 +05:00
Alibek Omarov
be0d31f408
engine: imagelib: try to use FS_Search to bruteforce through supported image formats
2025-08-08 18:14:46 +05:00
Alibek Omarov
cd26b1f279
engine: imagelib: img_quant: reduce used colors from 256 to 255, so last color in palette can be reserved for custom usage (like transparency in player decals)
2025-07-25 01:39:59 +05:00
Alibek Omarov
24f05e3fc5
engine: client: refactor spray logo, get rid of unneeded bmp checks
2025-07-25 01:34:46 +05:00
Sergey Degtyar
e36486b73a
engine: imagelib: handling wad extension to save and load image properly
2025-07-16 23:54:56 +05:00
Alibek Omarov
fc3b8ae45d
engine: imagelib: allow installing texgamma processed palette before loading sprites
2025-05-26 19:09:28 +05:00
Alibek Omarov
911b83a9d8
engine: imagelib: load studio model textures with texgamma applied (like GoldSrc)
2025-05-26 19:09:28 +05:00
Alibek Omarov
f6e8a68b22
engine: imagelib: img_png: fix -Wmaybe-uninitialized
2025-03-25 17:07:05 +03:00
Alibek Omarov
ccd31c6b27
engine: imagelib: get rid of useless formatstring, which is always the same for all types
2025-03-15 19:29:11 +03:00
Alibek Omarov
1e8e4825fa
engine: fix remaining -Wformat=2 and force it to -Werror
2025-03-15 01:24:59 +03:00
Alibek Omarov
9f322df498
engine: imagelib: handle loading truncated palette files, by filling remaining bytes with zeros
2025-01-22 19:21:51 +03:00
Alibek Omarov
0c471aecb1
engine: common: imagelib: get rid of NULL sentinels at the end of arrays
2024-12-22 07:21:06 +03:00
Alibek Omarov
0b1ad3b7f0
engine: imagelib: fix mismatched dealloc in a test
2024-09-30 04:00:28 +03:00
Alibek Omarov
85dfaaa2c2
engine: imagelib: add LUMP_TEXGAMMA palette kind to only pass HL textures through texgamma, not Quake
2024-07-19 06:34:51 +03:00
Alibek Omarov
a09084ceba
engine: imagelib: super micro-optimization, reallocate buffer in Image_Copy rather than allocating and copying
2024-07-16 05:10:29 +03:00
Alibek Omarov
d56e53a347
Replace hardcoded functions names by __func__ macro
...
* while we're here, fix some possible bugs
* and fix -Wformat=2
s/__FUNCTION__/__func__/g
awawawa
2024-06-19 06:53:42 +03:00
Alibek Omarov
21195b3491
engine: increase logo and hpak limits, add cl_logomaxdim cvar to limit decal size (set to 96, default HL logo size is 64)
2024-06-11 07:47:01 +03:00
Alibek Omarov
fed65dd497
engine: imagelib: fix possible NULL dereference
2024-04-04 20:42:25 +03:00
mittorn
c082e46662
imagelib: fix for loop scope
2024-02-27 04:04:54 +03:00
Alibek Omarov
dd2c369df3
engine: imagelib: fix integer overflow on huge images when calculating reflectivity
2024-02-17 22:14:27 +03:00
Alibek Omarov
2b6a550405
engine: clean up common.h header from unused function prototypes, or move them to appropriate header or C file
2024-01-28 10:00:17 +03:00
Alibek Omarov
75d476f9df
engine: fix -Wmissing-prototypes
2024-01-28 09:55:18 +03:00
Alibek Omarov
a311923d4e
engine: imagelib: apply texgamma to palette (ideally should be applied only to BSP/WAD textures)
2024-01-09 03:55:07 +03:00
Alibek Omarov
a675806c91
engine: imagelib: img_ktx2: don't allow to load images with no mip levels
2023-12-11 07:06:12 +03:00
mittorn
b949da291e
engine: fix strict aliasing issues found by an old armv7hf compiler
2023-10-22 20:02:14 +03:00
Ivan Avdeev
a251600c8a
engine: common: imagelib: add KTX2 support ( #1455 )
...
* engine: common: imagelib: add KTX2 support
Adds basic KTX2 support for a few compressed formats. KTX2 essentially
is a Vulkan-centric texture format that supports literally hundreds of
pixel formats.
For now only support for these is added:
- `VK_FORMAT_BC4_UNORM_BLOCK`
- `VK_FORMAT_BC4_SNORM_BLOCK`
- `VK_FORMAT_BC5_UNORM_BLOCK`
- `VK_FORMAT_BC5_SNORM_BLOCK`
- `VK_FORMAT_BC6H_UFLOAT_BLOCK`
- `VK_FORMAT_BC6H_SFLOAT_BLOCK`
- `VK_FORMAT_BC7_UNORM_BLOCK`
- `VK_FORMAT_BC7_SRGB_BLOCK`
Adding more formats is relatively straightforward:
- Copy format definition from `VkFormat` enum in `vulkan_core.h`
- Add a new definition into `pixformat_t` enum.
- Add format size calculation into `Image_ComputeSize()`
While we're at it, also adds a few new formats to DDS:
- BC4_UNORM -- PF_BC4_UNSIGNED
- BC4_SNORM -- PF_BC4_SIGNED
- BC5_UNORM -- PF_BC5_UNSIGNED
- BC5_SNORM -- PF_BC5_SIGNED
- BC7 is expanded into BC7_UNORM and BC7_SRGB
ref_gl and ref_soft code is updated where it made sense. But not tested
really. Support for these formats has been tested with ref_vk.
* address spaces-vs-parentheses formatting where noticed
* parenthesize sizeofs
* move ktx2.h to imagelib as img_ktx2.h; massage it a bit
* use SetBits() instead of |=
* remove stale TODO comments
2023-10-18 10:31:40 +03:00
Alibek Omarov
8f207362a5
public: remove Q_sprintf, and patch all code that used it to use Q_snprintf instead
2023-04-26 05:20:45 +03:00
Alibek Omarov
824a34ee1e
engine: common: imgelib: fix declaration after statement in test code
2023-04-14 18:58:43 +03:00
Alibek Omarov
1caa276531
engine: common: imagelib: fix loading cubemaps
...
Loop break was a bug that was added after refactoring imagelib loader.
In fact, it was mindlessly copypasted from old code, where same break was
used to quickly exit from inner format bruteforcing loop, than outer cubemap
loading loop.
2023-03-25 07:02:29 +03:00
Andrey Akhmichin
9e9703e6de
engine: common: imagelib: replace va function calls.
2023-03-11 17:37:16 +03:00
fgsfds
25a1cb8ce7
Nintendo Switch support (again)
2023-02-05 02:09:32 +01:00
Alibek Omarov
aac0be1ab3
engine: imagelib: img_bmp: fully initialize local palette array
2023-01-31 00:50:04 +03:00
Alibek Omarov
49a65edfc3
engine: imagelib: img_quant: fix a bug in quantizer (thanks, @SNMetamorph for fix)
2023-01-05 07:24:24 +03:00
Alibek Omarov
ea3bfd969c
engine: imagelib: img_wad: dirty hack to fix black holes in console background images
2022-12-08 05:40:11 +03:00
Alibek Omarov
0e9106685b
engine: imagelib: img_png: fix Mem_Free on null ptr
2022-12-05 06:13:04 +03:00
Alibek Omarov
9b001987e9
engine: imagelib: fix crash when chunk length is more than file size
2022-12-05 05:39:41 +03:00
Alibek Omarov
21c898d796
engine: imagelib: validate player decal image size (max 512x512)
2022-12-05 04:55:24 +03:00
Alibek Omarov
e48b708fa6
engine: imagelib: img_png: validate image size through common engine function
2022-12-05 04:54:20 +03:00
Alibek Omarov
ccf7619ae5
engine: imagelib: refactor image loading function
2022-12-05 03:22:07 +03:00
Andrey Akhmichin
7bb994f7bc
engine: common: imagelib: img_png.c: fix wrong palette decoding.
2022-12-04 22:09:24 +03:00
Alibek Omarov
c61442e960
engine: imagelib: simplify string operation
2022-12-04 05:26:22 +03:00
SNMetamorph
49fc6143ab
engine: common: imagelib: fixed loading 32 bits per pixel BMP files
2022-11-25 22:30:49 +03:00
SNMetamorph
8717843333
engine: common: imagelib: fixed BMP files estimate size calculation with NPOT textures
2022-11-25 22:30:49 +03:00
SNMetamorph
f6d8996968
engine: common: imagelib: added missed BMP compression type macros
2022-11-25 22:30:49 +03:00
Andrey Akhmichin
d237114962
engine: common: imagelib: img_png.c: unroll loops.
2022-11-02 14:14:05 +06:00
Andrey Akhmichin
fd152e82e8
engine: common: imagelib: img_png.c: add support for indexed and grayscale PNG images.
2022-09-08 12:11:02 +03:00
Alibek Omarov
5e4fc64430
filesystem: introduce new module, based on engine filesystem.
...
The goal is to share filesystem code between engine and
utilities and provide C++ VFileSystem interface in the future
2022-07-28 18:56:02 +03:00
Andrey Akhmichin
87ce35b32d
engine: common: imagelib: img_utils.c: change formats priority.
2022-06-25 17:23:44 +03:00
Alibek Omarov
36cec298c2
Revert "engine: common: imagelib: img_tga.c: fix broken tga flip."
...
This reverts commit 99de598ea4 .
2022-06-25 17:03:13 +03:00