Commit graph

828 commits

Author SHA1 Message Date
Christoph Oelckers
1c9b08dd44 Merge remote-tracking branch 'remotes/origin/master' into alphatex2 2018-03-23 19:52:48 +01:00
alexey.lysiuk
836b09c933 Added third-party sound headers to CMake generated project 2018-03-23 12:47:37 +02:00
Christoph Oelckers
702e948000 Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2 2018-03-22 20:44:32 +01:00
Rachael Alexanderson
0893f0c01e Merge remote-tracking branch 'origin/master' into adlMIDI 2018-03-22 14:28:54 -04:00
Christoph Oelckers
b473838627 - adjustments and fixes for alphatextures:
* Instead of using the red channel it now uses the grayscale value. While slower in a few situations, it is also more precise and makes the feature more useful.
* For paletted textures do not use the index as alpha anymore but the actual grayscaled color. This is again to make the feature more consistent and useful.
* To compensate for the above there is now a list of hashes for known alpha textures in patch format, so that they don't get broken.
* IMGZ is now considered a grayscale format. There's only two known textures that use IMGZ for something else than crosshairs and those are explicitly handled.
* several smaller fixes.
* the actual color conversion functions for paletted output are now consolidated in a small number of inlines so that future changes are easier to do.

Note: This hasn't been tested yet and will need further changes in the hardware rendering code. As it is it is not production-ready.
2018-03-22 00:29:01 +01:00
Christoph Oelckers
7e169eb76f - split out the span generation from most texture classes
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.

- added alpha texture processing to all converted classes

