Christoph Oelckers
7962bf189e
- made the Timidity(GUS) device a separate library.
2019-09-24 23:43:44 +02:00
alexey.lysiuk
ca5ca8e974
- fixed C++ compilation flags applied to C files
...
This had an effect on 32-bit targets without SSE support
2019-09-24 11:53:18 +03: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
Magnus Norddahl
a410324084
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-25 11:54:45 +02:00
Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
alexey.lysiuk
c3edfdd946
- temporary solution to fix build of non-MSVC targets
...
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
2019-08-22 11:30:40 +03:00
Christoph Oelckers
38fec546a7
- moved the generic palette utilities and the matrix class to 'utility'
2019-08-20 23:05:20 +02:00
Christoph Oelckers
cf15ebc966
- inlined the entire ColorMatcher.
2019-08-20 23:05:19 +02:00
alexey.lysiuk
d9dcc26dc6
- set default magnification filter for Metal layer to nearest
...
Magnification filter is applied to swapchain image when it's copied to a physical display surface
This is needed for gfx-portability because MoltenVK uses nearest sampling by default
2019-08-04 13:37:47 +03:00
Magnus Norddahl
7940d5fe01
Merge remote-tracking branch 'origin/master' into polybackend
2019-08-04 02:22:55 +02:00
Magnus Norddahl
4adac3fe59
- move streaming uniform buffers out of VkRenderState
2019-07-28 16:28:43 +02:00
Magnus Norddahl
e6f6f10e81
Merge remote-tracking branch 'origin/master' into polybackend
2019-07-24 21:39:07 +02:00
drfrag
416f5d03b7
- Fixed compilation with MinGW.
2019-07-15 19:26:25 +02:00
alexey.lysiuk
f25e5c738c
- fixed compilation of Linux targets
...
src/../libraries/gdtoa/gdtoa.h:67:19: fatal error: arith.h: No such file or directory
2019-07-14 22:29:38 +03:00
Christoph Oelckers
7346288bf5
- moved some more files.
2019-07-14 21:09:49 +02:00
Christoph Oelckers
7351a76404
- move sound files to sound folder.
2019-07-14 17:48:55 +02:00
Christoph Oelckers
f50e402e92
- sorted sound backend code into subdirectories.
2019-07-14 16:07:18 +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
ec52e90e54
- moved more files out of the root src directory.
2019-07-14 14:39:21 +02:00
Christoph Oelckers
2a16fb9d28
- moved most remaining playsim code into its proper folder.
2019-07-14 13:59:16 +02:00
Christoph Oelckers
9045615a7a
- renamed g_shared folder to playsim.
2019-07-14 13:24:18 +02:00
Rachael Alexanderson
ba387f51f3
Revert "Install soundfonts and WOPL/WOPN banks"
...
This reverts commit 2d1c7ba17c
.
2019-06-14 07:51:18 -04:00
William Breathitt Gray
2d1c7ba17c
Install soundfonts and WOPL/WOPN banks
...
The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
installation directory.
2019-06-13 07:43:43 -04:00
Magnus Norddahl
bb47230f79
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-10 22:46:32 +02:00
Christoph Oelckers
2766303cfc
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Kyle Evans
e0c7bf7708
Fix clang/32-bit build
...
Rendering bits got restructured and the SSE_MATTERS paths were not updated
to reflect that. A 32-bit build with clang subsequently complaints as the
files in question are not compiled with -mmmx.
2019-05-30 21:16:51 +02:00
Magnus Norddahl
a1229be5c6
- implement camera textures
2019-05-29 05:45:19 +02:00
Magnus Norddahl
48d2d423f6
- remove softpoly scene drawer
2019-05-22 17:16:07 +02:00
Magnus Norddahl
0eda298db2
- create a renderer backend based on softpoly's drawers
2019-05-22 06:29:52 +02:00
Magnus Norddahl
9ab19d057d
- centralize how image transitions are done in the vulkan backend
2019-05-16 18:26:47 +02:00
Magnus Norddahl
b30ed99672
- remove the old OpenGL postprocess custom shader implementation
2019-04-08 01:31:22 +02:00
Rachael Alexanderson
e48d2105ef
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-04-06 00:27:18 -04:00
drfrag
1ef4c2d0f6
- Hopefully fixed MinGW compilation for real.
2019-04-06 00:07:24 -04:00
Christoph Oelckers
a0b0467e91
- restrict Vulkan to 64 bit builds.
2019-03-24 14:34:48 +01:00
Christoph Oelckers
d86dd902fb
Merge branch 'master' into vulkan2
2019-03-18 13:31:04 +01:00
Christoph Oelckers
c2c9126453
- replaced the XLSX parser with a CSV parser.
...
Since Google can export this as well it makes a lot more sense here because it is a textual format better suited for version control and does not carry along all the formatting baggage that isn't needed for a string table.
2019-03-18 10:18:30 +01:00
Magnus Norddahl
e5e9924c5e
- remove IShaderProgram and make the old classes an implementation detail of the OpenGL backend. In the long run they should be removed completely as their weird design is mostly an artifact of once having supported OpenGL 2
2019-03-13 00:52:25 +01:00
Rachael Alexanderson
879aae1bd3
Merge branch 'master' of https://github.com/coelckers/gzdoom into vulkan2
2019-03-11 22:07:46 -04:00
Christoph Oelckers
0884057ae1
- use a higher resolution console font with better Unicode support.
2019-03-10 17:54:03 +01:00
alexey.lysiuk
f7a95f612e
- extended RPATH for macOS with executable's directory
...
Dynamic libraries placed in the directory with the main executable now can be loaded by dlopen() function
This is required in order to enable Vulkan support without additional steps like SDK installed in the system
2019-03-09 15:46:18 +02:00
alexey.lysiuk
108ea066f3
- added initial support of Vulkan to SDL backend
...
Removed all platform-specific code from vulkan device
2019-03-06 13:38:45 +02:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00
Magnus Norddahl
d86a56086c
Merge remote-tracking branch 'origin/master' into vulkan2
2019-03-01 21:50:06 +01:00
Christoph Oelckers
86620aaba5
- allow reading xlsx spreadsheets directly for language definitions.
2019-02-28 22:21:55 +01:00
Magnus Norddahl
9ed1c7f40b
- add render pass manager and setup a pipeline for VkRenderState
2019-02-26 11:27:29 +01:00
Christoph Oelckers
413412f603
Merge branch 'master' into vulkan2
2019-02-23 19:53:38 +01:00
Christoph Oelckers
c5156d4598
- moved around a few more files.
2019-02-23 18:57:49 +01:00
Christoph Oelckers
c3890342e6
- moved the 2D drawing code to its own directory under 'rendering'.
2019-02-23 18:08:57 +01:00
Christoph Oelckers
e091369a38
- removed FCriticalSection and replaced all of its uses with std::mutex.
...
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.
2019-02-22 20:24:24 +01:00
Christoph Oelckers
f907bb0484
- moved a few more things and deleted the unused v_pfx implementation.
...
These were pixel format conversion routines used in the D3D backend. Nothing in here is needed anymore - the FBitmap class offers much of the functionality covered here in a far more concise and approachable manner.
2019-02-22 19:48:18 +01:00
Christoph Oelckers
8c06a00ee6
- moved all dialogue loading code into the map loader.
2019-02-22 19:07:58 +01:00
Magnus Norddahl
a97d736bd9
- add vulkan renderstate and shadermanager classes
2019-02-21 22:49:00 +01:00
Magnus Norddahl
478ef05a0a
- create vulkan buffer objects implementation
2019-02-21 12:31:14 +01:00
Magnus Norddahl
75403ec744
- hook up the glsl compiler
2019-02-21 00:25:51 +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
95e62e91bb
- split the FFont base class into its own file.
2019-02-17 13:50:57 +01:00
Christoph Oelckers
9102fb86a5
- moved FSpecialFont to its own file.
2019-02-17 12:53:12 +01:00
Christoph Oelckers
1f0c01459a
- split FSinglePicFont into its own file.
2019-02-17 12:29:08 +01:00
Christoph Oelckers
7f1f25d998
- split the FSingleLumpFont class into its own file.
2019-02-17 12:00:04 +01:00
Christoph Oelckers
9dfffb6697
- moved font code into a subdirectory.
2019-02-17 11:43:04 +01:00
Christoph Oelckers
64685705d0
- made the console Unicode-capable.
...
This also necessitated some character remapping in the console font to move the Windows-1252 extra characters to their proper Unicode code points.
2019-02-16 13:05:19 +01:00
Christoph Oelckers
5e6a96d021
- fixed path of texture directory.
2019-02-10 14:08:27 +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
alexey.lysiuk
8892cb619d
- disabled usage of intrinsics on non-Intel platforms
2019-02-04 15:53:41 +02:00
alexey.lysiuk
2765159fc6
- disabled VM JIT completely on unsuported platforms
2019-02-04 15:53:35 +02:00
Christoph Oelckers
8d83f03138
- changed the linedef translator into a struct and reorganized its storage to allow having different ones at the same time.
...
This was the last piece of data that couldn't be distinct for more than one level.
2019-02-02 01:22:12 +01:00
Christoph Oelckers
32e5be83ea
- moved a few more files and copied the data related parts of p_things.cpp to g_doomedmap.cpp
2019-02-01 19:48:17 +01:00
Christoph Oelckers
a1cc548af4
- moved some more code into the gamedata folder.
...
Two files were split:
g_level.h contained both the game data definitions and some prototypes belonging to the game logic. These were split up.
decallib.cpp contained both the data and the animation thinkers. The thinkers are now in their own file.
2019-02-01 19:20:58 +01:00
Christoph Oelckers
db77ed79cd
- moved the resourcefiles and textures folders into gamedata.
2019-02-01 18:31:57 +01:00
Christoph Oelckers
3f90764faa
- moved the contents of g_inventory to g_shared and gamedata subfolders.
...
a_pickups only contains a few native remains of the inventory code and the other two only the static data maintenance for their items.
2019-02-01 18:13:12 +01:00
Christoph Oelckers
ba451b46c8
- moved a bunch of files to the utility folder.
2019-02-01 01:18:32 +01:00
Christoph Oelckers
b77e83e0b9
- moved 15 more files to g_shared.
2019-02-01 00:48:21 +01:00
Christoph Oelckers
5010e61309
- moved a few more play files free of global state references to g_shared.
2019-01-31 22:31:41 +01:00
Christoph Oelckers
b40c709b66
- minor corrections.
2019-01-31 20:42:36 +01:00
Christoph Oelckers
7241072b16
- moved most utility code to a subdirectory.
...
Again no code changes.
2019-01-31 20:33:52 +01:00
Christoph Oelckers
89d607c9a6
- moved all rendering code into a common subdirectory.
...
No changes to the files themselves was made.
2019-01-31 19:58:17 +01:00
Christoph Oelckers
aa340145ac
- moved the remaining thinker code to g_shared
2019-01-31 02:51:07 +01:00
Christoph Oelckers
65a812e316
- moved the door thinkers into g_shared.
2019-01-31 02:38:39 +01:00
Christoph Oelckers
51581d018a
- moved the hud message and alt hud code from g_shared to g_statusbar
...
This is where it really belongs, this was simply overlooked when the folder was split.
2019-01-31 02:31:57 +01:00
Christoph Oelckers
0f2938089d
- started cleaning up the contents of the g_shared directory, starting with a_dynlight.cpp
...
This is supposed to be come the place where all pure play code should be placed, but for that all CVARs and CCMDs and other things that do not directly handle play data should be taken out to make code reviewing easier. These now get collected in two separate files, g_cvars.cpp and g_dumpinfo.cpp respectively.
The sole ZScript property in here has also been moved - to thingdef_properties.cpp.
2019-01-31 02:05:16 +01:00
Christoph Oelckers
4d55c28b60
- moved a large batch of code from p_spec.cpp and a few other files into the maploader folder.
2019-01-24 20:27:34 +01:00
Timo Myyrä
9e80caa85d
fix Unix builds without backtrace functions in their libc
...
backtrace functions are not present in all libc implementations. Cmake has
module to add external libraries into build if needed so use it to fix build on
Unix systems without backtrace in libc.
2019-01-02 08:44:26 +01:00
Christoph Oelckers
5f303859e9
- made some changes to how the compatibility code works to allow removing the last remaining global variables of the map loading code.
...
Everything temporary is now part of the MapLoader class.
2018-12-28 23:14:11 +01:00
Christoph Oelckers
0e904286e8
- moved renderinfo.cpp entriely into the map loader.
2018-12-28 15:51:32 +01:00
Christoph Oelckers
11e9cdae33
- split polyobject init into its own file and cleaned things up a bit.
2018-12-28 15:05:05 +01:00
Christoph Oelckers
84a28454dc
- split maploader.cpp so that the parts that are not setting up the actual map data go back to p_setup.cpp.
2018-12-28 09:17:10 +01:00
Christoph Oelckers
2edf02d731
- moved map loader files to a subdirectory.
2018-12-27 17:11:10 +01:00
Christoph Oelckers
0faa9111b9
- moved P_OpenMapData and related content out of p_setup.cpp.
2018-12-19 18:41:53 +01:00
Magnus Norddahl
7785dd1b56
- fix linking and some linux things
2018-12-19 00:23:38 +01:00
drfrag
39564d8933
- Fixed linking with MinGW-w64.
2018-12-18 16:43:52 -05:00
Christoph Oelckers
5666e4c805
- made camera textures operational again.
...
Now with proper separation of software rendering logic from the main part of the class.
2018-12-11 00:01:45 +01:00
Christoph Oelckers
34884e2756
- base FFontChar1 and FFontChar2 on FImageSource as well.
...
Now the only textures not being backed by an image source that are actually getting used during normal rendering are the canvas textures.
2018-12-09 16:00:27 +01:00
Christoph Oelckers
4cedbf6cc2
- split between textures and images is complete now.
...
* split up FMultiPatchTexture into a builder class and the actual image source.
* since images can now be referenced by multiple textures the old redirection mechanism has been removed. It can be done better and less intrusive now. Simple single patch textures already directly reference the underlying patch image now.
* allocate all image source related data from a memory arena. Since this is all static this makes it a lot easier to free this in bulk.
2018-12-09 15:25:56 +01:00
Christoph Oelckers
583a740441
- separated the image converters from the texture offsets.
...
Mostly done, except for FMultiPatchTexture and FFontChar1 + 2.
Note that this commit leaks those image objects!
2018-12-09 07:39:05 +01:00
Christoph Oelckers
5eab944157
- started separating the texture class from the image format handlers.
2018-12-08 23:28:35 +01:00
Christoph Oelckers
18c1a3abe5
- make the FWarpTexture class local to the software renderer.
...
This class has only meaning for software-based warping so it doesn't have to be a part of the FTexture hierarchy.
Making it a subclass of FSoftwareTexture is fully sufficient.
2018-12-07 00:58:37 +01:00
Christoph Oelckers
4c67785c40
- moved the span and swtruecolor creation code into FSoftwareTexture.
2018-12-07 00:04:39 +01:00
Christoph Oelckers
33db5792b4
- moved a large part of the VM thunks out of p_mobj.cpp.
2018-12-05 00:21:16 +01:00