Commit Graph

1195 Commits

Author SHA1 Message Date
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 8866d5cfd6 engine: wscript: added Opus headers to include directories 2022-08-18 04:46:11 +03:00
SNMetamorph a254a342b1 engine: voice: minor code fixes 2022-08-18 04:46:11 +03:00
SNMetamorph 0db95d76a8 engine: wscript: removed opus from opt.load() 2022-08-18 04:46:11 +03:00
Alibek Omarov 69a9211fc9 engine: include voice.h globally 2022-08-18 04:46:11 +03:00
Alibek Omarov 44cd03f464 wscript: refactor opus wscript files, now it builds only if system package wasn't found 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 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 01a3321d63 engine: client: only accept server list from master servers (thanks @tyabus for idea) 2022-08-17 21:17:51 +03:00
Alibek Omarov 5a5e72c424 engine: print current bug-compatibility level, if enabled 2022-08-17 14:44:03 +03:00
Alibek Omarov b8dc7494eb engine: client: move timescale pitch apply to channel mixing 2022-08-16 00:03:44 +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 6e864e4f8f engine: introduce bug compatibility levels
* for now we only have GoldSrc bug compatibility, can be used for
  games that require precise GoldSrc behaviour, like CSCZDS
* enabled with -bugcomp command line
* added text in --help
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
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
SNMetamorph 5b97c2135a engine: server: fixed "wrong version" spamming in NAT bypass mode (fix #953) 2022-08-10 04:11:17 +03:00
Alibek Omarov 7157c3b441 engine: platform: sdl: don't enable high dpi code for Apple
It seems enables HighDPI awareness but doesn't create HighDPI OpenGL context
It needs some plist magic to be enabled back again
2022-08-08 23:53:20 +03:00
Alibek Omarov d6dfeaeba7 engine: fix searching filesystem_stdio on mobile platforms 2022-08-06 20:16:56 +03:00
Alibek Omarov 3d5aa7c20c engine: remove mistakingly placed NORETURN attributes 2022-08-05 18:05:40 +03:00
SNMetamorph a5ba43ea39 engine: fixed vulnerability in NAT bypass mechanism 2022-08-02 18:01:28 +03:00
Alibek Omarov c025606739 engine: whereami: fix C89 in Android detection 2022-08-01 14:33:36 +03:00
Alibek Omarov 3c4eec62ae engine: let engine find the filesystem library, if it wasn't loaded yet 2022-08-01 13:25:51 +03:00
SNMetamorph a8674c18df engine: platform: win32: fixed build for Windows 2022-08-01 12:54:26 +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 12ea6dcfd7 public: move build.c from engine to public library, in preparation of filesystem_stdio merge 2022-07-26 04:10:36 +03:00
Alibek Omarov a41f8cb01b engine: move version strings to com_strings.h file, in preparation of filesystem_stdio branch merge 2022-07-26 04:07:52 +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
Alibek Omarov fc132e87f4 engine, game_launch: fix rpath usage 2022-07-26 02:54:20 +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
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
Alibek Omarov 5e1f189db3 engine: platform: posix: use RTLD_NOW instead of lazy.
It actually was a misconception coming from old engine fork
We want to track unresolved symbols before library could be loaded

Also, disable "symbol not found" spam in FunctionFromName. Due to how
savefile mangling convert works and compatibility with GoldSrc saves,
this function is used to bruteforce possible symbol names.
2022-07-13 19:26:38 +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
a1batross fc84cd2a0a
engine: common: always show message box when we're in normal mode
Only dedicated server is expected to throw errors to console
2022-07-11 02:45:40 +03:00
a1batross ab43486ee0
engine: client: don't segfault when client wasn't loaded 2022-07-11 02:43:26 +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 36b0d47f5f engine: common: net_ws: fixed sockets reinitialization in NET_OpenIP 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 ffe7114a47 engine: client: backported NAT bypass feature 2022-07-10 18:28:06 +03:00
SNMetamorph 6891ed8064 engine: common: net_ws: 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
SNMetamorph fbdfed84be engine: platform: sdl: fixed bug with unhidable mouse cursor in center of screen 2022-07-09 00:31:49 +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 95ed044fee engine: common: disable cl_filterstuffcmd by default 2022-06-29 18:14:53 +03:00
Alibek Omarov 2905f951bd engine: menu_int: expose TF_EXPAND_SOURCE imagelib flag 2022-06-29 03:20:55 +03:00
Alibek Omarov 79dc090aae engine: platform: sdl: use SetClassLongPtr function to be compatible with 64-bit Windows API 2022-06-29 02:44:50 +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 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
Andrey Akhmichin 87ce35b32d engine: common: imagelib: img_utils.c: change formats priority. 2022-06-25 17:23:44 +03:00
Alibek Omarov 5285f51a26 engine: platform: sdl: fix loading ICO when it's in RoDir 2022-06-25 17:12:08 +03:00
Alibek Omarov 3e23634369 engine: platform: sdl: enable ICO support on Win64 2022-06-25 17:04:02 +03:00
Alibek Omarov 36cec298c2 Revert "engine: common: imagelib: img_tga.c: fix broken tga flip."
This reverts commit 99de598ea4.
2022-06-25 17:03:13 +03:00
Alibek Omarov 6199426e5e Revert "engine: common: imagelib: img_tga.c: fix broken tga flip again."
This reverts commit e5720cf8b9.
2022-06-25 17:03:12 +03:00
Alibek Omarov 4e295622be Revert "engine: platform: sdl: try to enable ICO icons for 64-bit Windows, ignore TGA flip attribute for icons"
This reverts commit 2182ba9630.
2022-06-25 17:03:11 +03:00
Alibek Omarov 2182ba9630 engine: platform: sdl: try to enable ICO icons for 64-bit Windows, ignore TGA flip attribute for icons 2022-06-24 19:15:28 +03:00
Andrey Akhmichin e5720cf8b9 engine: common: imagelib: img_tga.c: fix broken tga flip again. 2022-06-24 14:18:30 +03:00
Andrey Akhmichin 99de598ea4 engine: common: imagelib: img_tga.c: fix broken tga flip. 2022-06-24 07:38:21 +03:00
Jesse Buhagiar b23d5ed354 Build: Add SerenityOS to list of compatible systems
This is required by the build system to spit out a library with
the correct name/platform.
2022-06-20 00:01:37 +03:00
Tim Schumacher a1ce5faac2 Engine: Keep HTTP from endlessly formatting NaN values
For whatever reason, our progress count for HTTP downloads stays at 0.
This results in the engine calculating a NaN progress value many times
each frame, which results in a significant performance hit.
2022-06-20 00:01:37 +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
Alibek Omarov 463997da51 engine: common: delete unused Mod_Handle function 2022-06-15 13:54:54 +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 2218126c75 engine: disable stdout output and flush on Windows, Wcon already does the job 2022-06-14 04:41:37 +03:00
Alibek Omarov 2388260848 engine: optimize colored output
* removed unneeded formatting for Android
* make generic function to output colorless and colorized strings
* disable color output on low memory devices to not waste CPU cycles on it
2022-06-14 04:23:09 +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 45bf927c74 engine: filesystem: avoid FS_SysFolderExists spam if stat returned ENOTDIR 2022-06-14 03:27:56 +03:00
Alibek Omarov 347c6d6a91 engine: common: don't output log to stdout on Win32 where it's done by Wcon. Better colorcode filtration 2022-06-14 03:27:21 +03:00
Velaron 402b38951d engine: better color code stripping 2022-06-13 23:36:13 +03:00
Velaron 6807cf5849 engine: fix build on android 2022-06-13 23:36:13 +03:00
Velaron 15dc25d2cd engine: rename Q_cleanstr to something more meaningful 2022-06-13 23:36:13 +03:00
Velaron 568c7fd917 engine: strip color codes when writing to log 2022-06-13 23:36:13 +03:00
Alibek Omarov e5562a7b61 engine: whereami: fix C89 2022-06-13 04:33:12 +03:00
Alibek Omarov ac308f7298 engine: platform: sdl: fix SDL1.2 build 2022-06-13 04:27:54 +03:00
Alibek Omarov e44718d531 engine: fix build 2022-06-13 04:17:02 +03:00
Alibek Omarov e6a2c207de engine: implement change game with execv in-engine. For now it enabled for all platforms, will probably disabled selectively 2022-06-13 03:42:20 +03:00
Alibek Omarov df83b155a1 game_launch: rip out execv code 2022-06-13 03:26:44 +03:00
Alibek Omarov cc2c97cfad engine: include whereami library to detect current executable path, may be reworked later if needed 2022-06-13 03:07:37 +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 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 7c9f5f8ab1 engine: remove LoadLibrary macros, to avoid possible misuse. Although macros moved to game_launch, it's part of it's own problem from now 2022-06-11 03:25:57 +03:00
Andrey Akhmichin 6b4f55c4bf engine: common: filesystem.c: do not load archives with zip extention again 2022-06-10 23:26:14 +03:00
Velaron 437630d26d platform: win32: remove forgotten code 2022-06-10 23:25:43 +03:00
Bohdan Shulyar 341c9dae39 paltform: win32: fix typo >_< 2022-06-10 23:25:43 +03:00
Velaron 4c7bf1ff44 platform: win32: improve error reporting when loading DLLs and move custom DLL loader to a separate file 2022-06-10 23:25:43 +03:00
Alibek Omarov f467d0c807 game_launch: fix Windows build (as suggested by @SNMetamorph) 2022-06-09 20:27:27 +03:00
Alibek Omarov a717b7fc49 game_launch: declare environ variable, by standard it must be declared by user program 2022-06-09 14:44:04 +03:00
Alibek Omarov 07a9c4602d game_launch: change game with execve on supported platforms 2022-06-09 13:42:16 +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 c532c3032c engine: menu_int: hack to compile on MotoMAGX 2022-06-09 03:28:38 +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 b0a889d1a1 engine: bring back simple netadr_t, as we don't care about IPv4-to-IPv6 mapped addresses anymore 2022-06-09 03:10:02 +03:00
Alibek Omarov bd1bfea695 engine: second iteration of IPv6 support
Made code smaller
Fixed problem where v6 and v4 socket can't use same port
Added support for v4-to-v6 mapped addresses, although it's kept unused
Probably final version
2022-06-09 03:10:02 +03:00
Alibek Omarov 1a5a76a201 engine: common: minor fixes to ipv6text library 2022-06-09 03:10:02 +03:00
Alibek Omarov b072b627a2 engine: enable getaddrinfo on Windows, fix build 2022-06-09 03:10:02 +03:00
Alibek Omarov 5d18c6d678 engine: fix declaration-after-statement 2022-06-09 03:10:02 +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 193cde83b6 engine: add IPv6 address parsing/printing library from GameNetworkingSockets 2022-06-09 03:10:02 +03:00
Alibek Omarov 13f93412cd engine: platform: sdl: forgot to add an include, sorry\! 2022-06-02 03:01:58 +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 d1de9e2802 engine: platform: sdl: proper cursors allocation and free 2022-05-30 03:33:03 +03:00
Alibek Omarov 6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
Alibek Omarov dd29e705f8 engine: menu_int: add _format and NORETURN attributes to MenuAPI 2022-05-29 02:33:28 +03:00
Alibek Omarov 8445567ab4 engine: server: remove unused arguments passed to Con_Printf 2022-05-29 02:27:39 +03:00
Alibek Omarov 11d4cb0f1e engine: client: securedstub: cosmetic changes 2022-05-29 02:27:02 +03:00
Alibek Omarov db48d0ded7 engine: server: fix useless double assignment 2022-05-29 01:59:15 +03:00
Alibek Omarov 86a777880f engine: common: mark AbortCurrentFrame as NORETURN, fix noreturn warnings 2022-05-29 01:58:56 +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 f25254369d engine: set useful format attribute for RefAPI, set Host_Error as NORETURN 2022-05-28 17:58:17 +03:00
Alibek Omarov 33d79ddb24 engine: server: fix possible array overruns 2022-05-25 17:57:47 +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 843c9abf9b engine: common: fix array underrun 2022-05-25 03:38:19 +03:00
Alibek Omarov 924e895753 engine: common: set Host_Error and Sys_Error as NORETURN 2022-05-25 03:38:02 +03:00
Alibek Omarov ac40badaa5 engine: client: fix array overruns 2022-05-25 03:36:33 +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
Alibek Omarov 4fbd96d201 engine: common: filesystem: speed up directory existense check on POSIX by using stat() instead of opendir() 2022-05-09 07:45:51 +03:00
Alibek Omarov 81b01ac561 engine: common: remove NaN check, it's mostly useless on text data 2022-05-09 05:01:20 +03:00
Alibek Omarov 771c359ed0 engine: common: make blue-shift map detect more robust 2022-05-09 05:01:20 +03:00
SNMetamorph d1a5c33bf1 engine: common: removed unused function Sys_SetClipboardData 2022-05-02 03:29:24 +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 8044d23e7f engine: platform: sdl: fixed Key_Event callback when text input enabled 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 d3e213aa1b engine: platform: added Platform_GetKeyModifiers 2022-05-02 03:29:24 +03:00
SNMetamorph 26e09c240a engine: platform: added Platform_SetCursorType 2022-05-02 03:29:24 +03:00
SNMetamorph 15eb6808c4 engine: platform: updated clipboard read/write functions 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
Alibek Omarov 81c4acab66 platform: sdl: fix right mouse button issuing wrong key code 2022-04-10 19:40:11 +03:00
SNMetamorph 6f2fda427e engine: keydefs: fixed mouse buttons code to match GoldSrc 2022-04-10 16:50:23 +03:00
SNMetamorph 09b7f22cee engine: cl_frame: fixed segfault in CL_UpdatePositions 2022-04-10 16:31:02 +03:00
Alibek Omarov 691a305f8e engine: common: reorder cmd_t fields to be compatible with GoldSrc 2022-04-09 19:38:22 +03:00
SNMetamorph 66dc20dc2d engine: platform: con_win: fixed console window visibility without developer mode (fix #818) 2022-04-08 14:18:38 +03:00
SNMetamorph 9515cccb94 engine: client: cl_frame: fixed position history animtime for non-brush entities 2022-04-07 21:56:37 +03:00