Commit Graph

289 Commits

Author SHA1 Message Date
SNMetamorph
26e09c240a engine: platform: added Platform_SetCursorType 2022-05-02 03:29:24 +03:00
SNMetamorph
15eb6808c4 engine: platform: updated clipboard read/write functions 2022-05-02 03:29:24 +03:00
Alibek Omarov
81c4acab66 platform: sdl: fix right mouse button issuing wrong key code 2022-04-10 19:40:11 +03:00
SNMetamorph
66dc20dc2d engine: platform: con_win: fixed console window visibility without developer mode (fix #818) 2022-04-08 14:18:38 +03:00
SNMetamorph
22815d2784 engine: server: sv_main: added status line for dedicated server console 2022-04-06 15:17:15 +03:00
SNMetamorph
95ee88720c engine: platform: win32: major refactoring of console code 2022-04-06 15:17:15 +03:00
Alibek Omarov
89baa633c8 engine: sdl: fix mouse activated when focus gained but not game is active 2022-01-28 01:20:14 +03:00
Alibek Omarov
abbd0f92a4 engine: input: fix incorrect client notifying about mouse button states 2022-01-13 15:52:59 +03:00
Alibek Omarov
a2f741fe8a engine: platform: sdl: try to fix 1.2 build 2022-01-04 08:39:11 +03:00
Alibek Omarov
d0a39ef492 engine: client: rework mouse input again, do what GoldSrc does, minimize SDL mouse calls 2022-01-04 08:39:11 +03:00
Alibek Omarov
284eeea3c3 engine: client: rework mouse input, use IN_MouseEvent for clientdll, don't emit mouse events when mouse is visible or touch emulate is used 2022-01-04 08:39:11 +03:00
Alibek Omarov
7cb06956c2 engine: platform: win32: fix compile 2021-12-28 00:16:06 +03:00
Alibek Omarov
ebfa8e6ffc engine: platform: android: fix compile 2021-12-27 03:19:50 +03:00
Alibek Omarov
4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
Alibek Omarov
25c0557f7f engine: platform: sdl: fix building with SDL1.2 2021-11-27 05:26:09 +03:00
Alibek Omarov
94dc74a37f engine: restrict potentially harmful engine commands 2021-11-23 05:23:38 +03:00
SNMetamorph
c366e25a10 ref_gl: cvar gl_wgl_msaa_samples renamed to gl_msaa_samples 2021-11-23 05:17:19 +03:00
Alibek Omarov
a0af256641 engine: library: fix saves on 64-bit Windows, compile custom loader only on x86 2021-06-27 00:03:39 +03:00
Alibek Omarov
f8e6033ae6 engine: move TIMER_LINUX to TIMER_POSIX, enabling dedicated builds for FreeBSD and other *nix platforms 2021-06-26 00:19:49 +03:00
Alibek Omarov
5bc4359a2f engine: implement platform neutral saves, now we can load saves made in Linux on Windows and vice-versa 2021-06-20 19:59:16 +03:00
Alibek Omarov
17d3eaa590 engine: win32: remove normal win32 library loader, from now on every win32 port must port custom loader 2021-06-20 19:59:16 +03:00
exstrim401
db3e71bfcc engine: Removed unused Haiku variables 2021-06-07 19:39:52 +03:00
exstrim401
2b436dced0 engine: Remove XASH3D_MIRRORDIR
also make XASH3D_GAME for all platforms
2021-06-07 19:39:52 +03:00
exstrim401
a89f9fa181 engine: Haiku BeGameLauncher support 2021-06-07 19:39:52 +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
ca84a1a10e engine: fix building with SDL older than 2.0.4 2021-03-01 21:48:31 +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
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
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
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
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
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
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
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
Velaron
03668116d7 platform: win32: COM_CheckLibraryDirectDependency fixes 2020-09-03 22:04:13 +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
mittorn
e96271a8a9 platform/android: make host.state actual in Android_UpdateSurface call 2020-07-12 05:16:08 +07:00
mittorn
f0c9aa1585 vid_android: workaround small output buffer 2020-07-10 09:51:00 +07:00
mittorn
4515d3e3cb platform/android: implement native software blitter, fix lost context on resize, fix safegl 2020-07-08 08:48:46 +07:00
mittorn
bef873e1f8 platform/android: enable dynamic dladdr, fix build 2020-07-08 08:45:24 +07:00
mittorn
98ffbaf87a android: fix fallbacks 2020-07-07 00:22:01 +07:00
Alibek Omarov
82c54b1b54 engine: disallow zero-width strings for getenv() 2020-04-19 13:02:51 +03:00
Alibek Omarov
88ab42cc15 Merge branch 'master' of https://github.com/FWGS/xash3d-fwgs 2020-03-29 17:46:12 +03:00
Alibek Omarov
89ca0dec5e platform: android: slightly more verbosity 2020-03-29 17:44:23 +03:00
FOTMarut
79a7b7b1a3 engine: platform: sdl: Fix mousewheel in SDL2
- See issue 143
- Tested on SDL2
- Untested on SDL1.2
2020-03-29 11:27:08 +03:00
mittorn
84a3f6883d sdl: add EGL hint 2020-02-25 12:59:04 +07:00
mittorn
02c68c3a70 platform/sdl: add missing Platform_Shutdown 2020-02-08 23:48:52 +07:00
mittorn
a0d09c9954 lib_static: fix warnings 2020-02-08 23:39:35 +07:00
mittorn
70cc52e203 posix/sdl: fix build 2020-02-08 23:38:19 +07:00
mittorn
51849c6140 platform: DOS4GW port 2020-02-08 23:15:40 +07:00
mittorn
3e3aff040e platform: add Platfrom_Init, Platform_Shutdown, Platform_MouseMove move platform-specific code from host.c 2020-02-08 23:15:40 +07:00
mittorn
2b90790071 network: add stub for systems without BSD sockets, WATTCP support 2020-02-08 23:15:40 +07:00
mittorn
3a416636f1 engine: mark GAME_EXPORT's 2020-01-19 08:15:54 +07:00
mittorn
bbd033c254 lib: restore dll loader support 2020-01-19 07:38:37 +07:00
mittorn
22dc5b7416 Merge branch 'lib' of https://github.com/FWGS/xash3d-fwgs 2020-01-18 07:15:45 +07:00
Alibek Omarov
d0dbd185ad engine: android: fix enum-conversion 2019-12-23 06:55:00 +03:00
Alibek Omarov
8399107826 engine: platform: android: remake video backend to use EGL through Java code 2019-12-02 01:01:39 +03:00
Alibek Omarov
fec0a6baf6 engine: platform: android: change package name 2019-12-01 02:17:51 +03:00
Alibek Omarov
0c3be639c5 engine: reliably tell client.dll about vid mode changes 2019-11-26 02:47:48 +03:00
Alibek Omarov
9421457b3a engine: big refactoring commit, instead of using platform-specific platform-specific macros, use appropriate macros set by public/build.h 2019-11-24 03:52:08 +03:00
Alibek Omarov
744f75d4a3
engine: linux: simplify Platform_DoubleTime 2019-11-20 16:45:55 +03:00
mittorn
37435365e2 platform/posix: fix _GNU_SOURCE define in lib_posix 2019-11-18 23:48:49 +07:00
mittorn
94fc0febc7 fix some comments 2019-11-18 21:13:21 +07:00
mittorn
177f8ed653 platform: introduce lib backends, add static linking, wscript: add optional projects support, add static linking support, scripts: add xshlib for advanced linking options 2019-11-18 03:31:55 +07:00
Alibek Omarov
0636dc45bd engine: sdl: fix resizing event handling 2019-11-12 02:04:18 +03:00
Alibek Omarov
4b930c7854 Revert "engine: platform: magx: add pre-init platform-specific hook"
This reverts commit 2958b14cc2.
2019-11-07 05:06:24 +03:00
Alibek Omarov
0cb591821a Merge sdl12-port into master 2019-11-06 22:29:04 +03:00
Alibek Omarov
79adaa11e0 lowmemory: merge 2019-11-05 01:15:31 +03:00
mittorn
1365020302 ref: add enum for screen rotation 2019-11-04 20:27:46 +07:00
Alibek Omarov
1f308a43c8 engine: fix build after lowmemory rebase 2019-11-02 08:56:07 +03:00
Alibek Omarov
2958b14cc2 engine: platform: magx: add pre-init platform-specific hook 2019-11-02 08:56:07 +03:00
Alibek Omarov
aa6674b032 engine: support compiling with gcc3 2019-11-02 08:56:07 +03:00
Alibek Omarov
9d826016b0 engine: finish sdl1.2 port 2019-11-02 08:56:07 +03:00
Alibek Omarov
4d5e7c0557 platform: minify changes, use SDL_VERSION_ATLEAST macro(left unfinished) 2019-11-02 08:56:07 +03:00
Alibek Omarov
8dafbaeda2 engine: platform: sdl: dirty wip sdl1.2 port 2019-11-02 08:56:07 +03:00
Aimless-Wanderer
00e5d42459 platform: android: fix macros 2019-10-31 18:42:34 +03:00
mittorn
291fdfac68 platform/evdev: add some keys, add keyevent debug 2019-10-31 13:22:58 +07:00
mittorn
7f6395fa7d ref: display transformation API 2019-10-31 01:36:07 +07:00
Alibek Omarov
e3c3b05396 engine: platform: android: don't check if XASH_ENGLIBDIR and XASH_GAMELIBDIR are null. Load library by direct path if PATH_SPLITTER was found. Partially fixes #74 2019-10-30 16:55:00 +03:00
Alibek Omarov
6e637456ef platform: define platform-specific posix-compatible library loaders as macros to reduce macros hell in lib_posix.c 2019-10-30 16:46:18 +03:00
mittorn
feb01b270e zone, platform: add swap allocator 2019-10-26 12:10:50 +07:00
mittorn
6723758edc platform/alsa: fix case when buffer size is POT, improve latency, calculate sample count 2019-10-26 05:49:23 +07:00
mittorn
23956a0b82 platform: alsa support 2019-10-25 09:04:52 +07:00
mittorn
803c396fa2 platform: new fbdev bakend, move in_evdev to bakends 2019-10-22 01:42:02 +07:00
Alibek Omarov
8be58bcd21 engine: android: fix EGL context create error condition 2019-10-11 17:36:56 +03:00
Alibek Omarov
06e38b45c8 engine: android: don't throw host error when initializing software renderer on Android 2019-10-11 11:53:52 +03:00
Alibek Omarov
d3dd671759 engine: android: quick hack to load libraries on aarch64 until we don't symlinking lib folder 2019-10-11 11:50:21 +03:00
Alibek Omarov
fa622168a0 engine: fix style, disable XASH_USE_SELECT 2019-10-11 08:51:30 +03:00
Alibek Omarov
6e2dbd4e1c engine: android: get rid of VLA 2019-10-05 03:33:13 +03:00
Alibek Omarov
fbb88a55cb engine: linux: fix C89 2019-10-05 02:10:46 +03:00
Alibek Omarov
dc207a449c engine: fix -Werror=strict-prototypes 2019-10-05 02:09:45 +03:00
mittorn
da11da97ad android: enable touch support 2019-09-28 20:09:26 +07:00
mittorn
0afc3d83c6 android: add stub for Platform_PreCreateMove 2019-09-28 04:26:19 +07:00
Alibek Omarov
5040cb83d0 engine: win32: lib: oops, fix wrong sizeof 2019-09-27 17:02:04 +03:00
Alibek Omarov
2b385ff1f4 engine: win32: lib: try to fix crash when checking dependencies 2019-09-27 16:56:20 +03:00
mittorn
7f3ee9ca71 input: merge touch support again. Fix m_ignore, fix EngineAppendMove 2019-09-27 02:19:03 +07:00
Alibek Omarov
4049c54511 engine: android: fix video backend not compiled 2019-09-19 18:17:56 +03:00
Alibek Omarov
07aa9595c0 engine: android: allow building dedicated on Android 2019-09-19 17:09:18 +03:00
Alibek Omarov
3032ce3bee engine: android: fix building dlsym_weak on latest NDK 2019-09-10 11:15:48 +06:00
Alibek Omarov
56938344b8 engine: win32: include shellapi.h 2019-08-09 03:07:56 +03:00
Alibek Omarov
00b9ac676e engine: win32: fix inconsistent dll linkage 2019-08-09 02:51:15 +03:00
Alibek Omarov
8bb6aa2c51 engine: don't include windows headers, as they globally included by port.h already 2019-08-09 02:46:29 +03:00
Alibek Omarov
7be094b563 sdl: vid: prevent infinite recursion if SDL failed create window with selected GL attributes 2019-08-03 19:01:35 +03:00
Alibek Omarov
2f8fec6b70 Remove trailing spaces, convert mistakenly put spaces to tabs. The most useful commit ever. 2019-07-19 20:23:08 +03:00
Alibek Omarov
4beba75159 engine: fix various compiler warnings 2019-07-13 23:25:03 +03:00
Alibek Omarov
b2895770b8 platform: remove unneeded argument from SNDDMA_Init 2019-07-12 22:42:13 +03:00
Alibek Omarov
1f7dfecf89 platform: posix: library: properly use directpath argument 2019-07-11 04:00:25 +03:00
Alibek Omarov
fa68108907 engine: input: adapt gamepad code for new engine, remove gamepad ids, as it was never used and probably will never be, small optimizations 2019-07-09 03:48:09 +03:00
Alibek Omarov
a8f7b4fc5c
win32: lib: remove unused variable, fix error message may be not printed 2019-06-30 17:26:57 +03:00
Alibek Omarov
f2d588574c sdl: vid: fix engine window being restored immediately after being maximized 2019-06-30 16:19:34 +03:00
Alibek Omarov
b5d9bf5dc8 engine: add a function to determine if library has direct dependency on chosen DLL(Win32 only) 2019-06-29 23:25:50 +03:00
Alibek Omarov
413882a8d5 sdl: fix typos 2019-06-29 23:25:00 +03:00
Alibek Omarov
c92f8f71a7 sdl: vid: allow to build with earlier versions of SDL2 2019-06-29 22:59:13 +03:00
Alibek Omarov
eb22ff53c4 sdl: vid: fix washed out screen on Windows and probably other platforms(#50) 2019-06-29 20:40:23 +03:00
Alibek Omarov
90ff7f24b3
sdl: vid: fix building with older SDL2 2019-05-29 18:41:43 +03:00
Alibek Omarov
db72378806 engine: android: fix building custom dlsym with NDK r19c, clean-up 2019-05-28 04:09:47 +03:00
Alibek Omarov
d596f4ea52 engine: android: vid: fix building with NDK r19c 2019-05-28 03:55:54 +03:00
Alibek Omarov
2e953bd1a9 ref_api: remove GL_OnContextCreated, remove return value of GL_RenderFrame 2019-05-12 18:02:59 +03:00
Alibek Omarov
57f9e7dda6 sdl: vid: fix forgotten return, slightly refactor SW_UnlockBuffer 2019-05-12 17:49:20 +03:00
Alibek Omarov
e9e4a1296d engine: android: fix possible crash in custom dlsym 2019-05-12 03:07:28 +03:00
Alibek Omarov
85c2126775 engine: android: implement egl context management 2019-05-12 03:06:55 +03:00
Alibek Omarov
fe14a360b4 engine: fix fs_offset_t/size_t conversion, const qualifiers 2019-05-02 19:12:23 +03:00
Alibek Omarov
29a48cb34c sdl: vid: fix disabling vsync when loading a level 2019-05-02 18:07:27 +03:00
Alibek Omarov
3fef353291 android: initial port 2019-05-02 18:07:03 +03:00
Alibek Omarov
1a700fd06b platform: move MSGBOX implementation to platform backends 2019-05-01 19:44:48 +03:00
Alibek Omarov
e3e2f3afe5 platform: move Sys_ShellExecute implementation to platform backends 2019-05-01 19:21:47 +03:00
Alibek Omarov
99478ba9bd sdl: vid: fix unitialized variables, better warning report 2019-04-13 21:49:01 +03:00
Alibek Omarov
211d3c5213 sdl: vid: refactor context creation, fix crash on exit on REF_SOFTWARE 2019-04-13 20:34:32 +03:00
mittorn
d5911b33b1 msvc8 support 2019-04-12 14:33:57 +07:00
mittorn
d5b6ccb3e2 ref: REF_SOFTWARE support with SDL_Surface/SDL_Renderer 2019-04-11 22:19:08 +07:00
Alibek Omarov
a9cf3357c7 ref: move GLES driver hint to SetAttribute as we don't choose GLES renderer in compile-time anymore 2019-04-04 22:43:33 +03:00
Alibek Omarov
92b89936b3 ref: make API thinner by moving simple calls into EngineGetParm(RenderGetParm with ref extensions), fix some UBs 2019-03-22 16:36:46 +03:00
mittorn
57320c0c25 ref: get rid of vidState, add GL_SwapBuffers to engine exports 2019-03-16 11:58:44 +07:00
Alibek Omarov
e5000742f1 ref: context creating prototype, not working yet 2019-03-16 05:15:32 +03:00
Alibek Omarov
234507b7f1 ref: fix all undefined references 2019-03-11 17:37:58 +03:00
Alibek Omarov
e193ac2c04 ref: more @mittorn's changes on RefAPI 2019-02-23 21:49:46 +03:00
Alibek Omarov
99bd7c81da ref: render code moved out of engine, doesn't compile, first API prototype 2019-02-18 21:25:26 +03:00
mittorn
23d0f33ad1 Refactor extension detection, add VBO detection 2019-02-07 00:36:15 +07:00
Alibek Omarov
103a2fccaa sdl: vid: rework safegl option 2019-01-27 02:26:23 +03:00
Alibek Omarov
7205f2d4fa sound: sdl: use SDL_setenv for crossplatform 2019-01-13 18:19:35 +05:00
Alibek Omarov
ac77bab967 sound: opensles: same fix applied for OpenSLES/Android backend 2019-01-07 04:17:40 +03:00
Alibek Omarov
9935e2c8d3 sound: sdl: set pulseaudio environment variables regardless of target OS, because PA is crossplatform 2019-01-07 04:09:55 +03:00
Alibek Omarov
80fc7209ed sound: move related function declarations to platform header. Remove unused. 2019-01-07 04:07:06 +03:00