Commit graph

163 commits

Author SHA1 Message Date
Christoph Oelckers
1717ff47b2 add GetChars() accessors to many FString uses where const char* is wanted.
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
Rachael Alexanderson
d33f2697a3 - set default backend to Vulkan, if Vulkan fails go GLES not OpenGL 2023-10-01 10:35:11 -04:00
Christoph Oelckers
b3cb2fafc7 stats 2023-09-20 19:49:54 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Professor Hastig
a5e1f3bcad - fixed M_GetSavegamesPath for Linux. 2023-09-14 16:31:48 +02:00
Christoph Oelckers
4906d287cb - use std::vector<std::string> to pass the file list to InitMultipleFiles 2023-08-22 22:54:52 +02:00
alexey.lysiuk
ae2fa11963 - added safeguards against very early access to console variables in Cocoa backend
for an unknown reason, application activation functions can be called way too early during app launch
`S_SetSoundPaused()` function tries to read values of `i_pauseinbackground` and `i_soundinbackground` console variables before their initialization leading to a null pointer dereference

https://forum.zdoom.org/viewtopic.php?t=78092
2023-08-22 14:58:06 +03:00
Christoph Oelckers
b5c1237f93 - removed NOVTABLE #define.
This was used on just two small base classes, the overall savings are zero.
2023-08-12 09:31:33 +02:00
Ricardo Luís Vaz Silva
6164d883c9 Fix Linux compilation 2023-08-02 00:37:24 -04:00
Ricardo Luís Vaz Silva
0192392256 Individual Joystick Enable/Disable Toggles 2023-08-02 00:37:24 -04:00
Joshua Watt
d2ac72129d posix: sdl: Stop reading STDIN on EOF
If EOF is read on stdin (such as when it is /dev/null), stop calling
select() on it. Otherwise, the code goes into an infinite loop
attempting to read from stdin which is always ready but never has any
data and it never calls the timer callback to progress.
2023-07-17 22:57:28 +02:00
Rachael Alexanderson
bc41356b35 - minor formatting fix 2023-06-19 04:38:35 -04:00
l2ksolkov
01dfcc7d95 Fix compilation on FreeBSD
Fixes #2073
Changes get_current_dir_name to functionally equivalent getcwd. Also moves "printf.h" to outside linux ifdef.
2023-06-19 04:31:18 -04:00
alexey.lysiuk
3ddf72104b - added detection of macOS 14 2023-06-11 12:14:58 +03:00
alexey.lysiuk
170cc8d7ba - reduced string duplication in macOS detection 2023-06-11 12:14:35 +03:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +02:00
Ricardo Luís Vaz Silva
9ca30826db Fix win32 mouse cursor permanently disappearing 2023-05-14 07:15:41 +02:00
Rachael Alexanderson
a5f0174e07 - addendum to previous commit: forgot one line 2023-04-30 10:50:14 -04:00
Rachael Alexanderson
e5fcb331df - remove vid_gpuswitch and all its handling; it is only as of now useful in old unsupported versions of Windows 7/8/10 which are no longer supported 2023-04-30 10:38:46 -04:00
Christoph Oelckers
47b76180d6 - fixed several warnings emitted by Clang. 2023-03-26 08:48:54 +02:00
Rachael Alexanderson
e29011ecde - (win32) increase compatibility with indirect renders/inputs - instruct the operating system that the cursor is actually hidden - for some API's this actually gives a hint that the cursor is grabbed, which allows for relative mouse movement. In particular, Parallels and Microsft RDP need this. 2023-02-07 13:47:39 -05:00
CandiceJoy
4d9e60574d Added scroll bar for wad picker to Linux.
Min height is set to 150 for GTK3, or none for GTK2.

