Commit Graph

135 Commits

Author SHA1 Message Date
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
Rachael Alexanderson 9ed45c7e03 Merge branch 'master' of http://github.com/rheit/zdoom 2016-10-26 22:06:25 -04:00
Jason A. Yundt 4c420938c9 - Added install rules so that 'make install' works. 2016-10-26 20:57:42 -04:00
raa-eruanna 172f521002 Merge http://github.com/rheit/zdoom 2016-09-29 05:37:07 -04:00
Christopher Bruns 3ecd20c4a1 Enhance IDE list of PK3 source files using a more complicated approach than I had hoped for. 2016-09-29 00:43:23 +02:00
Christopher Bruns a83d1facdf Use GLOB_RECURSE and exclude file names with brackets, for a more complete list of PK3 source files for the IDE.
# Conflicts:
#	CMakeLists.txt
2016-09-29 00:43:22 +02:00
raa-eruanna 1b3f652abb Merge http://github.com/rheit/zdoom 2016-09-25 19:43:54 -04:00
Christopher Bruns a7044c9a8b Remove quotation marks that cause trouble with older versions of CMake. 2016-09-25 22:11:08 +02:00
raa-eruanna 9ecb7d44f7 Merge http://github.com/coelckers/gzdoom 2016-09-24 23:36:47 -04:00
Christoph Oelckers 6b02ea9871 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	CMakeLists.txt
2016-09-24 09:28:09 +02:00
Christopher Bruns e9f31e5f95 Fix tabbing of recent change to CMakeLists.txt to match previous version. 2016-09-24 09:17:18 +02:00
Christopher Bruns 19c3529d32 Add a comment describing my enhancement to the CMake PK3 target rule. 2016-09-24 09:17:17 +02:00
Christopher Bruns fa52c9d098 Add first level folder contents to SOURCES for PK3 targets, so I can open the files from Visual Studio.
(cherry picked from commit c378cd4ff0b901051671932a39e3cb56e82541f4)

# Conflicts:
#	CMakeLists.txt
2016-09-24 09:17:17 +02:00
Christoph Oelckers d128e28044 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-14 21:05:45 +02:00
raa-eruanna 81545d9b4e Merge http://github.com/rheit/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-14 02:24:59 -04:00
raa-eruanna b85e3b56e3 Establish QZDoom 2016-09-14 02:21:35 -04:00
Braden Obrzut fd53aefbf2 Added warning if building on Visual Studio 2015 without v140_xp. 2016-09-13 20:55:31 -04:00
Christoph Oelckers f4e4221da7 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-05 21:51:54 +02:00