Commit Graph

600 Commits

Author SHA1 Message Date
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
314672d82c engine: client: fix invalid playerinfo being accessed by renderer 2022-08-13 01:29:45 +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
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
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
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
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
SNMetamorph
d8724f0be4 engine: common: net_ws: disabled read-only flag for ip cvar 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
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
Alibek Omarov
95ed044fee engine: common: disable cl_filterstuffcmd by default 2022-06-29 18:14:53 +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
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
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
Alibek Omarov
463997da51 engine: common: delete unused Mod_Handle function 2022-06-15 13:54:54 +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
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
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
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
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
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
6f36edfd16 engine: various const qualifier fixes 2022-05-29 04:22:43 +03:00
Alibek Omarov
86a777880f engine: common: mark AbortCurrentFrame as NORETURN, fix noreturn warnings 2022-05-29 01:58:56 +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
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
15eb6808c4 engine: platform: updated clipboard read/write functions 2022-05-02 03:29:24 +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
95ee88720c engine: platform: win32: major refactoring of console code 2022-04-06 15:17:15 +03:00
SNMetamorph
58dbc1ba31 engine: system: disabled skipping color codes for Wcon_WinPrint 2022-04-06 15:17:15 +03:00
a1batross
fc7fb8b62d engine: masterlist: replace master server domain by mentality.rip
It is essentially the same as ms.xash.su but due to current situation, it is known to be blocked on some Ukrainian ISPs.

ms2.xash.su is retired for now.
2022-03-19 01:58:10 +03:00
SNMetamorph
65d624140e engine: filesystem: fixed FS_Search algorithm for ZIP files (fix #796) 2022-03-15 23:11:00 +03:00
SNMetamorph
cd2720ba81 engine: common: imagelib: fixed loading BMP files with v4/v5 headers 2022-03-13 01:50:30 +03:00
Alibek Omarov
fba323cf1f engine: common: cosmetic changes to usage string generating code 2022-03-10 04:52:16 +03:00
Alibek Omarov
f67d0ffa5a engine: common: fix broken function name and strings after find&replace in socket code 2022-03-10 04:51:38 +03:00
Alibek Omarov
df616b950d engine: add NET_AdrToString to menu extended API, upgrade mainui submodule 2022-03-08 07:00:36 +03:00
SNMetamorph
6473efa995 engine: added support for BC7 and BC6H compression formats of DDS textures 2022-03-07 02:03:40 +03:00
Alibek Omarov
85f99c723a engine: add sys_timescale implementation 2022-03-03 05:38:36 +03:00
SNMetamorph
edc171be04 engine: common: fixed lightmap shift again 2022-02-28 19:56:28 +03:00
SNMetamorph
24ea8fba4b engine: common: fixed lightmap shifting caused by insufficent precision in Mod_CalcSurfaceExtents 2022-02-28 16:54:28 +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
18933e7981 engine: ensure all data was written to stdout when exiting 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
Alibek Omarov
a6b43fbfff engine: show additional errno string when log file cannot be opened 2022-01-29 03:04:54 +03:00
Alibek Omarov
61643585e0 engine: fix NULL ptr dereference when log file cannot be opened 2022-01-29 03:04:00 +03:00
Alibek Omarov
ffea7d9729 engine: add host_lowmemorymode cvar to indicate low memory mode level 2022-01-27 03:32:52 +03:00
Velaron
0e286f31c5 engine: client: fix DT_TIMEWINDOW_* signedness 2022-01-24 17:31:36 +03:00
Alibek Omarov
5aa6bfee85 engine: first attempts on fuzzing the engine 2022-01-15 06:24:57 +03:00
Alibek Omarov
ea5937bce0 engine: net_encode: remove naive clientdata/weapondata copy, only copy fields explicitly listed in deltalst 2022-01-14 14:46:52 +03:00
Alibek Omarov
6e4ab74694 engine: net_encode: split delta "no changes" copy into separate function 2022-01-14 14:33:13 +03:00
Alibek Omarov
1f26710bd0 engine: fix add command error messages 2022-01-14 01:06:52 +03:00
Alibek Omarov
96f35f76e1 engine: filesystem: fix creating directories with roDir 2022-01-14 00:42:24 +03:00
Alibek Omarov
fa37d153c8 engine: common: restrict alias/unalias and stuffcmds from executing by server 2022-01-14 00:26:26 +03:00
Alibek Omarov
13cf909b99 engine: filesystem: allow extras ZIPs 2022-01-13 18:22:06 +03:00
Alibek Omarov
606b5354e6 engine: filesystem: fix loading ZIP files 2022-01-13 17:46:54 +03:00
Alibek Omarov
e29dcb4125 engine: filesystem: accept ZIP files with zip extension, do not assert with NULL free in Zip_Close 2022-01-13 16:44:45 +03:00
Alibek Omarov
f9d0fba05f wscript: remove duplicated branches diagnostic for good 2022-01-04 09:01:08 +03:00
Alibek Omarov
1ffe050205 engine: print only command name in Unknown command message, rather than a full line 2022-01-04 09:01:08 +03:00
Alibek Omarov
a2f741fe8a engine: platform: sdl: try to fix 1.2 build 2022-01-04 08:39:11 +03:00
Alibek Omarov
01b2266b7e engine: net_encode: minor code style fix 2022-01-04 04:30:47 +03:00
Alibek Omarov
295adcf222 engine: con_utils: don't also prepend backslash in autocompletion~ 2022-01-04 02:31:41 +03:00
Alibek Omarov
210137c325 engine: increase model limit to the possible maximum without breaking the protocol 2022-01-03 23:07:33 +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
764ef93984 common: add fs_size_t typedef, for read()/write() return value 2021-12-23 01:21:33 +03:00