Signed-off-by: CandiceJoy <candice@candicejoy.com>
2023-01-29 04:14:20 -05:00
Rachael Alexanderson
20eb821acb - indicate in the startup window title when GZDoom is compiled for ARM64 Windows 2023-01-17 02:36:21 -05:00
Sally Coolatta
45796505de Fix two different portable names
M_GetConfigPath uses GAMENAMELOWERCASE_portable.ini, but IsPortable() checks for GAMENAME_portable.ini. Doesn't have much of an impact on base GZDoom since it's case-insensitive, but can matter for engine forks -- IMO it should just be consistent either way.
2023-01-16 23:22:36 -05:00
Rachael Alexanderson
adfef56fd8 - fix OpenGL ES selection on the windows startup dialog 2022-12-21 11:04:41 -05:00
Magnus Norddahl
449501c75b Fix compile error on macOS 2022-12-05 07:49:43 +01:00
Magnus Norddahl
4c85f461b1 Avoid calling vulkan functions before the instance has been created 2022-12-05 07:49:43 +01:00
Magnus Norddahl
0a80ad3b83 Add missing forward declarations 2022-12-05 07:49:43 +01:00
Magnus Norddahl
cc96742d18 Add missing include statement 2022-12-05 07:49:43 +01:00
Magnus Norddahl
03ab65ab1e Fix linux compile errors from the zvulkan switch 2022-12-05 07:49:43 +01:00
Magnus Norddahl
6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01:00
Magnus Norddahl
7ae07d614e Add all the functionality from the win32 startup window to the GTK version 2022-12-05 07:48:21 +01:00
Rachael Alexanderson
f7f67114ed - move posix I_GetGogPaths() stub to program-specific code for use later 2022-11-24 17:40:26 -05:00
Christoph Oelckers
54f1cabed9 - backend update from Raze.
Progdir stuff for POSIX.
2022-11-13 07:44:36 +01:00
Christoph Oelckers
5ea57a6c64 - when converting to a portable install, flag the current session accordingly. 2022-11-06 10:59:33 +01:00
Christoph Oelckers
4e72281fc6 - Better messages on migration requester. 2022-11-05 13:31:22 +01:00
Christoph Oelckers
33afe45dda - changed Windows config and game data storage to prefer known folders over the program directory.
This matches modern software design standards, if a portable install is desired a config named "gzdoom_portable.ini" needs to be created in the program directory.
This may be an empty file for a first launch.
2022-11-05 13:28:31 +01:00
alexey.lysiuk
da33b0f9c3 - removed obsolete defaults from Cocoa backend
This legacy code from the time of exclusive fullscreen mode began to crash after changes in console variables handling
2022-10-24 09:57:36 +03:00
Christoph Oelckers
671b8696bb - made CVar declarations type safe again. 2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6 - reworked CVARs to not use a linked list and to be initialized manually.
This solves two problems:

* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Kevin Caccamo
83373d117d Fix compilation on POSIX (Linux/macOS) systems 2022-10-02 22:04:40 +02:00
Christoph Oelckers
2c29a93f1f - fixed compile. 2022-10-02 20:45:00 +02:00
Christoph Oelckers
9076145319 - handle autoload flags in startup through function parameters instead of directly accessing the CVARs. 2022-10-02 17:12:34 +02:00
Christoph Oelckers
65f6e788eb - moved gitinfo.h into the backend 2022-10-02 14:20:15 +02:00
Christoph Oelckers
307ff4e163 - pass filename to I_WriteIniFailed as parameter.
This accessed game data from the backend.
2022-10-02 14:08:07 +02:00
Christoph Oelckers
01f8131969 - moved chatmodeon to the backend. 2022-10-02 14:01:43 +02:00
Rachael Alexanderson
0eae1b9be2 - change the Linux/BSD version of system call to std::system 2022-08-18 00:42:27 -04:00
Christoph Oelckers
03c725c0da - use NSFileManager on macOS to handle the current directory. 2022-08-17 23:43:56 +02:00
Christoph Oelckers
532a493752 - get_current_dir_name apparently does not exist on macOS 2022-08-17 22:57:30 +02:00
Christoph Oelckers
7f3c09c918 - use get_current_dir_name for I_GetCWD on POSIX. 2022-08-17 22:51:39 +02:00