Commit Graph

318 Commits

Author SHA1 Message Date
Alibek Omarov 8c7db8499f engine: add size argument to COM_FileBase calls 2023-04-26 05:20:45 +03:00
Alibek Omarov 8f207362a5 public: remove Q_sprintf, and patch all code that used it to use Q_snprintf instead 2023-04-26 05:20:45 +03:00
Alibek Omarov b16fa8eddc public: remove Q_strcat and Q_strcpy, and patch the code that uses it 2023-04-26 05:20:45 +03:00
Alibek Omarov 096ee34f67 public: remove Q_vsprintf, replace by proper Q_vsnprintf proper calls
Fixes weird off by one error caused by glibc updates? I didn't tracked
what causes it exactly but replacing it seems to work. Anyway, we should
remove all 99999 hacks in libpublic.
2023-04-23 18:19:28 +03:00
Alibek Omarov c24a1fafc5 engine: add missing HPAK_CheckSize/Integrity calls 2023-04-03 06:04:48 +03:00
Alibek Omarov d8355a651f engine: add missing Sequence_Init and Sequence_OnLevelLoad calls 2023-04-03 04:12:47 +03:00
Alibek Omarov 597027277c engine: server: remove some totally unused functions 2023-04-03 03:12:52 +03:00
Alibek Omarov 01e0542223 engine: server: move master announce logic to masterlist, keep unique heartbeat challenge and heartbeat timer for each master 2023-04-03 00:57:47 +03:00
Alibek Omarov 892e5c59eb engine: server: convert public_server cvar to static allocation 2023-04-02 22:48:47 +03:00
SNMetamorph eac8c116a8 engine: server: sv_init: compiling error fix & minor cleanup 2023-03-20 16:29:43 +03:00
SNMetamorph a03019f5e4 engine: server: sv_init: enabled handling sound resources specifically
This is for timely precaching on client side. Otherwise, files are being downloaded to client, but not precached immediatly after it, and therefore causing a late precaching of sound (obvious, this is bad)
2023-03-20 16:29:43 +03:00
Alibek Omarov a81fa84321 engine: server: replace some obvious va uses to temp buffer and Q_snprintf 2023-03-13 06:00:38 +03:00
Alibek Omarov 5ef97ae99e engine: convert Info_SetValueForKey with va to Info_SetValueForKeyf 2023-03-13 05:37:45 +03:00
Alibek Omarov d667845777 engine: convert Cbuf_AddText with va to Cbuf_AddTextf 2023-03-13 05:31:27 +03:00
Alibek Omarov 6b62f9c1b9 engine: convert Cvar_Get with va to Cvar_Getf 2023-03-13 05:19:32 +03:00
Alibek Omarov ba1cf25314 engine: convert MSG_WriteString with va to MSG_WriteStringf 2023-03-13 05:13:52 +03:00
fgsfds 97a7de3377 engine: server: remove duplicate registration for sv_autosave 2023-03-11 07:09:18 +03:00
Alibek Omarov 48ca8f9a70 engine: server: fix call to non existent function, in this tree it's called IsMasterAdr 2023-03-02 17:36:56 +03:00
Alibek Omarov 474833a3bf engine: server: send heartbeats to master server if sv_nat is active, despite public cvar value 2023-03-01 15:57:30 +03:00
Alibek Omarov 602f23fbdf engine: server: check if we got info request from master server, that acts as a bridge for NAT servers 2023-03-01 15:57:30 +03:00
Alibek Omarov 375c06400c engine: server: avoid unaligned access in pfnMessageEnd 2023-02-17 22:48:56 +03:00
Alibek Omarov 0984368a31 engine: server: GoldSrc compliant pfnServerExecute(), don't execute config.cfg for server! 2023-02-11 07:22:04 +03:00
Alibek Omarov fccf044976 engine: initialize network buffers used on player connect and after 2023-02-09 17:57:45 +03:00
fgsfds ee370ea007 Merge branch 'master' of https://github.com/FWGS/xash3d-fwgs into switch_newer 2023-02-07 17:14:47 +01:00
fgsfds 15ba932046 engine: server: add sv_autosave cvar
* a1ba: added FCVAR_PRIVILEGED just in case
2023-02-06 00:05:20 +03:00
fgsfds 6557ac7fb4 server: add sv_autosave cvar 2023-02-05 02:29:22 +01:00
fgsfds 25a1cb8ce7 Nintendo Switch support (again) 2023-02-05 02:09:32 +01:00
Alibek Omarov f7d4e5a2ea engine: server: don't show GAMESAVED message in autosaves, small refactoring 2023-01-31 07:16:08 +03:00
Alibek Omarov 6df25392b8 engine: server: redirect special sounds, detected by leading asterisk, into CHAN_STREAM
In GoldSrc this magic symbol means that we should not override channel this
sound is playing on. Originally handled on client but for both static and dynamic sounds
so let's redirect channel on server side instead.
2023-01-27 06:19:31 +03:00
Alibek Omarov de84df99f3 engine: fix functions returning void returning void value 2023-01-14 10:58:03 +03:00
Alibek Omarov 6ac3156a82 engine: fix discarded const pointer qualifier in PM_HullPointContents 2023-01-14 10:57:22 +03:00
Alibek Omarov 2479d28cd5 engine: remove useless pfnHullPointContents wrapper 2023-01-06 00:38:05 +03:00
Alibek Omarov 787d3bc5dd engine: share playermove ClearPhysEnts function 2023-01-06 00:28:24 +03:00
Alibek Omarov e305b81df0 engine: merge PM_TraceTexture into PM_TraceTexturePmove 2023-01-05 23:59:31 +03:00
Alibek Omarov 4cb109abe0 engine: make playermove funcs truly shared between client and server 2023-01-05 23:50:42 +03:00
Alibek Omarov df1c9a5029 engine: simplify blue shift swapped lump check, change TestBmodelLumps to avoid reading past mod buffer 2023-01-03 07:01:39 +03:00
Alibek Omarov aa3a0fa392 engine: server: increase infostring size in SV_Info allowing longer hostnames but try to cut off if it's even longer than that 2023-01-03 04:01:53 +03:00
Andrey Akhmichin 12bb0ca44b engine: server: Fix broken description for saves. 2022-12-25 04:26:00 +03:00
Andrey Akhmichin 9450c08eec engine: server: simplify strings operations. 2022-12-21 03:26:11 +03:00
Alibek Omarov cd813bbfbe engine: server: do not apply sound precache check for sentences, as they may start with 0 index 2022-12-13 11:12:08 +03:00
Alibek Omarov a3ef6c955c engine: don't double register rcon_password cvar 2022-12-12 08:13:24 +03:00
Alibek Omarov 60e7a7aa23 engine: server: set correct flags for rcon_ cvars on server 2022-12-12 08:05:55 +03:00
Alibek Omarov e1431e1040 engine: server: add rcon_enable cvar to control whether server should accept remote commands 2022-12-12 08:02:56 +03:00
Alibek Omarov e48133bf4b engine: server: fix sv_log output for enttools usage 2022-12-08 05:40:36 +03:00
Alibek Omarov 7469d6a248 engine: server: implement server-to-master challenge extension, to secure server from IP spoofing 2022-12-07 23:39:57 +03:00
Alibek Omarov 859f36afce engine: server: remove Master_Add call in ActivateServer, server will announce itself through heartbeat 2022-12-07 23:14:34 +03:00
Alibek Omarov 1d8acc16f1 engine: server: give master server a small time window to reply (by default 4000 ms, should be enough even when master server is overloaded) 2022-12-06 20:28:44 +03:00
Andrey Akhmichin 2454594a18 engine: server: simplify strings operations. 2022-12-04 22:03:48 +03:00
Alibek Omarov d9a245dcb5 engine: reset cheat cvars on remote games 2022-12-01 02:44:01 +03:00
Alibek Omarov b6bd4bc6f8 engine: server: precisely set client connected time after they were spawned 2022-11-25 05:45:20 +03:00
Alibek Omarov 3da736a1eb engine: server: try to solve issue when server dll has no voice mgr 2022-11-17 21:06:15 +03:00
Alibek Omarov 64e97124c3 Merge master to ipv6 2022-11-17 19:34:46 +03:00
Alibek Omarov dd881d3da9 engine: server: remove duplicate function 2022-11-16 23:37:26 +03:00
Alibek Omarov 7b74015c4d engine: server: check if player can hear other before sending voicedata 2022-11-16 20:59:18 +03:00
SNMetamorph 32372654c2 engine: server: sv_client: fixed working ent_create command on XashXT/PrimeXT 2022-11-11 16:12:56 +03:00
Alibek Omarov 17d0b19f9e engine: use generic S_USAGE macro everywhere 2022-11-10 13:18:20 +03:00
SNMetamorph 5d73c6cb84 engine: server: backported enttools from old engine 2022-11-10 11:56:10 +03:00
Alibek Omarov 5678d9a253 engine: server: support MAP_ANON synonym for MAP_ANONYMOUS, disable allocating string pool near server library for OSX 2022-09-12 08:42:50 +03:00
Alibek Omarov 24763f9b07 engine: server: request client to use Opus Custom codec 2022-08-31 06:54:58 +03:00
Alibek Omarov f633b3dbf6 engine: increase MAX_INIT_MSG to 192 kilobytes limit
* also avoid magic number in sv_client.c
2022-08-27 22:13:21 +03:00
Alibek Omarov 905bbf1515 engine: server: read full voicedata message even if voice is disabled server wide 2022-08-19 22:22:40 +03:00
Alibek Omarov c5dbbea9ef engine: server: drop bots fake ping to zero 2022-08-19 04:33:41 +03:00
SNMetamorph 97879430e9 engine: small code fixes related to voice chat 2022-08-18 04:46:11 +03:00
SNMetamorph 8d0209b122 engine: server: added support for variable voice chat quality 2022-08-18 04:46:11 +03:00
Velaron 2b9e050f57 engine: voice support 2022-08-18 04:46:11 +03:00
Alibek Omarov 0d2552c3f6 engine: server: prevent DoS through master server query 2022-08-17 21:23:08 +03:00
Alibek Omarov b3c9637422 engine: server: send server info to all master servers 2022-08-17 21:18:16 +03:00
Alibek Omarov d202a6c572 engine: server: emulate pfnPEntityOfEntIndex bug only with explicitly enabled GoldSrc bug compatibility 2022-08-15 06:00:00 +03:00
Alibek Omarov 6ef76fe665 engine: server: fix bots are counted as real players 2022-08-13 22:46:20 +03:00
SNMetamorph 5b97c2135a engine: server: fixed "wrong version" spamming in NAT bypass mode (fix #953) 2022-08-10 04:11:17 +03:00
SNMetamorph a5ba43ea39 engine: fixed vulnerability in NAT bypass mechanism 2022-08-02 18:01:28 +03:00
Alibek Omarov c326853617 engine: server: restore original PEntityOfEntIndex function, but still bug-compatible with GoldSrc 2022-07-21 01:52:10 +03:00
Alibek Omarov a2d11f670a engine, public: fix float precision issues in mathlib and monster navigation code 2022-07-13 19:26:38 +03:00
SNMetamorph d8724f0be4 engine: common: net_ws: disabled read-only flag for ip cvar 2022-07-10 18:28:06 +03:00
SNMetamorph fce3959d15 engine: server: added "c" command to SV_ConnectionlessPacket 2022-07-10 18:28:06 +03:00
SNMetamorph cf84ad12f1 engine: server: backported NAT bypass feature 2022-07-10 18:28:06 +03:00
SNMetamorph 8f91830997 engine: added changeport parameter for NET_Config 2022-07-10 18:28:06 +03:00
Alibek Omarov f0a856d9c8 engine: server: fix writing message size for engine messages, as it's expected to be 2-bytes 2022-06-26 15:05:06 +03:00
Alibek Omarov 85895c5311 engine: pmove: initialize trace argument in PM_TraceModel 2022-06-26 04:39:52 +03:00
Alibek Omarov c076f4ff8e engine: common: add generic trace_t initialize function 2022-06-26 04:39:15 +03:00
Alibek Omarov 5524aaae1e engine: server: fix server dll leak when no map was loaded 2022-06-12 03:07:09 +03:00
Alibek Omarov 2b8b3e1993 engine: server: new IP filter, rewritten with IPv6 in mind 2022-06-09 03:10:02 +03:00
Alibek Omarov 6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
Alibek Omarov 8445567ab4 engine: server: remove unused arguments passed to Con_Printf 2022-05-29 02:27:39 +03:00
Alibek Omarov db48d0ded7 engine: server: fix useless double assignment 2022-05-29 01:59:15 +03:00
Alibek Omarov 0d195ee6fe engine: server: fix output of maps command 2022-05-29 01:29:51 +03:00
Alibek Omarov 5e4996b119 engine: server: fix bot count 2022-05-28 22:16:08 +03:00
Alibek Omarov 33d79ddb24 engine: server: fix possible array overruns 2022-05-25 17:57:47 +03:00
Alibek Omarov 51526948c0 engine: server: make PEntityOfEntIndex bug-compatible with GoldSrc
Add new undocumented GoldSrc eiface function, PEntityOfEntIndexAllEntities,
a bug-free version of PEntityOfEntIndex

Ref: https://github.com/ValveSoftware/halflife/issues/2272
2022-05-21 03:03:59 +03:00
SNMetamorph 22815d2784 engine: server: sv_main: added status line for dedicated server console 2022-04-06 15:17:15 +03:00
SNMetamorph d7431783d4 engine: sv_save: added entity_state_t->startpos to save fields 2022-04-06 14:28:13 +03:00
Alibek Omarov c8410f7e46 engine: server: don't issue an assert on invalid client names 2022-04-02 13:36:53 +03:00
Alibek Omarov 12da44a3d7 engine: server: send protocol version to distinguish old engine and new 2022-03-08 07:00:36 +03:00
Alibek Omarov 36d757c74a engine: server: fix message trace output 2022-01-27 03:48:54 +03:00
Alibek Omarov 2fa964e939 engine: server: restore sv_trace_messages from old engine 2022-01-27 03:32:52 +03:00
Alibek Omarov 4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
Alibek Omarov ca3544d559 engine: server: don't assert for NULL player in FatPAS/PVS if we don't need it 2021-12-18 03:32:40 +03:00
Alibek Omarov 94dc74a37f engine: restrict potentially harmful engine commands 2021-11-23 05:23:38 +03:00
Alibek Omarov d9fd6aa05c engine: server: restore log functionality from old engine. Thanks to @ValeTheVioletMote for initial patch. 2021-10-27 19:40:05 +03:00
Alibek Omarov a8c877c841 engine: server: fix ParseFile calls 2021-10-08 17:31:32 +03:00
SNMetamorph ec95948b69 engine: server: implemented instant game library loading 2021-10-03 04:38:05 +03:00
Alibek Omarov 7b8ec0ad4b engine: server: fix another const qualifier lose 2021-07-20 17:09:16 +03:00
Alibek Omarov 0efc5e82ec engine: fix some const qualifier lose and pointer-to-int casts 2021-07-20 16:03:06 +03:00
Alibek Omarov a547526e86 engine: fix some signed char cases 2021-07-20 15:18:55 +03:00
Alibek Omarov 37c5dfa49f engine: generalize maps command and map command autocompletion 2021-06-18 00:05:34 +03:00
tyabus 0260a6c234 engine: server: backport maps command implementation from old engine 2021-06-18 00:05:34 +03:00
lilmayofuksu 2ad209b973
engine: server: updated TSource query to be more compatible with GoldSrc standard (#497)
Mark TSource queries as connectionless.
Only send Windows as the os if the engine was built on it.
2021-06-16 13:09:31 +03:00
Barış 18d8ef287d
engine: fix client can use kill command while not connected (#492) 2021-06-12 18:19:23 +03:00
Alibek Omarov 9313f7e80e engine: replace pool pointer by pool handle 2021-06-07 02:33:15 +03:00
Alibek Omarov 49a20a9ac5 engine: server: fix memleak after previous commit 2021-06-02 22:06:17 +03:00
Alibek Omarov 8966172ce0 engine: server: avoid crash if map entity doesn't have classname (tfc map flagwar for example) 2021-06-01 23:45:55 +03:00
Alibek Omarov ddd48c420b engine: decrease instanced baseline index by minus one to avoid zero offset which interpreted as no baseline at all 2021-06-01 21:52:33 +03:00
Alibek Omarov f31e9ae19e engine: server: fix bounds check in SV_GetFragmentSize 2021-06-01 18:35:38 +03:00
Alibek Omarov 4543008012 engine: server: declare sv_client_t::flags as unsigned 2021-06-01 17:58:33 +03:00
SNMetamorph 75e80bc2ff engine: server: fixed cvars sv_max/minupdaterate, sv_max/minrate 2021-05-30 09:40:03 +03:00
Alibek Omarov f5e400de69 server: fix wrong xashid key on server, it's uuid now 2021-03-28 01:57:40 +03:00
Alibek Omarov c62db950f1 server: implement rcon redirection, add redirect command from old engine 2021-03-27 23:46:57 +03:00
Alibek Omarov 9c9953bb60 server: fix some cvars being registered incorrectly or not registered at all 2021-03-27 23:23:37 +03:00
Alibek Omarov e5a40fd745 server: fix password presence wasn't advertised to clients on info message #359 2021-03-15 03:40:46 +03:00
Alibek Omarov ed0ca2b2d2 engine: fix predicting oldbuttons 2021-03-12 00:10:51 +03:00
Alibek Omarov 42f47f51b5 server: implement GetFileSize and GetApproxWavePlayLen from HLSDK 2.4 2021-03-07 02:46:38 +03:00
Alibek Omarov aea9e8efa2 server: sv_validate_changelevel is deprecated now and disabled by default
If anyone wants this feature back, use +sv_validate_changelevel 1 in command line.
2021-03-07 02:20:30 +03:00
Alibek Omarov 585ae28dd2 server: fix some int <> unsigned int conversions 2021-03-07 02:00:46 +03:00
Alibek Omarov fa555c1f09 server: add hardcoded list of chapters for HL, BS and OF, same as GoldSrc
Fix incomplete comment in save file when server DLL provides SV_SaveGameComment.
Fix possible buffer overflow when reading comment from save file.
2021-03-01 19:53:17 +03:00
Ivan Avdeev 012d1fa8bd fix USE_MMAP usage
should fix CI failures
2021-02-26 16:04:45 +03:00
Ivan Avdeev 1b426b67e7 partially fix amd64 build on windows
Quality of this commit is questionable. I have no idea whether what I did
here makes sense or not.
But it compiles and runs (provided with hlsdk-xash3d amd64 build, which
is another story).

This omits necessary waf changes that are necessary to make a valid
64-bit build. Apparently it's not enough to just pass `-8` on Windows,
you also need to hack wscript to add `x64` target to MSVC. I'll do that
later when I figure out how.

This change is a precursor for RTX Vulkan effort --
VK_KHR_ray_tracing_pipeline and friends are only available on 64-bit
nvidia drivers (no idea about AMD, pls send GPUs onegai).
2021-02-26 16:04:45 +03:00
Gleb Mazovetskiy 5e0a0765ce Trim all trailing whitespace
The `.editorconfig` file in this repo is configured to trim all trailing
whitespace regardless of whether the line is modified.

Trims all trailing whitespace in the repository to make the codebase easier
to work with in editors that respect `.editorconfig`.

`git blame` becomes less useful on these lines but it already isn't very useful.

Commands:

```
find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
```
2021-01-04 20:55:10 +03:00
Andrey Akhmichin 1332381e2d engine: server: simplified strings operations. 2020-12-29 20:20:25 +03:00
Alibek Omarov ce1fc386a2 engine: server: reformat SV_Init 2020-05-02 19:14:23 +03:00
Alibek Omarov 77bebe3000 engine: server: remove FCVAR_SERVER from gamedir cvar, set FCVAR_READ_ONLY instead. Seems it was used when Xash had hot change game, i.e. without restarting engine. 2020-05-02 19:08:43 +03:00
Andrey Akhmichin 87340ceca8 engine: server: fix godmode behavior. 2020-03-12 05:48:51 +06:00
Andrey Akhmichin e3b547c8a9 public: rename mathlib to xash3d_mathlib. 2020-02-12 14:32:26 +05:00
mittorn 303a88730c server: fix crash when sorting entities on watcom libc 2020-02-08 23:15:40 +07:00
mittorn 3a416636f1 engine: mark GAME_EXPORT's 2020-01-19 08:15:54 +07:00
mittorn bbd033c254 lib: restore dll loader support 2020-01-19 07:38:37 +07:00
Alibek Omarov 0fe18ae6dc engine: fix -Wmaybe-uninitialized 2019-12-24 02:47:51 +03:00
Alibek Omarov e11a08064d engine: fix implicit-fallthrough, uninitialized, enum-conversation compiler diagnostics 2019-12-23 06:48:17 +03:00
Alibek Omarov 4a56dfcd00 engine: fix extra zeros in %0 2019-12-23 06:29:20 +03:00
Alibek Omarov 9421457b3a engine: big refactoring commit, instead of using platform-specific platform-specific macros, use appropriate macros set by public/build.h 2019-11-24 03:52:08 +03:00
Alibek Omarov 428e8ef427 engine: server: simplify game saving code, hide GL_FreeImage under XASH_DEDICATED macro 2019-11-08 01:09:55 +03:00
mittorn 37cba10c14 lowmemory: fix sentences 2019-10-28 12:07:15 +07:00
mittorn 114a256675 Implement XASH_LOW_MEMORY, memory-reduced configuration 2019-10-26 07:06:26 +07:00
Alibek Omarov 78baf568ae engine: more double promotion fixes 2019-10-18 16:46:54 +03:00
Alibek Omarov 531c6cc375 engine: server: explicitly cast literals to floats 2019-10-18 16:46:54 +03:00
Wei Mingzhi 88772a1c34 engine: GetGameDir should return gamedir only. Add proper stub functions for some engine APIs. 2019-10-07 16:08:10 +03:00
Alibek Omarov d382f6886d engine: fix build 2019-10-05 04:02:25 +03:00
Jonathan Poncelet 214f53b8a7 SV_DropClient: Prevented transmission to fake clients 2019-07-30 15:46:10 +03:00
Alibek Omarov 2f8fec6b70 Remove trailing spaces, convert mistakenly put spaces to tabs. The most useful commit ever. 2019-07-19 20:23:08 +03:00
Alibek Omarov 4beba75159 engine: fix various compiler warnings 2019-07-13 23:25:03 +03:00
Alibek Omarov a0cbac4fc7 engine: server: use generic SV_RejectConnection instead of directly sending errormsg 2019-07-13 20:59:43 +03:00