Commit graph

186 commits

Author SHA1 Message Date
Magnus Norddahl
1ac428a932 Pulled in some changes from "Rename the project" 2023-09-25 21:18:55 +02:00
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +02:00
Christoph Oelckers
4baabf98c4 - use stb-image for JPEG decoding.
the statically provided library did not provide any advantage over it whatsoever and even libjpeg-turbo's better performance cannot really play out here so ease of use and getting rid of a dependency wins.
2023-09-03 08:34:58 +02:00
Christoph Oelckers
53d8a5bb2c - Reverted JPEG XL support because the project is not really usable on vcpkg. 2023-08-23 18:18:45 +02:00
Cacodemon345
44a3bd719c JPEG XL implementation 2023-08-22 23:11:00 +02:00
Cacodemon345
145450a044 WebP image support 2023-08-22 19:14:21 +02:00
Cacodemon345
22271d146a Switch to vcpkg for library dependencies 2023-08-21 21:12:00 +02:00
Cacodemon345
14a3cf8fc2 CMakeLists upgrade to 3.16 and cleanup
* Remove precompiled header hack
* Fixes for compilation on VS2022 Debug configurations
2023-08-14 19:30:50 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02: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
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