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
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
Christoph Oelckers
979f1df281
Merge remote-tracking branch 'remotes/origin/master' into new_level_refactor
...
# Conflicts:
# src/g_level.cpp
# src/p_user.cpp
2019-02-05 13:49:07 +01:00