Alibek Omarov
6eae3471cf
engine: client: font: fix consecutive newlines skipped, add flag to reset color after a newline
2023-02-04 21:59:46 +03:00
Alibek Omarov
c0fa91bec9
engine: client: consolidate client and menu scissor functions
2023-02-04 21:24:19 +03:00
Alibek Omarov
ba6dd3c751
engine: client: font: fix another inverted check
2023-02-04 21:23:51 +03:00
Alibek Omarov
fd63018fb5
engine: client: make client string drawing functions ignore linefeeds
2023-02-04 20:58:33 +03:00
Alibek Omarov
2225915702
engine: client: font: fix CL_DrawStringLen
2023-02-04 20:54:17 +03:00
Alibek Omarov
d14e486721
engine: client: font: add special flag to ignore linefeeds when drawing strings
2023-02-04 20:53:52 +03:00
Alibek Omarov
bec0b36bb9
engine: client: font: fix colorcodes, don't reset Colo4ub, it will be reset by consequent draw calls anyway
2023-02-03 18:20:02 +03:00
Alibek Omarov
e2c2821191
engine: client: font: do not apply filtering hack when fonts aren't upscaled
2023-02-03 18:06:07 +03:00
Alibek Omarov
a19d34035d
engine: client: font: do not use OpenFile on WADs >_<
2023-02-03 17:49:06 +03:00
Alibek Omarov
77ea03a62c
engine: client: introduce bare-bones font manager and text drawing manager
...
* wire hud_fontscale so HUD font scaling can be used independently from
hud_scale
* allow small optimizatinons, like optional UTF-8 decoding, or not calling
SetRenderMode for each character
* even less copypasted code in text drawing between client code and console
* get rid of direct DrawCharacter calls when it can be just DrawString
* fix net_speeds, r_speeds with scaled console fonts
* try to fix MobilityAPI's pfnDrawCharacterScaled
* center keyboard keys in OSK code
2023-02-03 08:51:18 +03:00
Alibek Omarov
d7116afc92
engine: client: add hud_fontscale cvar to control HUD font scaling (not wired to any logic yet)
2023-02-02 04:57:53 +03:00
Alibek Omarov
d5fe491c14
engine: client: add a little auto-disconnect message in case of server timeout
2023-02-02 02:49:25 +03:00
Alibek Omarov
92138428c5
engine: touch: don't emulate touch and mouse through SDL2 (taken from @Velaron branch)
2023-02-01 06:42:31 +03:00
Alibek Omarov
d7af50ea6c
engine: ref: remove direction vectors from Ref API, renderers calculate them from viewangles to local data anyway
2023-01-31 07:18:23 +03:00
Alibek Omarov
6282acc825
engine: client: simplify drawing loading or paused bar, fix position with hud_scale active
2023-01-30 23:17:53 +03:00
Alibek Omarov
39fd30a472
engine: client: fix HUD font loading
2023-01-27 19:07:26 +03:00
Alibek Omarov
279e391949
engine: sound: allow mouth move for CHAN_STREAM
2023-01-27 06:19:31 +03:00
Alibek Omarov
327372e253
engine: client: call SND_ForceOpen/CloseMouth within SND_Open/CloseMouth to avoid copypasted code
2023-01-27 06:19:31 +03:00
Alibek Omarov
84c14b32ec
engine: client: fix filtering errors by adjusting texcoords by half of a pixel
...
Remove useless wrapper functions and conversions
Don't scale texcoords and position if hud_scale is not active
2023-01-25 04:17:48 +03:00
Alibek Omarov
c481e52558
engine: client: consolidate variable and quake fixed width font loading functions
2023-01-25 02:38:18 +03:00
Alibek Omarov
16b162f7bb
engine: vid: position window in center by default
2023-01-18 19:27:40 +03:00
Alibek Omarov
500ca54550
Revert "engine: get rid of MSG_BigShort, use htons instead, since network headers are always included"
...
This reverts commit a6475f530b
.
2023-01-18 19:21:51 +03:00
Alibek Omarov
5313dc9475
engine: client: fix uninitialized fadeTotalEnd in screenfade parsing code
2023-01-16 09:21:30 +03:00
Alibek Omarov
fbedbdca7d
engine: client: fix fullscreen reapplied on window resize
2023-01-14 18:52:38 +03:00
Alibek Omarov
6232e288e1
engine: client: fool proof R_SaveVideoMode
2023-01-14 11:45:42 +03:00
Alibek Omarov
a6475f530b
engine: get rid of MSG_BigShort, use htons instead, since network headers are always included
2023-01-14 10:58:04 +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
acd86ce490
engine: sound: select which to buffer raw channels will be painted to, choose stream buffer for voice
2023-01-13 08:50:33 +03:00
Alibek Omarov
9152bbf106
engine: client: more accurate decompilation of CL_LerpPoint and ComputeInterpolationAmount
2023-01-07 11:08:32 +03:00
Alibek Omarov
40ba0238f8
engine: client: cosmetic changes in pmove code
2023-01-07 11:07:32 +03:00
Alibek Omarov
4a3efa511c
engine: client: correctly decompiled version of CL_AdjustClock (with removed useless float-to-int operation)
2023-01-07 07:23:14 +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
0bec78a958
engine: client: make few function between pmove and client interface shared, remove unused CL_PointContents wrapper
2023-01-06 00:09:36 +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
a4865fd2fc
engine: client: fix ScreenFade FFADE_MODULATE rendering, more accurate alpha blending
2023-01-05 06:09:10 +03:00
Alibek Omarov
c1287b3950
engine: client: speed up reconnect for legacy servers
2023-01-03 03:19:46 +03:00
Alibek Omarov
eb7eb4acbc
engine: client: cl_scrn: minor refactoring
2022-12-30 01:58:26 +03:00
Alibek Omarov
e5b32fe8ac
engine: client: force nearest filter for HUD textures and sprites to avoid artifacts with hud_scale
2022-12-30 01:57:10 +03:00
Alibek Omarov
52061621ac
engine: client: do not let client.dll overwrite usercmd that's was read from demo
2022-12-27 23:10:11 +03:00
Andrey Akhmichin
f4fb8b4ac2
engine: client: simplify strings operation.
2022-12-20 16:07:34 +03:00
Andrey Akhmichin
0d5cd89144
engine: client: Fix access to uninitialized variable.
2022-12-20 16:06:41 +03:00
Alibek Omarov
a3ef6c955c
engine: don't double register rcon_password cvar
2022-12-12 08:13:24 +03:00
Alibek Omarov
9e54ddfd55
engine: client: treat dem_unknown as no-op, until we find real cause of empty holes in demoheader
2022-12-12 06:31:54 +03:00
Alibek Omarov
fe9ed0ac9b
engine: client: gameui: add new NET_CompareAdrSort function to menu API
2022-12-12 06:30:47 +03:00
SNMetamorph
b1d910a3a5
engine: client: fixed connection hang when all resources downloaded ( fix #829 )
2022-12-09 19:20:53 +03:00
Alibek Omarov
436a788ac8
engine: client: disable FPS counter by default
2022-12-07 21:54:23 +03:00
Velaron
5098e24806
engine: client: touch: fix empty list when opening touch buttons menu for the first time
2022-12-07 15:35:51 +03:00
SNMetamorph
a19270a0dc
engine: client: max fragment size test retries increased to 3
2022-12-04 23:29:26 +03:00
SNMetamorph
c34ce2d9e1
engine: client: fixed max fragment size wrong calculation
2022-12-04 23:29:26 +03:00
Andrey Akhmichin
3287501f97
engine: client: simplify strings operations.
2022-12-04 22:04:07 +03:00
Alibek Omarov
cbe3e608b6
engine: client: add cl_logoext cvar that's used by mainui to tell the engine which logo must be packed
2022-12-01 18:25:21 +03:00
Alibek Omarov
1ba117a8e9
engine: client: netgraph: fix few global-buffer-overflow errors
2022-12-01 18:23:52 +03:00
Alibek Omarov
d9a245dcb5
engine: reset cheat cvars on remote games
2022-12-01 02:44:01 +03:00
Alibek Omarov
9cbf5ab6a6
engine: client: streamline constructing master server scan request through common function
2022-12-01 01:51:07 +03:00
Alibek Omarov
c9e4e62474
engine: client: allow IPv6 in NetAPI
2022-12-01 00:35:05 +03:00
Alibek Omarov
aa6a1db0a9
engine: remove duplicate svc_strings definition
2022-12-01 00:34:33 +03:00
Alibek Omarov
7013d447ca
engine: client: get rid of s_registration_sequence, it was incorrect way to look for unused sounds. We're trying to rely on cl.servercount here
2022-11-28 07:54:24 +03:00
Alibek Omarov
93b2f535e2
engine: client: tune max commands/max backup commands values for legacy protocol
2022-11-27 18:26:53 +03:00
SNMetamorph
3ab749cc2e
engine: client: cl_tent: fixed incorrect players spray textures update
2022-11-27 04:50:30 +03:00
Andrey Akhmichin
809d5f1aa8
engine: client: in_touch.c: add spray button.
2022-11-25 22:32:33 +03:00
SNMetamorph
e204f05726
engine: client: fixed players spray textures not being updated
2022-11-22 17:59:41 +03:00
Alibek Omarov
64e97124c3
Merge master to ipv6
2022-11-17 19:34:46 +03:00
Alibek Omarov
a894ca60c6
engine: client: vgui: fix vgui viewport height being limited at 480 pixels
2022-11-16 22:05:31 +03:00
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