Commit Graph

713 Commits

Author SHA1 Message Date
687e0b46d0 Merge remote-tracking branch 'origin/master' into HEAD 2021-03-01 20:06:17 +03:00
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
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
75210b1ff6 engine: common: filesystem.c: add binary search for files from zip-archives. 2021-03-01 19:53:07 +03:00
b278751834 waf: upgrade to waifu 1.1.0 2021-02-28 15:39:22 +03:00
Ivan Avdeev
06f3376e72 Merge remote-tracking branch 'upstream/master' into vulkan 2021-02-27 13:38:50 -08:00
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
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
Ivan Avdeev
fea484b946 Merge remote-tracking branch 'origin/master' into vulkan 2021-02-19 22:10:44 -08:00
Ivan Avdeev
cb483fdac1 fix USE_MMAP usage
should fix CI failures
2021-02-19 22:08:39 -08:00
Ivan Avdeev
1890df6de1 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-17 23:01:33 -08:00
8090db2e75 netgraph: change netgraph buffer size for low memory mode 2021-02-01 10:06:55 +03:00
d7b3c7b681 engine: proper order for XASH_LOW_MEMORY definitions 2021-01-29 03:24:41 +03:00
63c4b2748c platform: win32: sdl: Fix zombie processes after early Sys_Error on windows+sdl 2021-01-16 01:13:57 +03:00
Ivan Avdeev
0dcedece06 create vulkan instance; fix instance extension ref api 2021-01-09 16:05:55 -08:00
Ivan Avdeev
fa683fb882 fix vulkan handles width in 32-bit mode; print vk version 2021-01-09 14:05:34 -08:00
Ivan Avdeev
3e800fa989 start splitting into functional blocks; add vk funcs 2021-01-09 13:21:58 -08: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
Ivan Avdeev
5c99bb0979 ref_vk: add initial vulkan render stub
It does not work at all, but serves as an exercise to help me figure out
how to make renderers for HL/xash3d.
2021-01-02 17:52:53 -08: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
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
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
1332381e2d engine: server: simplified strings operations. 2020-12-29 20:20:25 +03:00
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
7b127c23f5 client: fix vgui leaving text input move enabled (breaks CTRL in SDL2) 2020-12-13 10:11:32 +03:00
abd9778ef3 engine: common: simplified strings operations. 2020-11-28 23:20:14 +03:00
cdcd139171 engine: studio.h: rename unused fields as "unused".
engine: studio.h: add assimp-like comments.
2020-11-27 22:06:05 +03:00
88e1780c68 engine: studio.h: use vec_t instead of float. 2020-11-27 22:06:05 +03:00
68e10d7b53 engine: studio.h: use C99 types. 2020-11-27 22:06:05 +03:00
378b655cd2 engine: studio.h: add Paranoia 2: The Savior structures and macros. 2020-11-27 22:06:05 +03:00
c53985c0bc engine: common: imagelib: img_tga.c: refactor Targa encoder. 2020-11-18 18:54:25 +05:00
2aaa6c6e04 public: build: add ARMv8 32-bit support, in case of someone actually uses it 2020-09-28 16:17:08 +03:00
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