Alibek Omarov
cd681d4303
engine: replace anorms.h with compatible header from GPL WinQuake sources
2024-01-12 23:13:22 +03:00
Alibek Omarov
46f30e215c
common: replace netadr.h with compatible definition from GPL Quake-2 sources
2024-01-12 23:09:38 +03:00
Alibek Omarov
51d4716bcb
engine: client: rewrite trimming silence at the beginning and ending of the VOX word from scratch
2024-01-12 03:27:05 +03:00
Alibek Omarov
045caacfee
engine: client: drop skipping random 0.1 second of an ambient sound
2024-01-12 03:27:05 +03:00
Alibek Omarov
266f9a6bc6
engine: client: add support for parsing IPv6 server list
2024-01-09 16:59:06 +03:00
Alibek Omarov
69e801d6b8
engine: fix bug where user stucks after loading map/save while being connected to remote server
2024-01-09 04:16:52 +03:00
Alibek Omarov
371025dc8e
engine: dedicated: add TextureToGamma stub for imagelib
2024-01-09 03:55:07 +03:00
Alibek Omarov
caefa0b7b9
engine: remove cvar r_lighting_modulate, it's some unindentifiable legacy
2024-01-09 03:55:07 +03:00
Alibek Omarov
a311923d4e
engine: imagelib: apply texgamma to palette (ideally should be applied only to BSP/WAD textures)
2024-01-09 03:55:07 +03:00
Alibek Omarov
be0a241244
engine: client: add tests for new gamma implementation
2024-01-09 03:33:39 +03:00
Alibek Omarov
df6546d5b1
engine: client: add new gamma implementation
...
* immediately expose it in RefAPI. Bump RefAPI to version 7.
* remove VID_StartupGamma, it's not used anymore
* remove stub lightgamma and direct cvars
* add a temporary check for v_direct and v_lightgamma default values
2024-01-09 03:33:24 +03:00
Alibek Omarov
a0c31120d9
ref: add R_GammaChanged function that engine calls on every gamma change
2024-01-07 03:35:23 +03:00
Ruslan Piasetskyi
15bc09b06b
engine: platform: linux: Add gettid definition for old systems
...
The gettid() library support was added in glibc 2.30. Earlier glibc
versions did not provide a wrapper for this system call, necessitating
the use of syscall(2).
Also, put _GNU_SOURCE definition in the guard to avoid the warning:
../engine/platform/linux/sys_linux.c:16: warning: "_GNU_SOURCE" redefined
#define _GNU_SOURCE
<command-line>: note: this is the location of the previous definition
2024-01-06 13:43:35 +03:00
Alibek Omarov
380422a6dc
engine: client: refactor CL_AddEntityEffects, bring everything to GoldSrc behavior
...
Some effects are meant only for playeres, others only for normal entities
2024-01-05 04:10:45 +03:00
Alibek Omarov
be26ecf1c9
engine: client: don't spawn model effects for players, like GoldSrc
2024-01-05 04:09:20 +03:00
Alibek Omarov
d2bbe9dfd2
engine: client: don't spawn multiple model effects
2024-01-05 04:08:52 +03:00
Alibek Omarov
9c929c1405
engine: client: don't spawn particles if time is stopped
2024-01-05 02:59:47 +03:00
Alibek Omarov
9551240680
engine: host: fix -Werror=parentheses
2024-01-05 02:35:16 +03:00
Alibek Omarov
6605d0456c
engine: host: force ENGINE_STEP_POSHISTORY_LERP for Counter-Strike and Condition Zero
2024-01-05 02:27:37 +03:00
Alibek Omarov
99e8f7b486
engine: host: fix warning about incompatible features bits
2024-01-05 02:26:25 +03:00
Alibek Omarov
c56e876043
engine: client: don't reset runfuncs for demoplayback
2024-01-04 06:11:15 +03:00
Alibek Omarov
9773d11464
engine: client: disable MOVETYPE_TOSS interpolation in old protocol, but keep animtime hack for them
2024-01-04 05:53:04 +03:00
Alibek Omarov
3c28b11754
engine: client: cl_demo: fix usercmd in demo playback
...
I have no explanation why this works but it kinda does?
2024-01-04 05:48:45 +03:00
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