As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
alexey.lysiuk
9a737a0622 Added ability to turn off sending of stats in CMake configuration 2018-03-16 16:04:43 +02:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
Christoph Oelckers
b939836846 - renamed FileRdr back to FileReader. 2018-03-11 19:29:37 +01:00
Christoph Oelckers
b14ee50d0d - transition to new FileReader interface complete, but untested. 2018-03-11 12:33:46 +01:00
alexey.lysiuk
f5d5430804 Added ability to build without thread_local support
https://forum.zdoom.org/viewtopic.php?t=58043
2018-03-09 12:53:41 +02:00
alexey.lysiuk
15138c38ca Improved organization of ADLMIDI files in CMake generated projects 2018-03-08 09:49:51 +02:00
Christoph Oelckers
fd801b8b94 Merge branch 'adlMIDI'
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-07 20:31:32 +01:00
alexey.lysiuk
d45a50b0db Put soundfont to appropriate folder so it can be found by default 2018-02-26 16:45:01 +02:00
Christoph Oelckers
2ac101fa51 - removed tmpfileplus, which was only used by the old Timidity++ player. 2018-02-24 23:01:55 +01:00
Christoph Oelckers
a5316c211d - Moved the MIDI WAVE writer device to its own source file. 2018-02-24 18:25:04 +01:00
Christoph Oelckers
7a851fd3f1 libADL MIDI test. It sounds awful so obviously there's still something wrong here. Definitely not usable yet. 2018-02-23 21:56:34 +01:00
Christoph Oelckers
d25cc1baa0 - Fixed today's work now that I'm able to hear some sound again. Also some reorganization 2018-02-23 17:01:17 +01:00
Christoph Oelckers
8734511e80 Removed PathExpander and PseudoMidiDevice which are no longer being used
PathExpander has been integrated into the sound font manager and PseudoMidiDevice was only used as the base class for the old Timidity++ device with the external executable.
2018-02-23 09:21:42 +01:00
Christoph Oelckers
a6fa906764 Framework for context independent sounffont management
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
e6bae25423 - Timidity++ is now fully integrated into the softsynth interface.
The only thing left to do is tweaking the volume of the output to match the one from the EXE.
2018-02-21 17:35:44 +01:00
Christoph Oelckers
4813eeeb85 - Timidity++ now plays ZDoom's event stream, although still through the Windows output module.
This also means that readmidi.cpp is no longer needed.
2018-02-21 01:29:39 +01:00
Christoph Oelckers
5ce3b00b90 - commented out the noisy debug messages in Timidity++ so that they do not waste execution time and memory for nothing - there are almost 300 of them. 2018-02-20 19:45:37 +01:00
Christoph Oelckers
803369fb8d - make CMake happy 2018-02-19 23:33:42 +01:00
Christoph Oelckers
576932c47f - Timidity++ sources added. This compiles but isn't hooked into the engine yet.
This source has been heavily edited to remove the deep integration with the provided UI modules and to eliminate use of global variables and puts everything into a small number of C++ classes.
2018-02-19 22:14:22 +01:00
Rachael Alexanderson
5dd98669e4 - FreeBSD compile fix 2018-02-10 07:56:33 -05:00
Alexander Wilms
55c6a14059 Added simple fatal error window for Linux
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Christoph Oelckers
7e45535669 Merge branch 'master' into reverbedit 2017-12-03 12:46:08 +01:00
Christoph Oelckers
4ca3acb0e3 - made tmpfileplus a .cpp file so that it can access ZDoom's own utility code. 2017-12-02 16:51:53 +01:00
Magnus Norddahl
d43ac8b9ae - Add model rendering to the software renderer 2017-11-27 23:47:26 +01:00
Christoph Oelckers
57058ef727 - removed all remains of the old EAX editor. 2017-11-26 15:23:07 +01:00
Christoph Oelckers
836970f012 - moved the matrix code out of 'gl' because the model code also needs it. 2017-11-25 13:51:09 +01:00
Magnus Norddahl
637a9dff9b - Rename voxels.cpp to models_voxel.cpp to avoid having two source files with the same name (confuses debuggers and some build tools) 2017-11-25 13:22:59 +01:00
Magnus Norddahl
7bb92812b8 - Move models into r_data 2017-11-25 13:19:00 +01:00
Magnus Norddahl
b25f191e85 - Move shared model code out of the GL renderer 2017-11-25 12:11:57 +01:00
alexey.lysiuk
0f5ff5a5de Removed obsolete files after timer code refactoring 2017-11-25 11:48:22 +02:00
Rachael Alexanderson
fd5b8cdbf7 Merge remote-tracking branch 'origin/master' into newtimercode4
# Conflicts:
#	src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
00d7dd0c64 - Implement model rendering in softpoly 2017-11-24 00:39:10 +01:00
Christoph Oelckers
734f5104dd Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-22 21:43:01 +01:00
Magnus Norddahl
0ef8105e6b - Add missing r_draw.cpp in CMakeLists.txt 2017-11-21 18:57:44 +01:00
Christoph Oelckers
6389b6b914 - UMAPINFO parser, including some convenience additions to FScanner.
Not tested yet!
2017-11-19 23:04:15 +01:00
Christoph Oelckers
6bd76d6b5a - fixed compilation in debug mode.
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
alexey.lysiuk
0e706bfecf Use tmpfileplus() instead of tempnam()
Finally get rid of security or deprecated warnings cause by tempnam() function usage
2017-11-07 11:50:07 +02:00
Rachael Alexanderson
2fd5d0da54 - improve speed for ARMv7 processors by specifying hardware float calculations, and tuning it specifically for the Cortex-a7 CPU (for Raspberry Pi 2). 2017-10-25 09:31:55 -04:00
alexey.lysiuk
557958577b Removed all code needed to support macOS earlier than 10.7 Lion 2017-10-07 15:11:30 +03:00
Rachael Alexanderson
f71a6e249d - remove unsafe math operations for armv8 2017-09-07 15:56:00 -04:00
Magnus Norddahl
7a1274ab76 - Collect all PVS information first so that processing the individual sectors can be done on multiple threads 2017-09-07 00:34:09 +02:00
Rachael Alexanderson
30087f7cd7 - cleaned up the video scale mode code a bit, in order to increase future flexibility. 2017-07-27 03:05:01 -04:00
Rachael Alexanderson
c1e3f10802 Merge https://github.com/coelckers/gzdoom 2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7 Use multiple threads for xBRZ upscaling
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00