Alibek Omarov
38c0dc4551
3rdparty: bzip2: properly use stdio-free version, don't include tests and utils to the build
2024-10-08 15:39:56 +03:00
Alibek Omarov
482dc3a5a5
engine: client: fix joining current protocol servers
2024-10-08 12:43:29 +03:00
Alibek Omarov
9970c56218
engine: common: disable bzip2 for dedicated server, it's not used there
2024-10-08 12:14:37 +03:00
Alibek Omarov
480218412a
engine: client: remove voidptr hack from IN_EngineAppendMove, just use usercmd_t directly
2024-10-08 04:07:03 +03:00
Alibek Omarov
6ae09d2866
engine: client: support GoldSrc signon and refactor parsing delta entities for current and legacy protocols
2024-10-08 04:07:03 +03:00
Alibek Omarov
609680b328
engine: client: support parsing GoldSrc event messages
2024-10-08 04:07:03 +03:00
Alibek Omarov
ccbe370c8e
engine: client: add support for parsing GoldSrc messages
2024-10-08 04:07:03 +03:00
Alibek Omarov
9706e47643
engine: client: refactor and implement GoldSrc-specific parsing bits in common message parsing code
2024-10-08 03:28:02 +03:00
Alibek Omarov
d98361f782
engine: client: add support for parsing GoldSrc svc_temp_entity
2024-10-08 03:28:02 +03:00
Alibek Omarov
ba7c789ec9
engine: common: add GoldSrc delta support
2024-10-08 03:28:02 +03:00
Alibek Omarov
d128997d40
engine: common: add GoldSrc bitbuf operations, add support for GoldSrc signed integers
2024-10-08 03:28:02 +03:00
Alibek Omarov
61342547ce
engine: common: add support for GoldSrc split packet
2024-10-08 03:28:02 +03:00
Alibek Omarov
c1a5f173b8
engine: common: add GoldSrc netchan support
2024-10-08 03:28:02 +03:00
Alibek Omarov
f5c5b7b2c8
engine: common: add buffer munge functions
2024-10-08 03:28:02 +03:00
Alibek Omarov
057b47555d
3rdparty: bzip2: add wscript for bzip2, check for system-wide bzip2, add readme note
2024-10-08 03:28:02 +03:00
Alibek Omarov
03bf6cb719
engine: client: get rid of PROTOCOL_GOLDSRC_VERSION, as connprotocol_t enum does it's job
2024-10-08 03:27:32 +03:00
Alibek Omarov
3a1bb12830
engine: client: rename CL_LegacyMode to CL_Protocol
2024-10-08 03:27:09 +03:00
Alibek Omarov
5efa68757e
engine: remove unused svc_deltapacketbones
2024-10-08 03:27:09 +03:00
Alibek Omarov
afaf5bf3ea
engine: improve security a little bit by properly checking customization files starting with \!MD5
...
Implement basic test for COM_IsSafeFileToDownload
Move COM_ParseFileSafe test to libpublic
2024-10-08 03:22:53 +03:00
SNMetamorph
50c805826f
engine: implemented handling SIGTERM signal for proper stopping dedicated server
2024-10-08 01:05:26 +03:00
Alibek Omarov
35ae9f4a64
engine: client: don't save thirdperson value, it's not used anywhere
2024-10-07 21:00:16 +03:00
Alibek Omarov
d7d96c02a2
engine: client: implement cvar showpause for GoldSrc compatibility
2024-10-07 20:59:44 +03:00
xiaodo
26f07196ea
engine: Format Codes.
2024-10-07 17:22:27 +03:00
xiaodo
8c291fdfe3
engine: fix CenterPrint Wrong Y Position.
2024-10-07 17:22:27 +03:00
xiaodoxd
d1e118f07c
Fix CenterPrint Wrong X Position
2024-10-07 17:22:27 +03:00
Alibek Omarov
6c531c14e6
engine: common: cvar: compatibility hack for mods that depend on HL25 widescreen FOV
...
Fixes Natural Selection 3.3 beta 9.
2024-10-04 19:09:43 +03:00
Alibek Omarov
433213c915
engine: server: fix cvar description for mp_footsteps
2024-10-04 19:07:44 +03:00
Alibek Omarov
ab0c0b18c2
engine: server: remove limit on sv_zmax value as it breaks Natural Selection mod
2024-10-04 19:07:08 +03:00
Alibek Omarov
29fd5f9fbe
engine: server: remove FCVAR_SERVER flag from sv_zmax
...
The problem is that FCVAR_SERVER flagged cvars get saved to listenserver.cfg.
The game code usually sets sv_zmax value to worldspawn parameters and
listenserver.cfg gets generated before server DLL gets initialized.
2024-10-04 19:04:34 +03:00
Alibek Omarov
882d8afc93
engine: server: stub SV_RestartDecals for dedicated server
2024-10-04 01:28:22 +03:00
Alibek Omarov
e11635d15c
engine: server: slight refactoring, hide client calls under XASH_DEDICATED, remove useless dedicated stub
2024-10-04 01:22:59 +03:00
Alibek Omarov
5d79d93aac
engine: server: use safe cvar unlinking for mods that deallocate cvars (like HL Unified SDK)
2024-10-03 15:32:14 +03:00
Alibek Omarov
7ccf651fd0
engine: cvar: implement safer cvar unlinking in case when game deallocates cvar
2024-10-03 15:32:14 +03:00
Alibek Omarov
67af41cce8
engine: common: net_ws: more minor refactoring, avoid memcpy for same type structs
2024-10-02 23:30:42 +03:00
Alibek Omarov
e2c96e62e1
engine: common: net_ws: drop IPv4 mapped as IPv6 support, it's an artifact from dual-stacking experiments and not used anymore
2024-10-02 23:26:28 +03:00
Alibek Omarov
2ecae442fc
engine: common: net_ws: minor refactoring
2024-10-02 23:25:12 +03:00
Alibek Omarov
a1060b0eb5
engine: add v6only master servers, add v6only flag for NET_StringToAdrNB
2024-10-02 23:23:08 +03:00
Alibek Omarov
ddd8de888f
engine: add macro XASH_NO_IPV6_RESOLVE to completely skip resolving addresses with family AF_INET6
2024-10-02 23:21:25 +03:00
Alibek Omarov
87775faeca
engine: common: properly check if we can destroy resolve mutexes. Add net_resolve_debug cvar to enable printing resolve thread debug messages.
2024-10-02 22:16:51 +03:00
Alibek Omarov
47d1f3459c
engine: common: try to implement DNS resolve thread through SDL2 functions if SDL2 build is enabled
2024-10-02 00:55:53 +03:00
Alibek Omarov
4712aae834
engine: server: move autoprecaching wads after parsing reslists
...
An attempt to avoid assert() in HL Unified SDK.
2024-09-30 18:46:01 +03:00
Ivan Avdeev
2900ee1cde
engine: allow specifying screenshot filenames in command directly
2024-09-30 17:15:09 +03:00
Alibek Omarov
c6c4178dd2
engine: client: set TE_SPRAY to collide with world, fixes c7ad8e4bf
2024-09-30 04:15:22 +03:00
Alibek Omarov
0b1ad3b7f0
engine: imagelib: fix mismatched dealloc in a test
2024-09-30 04:00:28 +03:00
Alibek Omarov
bc8bf9a9fb
engine: add const on delta functions
2024-09-30 04:00:28 +03:00
Alibek Omarov
9e28c98911
engine: print to stderr if writing message to logfile failed
2024-09-30 04:00:28 +03:00
Alibek Omarov
9ee1b32e2d
engine: set malloc like and warn_unused_result attributes on common allocation functions, fs, image and soundlib
2024-09-30 04:00:28 +03:00
Alibek Omarov
953ad98a16
engine: workaround buggy stringop-overflow
2024-09-30 04:00:28 +03:00
Alibek Omarov
c7ad8e4bf6
engine: client: more accurate implementation of TE_SPRAY and TE_SPRITE_SPRAY
2024-09-29 20:36:09 +03:00
Alibek Omarov
178602ea1f
engine: fix loading map in Dark Future mod with broken mark surface id
2024-09-05 15:23:23 +03:00
Alibek Omarov
2eb8f88a20
engine: move attenuation none sound spatialize fix to bugcomp mode, as Xash native games use this
2024-09-05 13:50:15 +03:00
Alibek Omarov
96d11df06c
Revert "engine: client: sounds with zero attenuation must get spatialized anyway"
...
This reverts commit 0870536405
.
2024-09-05 13:27:54 +03:00
Alibek Omarov
950d210ec5
Revert ABI2, it wasn't meant to end up in master branch.
2024-09-05 04:31:50 +03:00
Alibek Omarov
0870536405
engine: client: sounds with zero attenuation must get spatialized anyway
2024-09-05 01:28:55 +03:00
Alibek Omarov
b47ede477a
engine: server: strip 64-bit string pool stuff for now, to not mess up abi2
2024-09-05 01:28:55 +03:00
Alibek Omarov
eef5cc17b3
breaking engine headers by replacing int with string_t where it's supposed to be
2024-09-05 01:28:55 +03:00
Alibek Omarov
ad2191333d
engine: add _st64 prefix to load abi2 binaries
2024-09-05 01:28:55 +03:00
SNMetamorph
a85cac497d
ref: disabled verbose reporting about tracer invalid color index
2024-09-03 15:31:51 +03:00
Alibek Omarov
ff3d91ceb4
engine: add aaaa.mentality.rip:27011 master server
2024-08-28 19:56:41 +03:00
Alibek Omarov
5777431577
engine: common: insert spaces between arguments in echo command
2024-08-22 16:45:42 +03:00
Alibek Omarov
cd86f80203
engine: common: make MSG_WriteOneBit inlined, as it's usually called with literal argument
2024-08-22 12:51:47 +03:00
Alibek Omarov
6b0f378c5b
engine: client: ensure requested (but failed) renderer won't be loaded twice
2024-08-21 12:18:06 +03:00
Alibek Omarov
9dd7f37d42
Revert "engine: client: add missing ref_null to R_CollectRendererNames"
...
This reverts commit 69ec810ed0
.
2024-08-21 12:18:06 +03:00
Alibek Omarov
9f10fb6472
engine: client: ensure RefDll cvars have FCVAR_REFDLL flag, clean up them automatically. Don't unload failed renderer, it will be done in R_UnloadProgs
2024-08-21 12:18:06 +03:00
Alibek Omarov
64dbccb9bd
engine: platform: sdl: do not call SDL_VideoQuit in R_Free_Video, as one failed renderer will shut down whole SDL video subsystem
2024-08-21 12:18:06 +03:00
Alibek Omarov
9a432a5a13
common: rewrite cvardef.h from scratch based on Quake definitions
...
* unify cvar.h and cvardef.h, enable private definitions only for refdll and engine
* add FCVAR_REFDLL for easier RefDll cvars cleanup
2024-08-21 12:18:06 +03:00
Alibek Omarov
842e494fa6
common: add macro for simultaneously checking data type size for ILP32 and LP64
2024-08-21 12:00:35 +03:00
Alibek Omarov
7fc9ee154a
engine: client: fail with Sys_Error when no renderer is loaded, as we can't recover from it
2024-08-19 13:25:07 +03:00
Alibek Omarov
5f84010c2a
engine: server: enable allocating 64-bit string pool closer to server library only for Linux amd64, as mmap() isn't reliable anywhere else
2024-08-19 13:22:04 +03:00
Alibek Omarov
151405618f
engine: client: input: slight refactoring of mouse grabbing, add verbose output for debugging mouse issues
2024-08-16 12:59:54 +03:00
Alibek Omarov
70e11cc309
engine: platform: sdl: borderless fullscreen windows don't need to restore desktop resolution
...
* This fixes the case when we switch from windowed to borderless, minimize the window
and restore makes it lose it's fullscreen state
2024-08-16 12:25:08 +03:00
Alibek Omarov
7619824d80
engine: platform: sdl: return correct value from SW_CreateBuffer on success
2024-08-16 11:36:36 +03:00
Alibek Omarov
f3d181b5ee
engine: platform: psvita: explicitly export __aeabi_ul2f
2024-08-16 02:22:25 +03:00
Alibek Omarov
55055a70f0
engine: client: allocate mods list for UI on demand
2024-08-15 12:27:43 +03:00
Alibek Omarov
22d3ba674e
engine: client: ensure demoheader will be written when we're recording demo and changed level
2024-08-14 19:10:00 +03:00
Alibek Omarov
69ec810ed0
engine: client: add missing ref_null to R_CollectRendererNames
2024-08-13 19:16:59 +03:00
Alibek Omarov
2df01316ce
engine: client: add two new APIs for mainui to get extended new gameinfo structure
2024-08-13 18:28:07 +03:00
Alibek Omarov
340871e03a
engine: platform: sdl: correct the message about glblit in ref_soft
2024-08-11 18:32:10 +03:00
Alibek Omarov
bd2a44dbdd
engine: common: fix fragbuf_t definition so it has true standard flexible array member
2024-08-10 13:46:00 +03:00
Alibek Omarov
e9ee4beb9f
engine: client: fix rawchan_t definition so it has true standard flexible array member
2024-08-10 13:46:00 +03:00
Alibek Omarov
3b3f057f6f
engine: common: fix winding_t definition so it has true standard flexible array member
2024-08-10 13:46:00 +03:00
Владислав Сухов
75c5e9cfa7
engine: bump engine version to 0.21
2024-08-09 12:41:47 +03:00
Gleb Mazovetskiy
1a94f2b585
Enable vsync by default
...
This is the first setting I change after installing xash3d-fwgs. Some distros even patch xash3d-fwgs to enable vsync by default (e.g. Batocera).
Let's enable vsync by default here.
2024-08-09 09:14:50 +03:00
Alibek Omarov
f0b4c42c68
engine: common: faster and simpler Netchan_OutOfBand
2024-08-08 04:37:16 +03:00
Alibek Omarov
9be061735f
engine: client: fix misleading gcc warning about printf format string not being literal
2024-08-08 04:36:40 +03:00
Alibek Omarov
6bfa525080
engine: common: faster and simpler MSG_WriteString
2024-08-08 04:35:55 +03:00
Alibek Omarov
8fcaf18897
engine: client: remove useless copy in NetAPI_SendRequest
2024-08-08 04:32:58 +03:00
Alibek Omarov
f558cde266
engine: client: fix build with -Wincompatible-pointer-types-discards-qualifiers
2024-08-08 04:31:51 +03:00
Alibek Omarov
b508a33f5d
engine: client: minor refactoring in CL_DecayLights, get rid of pointer iterating in for-loop
2024-08-07 09:23:09 +03:00
Alibek Omarov
b4db99006b
engine: client: always print timedemo result
2024-08-07 08:46:55 +03:00
Alibek Omarov
8994f079a5
engine: common: don't uselessly copy data in Netchan_OutOfBound when playing a demo
2024-08-07 02:28:58 +03:00
Alibek Omarov
b2d184cfa5
engine: common: add unit tests for net_buffer functions
2024-08-07 02:28:13 +03:00
Alibek Omarov
92dc92379f
engine: client: minor refactoring, turn quake stats into an enum
2024-08-06 08:42:23 +03:00
Alibek Omarov
2a6862ceb9
engine: soundlib: fix buffer overflow with truncated WAV files containing CoolEdit cue mark
2024-08-06 08:41:36 +03:00
Alibek Omarov
4c569e1d5f
engine: client: ensure loading plaque was removed after we request spawn on legacy protocol
2024-08-03 11:27:45 +03:00
Alibek Omarov
4420ffd49e
engine: fix buffer overflow in Sys_PrintLog
2024-08-03 11:27:45 +03:00
Alibek Omarov
fb7f57cf6a
engine: client: switch efrags to dynamic allocation (as suggested on insideqc by @mh)
2024-08-03 11:27:45 +03:00
Alibek Omarov
8be3bdac5d
engine: client: add command listdemo to show information about demo file (isn't really useful, just reads file header)
2024-08-03 11:01:17 +03:00
Alibek Omarov
d6e77e531d
engine: fix memory leak in netchan
...
frag_message_buf wasn't always freed alongside with fragbuf_t
instead of ensuring frag_message_buf being freed, I turned it into
a flexible array member
2024-08-03 08:40:33 +03:00
Alibek Omarov
e686b1410d
engine: client: set default fullscreen value in vid_fullscreen cvar definition
2024-07-31 00:53:58 +03:00
Alibek Omarov
2c23a1e0a0
engine: platform: sdl: fix going fullscreen after manually changing VIDRESTART cvars (like width and height)
2024-07-31 00:53:29 +03:00
Alibek Omarov
47eb9e8c8f
engine: client: replace same struct type memcpys by assignments
2024-07-31 00:06:22 +03:00
Alibek Omarov
712b354421
engine: common: replace same struct type memcpys by assignments
2024-07-31 00:06:22 +03:00
Alibek Omarov
18ef4922de
engine: server: replace same struct type memcpys by assignments
2024-07-31 00:06:22 +03:00
Владислав Сухов
1086c31503
engine: client: in_touch.c: make the voicechat and spray buttons multiplayer only
2024-07-30 17:52:28 +03:00
Владислав Сухов
71a333261b
engine: client: in_touch.c: added voicechat touch button
2024-07-30 15:33:35 +03:00
Alibek Omarov
5ea2e295c1
engine: prevent rescanning filesystem when new player connects or on late precache
...
By reusing a padding hole in resource_t structure, we put a bit indicating that this archive
was already mounted by filesystem and skip it.
Because we associate this with resource, theoretical use of late precache with archives
will rescan filesystem and allow using newly downloaded assets.
2024-07-30 15:25:48 +03:00
Alibek Omarov
1fc7547a53
engine: client: clean up scr_viewsize remnants, don't tell client.dll scr_viewsize cvar value
2024-07-30 15:25:20 +03:00
Alibek Omarov
a7d63649f8
engine: add checks to verify resource_t, customization_t and HPAK data structs sizes
2024-07-30 15:25:20 +03:00
Alibek Omarov
107d4cdd61
engine: client: fix buffer overrun in S_TrimEnd
2024-07-30 15:25:20 +03:00
Alibek Omarov
7bb5175084
Turn downloaded/ and custom/ into com_strings.h definitions, like sound path and saves path
2024-07-30 15:25:20 +03:00
Alibek Omarov
dd570b616b
engine: client: properly exit from touch editor to menu when user have chosen to cancel and reset
2024-07-29 05:11:41 +03:00
Alibek Omarov
943a30af04
engine: client: add privileged flag to touch_in_menu and touch_enable
2024-07-29 05:08:35 +03:00
Alibek Omarov
eabed60e56
engine: automatically turn-on touch emulation while editing touch from menu
2024-07-29 05:06:10 +03:00
Alibek Omarov
f4a3b8571d
engine: fix inverted check in debug log output
...
Why there is even this check in the first place???
2024-07-29 04:48:21 +03:00
Alibek Omarov
4a5f34089d
engine: client: fix TriColor4fRendermode
2024-07-28 20:50:20 +03:00
Alibek Omarov
90da9659d1
engine: client: vgui: enable texturing in VGUI by default, just in case reset color too
2024-07-28 20:03:32 +03:00
Alibek Omarov
2e30acf611
engine: client: voice: allow restoring voice after toggling voice_enable while connected to server
2024-07-28 17:12:32 +03:00
Alibek Omarov
5554d13f7f
engine: client: fix buffer overflow in voice sound mixer
2024-07-28 16:41:20 +03:00
Alibek Omarov
9a2588f7eb
engine: client: console: fix a rare crash when we're in game, console is enabled but it's empty
...
With ui_allowconsole toggle it's easy to reproduce: join game without console, go to menu,
enable console and return back to game.
2024-07-28 14:48:40 +03:00
Alibek Omarov
d52d50e283
engine: client: set user name as default value for name cvar. Add ui_username cvar with user name.
2024-07-28 14:44:03 +03:00
Alibek Omarov
6911da8581
engine: client: add ui_allowconsole command that enables console
...
To be used by UI
2024-07-28 13:32:52 +03:00
Alibek Omarov
e70f9a67b8
engine: host: always enable console for dedicated
2024-07-26 11:08:34 +03:00
Alibek Omarov
6120c0daec
engine: print command line args alongside developer level during init
2024-07-22 22:15:56 +03:00
Alibek Omarov
790f9bde54
engine: client: hack mobile API init because of incorrectly defined export in hlsdk-portable
2024-07-21 21:18:00 +03:00
Alibek Omarov
7a469fb481
engine: always use original player hulls for pmove trace, because mods can write invalid data in pmove->player_{mins,maxs}
2024-07-21 11:01:18 +03:00
Alibek Omarov
38bef99f98
engine: client: fix opening Quake demos
2024-07-21 05:01:31 +03:00
Alibek Omarov
95ff9e7165
engine: client: prevent empty lightstyle console flood
2024-07-21 05:01:16 +03:00
Alibek Omarov
2fddbdddee
engine: client: fix ScreenFade under quake compatibility mode
2024-07-21 04:33:46 +03:00
Alibek Omarov
465e812ed9
engine: client: fix EF_DIMLIGHT under quake compatibility mode
2024-07-21 04:33:31 +03:00
Alibek Omarov
3b1fb79a85
engine: client: use Host_IsQuakeCompatible instead of checking host.features bit
2024-07-21 04:32:38 +03:00
Alibek Omarov
0f8f35b415
engine: fix alias model loading
2024-07-21 04:15:56 +03:00
Alibek Omarov
a133b1c2a9
engine: remove unused texFlags argument in Mod_LoadSpriteModel
2024-07-21 03:04:21 +03:00
Alibek Omarov
fa74acb5f0
Revert "engine: client: make client engfuncs const"
...
This reverts commit 14ae9b312d
.
2024-07-21 02:53:28 +03:00
Alibek Omarov
836b4c358f
Revert "engine: server: make physic engfuncs const"
...
This reverts commit 5af9511505
.
2024-07-21 02:53:23 +03:00
Alibek Omarov
982e32d108
engine: client: don't mistakingly tell user about failed mobile api, when it's just not used by client.dll
2024-07-21 02:07:38 +03:00
Alibek Omarov
024a335505
engine: move wcon definitions to platform.h
2024-07-21 02:06:51 +03:00
Alibek Omarov
6d98d2c7c3
engine: check XASH3D_GAME if -game argument wasn't found, do not override default base directory
...
Clarify that `--gamedir` configure option and `XASH_GAMEDIR` macro specify base directory
2024-07-21 01:04:50 +03:00
Alibek Omarov
64726f13e1
engine: client: more accurate R_BeamKill reimplementation
...
Reverse engineered from HL25 hw.so
2024-07-19 07:13:14 +03:00
Alibek Omarov
85dfaaa2c2
engine: imagelib: add LUMP_TEXGAMMA palette kind to only pass HL textures through texgamma, not Quake
2024-07-19 06:34:51 +03:00
Alibek Omarov
56464d3291
engine: when colorizing standard output, use bold text, as it makes it more visible (especially with black text)
2024-07-17 22:53:35 +03:00
Alibek Omarov
aed96ee753
engine: common: reduce large static arrays amount for logging by adding generic function accepting va_list
2024-07-17 22:27:20 +03:00
Alibek Omarov
a937320c65
engine: wscript: add ffmpeg hidden option, just to make it easier for me to switch between branches
2024-07-17 22:27:20 +03:00
Alibek Omarov
a81a0cb059
engine: client: make menu engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
5af9511505
engine: server: make physic engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
14ae9b312d
engine: client: make client engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
2d3e5c2e0b
engine: client: make renderer engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
17950fec3e
filesystem: make engfuncs const
2024-07-16 15:23:03 +03:00
Alibek Omarov
09a7585643
engine: soundlib: super micro-optimization, reallocate buffer in Image_Copy rather than allocating and copying
2024-07-16 05:11:06 +03:00
Alibek Omarov
a09084ceba
engine: imagelib: super micro-optimization, reallocate buffer in Image_Copy rather than allocating and copying
2024-07-16 05:10:29 +03:00