Commit Graph

606 Commits

Author SHA1 Message Date
Alibek Omarov
023f6712f9 engine: client: always toggle mouse on when in console, menu or typing chat message 2022-11-16 21:14:48 +03:00
Alibek Omarov
42740149ac engine: client: fix mouse cursor being hidden in background map 2022-11-16 21:02:41 +03:00
Alibek Omarov
c2a24fbbce engine: client: put internal vgui shutdown AFTER HUD_Shutdown, to simulate default, external behavior 2022-11-14 20:12:10 +03:00
SNMetamorph
ae94a6aeba engine: client: fixed client VGUI API shutdown 2022-11-14 20:09:20 +03:00
Alibek Omarov
e9da43666c engine: client: fix loading internal vgui (thx @SNMetamorph) 2022-11-14 20:08:01 +03:00
Alibek Omarov
d27dd68072 engine: client: vgui: rework loading VGUI and probing client for internal vgui support API 2022-11-12 16:35:18 +03:00
Alibek Omarov
17d0b19f9e engine: use generic S_USAGE macro everywhere 2022-11-10 13:18:20 +03:00
Alibek Omarov
d13f7f06e4 engine: fix framerate being capped to 60FPS with vsync, remove vid_displayfrequency cvar. Never sleep with vsync or timedemo, for accuracy 2022-11-10 13:05:03 +03:00
Alibek Omarov
616cbdb1eb engine: client: change cl_cmdrate and cl_smoothtime default values to match GoldSrc 2022-11-10 12:11:16 +03:00
SNMetamorph
afa1d429fe engine: client: backported enttool from old engine 2022-11-10 11:56:10 +03:00
SNMetamorph
8cbe0e5b30 engine: client: vgui: added VGui_UpdateInternalCursorState function 2022-11-08 06:39:09 +06:00
SNMetamorph
44a43c2c09 engine: client: cl_parse: minor code fix in CL_ParseLegacyServerData 2022-10-27 00:52:16 +06:00
Alibek Omarov
305b2579eb engine: client: voice: fix crackling voice file input on low FPS 2022-10-19 01:08:39 +03:00
Alibek Omarov
1a09d297ee engine: minimize SetCursorType calls count 2022-10-13 14:49:48 +03:00
Alibek Omarov
2d2523df4a engine: client: touch: generalise touch emulation code
* fix doubleclicks and wheels in VGUI
2022-10-12 05:18:19 +03:00
Alibek Omarov
4a009c1c2c engine: client: touch: move copypasted code from export & writeconfig into separate function 2022-09-27 14:00:18 +03:00
Alibek Omarov
69b0954007 engine: change RenderAPI's RenderGetParm return type to intptr_t to insure compatibility with 64-bit 2022-09-20 18:06:19 +03:00
Alibek Omarov
0c50e43663 engine: client: enable sound for TE_TAREXPLOSION, use same sound parameters as GoldSrc 2022-09-08 04:16:29 +03:00
Alibek Omarov
7a2ac4a9c0 engine: client: use generic particles code for blob particles (from tempentity code) only if Quake compatibility was enabled 2022-09-08 04:16:29 +03:00
Andrey Akhmichin
e6bb9d980d engine: client: in_touch.c: make touch buttons extention-independent. 2022-09-05 11:25:52 +03:00
Alibek Omarov
4be4870982 engine: client: remove voice_codecinfo command, as Opus Custom don't give any encoder info, possibly an Opus bug 2022-08-31 19:50:31 +03:00
Alibek Omarov
19c2061831 wscript: define CUSTOM_MODES and try to link with export that only exists when CUSTOM_MODES was defined in build-time 2022-08-31 19:48:42 +03:00
Alibek Omarov
82ab06efdd engine: client: voice: new version, move to Opus Custom codec
* Despite Opus Custom have strict requirements, it's more barebones, allowing us to use maximum
frame size and custom sample rate, without resampling
* Encode each frame size to network buffer, allowing smooth voice chat even in 10 FPS
* Fix possible buffer overruns, underruns and races with platform side
* Revise all usages of offset variables, samples vs bytes
2022-08-31 06:44:45 +03:00
Alibek Omarov
4b05cf4399 engine: client: better fix for notify debug messages, rely on host.allow_console variable to don't allow uninitialized console usage 2022-08-31 02:46:33 +03:00
Alibek Omarov
28001ea150 engine: client: enable notify messages in non-developer mode 2022-08-28 00:48:12 +03:00
Alibek Omarov
3e9f2df2bf engine: client: fix incorrect mark for ConsolePrint notifications 2022-08-25 21:21:22 +03:00
Alibek Omarov
7341a6b020 engine: client: add old GoldSrc feature where ConsolePrint could print to notification zone, similar to Con_NPrintf( 0, ... ) 2022-08-25 18:22:43 +03:00
Alibek Omarov
3c682507e7 engine: client: voice: notify client.dll about localplayer twice, through special loopback index and normal index 2022-08-22 11:44:13 +03:00
SNMetamorph
e9ae6d08b5 engine: client: enable interpolation of local player angles 2022-08-22 10:24:15 +03:00
SNMetamorph
9f9141823a engine: added audio backend print to s_info command 2022-08-20 15:36:02 +03:00
Alibek Omarov
8630ef2c67 engine: client: voice: allow using inputfromfile when microphone isn't connected 2022-08-20 06:13:33 +03:00
Alibek Omarov
0b50678912 engine: client: voice: refactor, fix issues when missing mic disables voice chat, fix few possible crashes and memory leaks 2022-08-20 03:56:54 +03:00
SNMetamorph
8e48a98d48 engine: client: voice: codec quality levels changed 2022-08-19 20:47:01 +03:00
SNMetamorph
76dbefb9ec engine: client: voice: fixed initialization checks 2022-08-19 20:47:01 +03:00
Alibek Omarov
327dcc0293 engine: client: voice: simplify code, simplify including voice.h, do not depend on opus headers globally
Autofix few code style mistakes
2022-08-19 05:52:53 +03:00
SNMetamorph
74707551ae engine: client: voice: fixed hanging voice status 2022-08-19 04:14:25 +03:00
SNMetamorph
2f5f5ef0a6 engine: client: voice: fixed sound playback from file 2022-08-19 04:14:25 +03:00
SNMetamorph
f7dc9d8e72 engine: client: voice: frame size increased to 40 msec 2022-08-19 04:14:25 +03:00
SNMetamorph
a688bed79f engine: client: cl_parse: moved buffer to stack in CL_ParseVoiceData 2022-08-18 04:46:11 +03:00
SNMetamorph
b0ff51d5a0 engine: client: voice: changed bitrate units to kbps in voice_codecinfo 2022-08-18 04:46:11 +03:00
SNMetamorph
0a6885e02d engine: client: voice chat cvars set as privileged 2022-08-18 04:46:11 +03:00
SNMetamorph
aa5a509316 engine: client: voice: added GPL notice 2022-08-18 04:46:11 +03:00
SNMetamorph
97879430e9 engine: small code fixes related to voice chat 2022-08-18 04:46:11 +03:00
SNMetamorph
ae97eae42f engine: client: voice: implemented automatic gain control 2022-08-18 04:46:11 +03:00
SNMetamorph
c5d7e3c783 engine: client: fixed players voice state changing 2022-08-18 04:46:11 +03:00
SNMetamorph
9bcd36cc24 engine: voice code minor refactoring 2022-08-18 04:46:11 +03:00
SNMetamorph
c6881a425f engine: client: added support for variable voice chat quality 2022-08-18 04:46:11 +03:00
SNMetamorph
279894cfd4 engine: client: added console command voice_codecinfo 2022-08-18 04:46:11 +03:00
SNMetamorph
169ee14724 engine: client: disabled voice on legacy protocol servers 2022-08-18 04:46:11 +03:00
SNMetamorph
a254a342b1 engine: voice: minor code fixes 2022-08-18 04:46:11 +03:00
Alibek Omarov
69a9211fc9 engine: include voice.h globally 2022-08-18 04:46:11 +03:00
Velaron
9242a0a510 engine: update voice 2022-08-18 04:46:11 +03:00
Velaron
2b9e050f57 engine: voice support 2022-08-18 04:46:11 +03:00
Alibek Omarov
9d4fe707bb engine: client: carefully check legacy server response, check info string before passing it to UI 2022-08-17 21:52:54 +03:00
Alibek Omarov
01a3321d63 engine: client: only accept server list from master servers (thanks @tyabus for idea) 2022-08-17 21:17:51 +03:00
Alibek Omarov
b8dc7494eb engine: client: move timescale pitch apply to channel mixing 2022-08-16 00:03:44 +03:00
Alibek Omarov
314672d82c engine: client: fix invalid playerinfo being accessed by renderer 2022-08-13 01:29:45 +03:00
Alibek Omarov
1d558b33d6 engine: client: don't let set unsupported con_charset 2022-08-13 00:58:45 +03:00
Alibek Omarov
911385d019 engine: client: fix memory leak on player disconnect 2022-08-13 00:47:04 +03:00
Alibek Omarov
3d5aa7c20c engine: remove mistakingly placed NORETURN attributes 2022-08-05 18:05:40 +03:00
Alibek Omarov
5e4fc64430 filesystem: introduce new module, based on engine filesystem.
The goal is to share filesystem code between engine and
utilities and provide C++ VFileSystem interface in the future
2022-07-28 18:56:02 +03:00
Alibek Omarov
5350d88f57 public: crtlib: add quotation mark support for ParseFile, required for filesystem_stdio 2022-07-26 03:17:11 +03:00
Valery Klachkov
3ad60a0fa1
engine: fix uninitialized variable in demo parsing code, fix incorrect size counter in memory allocator 2022-07-16 16:59:41 +03:00
a1batross
ab43486ee0
engine: client: don't segfault when client wasn't loaded 2022-07-11 02:43:26 +03:00
SNMetamorph
ffe7114a47 engine: client: 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
786c408f6e engine: client: fix sprites array size, it wasn't meant to be increased after previous commit 2022-07-01 14:12:32 +03:00
Alibek Omarov
6e031b518a engine: client: increase limit of client sprites, lower part of it can be used only for HUD sprites
higher part used for client sprites
map overview sprites are loaded as normal models

