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