Alibek Omarov
f2584dcb9d
engine: host: better engine features print
2024-01-04 05:31:01 +03:00
Alibek Omarov
ce73838f1b
engine: add a function that validates requested features bits
2024-01-04 05:30:18 +03:00
Alibek Omarov
49f972a7c9
engine: add new engine feature ENGINE_STEP_POSHISTORY_LERP that enables CStrike's MOVETYPE_STEP lerp based on position history
2024-01-04 05:05:03 +03:00
Alibek Omarov
1ae01d89de
engine: client: correctly support ENGINE_COMPUTE_STUDIO_LERP feature flag without STUDIO_INTERPOLATION_FIX enabled
2024-01-04 03:35:16 +03:00
Alibek Omarov
8e54e18c8f
engine: client: disable STUDIO_INTERPOLATION_FIX
2024-01-04 03:32:59 +03:00
Alibek Omarov
18136e5320
engine: client: implement HL25's cl_fixmodelinterpolationartifacts cvar
2024-01-04 03:32:36 +03:00
Alibek Omarov
a29f1899d3
engine: client: remove unused extrapolate variable in CL_PureOrigin
2024-01-03 19:06:46 +03:00
Alibek Omarov
0f804ffc30
engine: client: use extra precision for interpolation
2024-01-03 19:02:09 +03:00
Alibek Omarov
620a4b4894
engine: client: wrong check order, fix previous commit
2023-12-31 06:35:38 +03:00
Alibek Omarov
4cf87c2c23
engine: client: prevent memory corruption on old protocol when server didn't sent local player info in delta at spawn
2023-12-31 06:24:53 +03:00
Alibek Omarov
f031c31b77
engine: client: try another workaround for backwards animtime
2023-12-31 06:12:00 +03:00
Alibek Omarov
c2447d8634
engine: client: stupid hack to allow monsters interpolation on a very specific old protocol engine mod
2023-12-31 05:03:10 +03:00
Alibek Omarov
ae9c1d9f18
engine: remove single-binary option. Now platforms that don't need external launcher, shall set env.DISABLE_LAUNCHER
2023-12-30 23:45:17 +03:00
Alibek Omarov
d971055927
engine: move PARM_SKY_SPHERE handling out of engine to renderer, after all renderers might or might not support sky spheres
2023-12-30 16:54:37 +03:00
Alibek Omarov
707a9228e1
engine: ref_api: draft RefAPI 6.
...
Remove timings from ref_globals_t struct
Remove R_UpdateRefState accordingly.
Remove unused PARMs
Remove reduntant functions
2023-12-30 16:36:13 +03:00
Alibek Omarov
a3c9538d12
engine: client: add support for new PARMs
...
Reorganize internal engine structs, carefully check structs compatibility before casting types
2023-12-30 16:36:13 +03:00
Alibek Omarov
632264809f
engine: ref_api: add PARMs to get pointers to engine data like cl, host, world, etc. Partially expose cl and host.
2023-12-30 16:36:13 +03:00
Alibek Omarov
bcfabbe802
engine: do not save configs when we closing because of the errors
2023-12-28 22:42:12 +03:00
Alibek Omarov
c244cfc937
engine: do not save configs when we closing because of the errors
2023-12-28 22:40:10 +03:00
Alibek Omarov
65bfff69d0
engine: wscript: always require librt on Linux since we need it for Platform_SetTimer implementation
2023-12-27 04:14:19 +03:00
Alibek Omarov
778b8ede58
engine: platform: linux: add forgotten _GNU_SOURCE at the top of the file to enable gettid extension
2023-12-27 03:10:20 +03:00
Alibek Omarov
f8a1a2ed71
engine: platform: linux: add missing math.h include
2023-12-26 18:56:30 +03:00
mittorn
b4a7c266b5
platform/linux: implement debug timers and cl_maxframetime to catch very long frames on debugger
2023-12-25 14:22:20 +03:00
Alibek Omarov
96f7f5457d
engine: print all supported and enabled features
2023-12-17 17:51:15 +03:00
Alibek Omarov
498ec6b4f1
engine: client: print enabled features after server connect if it's not a local game
2023-12-17 17:44:05 +03:00
Alibek Omarov
607e62a1ae
engine: client: sanitize legacy protocol supported engine features flags
...
Do not enable what can't be enabled in current protocol.
2023-12-17 17:44:05 +03:00
Alibek Omarov
d41a80bc2c
engine: add mask to sanitize possible engine features bits
2023-12-17 17:43:51 +03:00
Alibek Omarov
643bec4071
engine: client: set max FPS when recording with fps_max 0
2023-12-16 22:02:26 +03:00
Alibek Omarov
c96cf7e22d
engine: expose world version through RefAPI
2023-12-15 07:38:07 +03:00
Alibek Omarov
46c61660cf
engine: expose world BSP version through world global structure
2023-12-15 07:37:40 +03:00
Alibek Omarov
54a5947a3c
engine: remove MSGBOX macro
2023-12-15 06:40:04 +03:00
Alibek Omarov
93ceb0e4ed
engine: client: split the sprites indices only when loading new sprite. Scan the whole array when searching.
...
Fixes incorrect sprite loading in XDM
2023-12-14 03:12:47 +03:00
Alibek Omarov
13aab4e59c
engine: server: fix off-by-one error in Voice_Set/GetClientListening
2023-12-13 14:56:55 +03:00
Alibek Omarov
36c2f9e9f2
engine: refactor rcon redirect, don't make it depend on global object
2023-12-13 14:56:27 +03:00
Alibek Omarov
514da0ffa9
engine: host: do not depend on Sys_Sleep accuracy, instead allocate a timewindow that decrases with each skipped frame
2023-12-11 07:12:44 +03:00
Alibek Omarov
a675806c91
engine: imagelib: img_ktx2: don't allow to load images with no mip levels
2023-12-11 07:06:12 +03:00
Alibek Omarov
683c4874f8
common: add ALLOC_CHECK macro that enables attribute alloc_size on GCC that allows to prevent suspicious allocation sizes
2023-12-09 19:00:25 +03:00
Alibek Omarov
20ced857b4
engine: client: use physents array when tracing physents =/
2023-12-09 16:45:35 +03:00
Alibek Omarov
1e0107944f
engine: make sys_timescale non-cheat, like host_framerate
2023-12-07 00:50:56 +03:00
mittorn
c800b34cd4
ref_api: add R_Flush method
2023-12-06 04:13:27 +03:00
Alibek Omarov
1612e2d669
engine: client: GetRefAPI now must return REF_API_VERSION to prevent possible issue when ref library wasn't recompiled on version bump
2023-12-06 04:13:27 +03:00
Alibek Omarov
26d229c8ca
engine, ref: RefAPI 5. Simplify remap calls
2023-12-06 04:13:03 +03:00
Alibek Omarov
9c66e86be1
engine, ref: RefAPI 5. Remove unused calls
2023-12-06 04:13:03 +03:00
Alibek Omarov
7e9f87de2d
engine, ref: eliminate calls to global arrays, instead store array pointers at renderer side
2023-12-06 04:13:03 +03:00
Alibek Omarov
9ec1e259b4
engine: platform: sdl: unused variable cleanup
2023-12-05 10:48:47 +03:00
Alibek Omarov
0c2d480d89
engine: client: unused variables cleanup
2023-12-05 10:47:55 +03:00
Alibek Omarov
350d8ccb7b
engine: common: cvar: unused variables cleanup
2023-12-05 10:46:26 +03:00
Alibek Omarov
0c512d0431
engine: server: unused variables cleanup
2023-12-05 10:46:03 +03:00
Alibek Omarov
273bccdc9a
engine: nswitch: fix compiling by removing stdc++ from SDL2 dependencies as we link it later ( #1519 )
2023-12-02 20:25:51 +03:00
Alibek Omarov
f0a2362da3
engine: wscript: another try, link nswitch port using gcc and not g++
2023-12-02 19:29:30 +03:00
Alibek Omarov
be8ade23e8
engine: wscript: add -nostdlib++ for nswitch so we avoid implicit linking to standard C++ library (we link it explicitly ourselves)
2023-12-02 19:21:44 +03:00
Alibek Omarov
40c9a2fb82
engine: make Mod_SampleSizeForFace accept const surface
2023-12-02 18:01:57 +03:00
Andrey Akhmichin
a34c22fb10
engine: client: add support for "mp3 playfile/loopfile" commands.
2023-12-02 01:10:38 +03:00
Alibek Omarov
2d2e03f235
engine: server: reset edict in ParseSaveTables like GoldSrc does which fixes messed up entities in mods that have advanced save-restore system (thanks to vasiavasiavasia95 for figuring out this bug)
2023-11-27 18:42:50 +03:00
Alibek Omarov
4c3c3529e9
engine: network: rename length variable to something that makes sense. Add usage line to http_addcustomserver
2023-11-26 23:20:46 +03:00
Alibek Omarov
7051b844ff
engine: network: set HTTP buffer to 8kb on all systems, without depending on random constant like BUFSIZ
2023-11-26 23:19:49 +03:00
Alibek Omarov
68377435c8
engine: server: remove legacy light -> light_level entity key rewrite
2023-11-26 02:23:52 +03:00
Henry Ford
e7e1677786
engine: common: comply with C89 in OpenBSD wai_getExecutablePath
2023-11-25 14:29:52 +03:00
Henry Ford
f330aac113
engine: common: dont inlcude ucontext.h on OpenBSD where it doesnt exist
2023-11-25 14:29:52 +03:00
Alibek Omarov
9fcd4baa87
engine: client: gameui: expose animated_title and hd_background flags to main menu API
2023-11-22 11:01:18 +03:00
SNMetamorph
5216cccef4
engine: server: added singleplayer check for userinfo update
2023-11-20 00:14:30 +03:00
SNMetamorph
a87f399e68
engine: client: revert export for pfnSPR_Load and pfnSPR_Frames functions
...
This needed for native support GoldSrc Monitor utility.
2023-11-20 00:14:06 +03:00
Alibek Omarov
83d26ad233
engine: server: add sv_allow_autoaim cvar
2023-11-20 00:11:10 +03:00
Alibek Omarov
0aa8a2891c
engine: client: add gles3compat to renderers list
2023-11-03 17:03:27 +03:00
Velaron
5c90e716cb
engine: platform: android: refactoring
2023-11-03 16:40:06 +03:00
Alibek Omarov
71b06801ef
engine: platform: android: remove dead code
2023-11-03 14:48:28 +03:00
Alibek Omarov
cfc7b35927
engine: client: don't leave the user without mouse cursor if they enabled m_ignore
2023-11-03 14:48:28 +03:00
Alibek Omarov
76564958d1
engine: host: hide -nativeegl for Android SDL builds
2023-11-03 14:48:28 +03:00
Alibek Omarov
e21fa4a910
engine: add cvar r_refdll_loaded to indicate currently loaded renderer (for menu options and etc)
2023-10-31 21:52:00 +03:00
Alibek Omarov
a41902bd46
engine: mod_bmodel: detect water textures by texture name like LoadSurfaces does
2023-10-31 21:52:00 +03:00
Alibek Omarov
597429cf41
engine, filesystem: unify GetNativeObject between all the APIs. Allow getting filesystem APIs through GetNativeObject
2023-10-31 21:25:11 +03:00
Alibek Omarov
5ea074a1fd
engine: fix build issues pointed by @Velaron
2023-10-31 21:01:42 +03:00
Alibek Omarov
a62a9429c9
engine: launcher: remove Windows code from single binary launcher, as Windows completely supports running from external launcher and don't need dedicated builds
2023-10-31 04:30:22 +03:00
Alibek Omarov
f7c536b81c
engine: server: allow loading maps from subdirectories as this is used by some Half-Life mods
2023-10-29 02:44:46 +03:00
Alibek Omarov
4d7d592918
engine: mod_bmodel: completely get rid of global loadmodel pointer
2023-10-28 16:06:00 +03:00
Alibek Omarov
c5e91f299b
engine: mod_studio: reduce dependency on global loadmodel pointer, make it private for brush model loader
2023-10-28 15:38:40 +03:00
Alibek Omarov
cff276db71
engine: client: mod_dbghulls: reduce dependency on global loadmodel pointer
2023-10-28 15:35:20 +03:00
Alibek Omarov
30d1492b93
engine: remove Set/GetCurrentLoadingModel from RefAPI
2023-10-28 15:22:21 +03:00
Alibek Omarov
f07eea5073
engine: server: allow server unloading for Win32 targets until we figure out the issues with MetaMod
2023-10-28 11:14:12 +03:00
Alibek Omarov
78bc177e05
engine: server: remove unused host struct field
2023-10-28 11:06:18 +03:00
Alibek Omarov
8fb908e3d4
engine: server: disable SV_UnloadProgs, only call it when shutting down engine
2023-10-28 11:06:18 +03:00
Alibek Omarov
d8b261370a
engine: common: do not probe server to collect cvars for game.cfg (CHECK THIS)
2023-10-28 11:06:18 +03:00
Alibek Omarov
a2c9ac5b1f
engine: client: disable server DLL probe for GameUI, check it's existence instead
2023-10-28 11:06:18 +03:00
Alibek Omarov
7f9025e178
engine: server: sv_pmove: use model name for physent name to avoid crash when classname isn't initialized yet
2023-10-28 11:04:43 +03:00
Alibek Omarov
8647110a10
Revert "engine: wscript: move libasound uselib under linux condition, as the ALSA interface is only relevant for Linux"
...
This reverts commit 48e44f0057
.
2023-10-28 10:10:03 +03:00
Alibek Omarov
48e44f0057
engine: wscript: move libasound uselib under linux condition, as the ALSA interface is only relevant for Linux
2023-10-27 17:03:04 +03:00
Alibek Omarov
a5ee631191
engine: server: sv_game: disable searching closer to server library memory region for Android
2023-10-27 14:31:16 +03:00
Alibek Omarov
ce39255ef0
engine: host: set rootdir on Android SDL port
2023-10-27 14:25:16 +03:00
Alibek Omarov
061b50404d
engine: server: register dummy cvar sv_allow_dlfile for GoldSrc compatibility
2023-10-27 08:02:10 +03:00
Alibek Omarov
279cec5ae9
engine: rename cl/sv_allowdownload for GoldSrc compatibility
2023-10-27 07:25:09 +03:00
Alibek Omarov
6f6ddbce28
engine: add argument -timedemo that makes engine run timedemo and exit
2023-10-27 03:49:00 +03:00
Alibek Omarov
4cb425d2bb
engine: console: do not draw console and do not draw notify in timedemo
2023-10-27 03:47:52 +03:00
Alibek Omarov
96a9172e36
engine: platform: sdl: check that we're handling SDL errors according to it's documentation
2023-10-26 23:06:50 +03:00
Alibek Omarov
9e107e900c
engine: network: fix async NS resolve
...
If we're currently running NS resolving thread, any request would block.
Co-Authored-by: mittorn <mittorn@sibmail.com>
2023-10-24 18:11:31 +03:00
Alibek Omarov
8f819a2fde
engine: platform: sdl: fix forgotten icon setup call
2023-10-23 00:31:30 +03:00
Alibek Omarov
3ac8ad9484
engine: fixup endianness found by -Werror=strict-aliasing in old armv7hf compiler (d259421111289af3b49c055150e02213f39075a6)
2023-10-22 20:02:14 +03:00
Alibek Omarov
b9ca0d4563
engine: common: network: more simple IP address copying from sockaddr to netadr_t and back
2023-10-22 20:02:14 +03:00
mittorn
dcb3da53b0
engine/client: fallback to defaults in touch_reloadconfig if config not exist
2023-10-22 20:02:14 +03:00
mittorn
e68b19ed1a
engine/client: handle touch config aspect ratio, try correctly handle touch aspect on resizeable windows
2023-10-22 20:02:14 +03:00
mittorn
14c7a84482
engine/client: always save touch config if it was resetted manually (helps after writing broken/empty config)
2023-10-22 20:02:14 +03:00
mittorn
bee81e9723
engine: Make SDL_GetBasePath error not fatal
2023-10-22 20:02:14 +03:00
mittorn
1bfb6c560a
platform/sdl: add check for missing hint defines
2023-10-22 20:02:14 +03:00
mittorn
24d6f1788a
platform/sdl: workaround ubuntu SDL2 bug preventing resolving any extensions on EGL
2023-10-22 20:02:14 +03:00
mittorn
fb95cc9a97
engine/client: respect m_ignore in mouse client code as grabbing window breaks touch input
2023-10-22 20:02:14 +03:00
mittorn
b949da291e
engine: fix strict aliasing issues found by an old armv7hf compiler
2023-10-22 20:02:14 +03:00
Alibek Omarov
2ecbe5b67e
engine: add testing master server at mentality.rip:27011
2023-10-22 19:39:58 +03:00
Alibek Omarov
7d61b5317c
engine: client: add random key to the query, so we can validate master server response
2023-10-22 18:16:42 +03:00
Alibek Omarov
201258dc9e
engine: client: allow passing additional filter through internetservers command arguments
2023-10-22 17:58:28 +03:00
Alibek Omarov
0330569537
engine: client: remove master server queries from NetAPI, they are never used by mods
2023-10-22 17:49:52 +03:00
Alibek Omarov
2d79f3ef7a
engine: common: sys_con: enable writing build commit, os and arch to the engine.log
2023-10-22 17:37:09 +03:00
Ivan Avdeev
a251600c8a
engine: common: imagelib: add KTX2 support ( #1455 )
...
* engine: common: imagelib: add KTX2 support
Adds basic KTX2 support for a few compressed formats. KTX2 essentially
is a Vulkan-centric texture format that supports literally hundreds of
pixel formats.
For now only support for these is added:
- `VK_FORMAT_BC4_UNORM_BLOCK`
- `VK_FORMAT_BC4_SNORM_BLOCK`
- `VK_FORMAT_BC5_UNORM_BLOCK`
- `VK_FORMAT_BC5_SNORM_BLOCK`
- `VK_FORMAT_BC6H_UFLOAT_BLOCK`
- `VK_FORMAT_BC6H_SFLOAT_BLOCK`
- `VK_FORMAT_BC7_UNORM_BLOCK`
- `VK_FORMAT_BC7_SRGB_BLOCK`
Adding more formats is relatively straightforward:
- Copy format definition from `VkFormat` enum in `vulkan_core.h`
- Add a new definition into `pixformat_t` enum.
- Add format size calculation into `Image_ComputeSize()`
While we're at it, also adds a few new formats to DDS:
- BC4_UNORM -- PF_BC4_UNSIGNED
- BC4_SNORM -- PF_BC4_SIGNED
- BC5_UNORM -- PF_BC5_UNSIGNED
- BC5_SNORM -- PF_BC5_SIGNED
- BC7 is expanded into BC7_UNORM and BC7_SRGB
ref_gl and ref_soft code is updated where it made sense. But not tested
really. Support for these formats has been tested with ref_vk.
* address spaces-vs-parentheses formatting where noticed
* parenthesize sizeofs
* move ktx2.h to imagelib as img_ktx2.h; massage it a bit
* use SetBits() instead of |=
* remove stale TODO comments
2023-10-18 10:31:40 +03:00
mittorn
6041bb0a43
platform/sdl: fix safegl
2023-10-16 06:47:55 +03:00
Alibek Omarov
5501ca927a
engine: client: respect cl_allow_download and cl_download_ingame for legacy servers
2023-10-16 06:47:55 +03:00
Alibek Omarov
33be1b7591
engine: client: let time flow in Xash demos
2023-10-14 15:11:26 +03:00
Alibek Omarov
4acd0e5304
engine: platform: sdl: grab input only in true fullscreen mode
2023-10-11 16:49:49 +03:00
Alibek Omarov
cb1063c305
engine: platform: sdl: fix qboolean to window_mode_t conversions
2023-10-10 14:41:39 +03:00
Alibek Omarov
59bfc8c32f
engine: platform: sdl: fix qboolean to window_mode_t conversions
2023-10-10 14:41:05 +03:00
Alibek Omarov
b58fbc0c94
engine: platform: linux: fix according to platform.h changes
2023-10-10 14:12:53 +03:00
Alibek Omarov
46f38c84b5
engine: platform: dos: fix according to platform.h changes
2023-10-10 14:12:42 +03:00
Alibek Omarov
99f290b622
engine: platform: sdl: support borderless mode, slight refactoring
2023-10-10 14:11:28 +03:00
Alibek Omarov
680ecfefab
engine: platform: pass desired window mode through R_ChangeDisplaySettings
2023-10-10 14:11:06 +03:00
Alibek Omarov
7222c74000
engine: host: expose new -borderless flag in command line help
2023-10-10 14:09:05 +03:00
Alibek Omarov
1e43cb734b
engine: client: add definitions for borderless fullscreen mode
2023-10-10 14:08:06 +03:00
Alibek Omarov
cb19fa2f6d
engine: client: restore window maximized state after engine restart
2023-10-09 05:26:17 +03:00
Alibek Omarov
73fcb84b62
engine: client: console: remove unneeded return from Con_DrawConsoleLen
2023-10-09 05:24:58 +03:00
Alibek Omarov
3584d3d1a6
engine: client: yet another BloodStream fix, normalize input velocity vector
2023-10-09 05:24:29 +03:00
Alibek Omarov
e95139af94
engine: client: avoid unneeded comparisons in CL_UpdateFlashlight
2023-10-09 03:20:43 +03:00
Alibek Omarov
962f88d31b
engine: client: use physents for flashlight tracing, as GoldSrc does
2023-10-08 01:52:42 +03:00
Alibek Omarov
34fa1b5ec8
engine: remove PORT_CLIENT, we should randomize client port by default, thus allowing easier connections from same IP address
2023-10-05 11:06:04 +03:00
Alibek Omarov
bee35a1873
engine: client: do not check screenshots in base directory to guess the name
2023-09-13 18:49:10 +03:00
Alibek Omarov
e4ae386964
engine: network: fix incorrect usage of qboolean, when it should be net_gai_state_t
2023-09-12 20:40:14 +03:00
Alibek Omarov
706ef65208
engine: client: make unprefixed important userinfo cvars filterable, so servers won't be able to change them, for security
2023-09-04 02:39:34 +03:00
Alibek Omarov
435b95fc5a
engine: client: don't write download notify outside of window
2023-08-31 08:40:24 +03:00
Alibek Omarov
aeece35291
engine: soundlib: mp3: fix check for Unicode in ID3v2.4 TXXX tag
2023-08-30 22:57:39 +03:00
Emil Tomczyk
abd7f3dca3
engine: crashhandler: changed register names for NetBSD x86 ( #1414 )
...
Probably also needs change for x86_64
2023-08-30 18:53:41 +03:00
Alibek Omarov
1c9f333420
engine: server: fix attempting to free pool instead of an allocated memory
2023-08-30 18:52:44 +03:00
Alibek Omarov
75e5da071c
engine: platform: win32: fix calculating RVAs for LLP64
2023-08-29 19:18:22 +03:00
Alibek Omarov
52bd923d9d
engine: server: use generic host pool for temporary string allocation in case of PhysicAPI
2023-08-29 19:10:33 +03:00
Alibek Omarov
ab5a9eec53
engine: soundlib: snd_mp3: fix extra-format-args
2023-08-21 10:02:43 +03:00
Alibek Omarov
88916fdac4
engine: ref_api: remove dead XASH_TEXTURE4 definition
2023-08-21 10:02:18 +03:00
Alibek Omarov
4ed562697b
engine: soundlib: fix sizeof parameter in previous commit, I'm an idiot
2023-08-18 11:50:58 +03:00
Alibek Omarov
64166c7d82
engine: soundlib: fix slashes in Sound_GetApproxWavePlayLen, as it can be called from game DLL
2023-08-18 11:47:01 +03:00
Alibek Omarov
0df89bddeb
engine: common: ipv6text: accept changes from upstream GameNetworkingSockets
2023-08-08 19:38:57 +03:00
Alibek Omarov
3168e5ccf0
wscript: add an option to request and accept any servers
2023-08-08 09:24:10 +03:00
Alibek Omarov
72fe214f49
engine: server: pre-process string before passing it to PhysicAPI AllocString, for compatibility with existing Xash3D games
2023-08-07 21:11:20 +03:00
Alibek Omarov
08a2d431da
engine: client: cl_qparse: refactor quake baseline parser, so we don't call memset for nothing
2023-08-07 19:11:47 +03:00
Alibek Omarov
9968b192c3
engine: server: fix buffer overflow in invalid Q_strncpy call
2023-08-06 00:39:41 +03:00
Alibek Omarov
79f2c69963
engine: soundlib: missing newline in warning message about truncated WAV file
2023-08-05 04:05:23 +03:00
Alibek Omarov
2067667c9c
engine: fix inverted check in DLL unloading in settings.scr parsing
...
Fixes: aee99f6094
2023-08-03 02:40:02 +03:00
Alibek Omarov
e017b9145f
engine: common: cvar: fix buffer overflow in Cvar_ValidateString
2023-08-03 01:12:16 +03:00