Commit Graph

801 Commits

Author SHA1 Message Date
exstrim401 b7922368bd
engine: Haiku OS support (#478) 2021-06-05 10:54:37 +03:00
Alibek Omarov 49a20a9ac5 engine: server: fix memleak after previous commit 2021-06-02 22:06:17 +03:00
Alibek Omarov 8966172ce0 engine: server: avoid crash if map entity doesn't have classname (tfc map flagwar for example) 2021-06-01 23:45:55 +03:00
Alibek Omarov ddd48c420b engine: decrease instanced baseline index by minus one to avoid zero offset which interpreted as no baseline at all 2021-06-01 21:52:33 +03:00
Alibek Omarov f31e9ae19e engine: server: fix bounds check in SV_GetFragmentSize 2021-06-01 18:35:38 +03:00
Alibek Omarov 4543008012 engine: server: declare sv_client_t::flags as unsigned 2021-06-01 17:58:33 +03:00
Alibek Omarov d54a648792 engine: common: avoid sign bit loss in MSG_WriteBitLong 2021-06-01 17:57:54 +03:00
Alibek Omarov 13a3f22001 engine: client: netgraph: add in_graph kbutton support, staticify netgraph 2021-06-01 17:57:03 +03:00
SNMetamorph 75e80bc2ff engine: server: fixed cvars sv_max/minupdaterate, sv_max/minrate 2021-05-30 09:40:03 +03:00
SNMetamorph 386ae2067b engine: client: another interpolation fix 2021-05-30 09:40:03 +03:00
SNMetamorph b289de26a6 engine: client: added cvar cl_nointerp for disabling interpolation 2021-05-30 09:40:03 +03:00
SNMetamorph 415f5baa1c engine: client: CL_LerpPoint hotfix 2021-05-30 09:40:03 +03:00
Velaron 4f31d7504a ref_api: fix remap info allocation (fixes #200) 2021-05-02 20:02:04 +03:00
Alibek Omarov 585955eb19 engine: filesystem: add an error message if we're trying to get a handle of a compressed file in ZIP archive 2021-05-02 01:20:18 +03:00
Bohdan Shulyar ddc4d76668
engine: common: add quote symbol escaping support (#411) 2021-04-04 22:03:02 +03:00
Alibek Omarov f5e400de69 server: fix wrong xashid key on server, it's uuid now 2021-03-28 01:57:40 +03:00
Alibek Omarov 9c8059ea96 engine: imagelib: add BGRA saving for PNG
Fix incorrect output, when input format has alpha but flags don't
have set IMAGE_HAS_ALPHA.
Flags are meant to control output format, but input format may be arbitrary,
as usually given by video driver(screenshots, etc)
2021-03-28 00:34:42 +03:00
Alibek Omarov c62db950f1 server: implement rcon redirection, add redirect command from old engine 2021-03-27 23:46:57 +03:00
Alibek Omarov 9c9953bb60 server: fix some cvars being registered incorrectly or not registered at all 2021-03-27 23:23:37 +03:00
Alibek Omarov acaf15c5d2 engine: increase MAX_LEGACY_SERVERS limit 2021-03-27 23:22:51 +03:00
Alibek Omarov 23974d24c3
engine: try to avoid broken -Werror=duplicated-branches for old GCCs 2 2021-03-24 19:11:17 +03:00
Alibek Omarov 868947cbb4
engine: try to avoid broken -Werror=duplicated-branches for old GCCs 2021-03-23 23:49:08 +03:00
Alibek Omarov e5a40fd745 server: fix password presence wasn't advertised to clients on info message #359 2021-03-15 03:40:46 +03:00
Alibek Omarov f2ab4c0d0e engine: cfgscript: don't let scr vars overwrite existing variables
we don't use them for storing settings anyway
only for reference in UI
2021-03-15 03:39:20 +03:00
Alibek Omarov 0ba1a8e7bc engine: cfgscript: reduce copypasted code 2021-03-15 03:38:10 +03:00
Alibek Omarov ed0ca2b2d2 engine: fix predicting oldbuttons 2021-03-12 00:10:51 +03:00
Alibek Omarov 26404315cb engine: filesystem: avoid unnecessary padding in private structs 2021-03-11 21:46:00 +03:00
Alibek Omarov be1958473b engine: filesystem: fix liblistgam converting to gameinfo when rodir was enabled 2021-03-11 21:42:35 +03:00
Alibek Omarov 331a2046c8 engine: net: fix delta incorrect casts when field is signed 2021-03-10 21:51:21 +03:00
Alibek Omarov 523798857b engine: platform: fix opensles audio 2021-03-10 13:45:02 +03:00
Alibek Omarov 2edc8b16ae engine: platform: fix sdl audio 2021-03-10 13:44:25 +03:00
Alibek Omarov a93d9ac71c engine: platform: simplify sound code
Remove SNDDMA_GetSoundtime, because it was mostly copypasted from one
platform code to another.
SNDDMA_GetDMAPos gets removed too, as we have dma.samplepos for that.
2021-03-10 00:16:13 +03:00
Alibek Omarov c68af64fe5 engine: platform: fix access to uninitialized audio subsystem when -nosound was passed 2021-03-10 00:03:12 +03:00
Alibek Omarov 3d9a4560d5 client: make sound cvars statically allocated, to avoid access to invalid pointers in the future 2021-03-09 23:59:29 +03:00
Alibek Omarov 9120d40ce5 engine: redefine CVAR_DEFINE_AUTO through CVAR_DEFINE macro 2021-03-09 23:58:21 +03:00
Alibek Omarov 4db2aaffc4 client: port fix of spk/speak commands from old engine 2021-03-09 23:34:12 +03:00
Alibek Omarov 155eb1ba58 engine: fix various warnings 2021-03-07 03:40:01 +03:00
Alibek Omarov efaf7ac622 engine: fix UB on MSG_BigShort 2021-03-07 03:39:16 +03:00
Alibek Omarov 0a818f3f3f client: add waveplaylen console command like in GoldSrc 2021-03-07 02:51:03 +03:00
Alibek Omarov fe2c4af8c2 engine: soundlib: make Sound_GetApproxWavePlayLen behave like in GoldSrc 2021-03-07 02:49:40 +03:00
Alibek Omarov 3e7dd30fd7 engine: soundlib: use stdint definitions for WAV headers 2021-03-07 02:48:56 +03:00
Alibek Omarov 42f47f51b5 server: implement GetFileSize and GetApproxWavePlayLen from HLSDK 2.4 2021-03-07 02:46:38 +03:00
Alibek Omarov aea9e8efa2 server: sv_validate_changelevel is deprecated now and disabled by default
If anyone wants this feature back, use +sv_validate_changelevel 1 in command line.
2021-03-07 02:20:30 +03:00
Alibek Omarov 585ae28dd2 server: fix some int <> unsigned int conversions 2021-03-07 02:00:46 +03:00
Alibek Omarov a813be7d54 client: add cl_showpos 2021-03-07 00:03:19 +03:00
Alibek Omarov e77957bc81 client: decrease visibility of some cvars 2021-03-06 23:40:04 +03:00
Alibek Omarov ca84a1a10e engine: fix building with SDL older than 2.0.4 2021-03-01 21:48:31 +03:00
Alibek Omarov 58edfbc485 engine: move cvars that expected to exist by client.dll from render dll to engine
Fixes #316
2021-03-01 20:03:32 +03:00
Alibek Omarov fa555c1f09 server: add hardcoded list of chapters for HL, BS and OF, same as GoldSrc
Fix incomplete comment in save file when server DLL provides SV_SaveGameComment.
Fix possible buffer overflow when reading comment from save file.
2021-03-01 19:53:17 +03:00
Andrey Akhmichin 75210b1ff6 engine: common: filesystem.c: add binary search for files from zip-archives. 2021-03-01 19:53:07 +03:00
Alibek Omarov b278751834 waf: upgrade to waifu 1.1.0 2021-02-28 15:39:22 +03:00
a1batross 3b192ca490 engine: sdl: don't free NULL vidmodes 2021-02-27 00:08:42 +03:00
SNMetamorph 56d5f08128 platform: win32: fixed crashes in COM_CheckLibraryDirectDependency 2021-02-26 16:05:34 +03:00
Alibek Omarov cf5ebd128c client: fix XASH_64BIT check 2021-02-26 16:04:45 +03:00
Ivan Avdeev 012d1fa8bd fix USE_MMAP usage
should fix CI failures
2021-02-26 16:04:45 +03:00
Ivan Avdeev 1b426b67e7 partially fix amd64 build on windows
Quality of this commit is questionable. I have no idea whether what I did
here makes sense or not.
But it compiles and runs (provided with hlsdk-xash3d amd64 build, which
is another story).

This omits necessary waf changes that are necessary to make a valid
64-bit build. Apparently it's not enough to just pass `-8` on Windows,
you also need to hack wscript to add `x64` target to MSVC. I'll do that
later when I figure out how.

This change is a precursor for RTX Vulkan effort --
VK_KHR_ray_tracing_pipeline and friends are only available on 64-bit
nvidia drivers (no idea about AMD, pls send GPUs onegai).
2021-02-26 16:04:45 +03:00
SNMetamorph 8d50049db7 netgraph: fixed data usage graphs rendering 2021-02-20 14:22:20 +03:00
SNMetamorph cba9fb1a07 vid_common: added vid_mode cvar for proper working VideoModes menu in game settings 2021-02-20 14:22:20 +03:00
Alibek Omarov 8090db2e75 netgraph: change netgraph buffer size for low memory mode 2021-02-01 10:06:55 +03:00
Alibek Omarov d7b3c7b681 engine: proper order for XASH_LOW_MEMORY definitions 2021-01-29 03:24:41 +03:00
lewa_j 63c4b2748c platform: win32: sdl: Fix zombie processes after early Sys_Error on windows+sdl 2021-01-16 01:13:57 +03:00
Gleb Mazovetskiy c95e847890 Fix joystick trigger thresholds
They were negative by default but they should've been positive:

> a value ranging from -32768 to 32767. Triggers, however, range from 0 to 32767 (they never return a negative value).
https://wiki.libsdl.org/SDL_GameControllerGetAxis

This fixes LTRIGGER and RTRIGGER (L2/Zl and R2/Zr on most gamepads)
2021-01-07 17:37:37 +03:00
Gleb Mazovetskiy 4daa7c23a0 SDL2 GameController: Map axes to engine explicitly 2021-01-07 17:37:37 +03:00
Gleb Mazovetskiy 3e8e751dc7 GameController: Add separate D-Pad bindings
1. Adds separate D-Pad bindings so that they don't conflict with arrow
   keys on the keyboard.
2. Also adds some basic defaults for gamepad buttons.
2021-01-07 17:37:37 +03:00
Gleb Mazovetskiy 12b579bc34 Fix R_CollectRendererNames
Previously R_CollectRendererNames left gaps in the `ref` subarrays.
This caused `R_Init` to fail in some cases because it iterates between `0` and `ref.numRenderers`.
2021-01-07 17:34:34 +03:00
Gleb Mazovetskiy 6d614e028a Fix COM_LibraryError newline handling
1. Do not append a trailing newline to the result of COM_GetLibraryError.
2. Fix call sites.
2021-01-07 17:33:09 +03:00
Gleb Mazovetskiy a234888d44 Remove DEFAULT_(ACCELERATED|SOFTWARE)_RENDERER
This is no longer needed as we now use DEFAULT_RENDERERS order priority
and only try to load the detected renderers.
2021-01-07 17:31:56 +03:00
Gleb Mazovetskiy 5e0a0765ce Trim all trailing whitespace
The `.editorconfig` file in this repo is configured to trim all trailing
whitespace regardless of whether the line is modified.

Trims all trailing whitespace in the repository to make the codebase easier
to work with in editors that respect `.editorconfig`.

`git blame` becomes less useful on these lines but it already isn't very useful.

Commands:

```
find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
```
2021-01-04 20:55:10 +03:00
Gleb Mazovetskiy 3af742f103 in_touch.c: Fix -Wpointer-to-int-cast 2021-01-02 18:01:53 +03:00
Gleb Mazovetskiy 9452a389a5 SDL GameController: Hotplug and multiple gamepads
1. Process events from all game controllers.
2. Support controller hotplug.
2021-01-02 18:00:36 +03:00
Alibek Omarov 766ef84af4 engine: ref: try to bruteforce all available renderers if we're failed to load requested one 2021-01-02 17:59:53 +03:00
Alibek Omarov 61fe9fd1fe engine: fix some left shifts on signed integers 2021-01-02 05:01:51 +03:00
Gleb Mazovetskiy 33ba1f25f3 sys_linux.c: Increase buffer size for /proc/self/status
Fixes #263
2021-01-02 04:21:01 +03:00
Gleb Mazovetskiy 2106eef4b2 system.c: Fix `Sys_Warn/Error` text buffer sizes
This was using the wrong define
E.g. `-dev 2 -help` output did not fit into it
2021-01-02 03:43:17 +03:00
Andrey Akhmichin 1332381e2d engine: server: simplified strings operations. 2020-12-29 20:20:25 +03:00
Andrey Akhmichin 5aef09ce5d engine: client: simplified strings operations. 2020-12-29 01:07:00 +03:00
Gleb Mazovetskiy 69e15e9c7b gl4es: Fix `so` name and add to renderer collector
1. `libref_gles2_gl4es.so` -> `libref_gl4es.so` because this is what's
    passed to `R_LoadRenderer`.

2. Add `gl4es` to `DEFAULT_RENDERERS` so that `R_CollectRendererNames`
   finds it.
2020-12-29 00:44:42 +03:00
Gleb Mazovetskiy 5a36a26dd1 Fix SDL_GAMECONTROLLER handling
1. Do not disable SDL_JOYSTICK events. Disabling these events causes
   game controller events to be disabled as well. Instead, filter these events out.

2. Fix button mapping (it was off by one).
2020-12-28 16:11:19 +03:00
mittorn 7b127c23f5 client: fix vgui leaving text input move enabled (breaks CTRL in SDL2) 2020-12-13 10:11:32 +03:00
Andrey Akhmichin abd9778ef3 engine: common: simplified strings operations. 2020-11-28 23:20:14 +03:00
Andrey Akhmichin cdcd139171 engine: studio.h: rename unused fields as "unused".
engine: studio.h: add assimp-like comments.
2020-11-27 22:06:05 +03:00
Andrey Akhmichin 88e1780c68 engine: studio.h: use vec_t instead of float. 2020-11-27 22:06:05 +03:00
Andrey Akhmichin 68e10d7b53 engine: studio.h: use C99 types. 2020-11-27 22:06:05 +03:00
Andrey Akhmichin 378b655cd2 engine: studio.h: add Paranoia 2: The Savior structures and macros. 2020-11-27 22:06:05 +03:00
Andrey Akhmichin c53985c0bc engine: common: imagelib: img_tga.c: refactor Targa encoder. 2020-11-18 18:54:25 +05:00
Alibek Omarov 2aaa6c6e04 public: build: add ARMv8 32-bit support, in case of someone actually uses it 2020-09-28 16:17:08 +03:00
Alibek Omarov 80a5c53cb2 engine: client: move ref state updating into standalone function 2020-09-14 14:33:43 +03:00
Agent Agrimar e4a71afe63 engine: client: update the ref state before R_NewMap is called
This fixes fades that occur at the beginning of a map being a tad screwy as a result of the ref state not being updated with fresh values, which only happens when a frame is being rendered (loading happens to prevent that).
2020-09-14 14:33:18 +03:00
Logan 5cdb35f508 Pass cl.viewentity into S_StartSound for pfnPlaySoundByNameAtLocation
This fixes a minor bug where sounds played via pfnPlaySoundByNameAtLocation (mainly from viewmodel animations e.g. MP5) would be left where it was emitted in the world, rather than following the local player as it does in Goldsrc.
2020-09-11 22:10:32 +03:00
Velaron 03668116d7 platform: win32: COM_CheckLibraryDirectDependency fixes 2020-09-03 22:04:13 +03:00
Velaron f3d8a2bcb0 client: vgui: don't fail if client path not given 2020-09-03 19:22:22 +03:00
Velaron 09ae961221 remove platform-specific macros 2020-08-24 21:22:02 +03:00
Velaron d015e97eae engine: client: m_rawinput support on windows 2020-08-24 21:22:02 +03:00
Velaron b4aecfbf23 engine: move some input code 2020-08-24 21:22:02 +03:00
Alibek Omarov d4003f9527 crashhandler: fix build 2020-08-23 20:33:17 +03:00
Alibek Omarov d30605c09f engine: fixes for dedicated 2020-08-23 19:02:15 +03:00
Alibek Omarov 9ff6d44178 crashhandler: remove unknown arch error 2020-08-23 19:02:15 +03:00
Andrey Akhmichin 065811cc46 engine: common: filesystem.c: do not load zip-archives with zip extension as bullet proof. 2020-07-27 18:59:50 +03:00
Andrey Akhmichin e69956c9ea engine: common: imagelib: img_png.c: set IMAGE_HAS_ALPHA flag only for RGBA images. 2020-07-22 14:37:40 +03:00
mittorn e96271a8a9 platform/android: make host.state actual in Android_UpdateSurface call 2020-07-12 05:16:08 +07:00