Commit Graph

179 Commits

Author SHA1 Message Date
Rachael Alexanderson 64d4136699 Merge branch 'master' of https://github.com/zdoom/gzdoom into qz-master-2023-01-20 2023-01-21 11:53:37 -05:00
Magnus Norddahl 6a005e3a2a Switch vulkan backend to use the zvulkan library 2022-12-05 07:49:43 +01: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
James Le Cuirot 3f9842dabb Exclude the Discord RPC library from "all" in CMake
Otherwise the headers and separate library file get installed
system-wide with the rest of GZDoom.
2022-06-07 23:35:54 +02:00
Christoph Oelckers 80200da947 - fix libVPX detection 2022-04-26 20:50:35 +02:00
Christoph Oelckers 5aaabbeb01 - did some project file cleanup. 2022-04-26 20:50:34 +02:00
Rachael Alexanderson 85c432c699 - Discord RPC presence. Adds new IWADINFO and GAMEINFO keys: DiscordAppId - this should point to your AppId for your game. It will use a default GZDoom one if not found. 2022-03-09 22:45:59 -05: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
Rachael Alexanderson 88fd8d01a6 - redo branding for QZDoom 2021-10-28 05:11:05 -04:00
alexey.lysiuk bc33856875 - bump minimum macOS version to 10.12
src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h:2450:18: error: 'shared_mutex' is unavailable: introduced in macOS 10.12
2021-10-18 09:47:44 +03:00
Rachael Alexanderson 4e88a25d38 - readd widepix as content 2021-10-16 15:29:18 -04:00
Christoph Oelckers 441cd0796f - merged gzdoom-gles2 and fixed some issues with pipeline size validation. 2021-08-03 20:12:19 +02:00
Cacodemon345 14ffe3537f Clear CMAKE_REQUIRED_FLAGS if backtrace facility isn't found 2021-05-18 22:47:33 +03:00
alexey.lysiuk 49b289d54e - enabled Vulkan support by default
Recent models of Raspberry Pi have Vulkan drivers, ARM-based Macs support it as well
2020-12-27 13:29:43 +02:00
Rachael Alexanderson 7479648083 - add widescreen loader, and a bare pk3 2020-10-26 09:56:58 -04:00
alexey.lysiuk 34a8a9302f - removed obsolete probing of C++ standard for GCC and Clang
CMake try_compile() function still requires explicit command line option
2020-10-18 11:34:39 +03:00
alexey.lysiuk d4bb2fa418 - fixed detection of Apple's Clang 2020-10-17 13:33:22 +03:00
Christoph Oelckers d6e962c91e - upgraded code base to C++17.
Mainly to allow using 'if constexpr'.
Older CI compiler setups like GCC 5 for Linux were removed as a consequence.
Windows 32 bit was also removed because there are no plans to do any more 32 bit releases of GZDoom.
2020-10-17 11:39:59 +02:00
Christoph Oelckers 652712d970 - moved Vulkan and Softpoly backends to 'common'. 2020-04-29 22:17:35 +02:00
Christoph Oelckers 6934aebbe6 - fixed typo in HAVE_SOFTPOLY. 2020-04-22 21:57:59 +02:00
Christoph Oelckers 12e69adec3 - system backend cleanup.
This is mainly for running CI on Linux and macOS. Windws is already working.
2020-04-22 19:57:14 +02:00
Christoph Oelckers 7b292cca57 - split the serializer in two to keep the Doom specific parts out of the main file. 2020-04-11 20:20:53 +02:00
Christoph Oelckers f8ac9a2662 - moved DObject and core parts of the VM to 'common'.
# Conflicts:
#	src/common/objects/dobject.h
2020-04-11 20:20:51 +02:00
Christoph Oelckers 2dd3c28d05 - transitioned engine to use ZMusic as a DLL. 2020-02-09 08:56:49 +01:00
alexey.lysiuk 4dc6ea4091 - set macOS deployment target in CMake
Removed explicit version selection from Travis configuration
Bug in particular version of CMake requires CMAKE_OSX_SYSROOT to be set to existing SDK name for Xcode 8
https://cmake.org/pipermail/cmake/2012-November/052649.html
2020-01-05 10:50:14 +02:00
alexey.lysiuk 46270326be - implemented str(n)icmp function definitions via CMake macro 2019-10-05 14:47:36 +03:00
alexey.lysiuk c09f196141 - applied fast math flags to C and C++ files
Avoid copy-paste using CMake macro
2019-10-05 14:41:21 +03:00
Christoph Oelckers cdf2a17c5a - moved the sound decoding code to the zmusic project.
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
2019-09-29 12:48:12 +02:00
Christoph Oelckers cfe89ef6e6 - created a new zmusic library which will eventually contain all the music playback code.
Currently all it contains are the MIDI sources and the MIDI devices, the rest needs to be reworked first.
2019-09-28 18:32:25 +02:00
Christoph Oelckers d3df422031 - made the OPL synth backend a separate library. 2019-09-26 20:06:39 +02:00
Christoph Oelckers 4ba8da290c - made WildMidi a library. 2019-09-25 19:38:48 +02:00
Christoph Oelckers 7962bf189e - made the Timidity(GUS) device a separate library. 2019-09-24 23:43:44 +02:00
Christoph Oelckers 115d1cb182 - made the Timidity++ backend a library, now that it has no dependencies on GZDoom anymore. 2019-09-23 14:27:43 +02:00
Christoph Oelckers b3a9884eb1 - gave libopen the same treatment and made it its own subproject 2019-09-23 10:03:18 +02:00
Christoph Oelckers 84cc7cbdd2 - made libadl its own library subproject.
This is to improve compile times because the MSVC compiler tends to become slow with large lists of source files in a single project.
This new project is still our stripped down copy of libadl, not the original, because that project contains a large amount of baggage we do not need.
2019-09-23 10:03:17 +02:00
Christoph Oelckers 7916cebdc1 - merged the Hacx extra stuff into zd_extra.pk3 and added the ability to inject data into the resource directory after the IWAD so that the base resources can provide content that can override IWAD data if broken or not usable.
Hacx in particular needs this to fix a handful of buggy actors and to override the IWAD's MAPINFO which is not localizable.
2019-07-15 21:23:46 +02:00
Christoph Oelckers 79ad3e6203 - define _WIN32_WINNT to 0x600 (Vista) in the CMake project instead of littering all files with inconsistent settings for the target version. 2019-07-14 16:55:01 +02:00
Christoph Oelckers ed6ab39b2d - moved third party library projects to a subfolder to reduce size of the root. 2019-07-14 15:06:54 +02:00
Christoph Oelckers b087f3f4ed - added Hacx localization support.
Unlike the other games this required a bit of patching of the IWAD's data with a new MAPINFO so it needs to be in a separate .pk3 file loaded after the IWAD.
Since this needs to be loaded after the IWAD it was also possible to add a small DECORATE lump which fixes a few errors inherited from the original Dehacked patch, like monster counting bugs and unintentionally shootable decorations.
2019-07-13 20:29:29 +02:00
Christoph Oelckers 3810d9beb3 - Make HAVE_VULKAN an option so that it can be disabled
Had to compile on a Mac with no MoltenVK and no Vulkan SDK.
2019-06-27 09:10:20 +02:00
Christoph Oelckers 3030a6d389 - set Visual C++ compiler to use /permissive- mode and fixed the one error this generated.
This also means that Visual Studio 2015 is no longer supported as it has no proper standard conforming compile mode.
2019-06-20 20:25:34 +02:00
David Carlier 6ba8faa7fb Inclusion of check symbol cmake's module. 2019-06-02 08:28:30 +03:00
Danilo Spinella 1802b7c6fe Check for execinfo.h and add libexecinfo if needed
Some systems (e.g. musl) do not have execinfo.h header.
Check if libexecinfo (library that provides execinfo.h header
and its functions) is installed in the system, and add
its linker flag if needed.
2019-05-31 21:40:12 +02:00
Danilo Spinella f4f39becbd Add support for musl-fts library 2019-05-31 21:40:12 +02:00
Christoph Oelckers a0b0467e91 - restrict Vulkan to 64 bit builds. 2019-03-24 14:34:48 +01:00
Christoph Oelckers 413412f603 Merge branch 'master' into vulkan2 2019-02-23 19:53:38 +01:00
Christoph Oelckers 6be073f528 - removed the XP warning from the CMake project.
This now got even triggered in 64 bit and overall is mostly pointless, considering the extremely low user share of XP.
2019-02-23 13:07:43 +01:00
Magnus Norddahl c6b29846d0 - add 3rd party vulkan dependencies
- add stubs for a vulkan hw renderer backend
- add RAII wrappers for vulkan object types
- add builder classes to isolate vulkan boilerplate code
- add a swap chain class
2019-02-20 21:21:57 +01:00
Christoph Oelckers 868ac5adf8 - switched the Windows backend to use the Windows Unicode API.
With localization for non-Latin languages on the support list the multibyte API doesn't cut it anymore. It neither can handle system text output outside the local code page nor can an ANSI window receive text input outside its own code page.
Similar problems exist for file names. With the multibyte API it is impossible to handle any file containing characters outside the active local code page.

So as of now, everything that may pass along some Unicode text will use the Unicode API with some text conversion functions. The only places where calls to the multibyte API were left are those where known string literals are passed or where the information is not used for anything but comparing it to other return values from the same API.
2019-02-14 22:23:33 +01:00
Christoph Oelckers 4c2aa1158e Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-02-05 13:56:37 +01:00