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
Rachael Alexanderson
e261132db0
- use char* get_current_dir_name() in Mac/Linux to save the cwd in the shell open function
2022-08-17 16:32:09 -04:00
Christoph Oelckers
8d3c1adf05
- do not use POSIX directory functions in common code.
...
For Windows these need to redirect to Unicode system functions to properly handle paths not representable in 8 bit encodings.
2022-08-17 10:02:25 +02:00
Christoph Oelckers
c5f4967871
- cleanup of Windows's I_OpenShell* functions
...
* do not use deprecated library features (wstring_convert was deorecated in C++17) - instead use the existing WideString utility.
* do proper calculation of the current directory's path length.
* remove the mostly redundant I_OpenShellFile function and instead use ExtractFilePath to get the config's path.
2022-08-17 00:31:22 +02:00
Rachael Alexanderson
64824430fa
- make shell folder functions unicode aware
2022-08-16 22:10:09 -04:00
Rachael Alexanderson
ee132372d8
- patch for this note: 03d76027cf (commitcomment-81265953)
2022-08-15 21:35:36 -04:00
Rachael Alexanderson
a9cadd345d
- change the way posix folders are opened - fixes issue #1707
2022-08-14 18:38:20 -04:00
Rachael Alexanderson
03d76027cf
- fix issue #1708 - respect user preferences when specifying custom save/config/screenshot paths
2022-08-14 15:03:20 -04:00
Rachael Alexanderson
dd07f6513f
- encapsulate folder/file names in quotes on Windows too
2022-08-14 10:38:15 -04:00
Rachael Alexanderson
259a8e0f74
- fixed: encapsulate folders for shell commands in quotes for Linux/Mac
2022-08-12 23:20:30 -04:00
Rachael Alexanderson
04a6fa321b
- use FString instead of std::string in the Windows shell functions
2022-08-10 18:13:49 -04:00
Rachael Alexanderson
82d0376520
- add openscreenshots
opensaves
and openconfig
console commands on Windows and Linux and Mac
2022-08-10 13:00:33 -04:00
Christoph Oelckers
aae85a1b91
- backported KDE detection from Raze.
2022-07-28 10:52:26 +02:00
Christoph Oelckers
93e934c8d0
- removed the Softpoly backend.
...
Its only relevant use case has been to use the software renderer on hardware not capable of OpenGL 3.3, but a large chunk of that can now be serviced with GLES.
In addition it has ceased further development and has not received any of the recent 2D render features which further reduces its viability.
2022-07-28 10:31:56 +02:00
Christoph Oelckers
d2454d4b3b
- DirectInput cleanup
...
Removing ancient code that's only useful on pre-XP OSs.
2022-07-20 14:41:06 +02:00
Christoph Oelckers
e4485b01f8
- removed redundant extern declarations from platform code.
2022-07-16 15:12:06 +02:00
nashmuhandes
c6ae73d6d2
- Expose ConsoleState to scripts
...
- Make ConsoleState uint8_t sized
2022-07-16 14:38:47 +02:00
Christoph Oelckers
0e90098de8
- rewrote Windows console code for Windows 10's new terminal.
...
This allows dumping a lot of shit code using deprecated Windows functionality and bringing the code in line with Microsoft's roadmap for terminal/console functionality.
Note that this will cause garbled output of non-ASCII characters on Windows 7 and 8.1, but proper handling on these declining systems is of far lesser importance than future-proofing the feature.
2022-07-15 13:04:02 +02:00
Christoph Oelckers
124d71a7be
- let the "abort" button on the network pane of the startup screen do a hard exit on Windows.
...
This merely posted a quit message which did not get properly processed and let the game run into other code with incompletely set up data.
2022-06-23 09:35:45 +02:00
alexey.lysiuk
cd998edf86
- added detection of macOS Ventura
2022-06-18 13:14:48 +03:00
Rachael Alexanderson
c8156fa581
- add keybinds for F17-F24
2022-06-01 10:23:08 +02:00
Christoph Oelckers
3b87c19b5b
- fixed startuo screen creation
2022-06-01 10:20:32 +02:00
Christoph Oelckers
7787a410ea
- Startscreen fixes.
...
* for Strife the game palette must be loaded before the start screen.
* increase update frequency of start screen to roughly 35 fps
* fixed Strife's laser sprite names.
* do not show the native progress bar if a graphical start screen is used.
2022-06-01 09:30:20 +02:00
Christoph Oelckers
077aa6b0ae
- cleaned out some duplicates in Posix platform code
2022-06-01 08:37:00 +02:00
Christoph Oelckers
59cddf1601
- hooked up graphical start screens with the in-game renderer.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
79f4a9c0f3
- removed the native graphical startup screens.
...
ENDOOM is already working with this commit, the start screens still require some work to connect them.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
d6886ed44f
- route the StartScreen#::Net... functions through a global interface.
...
These will require different treatment later, so best only have one place where each method is called.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
3b3a3a31e8
- Win32 i_main.cpp cleanup
...
Moved SetWndowTitle into the menu class
Removed the dead Windows session code
Removed the unused modules for Win32 core DLLs.
removed dynamic function calls for post-XP features
2022-06-01 08:36:59 +02:00
Magnus Norddahl
6670bc09b9
Create a MainWindow class that manages the main win32 window of the application
2022-06-01 08:36:59 +02:00
Christoph Oelckers
2c69afa118
- fixed SDL version check
2022-05-31 11:00:10 +02:00
Rachael Alexanderson
f1ad0961be
- remove m_filter
and simplify related code
2022-05-29 17:58:06 +02:00
Christoph Oelckers
265122bb97
- removed all remaining code for handling 4 bpp startup screens.
2022-05-01 15:04:58 +02:00
Christoph Oelckers
3f2374c0f9
- use 8 bit for Hexen start up as well.
2022-05-01 14:59:12 +02:00
Christoph Oelckers
82fe5b8150
- use 8 bit bitmaps for Heretic's startup screen.
2022-05-01 14:46:09 +02:00
Christoph Oelckers
7832ada2fc
- use the hex font for the Heretic/Endoom text screens.
2022-05-01 13:41:03 +02:00
Marisa Kirisame
eeb67bcec3
Use RDTSC equivalent on AARCH64.
2022-03-25 17:01:39 +01:00
Marisa Kirisame
0937068dad
Fix compilation on GCC7.
2022-03-15 18:12:53 -04:00
Marisa Kirisame
9578c23aa1
Use RDTSC on Linux if possible for stats.
2022-03-15 18:12:53 -04:00
Rachael Alexanderson
12ed24d066
- separate i_pauseinbackground
and i_soundinbackground
- they probably should ultimately be moved out of the sound code
2022-01-15 20:17:11 -05:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Rachael Alexanderson
312b5ce66e
- add SDL hint to not minimize the window on focus loss
2021-11-19 15:26:04 +01:00
Christoph Oelckers
c598d9bab7
- Backend update from Raze.
...
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
Christoph Oelckers
ce99cda019
- fixed compilation on non-Windows.
...
In this header we must explicitly use the std:: namespace for min/max.
2021-10-30 11:38:20 +02:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
alexey.lysiuk
8e1dd7d2c5
- removed obsolete code from Cocoa backend
2021-10-23 13:46:59 +03:00
alexey.lysiuk
8ec6c21195
- fixed deprecation warnings in Cocoa backend
2021-10-18 11:03:34 +03:00
Yarn366
6d8862b514
Added detection for IWADs downloaded via the Bethesda.net Launcher
2021-09-20 10:50:19 -04:00
Cacodemon345
567bff403a
Fix broken text input when SDL2 is using Wayland
2021-09-20 10:49:41 -04:00
Christoph Oelckers
67958833b7
Merge branch 'gles2_merge'
2021-09-17 21:22:41 +02:00
Christoph Oelckers
23a2ccec2b
- Consider 'Program Files' a read only location without actually checking.
...
Due to virtualization the actual check may not produce correct results, plus writing there is bad style anyway.
2021-09-15 00:39:18 +02:00
Christoph Oelckers
f783a94835
- treat 'vid_adapter 0' as what Windows considers the primary monitor.
...
Courtesy of https://devblogs.microsoft.com/oldnewthing/20070809-00/?p=25643
2021-09-12 10:02:30 +02:00
Rachael Alexanderson
92a3731f20
Merge remote-tracking branch 'origin/master' into gles2_merge
2021-08-13 08:11:58 -04:00
Christoph Oelckers
6a63d9e70e
- moved the CheckForRestart call one level up so that it is within the Windows code and does not need #ifdefs.
2021-08-10 22:17:00 +02:00
Christoph Oelckers
4505bfa4b8
- delay the restart action from the error pane until after everything has been shut down.
...
This cannot be done from a place where the old instance still can write to the config file, which happens only in the shutdown process.
2021-08-10 22:09:32 +02:00
alexey.lysiuk
747c291ae1
- fixed patch version in compatibility implementation of macOS detection
2021-08-07 12:37:18 +03:00
Cacodemon345
a067466dd8
SDL2: Properly print white bold text to the screen
2021-08-04 20:27:14 +03:00
Christoph Oelckers
441cd0796f
- merged gzdoom-gles2 and fixed some issues with pipeline size validation.
2021-08-03 20:12:19 +02:00
Christoph Oelckers
b82b5384a0
- Backend update from Raze.
...
* voc loader fix.
* better prefix detection in Zip loader.
* SDL Vulkan init.
* disabling of shadowmap management when the feature is off.
2021-08-03 12:52:21 +02:00
alexey.lysiuk
7a3d8bd0e5
- fixed crash after fatal error in SDL backend
...
https://forum.zdoom.org/viewtopic.php?t=72885
2021-07-28 09:50:34 +03:00
Cacodemon345
5b1b6f1db4
Add Windows 11 detection
2021-06-28 20:18:52 +02:00
alexey.lysiuk
256451115b
- report correct macOS version with older SDKs
...
When built against 10.15 SDK or earlier, macOS 11.0+ returns 10.16 for compatibility, and external process is needed to output the actual version for us
2021-06-15 10:35:33 +03:00
alexey.lysiuk
e166eeb13d
- added detection of macOS 12 Monterey
2021-06-08 10:25:05 +03:00
Cacodemon345
c1c4066c76
SDL: Report Vulkan initialization errors
2021-05-09 22:57:00 +03:00
Christoph Oelckers
52554dc32c
- Backend update fron Raze, mainly new script exports and extensions.
2021-05-03 14:13:03 +02:00
Cacodemon345
e4ada10e78
Remove support for SDL2 2.0.5 and earlier
2021-05-02 12:59:38 +03:00
Cacodemon345
3b50f7dfa6
SDL: Don't write garbage to output if it is redirected
2021-03-21 12:09:19 +02:00
alexey.lysiuk
952d43b884
- escape double quotes in Cocoa IWAD picker's extra arguments
...
https://forum.zdoom.org/viewtopic.php?t=71675
2021-03-08 11:44:14 +02:00
Christoph Oelckers
feb3520ee9
- added m_swapbuttons CVAR for the Windows RawInput and DirectInput backends.
...
The problem I discovered is that these backends do not respect the GUI-side system setting for swapping the buttons, so this needs to be done in-application so that swapped buttons can behave the same in the menu and the game.
2021-02-26 10:37:55 +01:00
Cacodemon345
a531c9c35f
Properly abort the program if the SDL window can't be created at all ( #1296 )
2021-02-24 15:27:42 -05:00