thus we have equal internal engine and hud sprite indices and it fixes compatibility issues
for mods like Half-Rats Parasomnia
2022-07-01 03:41:55 +03:00
Alibek Omarov
64eb0a694d engine: client: also drop loading plaque on toggleconsole, in case if it's stuck 2022-06-29 18:58:07 +03:00
Alibek Omarov
d46d62bf03 engine: client: drop loading plaque on second signon, remove servercount check 2022-06-29 18:57:10 +03:00
Alibek Omarov
af8febabd1 engine: client: make temp entity buffer larger in case of long textmessages 2022-06-26 15:10:21 +03:00
Alibek Omarov
85895c5311 engine: pmove: initialize trace argument in PM_TraceModel 2022-06-26 04:39:52 +03:00
SNMetamorph
afaabe26a6 engine: client: cl_netgraph: fixed netgraph position calculation in center mode 2022-06-16 00:44:23 +04:00
SNMetamorph
a68afcc672 engine: client: cl_netgraph: added kilobytes per seconds unit to in/out fields 2022-06-16 00:42:57 +04:00
SNMetamorph
d4bb5423ae engine: client: cl_netgraph: set rendermode to transparent instead additive 2022-06-16 00:41:11 +04:00
SNMetamorph
ce8e5880e2 engine: client: cl_netgraph: added clamp for bars height 2022-06-16 00:39:48 +04:00
SNMetamorph
0cef18af86 engine: client: cl_netgraph: fixed uninitialized alpha in netcolors 2022-06-16 00:37:38 +04:00
Alibek Omarov
fa09854671 engine: client: deprecate and remove ChangeInstance menu call 2022-06-15 18:22:57 +03:00
SNMetamorph
fef0993f54 engine: client: cl_game: fixed hudGetModelByIndex function in client API (fix #518) 2022-06-15 13:53:53 +03:00
Alibek Omarov
40298cefb6 engine: client: don't save configs if shutdown was issued before client was initialized. Remove dead ucmd 2022-06-14 03:30:14 +03:00
Alibek Omarov
6c7d57e1eb engine: client: move vgui deinitialization out of CL_UnloadProgs. Delete cls.initialized check in CL_Shutdown, that used to shutdown various client-side subsystems that usually have needed checks by themselves 2022-06-12 03:06:03 +03:00
Alibek Omarov
eeb170af22 engine: client: set failed status for vgui_support if we wasn't able to load one. Unload library in case of error 2022-06-09 13:41:37 +03:00
Alibek Omarov
59fba30a52 engine: IPv6 support
* v6 equivalent cvars
* hostname resolving for v6
* fix for nonblocking hostname resolve (inverted check)
* enabled by default, probably should be disabled for dedicated servers
2022-06-09 03:10:02 +03:00
Alibek Omarov
b82d0bad7a engine: client: vgui: unload client DLLL if no vgui_support export was found 2022-05-30 22:41:28 +03:00
Alibek Omarov
6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
Alibek Omarov
11d4cb0f1e engine: client: securedstub: cosmetic changes 2022-05-29 02:27:02 +03:00
Alibek Omarov
52d1383f14 engine: client: fix various useless checks, unused variables & defines, double assignments and mistypings 2022-05-25 03:50:06 +03:00
Alibek Omarov
ac40badaa5 engine: client: fix array overruns 2022-05-25 03:36:33 +03:00
SNMetamorph
641f0632ef engine: client: fixed compilation errors on Android 2022-05-02 03:29:24 +03:00
SNMetamorph
87ceb0f9cb engine: client: fixed checking client library for vgui_support interface export 2022-05-02 03:29:24 +03:00
SNMetamorph
cfcd58dd78 engine: client: extended VGUI API interface 2022-05-02 03:29:24 +03:00
SNMetamorph
b175d6d95f engine: client: fixed forced text input turn off in Key_EnableTextInput 2022-05-02 03:29:24 +03:00
SNMetamorph
9c85d114e7 engine: client: fixed TriWorldToScreen behavior to match GoldSrc 2022-04-13 09:12:12 +03:00
SNMetamorph
09b7f22cee engine: cl_frame: fixed segfault in CL_UpdatePositions 2022-04-10 16:31:02 +03:00
SNMetamorph
9515cccb94 engine: client: cl_frame: fixed position history animtime for non-brush entities 2022-04-07 21:56:37 +03:00
Alibek Omarov
df616b950d engine: add NET_AdrToString to menu extended API, upgrade mainui submodule 2022-03-08 07:00:36 +03:00
Alibek Omarov
37cf4da136 engine: client: switch to protocol info key in detecting old engine servers 2022-03-08 07:00:36 +03:00
Alibek Omarov
668d528e3b engine: client: delete unused function 2022-03-08 07:00:36 +03:00
Alibek Omarov
85f99c723a engine: add sys_timescale implementation 2022-03-03 05:38:36 +03:00
Alibek Omarov
e07417aead engine: client: fix sentence word splitted by contents inside parentheses 2022-02-28 04:29:32 +03:00
Alibek Omarov
13b36e66b3 engine: client: workaround buggy position history times going backwards in interpolation code 2022-02-25 02:12:44 +03:00
Alibek Omarov
7821f425e7 engine: client: position history indexes can't be negative, use unsigned with them 2022-02-24 05:45:41 +03:00
Alibek Omarov
f0783ddee1 engine: client: fix comparing floats in interpolation code 2022-02-24 04:51:04 +03:00
Alibek Omarov
d4d39c66fb engine: client: fix double call to CL_ParametricMove 2022-02-24 02:49:10 +03:00
Alibek Omarov
a2d8a47376 engine: client: fix misplaced arguments in memcpy 2022-02-24 02:47:54 +03:00
Alibek Omarov
3f7773f83b engine: client: rewrite VOX subsystem, fix spaces being taken into sentences, add tests for parser, remove dead code 2022-02-22 09:40:15 +03:00
Alibek Omarov
203afda053 engine: add render_picbutton_text flag to use mainui_cpp font renderer for rendering WON buttons 2022-02-10 02:53:35 +03:00
Bien Pham
988183a96a engine: implement support for secured client dlls 2022-02-01 05:56:54 +03:00
Bien Pham
3a55b9cd67 engine: make pfnDrawString & pfnDrawStringReverse return width 2022-01-29 00:36:43 +03:00
Alibek Omarov
1bf08cc2c3 engine: touch: fix button deletion 2022-01-27 17:10:50 +03:00
Alibek Omarov
0fa1b4f944 engine: client: refactor tempentity parsing, make multipliers close to GoldSrc 2022-01-27 03:32:52 +03:00
Alibek Omarov
56103a90eb engine: client: limit token size in client dll parsefile to 1024 (GoldSrc value) 2022-01-27 03:32:52 +03:00
Alibek Omarov
0027678a56 engine: client: print which tempentity type was overflowed 2022-01-27 03:32:52 +03:00
Alibek Omarov
df4f21680c engine: client: apply local client effects only if it wasn't rejected by clientdll 2022-01-14 16:18:09 +03:00
Alibek Omarov
2c1b862654 engine: client: ignore EF_BRIGHTFIELD for local client
It must be OK, because GoldSrc don't call similar function for local client
instead adds only flashlight and muzzleflash effects.

By adding this check, behavior must be close enough
2022-01-14 16:16:13 +03:00
Alibek Omarov
22e770e4d4 engine: client: disable viewsize without requested Quake compatibility 2022-01-14 01:18:22 +03:00
Alibek Omarov
aa5594d11f engine: client: don't let servers clear console 2022-01-14 00:03:05 +03:00
Alibek Omarov
c3513b1615 engine: input: clean m_enginemouse leftovers, always enable SDL relative mouse mode for our input interface 2022-01-13 16:18:23 +03:00
Alibek Omarov
abbd0f92a4 engine: input: fix incorrect client notifying about mouse button states 2022-01-13 15:52:59 +03:00
Alibek Omarov
a2f741fe8a engine: platform: sdl: try to fix 1.2 build 2022-01-04 08:39:11 +03:00
Alibek Omarov
d0a39ef492 engine: client: rework mouse input again, do what GoldSrc does, minimize SDL mouse calls 2022-01-04 08:39:11 +03:00
Alibek Omarov
f63d2d747f vgui: remove unneeded SDL calls, remove unused VGUI API function, fix mouse cursor visibility 2022-01-04 08:39:11 +03:00
Alibek Omarov
7e687b45bb engine: client always uses SDL (virtually) on non-Win32 platforms 2022-01-04 08:39:11 +03:00
Alibek Omarov
284eeea3c3 engine: client: rework mouse input, use IN_MouseEvent for clientdll, don't emit mouse events when mouse is visible or touch emulate is used 2022-01-04 08:39:11 +03:00
Alibek Omarov
4ae608913b console: fix Home and End buttons or equivalent hotkeys to always set start or end of input buffer 2022-01-04 03:01:59 +03:00
Alibek Omarov
3351ecd754 console: ignore whitespace commands on history, ignore backslash 2022-01-04 02:31:07 +03:00
Alibek Omarov
46fd27eb14 console: remove prepending backslashes
This is a leftover from Quake, where the console and chat were
in fact same entity. Because Xash splits it, there is no need
in prepending backslashes to separate commands from chat messages
2022-01-04 02:14:34 +03:00
Alibek Omarov
947b94d29f engine: client: delete unused test data :) 2021-12-31 04:10:06 +03:00
Alibek Omarov
f007374866 engine: client: rewrite console history
Fix duplicate and empty lines saved into history
Fix backup copied too early
Add tests
2021-12-31 03:49:11 +03:00
Alibek Omarov
4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
Alibek Omarov
2df27e14a8 engine: client: make connect command available through stufftext, for future use 2021-12-23 01:25:03 +03:00
Alibek Omarov
a777e7c80d engine, ref: add sprite and studio cvars to shared cvars list 2021-12-06 05:17:25 +03:00
Alibek Omarov
1350fd0b52 engine: ref: use right Cvar_Get function :) 2021-12-06 05:02:30 +03:00
Alibek Omarov
d7db48ce4b engine, ref: create shared cvars list, register them at engine side, make a generic macro to declare, define and get all pointers at ref side 2021-12-06 04:57:32 +03:00
SNMetamorph
f726793711 engine: client: cl_main: fixed compilation error 2021-11-23 13:10:39 +03:00
Alibek Omarov
2356bc9905 engine: client: escape keybindings and rcon commands 2021-11-23 05:23:38 +03:00
Alibek Omarov
9159d406e3 engine: client: fix #673 2021-11-23 05:23:38 +03:00
Alibek Omarov
1de1852409 engine: client: fix build after merging into one ParseCvarValue function 2021-11-23 05:23:38 +03:00
Alibek Omarov
664506f79e engine: client: touch security, add unprivileged for buttons added from server, force it and client flags 2021-11-23 05:23:38 +03:00
Alibek Omarov
06eb6838a9 engine: client: protect protected, privileged and server only cvars from server query 2021-11-23 05:23:38 +03:00
Alibek Omarov
f2a9f805b8 engine: client: redefine some cvars as filterable 2021-11-23 05:23:38 +03:00
Alibek Omarov
c6648a69ba engine: client: protect messagemode from command injection too 2021-11-23 05:23:38 +03:00
Alibek Omarov
3203d9a043 engine: client: wire Cbuf_AddFilteredText to svc_stufftext commands 2021-11-23 05:23:38 +03:00
Alibek Omarov
36702aafe7 engine: rename FCVAR_LOCALONLY and CMD_LOCALONLY into FCVAR_PRIVILEGED and CMD_PRIVILEGED 2021-11-23 05:23:38 +03:00
Alibek Omarov
c96f10d40b engine: client: restrict LOCALONLY cvars regardless of cl_filterstuffcmd value 2021-11-23 05:23:38 +03:00
Alibek Omarov
8a9231628e engine: restrict potentially harmful or related to user settings engine cvars 2021-11-23 05:23:38 +03:00
Alibek Omarov
94dc74a37f engine: restrict potentially harmful engine commands 2021-11-23 05:23:38 +03:00
Alibek Omarov
c79a649d97 engine: client: implement pfnFilteredClientCmd 2021-11-23 05:23:38 +03:00
SNMetamorph
c366e25a10 ref_gl: cvar gl_wgl_msaa_samples renamed to gl_msaa_samples 2021-11-23 05:17:19 +03:00
Bohdan Shulyar
8ab97fbbf0
engine: client: Add svc_exec support (#671)
* Add svc_exec support

* engine: client: add gamedir check for svc_exec
2021-11-14 00:55:15 +03:00