2
0
mirror of https://github.com/FWGS/xash3d-fwgs synced 2024-11-06 18:42:29 +01:00
Commit Graph

155 Commits

Author SHA1 Message Date
02b8037f33 common: xash3d_types: add NONNULL attribute 2023-10-22 17:37:09 +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
ef663a8790 engine: partially remove legacy Android port, in preparation of new port merge 2023-06-05 20:30:18 +03:00
05560c7607 engine: always read and set vid_fullscreen value directly with it's object 2023-05-27 21:52:58 +03:00
6e27926a10 engine: simplify XASH_USE_EVDEV macro usage by giving it's defined positive value 2023-03-27 17:28:19 +03:00
SNMetamorph
575179dbf5 engine: client: added default dead zone values for psvita platform 2023-03-27 03:52:51 +03:00
fgsfds
adc5aa4659 psvita: don't default to -dev 255 2023-03-11 07:09:18 +03:00
fgsfds
6304b51f32 psvita: fno-short-enums, make ref_gl function somewhat 2023-03-11 07:09:18 +03:00
fgsfds
7424b29e56 engine: initial psvita build support 2023-03-11 07:09:14 +03:00
3765686077 public: make va() buffer size public 2023-03-11 05:28:17 +03:00
9b0ac7cb32 common: add shared synctype_t definition header, borrowed from Quake's modelgen.h 2023-02-14 18:18:16 +03:00
555fd02407 defaults: reorganize platform default overrides, disable touch for nswitch 2023-02-09 05:55:35 +03:00
fgsfds
4e87eb068a engine: common: nswitch: use #if instead of #ifdef 2023-02-07 23:03:59 +01:00
fgsfds
25fb89f717 nswitch: don't redefine O_BINARY 2023-02-05 02:16:56 +01:00
fgsfds
25a1cb8ce7 Nintendo Switch support (again) 2023-02-05 02:09:32 +01:00
Xav101
9466461ce0
engine: preliminary support for SGI IRIX (#1211)
* Added definitions for IRIX

* Patchset to get dedicated server to compile on IRIX.

* Cleaned up debug statements in wscript

* Potential bug in IRIX implementation of isnan? For now just use the portable macro.

* Include the platform port files in the build

* Temporary execution script for setting appropriate library search paths to the right locations in the build directory. This should probably get replaced with a more permanent script at some point which lives in the same directory as the normal xash binary, or be replaced by a solution that sets the rpath during config or modifies rpath during install.

* Clean up formatting and remove unneeded debugging statements

* Added GPL copyright notice and description

* Moved to irix platform folder and edited script

* Re-introduced _inline macro

* Replace spaces with tabs

Co-authored-by: Xav101 <xaviernye@msn.com>
2023-01-14 09:35:30 +03:00
c28aeb2362 engine: make crashhandler implementation choice private to crashhandler code 2023-01-09 07:55:54 +03:00
4684f174ee public: completely get rid of PATH_SEPARATOR macros 2023-01-05 06:06:07 +03:00
e1ea3387ee common: rename PATH_SPLITTER to PATH_SEPARATOR, change it's type to character 2022-12-27 02:31:46 +03:00
6e179346c9
common: redefine poolhandle_t back to pointer for 32-bit systems 2022-12-19 18:36:31 +03:00
f20fddee1c common: bspfile: add separate definitions for clipnodes limit for HLBSP and QBSP2 2022-12-15 00:42:40 +03:00
SNMetamorph
080cd146dd common: com_model: changed common structs reserved fields type to intptr_t 2022-12-11 22:59:17 +03:00
e48b708fa6 engine: imagelib: img_png: validate image size through common engine function 2022-12-05 04:54:20 +03:00
e30c61c0e2 common: netadr: use static_assert macro 2022-11-17 19:44:47 +03:00
64e97124c3 Merge master to ipv6 2022-11-17 19:34:46 +03:00
a52d901f25 common: add STATIC_ASSERT macro
We're trying to guess if we have C11 static_assert defined in assert.h
otherwise use good ol' trick with negative array
2022-09-20 21:55:32 +03:00
69b0954007 engine: change RenderAPI's RenderGetParm return type to intptr_t to insure compatibility with 64-bit 2022-09-20 18:06:19 +03:00
cb34c23844 common: increase MAX_MAP_MODELS to 1024, to match PrimeXT compilers 2022-08-21 17:27:48 +03:00
3eb4862794 common: remove unneeded typedef for wad file type 2022-08-01 15:06:54 +03:00
6e031b518a engine: client: increase limit of client sprites, lower part of it can be used only for HUD sprites
higher part used for client sprites
map overview sprites are loaded as normal models

thus we have equal internal engine and hud sprite indices and it fixes compatibility issues
for mods like Half-Rats Parasomnia
2022-07-01 03:41:55 +03:00
5d4f8373c4 common: fix usage of __has_builtin for old GCC releases 2022-06-29 03:53:36 +03:00
b9b8b0521b common: add unlikely()/likely() macros 2022-06-29 02:36:39 +03:00
7c9f5f8ab1 engine: remove LoadLibrary macros, to avoid possible misuse. Although macros moved to game_launch, it's part of it's own problem from now 2022-06-11 03:25:57 +03:00
2b8b3e1993 engine: server: new IP filter, rewritten with IPv6 in mind 2022-06-09 03:10:02 +03:00
b0a889d1a1 engine: bring back simple netadr_t, as we don't care about IPv4-to-IPv6 mapped addresses anymore 2022-06-09 03:10:02 +03:00
a1299e1dfe common: third iteration of ipv6 netadr_t, now binary compatible with v4-to-v6 mapped addresses 2022-06-09 03:10:02 +03:00
12bfb8f795 common: another approach on netadr_t with better compatibility 2022-06-09 03:10:02 +03:00
9ae72dbc47 common: update netadr_t structure to include IPv6 addresses 2022-06-09 03:10:02 +03:00
6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
9ce8edcb38 public: moved compiler attributes to xash3d_types.h 2022-05-28 17:57:43 +03:00
SNMetamorph
6473efa995 engine: added support for BC7 and BC6H compression formats of DDS textures 2022-03-07 02:03:40 +03:00
203afda053 engine: add render_picbutton_text flag to use mainui_cpp font renderer for rendering WON buttons 2022-02-10 02:53:35 +03:00
ccf90beb7d public: crtlib: add Q_isspace function 2022-01-04 02:22:20 +03:00
4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
fb8791529e common: include build.h in xash3d_types.h 2021-12-23 18:46:40 +03:00
764ef93984 common: add fs_size_t typedef, for read()/write() return value 2021-12-23 01:21:33 +03:00
SNMetamorph
aa07dab8ab engine: added feature flag ENGINE_LINEAR_GAMMA_SPACE 2021-12-08 20:27:02 +03:00
e0efe0aa23 engine: remove emboss filter. There seems no real use for it. 2021-12-07 09:09:45 +03:00
a3d6e7bcfe common: define FCVAR_FILTERABLE, change FCVAR_LATCH value (probably losing compatibility with XashXT and Paranoia 2) 2021-11-23 05:23:38 +03:00
36702aafe7 engine: rename FCVAR_LOCALONLY and CMD_LOCALONLY into FCVAR_PRIVILEGED and CMD_PRIVILEGED 2021-11-23 05:23:38 +03:00