Alibek Omarov
e09773c912
engine: server: add challenge to A2S_GOLDSRC_RULES and A2S_GOLDSRC_PLAYERS
2026-07-22 10:03:59 +05:00
Alibek Omarov
3a15357dc8
engine: server: drop A2A_NETINFO
2026-07-22 10:03:59 +05:00
Sergey Degtyar
2127735456
engine: implement GoldSrc A2S query for NetAPI
...
As Xash also supports GoldSrc like queries, it's netinfo is dropped.
2026-07-22 10:03:59 +05:00
Alibek Omarov
e0ab44213a
Documentation: protocol: connectionless: add GoldSrc A2S queries
2026-07-22 10:03:59 +05:00
Buggem's Fedora PC
f2166a2c9d
ref: soft: Try to stop decal->pnext loops from recursing infinitely
...
Doesn't fix the root cause of the problem, which is the mysterious setting of decal->pnext to decal which doesn't happen in GL, but does act as a blockade and a temporary fix
2026-07-21 15:16:32 +05:00
Alibek Omarov
009855c193
scripts: waifulib: clang_format: don't abort configure when clang-format is too old, just disable the format command
2026-07-19 07:37:01 +05:00
ksagameng
f0ea3a194a
platform: ios: Remake launch dialog using UIAlertController
2026-07-15 15:16:14 +05:00
Alibek Omarov
9f2b8954e9
utils: add new tool xash-clang-format, a wrapper around clang-format that adds our formatting extensions
2026-07-01 22:53:52 +05:00
Alibek Omarov
2166dbde66
3rdparty: mainui: update
2026-06-30 23:25:50 +05:00
Alibek Omarov
4c109a0c6c
engine: propagate challenge to client connect message
2026-06-30 23:24:16 +05:00
Alibek Omarov
36c71c2610
engine: fixes found by fuzzing sprite loader: mostly float-to-int conversions and overflows
2026-06-30 22:12:01 +05:00
Alibek Omarov
e2d6b7ab28
ref: gl: do not deadname LadyHavoc
2026-06-30 22:12:01 +05:00
Alibek Omarov
8ccb9dea3f
engine: add sprite model loading fuzzing, decouple fuzzing from tests
2026-06-30 22:12:01 +05:00
Alibek Omarov
34467bfe9a
ref: gl: make R_AddDynamicLights only iterate through actually lit box
2026-06-30 22:12:01 +05:00
Владислав Сухов
b1d9eef896
Documentation: donate: refine contribution info and add PayPal link
2026-06-24 23:48:39 +05:00
Alibek Omarov
c2ac632446
engine: client: s/cls.legacymode/cls.net_protocol/g
2026-06-22 18:42:56 +05:00
Alibek Omarov
365c126de6
engine: client: fix uninitlaized variable, treat legacy info response servers as 48 even though it's incorrect
2026-06-22 18:34:55 +05:00
Alibek Omarov
44313e624c
engine: client: fix parsing of legacy goldsrc A2S_INFO response format
2026-06-22 17:39:42 +05:00
Alibek Omarov
2f776a6173
engine: add overflow checks to sprite loader
2026-06-22 17:39:42 +05:00
Владислав Сухов
190fa1bab8
3rdparty: mainui: update
2026-06-22 09:54:57 +05:00
Alibek Omarov
3366ad06d0
wscript: add yy-thunks library to help support the holy cow of windows users
2026-06-21 11:16:03 +05:00
Alibek Omarov
57206b3651
client: parse: fix svc_spawnbaseline entity type delta table determine order
2026-06-21 10:34:33 +05:00
Alibek Omarov
d9ecd03b4a
client: parse: fix default attenuation value for goldsrc sound packet
2026-06-21 10:12:56 +05:00
Alibek Omarov
2de4d0d364
common: fix usercmd_t::msec type in q_client.h
2026-06-21 09:45:50 +05:00
auewe
cc3889146c
3rdparty: mainui: update
2026-06-20 08:14:04 +05:00
Alibek Omarov
09f5886751
readme: add note about third party builds
2026-06-17 20:09:15 +05:00
Alibek Omarov
fb5b4fed6e
filesystem: VFileSystem009: fix DeleteFile
2026-06-16 15:13:30 +05:00
Alibek Omarov
1e31fbcd51
ref: shut up DecalShoot about decals must hit mod_brush
...
This is an annoying message that's caused by the game code. Decals, without
custom renderer, cannot be rendered on non-brush entities, and everybody knows
that anyway.
2026-06-14 07:22:30 +05:00
Alibek Omarov
b2a5f0db5a
engine: masterlist: fix addmaster command not allowing third optional argument
2026-06-09 21:47:08 +05:00
Alibek Omarov
abd7b5ccdd
engine: masterlist: change parsing static server list from by token to by line
2026-06-08 22:17:21 +05:00
Alibek Omarov
8c9cd59c71
engine: http: fix the bug where maxconnections wasn't followed when many files were queued at once, bump it back to 5 concurrent connections
2026-06-07 17:29:41 +05:00
Alibek Omarov
c79b29687c
engine: http: cache resolve result in httpserver_t
2026-06-07 17:18:28 +05:00
Alibek Omarov
1eb922a0f1
engine: http: also lazy allocate buffer for query/response
2026-06-07 17:17:54 +05:00
Alibek Omarov
f6e36994be
engine: http: lazy open download files, to avoid wasting too much file descriptors
2026-06-07 17:09:59 +05:00
Alibek Omarov
e83ba6509e
3rdparty: mbedtls: make common compat.c for all platforms we want to support
2026-06-07 07:08:24 +05:00
Alibek Omarov
5cfb67940b
3rdparty: mbedtls: add psvita support
2026-06-07 06:39:50 +05:00
Alibek Omarov
e31c893852
wscript: enable bcrypt on Windows, add entropy generator that avoids usage of bcrypt for our 32-bit builds, allowing them to run on Windows XP
2026-06-07 06:39:50 +05:00
Alibek Omarov
85e5f032d8
scripts: gha: remove bundled mbedTLS on Switch
2026-06-07 06:39:50 +05:00
Alibek Omarov
92fd51ad99
engine: http: don't allow CRLF in URLs, fix memory leaks
2026-06-07 06:11:39 +05:00
Alibek Omarov
5480055997
engine: http: use thin TLS backend in HTTP client
2026-06-07 05:56:54 +05:00
Alibek Omarov
d634c6aad5
engine: http: use separate mempool for HTTP client
2026-06-07 05:56:54 +05:00
Alibek Omarov
034efb3b31
engine: http: add TLS backend using mbedTLS
2026-06-07 05:56:54 +05:00
Alibek Omarov
eae45b2e81
engine: wscript: link in mbedtls
2026-06-07 05:56:54 +05:00
Alibek Omarov
567d279007
engine: wscript: drop unfinished work on curl
2026-06-07 05:56:54 +05:00
Alibek Omarov
27f8385bb1
wscript: wire up mbedtls
2026-06-07 05:56:54 +05:00
Alibek Omarov
1cfabd5ec9
3rdparty: mbedtls: initial add
2026-06-07 05:56:54 +05:00
Alibek Omarov
ab6672fb8a
3rdparty: xash-extras: update in preparation for TLS integration
2026-06-07 03:46:11 +05:00
Alibek Omarov
2d39a7fa24
engine: fix skewed ping calculation, drop --debug-all-servers
2026-06-07 03:17:45 +05:00
Alibek Omarov
7db12ade3a
3rdparty: mainui: update
2026-06-07 03:16:57 +05:00
Alibek Omarov
61a84f6953
engine: cache negative master server DNS failures longer, remove dead UDP master server addresses
2026-06-07 02:24:30 +05:00
Alibek Omarov
75ffba64c5
engine: http: add support for redirects
2026-06-06 22:55:47 +05:00
Alibek Omarov
c134840148
engine: masterlist: add UDP master server deprecation notice, fix static master list address
2026-06-06 19:53:37 +05:00
Alibek Omarov
51d1bfbe08
3rdparty: mainui :update
2026-06-06 03:30:26 +05:00
Alibek Omarov
79ff8332ac
3rdparty: mainui: update
2026-06-06 02:51:41 +05:00
Alibek Omarov
f155005bb1
engine: move out MAX_CLIENTS definition
2026-06-06 02:50:30 +05:00
Alibek Omarov
a8de8cf5e6
Documentation: protocol: document new static master protocol
2026-06-06 02:47:39 +05:00
Alibek Omarov
74fcab9bfb
engine: implement new static master server protocol
2026-06-06 02:47:39 +05:00
Alibek Omarov
efad71bcc9
engine: in-memory HTTP downloader
2026-06-06 02:47:39 +05:00
Alibek Omarov
c444ab882a
engine: client: drop key ms protocol extension
2026-06-06 02:47:39 +05:00
🗣🗣: "ùồầỳ hợp lý quãi chất thế nhờ"🤫🗿🔥🔥
8fad3bbad6
public: wrap macro arguments in parentheses
2026-06-05 21:55:59 +05:00
Alibek Omarov
4cd6d25ee6
engine: common: account for header size when sending first file fragment (which contains filename + compressor on goldsrc)
2026-06-05 08:42:46 +05:00
Alibek Omarov
33e47ef5a9
engine: fix engine.log output
2026-06-02 06:44:39 +05:00
Alibek Omarov
d19e9606e9
3rdparty: mainui: update
2026-06-02 06:25:52 +05:00
Alibek Omarov
fe1827f5e4
engine: common: don't let executing @ prefixed commands and cvars for unprivileged mode
2026-06-02 06:13:59 +05:00
Alibek Omarov
918323fcea
engine: upload logo on connect always, add @cl_logoupdate cvar to clearly signal logo changes from DLL side
2026-06-02 06:10:24 +05:00
Alibek Omarov
e75256ec9d
3rdparty: mainui: update
2026-06-02 05:59:09 +05:00
Alibek Omarov
47582182e6
engine: server: set flag that we are expecting resource list to come from the client to not apply resource list rate limit
2026-06-02 02:56:19 +05:00
Alibek Omarov
4a2c218cfc
engine: common: xrcon: oops, fix build, forgot to stage the change
2026-06-01 21:32:45 +05:00
Alibek Omarov
376817478d
engine: platform: sdl2: add expiremntal flag -nosteaminput that would remove set by Steam SDL environment variables and let us use gamepad directly
2026-06-01 18:55:38 +05:00
Alibek Omarov
b96dc61e31
engine: common: xrcon: do not print misleading "client disconnected" message on engine shutdown
2026-06-01 18:49:50 +05:00
Alibek Omarov
b997d5657b
engine: common: xrcon: refactor macros and magic numbers
2026-06-01 18:49:50 +05:00
Alibek Omarov
e9f5bca5c4
engine: common: make single shared print buffer with stripped colorcodes
...
- in xrcon, make delay and timeout macros into cvars
2026-06-01 18:49:50 +05:00
Alibek Omarov
b36f107a2e
engine: common: xrcon: use uint32_t for message types instead of null terminated small strings
2026-06-01 18:49:50 +05:00
Alibek Omarov
a305ffb33f
engine: common: xrcon: replace XRCON_STATE with XRCON_PARSER for parser state machine types
2026-06-01 18:49:50 +05:00
Alibek Omarov
1cc1b60b10
engine: common: xrcon: add NUL at the end of print message
2026-06-01 18:49:50 +05:00
Alibek Omarov
648db4a2b3
engine: common: xrcon: fix potential overflow and another recursion case
2026-06-01 18:49:50 +05:00
SNMetamorph
2c0c20dfe6
Documentation: added XRCON protocol description
2026-06-01 18:49:50 +05:00
SNMetamorph
17e167432a
engine: common: xrcon: various code fixes
2026-06-01 18:49:50 +05:00
SNMetamorph
97b8ca6b38
engine: common: xrcon: strip color codes before sending message to client
2026-06-01 18:49:50 +05:00
SNMetamorph
6dabc6f2c5
engine: common: initial implementation of XRCON server
2026-06-01 18:49:50 +05:00
SNMetamorph
e808038fee
engine: common: add function NET_MakeSocketReuseAddr
2026-06-01 18:49:50 +05:00
Владислав Сухов
a60d0d142d
engine: add support for legacy 'm' query responses
2026-05-31 03:11:01 +05:00
Alibek Omarov
bf5d88d9a4
engine: net_chan: reset file fragment buffers early, right after they are consumed
2026-05-30 03:57:12 +05:00
Alibek Omarov
adca77672a
engine: client: fix crash when loading a save that references non-existing word
2026-05-30 03:53:16 +05:00
Alibek Omarov
ef5295c5ab
engine: workaround the misalignment issue when reading textures in BSP
2026-05-30 03:53:16 +05:00
Alibek Omarov
37da317133
filesystem: tests: fix build on Windows
2026-05-27 15:17:20 +05:00
Alibek Omarov
c93cb49a9e
engine: client: fix typo in COM_RandomLong
2026-05-27 01:06:27 +05:00
Alibek Omarov
4f342fb19a
filesystem: tests: reduce boilerplate, add filecopy test
2026-05-27 00:39:07 +05:00
Alibek Omarov
8ee3544507
filesystem: use sendfile for faster FS_FileCopy on Linux
2026-05-27 00:34:49 +05:00
Alibek Omarov
d44e6d5db7
android: drop 64-bit x86 build, as no known 64-bit only (i.e. with no 32-bit support) x86 deployments of Android are known
2026-05-26 23:11:23 +05:00
Alibek Omarov
21cc9feca7
engine: client: don't require cookie echo when server didn't negotiate NET_EXT_NETCHAN_COOKIE
2026-05-26 03:10:31 +05:00
Alibek Omarov
e87b14468d
ref: when entity model is NULL, the entity is player and we're drawing in menu, skip this entity silently
...
The menu relies on the fact that model is set from player's userinfo, and if it has bogus model, it will
trip on the nullptr model assert
2026-05-26 02:57:47 +05:00
Alibek Omarov
e01921dd10
engine: server: bump datagram overflow messages to -dev 2
2026-05-26 02:57:47 +05:00
Alibek Omarov
e5c4e49782
engine: client: introduce cookie protocol extension, when client connects to the server, it provides randomized 64-bit value to be prefixed into netchan messages
...
* Prevent clientuseragent from leaking data.
* Process qport in netchan, cleaning up code
2026-05-26 02:14:58 +05:00
Alibek Omarov
d61983a5d2
engine: randomize outgoing_sequence on server side
2026-05-26 02:14:58 +05:00
Alibek Omarov
c3f4eb026b
engine: only allow net_sequence_window packets, prevent sudden, usually impossible, jumps
2026-05-26 02:14:58 +05:00
SNMetamorph
fe9b8bcaca
engine: enable warning when client or server tries to access non-existent cvar
2026-05-25 13:44:26 +05:00
Czarintax
33cd20b21b
engine: server: fix SV_ProcessFile crash from short malformed filename ( #2606 )
2026-05-25 13:42:03 +05:00
SNMetamorph
78a3b958dd
engine: client: disable saving testing cvars that potentially could break game
2026-05-24 15:14:15 +04:00
SNMetamorph
0e56fa10f9
engine: client: make cvar cl_ticket_generator privileged
2026-05-24 15:14:15 +04:00
SNMetamorph
b6a67b56b0
engine: client: make cvar cl_steam_broker_addr privileged
...
(cherry picked from commit e97442f1b04c81ee406779963bd7d58cd586aecf)
2026-05-24 15:14:15 +04:00
Alibek Omarov
eb9de1cac8
engine: fix NET_IsReservedAdr checks for IPv6, treat IPv4-mapped-as-IPv6 as IPv4
2026-05-23 21:23:10 +05:00
Alibek Omarov
24abd2deb2
engine: host: improve missing game libraries message so it's easier to understand
2026-05-23 21:23:10 +05:00
Alibek Omarov
996dcc637d
engine: tighten file fragment msg by the (possibly) trunctated frag_message
2026-05-23 21:23:10 +05:00
Alibek Omarov
8b89bdca6f
engine: validate size of the message before passing it to COM_UnMunge2
2026-05-23 21:23:10 +05:00
Alibek Omarov
3a6e3ba3ca
engine: change Xash split packet id to unsigned short, as it never should be negative
2026-05-23 21:23:10 +05:00
Alibek Omarov
42ab099a07
engine: check server address if client received split packet
2026-05-23 21:23:10 +05:00
Alibek Omarov
09f15042fe
engine: add target buffer size argument to MSG_ReadBits and MSG_ReadBytes
2026-05-23 21:23:10 +05:00
SNMetamorph
344712b990
3rdparty: update extras
2026-05-23 21:09:31 +05:00
SNMetamorph
2904c3e88b
scripts: gha: set default touch configuration file for PS Vita platform
2026-05-23 21:09:31 +05:00
Alibek Omarov
25ca2ecb12
engine: fix Netchan_Validate units bug allowing oversized fragments
2026-05-23 03:12:23 +05:00
Alibek Omarov
f6b28e32e2
engine: fix use-after-free in Netchan_CopyNormalFragments on decompression failure; reject oversized fragmented messages.
2026-05-23 02:53:26 +05:00
Alibek Omarov
e118376735
engine: take total size to decompressors in Netchan_CopyNormalFragments, fix underflow when decompressing bzip2 stream
2026-05-23 02:42:28 +05:00
Alibek Omarov
5ef6123f03
engine: append log to the crash log on Android
2026-05-22 18:47:31 +05:00
Владислав Сухов
e4600b5fe0
engine: input: fix PS Vita gyro axis mapping and add gyro debug visualization
2026-05-22 00:53:11 +05:00
Xav101
074bd8b2b3
public: add unaligned access handlers for new big endian port
2026-05-21 14:25:33 +05:00
Alibek Omarov
fca347dd00
engine: platform: psvita: add Atlas_AllocBlock to the vrtld export list temporarily
2026-05-21 03:07:15 +05:00
SNMetamorph
2a284090ef
engine: common: add console command "fs_find"
2026-05-21 02:45:27 +05:00
SNMetamorph
ecd74a0a7f
filesystem: add implementation of "fs_find" console command
2026-05-21 02:45:27 +05:00
Alibek Omarov
853a67b0c5
scripts: gha: lock PSVita SDL2 fork to last known good revision
2026-05-21 01:04:43 +05:00
Alibek Omarov
80ec1c83f1
engine: platform: psvita: add dummy Atlas_AllocBlock call
2026-05-21 01:04:12 +05:00
Alibek Omarov
41681229f9
3rdparty: gl4es: update from upstream, add patch for fixing pixelated textures on Adreno
2026-05-21 00:53:51 +05:00
Alibek Omarov
7fce99481f
ref: gl: fix crash in gl2_shim caused by MapBufferRange returning NULL
2026-05-21 00:03:36 +05:00
Alibek Omarov
142dc7b87a
ref: use vector initializer macros
2026-05-20 23:24:36 +05:00
Alibek Omarov
3e24d5a347
engine: use vector initializer macros
2026-05-20 23:24:36 +05:00
Alibek Omarov
64b1b54f5b
ref: use designated initializers where possible
2026-05-20 23:24:36 +05:00
Alibek Omarov
1fed340330
filesystem: use designated initializers where possible
2026-05-20 23:24:36 +05:00
Alibek Omarov
64be4251c8
engine: use designated initializers where possible
2026-05-20 23:24:36 +05:00
Alibek Omarov
c5a8160c32
public: add Vec2, Vec3 and Vec4 macros used for initializers
2026-05-20 23:24:36 +05:00
Alibek Omarov
3c1cf81c2d
engine: platform: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
c6c1163aa0
engine: common: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
e8845fc404
engine: client: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
d49178d5b6
engine: server: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
e2cf580818
ref: gl: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
d0a98447c4
ref: soft: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
29a9fcf76c
ref: common: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
37d9791f00
filesystem: refactor variable declarations
2026-05-20 23:24:36 +05:00
Alibek Omarov
c5fbc98d16
public: refactor variable declarations
2026-05-20 23:24:36 +05:00
a1batross
4c2302ec6c
engine: pass customization file fragments into IsSafeFileToDownload
...
This function already validates customization filenames.
2026-05-20 01:03:03 +05:00
Владислав Сухов
de585f80fb
3rdparty: mainui: update
2026-05-19 19:38:12 +05:00
Владислав Сухов
af58ef4a2a
engine: menu_int: add flags for mipmaps and alpha channel support in image handling
2026-05-19 19:38:12 +05:00
Владислав Сухов
dbe3f42485
engine: update player logo color to RGB format
2026-05-19 19:38:12 +05:00
Alibek Omarov
0053edbe7b
scripts: gha: drop signing step from build_android.sh, as it's done on gradle level now
2026-05-18 13:01:22 +05:00
Alibek Omarov
61f3369957
filesystem: refactor large filesystem.c into smaller files
2026-05-18 12:50:08 +05:00
Alibek Omarov
334bebb1fb
engine: use memcpy when reading sprite model to avoid unaligned access
2026-05-17 12:34:21 +05:00
Alibek Omarov
463ed05340
android: add auto-updater to the launcher
2026-05-17 12:12:40 +05:00
Alibek Omarov
92bad81d9a
engine: client: fix off-by-one
2026-05-17 11:48:20 +05:00
Alibek Omarov
4c667d9d8c
engine: client: bound current_position with HISTORY_MASK, in case of something passes invalid values
2026-05-17 11:45:22 +05:00
Alibek Omarov
cb04e9cbd5
engine: server: also use constant time string comparison for sv_password
2026-05-17 11:26:53 +05:00
Alibek Omarov
c2c781f039
engine: server: harden rcon, use constant time comparison, do not output untrusted data to log
2026-05-17 11:23:55 +05:00
Alibek Omarov
dbe1a2742e
public: add Q_strcmp_constant_time
2026-05-17 11:23:08 +05:00
Alibek Omarov
fe2019ee06
engine: common: add more cases to COM_IsSafeToDownload
2026-05-17 11:20:00 +05:00
Alibek Omarov
e5c091c303
engine: client: fix off-by-one error in CL_ParseResource
2026-05-17 11:17:42 +05:00
Alibek Omarov
9d050e7ed3
engine: limit decompressed buffer alloc size to 64MiB
2026-05-17 11:17:23 +05:00
Alibek Omarov
be35b3503e
engine: limit maximum amount of pending fragbufs
2026-05-17 10:54:51 +05:00
Alibek Omarov
5fad4ae6ca
engine: client: mark rcon and connect commands privileged
2026-05-17 10:51:44 +05:00
Alibek Omarov
2290ae0239
public: disable Amiga's double-slash check in CheckNastyPath
2026-05-17 10:42:22 +05:00
Alibek Omarov
9082a47348
engine: validate paths before downloading
2026-05-17 10:41:59 +05:00
Alibek Omarov
5d7ed9d8a7
public: add CheckNastyPath from Darkplaces's VFS so it can be used in engine for path traversal checks
2026-05-16 21:28:51 +05:00
Alibek Omarov
8120669e5b
engine: restore bounds check in Delta_FindStructByIndex, as it gets passed arbitrary numbers too
2026-05-16 21:27:51 +05:00
Alibek Omarov
fb6c4a224c
engine: check for overflow in split packet reassembly
2026-05-16 21:13:47 +05:00
Alibek Omarov
166763a887
engine: common: limit amount of delta encoded fields by 64 in GoldSrc protocol (because this is the maximum it allows anyway)
2026-05-16 21:12:49 +05:00
Alibek Omarov
e56cf4e1da
engine: client: validate player index and max players
2026-05-16 21:00:50 +05:00
Alibek Omarov
fc4b982ecc
engine: client: correctly skip message that would overflow temp entity buffer
2026-05-16 20:59:57 +05:00
Alibek Omarov
d305292340
engine: zone: in CheckAlloc walk through over both allocation chains, so that we don't read out of bounds if passed pointer is not allocated by zone allocator
2026-05-16 12:56:49 +05:00
Alibek Omarov
9ee6be87d7
engine: host: try to avoid recursive Host_Error
2026-05-16 12:37:08 +05:00
Alibek Omarov
4e4a54ab68
engine: despite byte-swapping code is no-op on little endian, it still fires and can read out of bounds on some models, leading to crash
2026-05-16 12:21:46 +05:00
Alibek Omarov
516554b704
public: update miniz to latest version
2026-05-15 12:36:56 +05:00
Alibek Omarov
7be955c493
gitignore: do not even try adding slop generators garbage
2026-05-15 11:39:45 +05:00
Владислав Сухов
c6fb702fb1
engine: add MenuFactory native object
2026-05-15 08:48:58 +05:00
Alibek Omarov
cae1d32c66
3rdparty: gl-wes-v2: update
2026-05-13 11:14:32 +05:00
Alibek Omarov
5e70995989
ref: gl: more maybe unused stuff
2026-05-13 11:13:46 +05:00
Alibek Omarov
50f7f3bb87
engine: server: mark str64 as maybe unused
2026-05-13 11:12:19 +05:00
Alibek Omarov
7c3da8c381
3rdparty: gl-wes-v2: update
2026-05-13 11:11:41 +05:00
Alibek Omarov
e38d3511b5
3rdparty: nanogl: update
2026-05-13 11:11:32 +05:00
Alibek Omarov
d4fcebb377
3rdparty: MultiEmulator: update
2026-05-13 11:11:22 +05:00
Alibek Omarov
996f0e906b
engine: client: drop double free check from dbghulls
2026-05-13 10:53:21 +05:00
Alibek Omarov
0f490a2f16
engine: client: fix warnings, cleanup unused or maybe-uninitialized variables
2026-05-13 10:48:37 +05:00
Alibek Omarov
cef6cb58bb
ref: gl: fix maybe-uninitialized
2026-05-13 10:47:15 +05:00
Alibek Omarov
47aad1b3a3
ref: soft: cleanup unused variables
2026-05-13 10:46:59 +05:00
Alibek Omarov
ff8efebba2
engine: fix more warnings
2026-05-13 10:46:44 +05:00
Alibek Omarov
be6571a6a2
3rdparty: library_suffix: update
2026-05-13 10:45:50 +05:00
Alibek Omarov
1d67585df4
3rdparty: mainui: update
2026-05-13 10:45:39 +05:00
Alibek Omarov
10d441f825
public: fix warnings, add guards around some of the macros, remove unused variable
2026-05-13 10:30:35 +05:00
Alibek Omarov
2dc132f817
engine: common: fix up warnings, clean up unused variables
2026-05-13 10:13:52 +05:00
Alibek Omarov
e9bdbf2f33
ref: gl: mark maybe unused globals
2026-05-13 10:11:47 +05:00
Alibek Omarov
b630a84447
common: xash3d_types: add macro MAYBE_UNUSED
2026-05-13 10:11:21 +05:00
Alibek Omarov
dccd076b92
engine: platform: sdl2: cleanup unused variables
2026-05-13 10:09:49 +05:00
Alibek Omarov
cb7ea5729a
engine: server: cleanup unused variables
2026-05-13 10:09:37 +05:00
Alibek Omarov
9bad17505e
filesystem: cleanup unused variables
2026-05-13 10:09:19 +05:00
Alibek Omarov
bf990d1040
ref: gl: cleanup unused variables
2026-05-13 10:09:09 +05:00
Alibek Omarov
63e112bf4c
engine: client: soundlib: add more broken null files
2026-05-13 09:32:50 +05:00
Alibek Omarov
0aac2e4d32
engine: zone: add small allocation optimization, reducing the size of <255 bytes allocations at the cost of less debug info
...
Keep it opt-in through a flag at pool alloc time.
Opt-in console related allocations, they are usually small enough strings.
2026-05-13 09:32:50 +05:00
Alibek Omarov
33b3cdb0f5
engine: client: soundlib: catch broken null.wav and replace it with silence
2026-05-10 03:02:24 +05:00
Alibek Omarov
9c4edaed21
engine: client: sound: switch to single-pass mixing, now channels gets upscaled directly to DMA speed, fixing the issue with s_lerping
2026-05-10 02:48:23 +05:00
Alibek Omarov
d4205867dd
public: simplify COM_Strip and COM_DefaultExtension by reusing extension extraction function. Add moar tests for them
2026-05-10 00:56:44 +05:00
Alibek Omarov
3c07680263
android: pack crash log to ZIP file, put system and intent info alongside it. Properly handle if multple email clients are installed on device (tested with gmail, outlook and k-9).
2026-05-10 00:32:29 +05:00
Alibek Omarov
e5d6f66f61
filesystem: strip exec flag and add nowrite flag to archives
...
pk3dir now disallows executables, which shouldn't be a problem for anybody.
Revised FS_Path command output.
2026-05-09 19:22:10 +05:00
Alibek Omarov
a106924c7f
filesystem: avoid scanning game directory as executable in FS_FindLibrary on Android, generic refactoring
2026-05-09 16:57:21 +05:00
Alibek Omarov
11ee883c84
android: show build info for mod's downloaded libraries
2026-05-09 16:57:21 +05:00
Alibek Omarov
881f0c5ca7
engine: show the missing library warning message on Android, but only if APK doesn't try to override it, skip client for now
2026-05-09 16:57:21 +05:00
Alibek Omarov
ac0c8a2210
android: implement game library downloading
2026-05-09 16:57:21 +05:00
Alibek Omarov
dba090e0da
android: bundle Let's Encrypt's ISRG Root X1 certificate for EOL devices
2026-05-09 16:57:21 +05:00
Alibek Omarov
262f32b002
engine: platform: android: implement library loading from VFS paths on Android
2026-05-09 16:57:21 +05:00
Zane van Iperen
843f6297ed
engine: net_ws: fix NET_QueuePacket indentation after previous change
2026-05-09 13:15:17 +05:00
Zane van Iperen
d1510345f1
engine: net_ws: round-robin IPv4/IPv6 reads
...
Previously, it would always return on the first one that had activity.
In practice, this meant that if IPv4 starts getting slammed, IPv6 reads
wouldn't happen.
2026-05-09 13:15:17 +05:00
Alibek Omarov
36307bb386
android: handle crash logs created by the engine, keep them for 30 days for current version
2026-05-07 17:58:25 +05:00
Alibek Omarov
52953a7647
engine: platform: posix: drop crash info into crash.log on Android
2026-05-07 15:48:34 +05:00
Alibek Omarov
ebeff144f9
Merge remote-tracking branch 'origin/master'
2026-05-07 13:50:55 +05:00
Alibek Omarov
c8cc953d48
engine: platform: posix: make crash message a global because the stack could be limited when we hit crash handler
2026-05-07 13:45:39 +05:00
Alibek Omarov
d6bf06e997
engine: common: check XASH3D_BASEDIR when opening log file, fixes engine.log creation on Android
2026-05-07 12:23:56 +05:00
Alibek Omarov
568b7abc5f
scripts: waifulib: xcompile: set max-page-size to 64k on PSVita to workaround latest toolchain issue
2026-05-07 12:07:25 +05:00
Alibek Omarov
1b7f50d3c6
scripts: waifulib: xcompile: fix build error with newer NDKs caused by incompatibility of legacy STL and Clang
2026-05-07 12:05:26 +05:00
Alibek Omarov
c8e1c2673f
engine: client: sound: revert singleplayer check for local sounds
2026-05-07 11:57:09 +05:00
Alibek Omarov
c2df265de7
engine: operate on a local copy of dspriteframe_t to avoid unaligned access on ARMv7
2026-05-07 11:56:08 +05:00
Alibek Omarov
e9e885534a
filesystem: dir: hand off file existence check to the OS if path starts with .. or ../
2026-05-07 10:32:00 +05:00
Alibek Omarov
95cc6c4445
filesystem: small refactoring, remove double nullptr checks
2026-05-07 10:32:00 +05:00
Alibek Omarov
086cb6aab8
engine: move {gamedir}/downloaded directory to {gamedir}_downloads for compatibility
...
Some mods like Sven-Coop 4.8 stupidly open game files directly and need this to
load downloaded soundcache.
2026-05-07 10:32:00 +05:00
Alibek Omarov
e6a44b70e0
engine: client: always load client.dll last to crash on nullptr in mods that fetch cvar pointers early, add comment for anyone who would modify this file
2026-05-05 01:15:16 +05:00
Alibek Omarov
fdb59e990e
engine: rename Host_IsLocalGame to Host_IsSinglePlayerGame to avoid confusion
2026-05-05 01:04:57 +05:00
Alibek Omarov
eb79bc6b40
engine: use Host_IsLocalClient where it should be, as it checks for local games, not specifically singleplayer games
2026-05-05 01:03:03 +05:00
Alibek Omarov
e907e9fc95
engine: client: fix check for local game when deciding to enable netchan splitsize extension
2026-05-05 00:38:33 +05:00
SNMetamorph
fc356c88b3
engine: client: minor fixes in steam broker client side code
2026-05-02 10:50:21 +05:00
SNMetamorph
bc672e5aca
Documentation: extensions: updated description of steam broker protocol
2026-05-02 10:50:21 +05:00
SNMetamorph
2635fd9739
engine: common: make use NET_MakeSocketNonBlocking instead of direct system API functions
2026-05-02 10:50:21 +05:00
SNMetamorph
653fe51fd4
engine: client: refactor data serializing in steam broker client side logic code
2026-05-02 10:50:21 +05:00
SNMetamorph
980d9fcaab
engine: client: improve logging in steam broker client side logic code
2026-05-02 10:50:21 +05:00
SNMetamorph
72ef5cffca
engine: client: total refactoring of steam broker client side logic code
2026-05-02 10:50:21 +05:00
SNMetamorph
a707f5933d
engine: common: expose network utilities functions needed for broker
2026-05-02 10:50:21 +05:00
Alibek Omarov
b9b0ff5769
3rdparty: mainui: update
2026-05-01 20:10:06 +05:00
Marc-Antoine Lortie
982a216df4
Fix hlsdk-xash3d references where applicable.
2026-05-01 19:02:13 +05:00
Alibek Omarov
7d87d65a3f
engine: server: lift down Host_Error on NULL name in PrecacheModel
2026-04-28 20:05:09 +05:00
Alibek Omarov
6e4e048ef8
ci: thanks for your service, cirrus. F.
2026-04-28 11:25:25 +05:00
Alibek Omarov
5b6b372cfe
ref: gl: drop broken minlight/scale cvars for litwater. Keep them for mods. Fix post-merge issues
2026-04-28 11:21:56 +05:00
Alibek Omarov
2f31cf315c
ref: gl: add litwater support
2026-04-28 11:12:44 +05:00
Alibek Omarov
910cce56ca
Documentation: extensions: document lightmapped water extension
2026-04-28 11:12:11 +05:00
Alibek Omarov
68dba8b4e0
engine: add litwater support
2026-04-28 11:12:11 +05:00
Alibek Omarov
dbfeacfecc
3rdparty: vgui_support: update
2026-04-28 09:50:50 +05:00
Alibek Omarov
0bdd4648bc
utils: mdldec: explicitly cast chars to bytes in ctype functions
2026-04-28 09:50:33 +05:00
Alibek Omarov
ec8059173d
public: explicitly cast chars to bytes in ctype functions
2026-04-28 09:50:33 +05:00
Alibek Omarov
f91e5a7647
engine: explicitly cast chars to bytes in ctype functions
2026-04-28 09:50:33 +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
7abf0c819f
3rdparty: update xash-extras and mainui
2026-04-26 05:52:30 +05:00
Alibek Omarov
85eb82a370
Revert "engine: client: show difference between demo time and real time in timedemo result"
...
This reverts commit 90e25cc623 .
2026-04-26 04:26:50 +05:00
Alibek Omarov
90e25cc623
engine: client: show difference between demo time and real time in timedemo result
2026-04-26 04:15:15 +05:00
Alibek Omarov
fca4152d5a
ref: gl: fix typo in gl_drawrangeelements
2026-04-26 04:13:50 +05:00
Alibek Omarov
2ccef63754
engine: ref_api: change RefGetParm return type to intptr_t, bump RefAPI version
2026-04-26 04:12:52 +05:00
Alibek Omarov
87615784b9
engine: client: fix server list response parsing on BE
2026-04-26 04:12:52 +05:00
Alibek Omarov
d3b01d313b
ref: gl: do not limit texture units by broken report of shaders extension
2026-04-26 04:12:52 +05:00
Alibek Omarov
a3897f402a
3rdparty: mainui: update
2026-04-26 04:12:52 +05:00
Alibek Omarov
21d84ee692
ref: gl: add -glnoerr flag that enables no error context, for possible performance gains
2026-04-26 04:12:52 +05:00
Alibek Omarov
e30ce9c150
engine: fix palette and builtin textures on BE
2026-04-26 04:12:52 +05:00
Alibek Omarov
22391eba1b
engine: handle swapping sequence files in LoadCacheFile for games with external StudioModelRenderer
2026-04-26 04:12:52 +05:00
Alibek Omarov
800725453a
engine: soundlib: pass XASH_BIG_ENDIAN to ov_read in vorbis loader
2026-04-26 04:12:52 +05:00
Alibek Omarov
22ecec095e
engine: platform: sdl: request AUDIO_S16SYS to make sound output in native endian
2026-04-26 04:12:52 +05:00
Alibek Omarov
8545ed5ccb
engine: mod_studio: implement loading sequence files on BE
2026-04-26 04:12:52 +05:00
Alibek Omarov
a4fdf19ad8
engine: client: Fix font loading on BE
2026-04-26 04:12:52 +05:00
Alibek Omarov
75e4a21d7a
engine: mod_studio: more studio model swapping
2026-04-26 04:12:52 +05:00
Alibek Omarov
1099344a7d
engine: soundlib: swap WAV data
2026-04-26 04:12:52 +05:00
Alibek Omarov
ab1eaed0a5
engine: platform: posix: remove Sys_Crash and Sys_CrashDetailsLibbacktrace from the output by matching function name only once
2026-04-26 04:12:52 +05:00
Alibek Omarov
76a01d0855
engine: platform: posix: remove extra newline from libbacktrace output
2026-04-26 04:12:52 +05:00
Alibek Omarov
b00679ee30
engine: make Sys_LogFileNo return -1 when log file isn't opened
2026-04-26 04:12:52 +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
86a2ea29e4
wscript: define libbacktrace as libbacktrace_custom, fix DL_ITERATE_PHDR not defined due to failing fallback check
...
* Changed to libbacktrace_custom to not collide with libbacktrace built as part of compiler's runtime
2026-04-26 04:12:52 +05:00
Alibek Omarov
d4f8543556
engine: platform: posix: better libbacktrace error output
2026-04-26 04:12:52 +05:00
Alibek Omarov
e850728016
engine: soundlib: fixes for BE
2026-04-26 04:12:52 +05:00
Alibek Omarov
11877f4c96
engine: imagelib: fixes for BE
2026-04-26 04:12:52 +05:00
Denis Drakhnia
2ba5030b62
engine: server: fix no response to goldsrc info query
2026-04-24 21:56:22 +05:00
Alibek Omarov
06b14800e1
engine: mod_bmodel: fix bspx swap definition
2026-04-24 08:00:49 +05:00
Alibek Omarov
bb7c85fd22
wscript: turn on progress bar by default
2026-04-24 07:31:36 +05:00
Alibek Omarov
37ce62fa6a
waf: update to latest wafsrc + progress-bar-enhacnement
2026-04-24 07:31:11 +05:00
Alibek Omarov
e1b29e2da3
engine: temporarily disable swapping extended header
2026-04-24 06:58:53 +05:00
Alibek Omarov
b60afd73e9
public: swaplib: add comments
2026-04-24 06:58:53 +05:00
Alibek Omarov
84447a5292
public: crclib: add fix for md5 from q3
2026-04-24 06:58:53 +05:00
Alibek Omarov
fe4ea4aabf
engine: server: fix pfnMessageEnd on BE
2026-04-24 06:58:53 +05:00
Alibek Omarov
878822290c
public: crclib: fix CRC32_BlockSequence on BE
2026-04-24 06:58:53 +05:00
Alibek Omarov
04ca5d7cb0
engine: common: use FloatAsUint and UintAsFloat to write and read floats to/from sizebuf_t
2026-04-24 06:58:53 +05:00
Alibek Omarov
d46ed40f33
engine: pre-swap studio model before loading on BE
2026-04-24 06:58:53 +05:00
Alibek Omarov
82e031205c
engine: pre-swap sprite before loading on BE
2026-04-24 06:58:53 +05:00
Alibek Omarov
6f5f04a29d
engine: server: fix testpacket on BE server
2026-04-24 06:58:53 +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
489c1c9dd5
public: add swaplib
2026-04-24 06:58:53 +05:00
Alibek Omarov
1df6a040ec
engine: common: fix WriteBits/ReadBits
2026-04-24 06:58:53 +05:00
Alibek Omarov
82c2ca53fb
engine: common: fix WriteUBitLong/ReadUBitLong
2026-04-24 06:58:53 +05:00
Alibek Omarov
3ddd1e2448
engine: common: fix LZSS on big endian
2026-04-24 06:58:53 +05:00
Alibek Omarov
371d619685
engine: platform: posix: remove dead ucontext.h include
2026-04-24 06:58:53 +05:00
Владислав Сухов
480f29e96e
engine: common: mod_studio: fix model traversal and crash in Mod_StudioComputeBounds
...
Mod_StudioComputeBounds incorrectly assumed that all models across all body parts were laid out contiguously in memory. This caused out-of-bounds reads or reading garbage data when loading complex models, leading to crashes.
2026-04-24 01:13:46 +05:00
Zane van Iperen
95548053eb
engine: common: set cmd_args to "" when tokenising, if we've no arguments
...
Fixes metamod-fwgs[1] breaking when CMD_ARGS() returns NULL.
[1]: eedede40e8/metamod/src/commands_meta.cpp (L63)
2026-04-22 21:27:27 +05:00
Владислав Сухов
0daf2c2b4d
engine: client: add cvar to enable/disable gamepad gyro
2026-04-22 21:26:34 +05:00
Alibek Omarov
e2d5bea327
ref: cleanup unused functions
2026-04-21 23:10:32 +05:00
Alibek Omarov
306a5812a9
engine: server: fix svc_setpause usage in spawn command, fix minor protocol issue when spawnnig particle from pmove
2026-04-20 01:33:54 +05:00
Alibek Omarov
a3dba64513
public: move atlas packing code from renderer, add tests
2026-04-20 01:33:54 +05:00
Alibek Omarov
491ba9bc7d
3rdparty: mainui: update
2026-04-19 23:12:55 +05:00
Alibek Omarov
1c462df8a2
common: q_client: include stdint.h and xash3d_types.h
2026-04-19 23:12:44 +05:00
Alibek Omarov
ed975976f8
engine: client: add feature to reupload logo if any of logo related cvars were changed
2026-04-19 22:46:51 +05:00
Alibek Omarov
bbf8ab378d
engine: server: add rate limiting for updating client's resources data too often
2026-04-19 22:30:04 +05:00
Alibek Omarov
5383e36af5
engine: net_chan: fix off-by-one error when trying to decompress packet
2026-04-19 20:50:42 +05:00
Alibek Omarov
897fb98b93
engine: net_chan: fix Netchan_AddBufferToList leaking pointer
2026-04-19 20:43:32 +05:00
Alibek Omarov
96e88adfcd
engine: client: try to make R_Blood more accurate
2026-04-19 17:05:26 +05:00
Alibek Omarov
4dde4047f1
engine: make particle texture white, shift 1 pixel down and to the right
2026-04-19 17:04:40 +05:00
Alibek Omarov
905161529f
engine: client: ref_common: reorganize R_CreateBuiltinTextures, but also fix a typo without assigned alpha to particle texture
2026-04-19 01:32:40 +05:00
Alibek Omarov
044523434d
ref: add R_EntityDynamicLight that calculates lighting for studio and alias models, and also located in libref_common
2026-04-19 01:17:28 +05:00
Alibek Omarov
da4c4bb76a
ref: remove unused sprite_radius global variable
2026-04-19 00:32:45 +05:00
Alibek Omarov
95b3271d68
engine: client: move input stuff to input subfolder
2026-04-18 22:18:50 +05:00
Alibek Omarov
3361a5d760
engine: client: split OSK into it's own file
2026-04-18 22:18:50 +05:00
Alibek Omarov
b725d2ece0
engine: client: moving beds
2026-04-18 22:18:50 +05:00
Alibek Omarov
66bee8b468
engine: client: fix trimmed autocomplete output for keys
2026-04-18 22:18:50 +05:00
Alibek Omarov
5e664dc3e9
engine: client: check for upper bound limit in Key_StringToKeynum
2026-04-18 22:18:50 +05:00
Alibek Omarov
bfdfeb3dc0
engine: client: fix Joy_GetHatValueForAxis threshold for forward axis, fix bindings limit
2026-04-18 22:18:50 +05:00
Alibek Omarov
49248f5e14
engine: client: touch fixes, fix division-by-zero in Touch_AspectRatio, GRID_COUNT, fix Touch_RemoveButtonFromList
2026-04-18 22:18:50 +05:00
Владислав Сухов
d03ea4c10a
engine: client: in_gyro: fix inverted yaw axis
2026-04-18 00:41:46 +05:00
ksagameng
780dbd6183
scripts: gha: fix ios ci builds not including game libs
2026-04-17 19:41:30 +05:00
GLoOoccK
50da79f1e0
Update cl_parse_gs.c
2026-04-17 19:40:58 +05:00
Alibek Omarov
62201900cf
ref: null: remove unused function
2026-04-16 23:25:32 +05:00
Alibek Omarov
ae233ac491
Merge branch 'refapi-15'
2026-04-16 23:19:06 +05:00
Владислав Сухов
dd1cb04cb7
engine: client: sdl: add support for built-in device gyroscope using SDL2 Sensor API (Android/iOS)
2026-04-16 00:15:35 +05:00
Alibek Omarov
74869c8f5d
ref: make R_GatherPlayerLight shared between renderers
2026-04-14 22:36:15 +05:00
Alibek Omarov
dd712a0df9
engine: update Mod_PointInLeaf signature for RefAPI
2026-04-14 22:36:15 +05:00
Alibek Omarov
bfdb62d31e
engine: ref_api: complete the RefAPI 15 changelog
2026-04-14 22:36:15 +05:00
Alibek Omarov
ae7b9eb28d
engine: move creation of default textures to the engnie
2026-04-14 22:36:15 +05:00
Alibek Omarov
c63e13c8f4
engine: move handling of AVI textures into the engine
2026-04-14 22:36:15 +05:00
Alibek Omarov
d3e1407675
engine: remove unused R_Flush and VGUI_UploadTextureBlock from RefAPI
2026-04-14 22:36:15 +05:00
Alibek Omarov
e2e4728c7c
engine: remove R_BeamCull from RefAPI
2026-04-14 22:36:15 +05:00
Alibek Omarov
dd3583d11a
engine: move details textures parser to the engine
2026-04-14 21:18:57 +05:00
Alibek Omarov
e6924844da
engine: move FillRenderAPI and FillTriAPI to renderers to reduce amount of exports
2026-04-14 21:18:56 +05:00
Alibek Omarov
a49db03561
engine: move StudioAPI negotiation to the engine
2026-04-14 21:18:03 +05:00
Alibek Omarov
84b7b5803b
ref: soft: remove mistakingly put const on RI.rvp
2026-04-13 23:13:49 +05:00
Alibek Omarov
c224d39ba7
ref: soft: replace RI.onlyClientDraw with RF_ONLY_CLIENTDRAW flag in viewpass
2026-04-13 23:13:49 +05:00
Alibek Omarov
9b24b08df1
ref: gl: remove onlyClientDraw, drawOrtho, RI.params with viewpass flag check. RF_DRAW_OVERVIEW and RF_DRAW_CUBEMAP are cannot be set at the same time, so drawOrtho check replaced by RF_DRAW_CUBEMAP only
2026-04-13 23:13:49 +05:00
Alibek Omarov
a37b0e58f1
ref: soft: get rid of RI.drawOrtho, it's a debugging/development tool, not suited for software renderer use
2026-04-13 23:13:49 +05:00
Alibek Omarov
afca422e35
ref: soft: read ref_viewpass_t flags instead of cached RI.drawWorld
2026-04-13 23:13:49 +05:00
Alibek Omarov
3440ddf443
ref: gl: read ref_viewpass_t flags instead of cached RI.drawWorld
2026-04-13 23:13:49 +05:00
Alibek Omarov
6730ed9555
ref: soft: remove unused isSkyVisible
2026-04-13 23:13:49 +05:00
Alibek Omarov
fdd3a44fa0
ref: gl: remove unused isSkyVisible
2026-04-13 23:13:49 +05:00
Alibek Omarov
241c926076
ref: soft: replace RI.{vieworg,viewangles,pvsorigin} by ref_viewpass_t fields
2026-04-13 23:13:49 +05:00
Alibek Omarov
148a9a5a8c
ref: gl: replace RI.{vieworg,viewangles,pvsorigin} by ref_viewpass_t fields
2026-04-13 23:13:49 +05:00
Alibek Omarov
513984d7fd
ref: soft: save original viewpass and access viewport and fov through it
2026-04-13 23:13:49 +05:00
Alibek Omarov
1009795d5c
ref: gl: save original viewpass and access viewport and fov through it
2026-04-13 23:13:49 +05:00
Alibek Omarov
e3d2da74db
engine: move underwater fov effect handling to the engine
2026-04-13 23:13:49 +05:00
Alibek Omarov
ff3a57ae8a
ref: gl: drop legacy mirror viewpass code
2026-04-13 23:13:49 +05:00
Alibek Omarov
271a6e2210
ref: soft: drop broken code for all non-viewer viewpasses
2026-04-13 23:13:49 +05:00
Alibek Omarov
0d40357b93
ref: common: wscript: fix psvita build
2026-04-13 13:01:18 +05:00
Alibek Omarov
a9dcdd034c
ref: soft: fix build
2026-04-13 13:01:18 +05:00
Alibek Omarov
7324ff43fc
ref: add GL_ResampleTexture to libref_common
2026-04-13 13:01:18 +05:00
Alibek Omarov
d85e7fc2b1
ref: move remaining light functions to libref_common
2026-04-13 13:01:18 +05:00
Alibek Omarov
d91ecfa3df
ref: gl: refactor R_LightVec
2026-04-13 13:01:18 +05:00
Alibek Omarov
b7a3a02aad
ref: common: add R_PushDlightsForBmodel
2026-04-13 13:01:18 +05:00
Alibek Omarov
5aca78951c
ref: move R_PushDlights and R_MarkLights to ref_common
2026-04-13 13:01:18 +05:00
Alibek Omarov
81abae65b5
ref: move RunLightstyles to ref_common
2026-04-13 13:01:18 +05:00
Alibek Omarov
f5f6d9bbe4
engine: move sprite texture loading back to engine, only leave rendering for renderer
2026-04-13 13:01:18 +05:00
Alibek Omarov
ef73b55413
ref: common: move malloc and GL_InitRandomTable
2026-04-13 13:01:18 +05:00
Alibek Omarov
8334695522
ref: common: draft new static library, containing shared code for ref_gl and ref_soft
2026-04-13 13:01:18 +05:00
Alibek Omarov
d7f416d659
engine: draft new RefAPI 14: remove reserved functions from render api, remove CL_AddCustomBeam
2026-04-13 13:01:18 +05:00
a1batross
5f6577df2e
engine: client: don't allow con_fontscale lower than 1
...
Prevents possible division by zero
2026-04-12 14:50:58 +05:00
Sergey Degtyar
e87f307ac1
engine: image: fix blue halo around sprays
2026-04-10 15:00:02 +05:00
Владислав Сухов
7e015a268b
engine: client: in_joy: implement per-axis gyroscope deadzone support
2026-04-10 14:59:30 +05:00
TheEVolk
a679c53111
engine: client: add cvar sv_voice_singleplayer flag FCVAR_SERVER
2026-04-10 14:58:46 +05:00
TheEVolk
9e8d248044
engine: client: voice api
2026-04-10 14:58:46 +05:00
Alibek Omarov
055d646225
ref: gl: merge refactoring changes from litwater branch
2026-04-09 11:43:47 +05:00
ksagameng
a2514b6916
platform: ios: Remove FTP server as latest apple clang broke it
2026-04-09 10:25:18 +05:00
ksagameng
0ac5e78040
scripts: ios: Modify script to work with dylib loading changes
2026-04-09 10:25:18 +05:00
ksagameng
a82221e3df
engine: platform: No more lib_ios, use FS_FindLibaray to load dylibs instead
2026-04-09 10:25:18 +05:00
Alibek Omarov
bb734456f6
engine: client: avi: use typeof() to declare function pointers to ffmpeg API
2026-04-09 09:52:52 +05:00
Alibek Omarov
a219ca7371
ci: upgrade ffmpeg binary to 8.1
2026-04-09 09:20:25 +05:00
Oleg
c3b5e43a7a
engine: client: avi: bump FFMPEG symbols
2026-04-09 09:14:04 +05:00
Alibek Omarov
e7597d2e84
Merge branch 'theevolk-feature-soundapi' of github.com:ShadowOfEVolk/xash3d-fwgs
2026-04-08 17:18:03 +05:00
TheEVolk
386ca1b9bb
engine: client: make sound api const
2026-04-08 14:27:24 +03:00
TheEVolk
da3960c4f0
engine: client: move bitflag definitions to sound_api
2026-04-08 14:15:16 +03:00
TheEVolk
cd85762b09
engine: client: fix arm builds
2026-04-08 14:11:44 +03:00
TheEVolk
d92b3a730c
engine: client: adapt sound api to snd globals
2026-04-08 14:02:10 +03:00
Alibek Omarov
ffa53f14e5
engine: platform: sdl2: implement continuous background recalibration for gyroscope
2026-04-08 11:31:01 +05:00
Alibek Omarov
b8bd906832
engine: menu_int: fix a typo
2026-04-08 11:19:13 +05:00
Alibek Omarov
1c73d8d6f4
engine: client: add joy_debug, tool that visualizes gamepad input
2026-04-08 11:13:07 +05:00
Alibek Omarov
2c3fdb5eee
engine: client: in_joy: clear gyro data after each FinalizeMove, only take data when calibration status is set to calibrated
2026-04-08 10:30:32 +05:00
Alibek Omarov
4bbe52e3b4
engine: client: in_joy: fix engine-level axis rebinding
2026-04-08 10:22:12 +05:00
Alibek Omarov
2d241ed96b
engine: platform: sdl2: fix calibraion never ending if it was failed, lower sample count requirements to 50%, fix gyro when using PS5 controller over Bluetooth
2026-04-08 10:22:12 +05:00
Alibek Omarov
ba4bce06b1
engine: platform: sdl2: swap pitch and yaw gamepads axis, following the fix in 626a7eb9108376a68c2fd140e1b5942c64ea1e66
2026-04-08 10:22:12 +05:00
Владислав Сухов
f7e933aea1
engine: client: add gyroscope aiming support
...
refactor: standardize input functions to use (pitch, yaw) parameter order
2026-04-08 10:22:12 +05:00
Alibek Omarov
dbcf77c9a9
engine: cleanup, disallow exec for multiplayer non-TFC games
2026-04-08 08:22:01 +05:00
w_sh1t
8a9aa2da6c
engine: common: add wildcard support for exec command, add amount of frames to wait in wait command
2026-04-08 08:05:42 +05:00
Alibek Omarov
0e8143aefc
ref: gl: remove duplicate line from if-else branches in R_MarkLeaves
2026-04-08 08:05:00 +05:00
TheEVolk
4345e9e6a6
Merge remote-tracking branch 'upstream/master' into theevolk-feature-soundapi
2026-04-07 18:35:39 +03:00
Alibek Omarov
e7fa45d5ca
ref: gl: fix masked textures with VBO
2026-04-06 11:12:09 +05:00
Alibek Omarov
abda0a07c2
ref: gl: cache worldmodel pointer instead of accessing it through gp_cl pointer
2026-04-06 11:07:08 +05:00
Alibek Omarov
9d22827395
ref: gl: reorganize checks in R_CullSurface
2026-04-06 11:04:33 +05:00
Alibek Omarov
7b665b3763
ref: gl: track max height of a dynamic lightmap
2026-04-06 10:04:15 +05:00
Alibek Omarov
58692f397a
ref: gl: reorganize R_CheckLightMap to exit early for dlighted surfaces
2026-04-06 09:40:19 +05:00
Alibek Omarov
2253fcc955
ref: gl: skip redundant positions in LM_AllocBlock
2026-04-06 09:05:47 +05:00
Alibek Omarov
cbbae0c9bf
ref: gl: simplify backface culling checks in frustum class
2026-04-06 08:25:45 +05:00
Alibek Omarov
ef513f27ac
engine: simplify node recursion functions, do not fetch both children at once if only one is used
2026-04-06 08:16:51 +05:00
Alibek Omarov
e8ae48fd3d
ref: simplify node recursion functions, do not fetch both children at once if only one is used
2026-04-06 08:16:20 +05:00
Alibek Omarov
434e508186
engine: client: reserve some free space in channel_t and rawchan_t
2026-04-06 07:27:50 +05:00
Alibek Omarov
4a2b3e89b4
engine: client: disable NET_EXT_SPLITSIZE in local game, for slightly better performance
2026-04-06 07:14:06 +05:00
Alibek Omarov
6c3f8c7ec5
engine: mod_bmodel: allow nearest on quake skybox
2026-04-06 06:55:52 +05:00
Alibek Omarov
3fffe061d5
engine: client: switch to dynamically allocating vox words, freeing up 320 Kb of memory
2026-04-06 06:55:27 +05:00
Alibek Omarov
729c985eaf
engine: client: consolidate dma, s_listener and bunch of separate sound globals into one snd global struct. Replace bit fields with bit flags in preparation for SoundAPI
...
Remove s_combine_sounds, it never worked great and was disabled by default.
2026-04-06 06:00:48 +05:00
Alibek Omarov
75fb6c5f34
engine: add Mem_Free2 that takes a pointer to pointer and then sets it to NULL
2026-04-06 05:14:33 +05:00
Alibek Omarov
8bc9b1865a
engine: client: allow custom paths in cdaudio.txt
2026-04-05 07:03:46 +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
b8792e4084
filesystem: set qwrap as falldir for Quake games
2026-04-05 07:03:46 +05:00
Alibek Omarov
2234dd48bc
engine: client: soundlib: use unsigned int in GetLittleLong to fix ubsan error
2026-04-05 07:03:46 +05:00
Alibek Omarov
c8693e1e89
engine: common: fix char array underflow, on Q_strlen() - 1
2026-04-05 07:03:46 +05:00
Alibek Omarov
3ace4a61d2
ref: gl: fix harmless NULL pointer dereference in alias model loading code
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
b68e71abfd
engine: net_chan: explicitly convert qboolean to uint before right shift to 31 bits
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
983427ebb3
engine: client: allow coloring fixed font text
2026-04-05 07:03:46 +05:00
Alibek Omarov
1b2ab34745
engine: client: keep TF_NEAREST enabled for console font, if HUD font failed to load
2026-04-05 07:03:46 +05:00
Alibek Omarov
2713f03ec2
filesystem: fix Quake gamedir check if pak0.pak is written in uppercase, omitting caseinsensitive FS emulation as is VFS is not enabled at this stage
2026-04-05 07:03:46 +05:00
Alibek Omarov
238083c174
engine: client: move common server message handlers to CL_ParseCommonMessage and only HL specific ones to CL_ParseCommonHLMessage (previously CL_ParseCommonDLLMessage)
2026-04-05 07:03:46 +05:00
Alibek Omarov
78de3ee6d9
engine: client: initialize cl_textmessage at compile-time
2026-04-05 07:03:46 +05:00
Alibek Omarov
695081e079
3rdparty: library_suffix: update
2026-04-05 07:03:46 +05:00
TheEVolk
2c5e2e1ded
engine: client: remove sound_t definition from sound.h
2026-04-04 18:30:14 +03:00
TheEVolk
d151c48d1f
engine: client: fix api issues
2026-04-04 17:47:54 +03:00
TheEVolk
35998bce81
engine: client: add sound api
2026-04-04 16:08:31 +03:00
Alibek Omarov
a10520ca9e
engine: host: add message when native game libraries weren't found but libraries for x86 windows, linux or macos were, telling that the mod probably require custom logic code
2026-04-04 17:37:48 +05:00
Alibek Omarov
cb4a03ded2
engine: platform: add Platform_LibraryExists and implement it for iOS and generally for everything else with FS_FileExists
2026-04-04 17:37:48 +05:00
Alibek Omarov
31a0d17de5
3rdparty: mainui: update
2026-04-04 17:36:21 +05:00
Alibek Omarov
5f765a35b9
ref: gl: show more detailed Host_Error instead of ASSERT in R_GetTexture
2026-04-04 17:36:05 +05:00
Alibek Omarov
5606346cc1
scripts: waifulib: xcompile: add Android NDK 30
2026-04-04 17:34:31 +05:00
Alibek Omarov
6faee8fd89
scripts: ios: call mkdir -p to not error out if the directory already exists (thanks, @ksagaming)
2026-04-04 17:34:07 +05:00
Alibek Omarov
255c9bcaed
3rdparty: mainui: update
2026-04-03 09:27:33 +05:00
Alibek Omarov
25a3fdbcec
3rdparty: mainui: update
2026-04-03 09:20:28 +05:00
Alibek Omarov
8e450d869b
engine: common: add host.default_gamedir containing gamedir passed to us from game launcher
2026-04-03 04:09:25 +05:00
Alibek Omarov
e8ef7ad60c
engine: server: throw Host_Error when game tries to call precache model with invalid argument, like GoldSrc
2026-04-03 01:43:23 +05:00
Alibek Omarov
216eedcdcd
ref: gl: better wording about backface culling goldsrc bug [skip ci]
2026-04-03 01:28:04 +05:00
Alibek Omarov
fd55716633
ref: gl: change backface culling only if it wasn't disabled by mod developer beforehand
2026-04-03 01:23:55 +05:00
Alibek Omarov
0b920be381
engine: client: delay freeing up the sound channel when it becomes inaudible
2026-04-03 00:03:52 +05:00
Alibek Omarov
e6dfccb6ba
engine: reorganize common.h header
2026-04-02 20:45:00 +05:00
Alibek Omarov
3129081050
engine: fix a typo USING_ASAN -> USE_ASAN
2026-04-02 02:16:50 +05:00
Alibek Omarov
00dac928c9
ref: replace checking PARM_QUAKE_COMPATIBLE with direct check of feature flag set
2026-04-02 02:13:27 +05:00
Alibek Omarov
3726256514
engine: simplify IsQuakeCompatible by enforcing QUAKE_COMPATIBLE feature flag when Quake demo starts
2026-04-02 02:11:40 +05:00
Alibek Omarov
5eb43505cb
engine: platform: try to fix build on 32-bit arm in debug builds (r7 is used by frame pointer, so we push it into stack before using for a syscall)
2026-04-02 02:02:59 +05:00
Alibek Omarov
f7e516b775
ci: run armhf build on arm64 runner too
2026-04-02 02:01:09 +05:00
Alibek Omarov
4edd512902
scripts: gha: enable all renderers on Linux targets
2026-04-01 20:59:48 +05:00
Alibek Omarov
acb263368a
ci: try to use github arm64 runner
2026-04-01 20:51:22 +05:00
Alibek Omarov
38b3805ad8
engine: client: gamma: fix gamma when compiled with -ffast-math
2026-04-01 20:35:04 +05:00
Alibek Omarov
2ebaa2ad8e
engine: wscript: disable engine tests on macOS temporarily
2026-04-01 09:15:09 +05:00
Alibek Omarov
018c52b998
scripts: gha: apple: add -v flag to build stage
2026-04-01 06:36:40 +05:00
Alibek Omarov
99d01e7967
engine: try to fix running tests on macOS 2
2026-04-01 06:29:22 +05:00
Alibek Omarov
e5670afc4c
common: xash3d_types: undefine ARRAYSIZE before defining our ARRAYSIZE (actually we should stop using ARRAYSIZE instead)
2026-04-01 06:19:06 +05:00
Alibek Omarov
5aba96ce14
engine: try to fix tests on macOS
2026-04-01 06:19:06 +05:00
Alibek Omarov
6b97fc1825
engine: fix tests build on Win32
2026-04-01 06:02:08 +05:00
Alibek Omarov
42cb5fe547
engine: wscript: append SDL2 library path to the client tests LD_LIBRARY_PATH (or it's platform-specific alternative)
2026-04-01 05:40:45 +05:00
Alibek Omarov
6a1718aa07
engine: get rid of --enable-engine-tests, now engine tests run as waf targets, allowing their run on CI seamlessly.
2026-04-01 05:15:31 +05:00
Alibek Omarov
f980f40f8e
engine: client: add new titles.txt parser, that avoids max messages limit
2026-04-01 04:10:41 +05:00
Alibek Omarov
5506486ed1
README: add note about running unit tests
2026-03-31 23:36:13 +05:00
Alibek Omarov
4a90d2fbe5
contributing: better wording
2026-03-31 23:35:47 +05:00
RevengeRip
8767a4d6ba
engine: client: avi: remove XASH_FFMPEG_DLOPEN
...
Is this a mistake? This define effectively forces `--enable-ffmpeg-dlopen` at all times ignoring configuration (which in turn makes build to fail with ffmpeg 8.1).
2026-03-31 16:24:32 +05:00
Xav101
34bb2665cf
wscript: removed redundant irix linkflags
2026-03-30 11:33:46 +05:00
Xav101
1a79a9488d
3rdparty: libbacktrace: wscript: add irix to the unsupported platforms list. This could probably be made to work at some point but we'll disable it just to keep things simple.
2026-03-30 11:33:46 +05:00
Alibek Omarov
c91b707b66
engine: client: ignore blank music tracks in "cd loop" command so music could carry over through changelevels
2026-03-28 19:23:59 +05:00
Alibek Omarov
a50ea929d6
engine: fix a typo in R_Blood, fix a typo in pt_4x_slowgrav
2026-03-28 18:44:50 +05:00
Alibek Omarov
d5b481ac9d
ref: gl: fix off-by-one error in GL_PopPolygonOffset
2026-03-28 04:43:14 +05:00
Marc-Antoine Lortie
8e69be0542
Documentation: opensource-mods.md: add Heart of Evil mirror.
2026-03-28 01:36:50 +05:00
Marc-Antoine Lortie
5296147c6b
android: Supplement French Translation
2026-03-28 01:36:18 +05:00
Alibek Omarov
30fa074c8c
engine: server: implement time window based challenge generation
2026-03-27 22:17:34 +05:00
Alibek Omarov
02b1d15e42
ref: gl: add gl_polyoffset_bmodels to enable poly offset for drawing brush models, avoiding zfighting
2026-03-27 03:27:20 +05:00
Alibek Omarov
82475c3b58
public: remove tgmath.h include in C++ mode
2026-03-26 15:49:33 +05:00
Alibek Omarov
c421f3136d
public: reformat BoxOnPlaneSide function
2026-03-26 02:48:13 +05:00
Alibek Omarov
641a3663f5
ref: gl: unlikely but use fast side check for frustum
2026-03-26 02:44:53 +05:00
Alibek Omarov
acaede2a0d
public: redefine mplane_t, make PlaneIntersect inline, turn BOX_ON_PLANE_SIDE into an inline function instead of a macro
2026-03-26 02:37:59 +05:00
Alibek Omarov
d8d1ebf23c
engine: cleanup unused functions
2026-03-26 02:24:30 +05:00
Alibek Omarov
926f0ae95d
engine: server: get rid of {ALLOC_,MAKE_,}STRING macros, call the underlying functions directly
2026-03-26 02:24:30 +05:00
Alibek Omarov
c5d5ce5f43
3rdparty: mainui: update
2026-03-25 23:06:27 +05:00
Alibek Omarov
2fe950b0af
engine: server: don't show scary message about missing server library on engine startup in multiplayer capable games
2026-03-25 23:06:27 +05:00
坂柳有栖
a04bb01841
android: Supplement Simplified Chinese Translation
...
android: Supplement Simplified Chinese Translation
2026-03-25 16:48:04 +05:00
坂柳有栖
2d2de9dc26
android: Supplement Simplified Chinese Translation
...
Android: values-zh-rCN/strings.xml,Supplement Simplified Chinese Translation
2026-03-25 16:48:04 +05:00
Alibek Omarov
81fc511f0a
android: add ability to disable yapb bots from our settings page
2026-03-25 00:51:21 +05:00
Alibek Omarov
d85d813d62
android: add a proper exit from storage permission dialog
2026-03-25 00:50:47 +05:00
Alibek Omarov
9f6b571d79
android: check if user tries to open known mod and redirect
2026-03-25 00:49:44 +05:00
Alibek Omarov
292f393f99
android: fix name with XML file with Simplified Chinese translation
2026-03-24 23:16:38 +05:00
Alibek Omarov
f523f04ee2
android: build mainui_cpp through CMake
2026-03-24 21:05:56 +05:00
Alibek Omarov
88d8115306
ci: update actions to newer versions
2026-03-24 04:20:11 +05:00
Alibek Omarov
9a050cb67f
scripts: gha: fix shellcheck warnings in build_* scripts
2026-03-24 04:07:21 +05:00
Alibek Omarov
cf8046ecd9
scripts: gha: fix shellcheck warnings in deps_* scripts
2026-03-24 03:51:54 +05:00
Alibek Omarov
6a292ec68c
scripts: gha: android: bump NDK, JDK and commandline tools versions
2026-03-24 03:46:58 +05:00
Alibek Omarov
4679359688
android: update gradle, agp, etc
2026-03-24 03:46:58 +05:00
Andrey Akhmichin
bca81de210
Documentation: opensource-mods.md: update.
2026-03-23 01:39:21 +05:00
Alibek Omarov
ec1a65c18f
3rdparty: mainui: update
2026-03-22 20:13:50 +05:00
Alibek Omarov
ed559d9ed7
engine: client: fix off by one error in KeynumTostring
2026-03-22 20:08:01 +05:00
Alibek Omarov
8995a584b9
engine: do not register autocompletion for commands that are not possible in dedicated build
2026-03-22 14:20:59 +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
ksagameng
11c7c1b77d
scripts: ios: enable decay build in buildallmods.sh
2026-03-19 22:36:51 +05:00
ksagameng
93cb146f39
engine: common: Disable changegame menu on iOS
2026-03-19 22:36:51 +05:00
ksagameng
59dbe1d01e
ios: Add entitlements.plist and codesign the generated ipa with said plist in createipa.sh
2026-03-19 22:36:51 +05:00
ksagameng
d6dc77d409
engine: common: Change macro for consistency
2026-03-19 22:36:51 +05:00
ksagameng
f8714a57d3
scripts: ios: Build all mods script and postfixing support in buildhlsdk script
2026-03-19 22:36:51 +05:00
ksagameng
9f71255d6f
engine: ios: Fixed code for running multiple client libraries bundled in the same ipa
2026-03-19 22:36:51 +05:00
Alibek Omarov
d8bab034c2
engine: client: extend the supported key list for international keyboards, small refactoring of old smelly code
2026-03-19 15:41:12 +05:00
Alibek Omarov
9a25768617
ref: soft: cleanup dead, commented out code and global variables
2026-03-17 00:19:27 +05:00
Alibek Omarov
e76528d929
ref: make sprite and studio global variables static
2026-03-17 00:19:27 +05:00
Alibek Omarov
00ad05c92a
ref: gl: move showtextures implementation to gl_image.c
2026-03-17 00:19:27 +05:00
Alibek Omarov
df95baa282
public: minor refactoring, mark some more functions as returns_nonnull
2026-03-17 00:19:27 +05:00
Alibek Omarov
f42e2f59b7
filesystem: mark some fs ops const
2026-03-17 00:19:27 +05:00
SNMetamorph
d8b784482e
Documentation: extensions: added description for steam broker protocol
2026-03-16 15:04:02 +05:00
SNMetamorph
b136f1e078
Documentation: updated information about GoldSrc network protocol support
2026-03-16 15:04:02 +05:00
SNMetamorph
bd73775a2f
engine: client: refactor steam broker internal logic
2026-03-13 02:54:35 +05:00
SNMetamorph
1f133ea702
engine: client: add steam broker messages for game init & shutdown events
2026-03-13 02:54:35 +05:00
SNMetamorph
8acc7e4f76
engine: client: rename steam broker message sb_terminate to sb_disconnect
2026-03-13 02:54:35 +05:00
Alibek Omarov
00e2e8e502
3rdparty: mainui: update
2026-03-12 03:50:12 +05:00
Alibek Omarov
e5013196ac
engine: client: reduce amount of glColor4ub calls when rendering text
2026-03-11 10:13:23 +05:00
Alibek Omarov
658a3b0c6a
ref: gl: minor refactoring
2026-03-11 10:11:21 +05:00
Alibek Omarov
4e9a2dace0
ref: gl: only check for GL errors if both gl_check_errors and developer mode are enabled
2026-03-11 08:39:58 +05:00
Alibek Omarov
f7b389b7cd
common: remove particledef.h
2026-03-11 08:39:33 +05:00
Alibek Omarov
dac77ec0af
engine: client: idenitification: add /etc/machine-id
2026-03-05 06:06:52 +05:00
Alibek Omarov
32d73e62f4
engine: minor refactoring, remove host.apply_game_config as it's unused
2026-03-05 06:06:04 +05:00
Alibek Omarov
b353ec463a
engine: host: move exec, userconfigd and memstats to it's respective files
2026-03-05 04:44:19 +05:00
Alibek Omarov
36be731893
engine: cmd: make all command buffers size static
2026-03-05 04:42:56 +05:00
Alibek Omarov
0389ef3b04
game_launch: simplify
2026-03-05 02:58:00 +05:00
Alibek Omarov
b2886dd2e9
engine: platform: remove support for glibc's backtrace(), as it's unused
2026-03-05 02:56:38 +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
5ca31f0965
engine: client: s_mix: always mix when not in menu, as DSP effects might produce sound even if no channels are active
2026-03-02 15:39:49 +05:00
Alibek Omarov
c19a824a42
public: add Q_memfgets, replacement for COM_MemFgets rewritten using crtlib functions. Add a test
2026-03-01 03:04:33 +05:00
Alibek Omarov
53c5a33ffd
engine: only switch to console on Host_Error when developer mode is enabled
2026-02-28 20:39:34 +05:00
Alibek Omarov
711d15958c
engine: color Host_Error red to make it more visible in the console
2026-02-28 20:39:13 +05:00
Alibek Omarov
99d7c52b4e
3rdparty: mainui: update
2026-02-28 20:27:44 +05:00
Alibek Omarov
342a59a408
engine: client: idenitification: add server IP address to the MD5 hash, not to the ID bloom filter
2026-02-28 04:20:53 +05:00
Alibek Omarov
9302b8904c
engine: client: identification: fix a typo
2026-02-28 04:17:34 +05:00
Alibek Omarov
bdbf5c0ef2
engine: client: titles: add another edge case test for titles.txt parser
2026-02-28 04:17:34 +05:00
Alibek Omarov
192ed942c4
public: add new features to ParseFileSafe, such as disabling interpreting certain characters as separate tokens, or instead forcing them to be separate tokens
2026-02-28 04:17:34 +05:00
Alibek Omarov
56255f6de0
engine: client: add simple test for titles.txt parser
2026-02-28 01:49:25 +05:00
Alibek Omarov
7ce830ea33
engine: client: vox: fix defaulted word parameters
2026-02-28 00:25:19 +05:00
Alibek Omarov
9a285986c4
public: reimplement COM_TrimSpace, add it to crtlib, add tests for it
2026-02-28 00:05:37 +05:00
Alibek Omarov
62c547570a
engine: minor refactoring
2026-02-27 23:00:39 +05:00
Alibek Omarov
88e5013623
ref: gl: vgl_shim: try to fix build on PSVita
2026-02-26 17:22:47 +05:00
Alibek Omarov
ea0fed24ec
filesystem: remove unneccessary dependency on const.h
2026-02-26 10:29:09 +05:00
Alibek Omarov
f863e346f5
engine: reduce dependency on eiface.h
2026-02-26 10:29:09 +05:00
Alibek Omarov
7c527d8886
public: minor refactoring
2026-02-26 10:29:09 +05:00
Alibek Omarov
e51f93a5b4
engine: remove unused hltv.h
2026-02-26 10:29:09 +05:00
Alibek Omarov
50147a3d48
common: replace HLSDK pmtrace.h and pm_movevars.h by it's QW counterparts
2026-02-26 10:29:09 +05:00
Alibek Omarov
26acc25018
common: use Quake derived definitions for usercmd_t and dlight_t
2026-02-26 10:29:09 +05:00
Alibek Omarov
d8e1597726
common: xash3d_types: add Quake's link_t definition and offsetof macro
2026-02-26 10:29:09 +05:00
Alibek Omarov
2c004e6cb7
3rdparty: mainui: update
2026-02-25 03:20:33 +05:00
Alibek Omarov
9cf9eb91bb
common: remove unused mathlib.h
2026-02-25 00:08:17 +05:00
Alibek Omarov
fc9ab68837
public: link tests to build_vcs too
2026-02-23 23:25:24 +05:00
Alibek Omarov
be6ad74e1b
utils: mdldec: fix building with plain makefile
2026-02-23 21:50:52 +05:00
Alibek Omarov
2bdc22fbeb
public: exclude build_vcs from libpublic dependencies, add it per project
2026-02-23 21:48:23 +05:00
Alibek Omarov
382b19e458
engine: minor refactoring
2026-02-23 21:46:20 +05:00
Alibek Omarov
c63c0ba04b
ref: minor refactoring
2026-02-23 21:46:01 +05:00
Alibek Omarov
109579fa92
3rdparty: mainui: update
2026-02-23 18:14:23 +05:00
IntriguingTiles
005544d974
engine: client: always set scaling factors
2026-02-21 17:10:37 +05:00
Alibek Omarov
07937f5f6c
engine: client: consolidate two remaining functions in s_utils.c into s_main.c
2026-02-21 03:37:36 +05:00
Alibek Omarov
8bdd6bfc5e
ref: gl: add link to web archive where the ripple animation algorithm was originally described [ci skip]
2026-02-21 03:11:02 +05:00
Alibek Omarov
8b0d3557f3
game_launch: change Sys_ChangeGame to a stub
2026-02-21 02:21:09 +05:00
Alibek Omarov
436fa98f33
engine: remove the code that calls pfnChangeGame from game_launch, as we never use it anyway
2026-02-21 02:21:09 +05:00
Alibek Omarov
718fbac9be
Merge branch 'steam-broker'
2026-02-21 02:00:53 +05:00
Alibek Omarov
abaf390dfc
engine: client: introduce a new mixer
2026-02-21 01:43:14 +05:00
Alibek Omarov
9205ddc5b4
engine: client: voice: rewrite Voice_IsGoldSrcMode to make it easier to understand and also fix build with Clang
2026-02-21 01:20:34 +05:00
Alibek Omarov
6bcb98e779
public: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty. Remove legacy macros
2026-02-21 01:20:34 +05:00
Alibek Omarov
4722ad6be6
ref: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty
2026-02-21 01:20:34 +05:00
Alibek Omarov
baa005ff71
filesystem: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty
2026-02-21 01:20:34 +05:00
Alibek Omarov
76363a555c
engine: platform: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty
2026-02-21 01:20:34 +05:00
Alibek Omarov
de70e12bbe
engine: server: replace COM_CheckString and COM_CheckStringEmpty by COM_StringEmptyOrNULL and COM_StringEmpty
2026-02-21 01:20:34 +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
3040552580
engine: client: replace COM_CheckString with COM_StringEmptyOrNULL
2026-02-21 01:20:34 +05:00
Alibek Omarov
24aaeb07cb
engine: client: replace COM_CheckStringEmpty with COM_StringEmpty
2026-02-21 01:20:34 +05:00
Alibek Omarov
ae15886a14
public: add COM_StringEmpty and COM_StringEmptyOrNULL macros (that eventually replace less obvious COM_CheckString and COM_CheckStringEmpty)
2026-02-21 01:20:34 +05:00
Alibek Omarov
b2911e6d96
engine: client: add double quotes around key in bind command in config file. Thanks @TheKingFireS for fix
2026-02-20 23:14:27 +05:00
Alibek Omarov
2735add7d0
engine: drop setgl command
2026-02-20 22:08:26 +05:00
Alibek Omarov
0abb667c28
engine: drop XASH_HASHED_VARS define
2026-02-20 22:08:05 +05:00
Alibek Omarov
19dfec5f52
engine: use BaseCmd_FindAll when looking for cvars and cmds simultaneously
2026-02-20 21:56:59 +05:00
Alibek Omarov
e0f01ddae7
engine: remove unused ignore_group argument from Cvar_FindVarExt
2026-02-20 21:55:15 +05:00
Alibek Omarov
2f8a0510b8
engine: client: return NULL from LookupBinding on unknown bindings, like GoldSource
2026-02-16 23:59:28 +05:00
Alibek Omarov
dbbe75fec6
engine: mod_bmodel: minor refactoring
2026-02-13 12:33:44 +05:00
Alibek Omarov
c0b15fb186
ci: disable freebsd-16-0-snap image as it's unsupported by cirrus
2026-02-13 12:15:46 +05:00
Alibek Omarov
f802b0eed9
engine: mod_bmodel: fix build w/ MSVC
2026-02-13 12:09:01 +05:00
Alibek Omarov
cf9f9b40e7
3rdparty: mainui: update
2026-02-13 11:40:47 +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
587eabd829
common: bspfile: add basic BSPX definitions
2026-02-13 11:08:35 +05:00
Alibek Omarov
80e0d45c09
3rdparty: mainui: update
2026-02-12 13:30:30 +05:00
Alibek Omarov
f034276354
readme: update discord link
2026-02-10 18:19:03 +05:00
Alibek Omarov
306455280a
engine: identification: include build.h early so platform definitions are visible when including system headers
2026-02-10 16:13:56 +05:00
Alibek Omarov
d9221c8491
scripts: waifulib: remove outdated stuff
2026-02-08 10:14:28 +05:00
Alibek Omarov
249e1404c1
engine: client: identification: add client.h so compiler doesn't complain about missing prototypes for public functions
2026-02-08 06:38:05 +05:00
Alibek Omarov
dd55b77543
engine: client: identification: do not salt port as suggested by @snmetamorph
2026-02-08 06:38:05 +05:00
Alibek Omarov
c772fb98d1
engine: client: salt xashid with server address
2026-02-08 06:38:05 +05:00
Alibek Omarov
1c1e5c50a9
3rdparty: mainui: update
2026-02-07 14:38:23 +05:00
Alibek Omarov
5cc784f2fa
engine: common: fix inverted check in addmaster
2026-02-07 14:38:12 +05:00
Razcoina
983b9611ac
avi: add audio context check before sending packet
2026-02-07 07:50:57 +05:00
Alibek Omarov
a7f154d05a
engine: platform: move SDL hints from android code to main SDL code
2026-02-05 08:45:23 +05:00
Alibek Omarov
0e75428d62
engine: avi: do not playback video if codec context is NULL
2026-02-05 08:26:43 +05:00
Alibek Omarov
fa34092ba2
engine: client: make RefAPI's R_GetConfigName optional
2026-02-05 08:17:59 +05:00
Alibek Omarov
f01818a3f8
wscript: allow linking with system-wide opus 1.6.1 which has a fix for custom modes
2026-02-05 07:47:18 +05:00
Alibek Omarov
732bc50a3a
filesystem: set custom_loader flag even if loading DLLs from archives is unsupported
...
After all, it's an engine job to figure out whether it wants to load this binary or not.
2026-02-03 17:48:27 +05:00
Владислав Сухов
e9ffe12481
ref: gl: fix opacity of additive sprites and textures in fog
2026-01-31 20:49:47 +05:00
Alibek Omarov
cca6f8da2d
engine: platform: sdl2: more robust error handling when creating a window and opengl context
2026-01-31 14:13:37 +05:00
Владислав Сухов
d391ef1747
public: crtlib: make COM_FixSlashes remove duplicate slashes
2026-01-30 02:25:44 +05:00
Alibek Omarov
4804586728
engine: let movevars.zmax be encoded in 24 bits
2026-01-30 02:04:07 +05:00
Alibek Omarov
d08fd5c855
engine: directly access background state cvar
2026-01-30 00:16:19 +05:00
Alibek Omarov
9cc884dfe6
engine: add function Cvar_DirectFullSet that acts like Cvar_DirectSet and Cvar_FullSet at the same time
2026-01-30 00:16:19 +05:00
Alibek Omarov
e767770647
common: set default window mode to windowed on windows
...
Window, window, window, window!
2026-01-30 00:16:19 +05:00
Alibek Omarov
456ad17d05
engine: platform: sdl2: make fake fullscreen for windowed mode. Simplify the code by first creating window in windowed mode and then switching to fullscreen if requested
2026-01-30 00:16:19 +05:00
Alibek Omarov
5ee21ca6ab
engine: platform: sdl2: remove window_x/ypos cvars
2026-01-30 00:16:19 +05:00
Alibek Omarov
f706b51d14
3rdparty: mainui: update
2026-01-28 15:24:13 +05:00
Alibek Omarov
d8895ae497
engine: do not set actually freed models as to be freed, fixing another models leak. Improve modellist output
2026-01-28 15:23:43 +05:00
Alibek Omarov
a807168816
engine: client: send broadcast for 10 more ports forward when scanning servers in LAN
2026-01-27 14:55:08 +05:00
Alibek Omarov
a26c56629e
engine: client: deactivate menu when on escape if we are going back to game
2026-01-26 02:17:03 +05:00
Alibek Omarov
8ee997b1bc
Reapply "engine: client: allow console toggle from menu via keybind"
...
This reverts commit 27c71194ba .
2026-01-26 02:12:07 +05:00
Alibek Omarov
27c71194ba
Revert "engine: client: allow console toggle from menu via keybind"
...
This reverts commit 9ed76fbb36 .
2026-01-26 01:37:26 +05:00
Alibek Omarov
c029def67d
3rdparty: MultiEmulator: update
2026-01-24 07:36:35 +05:00
Alibek Omarov
8bb6968ab8
scripts: waifulib: sdl2: add paths support for SDL mingw dev package
2026-01-24 07:32:02 +05:00
Alibek Omarov
cc9e3a5a81
engine: misc build fixes for clang with mingw
2026-01-24 07:21:30 +05:00
Alibek Omarov
e9cd94eea6
3rdparty: mainui: update
2026-01-24 07:20:22 +05:00
Alibek Omarov
572fd063fc
common: port: do not redefine NOMINMAX and alloca if already defined
2026-01-24 07:17:53 +05:00
Alibek Omarov
1052e45928
3rdparty: libbacktrace: wscript: add support for building on Windows
2026-01-24 07:17:11 +05:00
Alibek Omarov
df561147ec
3rdparty: libbacktrace: update
2026-01-24 07:16:49 +05:00
Alibek Omarov
9ce570fe28
3rdparty: MultiEmulator: update
2026-01-24 07:16:34 +05:00
Alibek Omarov
20a20c72d4
common: do not override neither _cdecl or _stdcall
2026-01-24 07:09:36 +05:00
Alibek Omarov
7a8837bf2a
ref: do not remove permanent decals
2026-01-22 23:40:59 +05:00
Alibek Omarov
b83d763a50
3rdparty: mainui: update
2026-01-21 22:23:19 +05:00
Alibek Omarov
b2ab748fcb
engine: do not reset flNextPrimaryMove in pmove struct, as it's used by modders
2026-01-21 05:10:51 +05:00
Alibek Omarov
56e5a95cb6
engine: platform: sdl2: add command vid_info to dump current SDL window state
2026-01-21 01:58:38 +05:00
Alibek Omarov
214b133e5d
engine: fix build
2026-01-20 23:43:28 +05:00
Alibek Omarov
f9bbe2a2c4
engine: make host.argv an array of pointers to const data
2026-01-20 22:42:14 +05:00
Alibek Omarov
c5f90aabd6
engine: use Sys_GetIntFromCmdLine where possible
2026-01-20 22:30:39 +05:00
Alibek Omarov
77123f710b
3rdparty: mainui: update
2026-01-20 19:27:18 +05:00
Владислав Сухов
5c5c0ad94d
engine: common: prepare support for direct scr writing
2026-01-20 19:26:28 +05:00
Alibek Omarov
5232ccb6e3
engine: server: do not print the port in ban list, it's not used there and causes issues when exported to a config
2026-01-20 00:37:23 +05:00
Alibek Omarov
bc387477ce
engine: common: fix world submodels were not being purged correctly, leading to a "memory leak"
2026-01-20 00:34:10 +05:00
Alibek Omarov
1c6eb85a12
public: crtlib: modify format of Q_timestamp TIME_FILENAME to make it sortable
2026-01-19 22:33:49 +05:00
Alibek Omarov
ed950723cd
engine: client: add cl_autorecord cvar, to start recording demo as soon as client spawns on server
2026-01-19 22:30:20 +05:00
Alibek Omarov
e06087cb0b
engine: client: move svc_restoresound parser into svc_sound parser
2026-01-19 22:07:59 +05:00
Alibek Omarov
8cbc7819a6
engine: common: transform asserts into Host_Error calls in Mod_LoadModel
2026-01-19 22:00:33 +05:00
Alibek Omarov
7c588540d8
engine: common: http: fix incorrect parsing of URLs
2026-01-18 15:33:10 +05:00
Alibek Omarov
0e0763c820
engine: client: steam: drop broker address after terminate
2026-01-17 06:18:07 +05:00
Alibek Omarov
e5d3f180dc
engine: client: implement steam broker client side
2026-01-17 06:18:07 +05:00
Alibek Omarov
5cb5e76872
engine: add new needload flag specifically for cleaning up unused models and use unreferenced for free slots.
2026-01-17 06:17:46 +05:00
Alibek Omarov
742265c2c4
ref: remove limit on total amount of textures a studio model can contain
2026-01-17 06:17:46 +05:00
Alibek Omarov
4e49cc49f8
engine: common: http: optimistically treat https as http as a temporary hack
2026-01-17 06:17:46 +05:00
Владислав Сухов
09ca41ea36
engine: server: drop ghost fakeclients before changelevel
2026-01-16 14:27:41 +05:00
Alibek Omarov
896bbe8fc3
engine: server: add Host_Error on unknown pfnWalkMove state
...
In GoldSrc default branch interpreted as WALKMOVE_NORMAL, and there might be
some mods that expect this.
But Xash never did this, and if Xash-specific games rely on that behavior, we
better know about it.
2026-01-16 14:19:38 +05:00
Alibek Omarov
ed85d3028f
engine: client: fix division by zero in cl_showfps on first frame
2026-01-15 04:42:36 +05:00
Alibek Omarov
8e33f11dc6
engine: server: replace MAX_INFO_STRING with appropriate sizeof, remove some set but unused variables
2026-01-13 18:09:37 +05:00
Alibek Omarov
4bb547fdc7
engine: platform: sdl: revert disabled NET_WM_BYPASS_COMPOSITOR
2026-01-13 08:35:46 +05:00
Alibek Omarov
8af5ecdb06
mainui: update
2026-01-13 08:27:03 +05:00
Alibek Omarov
5a0517c1b8
engine: server: refactoring, better validation of cl_updaterate and rate values. Allow sv_min/maxupdaterate to be set to 0 for unlimited powah
2026-01-13 08:27:03 +05:00
Alibek Omarov
5ed1bca57f
engine: client: allow enabling sv_cheats during demo playback
2026-01-13 08:27:03 +05:00
Alibek Omarov
d5892f3794
engine: change sleeptime resolution from 1 microsecond to 100 microseconds, as apparently sleeping for a microsecond isn't enough to lower CPU usage
2026-01-13 08:27:03 +05:00
Alibek Omarov
32aee7ef2f
engine: add sv_hibernate_when_empty that cuts down CPU usage on empty servers, similar to the feature in Source
2026-01-13 08:27:03 +05:00
Alibek Omarov
3a5d57603f
engine: print unknown command message in dedicated mode and when not on server
2026-01-13 08:27:03 +05:00
Steven Linn
c865999302
engine: fix window position drift on X11 with window decorations
2026-01-13 06:31:29 +05:00
Steven Linn
cb69a52d65
engine: fix black fullscreen flash on startup in windowed mode
2026-01-13 06:31:29 +05:00
Steven Linn
d915ed184c
Add 'retry' command for quick reconnection to servers
2026-01-13 06:28:15 +05:00
Alibek Omarov
bdc205b994
engine: client: do not grab client updates during intermission, fixes the bug where player was seemingly moving during intermission
2026-01-13 06:26:26 +05:00
Alibek Omarov
46ccc37cae
engine: fix undefined pfnTime build error, it has been renamed to Sys_FloatTime
2026-01-13 06:03:34 +05:00
Alibek Omarov
d7b96ea8c2
engine: pass arguments on engine restart on nswitch, add forgotten -changegame parameter, simplify code for other platforms
2026-01-13 05:51:19 +05:00
Alibek Omarov
de9e28700a
engine: client: prevent a crash in case of invalid tempentity message (thanks, @Aynekko!)
2026-01-13 05:51:19 +05:00
Alibek Omarov
f5b2c4f7af
engine: client: prevent a crash in goldsrc delta entities parser
2026-01-13 05:51:19 +05:00
Alibek Omarov
79f7fba83c
engine: client: make both UI and Render API to use same implementation of GetFilesList function
2026-01-13 05:51:19 +05:00
Alibek Omarov
cb7f2ad8af
engine: replace Sys_DoubleTime with Platform_DoubleTime in internal code, only use Sys_DoubleTime in APIs
...
As Sys_DoubleTime is marked with GAME_EXPORT attribute that helps us to
maintain compatible binary interface.
2026-01-13 05:51:19 +05:00
lewa_j
5cdb58431a
engine: ref: Remove unused declarations, fix comment after rename
2026-01-13 03:41:19 +03:00
lewa_j
543d6d67e6
engine: platform: Make R_Init_Video parameter an enum
2026-01-13 03:25:29 +03:00
lewa_j
72e8a53046
engine: Fix input_completion buffer comparison
...
Fixes: 4b771701 ("engine: add con_showcompletion feature from FTEQW")
2026-01-13 03:22:19 +03:00
lewa_j
deb7b2061a
engine: platform: WINDOW_MODE_* enums for vid_fullscreen instead of magic numbers
2026-01-13 02:16:05 +03:00
lewa_j
8a75104cbc
commoon: engine: Fix not including all dependencies for headers. (Just some used in ref)
2026-01-12 13:52:04 +05:00
lewa_j
e7f758f380
engine: ref: Fix crash on invalid ref lib
2026-01-12 03:20:58 +03:00
Alibek Omarov
a4e5cf8bac
engine: client: fix up origin of MOVETYPE_FOLLOW entities immediately after entity update
...
This fixes an issue when MOVETYPE_FOLLOW entities seem to be "blinking".
Explanation of what's happening is in the comment in the code.
2026-01-09 18:50:29 +05:00
ksagameng
0976d96419
crtlib: Force use xash strchrnul implementation on ios
2026-01-05 09:37:20 +05:00
ncuxonaT
e39f8bf7c4
ref: gl: always use RGTC internal format for ATI2 textures
...
AMD убрала в новых драйверах поддержку расширения GL_ATI_texture_compression_3dc, из-за чего сломалась загрузка ATI2 текстур. Формат RGTC включен в стандарт OpenGL 3.0, а единственные видеокарты с поддержкой 3DC, но без RGTC - это серия Radeon X1000 (2005г.). Можно было бы только ради Х1000 проверять поддерживаемые расширения и переключаться на 3DC, но без явной необходимости этого делать не хочется.
2026-01-03 08:17:09 +05:00
Steven Linn
9ed76fbb36
engine: client: allow console toggle from menu via keybind
2026-01-02 10:31:44 +05:00
Alibek Omarov
4b77170136
engine: add con_showcompletion feature from FTEQW
2025-12-27 13:13:23 +05:00
Alibek Omarov
a168719905
engine: force generating vfs.cfg if it doesn't exists
2025-12-27 10:40:24 +05:00
Alibek Omarov
c950530e44
engine: common: masterlist: fix reporting wait state
2025-12-24 07:12:43 +05:00
Alibek Omarov
5584e6376c
engine: client: voice: shutdown refactoring
2025-12-24 06:51:16 +05:00
Alibek Omarov
fcd7e7dcea
engine: client: small sound refactoring, try to round volume values
2025-12-24 06:51:04 +05:00
Alibek Omarov
548a49ed93
engine: client: set a volume for VOX sentences playing from listener
2025-12-24 06:49:38 +05:00
Alibek Omarov
68a7689108
engine: client: fix incorrect usage of Mod_TestBmodelLumps return value in Cmd_ListMaps, causing it to crash
2025-12-23 14:05:36 +05:00
Nikita
58996c3d0d
ref: gl: use wireframe overlay for bmodel faces as well
2025-12-21 02:32:12 +05:00
Alibek Omarov
41925a1aa7
engine: platform: sdl3: implement audio output using streams
2025-12-18 12:06:48 +05:00
Alibek Omarov
c834f7c559
engine: platform: sdl3: add events handler
2025-12-18 11:40:52 +05:00
Alibek Omarov
a66262a787
engine: platform: sdl3: add few more vid functions, add REF_WINDOW_TYPE_SDL3 to query specifically for SDL3 window
2025-12-18 10:26:06 +05:00
Alibek Omarov
3b51708160
engine: platform: sdl3: implement window creation, fill out required stubs to make it compile
2025-12-18 10:00:46 +05:00
Alibek Omarov
ee6004a88d
engine: platform: sdl2: minor refactorings
2025-12-18 09:59:37 +05:00
Alibek Omarov
414da98c21
Documentation: add example GPL copyright header
2025-12-18 09:58:49 +05:00
Alibek Omarov
30ad3556dd
engine: small refactorings in sdl2 support, enable messagebox and timer in sdl3 backend back
2025-12-16 05:18:28 +05:00
Alibek Omarov
67a121ef8e
engine: ref_api: actually bump API version
2025-12-16 05:15:23 +05:00
Alibek Omarov
e7743587a1
mainui: update
2025-12-15 11:42:09 +05:00
Alibek Omarov
1b66367d3d
engine: server: add a warning if server DLL couldn't be loaded, refactor calling GetEntityAPI exports
2025-12-14 04:59:24 +03:00
Alibek Omarov
bc61516083
engine: client: show an error if user tries to load incompatible or outdated client.dll
2025-12-14 04:43:33 +03:00
Alibek Omarov
dae8c6cb9c
filesystem: in case of missing/incomplete liblist.gam make c0a0 default start map
2025-12-14 04:41:52 +03:00
Alibek Omarov
bed1c669aa
ci: update freebsd tasks
2025-12-14 03:52:16 +03:00
Alibek Omarov
785b2881b6
engine: client: fix crash when sound pitch is too high
2025-12-14 03:44:17 +03:00
Alibek Omarov
ce08f071b1
engine: platform: sdl2: use permonitor DPI awareness to avoid unneeded window titlebar resize
2025-12-14 02:23:07 +03:00
Alibek Omarov
e102857735
engine: platform: sdl2: prefer tga icons on Windows
2025-12-14 02:17:44 +03:00
Alibek Omarov
e973c42bfa
engine: platform: sdl2: fix stupid bug when window of the size of display gets interpreted as fullscreen window
2025-12-14 02:12:44 +03:00
Alibek Omarov
4a16ca8bc0
engine: platform: sdl2: fix fullscreen mode not fullscreening
2025-12-14 01:01:59 +03:00
Alibek Omarov
f9e82170ac
engine: platform: sdl2: set window position to undefined when coming back from fullscreen to windowed
2025-12-13 23:36:58 +03:00
Alibek Omarov
ad01be8866
engine: platform: sdl2: get maximized state in VID_SaveWindowMode
2025-12-14 00:44:05 +05:00
Alibek Omarov
40c7c5b348
engine: platform: sdl2: disable high dpi support on Windows temporarily
2025-12-14 00:17:01 +05:00
Alibek Omarov
66ea91270b
engine: make Image_ComputeSize shared between renderer and imagelib
2025-12-14 00:00:59 +05:00
Alibek Omarov
44fb4fb594
engine: common: imagelib: remove dependency on OpenGL declarations in texture formats
2025-12-13 23:59:40 +05:00
Alibek Omarov
16c849d085
engine: common: imagelib: refactoring
2025-12-13 23:11:48 +05:00
Alibek Omarov
e2835a7614
engine: common: imagelib: fix incorrect check for big endian pixel formats
2025-12-13 22:30:03 +05:00
Alibek Omarov
837bf652c5
engine: server: check that save file were successfully opened for writing, show the error otherwise
2025-12-13 00:36:33 +05:00
Alibek Omarov
ae5793f258
engine: log the error if file couldn't be opened for writing
2025-12-13 00:36:33 +05:00
ksagameng
146244f1f4
scripts: gha: Set hlsdk minimum ios version to 12.0
2025-12-10 16:56:09 +05:00
ksagameng
fa7a04f535
readme: updated instructions
2025-12-10 16:56:09 +05:00
ksagameng
db2c2e685d
scripts: ios: generate .dSYM files and make zip quiet
2025-12-10 16:56:09 +05:00
ksagameng
324b152307
Documentation: change iOS to supported in ports.md
2025-12-10 16:56:09 +05:00
Alibek Omarov
09a68bbebd
engine: platform: sdl2: allow DPI scaling on Windows
2025-12-09 19:22:40 +05:00
Alibek Omarov
2b7773d933
engine: platform: sdl2: rework picking suitable resolution when creating or modifying current window
2025-12-09 03:29:16 +05:00
Alibek Omarov
aaef9fd91c
engine: platform: sdl2: simplify checking if window fits on any display, always grab updated window size
2025-12-08 21:12:40 +05:00
Alibek Omarov
15f37a301f
engine: platform: sdl2: let system pick better window position if it doesn't fit anywhere
2025-12-08 21:01:13 +05:00
Alibek Omarov
807b5df17b
engine: platform: sdl2: use generic SDL_GetWindowSizeInPixels to get physical window size, if possible
2025-12-08 19:06:29 +05:00
Alibek Omarov
2a3dcecfae
engine: platform: sdl2: add a note about useless and broken WarpMouseInWindow on Wayland
2025-12-08 19:05:38 +05:00
Alibek Omarov
a858719a4b
engine: platform: sdl2: restore scaling mouse position for hi-dpi support
2025-12-08 19:05:13 +05:00
Alibek Omarov
c844cf7ec1
engine: platform: sdl2: refactor VID_RestoreScreenResolution to accept window_mode_t instead of reading cvar value
2025-12-08 18:57:31 +05:00
Alibek Omarov
a4431b5cfd
engine: store scaling factor between physical and logical window size
2025-12-07 15:23:35 +03:00
Alibek Omarov
7e730cf171
common: by default, use borderless fullscreen mode
2025-12-07 15:23:35 +03:00
Alibek Omarov
9569900b9c
engine: redefine cvar flags in functions arguments from plain int to uint32_t
2025-12-07 15:23:35 +03:00
Alibek Omarov
5c190567e5
engine: client: add cvars vid_width and vid_height to query physical window size
2025-12-07 15:23:35 +03:00
Max Parry
2ef374ff4a
engine: imagelib: img_bmp: support for big endian RGB format
...
Allows software rendering save screenshots
2025-12-06 19:46:25 +11:00
Max Parry
2c20734ad3
ref: soft: Fix out of bounds memory access in VID_ScreenShot
2025-12-06 19:41:46 +11:00
TheEVolk
a4f8fc2205
engine: add clc_bad log packet cmd value
2025-12-02 00:21:36 +05:00
Alibek Omarov
4ed3e539fa
engine: client: validate server info message
2025-12-01 13:03:53 +05:00
Alibek Omarov
3bc32d6e1b
engine: shift netchan flags bit to the right, as one of the flags is removed
2025-12-01 13:03:53 +05:00
Alibek Omarov
e05d6ec27c
common: net_api: add a note about reserved bit for deprecated extension
2025-12-01 13:03:53 +05:00
Alibek Omarov
cfa8e639f1
engine: drop legacy protocol support
2025-12-01 13:03:53 +05:00
ncuxonaT
bbe659ebfa
ref: gl: fix loading texture arrays
2025-11-30 18:33:57 +05:00
Steven Linn
bf5821e4ea
engine: fix vid_maximized always set to true when switching to windowed mode
2025-11-30 18:11:56 +05:00
Alibek Omarov
a1dc006488
scripts: disable software renderer on Android
2025-11-30 02:59:53 +05:00
Alibek Omarov
31c30aeb28
Documentation: move engine/game development guides to development subdirectory
2025-11-30 02:52:00 +05:00
Alibek Omarov
2516ed71d6
Documentation: add tutorial on using Qt Creator
2025-11-30 02:45:46 +05:00
Alibek Omarov
acbeb8fd30
wscript: ignore Qt Creator 18.0 config directory in clean command
2025-11-30 02:42:02 +05:00
Alibek Omarov
ab5ac3aae8
3rdparty: maintui: another build fix, this time for platforms where C chars are unsigned
2025-11-27 23:58:48 +05:00
Alibek Omarov
da133d890f
gitmodules: update to our xash3d-maintui fork
2025-11-27 23:42:32 +05:00
ncuxonaT
2736d1fd03
dds volume texture fix - gl_image.c
2025-11-27 23:17:18 +08:00
ncuxonaT
c7f18d7abe
dds volume texture fix - img_dds.c
2025-11-27 23:17:18 +08:00
Alibek Omarov
d5347a82cb
engine: platform: get rid of the mouse pos scaling hack, this is not how highdpi issues should get resolved
2025-11-27 19:34:51 +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
ceb5cd61e4
ref: gl: enable NPOT textures on GLES3 contexts as per spec
2025-11-27 19:18:27 +05:00
Alibek Omarov
75339193d7
engine: client: remove vid_highdpi cvar, always allow high dpi mode
2025-11-25 15:06:46 +05:00
Alibek Omarov
07da038b4b
engine: platform: sdl2: move dpi awareness hint set before SDL_Init, as documentation says it needs to be set before video init
2025-11-23 14:54:15 +05:00
Alibek Omarov
a2b597577f
engine: platform: sdl2: do not hide X11 hints under any platform macro
2025-11-23 14:50:51 +05:00
Alibek Omarov
9cf2d9fa86
engine: platform: sdl2: set up DPI awawareness on Windows through SDL hint
2025-11-23 14:50:12 +05:00
Alibek Omarov
d45ced5c66
engine: platform: sdl2: when closest video mode isn't found, revert to desktop video mode
2025-11-23 12:50:54 +05:00
Alibek Omarov
6aadb4ceea
engine: initialize default video mode in refState global, as we don't support reloading engine without reinitializing globals anyway
2025-11-23 11:54:33 +05:00
Alibek Omarov
c956c65e33
ref: gl: don't misleadingly tell about enabled vsync on engine startup before configs are parsed
2025-11-23 11:45:47 +05:00
Alibek Omarov
86dfbc3e34
common: make bspfile.h use stdint types, reformat the file
2025-11-22 13:40:11 +05:00
Alibek Omarov
3fc59104f3
engine: make FS_CopyImage argument const
2025-11-22 13:11:41 +05:00
Alibek Omarov
aae59ac281
engine: client: remove unused temppaintbuffer array
2025-11-22 13:11:18 +05:00
Alibek Omarov
e8a2047d4c
engine: client: use utility function to copy an image before quantization
2025-11-22 13:11:00 +05:00
Alibek Omarov
56972a811c
readme: better wording [skip ci]
2025-11-19 14:47:47 +05:00
Alibek Omarov
27086bfb97
engine: set r_wadtextures and r_allow_wad3_luma as latched cvars, as those require reloading textures and thus the game
2025-11-18 15:38:25 +05:00
Alibek Omarov
93dfcc344b
engine: implement loading luma in half-life
2025-11-18 15:35:20 +05:00
Alibek Omarov
c2448c8881
engine: imagelib: allow specifiying index for empty pixels when processing luma texture
2025-11-18 15:35:20 +05:00
Alibek Omarov
26df99ae41
utils: xar: fix build
2025-11-18 15:35:20 +05:00
Marc-Antoine Lortie
45cff25bbc
readme: fix hlsdk-portable link
2025-11-18 08:48:27 +08:00
Alibek Omarov
5556668fc3
wscript: add option to disable rpath usage
2025-11-17 13:01:06 +05:00
Xav101
1b28d183fc
wscript: rework link flags on IRIX to handle GL and SDL linking correctly
2025-11-17 03:08:38 +08:00
Xav101
15bbe9892e
public: mathlib: add parenthesis to fix ambiguous order of operations
2025-11-17 03:08:38 +08:00
Xav101
7236094421
platform: add missing include
2025-11-17 03:08:38 +08:00
Xav101
c85c6f80e0
platform: fix type in formatter string
2025-11-17 03:08:38 +08:00
Alibek Omarov
dd7811e5bc
filesystem: wscript: do not link library_suffix on PSVita
2025-11-16 18:46:08 +05:00
veygax
28c118a4e6
engine: zone: free poolchain on every iteration of Memory_Init
...
free poolchain when calling Memory_Init multiple times.
Fixes: memory leak when running run-fuzzer-Image_LoadBMP
Signed-off-by: veygax <veyga@veygax.dev >
2025-11-16 01:17:05 +08:00
Daniyar Tussupbekov
49b0619c9a
readme: update README.md for android build instruction ( #2120 )
...
* readme: update README.md for android build instruction
* Update Android build instructions in README
Corrected instructions for running in Android Studio and added a new section for building on Android.
---------
Co-authored-by: a1batross <a1ba.omarov@gmail.com >
2025-11-15 10:06:21 +05:00
veygax
0c3c6345e9
engine: imagelib: fix pixel iteration bounds checking on 1-bit BMPs
...
move 1-bit BMP bounds checking to the beginning of a loop to prevent a second iteration
Fixes: [GHSA-3p7j-2339-g5mm](https://github.com/FWGS/xash3d-fwgs/security/advisories/GHSA-3p7j-2339-g5mm )
Signed-off-by: veygax <veyga@veygax.dev >
2025-11-15 12:50:33 +08:00
Alibek Omarov
747baa1e16
engine: client: additionally look for loading images with bmp and png extensions
2025-11-13 22:01:55 +05:00
Alibek Omarov
2e5d2c1dcc
3rdparty: library_suffix: update
2025-11-12 20:28:04 +05:00
Alibek Omarov
300edb3318
engine: remember last resolved master server address for about a minute
2025-11-12 20:04:55 +05:00
Alibek Omarov
0dfeea5213
Migrate to library-suffix library
2025-11-11 06:59:41 +05:00
Alibek Omarov
d9150734c9
3rdparty: add library_suffix subproject
2025-11-11 06:59:41 +05:00
Alibek Omarov
65514b73fd
common: render_api: explicitly include stdint.h as we use intptr_t in the API
2025-11-11 06:22:43 +05:00
Alibek Omarov
d366e04682
engine: client: voice: fix typo, sequence must be incremented after it's written to the buffer
2025-11-09 02:55:58 +05:00
ksagameng
5151f9559b
scripts: ios: Fix built hlsdk not working on older ios
2025-11-08 06:50:07 +08:00
Alibek Omarov
62c56b877f
3rdparty: mainui: update
2025-11-07 04:08:06 +05:00
Alibek Omarov
420a907776
wscript: silently ignore exception if --no-undefined is not in the linkflags list on darwin
2025-11-07 04:05:19 +05:00
Alibek Omarov
184e976c5d
engine: call appropriate model loader on big endian
2025-11-06 23:37:27 +05:00
Alibek Omarov
6154e54661
wscript: fix a typo in -Wl,-undefined,error
2025-11-06 23:36:50 +05:00
Alibek Omarov
73950e867f
filesystem: initial set of fixes for big endian
2025-11-06 23:26:12 +05:00
Alibek Omarov
822aa00bd6
wscript: replace --no-undefined with -undefined error for Darwin for compatibility with older linkers (tested on 10.4)
2025-11-06 21:51:09 +05:00
Alibek Omarov
681808ca3d
3rdparty: mainui: update
2025-11-06 20:06:52 +05:00
Alibek Omarov
a0b40fc2da
engine: common: explicitly cast function offset into size_t, even though it's signed ptrdiff, saverestore offset mistakingly used unsigned numbers
2025-11-06 20:06:51 +05:00
Alibek Omarov
955c5570d8
engine: client: voice: increment sequence before it's passed into LittleShort macro
2025-11-06 20:06:51 +05:00
Alibek Omarov
2094c72c95
engine: client: soundlib: use correct printf specifier for ptrdiff
2025-11-06 20:06:51 +05:00
Alibek Omarov
0795fe92fe
public: build: allow older __ppc__ macro defined by GCC 4.0 (even though I probably won't support GCC 4.0)
2025-11-06 20:06:51 +05:00
Alibek Omarov
9ce131e6be
engine: client: fix a typo
2025-11-06 23:06:33 +08:00
Alibek Omarov
08b718995c
engine: client: restore reduced resend time for bandwidth test
2025-11-06 23:06:33 +08:00
Alibek Omarov
4900955fc1
engine: client: set cl_dlmax to FRAGMENT_DEFAULT_SIZE when connecting to an old server or server that test disabled
2025-11-06 23:06:33 +08:00
Alibek Omarov
9d00e52c42
engine: server: require challenge for bandwidth test
2025-11-06 23:06:33 +08:00
Alibek Omarov
6c2bad610f
engine: client: request test packet only after we got challenge from server
2025-11-06 23:06:33 +08:00
Alibek Omarov
27c6004191
ci: disable freebsd-15 build due to bug with missing bzip2.pc
2025-11-05 09:13:45 +05:00
Alibek Omarov
500d385e6b
ci: use macos-15-intel for x86 engine builds
2025-11-05 09:10:12 +05:00
Alibek Omarov
5739946330
engine: server: limit bandwidth test to max 1400 bytes
2025-11-03 19:28:59 +05:00
Alibek Omarov
8a94256558
public: fix build with C++
2025-11-03 19:28:59 +05:00
ksagameng
a66774d65f
ci: ios: Minor change
2025-11-03 04:36:59 +08:00
ksagameng
a9f159bae5
ci: ios: Implement suggestions and use hlsdk mobile_hacks
2025-11-03 04:36:59 +08:00
ksagameng
a6108b7930
ci: Add iOS builds
2025-11-03 04:36:59 +08:00
Alibek Omarov
43066656bd
3rdparty: restore submodules hash after last merge
2025-11-01 18:33:42 +05:00
ksagameng2
a9bf700da4
Restore iOS build support ( #2352 )
...
* initial commit
* initial commit
* add port files
* ios: Changes to allow creating app bundle without xcode projects
* ios: Added mic perms request
* ios: Very basic app bundle creation script
* ios: Fix -log parameter
* ios: Sdk no longer hardcoded and option to compile for simulator
* general: Update gitignore
* ios: Enable game mode for the app
* ios: Compile instructions and updated ipa creation script
* ios: Code cleanup
* ios: Remove dylibs
* general: Remove extra submodules
* ios: Remove dylibs again
* ios: Implement suggested changes
* ios: Fix building as dylib instead of binary
* ios: Scripts for building mods
* ios: Move 'ios' contents to engine/platform/ios/bundle and modify scripts
* ios: Update createipa.sh to use waf install
* ios: Clean script and updated README
* general: Fix spelling mistake and outdated instructions
* ios: Clean up in xcompile.py
* ios: Fix createipa.sh generating an invalid ipa
* ios: Temporary fix for launch dialog textfield colors in dark mode
2025-11-01 18:32:00 +05:00
Sergey Degtyar
ee7dce68b8
engine: client: streamline samples handling
2025-11-01 21:24:49 +08:00
Alibek Omarov
a14cc82d46
engine: add buffer size argument to RefAPI's Mod_ProcessRenderData, bump RefAPI version
2025-10-31 15:58:05 +05:00
Alibek Omarov
b3dc772cd2
engine: add file size argument to sprite model loader
2025-10-31 15:56:31 +05:00
Alibek Omarov
9bb9575c6d
ci: update freebsd dependencies package list
2025-10-31 12:31:07 +05:00
Alibek Omarov
359cc9b1e7
security: add a security policy
2025-10-30 17:43:01 +05:00
Alibek Omarov
6a9f61e69f
engine: soundlib: ignore TXXX tags that's size exceeds 255 (sizeof( string ) - 1) bytes to account for null terminator
...
Thanks @veygax for the report!
2025-10-30 17:31:11 +05:00
Alibek Omarov
21ea83027e
engine: imagelib: fix buffer overflow when the amount of colors in palette reported by BMP header are higher than 256
...
Thanks to @veygax for report!
2025-10-30 17:30:02 +05:00
Alibek Omarov
f22a50b680
3rdparty: update maintui and mainui
2025-10-24 14:30:59 +05:00
Alibek Omarov
7217c7f1b2
engine: client: deprecate and remove all code associated with linear/cubic upsampling
2025-10-23 14:56:50 +05:00
Alibek Omarov
cfb8e0882a
Revert "engine: client: fixed blueish outline on sprays converted to WAD3"
...
This reverts commit a5f7314ec9 .
2025-10-20 07:47:58 +05:00
Alibek Omarov
f1fde32c29
Drop legacy AuroraOS code
2025-10-19 07:39:47 +05:00
Alibek Omarov
c6a5c64448
engine: client: touch: implement rotation support
2025-10-19 05:35:28 +03:00
Alibek Omarov
b8f0a89846
engine: client: validate vid_rotate cvar value and save current rotation to ref global
2025-10-19 06:27:10 +05:00
Alibek Omarov
684f7fb75e
ref: gl: implement rotation for 3D
2025-10-19 06:26:28 +05:00
Alibek Omarov
4dabb5d1f9
ref: gl: implement rotation for 2D
2025-10-19 06:25:43 +05:00
Alibek Omarov
ea2c864265
engine: server: don't pass uninitialized pointers to the server DLL in SetupVisibility function
2025-10-17 14:54:52 +05:00
Alibek Omarov
7315865d34
engine: client: include null byte in synthetised HudText messages, to match real HudText messages sent from server
2025-10-17 14:07:48 +05:00
Alibek Omarov
6d987d083e
android: delete .nomedia if it's a directory
2025-10-17 15:58:59 +08:00
Alibek Omarov
6e9edcdd50
android: try to automatically create .nomedia file in directory where games are located
2025-10-17 15:58:59 +08:00
Alibek Omarov
7a02110a42
ref: gl: fix out of bounds access
...
On GPUs where GL_ARB_shading_language_100 isn't available (i.e. all mobile GPUs
I believe) this function would return total amount of texture units available.
But ref_gl only tracks and uses MAX_TEXTURE_UNITS texture units, causing memory
corruption in functions that doesn't check the limit.
2025-10-17 09:19:23 +05:00
Alibek Omarov
9330e44817
filesystem: fix missing newline in anonymous file creation error string. Turn it into a warning, because it's not fatal
2025-10-17 09:08:50 +05:00
Alibek Omarov
5d7cb90bea
ref: gl: use our own matrix functions to create 2D projection and modelview matrices
2025-10-17 09:08:50 +05:00
Alibek Omarov
a7b466e4a9
scripts: gha: try to update vitaGL
2025-10-16 08:12:13 +08:00
Alibek Omarov
4c7e37d5fd
engine: few more cases of missing newline in Cbuf_AddText that I forgot to include in previous commit
2025-10-16 04:57:04 +05:00
Alibek Omarov
d8dcfc0ab3
engine: add \n to all Cbuf_AddText calls
2025-10-16 04:36:38 +05:00
Alibek Omarov
fb56873352
engine: client: increase lower cl_dlmax bound to 512 for goldsrc protocol
2025-10-16 01:21:30 +05:00
Alibek Omarov
8c4ef5200c
engine: client: drop unknown interpolation hack, that might've caused hiccups when prediction fails
2025-10-16 01:21:30 +05:00
SNMetamorph
a5f7314ec9
engine: client: fixed blueish outline on sprays converted to WAD3
2025-10-12 20:58:56 +08:00
Alibek Omarov
4f444ee6ea
engine: client: for goldsrc status messages, always mark them of goldsrc protocol
2025-10-12 04:14:37 +05:00
Alibek Omarov
651d6a4529
engine: client: remove useless messages in console about scanned servers
2025-10-12 04:12:43 +05:00
lewa_j
851b3d6d70
utils: mdldec: move XASH_WIN32 check after it is defined in build.h
2025-10-11 20:38:06 +03:00
lewa_j
5c0cc771bc
engine: win32: fix msvc warning "'LPSTR' differs in levels of indirection from 'string (*)'" with GetConsoleTitleA
2025-10-11 20:22:37 +03:00
lewa_j
acebb5b0cf
engine: client: fix msvc warning "incompatible types - from 'STARTUPINFO *' to 'LPSTARTUPINFOW'"
2025-10-11 20:22:34 +03:00
lewa_j
5f707e37b1
utils: xar: Fix windows build with -Werror=implicit-function-declaration
2025-10-11 20:22:29 +03:00
Alibek Omarov
af585fec08
utils: mdldec: fix build with implicit function declaration on MSVC
2025-10-11 21:23:49 +05:00
lewa_j
37e9ac453b
win32: engine: common: client: filesystem: Fix windows build with -Werror=implicit-function-declaration
2025-10-12 00:21:00 +08:00
lewa_j
7bb630db2a
wscript: -Werror=implicit-function-declaration analog for msvc
2025-10-12 00:21:00 +08:00
Alibek Omarov
0e22e8aa76
wscript: disable declaration-after-statement, we don't need it anymore
2025-10-11 20:58:48 +05:00
Alibek Omarov
492a1cda18
engine: client: treat A button on gamepad the same as Enter in On Screen Keyboard
2025-10-11 06:04:40 +05:00
Alibek Omarov
01a1c2f496
engine: client: add ability to build engine without touch input support
2025-10-11 05:58:14 +05:00
Alibek Omarov
cf23005ff2
engine: client: remove comments of touch init/shutdown function call that seem to be some indescribable legacy
2025-10-11 05:52:19 +05:00
Alibek Omarov
5ff640b142
engine: client: manually mark entity and model index validation branches are unlikely
2025-10-11 05:48:42 +05:00
Alibek Omarov
6c3ae914fa
common: add PSP platform definitions
2025-10-11 05:45:03 +05:00
Alibek Omarov
654d7013c6
public: add PSP definitions
2025-10-09 22:32:30 +05:00
Alibek Omarov
4d300e9d30
scripts: waifulib: xcompile: add PSP compiling tools
2025-10-09 22:32:30 +05:00
SNMetamorph
51a9524465
engine: client: fixed incorrect xashid generation on windows platform
2025-10-10 01:29:57 +08:00
Alibek Omarov
6817df534b
engine: console: don't try to process input while printing messages to console, this only was needed in OG Xash where it directly called Win32 APIs
2025-10-09 19:27:29 +05:00
Alibek Omarov
1c8e51c9f9
common: port: always include unistd.h for POSIX systems
2025-10-08 05:28:16 +05:00
Alibek Omarov
8d7ee70e7d
engine: platform: android: include dlfcn.h for Android's LoadLibrary implementation
2025-10-08 05:27:53 +05:00
Alibek Omarov
0c08f113ea
engine: platform: sdl2: add vrtld.h include for GL_GetProcAddress implementation
2025-10-08 05:24:59 +05:00
Alibek Omarov
8022c4826f
engine: platform: sdl2: remove legacy eglGetProcAddress hack for old SDL2 versions
2025-10-08 05:24:16 +05:00
Alibek Omarov
0efe65a5bc
utils: mdldec: define local mkdir macro
2025-10-08 05:19:19 +05:00
Alibek Omarov
ccbb3a2841
engine: fix format error when building tests on 64-bit platforms
2025-10-08 05:08:48 +05:00
Alibek Omarov
3d132e0e83
common: port: move filesystem related macros to filesystem module, try to include less globally for faster builds
2025-10-08 05:03:29 +05:00
Alibek Omarov
0a5a081a9d
engine: client: touch: forcefully disable edit mode when setclientonly was called
2025-10-08 05:02:08 +05:00
Alibek Omarov
d16ef9bf2a
common: xash3d_types: refactoring
2025-10-08 05:02:08 +05:00
Alibek Omarov
748c35d5ef
Remove _inline macro, as it's nonstandard way to define inline functions.
2025-10-08 03:53:37 +05:00
Alibek Omarov
a1d3b7d65f
Remove STDINT_H macro, use stdint.h directly. Compilers and platforms that do not have this header shall provide them on their own.
2025-10-08 03:53:37 +05:00
Alibek Omarov
1834bd6076
Documentation: protocol: fix groups, regenerate toc
2025-10-05 10:20:30 +05:00
Alibek Omarov
abde9d30c6
Documentation: protocol: add Table of Contents to connectionless protocol documentation
2025-10-05 10:09:30 +05:00
Alibek Omarov
64adb3e3d7
engine: rename MS_SCAN_REQUEST to A2M_SCAN_REQUEST
2025-10-05 10:04:18 +05:00
Alibek Omarov
b4e83ca7fd
Documentation: document connectionless messages
2025-10-05 10:03:55 +05:00
Alibek Omarov
3efbe205ac
engine: define server-to-master requests in protocol.h
2025-10-05 09:28:11 +05:00
Alibek Omarov
55a86e1df3
engine: server: tell master server if server protected with password
2025-10-05 09:26:41 +05:00
Alibek Omarov
712c1e2f95
engine: fix send state of master servers being cleared twice
2025-10-04 00:14:58 +05:00
Alibek Omarov
6d7bfc37f6
engine: allow loading xashcomm.lst from base directory
2025-10-03 22:45:50 +05:00
Alibek Omarov
8e7a2abec5
scripts: waifulib: compiler_optimizations: always lower case build type
2025-10-03 22:05:47 +05:00
Alibek Omarov
cc5f95d1ca
engine: support querying legacy goldsrc master servers
...
* General refactoring, hide out of band messages under cl_log_outofband cvar, similar to sv_log_outofband.
2025-10-03 21:54:59 +05:00
SNMetamorph
62a49d234f
engine: client: improved compatibility with GoldSrc-based clients behavior (thanks @Garey27)
2025-10-03 21:34:03 +08:00
Alibek Omarov
8b55d01f78
filesystem: fix missing const qualifier on FS_WriteGameInfo
2025-10-03 17:41:34 +08:00
Alibek Omarov
1d7690f280
engine: client: remove unused cbtrim and samplefrac fields from voxword_t
2025-10-03 00:04:04 +05:00
Alibek Omarov
4ef23543ae
filesystem: make current set GameInfo const
2025-10-02 22:42:51 +05:00
Alibek Omarov
a366f99d7d
engine: client: do not modify internal_vgui_support field as game info must be immutable once loaded
2025-10-02 22:42:20 +05:00
Alibek Omarov
8c2c920076
engine: client: fill screen with black before rendering video
2025-10-02 22:41:27 +05:00
Alibek Omarov
338636092f
3rdparty: mainui: update
2025-10-02 19:40:31 +05:00
Alibek Omarov
e8d8d90b39
engine: ref_api: fix typo in the comment (thanks @lewa_j)
2025-10-02 19:21:39 +05:00
Alibek Omarov
cb7094bb2d
engine: move setjmp for exit-in-main to the beginning of Host_Main function
2025-10-02 18:42:09 +05:00
Alibek Omarov
d9567ff3f9
engine: cleanup unused glw_state fields, as they only used in GL renderer
2025-10-02 18:07:39 +05:00
Alibek Omarov
3d0533ad84
wscript: fix a typo in -Wuninitialized (thanks @lewa_j)
2025-10-02 18:03:20 +05:00
Alibek Omarov
153b04abc3
engine: move crash handler initialization after console, so error messages could be seen in console, but move log creation before console, so log catches more messages
2025-10-02 05:40:58 +08:00
Alibek Omarov
25bfbd3a6b
3rdparty: libbacktrace: wscript: fix config defines not being set
2025-10-02 05:16:59 +08:00
Alibek Omarov
5015c90fd0
engine: platform: posix: try to be more safe in crash handler, no need to fflush stderr, no need to call Msg if we already writing to log file directly, preserve replaced signal actions
2025-10-02 03:49:31 +08:00
Alibek Omarov
e830472010
engine: move update page checks from platform-specific ShellExecute implementation to gameui call (platform_update_page isn't fully used yet, might get on Android some time later)
2025-10-02 03:16:07 +08:00
Alibek Omarov
04f807ef2f
engine: platform: android: tell JVM that we don't need these strings anymore, it wouldn't hurt
2025-10-02 03:15:19 +08:00
Alibek Omarov
55d50e2815
filesystem: explicitly tell JVM that we're done with some objects
2025-10-02 02:42:32 +08:00
Alibek Omarov
7266c5469a
ci: upgrade to latest SDL2 release
2025-10-01 17:22:06 +08:00
Alibek Omarov
47d181aa92
scripts: gha: always build tarball with engine even if AppImage port is available
2025-10-01 14:53:27 +08:00
Alibek Omarov
dce3d9d517
3rdparty: mainui: update
2025-09-29 04:38:36 +05:00
Alibek Omarov
e5a5804ff5
3rdparty: mainui: update
2025-09-29 03:19:49 +05:00
Alibek Omarov
821e5d7bd7
engine: client: avi: fix build with ffmpeg with disabled dynamic linking
2025-09-29 03:19:38 +05:00
Alibek Omarov
52978df139
engine: platform: posix: replace Sys_FindExecutable by standard library execvp
2025-09-29 00:35:28 +05:00
Alibek Omarov
9aab12fc27
engine: remove global no async resolve switch, platforms that do not support it shall add stubs to engine/platform
2025-09-29 00:12:37 +05:00
Alibek Omarov
e83ab95279
engine: gethostbyname() is deprecated, remove it and always prefer getaddrinfo
2025-09-29 00:09:56 +05:00
Alibek Omarov
7c0045a3b7
engine: show -noavi and -nointro options help everywhere, as we now have crossplatform video playback
2025-09-29 00:07:21 +05:00
Alibek Omarov
1f88e0465d
engine: make Host_ExitInMain used everywhere, as we depend on sjlj functions on all platforms anyway
2025-09-29 00:06:41 +05:00
Alibek Omarov
cee1e74872
engine: drop dllemu glue, as it won't build with current engine anyway and not supported by it's author :(
2025-09-29 00:01:59 +05:00
Alibek Omarov
1f124bad9d
engine: client: remove archive flag from cl_trace_* message that was added by mistake
2025-09-28 23:00:35 +05:00
Alibek Omarov
71cec3c069
engine: activate fakelag when both cheats and dev-mode are enabled
2025-09-28 22:50:51 +05:00
Alibek Omarov
69204aec07
engine: client: synchronize sv_cheats state with the server
2025-09-28 22:32:41 +05:00
Alibek Omarov
8b65cd73fc
engine: server: advertise sv_cheats state during connect
2025-09-28 22:15:26 +05:00
Alibek Omarov
7ba0818b83
engine: client: change r_pvs_radius default value to 0.1 for more accurate pvs culling and free performance
2025-09-28 18:32:53 +05:00
Alibek Omarov
cb81303ded
engine: replace hardcoded pvs radius value by a r_pvs_radius cvar
2025-09-28 18:31:03 +05:00
Alibek Omarov
1b1cff1cae
engine: server: allow sending logs to remote server without log on to match GoldSrc behavior
2025-09-25 16:29:32 +05:00
Alibek Omarov
53bf302868
3rdparty: mainui: update
2025-09-25 15:41:47 +05:00
Alibek Omarov
ef70530226
scripts: waifulib: compiler_optimizations: automatically enable xtheadvector extension on C910 (like T-Head TH1520)
2025-09-25 11:07:49 +08:00
lewa_j
d073218df0
3rdparty: mainui: update
2025-09-22 13:31:27 +03:00
Alibek Omarov
40ce6c0069
3rdparty: maintui: update
2025-09-22 09:25:54 +05:00
Alibek Omarov
3c4c6e5a1c
3rdparty: mainui: update
2025-09-22 09:25:33 +05:00
Alibek Omarov
2e852e4398
scripts: flatpak: better message for missing GL32 extension
2025-09-21 01:25:14 +05:00
Alibek Omarov
04dee4e94d
scripts: flatpak: add more guardrails just in case if 32-bit runtime missing
2025-09-21 00:18:43 +05:00
Alibek Omarov
96557c2ca6
engine: server: clarify sv_fps cvar usage
2025-09-19 15:56:58 +05:00
Alibek Omarov
bf32c49a39
engine: server: disable sv_fps cvar on dedicated, users shall use sys_ticrate
2025-09-19 15:56:58 +05:00
Alibek Omarov
9becba3bc0
android: automatically load default libraries for known gamedirs, supported by mobile_hacks branch
2025-09-19 09:24:08 +05:00
Alibek Omarov
c177be0dd8
engine: move our HTTP client to http subfolder, prepare for curl integration
2025-09-19 09:15:17 +05:00
Alibek Omarov
a5ff9b1c84
gha: don't forget to checkout before calling release script from the repo
2025-09-19 07:25:02 +05:00
Alibek Omarov
fe9e68ed24
scripts: flatpak: bump freedesktop sdk to 25.08
2025-09-18 10:15:33 +05:00
Alibek Omarov
2106260238
scripts: gha: set make_release.sh to be executable
2025-09-18 10:10:50 +05:00
Alibek Omarov
eed1d26191
engine: client: avi: be more verbose about incompatible ffmpeg libs versions in build-time
2025-09-17 12:47:09 +05:00
Alibek Omarov
6115ef0821
gha: move release commands into it's own script
2025-09-17 12:46:35 +05:00
Marc-Antoine Lortie
a63db5f31d
Add backslash before apostrophes.
2025-09-16 04:34:54 +05:00
Marc-Antoine Lortie
2553bd7f37
Android: Add French translation.
2025-09-16 04:34:54 +05:00
Alibek Omarov
2da0db4a31
engine: client: refactor connection to the server, always send bandwidth test and challenge from single function
2025-09-15 13:03:22 +05:00
Drive Kinght
5fc104c6a4
android: add Chinese translation
2025-09-12 16:27:24 +05:00
Alibek Omarov
39066bf82b
3rdparty: mainui: update
2025-09-11 08:06:11 +05:00
Alibek Omarov
03192be245
engine: server: actually register new cvars =/
2025-09-10 17:52:37 +05:00
Alibek Omarov
b59ba5a127
engine: server: make automatic ban of players stuck in connect loop optional and make ban time configurable
2025-09-09 14:55:22 +05:00
LekKit
c399611fc7
Merge branch 'master' into master
2025-09-09 09:45:06 +03:00
Sergey Degtyar
ccc44f3c5f
engine: voice: fix voice loopback bit
2025-09-09 01:19:27 +05:00
Alibek Omarov
b2f4d84272
engine: client: give server a bit more time to reply to bandwidth test
2025-09-08 21:19:53 +05:00
Alibek Omarov
97b8fa74a7
3rdparty: mainui: update
2025-09-07 23:29:16 +05:00
Alibek Omarov
c679037085
ref: gl: fix -Wformat error on 64-bit platforms
2025-09-07 01:56:54 +05:00
Alibek Omarov
793de9ec3e
engine: move clc_strings definition to net_buffer, alongside svc_strings
2025-09-06 04:58:34 +05:00
Alibek Omarov
ccff8191dd
engine: server: increase sv_connect_timeout to 60 by request
2025-09-06 04:50:34 +05:00
Alibek Omarov
d039a08b4e
ref: gl: fix up data types. Engine TMU type is int, rather than GLint, and texture indices are technically unsigned int only (and they aren't GLenum)
2025-09-06 01:57:36 +05:00
Alibek Omarov
c0e8827cd5
ref: gl: refactoring, use bitset macros, use static for global objects
2025-09-06 01:57:36 +05:00
Alibek Omarov
11f976d9e9
ref: gl: simplify r_speeds, get rid of R_Speeds_Printf in favor using Q_snprintf directly
2025-09-06 01:31:53 +05:00
Alibek Omarov
7c83aafbf5
ref: gl: fix incorrect usage of GL_Bind in R_ShowTextures (it accepts engine's texture id, not opengl texture name)
2025-09-06 01:26:43 +05:00
Alibek Omarov
699e178f62
ref: gl: remove excessive ASSERT macro, use Assert everywhere
2025-09-06 00:41:48 +05:00
Alibek Omarov
598d756af1
engine: platform: sdl2: hide SDL log messages under -dev 2, as they're often misleading for everybody except engine developers
2025-09-05 18:20:12 +05:00
Alibek Omarov
c2e2686b6a
engine: voice: send disabled voice status when raw chan is exhausted, also send enabled status only when we have something to play
...
And other minor refactorings.
2025-09-03 04:20:22 +05:00
Alibek Omarov
9df2b8f1fb
engine: server: refactor SV_ParseVoiceData
2025-09-03 03:52:44 +05:00
Alibek Omarov
1ba45bde13
engine: server: fix voice block inverted logic, instead of checking the player's we're sending listeners list, check current player
2025-09-03 03:51:15 +05:00
Alibek Omarov
5106ebae58
engine: voice: fix local player server ack'ed message
2025-09-03 03:40:15 +05:00
Alibek Omarov
6b6bf7e458
Revert "engine: voice: unconditionally notify client.dll about talking player if we received the data"
...
This reverts commit 9fda7a15cb .
2025-09-03 03:30:24 +05:00
Alibek Omarov
2daaa94666
engine: voice: fix voice loopback on GoldSrc proto
2025-09-03 03:07:36 +05:00
Alibek Omarov
b129ed8f76
engine: voice: fix another off-by-one error, to fix server's ack status of local player talking
2025-09-03 03:01:49 +05:00
Alibek Omarov
9fda7a15cb
engine: voice: unconditionally notify client.dll about talking player if we received the data
2025-09-03 02:23:54 +05:00
Alibek Omarov
e38dc29411
3rdparty: mainui: update
2025-09-02 22:30:57 +05:00
Alibek Omarov
7e3dc39cdd
engine: similar to other config saving functions, print when vfs.cfg is being saved
2025-09-01 01:46:27 +05:00
Alibek Omarov
9c6589fa03
engine: introduce vfs.cfg to properly control user set addon folders
...
vfs.cfg executed before game directory is mounted, this way we can know which
folders must be mounted before engine initialization.
This commit also removes buggy hot reload of the addon folders.
2025-09-01 01:42:37 +05:00
Alibek Omarov
5e53ccab55
waf: update to latest waifu
2025-08-31 12:30:25 +05:00
Alibek Omarov
42b0a9a13d
scripts: gha: copy SDL library with all symlinks to it
2025-08-30 21:46:39 +05:00
Alibek Omarov
b504876646
3rdparty: maintui: update
2025-08-30 21:24:48 +05:00
Alibek Omarov
a0a0d58be5
engine: client: unify quality options between Xash and GoldSrc protocol (lowering overall bitrate for Xash servers, which might help overcome default rate limitations)
2025-08-30 19:32:50 +05:00
Alibek Omarov
03571f831e
3rdparty: vgui_support: update
2025-08-30 19:32:50 +05:00
Alibek Omarov
83fe4d6c59
ref: gl: mark gl_frustum_t pointer as const in frustum culling functions
2025-08-30 19:32:50 +05:00
David
a83c483616
ndroid: add Spanish translation by @MBM711
2025-08-27 21:44:51 +05:00
Alibek Omarov
4c0931cc89
engine: fix loading mods on Linux that have Intel architecture suffix, like ag_i386.so
2025-08-27 16:12:21 +05:00
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
dd967ffa75
3rdparty: update mainui_cpp and maintui
2025-08-25 11:32:03 +05:00
Владислав Сухов
6474e07472
android: update russian strings
2025-08-22 21:39:53 +05:00
Владислав Сухов
dc1e39264b
Documentation: donate: add new donation info
2025-08-22 13:36:35 +05:00
Alibek Omarov
74b196d2c3
ref: gl: do not apply multisampling when drawing 2D
2025-08-17 23:43:53 +05:00
Andrey Akhmichin
4f9eb9f229
Documentation: opensource-mods.md: add Crack-Life.
2025-08-17 22:25:12 +05:00
Menino David
31c5ed69a7
android: update Brazilian Portuguese translation
2025-08-17 22:25:02 +05:00
Andrey Akhmichin
6e00e6c34c
Documentation: supported-mod-list.md: add Crack-Life.
2025-08-17 22:23:16 +05:00
Eoin O'Neill
9df725f1e9
readme: use SDL3 with sdl2-compat on Fedora/RedHat
...
SDL2 is no longer available directly on Fedora as of Fedora 42.
I believe this should also be true on RedHat EL but I'd like feedback
there.
2025-08-16 14:42:45 +05:00
Bohdan Shulyar
f0720026fc
engine: client: touch: don't reset state if clientonly didn't change
2025-08-13 20:51:10 +05:00
Alibek Omarov
6b4a16b337
engine: client: do not cause assertion when using voice chat when sound is disabled or failed to initialize
2025-08-13 19:32:33 +05:00
Alibek Omarov
f12ef07c02
engine: whereami: add support for GNU/Hurd
2025-08-13 17:02:22 +05:00
Alibek Omarov
59d771c4e4
public: add definitions for GNU/Hurd
2025-08-13 16:45:53 +05:00
Bohdan Shulyar
e716290523
android: add runtime permissions for older android versions
2025-08-13 15:43:18 +05:00
Alibek Omarov
3ca168b329
android: set requestLegacyExternalStorage specifically for Android 10 which didn't had MANAGE_EXTERNAL_STORAGE yet
2025-08-12 13:43:02 +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
af0d77caf7
filesystem: android: more verbosity when mounting assets on Android fails
2025-08-11 18:49:26 +05:00
Alibek Omarov
3a6862f278
engine: when specifying server dll name with an @ (give that feature a name please), actually look for it in server dlls folder
2025-08-11 18:44:12 +05:00
Alibek Omarov
2ad482ee2f
engine: platform: android: add some verbosity when successfully loading libraries on Android (hidden under -dev 2)
2025-08-11 18:36:44 +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
7c8e2a598f
android: restore su.xash.engine.MOD action intent filter
2025-08-08 17:49:30 +05:00
Alibek Omarov
820a001ced
engine: move prepending lib prefix on Android earlier, when the path is constructed
2025-08-08 17:03:56 +05:00
Alibek Omarov
a5b68c5ed9
public: remove unused global
2025-08-08 17:01:35 +05:00
Alibek Omarov
f37738f6f8
android: set useLegacyPackaging to true, disable noCompress
2025-08-08 16:16:35 +05:00
Alibek Omarov
4cc009ac3e
engine: always prepend lib on Android, as it's part of library naming scheme now
2025-08-08 16:16:05 +05:00
Alibek Omarov
5100125fef
Documentation: extensions: library-naming: add a note about distributing Android game libraries
2025-08-08 16:13:48 +05:00
Alibek Omarov
1c0d145874
filesystem: restore lib prefix on Android, otherwise Android won't unpack the libraries
2025-08-08 16:00:03 +05:00
Alibek Omarov
0e48f57247
3rdparty: mainui: update
2025-08-05 19:04:33 +05:00
Alibek Omarov
f9ec8f0b85
wscript: disable {gcc,msvc}deps with wafcache enabled
2025-08-05 19:03:53 +05:00
Alibek Omarov
a4614a00e9
engine: move android logging category from debug to info
2025-08-05 19:03:53 +05:00
Bohdan Shulyar
0ba45d343e
host: common: switch host_writeconfig to direct function call
2025-08-05 01:31:21 +05:00
Bohdan Shulyar
2c26601bee
engine: common: add a host_writeconfig console command
2025-08-05 01:31:21 +05:00
Alibek Omarov
10ada3c141
Revert "scripts: gha: temporarily switch hlsdk-portable branch to android_library_naming for testing"
...
This reverts commit c1c0c2761d .
2025-08-04 10:39:04 +05:00
Alibek Omarov
4912e84d46
android: enable x86 and x86_64 abis back
2025-08-04 10:38:59 +05:00
Alibek Omarov
81c7ef20eb
filesystem: android: use commit date as android assets file time
2025-08-04 10:25:42 +05:00
Alibek Omarov
ac22de84bf
public: remove Q_buildnum generated from __DATE__ macro, as we rely only on Git now
2025-08-04 10:25:42 +05:00
Alibek Omarov
70f6480a5f
engine: add a shortcut for loading custom DLLs that follow library naming scheme (like bots)
2025-08-03 19:01:56 +05:00
Alibek Omarov
95bfb7cdf2
scripts: build-ninja: add support for installing libraries with cmake, compared to yanking them out of build directory
...
Set up hlsdk-portable to install in APK style directory (omitting game and game library directories from path).
Minor refactoring.
2025-08-03 19:01:56 +05:00
Alibek Omarov
b22186b2f1
engine: platform: android: strip library path when loading libraries from APK
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
70e53f547b
android: add some simple run instructions
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
8047f8177b
android: add some simple docs
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
95bf2f03ad
android: bump deps
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
ca6de641a1
android: experimental ninja build
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
bb811310d2
android: fix weird acra build error
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
cd881c079b
android: don't generate x86 libraries for now
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
2319d4caf9
android: bump gradle
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
ac412fc15e
android: add a (not working yet) basedir option
2025-08-03 19:01:56 +05:00
Bohdan Shulyar
4f7a216191
android: update codebase to use java File API
2025-08-03 19:01:56 +05:00
Velaron
d87cdd7ff8
android: reformat codebase
2025-08-03 19:01:56 +05:00
Velaron
2c53cc7e70
android: upgrade buildsystem
2025-08-03 19:01:56 +05:00
Velaron
b7bb81fbe7
android: remove DocumentsProvider
2025-08-03 19:01:56 +05:00
Velaron
a767540a2b
android: remove currently unused or invalid resources
2025-08-03 19:01:56 +05:00
Alibek Omarov
f1251e8767
engine: platform: android: do not automatically prepend lib prefix
2025-08-03 19:01:56 +05:00
Alibek Omarov
c1c0c2761d
scripts: gha: temporarily switch hlsdk-portable branch to android_library_naming for testing
2025-08-03 19:01:56 +05:00
Alibek Omarov
c69a87fa89
filesystem: wscript: strip lib prefix on Android
2025-08-03 19:01:56 +05:00
Alibek Omarov
bf7f952d0e
defaults: disable INTERNAL_GAMELIBS for Android
2025-08-03 19:01:56 +05:00
Alibek Omarov
6aecc45ce1
engine: platform: include errno.h globally, it's defined by the C standard, so should be available everywhere
2025-08-03 10:27:36 +05:00
Alibek Omarov
bfc10a732a
engine: register forgotten ui_language cvar, so changing language actually works (thanks @Alivebyte on GitHub\!)
2025-08-03 10:23:31 +05:00
Alibek Omarov
67d1536127
public: rename rsqrt to Q_rsqrt due to weird collision with tgmath.h macro
...
It was reported on Discord with no additional information attached. But I guess
it might be better to prefix our math- and crtlib functions in general.
2025-08-03 10:20:52 +05:00
Alibek Omarov
56db9f73d8
engine: platform: ignore nanosleep EINTR error, otherwise sleeptime will never use nanosleep again
2025-08-03 10:18:29 +05:00
lewa_j
250d425b34
engine: platform: sdl2: use -egl to force EGL on windows, same as on other platforms
2025-08-03 08:21:14 +05:00
lewa_j
99140fc7df
engine: platform: sdl2: Allow SDL to use wgl to create gles context, if it can
2025-08-03 08:21:14 +05:00
Alibek Omarov
2557d5acaa
3rdparty: opus: limit assembly to SSE and SSE2
...
Otherwise whole engine builds with SSE4.1 and AVX support with LTO enabled. =/
2025-08-03 04:34:46 +05:00
lewa_j
b14a1b664f
engine: platform: sdl2: Fix uninitialized read introduces in 7fda58561f
2025-08-02 17:59:26 +03:00
Alibek Omarov
56361b52e7
3rdparty: opus: enable platform optimized code (x86 SSE/AVX with runtime detection and NEON on ARM)
...
Along that enable hardening and check for C99 lrintf (probably can do the same in the engine at some point).
2025-08-02 12:27:26 +05:00
Alibek Omarov
da1b9ad80d
scripts: waifulib: xcompile: enable cross compilation automatically if CROSS_COMPILE environment variable is set
2025-07-31 03:17:39 +05:00
Alibek Omarov
aec1213319
scripts: waifulib: xcompile: fix NDK 28 minimal API version
2025-07-31 03:17:39 +05:00
Alibek Omarov
cb4540a877
engine: platform: android: call SDL_OpenURL only if XASH_SDL was defined during build. Remove version check, as Android always builds with latest SDL version.
2025-07-30 23:33:08 +05:00
Alibek Omarov
613768c3f9
wscript: add experimental option to enable wafcache [skip ci]
2025-07-30 21:07:45 +05:00
Alibek Omarov
234a16d611
scripts: waifulib: xcompile: add support for kbuild-style CROSS_COMPILE environment variable [skip ci]
2025-07-30 21:06:32 +05:00
Alibek Omarov
e468371394
3rdparty: libbacktrace: similarly, use C compiler for multicheck tests, as this is a C project
2025-07-29 21:42:40 +05:00
Alibek Omarov
671157ee20
public: wscript: set compiler for tests using compiler key instead of directly setting up features, otherwise it won't add uselib
2025-07-29 21:42:02 +05:00
Alibek Omarov
4398de1dab
public: wscript: explicitly set language for libc tests in multicheck, as Waf chooses C++ by default
...
Compiling tgmath.h test with C++ compiler causes misdetection on PSVita which has broken tgmath.h support.
2025-07-29 20:41:59 +05:00
Alibek Omarov
dc09cf0c39
public: fix incorrect logic where libc extension defines were exported without an actual check
2025-07-29 11:31:45 +05:00
Alibek Omarov
f4854dbcde
public: wscript: parallelize libc extension checks for faster reconfigure
2025-07-29 08:57:57 +05:00
Alibek Omarov
25e206f5ae
engine: platform: posix: remove old crashhandler as libbacktrace supports much more targets, remove duplicated code around execinfo and libbacktrace-based crashhandlers
...
Update copyright headers.
2025-07-29 08:14:06 +05:00
Andrey Akhmichin
b3d3a15c3d
utils: mdldec: bump version to 1.2.1.
2025-07-27 22:02:59 +05:00
Andrey Akhmichin
92faa25670
utils: mdldec: add support for absolute paths on *nix.
2025-07-27 22:02:59 +05:00
lewa_j
3eed2769d5
ref: wscript: gl4es fix typo
2025-07-27 16:27:55 +05:00
lewa_j
6302553ee4
ref: update nanogl and wes submodules
2025-07-27 16:27:55 +05:00
lewa_j
ae2808dff7
ref: gles3compat: Fix crashes on stubs under windows, probably due to signature missmatch
2025-07-27 16:27:55 +05:00
lewa_j
af69df15e1
ref: Fix gl4es build under windows. Static gl functions declared with APIENTRY even without mangling.
2025-07-27 16:27:55 +05:00
lewa_j
98e4aae6bb
ref: wscript: Fix gl4es invalid build flags under msvc
2025-07-27 16:27:55 +05:00
Sergey Degtyar
3e921c829f
engine: client: fix CL_DrawCenterPrint aligment for cyrillic text
2025-07-26 19:57:23 +05:00
Sergey Degtyar
e994cc0c8b
engine: client: adjust SPRAY_ALPHA_THRESHOLD
2025-07-25 02:32:40 +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
Alibek Omarov
2bdeb05153
engine: client: oops, fix including non-existent file
2025-07-25 00:24:45 +05:00
Alibek Omarov
de4b635b19
engine: client: move cl_spray.c only external function declaration to client.h, move other definitions to cl_spray.c
2025-07-24 23:59:15 +05:00
SNMetamorph
ab744a8baf
engine: client: fixed critical bugs in GoldSrc spray generating code, removed useless hacks
2025-07-24 20:49:05 +05:00
SNMetamorph
0aca03d343
engine: client: refactored GoldSrc sprays code, removed magic numbers
2025-07-24 20:49:05 +05:00
Alibek Omarov
eeca965b5d
3rdparty: update libbacktrace and mainui submodules
2025-07-18 19:00:39 +05:00
Alibek Omarov
eb27dc639e
Documentation: remove public server rules and recommendation (it might be back after reworking it)
2025-07-18 19:00:39 +05:00
Bohdan Shulyar
af5c6d1196
donate: update url
2025-07-18 03:47:09 +05:00
Sergey Degtyar
0cce014c01
engine: client: fix spray support for 24-bit BMP (save as miptex, not decal)
2025-07-17 02:20:36 +05:00
Sergey Degtyar
6111df486e
engine: client: GoldSrc spray support
2025-07-16 23:54:56 +05:00
Sergey Degtyar
7dc88f9417
filesystem: common: move wad structures to wadfile.h
2025-07-16 23:54:56 +05:00
Sergey Degtyar
e36486b73a
engine: imagelib: handling wad extension to save and load image properly
2025-07-16 23:54:56 +05:00
Sergey Degtyar
000304ddde
engine: net_chan: added bz2 compression for file fragments
2025-07-16 23:54:56 +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
SNMetamorph
599b1b48ec
engine: voice: added wrapper for players voice status array to avoid mess with off-by-one errors
2025-07-15 18:54:01 +05:00
Alibek Omarov
4e23012950
ci: disable build for e2k-8c for now (probably will compile natively on e2k-4c instead)
2025-07-13 04:43:34 +05:00
Alibek Omarov
6e69e1d67b
scripts: gha: build engine for Linux and Windows with FFmpeg linked in runtime by default, thus allowing for smaller distribution size for game developers
2025-07-13 04:39:44 +05:00
Alibek Omarov
7564e3c61f
engine: client: add support for building with FFmpeg linked in runtime
2025-07-13 04:39:44 +05:00
Alibek Omarov
0543b861ca
ci: upgrade win32-i386 build runner to windows-2022 (which probably will break XP support... or it might not)
2025-07-09 19:31:12 +05:00
Alibek Omarov
0d403a7117
engine: client: console: make con history remember modifications to old lines
2025-07-09 19:23:17 +05:00
Alibek Omarov
928ce9d754
engine: client: console: simplify history handling by defining a separate type for console lines saved in history
...
Thus we don't need to save linewidth for them anymore.
2025-07-09 19:22:29 +05:00
Alibek Omarov
6cc3bed60a
engine: client: console: fix uninitialized variable
2025-07-09 19:04:59 +05:00
Alibek Omarov
40dfd2e711
engine: client: voice: fix off by one errors (as suggested by @SNMetamorph)
2025-07-09 18:29:36 +05:00
Alibek Omarov
c554eef3b9
engine: client: add ability to disable prepending [Xash3D] tag to the nickname when connecting to GoldSrc servers
2025-07-09 17:44:13 +05:00
Alibek Omarov
dc0648e812
engine: net_http: validate file size against reported by server, when downloading chunked files
2025-07-09 17:35:25 +05:00
Alibek Omarov
3d762802ab
Merge remote-tracking branch 'pwd491/gsvoice'
2025-07-09 16:43:14 +05:00
Sergey Degtyar
21b0516724
engine: client: move voice reset to Voice_Shutdown
2025-07-03 16:25:24 +03:00
Sergey Degtyar
cca1732245
engine: client: refactored voice.c
...
- reformatted code.
- changed function declarations to static.
- ensured consistent use of defined constants for buffer sizes.
2025-07-03 13:50:57 +03:00
Sergey Degtyar
fddf0200db
engine: client: replaced hardcoded buffer sizes with defined constants for voice data
2025-07-03 13:36:25 +03:00
Sergey Degtyar
6bb7bcd378
engine: client: GoldSrc voice chat support
...
- Added support for GoldSrc voice mode, including initialization and shutdown functions.
- Implemented data size verification for the GoldSrc voice package.
- Creation and processing of voice packets, CRC verification of data integrity.
- Added a Steam ID field to the client_static_t structure
- Automatic gain control has been introduced for voice samples.
- The voice status structure has been updated.
- Refactored voice data handling for better type consistency and maintainability.
- Fixed ISO C90 compliance issues for better portability.
- Fixed decoder index usage.
2025-07-01 16:09:09 +03:00
Sergey Degtyar
f37bbec78e
engine: sound: voice buffer isolation and correct MP3 volume handling
2025-06-26 06:57:50 +03:00
Sergey Degtyar
50a8f23b43
engine: sdl: always reset device descriptors on shutdown
2025-06-26 06:57:37 +03:00
Marc-Antoine Lortie
f9fc26239b
Update reimplementations and ports links.
2025-06-24 21:41:39 +03:00
Marc-Antoine Lortie
9f797ef705
Fix repository spelling.
2025-06-24 21:40:40 +03:00
Alibek Omarov
a7671a8ac1
3rdparty: update UI submodules
2025-06-19 16:43:08 +05:00
Alibek Omarov
c807faf5b9
engine: client: rename queryserver to ui_queryserver (so q<tab> will always result in quit command, by users request)
2025-06-19 16:43:08 +05:00
Alibek Omarov
45dd15b064
wscript: remove unused --enable-emscripten
2025-06-19 15:48:50 +05:00
Alibek Omarov
7e50026100
engine: server: fix restoring player view entity after save restore (fixes trigger_camera usage)
2025-06-19 15:22:54 +05:00
Alibek Omarov
05a258a5b4
engine: client: respect intro videos aspect ratio
2025-06-19 14:29:34 +05:00
Alibek Omarov
902fa52cbd
Revert "scripts: gha: fix ffmpeg build flavor (the one we're using for now don't have minimal flavor)"
...
This reverts commit 2267b2e4e6 .
2025-06-16 06:24:39 +05:00
Alibek Omarov
cc528d407d
Revert "scripts: gha: use full ffmpeg builds, as ours are not finalized yet"
...
This reverts commit 7f5e62d03a .
2025-06-16 06:24:35 +05:00
Alibek Omarov
2267b2e4e6
scripts: gha: fix ffmpeg build flavor (the one we're using for now don't have minimal flavor)
2025-06-16 06:21:17 +05:00
Alibek Omarov
7f5e62d03a
scripts: gha: use full ffmpeg builds, as ours are not finalized yet
2025-06-15 16:01:23 +05:00
Alibek Omarov
e3bfdf4127
engine: wscript: remove duplicated --enable-ffmpeg option
2025-06-15 14:25:28 +05:00
Alibek Omarov
bf186b8178
github: set correct flatpak github action version
2025-06-15 13:18:34 +05:00
Alibek Omarov
907e02da8d
Merge ffmpeg support
2025-06-15 13:15:17 +05:00
yohimik
2234f91c38
ref: gl: add stubs for WebGL
2025-06-15 13:01:13 +05:00
Alibek Omarov
582fe9a2fc
common: defaults: Emscripten doesn't use INTERNAL_GAMELIBS anymore
2025-06-15 13:01:13 +05:00
Alibek Omarov
fa92a5fa0c
engine: common: disable colored stdout for Emscripten
2025-06-15 13:01:13 +05:00
Alibek Omarov
342aa56144
engine: wscript: increase default memory size for Emscripten port, include game files from rodir folder in source tree root
2025-06-15 13:01:13 +05:00
Alibek Omarov
e9440a8612
filesystem: fix folder exists check in RoDir
2025-06-15 13:01:13 +05:00
Alibek Omarov
3e396bb55a
engine: host: allow console if DEFAULT_DEV is set to larger than 0 value
2025-06-15 13:01:13 +05:00
Alibek Omarov
72b8182af0
public: comment out XASH_JS define to avoid arch misdetection on modern Emscripten versions
2025-06-15 13:01:13 +05:00
Alibek Omarov
6022865cae
engine: filesystem_engine: set default root directory on Emscripten
2025-06-15 13:01:13 +05:00
Alibek Omarov
1559b1b331
engine: system: exit from Emscripten with force_exit call
2025-06-15 13:01:13 +05:00
Alibek Omarov
5db150e565
engine: launcher: get rid of Emscripten load library hacks, mount IDBFS into /rwdir
2025-06-15 13:01:13 +05:00
Alibek Omarov
e823ba050a
engine: whereami: add stub for Emscripten
2025-06-15 13:01:13 +05:00
Alibek Omarov
6f545f178e
engine: host: move main loop contents into separate function
2025-06-15 13:01:13 +05:00
Alibek Omarov
b598daf049
engine: wscript: disable default install for Emscripten, we need to rename main program into index.html and also install additional outputs
2025-06-15 12:51:57 +05:00
Alibek Omarov
3f5ca210a0
common: port: set .wasm as libraries extension on Emscripten
2025-06-15 12:51:57 +05:00
Alibek Omarov
f1e665b5b3
engine: wscript: disable async ns resolve for Emscripten for now
2025-06-15 12:51:57 +05:00
Alibek Omarov
eb84efd260
wscript: set Emscripten defaults
2025-06-15 12:51:57 +05:00
Alibek Omarov
90884a2d09
scripts: waifulib: sdl2: use Emscripten's SDL port
2025-06-15 12:51:57 +05:00
Alibek Omarov
69e38c963d
engine: platform: remove Emscripten-specific library loading, it's not needed anymore
2025-06-15 12:51:57 +05:00
Alibek Omarov
d7f4b21db7
3rdparty: mainui: update
2025-06-15 12:51:57 +05:00
Alibek Omarov
6aa281bc59
public: define Emscripten as POSIX-compatible
2025-06-15 12:51:57 +05:00
Alibek Omarov
e22dadc36f
scripts: waifulib: add tool for building with Emscripten's Clang wrapper
2025-06-15 12:51:57 +05:00
Alibek Omarov
1bf5909023
wscript: don't forget to recurse into ref/gl with only gles3compat enabled
2025-06-15 09:13:39 +05:00
Andrey Akhmichin
ba71f114d9
Documentation: opensource-mods.md: add "Master Sword".
2025-06-15 07:12:45 +03:00
Alibek Omarov
c90d110096
engine: platform: sdl2: assign K_AUX32 and K_AUX31 to volume buttons to match old engine behavior on Android
2025-06-07 11:21:32 +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
210f51d38c
ci: use flatpak github action fork again because I forgot that github has weird limitations
2025-05-27 22:38:13 +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
375ff6296b
ci: try to upgrade flatpak action
2025-05-27 22:21:23 +03:00
Alibek Omarov
026435865a
wscript: cleanup defaults, now that we don't need to specify most options from here
2025-05-27 21:54:22 +03:00
Alibek Omarov
216e680965
wscript: detect threading ability by platform
...
On client, it's handled by SDL{2,3}. On server we rely on pthreads (and some platforms don't have pthreads).
2025-05-27 21:40:07 +03:00
Alibek Omarov
3fe77ec86c
wscript: remove msdev.py generator (Visual Studio project still can be generated using msvs.py)
2025-05-27 20:59:47 +03:00
Alibek Omarov
a88fea6ab3
wscript: remove cmake.py generator
2025-05-27 20:57:47 +03:00
Alibek Omarov
78ef00a269
wscript: remove hacky logic determening valid target when crosscompiling to 32-bit x86
2025-05-27 20:50:08 +03:00
Alibek Omarov
f9a9aedea5
engine: set fps_override to 0 by default, it's still experimental and breaks multiplayer
...
Was probably set to 1 by mistake.
2025-05-26 20:10:45 +05:00
Alibek Omarov
53e59c2e73
ref: load sprites textures with texgamma applied (like GoldSrc)
2025-05-26 19:09:28 +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
5276e46dc0
contributing: add a note about usage of LLM-based tools [skip ci]
2025-05-26 03:28:58 +05:00
Alibek Omarov
9fbd47bb4c
engine: server: move unexpected master server query packets and failed challenges to more verbose loglevel
2025-05-25 21:05:37 +05:00
Alibek Omarov
b8ead38573
engine: server: prevent flood about unreliable datagram overflow on frozen players
2025-05-25 20:37:06 +05:00
Alibek Omarov
6a318d5000
engine: server: check for master servers addresses in connectionless packet handler, and it it matches, only reply to M2S messages
2025-05-25 20:29:16 +05:00
Alibek Omarov
71040c7ed5
engine: net_http: fix missing newline
2025-05-25 19:21:23 +05:00
Alibek Omarov
c3531b6499
engine: expect that base_cmd is consistent, as for many years no cases of broken basecmd were found
2025-05-25 16:48:31 +05:00
Alibek Omarov
9c6f12f31c
engine: make command argc/argv functions inline
2025-05-25 16:47:45 +05:00
Alibek Omarov
913d0eb693
engine: add command to make other commands or variables privileged
2025-05-25 16:33:11 +05:00
Alibek Omarov
7bff848592
engine: base_cmd: simplify FindAll
2025-05-25 16:33:11 +05:00
Alibek Omarov
72485da491
engine: client: make demo recording and demo removing command privileged
2025-05-25 03:22:19 +05:00
Alibek Omarov
694472f4c1
engine: platform: allow querying window type through R_GetWindowHandle
2025-05-24 22:03:43 +05:00
TheEVolk
735f4e2bcb
ref_api: make handle as argument and use type request input
2025-05-24 20:47:28 +05:00
TheEVolk
9ebeb520fa
engine: platform: refactor R_GetWindowHandle to return a struct instead of a pointer
2025-05-24 20:47:28 +05:00
TheEVolk
dd52840a97
ref_api: update REF_API_VERSION to 10 and document R_GetWindowHandle addition
2025-05-24 20:47:28 +05:00
TheEVolk
4ce03662d9
ref_api: R_GetWindowHandle method
2025-05-24 20:47:28 +05:00
Andrey Akhmichin
20320d8dfa
Documentation: not-supported-mod-list-and-reasons-why.md: update.
2025-05-24 20:45:28 +05: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
Alibek Omarov
a4ad537e59
engine: server: minor refactoring
2025-05-20 20:24:42 +05:00
Alibek Omarov
7ba48e00bc
3rdparty: libbacktrace: sort entries in config.h to keep it the same between reconfigurations
...
Multicheck parallel nature caused config.h entries to be sorted randomly and
libbacktrace recompiled on every occasion.
2025-05-20 15:25:39 +05:00
Alibek Omarov
bb620d1265
engine: client: set cl_upmax to 508 by default
2025-05-20 14:35:29 +05:00
SNMetamorph
32e6f37c7e
engine: server: fixed incorrect printing of IPv6 address in "status" command
2025-05-12 14:11:09 +03:00
Alibek Omarov
8f95535390
engine: server: fix a typo that prevented "status" command from executing by spawned player
2025-05-12 11:37:11 +03:00
Alibek Omarov
b2444f2480
engine: restore SDL2 include path
2025-05-11 18:01:17 +03:00
Alibek Omarov
37d6d75e69
engine: platform: sdl3: add system and input SDL3 platform implementation
2025-05-11 17:35:13 +03:00
Alibek Omarov
97bdd9dba0
engine: port occasional SDL2 calls to SDL3, no platform yet
2025-05-11 16:18:10 +03:00
Alibek Omarov
ffc8bf30d7
engine: platform: make most input platform functions optional, patch fbdev/evdev to compile
2025-05-11 16:14:36 +03:00
Alibek Omarov
8209a8a681
engine: platform: move mouse grab enabling and querying functions to SDL platform code
2025-05-11 16:09:57 +03:00
Alibek Omarov
34beb9666b
engine: soundlib: drop SDL-based resampler
2025-05-11 15:27:50 +03:00
Alibek Omarov
6ccafbe297
engine: platform: move Host_Minimize_f into platform code
2025-05-11 15:24:52 +03:00
Andrey Akhmichin
a479099804
utils: mdldec: write all GoldSource-compatible motion-types with "-m" option.
2025-05-11 03:40:57 +03:00
Alibek Omarov
94791d3cb6
engine: allow downloading files that have multiple dots in filename. Also disallow everything that has nonprintable characters.
2025-05-06 21:16:06 +03:00
Alibek Omarov
6555562e78
engine: common: fix building tests
2025-05-06 21:15:28 +03:00
Alibek Omarov
de790d6f59
Revert "engine: server: increased sv_connect_timeout to a half a minute"
...
This reverts commit 3fca1bb4d5 .
2025-05-06 20:22:20 +03:00
Alibek Omarov
cff0df60a9
engine: server: also bump timeouts for connected clients during changelevel in server activation
2025-05-06 20:19:17 +03:00
Alibek Omarov
c8b8e19ed3
engine: server: fix time out on change level
2025-05-06 20:11:41 +03:00
Alibek Omarov
2106556dec
engine: server: limit status and build info commands only to spawned clients
2025-05-06 19:50:51 +03:00
Alibek Omarov
7221bd6049
engine: server: small refactoring
2025-05-06 19:50:26 +03:00
Alibek Omarov
ded38020d3
engine: server: add new client state cs_spawning, to ensure that client cannot spawn before it has an entity
2025-05-06 19:37:54 +03:00
Alibek Omarov
c6251174df
engine: server: don't let unspawned player execute ent tools commands or send voice data
2025-05-06 19:02:32 +03:00
Alibek Omarov
177c132969
engine: common: fix incorrect argument name, which also fixes build with compilers that enforce C23
2025-05-06 19:00:18 +03:00
Alibek Omarov
3fca1bb4d5
engine: server: increased sv_connect_timeout to a half a minute
2025-05-06 16:28:29 +03:00
Alibek Omarov
321e28c810
scripts: waifulib: sdl2: fix SDL3 sanity test
2025-05-05 18:51:01 +03:00
Alibek Omarov
7fda58561f
engine: platform: sdl2: remove SDL1.2 code, as it's now moved into it's own separate directory
2025-05-05 05:56:23 +03:00
Alibek Omarov
0cbb62b329
engine: platform: try to restore SDL1.2 support (only ref_soft is tested, ref_gl doesn't work)
2025-05-05 05:44:31 +03:00
Alibek Omarov
aa2e5eb3cc
engine: platform: move SDL2 support code into sdl2 subdirectory. Change XASH_SDL macro value from 12 to 1 for SDL1.2
2025-05-05 05:15:10 +03:00
Alibek Omarov
3d26ba1ed8
engine: client: always pass a valid pointer to usercmd_t in ref_params_t to prevent crassh when client.dll reads them during demo playback
2025-05-05 03:40:18 +03:00
Alibek Omarov
47c4844024
engine: platform: sdl: enable building with SDL as old as 2.0.8, it should satisfy everybody masturbating to old software
2025-04-30 17:45:05 +03:00
Alibek Omarov
d457d7d093
filesystem: archive mounting refactoring
2025-04-28 22:28:30 +03:00
Vladimir
43364ec2e9
defaults: enable touch for psvita & nswitch ( #2143 )
2025-04-27 14:39:58 +03:00
Alibek Omarov
14127c26f5
scripts: gha: don't put dedicated binary in full client tarballs
2025-04-24 23:41:26 +03:00
Alibek Omarov
291f24a611
scripts: cirrus: build dedicated server alongside full client for slightly faster builds
2025-04-24 23:33:59 +03:00
Alibek Omarov
1abb16638f
scripts: gha: build dedicated server alongside full client for slightly faster builds
2025-04-24 23:33:59 +03:00
Alibek Omarov
3e41e389c5
engine: lib_common: do not take generic GNU/Linux rules for library naming on Android
2025-04-24 21:53:03 +03:00
Alibek Omarov
5aca143eba
engine: disable Android-specific library loader under Termux
2025-04-24 21:46:43 +03:00
Alibek Omarov
60fa855d47
filesystem: wscript: strip lib prefix on Termux too
2025-04-24 21:42:20 +03:00
Alibek Omarov
22661fd446
public: define XASH_TERMUX if __TERMUX__ is defined. Do not enable XASH_MOBILE_PLATFORM for it
2025-04-24 21:40:35 +03:00
Alibek Omarov
61d8d5e12b
wscript: detect if we're compiling from Termux
2025-04-24 21:39:46 +03:00
Alibek Omarov
a7f3c04baa
engine: platform: android: hide SDL calls under XASH_SDL macro
2025-04-24 21:39:46 +03:00
Alibek Omarov
296e642f09
wscript: look for libm when compiling for Android on Android device itself (e.g. Termux)
2025-04-24 20:52:55 +03:00
Alibek Omarov
75eb1f1e8b
filesystem: android: make failing to find JNI env non-fatal
2025-04-24 20:52:18 +03:00
Alibek Omarov
8f4a45baaa
engine: platform: win32: set IMAGEHLP_LINE64 structure size as required in dbghelp docs on MSDN
2025-04-21 20:33:30 +03:00
Alibek Omarov
18aac5fd3d
readme: update
2025-04-21 20:12:55 +03:00
Alibek Omarov
ca6ca8450b
engine: platform: sdl: load .ico file with wide function allowing for icons to be loaded from non-latin game directory
2025-04-21 20:09:39 +03:00
Alibek Omarov
6ecaea3102
engine: system: convert Windows username to utf8
2025-04-21 19:56:49 +03:00
Alibek Omarov
fa47ca0d2d
engine: system: make a copy of pw_name just in case
2025-04-21 19:56:23 +03:00
Alibek Omarov
8ce3b4ac93
engine: client: identification: use wide CreateProcess call, ensure that process terminated and it's handles are closed
2025-04-21 19:38:10 +03:00
Alibek Omarov
a7ba705277
engine: platform: win32: make output similar to libbacktrace-based crashhandler, general improvements and refactoring
2025-04-21 18:54:39 +03:00
Alibek Omarov
85a4d296f5
Documentation: not-supported-mod-list-and-reasons-why: clarify that we don't know why Arrange Mod doesn't work on Xash yet [skip ci]
2025-04-21 17:06:11 +03:00
Andrey Akhmichin
4dd8d89459
Documentation: not-supported-mod-list-and-reasons-why.md: update [skip ci]
2025-04-21 17:04:19 +03:00
Alibek Omarov
c564cc96c7
engine: get rid of host.crashed field, as it's a complete duplicate of host.status
2025-04-21 16:59:44 +03:00
Alibek Omarov
0e54200f34
engine: platform: win32: move saving minidumps before showing stacktrace messagebox
2025-04-21 16:58:43 +03:00
Alibek Omarov
fa75c33390
engine: platform: win32: do not set parent window for stacktrace print window
2025-04-21 16:57:27 +03:00
Alibek Omarov
36cb3b2d89
engine: fix incompatible int size when casting pointer to int
2025-04-21 15:54:32 +03:00
Andrey Akhmichin
2f3b03d27a
Documentation: opensource-mods.md: add "Counter-Life".
2025-04-20 10:23:53 +03:00
SNMetamorph
f0deac206b
Documentation: added initial revision of touch controls configuring guide
...
Thanks to VladislavKZ and archer for helping with information gathering.
2025-04-18 17:24:44 +03:00
Alibek Omarov
5d0e473cf1
3rdparty: maintui: update
2025-04-16 14:52:46 +03:00
Alibek Omarov
2174fe6d21
ci: update to ubuntu-22.04
2025-04-15 21:04:48 +03:00
Alibek Omarov
5d1e207337
3rdparty: maintui: update
2025-04-15 21:00:38 +03:00
Alibek Omarov
87c209f1f9
engine: server: drop clients that do not continue connecting after smaller timeout
2025-04-15 20:54:27 +03:00
SNMetamorph
ed5ea002d7
Documentation: donate: updated details, changed layout
2025-04-15 18:07:59 +03:00
Alibek Omarov
149593fea5
engine: server: hide Cmd_ForwardToServer call under XASH_DEDICATED just in case, fixes build with debug
2025-04-11 00:34:10 +03:00
Alibek Omarov
8c0f1d65ba
3rdparty: maintui: update
2025-04-10 23:56:55 +03:00
Alibek Omarov
bbf6f1c7b8
scripts: gha: fix generating sources.list on different ubuntu version
2025-04-10 23:37:36 +03:00
Alibek Omarov
3b61e0bbd6
ci: thanks github, ubuntu-latest isn't actually latest
2025-04-10 23:07:39 +03:00
Alibek Omarov
8d2986bc74
3rdparty: maintui: update
2025-04-10 23:02:48 +03:00
Alibek Omarov
27a8adad22
ci: compile risc-v port on ubuntu-latest for newer compilers
2025-04-10 22:48:41 +03:00
Alibek Omarov
64e774377b
scripts: gha: fix ppc64el rust target
2025-04-10 22:48:17 +03:00
Alibek Omarov
8ff469d466
3rdparty: maintui: update
2025-04-10 22:26:13 +03:00
Alibek Omarov
a20e961892
scripts: gha: install i686-pc-windows-msvc rust target for cross-compiling 32-bit maintui
2025-04-10 22:02:13 +03:00
Alibek Omarov
8ba30a1c09
scripts: gha: add Rust target for crosscompiling
2025-04-10 20:01:03 +03:00
Alibek Omarov
d570d6d6da
scripts: gha: enable building maintui on supported platforms (win32, linux and apple)
2025-04-10 19:21:09 +03:00
Alibek Omarov
882b573e70
wscript: build maintui alongside mainui_cpp, so both could be used and shipped
2025-04-10 19:21:09 +03:00
Andrey Akhmichin
54657c149b
utils: mdldec: use separate options for sequences and textures.
2025-04-10 14:57:11 +05:00
Alibek Omarov
9054b11ebd
engine: client: let loading custom menu dll with -menulib command line switch
2025-04-09 17:35:36 +03:00
Alibek Omarov
71d31330f9
filesystem: dir: fix possible null dereference
2025-04-05 14:03:24 +05:00
SNMetamorph
ea29699633
scripts: gha: psvita: pinned cmake version to 3.28.3
2025-04-05 12:45:45 +05:00
Andrey Akhmichin
ccb8d611c6
public: add getopt implementation from NetBSD libc.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
f4d98c056e
utils: mdldec: handle unknown options.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
779adcd838
utils: mdldec: bump version to 1.2.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
16e2ce0aeb
utils: mdldec: avoid brackets.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
7bfcd4cef0
utils: mdldec: add options to:
...
- disable log output.
- use separate directories for smd and texture files.
- avoid to write paranoia 2 motion types.
- ignore filesize checks.
- enable UV coords shifting.
- show decompiler version.
- show help.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
c298635728
utils: mdldec: Makefile: update.
2025-04-02 12:07:41 +03:00
Andrey Akhmichin
92e976952e
utils: mdldec: fix UV coords shifting yet again.
2025-04-02 12:07:41 +03:00
Denis Drakhnia
a85bd0c864
maintui: first blood
2025-04-01 14:46:27 +03:00
Alibek Omarov
0a5f175431
mainui: update
2025-03-31 19:18:39 +03:00
Alibek Omarov
da6402ccc2
common: xash3d_types: disable PFN_RETURNS_NONNULL attribute for MCST lcc
2025-03-31 19:14:22 +03:00
Alibek Omarov
9d1b03d119
scripts: gha: build for e2k-8c on GitHub Actions machines
2025-03-31 19:07:47 +03:00
Alibek Omarov
6cf0d7a871
scripts: gha: linux: fix enabling stb_truetype in mainui_cpp
2025-03-31 18:20:23 +03:00
SNMetamorph
d5a6a7ae60
scripts: gha: made voice chat enabled by default for PS Vita platform
2025-03-30 20:24:38 +03:00
SNMetamorph
185374f99f
engine: platform: psvita: explicitly exported symbol rintf
...
This is required for cs16client port for PS Vita.
2025-03-30 20:24:38 +03:00
SNMetamorph
b9072e4642
Documentation: slightly updated PS Vita port installation instructions
2025-03-30 20:24:38 +03:00
yumirak
06e5895d7a
engine: client: fix TE_BLOODSPRITE behaviour to GoldSrc
2025-03-26 22:00:10 +03:00
Alibek Omarov
ac5be8156b
Revert "wscript: force -Wuninitialized to error"
...
This reverts commit e615ff0e7f .
2025-03-25 19:10:13 +03:00
Alibek Omarov
8c12a8baed
mainui: update
2025-03-25 19:02:00 +03:00
Alibek Omarov
e615ff0e7f
wscript: force -Wuninitialized to error
2025-03-25 17:11:51 +03:00
Alibek Omarov
2e8fa60e96
engine: client: don't allow downscaling HUD when using hud_scale's fixed resolution mode
2025-03-25 17:07:05 +03:00
Alibek Omarov
a8ba9124dd
engine: server: fix -Wmaybe-uninitialized
2025-03-25 17:07:05 +03:00
Alibek Omarov
f6e8a68b22
engine: imagelib: img_png: fix -Wmaybe-uninitialized
2025-03-25 17:07:05 +03:00
Alibek Omarov
706cc16a86
ref: fix -Wmaybe-uninitialized
2025-03-25 17:06:59 +03:00
Alibek Omarov
a9fd508e47
engine: common: fix reading maybe uninitialized crt_tm variable
2025-03-25 17:04:35 +03:00
Alibek Omarov
90bd72d481
ref: gl: disable blend after we're done drawing sprite "lightmap"
...
Fixes translucent brush model on renderfx2.bsp (https://twhl.info/vault/view/6933 )
which so happened to draw after agrunt sprite, that has "lightmap" enabled
2025-03-25 00:52:11 +03:00
Alibek Omarov
a2a3978de7
engine: server: fix erasing physinfo on client connect, when it was already set by game logic on save restore
...
Fixes issue when player loses long-jump in Half-Life on save load or level transition.
2025-03-24 23:22:19 +03:00
Andrey Akhmichin
ea70989fd2
utils: mdldec: Fix resource names validity checks.
2025-03-24 01:24:31 +03:00
Andrey Akhmichin
091228bcb3
Documentation: supported-mod-list.md: update.
2025-03-24 01:24:25 +03:00
Alibek Omarov
9c49253388
filesystem: allow symlinks when using listdirectory with dirs_only = true
...
Should fix special setups when game directories are actually symlinks
2025-03-20 20:31:44 +03:00
Alibek Omarov
eea804a4bf
engine: server: improve server op status command output
2025-03-20 05:47:24 +03:00
Alibek Omarov
ecbfdb82f4
engine: server: add requested server command status. Only expose client input devices for now, as everything else might be considered sensitive information
2025-03-20 05:46:49 +03:00
Alibek Omarov
a1950ec7b0
engine: server: tiny refactoring, make SV_CalcPing pointer to client const
2025-03-20 05:44:23 +03:00
Alibek Omarov
6b56e13b60
engine: make local ipv4 address private to net_ws, acquire local addresses with GetLocalAddress function
2025-03-20 05:39:02 +03:00
Alibek Omarov
d93bee0cbc
engine: minor refactoring, rename ref_state_t fields to snake case, rename readable names to shorter (no pun intended) long names
2025-03-20 03:11:17 +03:00
Alibek Omarov
5009db6aac
engine: client: make renderer loading failure less scary for the user
2025-03-20 03:06:05 +03:00
Alibek Omarov
c389736c2f
android: do not crash on Browse button if activity wasn't found
2025-03-20 02:44:37 +03:00
Alibek Omarov
66bdca63ee
ref: gl: upload skybox texture object with >= 5800 name only with GL compatibility context, it's not needed on GLES
2025-03-17 08:32:06 +03:00
SNMetamorph
d3f455649e
engine: client: implemented xashid for PS Vita platform
2025-03-16 21:34:32 +03:00
SNMetamorph
17ff80d85d
engine: platform: psvita: implemented function for getting PSID
2025-03-16 21:34:32 +03:00
SNMetamorph
407d0aa291
engine: wscript: enabled linking library SceLibKernel_stub on PS Vita
2025-03-16 21:34:32 +03:00
Alibek Omarov
d13429a287
game_launch: explicitly call wide or ascii Win32 API function calls
2025-03-16 20:41:57 +03:00
Alibek Omarov
a84204fc75
engine: partial fix to explicitly call ascii or wide Win32 API function calls
2025-03-16 20:41:57 +03:00
SNMetamorph
292ace2d26
engine: client: fixed SQB in CL_ParseEvent & CL_ParseReliableEvent
2025-03-16 20:31:14 +03:00
Alibek Omarov
68a1fbdc2b
engine: platform: win32: use widechar versions of LoadLibrary, which fixes loading engine if path contains non-latin characters
2025-03-16 03:16:02 +03:00
Alibek Omarov
d68f29737a
public: crtlib: use Q_rint instead of round in Q_pretifymem, so we don't have to link libm when we don't need it
2025-03-16 01:01:13 +03:00
Alibek Omarov
a34edbd8e8
wscript: ok, let's disable format-nonliteral for now
2025-03-15 20:01:47 +03:00
Alibek Omarov
71e2d4ecd4
engine: client: fix another case of format-nonliteral
2025-03-15 19:52:24 +03:00
Alibek Omarov
25656b532a
engine: platform: posix: fix a typo
2025-03-15 19:52:00 +03:00
Alibek Omarov
1a791e8556
engine: soundlib: get rid of useless formatstring, which is always the same for all types
2025-03-15 19:36:34 +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
6aeedf201c
ref: gl: update dlight texture in case if BLOCK_SIZE changes between maps (going from QBSP to BSP2 or toggling r_large_lightmaps cvar)
2025-03-15 19:23:49 +03:00
Alibek Omarov
c9f8bdfcb0
ref: gl: allow updating texture with NULL data by calling TexImage instead of TexSubImage
2025-03-15 19:20:36 +03:00
Alibek Omarov
3cf4901ad2
engine: fix another case of format-nonliteral
2025-03-15 18:23:38 +03:00
Alibek Omarov
92de3ebc58
wscript: disable format-nonliteral for Clang, it's buggy there
2025-03-15 14:20:11 +03:00
Alibek Omarov
7aa9f23590
public: crtlib: fix Q_pretifymem so it compiles with -Wformat-nonliteral
2025-03-15 14:19:47 +03:00
Alibek Omarov
3d999269eb
engine: net_ws: make net6_local global static, as it's not used outside of this translation unit
2025-03-15 01:24:59 +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
91bc372811
mainui: update
2025-03-15 01:24:59 +03:00
Alibek Omarov
f9df96d70e
engine: server: fix server strings deduplication on 64-bit systems
2025-03-15 01:24:59 +03:00
Alibek Omarov
8af0e2c8b4
readme: add missing system dependencies on Linux systems [skip ci]
2025-03-08 02:42:28 +03:00
Alibek Omarov
a5191d8948
engine: client: console: simplify Field_DrawInputLine, try to make it safer
2025-03-08 02:35:32 +03:00
Alibek Omarov
b2d8239829
engine: common: net_http: fix decompression for compressed but not chunked files
2025-03-06 19:10:48 +03:00
Alibek Omarov
34322f025b
engine: client: limit ticket generator choices to revemu2013 only
2025-03-06 12:35:32 +03:00
Alibek Omarov
3e6b434733
mainui: update
2025-03-05 22:36:41 +03:00
Alibek Omarov
8359cbe76c
scripts: waifulib: add flag --enable-limited-debuginfo which enables -gline-tables-only on GCC and Clang compilers
...
This saves ~30mb of APK size on Android.
2025-03-05 02:19:39 +03:00
Alibek Omarov
0e90e6285e
engine: host: use #if instead of #ifdef when checking for extended hl25 structs compile option
2025-03-03 22:59:44 +03:00
Alibek Omarov
2f5840f650
engine: host: add a cvar that indicates whether engine was built with --enable-hl25-extended-structs or not
2025-03-03 22:53:20 +03:00
Alibek Omarov
3b51a554dd
mainui: update
2025-03-02 20:20:54 +03:00
Alibek Omarov
5f0880d4a2
engine: client: lower the bandwidth test fragment sizes to 1400 and less, as using 64k, 32k and more is unreliable
2025-03-02 20:20:40 +03:00
Bohdan Shulyar
884a3c66ac
client: touch: fix minor typo that prevented editing touch buttons commands
2025-03-02 20:19:58 +03:00
Alibek Omarov
c76752cc5f
engine: server: validate uuid in protinfo, it's an md5 string
2025-03-01 22:45:01 +03:00
Alibek Omarov
fc2888e107
engine: server: fix incorrect ID string generation, hashedcdkey is already an MD5 string
2025-03-01 22:27:22 +03:00
Alibek Omarov
674b4c1506
engine: server: reorder sv_client_t struct for better memory efficiency, remove unused fields
2025-03-01 22:07:05 +03:00
Alibek Omarov
cddd50f1e9
engine: server: completely erase sv_client_t on client connect, so we always start from scratch for every user
2025-03-01 22:07:05 +03:00
Alibek Omarov
6c9d5bc1fb
engine: server: cleanup penalties and warns for new players
2025-03-01 16:03:39 +03:00
Alibek Omarov
ec23860238
gitmodules: use github mirrors instead of xiph.org's git
...
It's not really a good idea to hammer upstream git servers with cloning same
data over and over. Besides, it's down right now.
2025-03-01 15:28:55 +03:00
Alibek Omarov
14a2e34b7e
mainui: update
2025-03-01 15:21:20 +03:00
Alibek Omarov
29c8818557
engine: server: do not continue processing command if the player was kicked during it (for example, by speedhack prevention)
2025-03-01 14:58:15 +03:00
Andrey Akhmichin
7222830b28
Documentation: supported-mod-list.md: a little remark.
2025-02-28 23:56:28 +03:00
Alibek Omarov
9b0ad7daf0
engine: common: register forgotten net_clockwindow cvar
2025-02-28 22:44:44 +03:00
Alibek Omarov
73729827f4
engine: platform: win32: add forgotten SDL.h include
2025-02-28 21:55:26 +03:00
Alibek Omarov
97fa395a3b
engine: platform: win32: fix build by restoring previous win32 header inclusion order
2025-02-28 21:44:22 +03:00
Alibek Omarov
1cef8ea7af
Revert "ref: gl: check OES NPOT texture extension in BigGL mode"
...
This breaks mipmaps on PSVita
This reverts commit 54b0cf9991 .
2025-02-28 17:08:27 +03:00
Alibek Omarov
eda4e95607
engine: client: draw version at bottom right in menu, regardless if dev_overview or net_graph are enabled (those only used in-game)
2025-02-28 15:11:24 +03:00
Alibek Omarov
a5f0ca38f1
engine: remove inclusion of SDL headers globally, helps to cleanup code before SDL3 migration
2025-02-28 13:14:47 +03:00
Alibek Omarov
bbbd7711c1
engine: platform: cleanup remnants of disabling vsync while loading mechanism for linux fbdev and dos ports
2025-02-28 12:33:30 +03:00
Alibek Omarov
38e922557d
engine: platform: sdl: remove disabling vsync while we're not in game, as this is something users have been complaining a lot
...
It's not a big deal if level loading will take a few milliseconds more.
2025-02-28 08:27:38 +03:00
Alibek Omarov
4dec1785ed
engine: client: touch: fix inverted file extension check
2025-02-28 06:44:21 +03:00
Alibek Omarov
9f77b7dc46
scripts: waifulib: enable HLSDK -mtune only on GCC and Clang, and not on Android
2025-02-26 17:11:10 +03:00
Alibek Omarov
5061a29f86
scripts: waifulib: enable asynchronous-unwind-tables for better stacktraces
2025-02-26 17:10:30 +03:00
Alibek Omarov
cb5dffd554
engine: server: don't bother printing about unsupported connectionless packets if sv_log_outofband is set to 0
2025-02-26 17:06:33 +03:00
Alibek Omarov
4eaa8ab40f
android: bump minimum CMake version, so disabling unneeded features in SDL actually works
2025-02-26 14:21:58 +03:00
Alibek Omarov
2a82d265d6
scripts: waifulib: xcompile: add support for Android NDK r27 as well
2025-02-26 12:40:22 +03:00
Alibek Omarov
f2392b5709
scripts: waifulib: xcompile: add support for building on Windows. Drop using shortcut target clang symlinks, as those don't work on Windows at all (they are wrapped into batch files, which can't be invoked like exes)
2025-02-26 12:40:22 +03:00
Alibek Omarov
5620e7ab4c
android: fixup CMAKE_LIBRARY_OUTPUT_DIRECTORY on Win32, merge stdout and stderr for waf output
2025-02-26 12:40:22 +03:00
Alibek Omarov
a76236ac5a
scripts: waifulib: xcompile: add support for NDK 28, remove setting up custom PREFIX to not mess up installation path
2025-02-26 12:40:22 +03:00
Alibek Omarov
d1c5862bab
android: bump NDK version to 28
2025-02-26 12:40:22 +03:00
Alibek Omarov
81400d0b01
android: use xcompile.py's support for Android NDK, fix tabs
2025-02-26 12:40:22 +03:00
Alibek Omarov
a129f13e25
android: enable verbose output for CMake running from Gradle
2025-02-26 12:40:22 +03:00
Alibek Omarov
ec8b4c0a84
android: rework how engine is built, instead of generating CMakeLists, just use included in CMake ExternalProject feature
2025-02-26 12:40:22 +03:00
Alibek Omarov
f1f726822c
engine: client: restore cl_cmdrate default value at 30. It wasn't an intentional change.
2025-02-25 19:52:48 +03:00
Alibek Omarov
8982d55392
engine: client: set default rate value to 25000
...
3500 is barely playable these days. Those who have worse than usual internet
connection, should set appropriate value themselves.
2025-02-25 17:36:43 +03:00
Alibek Omarov
f499286a87
engine: platform: sdl: don't call SDL_GL_SetSwapInterval each frame while we're not in game
2025-02-25 11:52:03 +03:00
Alibek Omarov
a3aaa87147
ref: gl: enable polygon offset for fullbright textures when rendering them in separate from VBO pass
2025-02-25 11:49:31 +03:00
Alibek Omarov
15a6971aca
engine: platform: posix: strip path from filename in backtrace
2025-02-25 11:46:57 +03:00
Alibek Omarov
b1eb3390e3
engine: server: let server dll to register it's own showtriggers cvar
2025-02-24 06:41:11 +03:00
Alibek Omarov
74ad504377
engine: client: console: do not let color strings contribute to line length in console
2025-02-24 03:55:13 +03:00
Alibek Omarov
8a0c2577ed
engine: platform: sdl: exclude fake game controller found on Android emulator
2025-02-24 03:42:03 +03:00
Alibek Omarov
a060d7aefd
wscript: disable large file for 32-bit Android
2025-02-23 16:07:51 +03:00
Alibek Omarov
ccf342f4fe
engine: client: fix inconsistent mouse state caused by mis-use of touch_emulate by cs16-client
2025-02-23 07:13:39 +03:00
Alibek Omarov
8b9a40ff1f
engine: client: completely refactor touch code, protect button color, improve config output
2025-02-23 07:00:20 +03:00
Alibek Omarov
425cc61c4c
engine: client: handle K_ESCAPE in Key_Console, remove special case for it in Key_Event
2025-02-23 06:47:44 +03:00
Alibek Omarov
fe1fd5b024
engine: client: make color array of DrawString functions const
2025-02-23 06:46:22 +03:00
Alibek Omarov
0c8da36a0b
filesystem: disallow path traversal in FS_Delete and FS_Rename
2025-02-23 03:13:46 +03:00
Alibek Omarov
2c5030ab45
engine: client: do not save touch_emulate cvar
2025-02-23 02:04:33 +03:00
Alibek Omarov
9decba873b
engine: platform: sdl: try to save and restore mouse position during showing or hiding cursor
2025-02-23 02:04:03 +03:00
Alibek Omarov
bda4c45504
engine: client: simplify CL_EDICT_NUM and it's sister, non throwing error, function CL_GetEntityByIndex
2025-02-23 01:51:05 +03:00
Alibek Omarov
f7aa8a0c90
ci: bump SDL2 to 2.32.0. This is the last major upgrade to SDL2 dependency, we should migrate to SDL3 (with sdl2-compat for GoldSrc mods) after that
2025-02-22 18:48:41 +03:00
Alibek Omarov
4c15cceb32
engine: client: deprecate custom id, it is not used meaningfully by anyone
2025-02-20 15:41:17 +03:00
Alibek Omarov
3e4c5beb25
ref: fix another typo made after R_StudioCalcBones refactor
2025-02-18 19:22:06 +03:00
Alibek Omarov
f84d865f4a
engine: client: fix crash if server sends new movevars before entities were created
...
Nothing bad will happen if we skip wave height for world entity for now, but
we might need to handle this situation somehow in the future.
2025-02-17 13:02:21 +03:00
SNMetamorph
2465782a3e
engine: platform: sys_win: fixed compiling error
2025-02-15 13:45:22 +03:00
Alibek Omarov
7ba2209124
engine: platform: sdl: set requested timer delay in units of 100ns according to the documentation
2025-02-15 13:08:05 +03:00
Alibek Omarov
af6b434b71
engine: platform: win32: implement nanosleep using waitable timers with high precision
2025-02-15 11:57:41 +03:00
Alibek Omarov
052ea6a8bd
engine: platform: introduce for Platform_NanoSleep, to be used for better sleeping in between frames for lowering CPU usage
2025-02-15 10:11:17 +03:00
Alibek Omarov
448dc720ed
engine: server: immediately exit from SV_GetChallenge on unknown type addresses
2025-02-15 09:31:20 +03:00
Alibek Omarov
75b15696f8
engine: zone: ensure memheader_t size is always expected
2025-02-15 09:31:20 +03:00
Andrey Akhmichin
7fb113f610
Documentation: opensource-mods.md: add "Delta Particles".
2025-02-15 08:02:44 +03:00
Andrey Akhmichin
0497e00ad2
Documentation: supported-mod-list.md: update.
2025-02-15 08:02:35 +03:00
Alibek Omarov
9c50288bbb
engine: server: rewrite challenge generator to something more simple: salted MD5 of an IP address
...
The idea was taken from ReHLDS project.
2025-02-15 08:01:44 +03:00
Alibek Omarov
c5d4af802c
engine: server: even if user set non-integer value for cl_updaterate, clamp it to sv_minupdaterate
2025-02-15 08:01:44 +03:00
Alibek Omarov
340a8b5e0c
engine: server: fixes for userinfo change ratelimiting
...
* Add pentalty earlier
* Increase disallowed timewindow according to penality multiplier
* Allow first change even if it falls into ignore timewindow
2025-02-15 08:01:44 +03:00
Alibek Omarov
bc1b86c19c
engine: server: refactor SV_ConnectClient, simplify LAN IP check
2025-02-15 08:01:44 +03:00
Alibek Omarov
b605cf603e
common: xash3d_types: make it more compatible for inclusion in SDK
2025-02-15 08:01:44 +03:00
xiaodo
fdc2ed8093
engine: server: pfnClientCommand and pfnQueryClientCvarValue should execute on unspawned player
2025-02-14 20:52:45 +03:00
xiaodo
a27375d1f5
engine: server: cmds: fix kick command incorrect argc
2025-02-14 20:52:45 +03:00
Alibek Omarov
0e2abf9040
engine: platform: always create zeroed buffer for audio
2025-02-14 05:20:40 +03:00
Alibek Omarov
89430400d9
engine: sys_con: only allow names that start with either alphabetic or numerical character for a log file
2025-02-14 01:51:50 +03:00
Alibek Omarov
f1a9d408bf
engine: sys_con: check if the next argument after -log starts with minus and ignore it if it does
2025-02-14 00:50:01 +03:00
Alibek Omarov
6529692244
engine: disable timestamps in log file by default, allow changing log file name with -log argument
2025-02-14 00:28:00 +03:00
Alibek Omarov
51d11f8e86
engine: platform: win32: remove unused log variables and checks from Win32 console, sys_con does the job
2025-02-14 00:28:00 +03:00
Alibek Omarov
c5397191e5
engine: client: touch: limit usage of touch_set_stroke and touch_setclientonly only for privileged mode
2025-02-13 20:55:49 +03:00
Alibek Omarov
44426709f7
engine: platform: posix: skip first stack frame when printing stack trace with libbacktrace
2025-02-13 20:43:32 +03:00
Alibek Omarov
2d8f747e84
wscript: disable using system-wide libbacktrace, as it might not support features we need
2025-02-13 19:21:07 +03:00
Alibek Omarov
0dd5a60410
3rdparty: gl4es: update submodule
2025-02-13 02:32:28 +03:00
Alibek Omarov
eec8129be4
3rdparty: extras: update submodule
2025-02-13 02:31:30 +03:00
Alibek Omarov
934c5e018d
readme: clarify that chat is for russian speaking people [ci skip]
2025-02-12 18:08:10 +03:00
Alibek Omarov
d658d8cc78
readme: remove builds.sr.ht status, add Telegram chat link, remove stable build link (it's very outdated and not recommended to use) [skip ci]
2025-02-12 17:58:51 +03:00
Alibek Omarov
ca9a3f0491
engine: server: fix out of bounds write in SV_FindTouchedLeafs
2025-02-11 21:15:54 +03:00
Alibek Omarov
1510cb458f
public: fix another typo
2025-02-11 21:12:50 +03:00
Andrey Akhmichin
30cabb8107
Documentation: supported-mod-list.md: fix branch name.
2025-02-11 21:10:59 +03:00
Alibek Omarov
64ee956618
engine: fix a typo
2025-02-11 20:06:15 +03:00
Alibek Omarov
39659644bf
public: merge calc bone quaternion and position into single function
...
Expect that only adj and output quaternion can be NULL.
2025-02-11 18:57:08 +03:00
Alibek Omarov
eb09af0b08
ref: gl: avoid generating GL_INVALID_OPERATION if gl_vbo_dlightmode is set to 0
2025-02-11 18:57:08 +03:00
Andrey Akhmichin
91a4ace12c
Documentation: supported-mod-list.md: update.
2025-02-11 16:28:40 +03:00
Alibek Omarov
2ad2e46b30
mainui: update
2025-02-10 13:18:59 +03:00
Alibek Omarov
627444279f
Revert "common: cvar: make auto descriptions private to cvar subsystem, use them when Cvar_Get is called with NULL description"
...
This reverts commit ade560c601 .
2025-02-10 12:49:05 +03:00
Alibek Omarov
3550bdb30d
3rdparty: mainui: update
2025-02-09 23:14:24 +03:00
Alibek Omarov
c201b895eb
common: netadr: force cast uint16_t type to netadrtype_t
...
So it compiles in C++
2025-02-09 23:13:29 +03:00
Alibek Omarov
72f1ac3780
wscript: ensure system-wide libbacktrace supports threads
2025-02-09 18:29:02 +03:00
Alibek Omarov
d7dc3192de
3rdparty: libbacktrace: fix applying uselib
2025-02-09 18:25:40 +03:00
Alibek Omarov
43ea65fffc
ci: upgrade freebsd tasks.
2025-02-09 17:41:01 +03:00
Alibek Omarov
a72d921c12
wscript: add system-wide libbacktrace detection
2025-02-09 17:41:01 +03:00
Alibek Omarov
99b7d71824
wscript: set DEST_SIZEOF_VOID_P with allow 64bit flag
2025-02-09 17:16:17 +03:00
Alibek Omarov
67c73bdcbe
engine: server: remove impulse 204, it's not used anywhere
...
Thanks @tyabus for reminding me about this feature.
2025-02-09 17:16:05 +03:00
Alibek Omarov
8b1dbcf166
ci: remove extra 20s of wait before removing current release and downloading artifacts
2025-02-09 17:02:31 +03:00
Alibek Omarov
5f60095dc4
scripts: flatpak: disable separate debuginfo
2025-02-09 16:54:51 +03:00
Alibek Omarov
c7282b488b
3rdparty: libbacktrace: disable linking zlib, lzma and zstd for now, figure this out later
2025-02-09 16:49:43 +03:00
Alibek Omarov
afa829d996
3rdparty: libbacktrace: don't define POSIX_SOURCE, it breaks build on Mac
2025-02-09 16:41:26 +03:00
Alibek Omarov
c06ea8d915
engine: platform: posix: add printing backtrace to stderr and logfile for libbacktrace backend
2025-02-09 16:41:26 +03:00
Alibek Omarov
bf344282ec
android: explicitly set Waf output directory so it doesn't mess with current configuration and places generated files where CMake expects them to be
2025-02-09 16:20:38 +03:00
Alibek Omarov
21f62910ac
engine: platform: posix: fix build when glibc execinfo.h is not available, but libbacktrace is still used
2025-02-09 16:20:38 +03:00
Alibek Omarov
54552d93ef
Documentation: goldsrc-protocol-support: I am not going to support Dproto
2025-02-09 16:18:21 +03:00
Alibek Omarov
97455e7fd4
engine: platform: sdl: fix build after last PR
2025-02-09 15:56:16 +03:00
Alibek Omarov
6087d43043
3rdparty: libbacktrace: properly disable it on win32, nswitch and psvita
2025-02-09 15:55:12 +03:00
Alibek Omarov
c1a96d3ff1
engine: platform: posix: fix build
2025-02-09 15:51:25 +03:00
Alibek Omarov
e27d20dfa3
android: enable debug symbols for native libraries
2025-02-09 15:49:28 +03:00
Alibek Omarov
890e12ec76
engine: platform: posix: flush stdout/stderr before everything, include build branch
2025-02-09 15:45:44 +03:00
Alibek Omarov
774d2ac28a
engine: platform: posix: add libbacktrace support for crash handler
2025-02-09 15:42:28 +03:00
Alibek Omarov
960d724828
3rdparty: libbacktrace: add submodule
2025-02-09 15:40:07 +03:00
Alibek Omarov
32aa1f91bf
engine: pass argv0 to crash handler setup, which is required for libbacktrace integration
...
Fix indentation in crash_posix.c
2025-02-09 15:36:49 +03:00
Alibek Omarov
bd3634c815
wscript: add sanity test for opusfile because some distros don't ship 32-bit binary
2025-02-09 15:34:30 +03:00
Oleg
eda0ac92cc
engine: platform: sdl: change behavior when window position is not set
2025-02-09 08:54:31 +03:00
Oleg
546903ea05
engine: platform: sdl: write windows position changes even in fullscreen
2025-02-09 08:54:31 +03:00
Oleg
4975001795
engine: platform: sdl: enumerate video modes for display where window located is instead of display zero
2025-02-09 08:54:31 +03:00
Oleg
a078ad1f51
engine: platform: sdl: fix windows save position for multiple monitors
2025-02-09 08:54:31 +03:00
Oleg
8307f671d4
engine: platform: sdl: let platform decide where to put our fullscreen window
2025-02-09 08:54:31 +03:00
Alibek Omarov
241fab02b1
ref: gl: don't try to free luma and detail texture of water texture, as these fields used by r_ripple
2025-02-08 16:57:20 +03:00
Alibek Omarov
1bfee70477
engine: con_utils: add autocompletion for cvar commands like set, reset and toggle
2025-02-08 16:45:52 +03:00
Alibek Omarov
eb51d17cd2
engine: server: enable sv_zmax clamping back to avoid overflowing zmax value encoded in delta
2025-02-08 16:38:11 +03:00
Alibek Omarov
b5cb0b9f10
ref: gl: add r_dlight_virtual_radius. It potentially fixes ugly dlight cut off on largely scaled textures (or at least allows to tune it)
...
It also adds a fix found in JoeQuake (which traces back to FitzQuake, in which
it is attributed to LadyHavoc, Darkplaces author) to exactly calculate whether
the light hits the surface, so we don't wrongly enable lighting on a surface by
an increased radius.
2025-02-07 23:07:08 +03:00
Alibek Omarov
a955d1e957
ref: gl: make GL_BuildPolygonFromSurface static, remove one global variable usage (which is unused anyway)
2025-02-07 22:55:38 +03:00
Alibek Omarov
2b2c967e85
engine: add ms3.mentality.rip master server
2025-02-07 19:32:37 +03:00
Alibek Omarov
c48d93e3ce
public: use last Git commit date (committer date, to be exact) as more predictable source for build num
2025-02-07 17:51:10 +03:00
Alibek Omarov
8f257cc331
public: add parsing build date from ISO-8601 alike format
2025-02-07 17:47:23 +03:00
Alibek Omarov
151e7fe37b
public: crtlib: check for empty buffer in Q_vsnprintf
2025-02-06 21:19:10 +03:00
Alibek Omarov
add02dc6f9
engine: fix potential UB in netadr_t
2025-02-06 20:54:18 +03:00
Alibek Omarov
d4c34abd6e
engine: enable writing log even if console hasn't been enabled at the engine startup (it might be enabled later, it might also contain crash data)
2025-02-06 20:03:07 +03:00
Alibek Omarov
1d81e611f0
scripts: gha: use N+1 job count when building PSVita dependencies
2025-02-06 00:32:42 +03:00
Alibek Omarov
6a0038e26a
ref: gl: always set texture env mode to GL_MODULATE in TriAPI's RenderMode call
...
Not sure if this is correct, but it's generally a good idea to restore it to an
expected value.
2025-02-06 00:30:32 +03:00
Alibek Omarov
1d99f65e86
filesystem: when shutting down, clean up gameinfo pointers and total games count
2025-02-05 21:14:08 +03:00
Alibek Omarov
5e524bca60
engine: client: enable half-texel hack for nearest filtering too, if the scaling factor isn't an integer
2025-02-05 20:16:16 +03:00
Alibek Omarov
cf3e56e275
engine: client: add alternative mode for hud_scale, where it scales HUD down to selected resolution with preserving aspect ratio
2025-02-05 19:47:59 +03:00
Alibek Omarov
ade560c601
common: cvar: make auto descriptions private to cvar subsystem, use them when Cvar_Get is called with NULL description
...
It allows us to not lose engine-side description when client or gameui registers cvar with the same name. In case of
menu it's the only way to get cvar pointer.
2025-02-05 19:11:16 +03:00
Alibek Omarov
62e3ba2126
engine: add cvars to control mounting additional directories
...
Use existing ui_language cvar for mounting localization folders.
2025-02-05 18:54:28 +03:00
Alibek Omarov
674a4e5883
filesystem: add ability to mount HD, LV, addon and language folders by engine request
2025-02-05 18:24:36 +03:00
Alibek Omarov
f911210b81
public: simplify ctype.h is* functions wrappers for null-terminated strings, add Q_isalpha
2025-02-05 18:21:18 +03:00
Alibek Omarov
14eb07653c
engine: client: fix incorrect format in error message in CL_SetLightStyle
2025-02-05 17:41:01 +03:00
Alibek Omarov
54b0cf9991
ref: gl: check OES NPOT texture extension in BigGL mode
2025-02-05 14:00:44 +03:00
Alibek Omarov
3ebcb08a97
ref: gl: add cvar r_large_lightmaps to enable larger lightmap sizes, opt-in, yields better performance with VBO renderer
2025-02-05 13:02:37 +03:00
Alibek Omarov
23940f8590
readme: remove fontconfig from dependencies list, we aren't using it anymore [skip ci]
2025-02-04 21:00:42 +03:00
Alibek Omarov
687fb0123f
engine: implement basic gamepad gyroscope calibration
...
Called on game controller becoming active or by user request.
Exposes current calibration state by read-only console variable.
2025-02-03 13:14:51 +03:00
Alibek Omarov
6c91fdb0cd
ref: gl: gl2_shim: fix int vs GLuint
2025-02-02 20:57:37 +03:00
Alibek Omarov
4832232fd6
ci: attempt to fix flatpak upload
2025-02-02 20:31:51 +03:00
Alibek Omarov
185bce0489
engine: common: remove unused D_ enum used for MsgDev in old engine. Make sure all enums and structs here are not anonymous
2025-02-02 20:26:07 +03:00
Alibek Omarov
f460aa63b0
engine: platform: posix: don't forget to print backtrace to stderr too
2025-02-02 19:20:54 +03:00
Alibek Omarov
22f8b6f9c3
engine: platform: enable crash handler for macOS
2025-02-02 18:30:41 +03:00
Alibek Omarov
0cb034afc2
engine: wscript: improve execinfo and GNU backtrace() check
2025-02-02 18:18:26 +03:00
Alibek Omarov
d0464ef602
engine: platform: posix: use glibc-based backtrace implementation for crash handling, if execinfo.h can be found
2025-02-02 18:06:18 +03:00
Alibek Omarov
c3ebb84b97
ci: bump SDL2 to 2.30.12
2025-02-02 08:14:24 +03:00
Alibek Omarov
11742efbc3
engine: fix player move on dedicated servers
2025-02-02 08:08:15 +03:00
Alibek Omarov
95af635ab4
engine: client: add command replaybufferdat to aid in debugging protocol errors by parsing buffer.dat
2025-02-02 05:22:46 +03:00
Alibek Omarov
1abec80191
engine: client: set codepage to 0 if con_charset value is unknown
2025-02-02 02:34:08 +03:00
Alibek Omarov
93ebddfba3
public: utflib: simplify Q_EncodeUTF8
2025-02-02 02:31:56 +03:00
Alibek Omarov
5378494199
wscript: enable main() function for Android port, which was forgotten after last refactoring
2025-02-01 18:26:20 +03:00
Alibek Omarov
1b44d7733e
engine: platform: add improved Platform_Vibrate2 function, that allows to control vibration strength
2025-02-01 18:08:53 +03:00
Alibek Omarov
694c630b44
engine: zone: don't error when trying to free NULL pointer, like standard C free() and C++ delete
2025-02-01 17:51:02 +03:00
Alibek Omarov
7df1d4b9e2
engine: platform: sdl: remove useless for us game controller events
2025-01-31 19:48:33 +03:00
Alibek Omarov
b16037eabf
engine: drop raw SDL joystick API, always use GameController instead. Implement actually working rumble, ensure we're freeing up all resources related to gamepads
2025-01-31 17:50:19 +03:00
Alibek Omarov
bff7299f9b
gha: publish binaries even if flatpak fails
2025-01-31 10:37:41 +03:00
Alibek Omarov
de196b1c58
common: xash3d_types: avoid defining true and false in C23
2025-01-31 10:36:27 +03:00
Alibek Omarov
a0eec8b85d
scripts: waifulib: add special_install_path for platform-specific executable formats that create post link stage (was nro_install_path)
2025-01-31 10:25:02 +03:00
Alibek Omarov
c7e8ea2ffa
scripts: gha: linux: build smaller SDL2 (without 2D renderer) for Linux as well
2025-01-31 10:02:19 +03:00
Alibek Omarov
1c1cf3d646
scripts: waifulib: psvita: make sce_sys truly optional in apply_vpk
2025-01-31 10:02:19 +03:00
Alibek Omarov
9759b80b78
scripts: waifulib: psvita: set default title id and app name to just test
2025-01-31 09:10:39 +03:00
Alibek Omarov
94b2c0b443
scripts: gha: build render-less SDL2 for PSVita
2025-01-31 09:10:09 +03:00
Alibek Omarov
ff8d17a5a8
scripts: waifulib: psvita: add missing cprogram attributes
2025-01-31 09:04:40 +03:00
Alibek Omarov
aa23196a55
scripts: waifulib: support vpk and nro pass for pure C programs, just in case
2025-01-30 20:51:01 +03:00
Alibek Omarov
83b488c37e
wscript: let building client and dedicated server in the same configuration
2025-01-30 20:23:12 +03:00
Alibek Omarov
77abf621d7
ref: gl: make GL_Support and GL_MaxTextureUnits functions inlined
2025-01-30 19:02:53 +03:00
Alibek Omarov
f9d4ac2771
ref: gl: fix ugly seam at the skybox, thanks Spoike for help
2025-01-30 18:53:31 +03:00
Alibek Omarov
f076d84975
engine: platform: android: move dlsym-weak hack from C++ to C
2025-01-30 18:07:35 +03:00
Alibek Omarov
faf0b32a94
ref: gl: fix massive frame drop caused by ripples code rendering same texture multiple times in the frame
2025-01-29 20:15:21 +03:00
Alibek Omarov
feb80e5997
engine: platform: sdl: read gamecontrollerdb.txt from extras.pk3
2025-01-29 13:43:10 +03:00
Alibek Omarov
004af02e99
engine: avi: comment out debug messages
2025-01-29 11:13:29 +03:00
Alibek Omarov
8ad56eb085
Merge branch 'master' into avi
2025-01-29 11:12:38 +03:00
Alibek Omarov
578a77518f
engine: client: fix clearing keyboard buttons caused by typical brain fart
2025-01-29 10:04:47 +03:00
Alibek Omarov
2457ecf226
filesystem: fix recursive basedir possible cyclic dependency when default game directory uses a basedir that's base directory is undefined
...
That could happen when default game directory depends on base directory that don't have gameinfo.txt.
Because all game directories with liblist.gam automatically have dependency on default game directory, it causes cyclic dependency.
2025-01-29 09:49:29 +03:00
Alibek Omarov
8cd99885f1
filesystem: clean added status for game folders when purging search paths
2025-01-29 09:46:18 +03:00
Alibek Omarov
684e229ac8
engine: client: get rid of absolutely useless bitfields
2025-01-26 23:34:04 +03:00
SNMetamorph
c0f1d8c647
engine: model: fixed incorrect check in Mod_LoadModel
2025-01-26 23:27:18 +03:00
SNMetamorph
c3b8696957
engine: platform: win32: disable initializing console in case of regular game startup
2025-01-26 23:02:24 +03:00
Tom Kidd
3ca413dbab
Fixed path calc for extras on Mac
2025-01-26 22:25:08 +03:00
Alibek Omarov
92dc04ff3c
engine: client: minor change, add forgotten newline in CL_DeltaEntityGS Host_Error call
2025-01-25 17:51:48 +03:00
Alibek Omarov
ad6db91285
engine: move xashid stuff onto client
2025-01-25 17:51:48 +03:00
David DeGraw
90a0f74087
undo change to mod link
2025-01-25 08:23:04 +03:00
David DeGraw
4f7f5288a1
more nits
2025-01-25 08:23:04 +03:00
David DeGraw
c23b4bfe61
nits
2025-01-25 08:23:04 +03:00
David DeGraw
4780f70ea2
Improve mod installation instructions
...
Also improved uplink setup and used a better source for mod files.
2025-01-25 08:23:04 +03:00
NightFox
98a04c7764
FIx Matrix*x4_LoadIdentity (xash3d_mathlib.h)
2025-01-25 08:21:21 +03:00
Alibek Omarov
7da9772143
engine: check for macOS bundle in SDL_GetBasePath, and fallback to SDL_GetPrefPath for our directory
2025-01-23 22:58:19 +03:00
Alibek Omarov
32def35408
engine: avi: remove stub file
2025-01-23 18:56:44 +03:00
Alibek Omarov
952ccb1247
engine: avi: very dumb pause
2025-01-23 18:55:48 +03:00
Alibek Omarov
6f0fb594e7
Merge branch 'master'
2025-01-23 18:42:00 +03:00
Alibek Omarov
f0b29bac1b
engine: client: add cl_trace_consistency used to print which resources server wants to check
2025-01-23 13:57:17 +03:00
Alibek Omarov
7b5ff606bd
3rdparty: extras: enable compression of extras.pk3
2025-01-23 13:08:53 +03:00
Alibek Omarov
3e22ee64ae
scripts: waifulib: zip: add support for passing compression level on Python 3.7. Exclude PNG files from compression
2025-01-23 13:08:21 +03:00
Alibek Omarov
c86c45503f
engine: replace few more Xash3D strings by XASH_ENGINE_NAME macro
2025-01-23 10:33:22 +03:00
Alibek Omarov
ef75a4c28d
engine: rename pref path on Mac to Xash3D FWGS by allowing for custom branding through XASH_ENGINE_NAME macro
2025-01-23 10:24:55 +03:00
Alibek Omarov
bccd3f2271
engine: pass launcher's default game directory all the way down to Platform_Init, so we mount correct extras.pk3 on Mac
2025-01-23 10:22:53 +03:00
Tom Kidd
7bbc3e8238
Made modifications for Mac App Bundle
...
- Looks for game data in SDL pref path (Application Support)
- Sets XASH3D_EXTRAS_PAK1 to SDL base path (Resources dir in App Bundle
- Added option to force search for SDL dylib via pkgconfig on Darwin instead of Framework (option for Mac Source Ports build process)
2025-01-23 10:15:47 +03:00
Alibek Omarov
c34e0c66d9
engine: add fuzzing target for Mod_LoadModel
2025-01-23 10:12:32 +03:00
Alibek Omarov
e5d80878b8
scripts: waifulib: add asan-only build type
2025-01-23 10:11:56 +03:00
Alibek Omarov
1e075d25b7
engine: make LZSS compression optional for 49 protocol, disable it for local clients (singleplayer)
2025-01-22 21:18:19 +03:00
Alibek Omarov
d29e53481d
engine: client: remove unused S_StreamAviSamples
2025-01-22 20:01:11 +03:00
Alibek Omarov
d23a2fd2df
engine: client: stub AVI_StreamSound RenderAPI call, it is not used in ffmpeg-based video playback code
2025-01-22 20:00:50 +03:00
Alibek Omarov
f6f15cc204
engine: mod_studio: validate studio self-reported length before loading model
2025-01-22 20:00:13 +03:00
Alibek Omarov
4f2249ed8e
ref: support loading sprites with truncated palette
2025-01-22 19:24:00 +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
b554d7e215
ref: properly handle unloading sprites that aren't loaded completely
2025-01-22 19:20:20 +03:00
Alibek Omarov
719093c10b
ref: properly return false to the engine if renderer refuses to load the model for some reason
2025-01-22 19:13:23 +03:00
Alibek Omarov
c2da140ccc
engine: model: do not crash if renderer refused to load this model
2025-01-22 19:12:43 +03:00
Alibek Omarov
375998dffb
Cleanup xash3d_types.h from engine-specific macros and types
2025-01-22 15:10:18 +03:00
Alibek Omarov
787444f63d
engine: simplify sound fx allocation
2025-01-22 14:46:40 +03:00
Alibek Omarov
0c50076ff0
engine: zone: ensure poolcount is zero on Memory_Init
2025-01-22 13:49:51 +03:00
Alibek Omarov
8ce01c38c7
engine: http: ensure we don't write broken decompressed files
2025-01-22 13:49:24 +03:00
Alibek Omarov
cac6206984
engine: client: allocate everything related to sounds in the sound pool
2025-01-22 13:49:02 +03:00
Alibek Omarov
a5c88bdda9
engine: touch: allow smoother migration from old engine touch configs by stripping .tga extension
2025-01-22 13:40:47 +03:00
Alibek Omarov
fc017286a6
engine: base_cmd: slightly faster search based on assumption that list is always ordered
2025-01-22 05:41:52 +03:00
Alibek Omarov
20d4e3e719
engine: fix flexible array member usage in case of null terminated strings
...
(woops)
2025-01-22 05:41:52 +03:00
Alibek Omarov
4eaa32fc10
engine: whereami: sync with upstream
2025-01-21 20:03:20 +03:00
Alibek Omarov
b7c025b167
filesystem: android: request buffer for Android asset LoadFile implementation
...
Might be better than asking for random access and then only reading forward.
2025-01-21 19:50:14 +03:00
Alibek Omarov
f29c588e0f
filesystem: take code from DarkPlaces to properly read compressed files
2025-01-21 18:47:42 +03:00
Alibek Omarov
2065ef143a
engine: server: fix ent_create under PrimeXT
2025-01-21 16:09:56 +03:00
Alibek Omarov
a5c02c85f0
filesystem: wad: get rid of sentinel value at the end of wad_types array
2025-01-21 15:26:06 +03:00
Alibek Omarov
9a8761f1d8
engine: client: remove unused NetAPI_ValueForKey function
2025-01-21 15:17:03 +03:00
Alibek Omarov
273990d292
engine: cmd: store command description in flexible array member
2025-01-21 15:06:08 +03:00
Alibek Omarov
0e27d8717c
ref: remove servercount from texture struct, Xash don't use it (and it's also harmful anyway)
2025-01-21 14:36:42 +03:00
Alibek Omarov
8a9b209db0
engine: zone: optimize memory usage a bit by compressing memheader_t better while keeping it efficient
...
It saves about 40 kilobytes of memory.
2025-01-21 14:04:33 +03:00
Alibek Omarov
232d1f8583
engine: make separate mempools for cmds, cvars and basecmd
2025-01-21 11:26:35 +03:00
Alibek Omarov
6cfa5877a4
engine: base_cmd: decrease base cmd hash size
2025-01-21 11:25:33 +03:00
Alibek Omarov
154df00f94
filesystem: don't create full path to rwdir, as cwd is always equal to rwdir
...
Fixes updating gameinfo.txt.
2025-01-20 19:53:04 +03:00
Alibek Omarov
c5649c94d5
engine: client: fix delta entity packet flush on GoldSrc protocol
...
Implement counting playerbytes for more accurate net_graph, even if we're
skipping this delta frame.
2025-01-20 19:38:44 +03:00
Alibek Omarov
a1da10fe38
filesystem: set default values for quick/autosave aged count
2025-01-20 16:06:57 +03:00
Andrey Akhmichin
17a71ffc96
ci: upgrade freebsd tasks.
2025-01-19 04:36:07 +03:00
Andrey Akhmichin
4609fbc0c5
Documentation: supported-mod-list.md: update links.
2025-01-19 04:35:17 +03: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
870fad5606
public: tests: remove Q_colorstr tests
2025-01-18 10:36:11 +03:00
Alibek Omarov
3e93aa459d
engine: net_buffer: turn bit write and read masks into predefined arrays, so we don't have to call InitMasks
...
In future, net_buffer might get moved to libpublic.
Also, get rid of 32-th bit write mask, it's only get used when we're trying to
write zero bits value which is nonsense.
2025-01-18 09:54:11 +03:00
Alibek Omarov
626c5e44f6
engine: client: use existing engine functions for some client API functions
2025-01-18 09:44:21 +03:00
Alibek Omarov
c906aa0106
ref: gl: make DrawGLPoly and R_TextureAnimation private to brush rendering code
2025-01-18 08:39:31 +03:00
Alibek Omarov
0a41b70e44
ref: gl: store ripple texture in texture's fb_texturenum as it's only used for water and water don't have luma
2025-01-18 08:38:43 +03:00
Alibek Omarov
ea338adc46
ref: gl: make GL_FrustumSetPlanme private to the frustum implementation
2025-01-18 08:34:25 +03:00
Alibek Omarov
5fa777578b
ref: gl: fix detail texture leak, fix texture leak when texture have default texture set (in which case it still might have other textures set)
2025-01-18 08:33:20 +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
4b1b3aa13c
public: remove Q_colorstr, as it's completely useless and checking for color string is easy actually
2025-01-18 08:29:36 +03:00
Alibek Omarov
2d51d23d89
engine: client: don't send commands until ca_active on Xash protocol
2025-01-17 15:06:59 +03:00
Alibek Omarov
b5b6dad39c
engine: fix a typo in scroll lock (missing L)
2025-01-15 23:49:13 +03:00
Alibek Omarov
a5619e9960
engine: take keydefs header from Quake-2 source code (client/keys.h)
2025-01-15 23:47:55 +03:00
Alibek Omarov
a75666a3cd
engine: common: fix dedicated build by defining SV_GetMaxClients before CL_GetMaxClients stub (that redirects to it)
...
Also remove CL_Shutdown from dedicated stub lists.
2025-01-14 13:10:02 +03:00
Alibek Omarov
49426721d8
engine: use zero initializers instead of memset
2025-01-14 12:11:27 +03:00
Alibek Omarov
04125284a3
engine: dedicated: make some stubs inlined
2025-01-14 12:10:31 +03:00
Alibek Omarov
1d4f7b2f94
engine: server: slight refactoring, make SV_ModelHandle inlined, move PlayerIsFrozen to sv_client, fix packet loss data type
2025-01-14 12:09:23 +03:00
Alibek Omarov
38c82a3f76
engine: don't bother calculating crc32 for local clients for better performance (thanks @tyabus for the idea)
2025-01-14 11:55:28 +03:00
Alibek Omarov
785632a437
filesystem: minor refactoring in MD5_HashFile, use initializer instead of memset, limit buffer variable scope
2025-01-14 11:36:13 +03:00
Alibek Omarov
4be75af214
engine: client: always write buffer.dat so we will be able to request it from users. Append protocol number to it
2025-01-14 11:31:10 +03:00
Alibek Omarov
dcdca01e86
ref: gl: declare VBO globals static
2025-01-14 11:30:35 +03:00
Alibek Omarov
201d9c8f80
public: split VCS info to separate file for slightly better compilation speeds
2025-01-13 20:02:59 +03:00
Alibek Omarov
69341e36a3
public: expose commit and branch as global variables instead of functions
2025-01-13 20:02:59 +03:00
Alibek Omarov
3532a77643
public: move git commit and branch private to libpublic
2025-01-13 20:02:59 +03:00
Alibek Omarov
35dc072b26
filesystem: on Android, assume all paths are case-sensitive because doing Linux-specific ioctl check crashes FUSE driver and kills our app
2025-01-13 13:56:15 +03:00
Alibek Omarov
f92a3695b3
filesystem: fix fd leak in Platform_GetDirectoryCaseSensitivity
2025-01-13 13:54:42 +03:00
Alibek Omarov
a7b776f3b9
Revert "wscript: disable /showIncludes based msvcdeps for now, it causes issues with non-English locales"
...
Add option --enable-msvcdeps that we only enable on CI.
This reverts commit e58007aab3 .
2025-01-10 21:48:43 +03:00
Alibek Omarov
f2fb668c9e
android: now run exit() from Java side, as the next engine run is expected to be clean
2025-01-09 21:29:01 +03:00
Alibek Omarov
90e493fa3a
engine: common: add Host_ExitInMain function that will force engine return from Host_Main() function, essentially making engine gracefully exit on Android
...
In future, this might be used everywhere, so users would be able to add custom
cleanup in some advanced game_launch implementation, on any platform.
2025-01-09 20:31:26 +03:00
Alibek Omarov
692bcc4073
engine: client: cl_tent: rewrite fizz effect, fix incorrect positoning along the way
2025-01-09 19:23:40 +03:00
Alibek Omarov
823642b10d
readme: add link to ipa-reader.com for Xash word pronounciation [skip ci]
2025-01-09 17:13:56 +03:00
Alibek Omarov
07189ca2f5
engine: client: remove spammy message about not precached model on client side
...
Recently, mods (Brutal Half-Life v3 and MMod) started to call this function
every frame as a hacky way to detect presence of some model on the level. I
don't know why they do that, but users (who co-incidentally run engine with
-dev) has been complaining about console spam.
This is why we can't have things.
2025-01-09 17:10:54 +03:00
Alibek Omarov
0d55441830
engine: properly pass shutdown reason down to close log, helps to finally get rid of global finalmsg
2025-01-09 08:04:18 +03:00
Alibek Omarov
8b4b0479c8
ci: enable ffmpeg by default for Windows and Linux x86 targets
2024-12-13 03:04:32 +03:00
Alibek Omarov
c8bf7e5630
engine: avi: get rid of stubs file, temporarily put these stubs into avi_ffmpeg.c
2024-12-13 03:04:32 +03:00
Alibek Omarov
4987080e1e
engine: client: remove unused S_RawSamples wrapper function
2024-12-13 03:04:32 +03:00
Alibek Omarov
1d78e400ff
engine: sound: increase MAX_RAW_SAMPLES to 16384 to fit an audio track coming from the movies
2024-12-13 03:04:32 +03:00
Alibek Omarov
2d1a885954
common: render_api: use movie_state_s in AVI functions for easier type checking
2024-12-13 03:04:32 +03:00
Alibek Omarov
43ba2e747b
engine: avi: mention SDL3 and FTEQW developers which ffmpeg integrations in their projects helped me to understand the ffmpeg API
2024-12-13 03:04:32 +03:00
Alibek Omarov
eefb823ee2
engine: client: remove legacy movie audio track streaming functions
2024-12-13 03:04:32 +03:00
Alibek Omarov
a3c33e0fa9
engine: client: sound: make S_RawSampleStereo public to other parts of engine
2024-12-13 03:04:32 +03:00
Alibek Omarov
16fe6b1b1a
engine: client: avi: remove VFW-based player
2024-12-13 03:04:32 +03:00
Alibek Omarov
4275829bd5
engine: client: partially rework how AVI playback works in Xash. Add ffmpeg-based player.
...
This intentionally will not build without --enable-ffmpeg for now.
We add new functions to the RenderAPI called AVI_Think and AVI_SetParm. Game
developer is supposed to call AVI_Think each frame and set video playback
parameters through AVI_SetParm function.
What's tested:
* Intro cinematics.
* Looping videos.
* Playing back an hour long video.
* API extension (PrimeXT's avi branch at https://github.com/a1batross/PrimeXT ).
What's broken:
* There is no way to seek a video file, only rewind to the start.
2024-12-13 03:04:32 +03:00
Alibek Omarov
1884f0a3ce
engine: client: avi: add new macro XASH_AVI and corresponding backend select macros (AVI_NULL and AVI_FFMPEG)
2024-12-09 00:27:40 +03:00
LekKit
8fb8ee7e22
ref: soft: implement r_fullbright
2022-09-25 08:37:34 +00:00