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
Christoph Oelckers
c4f7f01f31
- fixed optimization settings of RelWithDebInfo build to match the regular release version.
...
CMake sets RelWithDebInfo to only inline functions explicitly marked as such whereas Release is allowed to inline everything suitable.
2019-02-05 10:03:49 +01:00
alexey.lysiuk
2765159fc6
- disabled VM JIT completely on unsuported platforms
2019-02-04 15:53:35 +02:00
Rachael Alexanderson
6a9322e677
- force internal GME with any build environment created after this commit. if anyone is using a build environment from before - you will have to make sure to enable the relevant variable - or simply nuke and recreate. this applies only if you have the GME library installed on your system - if you were using the internal before, anyhow, you don't have to make any changes
2019-01-23 21:50:10 +01:00
Rachael Alexanderson
de88ca48ab
- force CMake to use internal asmjit. I left it in a state so that it can easily be changed back in the future.
2019-01-02 08:19:03 -05:00
Magnus Norddahl
369dcfd57f
Merge remote-tracking branch 'origin/master' into asmjit
2018-11-01 21:23:26 +01:00
Vitaly Novichkov
8450dc5fdb
Update GME up to 0.6.2 version
2018-11-01 00:15:41 +01:00
Magnus Norddahl
eb9d2b54f3
Merge remote-tracking branch 'gzdoom/master' into asmjit
2018-08-23 18:20:23 +02:00
Christoph Oelckers
7d40edd6ac
- disable runtime buffer security check in release build.
...
This has a minor but measurable effect on performance because it gets inserted into every function which uses a local stack space structure.
2018-08-14 21:29:14 +02:00
Magnus Norddahl
cbb945d8a7
- embed and use asmjit to JIT ZScript VM functions
2018-08-12 02:11:13 +02:00
drfrag666
720bb485be
- Disabled position independent executable for MinGW
...
This broke MinGW-w64 but was ignored with tdm-gcc.
2018-06-18 20:57:52 +02:00
alexey.lysiuk
ce18ff1df3
- use libc++ for all targets on macOS
...
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
2018-05-06 09:44:13 +03:00
alexey.lysiuk
c821b9c2d6
Updated JPEG library to version 9c
...
Reestablished a few initially removed features to use library's source code without modifications and updated readme file accordingly
http://www.ijg.org/
http://www.ijg.org/files/jpegsrc.v9c.tar.gz
2018-04-30 18:21:41 +02:00
Christoph Oelckers
5c7f2e0217
- removed some dumb CMake script that messed around with Visual Studio's user settings.
2018-03-25 17:51:23 +02:00
Christoph Oelckers
4c4f8288a4
- disable XP toolset warning for 64 bit builds.
...
- fixed an error with assigning a string constant to a non-const char * variable that was pointed out by compiling with /permissive-.
2018-03-25 10:50:14 +02:00
alexey.lysiuk
7dce4cfaf9
Added CMake option to suppress zipdir output
...
Cleaned up add_pk3() function a bit
2018-03-09 15:20:55 +02:00
alexey.lysiuk
25d53ecd2c
Enabled position independent executable for generic GCC/Clang
...
This affects mostly Linux (and probably MinGW) as default toolchains for Windows and macOS have the corresponding option turned on by default
2017-12-29 09:39:01 +02:00
Rachael Alexanderson
6044c46d39
- rename wadsrc_optionalassets wadsrc_extra
2017-09-09 05:54:07 -04:00
Rachael Alexanderson
b7f6126bcd
- First commit of archive split - preserve original assets
...
- Added: d_main.cpp now searches for "gzdoom_optional_assets.pk3" - this can be changed in version.h for fork authors.
- Updated forum links to point to ZDoom.org.
2017-09-07 04:08:09 -04:00
alexey.lysiuk
2f3cd7775a
Added list of Windows XP compatible toolsets to CMake
...
When generating projects for Visual Studio 2017 with v141_xp toolset CMake no longer warns about incompatibility with Windows XP
2017-08-23 18:02:44 +03:00
alexey.lysiuk
680d1b2dd6
Moved all CMake modules and launcher templates to designated directory
...
Let's not pollute root directory with various files
2017-04-23 14:49:36 +03:00
Christoph Oelckers
f0d741241d
- cleaned out most of the cruft from the docs directory and added a copy of the GPL v3.
2017-04-17 10:24:24 +02:00
Christoph Oelckers
c219811a54
- removed FMod as the last remaining piece of code that is not GPL compatible.
...
Please consider GZDoom as licensed under the GPL starting with this commit, even though the license headers have not been changed yet.
2017-04-17 01:06:54 +02:00
Christoph Oelckers
4cd0d3d454
- removed the Vector class in the GL renderer and replaced all its uses with FVector3.
...
- optimized the math to get a plane equation from a linedef. The original code used a generic algorithm that knew nothing about the fact that Doom walls are always perfectly vertical. With this knowledge the plane calculation can be reduced to a lot less code because retrieving the normal is trivial in this special case.
- use the SSE2 rsqrtss instruction to calculate a wall's length, because this is by far the most frequent use of square roots in the GL renderer. So far this is only active on x64, it may be activated on 32 bit later as well, but only after it has been decided if 32 bit builds should be x87 or SSE2.
# Conflicts:
# src/gl/dynlights/gl_dynlight.cpp
# Conflicts:
# src/g_shared/a_dynlightdata.cpp
2017-03-12 19:59:45 +01:00
Christoph Oelckers
ef3421eee5
- moved dynamic lights out of the GL code into the common game code.
...
Since the true color software renderer also handles them there is no point keeping them on the GL side.
This also optimized how they are stored, because we no longer need to be aware of a base engine which doesn't have them.
2017-03-12 19:57:06 +01:00
Rachael Alexanderson
536e8fad19
- Make QZDoom GZDoom again!
2017-03-09 11:51:42 -05:00
Magnus Norddahl
735157aea4
Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!)
2017-02-25 01:22:54 +01:00