Commit graph

12904 commits

Author SHA1 Message Date
Christoph Oelckers
ff19627251 - fixed legacy version of color overlay to use the correct blend settings. 2018-03-30 21:34:04 +02:00
Christoph Oelckers
00c66f42d3 - made DTA_SpecialColormap work, both for GL3+ and GL2 render paths.
This will only be used for HUD sprites. At the moment it will ignore sprite translations, though, when running in OpenGL 2 legacy mode.
2018-03-30 21:14:49 +02:00
Christoph Oelckers
832df6d43a - implemented desaturation for the legacy GL renderer's 2D.
A lot of work that's only needed to be able to use the hardware renderer's 2D code with the software renderer.
2018-03-30 18:14:42 +02:00
alexey.lysiuk
709bbe3db0 Fixed crash on accessing player sprite's state in software renderer
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:40:31 +03:00
alexey.lysiuk
408a2f6dab Fixed uninitialized members in DPSprite class
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:38:51 +03:00
alexey.lysiuk
140ad241c4 Adjusted validation limit for sound velocity again :(
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-30 10:42:22 +03:00
Vitaly Novichkov
74c5bab075 Attempt to fix a blank banks list of ADLMIDI
That happen because of silly dependency on soundfonts list which is totally unneeded to ADLMIDI as it uses embedded banks or external banks in a different format.
https://forum.zdoom.org/viewtopic.php?f=104&t=59997&p=1047184
2018-03-29 23:39:15 -04:00
Christoph Oelckers
811d96e07e D3D 2D code refactored but not tested yet. 2018-03-29 23:21:25 +02:00
alexey.lysiuk
b952653303 Set more suitable limit for sound velocity validation
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-29 17:37:36 +03:00
Christoph Oelckers
a40e085a46 - 2D drawer implementation complete for hardware renderer.
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
alexey.lysiuk
cbad9ac219 Fixed crash when event handler class isn't derived from StaticEventHandler 2018-03-29 16:41:29 +03:00
Christoph Oelckers
077df87704 - 2D code works in GL legacy mode.
Not tested yet with shaders.
2018-03-29 11:58:28 +02:00
Christoph Oelckers
0ff1426b23 - fixed: The index info for the 2D lists was not set. 2018-03-29 07:55:35 +02:00
Christoph Oelckers
fa6ba84094 - fixed untextured vertex order and removed some test code. 2018-03-29 00:38:31 +02:00
Christoph Oelckers
a253b15334 - more fixes. 2018-03-28 23:57:50 +02:00
Christoph Oelckers
3ca3193379 - fixed a few things, but still not working. 2018-03-28 23:42:06 +02:00
Christoph Oelckers
b194f2c466 - game starts, but no 2D visible yet. 2018-03-28 22:04:28 +02:00
Christoph Oelckers
70b6754299 - implemented the 2D drawer for the hardware renderer. Not tested yet. 2018-03-28 21:38:00 +02:00
Wohlstand
2d79d187d5 OPNMIDI: Remove std:: from all snprintf calls 2018-03-28 20:37:55 +03:00
Wohlstand
6a497a0b92 ADLMIDI: Update latest update of DMXOPL3 bank by @sneakernets
And a small polishing of bank names to keep the informative, but much shorter
2018-03-28 20:34:28 +03:00
Wohlstand
99e24efc2c ADLMIDI: Remove std:: from all snprintf-s 2018-03-28 20:33:02 +03:00
Christoph Oelckers
25999c1c6a - looks like the 2D drawer sources did not get committed...
- This also adds the missing draw modes to the GLSL shader.
2018-03-28 19:07:43 +02:00
Christoph Oelckers
16480a3f4b - it compiles again.
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
alexey.lysiuk
fdd93d704d Merged list of video modes for Cocoa and SDL backends
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Christoph Oelckers
33289ade49 - renamed the 2D drawer in the GL renderer so that the same name can be used for the device-independent replacement. 2018-03-27 21:44:58 +02:00
Christoph Oelckers
29ad081368 - removed remaining DirectDraw code and a few other things that are no longer being used. 2018-03-27 21:04:01 +02:00
Christoph Oelckers
2ed744963c - Changed frame buffer locking mechanism so that the only place where a lock is needed is when the software renderer wants to access the render buffer, which is precisely for the duration of the RenderView function.
No more locking insanity! :)
There are no locking counters or other saveguards here that would complicate the implementation because there's precisely two places where this buffer must be locked - the RenderView functions of the regular and poly SW renderer which cannot be called recursively.
2018-03-27 20:02:44 +02:00
Christoph Oelckers
0c3635e22c - removed vid_hw2d CVar. 2018-03-27 17:58:25 +02:00
Christoph Oelckers
62f073ef60 - removed Accel2D variable and a little bit of locking cruft. 2018-03-27 17:13:10 +02:00
Christoph Oelckers
cff5f0e3c7 - removed DFrameBuffer's locking mechanism.
In its current form this is quite useless. What's really needed is to require a lock on the RenderBuffer for the 3D scene, but since this is not needed for the 2D stuff anymore it can be done far simpler.
2018-03-27 16:48:33 +02:00
Christoph Oelckers
c06ad5c59c - separated DFrameBuffer from DCanvas.
This was a bad idea from the start and really only made sense with DirectDraw.
These days a FrameBuffer represents an abstract hardware canvas that shares nothing with a software canvas so having these classes linked together makes things needlessly complicated.
The software render buffer is now a canvas object owned by the FrameBuffer.

Note that this commit deactivates a few things in the software renderer, but from the looks of it none of those will be needed anymore if we set OpenGL 2 as minimum target.
2018-03-27 14:14:46 +02:00
Christoph Oelckers
bb9283a9af - work on separating DFrameBuffer from DCanvas.
2D works in D3D backend, but 3D crashes because not all pointers have been rerouted yet.
2018-03-27 13:50:31 +02:00
Christoph Oelckers
377aa95e34 - removed empty header. 2018-03-27 12:01:15 +02:00
Christoph Oelckers
e0f1abdf81 - removed SDLFB and cleaned things up a bit. 2018-03-27 11:59:43 +02:00
Christoph Oelckers
1a28644d83 - cleaned out unused stuff from DCanvas.
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
ba799aebbd - moved locking logic from DCanvas to DFrameBuffer.
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
dd491d6558 - removed support for paletted Windows display modes.
This was only relevant for DirectDraw which has been removed.
2018-03-27 10:41:38 +02:00
Christoph Oelckers
ded21cba8e - moved more code from DCanvas to DFrameBuffer. 2018-03-27 10:34:21 +02:00
Vitaly Novichkov
38156b9243 ADL&OPL: Added a fallback for a blank instruments in GS/XG banks 2018-03-27 07:36:07 +02:00
Christoph Oelckers
d650e37497 - stripped out the entire software 2D renderer and moved all 2D drawing functions to DFrameBuffer so that they cannot be used with software DSimpleCanvas anymore. 2018-03-26 23:16:27 +02:00
Christoph Oelckers
e0039179cb - merge error fixed. 2018-03-26 22:11:13 +02:00
Christoph Oelckers
a350c43c87 . removed the texture atlases from the OpenGLSWFrameBuffer.
# Conflicts:
#	src/gl/system/gl_swframebuffer.cpp
2018-03-26 22:05:45 +02:00
Christoph Oelckers
41a0e6af4a - removed the D3D texture atlas implementation.
This is a necessary first step for simplifying the texture handling in order to refactor it.

# Conflicts:
#	src/gl/system/gl_swframebuffer.cpp
#	src/textures/textures.h
#	src/win32/fb_d3d9.cpp
2018-03-26 22:05:35 +02:00
Christoph Oelckers
d9f6546c16 - removed Shader Model 1.4 support.
The only hardware ever to support this is ATI's R200 which has been deprecated by ATI before Vista got released, and is no longer a relevant target.
2018-03-26 22:03:33 +02:00
Christoph Oelckers
40bbe5cd8a - removed DirectDraw backend. 2018-03-26 22:03:32 +02:00
Marisa Kirisame
19b701728d Typo fix in linetrace flags checking. 2018-03-26 22:00:17 +02:00
Christoph Oelckers
3c3c2f03e8 The missing parts of last commit. 2018-03-26 20:44:25 +02:00
Christoph Oelckers
7c333b1fd1 - changed the default settings for fluid_patchset, timidity_config and midi_config to point to the default sound font.
wildmidi_config has not been changed because it cannot read .sf2 files.
2018-03-26 20:43:44 +02:00
Christoph Oelckers
d166ab95a9 Revert "- fixed: 3D floor that extend into the real sector's floor were not clipped properly."
This reverts commit a33ad3c99e.

Turns out that this breaks legitimate maps. So I'd rather let that one broken map glitch than the good ones.
2018-03-26 19:44:41 +02:00
Christoph Oelckers
f8019637cf - fixed: FBuildTexture::CopyTrueColorPixels returned incorrect transparency information 2018-03-26 11:46:33 +02:00
Christoph Oelckers
755cbd341b - fixed: A sprite having a picnum was not animating its image in the hardware renderer. 2018-03-25 22:01:18 +02:00
alexey.lysiuk
75a65873e7 Fixed applying of unsafe context in waiting command
https://forum.zdoom.org/viewtopic.php?t=59947
2018-03-25 22:38:38 +03:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +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
c0893027da - added a band-aid fix in case Timidity has both chorus and reverb active.
This merely addresses the crashing issue, it does nothing about the faulty initialization logic here that causes the chorus not to get initialized properly if reverb is active.
The issue needs more in-detail investigation but for now this has to suffice.
2018-03-25 12:12:14 +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
Vitaly Novichkov
27b9b67d68 ADL&OPN: More setup: Chips count and Volume model!
Notes:
* ADL: The DMX volume model was set as default to unify volumes on all bank. Otherwise, if you will use 'Generic' or 'Win9x', the sound will became too loud than wanted. Each bank has own default volume model which is used when 'Auto' is set.
* ADL: 6 chips is optimal to work with default banks
* OPN: 8 chips are set to provide 48 polyphony channels. (each OPN2 chip has 6 channels only)
* Text files: junk spaces from end of lines are was auto-removed.
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
f7e45b06b7 Fixed double-increment and use a safer way to fetch a bank names
(in case of new bank will be added (or removed) on ADLMIDI side, no need to change the count of banks in "some deep place"  of code)
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
79d7067f07 Fixed typo in the error message: it's YM2612 is OPN2 which is not OPL 2018-03-25 08:14:35 +02:00
Rachael Alexanderson
3e31b89929 - corrected 2 spelling errors and added a linebreak with a really long line for the stats prompt 2018-03-25 00:35:57 -04:00
Vitaly Novichkov
a60dc64e71 ADL&OPN: Fix long vs int64 conflict in 'CalcChGoodness' 2018-03-25 01:37:44 +03:00
Vitaly Novichkov
6e6d1b5e97 Merge branch 'master' of git@github.com:coelckers/gzdoom.git 2018-03-25 01:20:31 +03:00
Christoph Oelckers
95d7101e26 - stats sending message. 2018-03-24 23:16:21 +01:00
Christoph Oelckers
a33ad3c99e - fixed: 3D floor that extend into the real sector's floor were not clipped properly.
The only check being done on this was done after processing for the renderer which simply is too late.
2018-03-24 22:42:10 +01:00
Vitaly Novichkov
d202ef9e68 Merge branch 'master' of git@github.com:coelckers/gzdoom.git
# Conflicts:
#	src/sound/opnmidi/opnmidi_private.hpp
2018-03-25 00:41:11 +03:00
Vitaly Novichkov
15e133afb9 ADLMIDI & OPNMIDI: Little clean and MSVC warnings muting 2018-03-25 00:38:26 +03:00
Christoph Oelckers
73f9300c2b - disable MSVC warnings in OPNMidi. 2018-03-24 21:53:37 +01:00
Vitaly Novichkov
5acffa693f Merge branch 'master' of git@github.com:coelckers/gzdoom.git
# Conflicts:
#	src/sound/adlmidi/adlmidi.cpp
2018-03-24 23:51:36 +03:00
Vitaly Novichkov
be1b884a04 OPNMIDI: Natively disable embedded MUS and XMI, and MIDI sequencer 2018-03-24 23:46:05 +03:00
Vitaly Novichkov
0816018d36 ADLMIDI: Another warning fix 2018-03-24 23:33:39 +03:00
Christoph Oelckers
77a2101c06 - re-applied my changes to ADLMIDI code:
* disable sstream. No point pulling in such a large piece of code for two error messages.
* disable MSVC warnings which get emitted by the code.
2018-03-24 21:30:59 +01:00
Vitaly Novichkov
e31830e8be ADLMIDI: Tiny warning fix 2018-03-24 21:26:30 +01:00
Vitaly Novichkov
be81e00722 ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom

I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 21:26:30 +01:00
Vitaly Novichkov
c65a004e08 ADLMIDI: Tiny warning fix 2018-03-24 23:19:50 +03:00
Christoph Oelckers
4e012e3765 - fill in the ADL bank menu from the internal table. Some of the names had to be shortened to prevent it from getting too confusing. 2018-03-24 21:19:10 +01:00
Vitaly Novichkov
b6302f5fc9 ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom

I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 22:45:54 +03:00
Christoph Oelckers
49ab99a383 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-24 19:40:52 +01:00
Christoph Oelckers
b8f2d1fc06 - better CVAR control for Timidity++ reverb. 2018-03-24 19:40:39 +01:00
Christoph Oelckers
4978d979e8 - fixed Windows version of snd_mididevice.
- removed mus2mis and xmi2mid converters from OPNMidi, because they are not needed.
- moved the data file for OPNMidi into gzdoom.pk3.
2018-03-24 18:29:12 +01:00
Christoph Oelckers
8aeb6531be Merge branch 'opnMIDI' of https://github.com/Wohlstand/gzdoom into opnmidi 2018-03-24 17:10:50 +01:00
Marisa Kirisame
0656916bf2 Add WorldLinePreActivated to override line activation, as a counterpart to WorldLineActivated. 2018-03-24 16:30:49 +01:00
Vitaly Novichkov
6308fb311b Added support for libOPNMIDI Playing device 2018-03-24 17:58:47 +03:00
Vitaly Novichkov
46942cb27f Added libOPNMIDI sources 2018-03-24 17:52:52 +03:00
alexey.lysiuk
a4bee610b4 Added runtime warning about usage of unsupported OpenAL implementation
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 15:00:36 +02:00
alexey.lysiuk
c4b3dcf266 Fixed indent of OpenAL initialization messages
Tab characters should not be used for indenting messages in console
2018-03-24 14:53:47 +02:00
alexey.lysiuk
4f6a853bfb Added validation of sound position and velocity
https://forum.zdoom.org/viewtopic.php?t=57632
2018-03-24 13:09:55 +01:00
Christoph Oelckers
da74b9df95 - serialize the temporary music volume that can be set through ACS. 2018-03-24 13:07:18 +01:00
alexey.lysiuk
40bf8a421e User's OpenAL library has precedence over Apple's framework
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 12:09:23 +02:00
Marisa Kirisame
3072c9bf7c Add PostUiTick(). Happens after all other tickers. Useful for handling changes in the play side within the same tic. 2018-03-24 10:24:13 +01:00
Marisa Kirisame
69c6e95b08 Add worldlineactivated event, triggered after successful line activation. 2018-03-24 10:23:31 +01:00
Jason Francis
bd7791ad9c Allow setting string user variables in ACS 2018-03-24 10:20:39 +01:00
Jason Francis
4494b18e8a Enable string & float user_ properties in UDMF things 2018-03-24 10:20:39 +01:00
alexey.lysiuk
2951476ce0 Fixed compilation with GCC and Clang
src/v_video.h:56:6: error: ISO C++ forbids forward references to 'enum' types
src/v_video.h:342:17: error: field has incomplete type 'FTextureFormat'
src/v_video.h:344:47: error: variable has incomplete type 'FTextureFormat'
2018-03-24 09:53:55 +02:00
Marisa Kirisame
634a10db52 Adds "DI_MIRROR" flag to statusbar image drawing. Useful for rearview mirror camera textures, for example. 2018-03-24 00:29:50 +01:00
Christoph Oelckers
7301001a3f - made the necessary adjustments to the HW2D interfaces to handle alpha textures properly.
These cannot be done with the regular textures so there needs to be an option to create more than one native texture per FTexture. For completeness' sake there is also the option now to create a paletted version of a texture if the regular one is true color. This fixes a long standing problem that translations were not applied to non-paletted textures.
2018-03-23 23:04:30 +01:00
Christoph Oelckers
3c6b09b3a1 Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2 2018-03-23 19:53:06 +01:00
Christoph Oelckers
1c9b08dd44 Merge remote-tracking branch 'remotes/origin/master' into alphatex2 2018-03-23 19:52:48 +01:00
Christoph Oelckers
4c781a8f65 - finished verification of proper texture generation and fixed a few remaining issues.
Aside from PCX 4 bit, uncompressed PCX and TGA grayscale for which I was unable to obtain test images, all others now produce proper textures in both 8 and 32 bit mode.
2018-03-23 19:52:08 +01:00
alexey.lysiuk
836b09c933 Added third-party sound headers to CMake generated project 2018-03-23 12:47:37 +02:00
Vitaly Novichkov
4f104b0da9 Fixed incorrect pitch processing in the ADLMIDI 2018-03-23 00:35:20 +01:00
Christoph Oelckers
0a07f4c144 - fixed alpha texture generation for OpenGL rendering.
The old logic used a translation table that does not work with color images, it was designed to handle 8 bit grayscale images.
So now, it creates a true color buffer and then turns it into a texture with R,G,B = 255 and the alpha channel set to the grayscale value.

This was also the reason why crosshairs made from 32 bit PNGs did not show correctly.
2018-03-22 23:57:14 +01:00
Christoph Oelckers
5466e2c7c5 - fixed what looks like a wrongly braced 'for' loop in 4 bit PCX.
The code looks wrong, unfortunately I cannot test it due to lack of an image in that format
2018-03-22 23:14:43 +01:00
Christoph Oelckers
6fcf1e0149 - fixed incorrect translation table that was used to process grayscale patch and IMGZ textures.
- fixed: The MD5 check for patches deleted the buffer too early.
2018-03-22 22:49:42 +01:00
Christoph Oelckers
c869df9bf7 - added missing checksum file.
- fixed decoding of uncompressed DDS textures.

Apparently this was never tested and nobody ever used this format as a texture in ZDoom.
2018-03-22 22:30:09 +01:00
Christoph Oelckers
702e948000 Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2 2018-03-22 20:44:32 +01:00
Christoph Oelckers
d586d774cf - adjusted GL renderer to the new rules for alpha textures. This means that the translation fallback is only needed for the legacy renderer now. Modern GL can use the regular texture and will apply a grayscale mapping instead of merely using the red channel. 2018-03-22 20:42:17 +01:00
Rachael Alexanderson
0893f0c01e Merge remote-tracking branch 'origin/master' into adlMIDI 2018-03-22 14:28:54 -04:00
Vitaly Novichkov
4481ebbdd2 Fixed an incorrect ADLMIDI playback
As DMX uses both 10'th and 16'th channels for percussions, I'll turn a 16'th channel into percussive by XG way on every init/reset.
2018-03-22 04:30:10 -04:00
Christoph Oelckers
1756035594 - fixes in DDS decoder.
- let FPatchTexture use the inline color getters.
2018-03-22 00:54:03 +01: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
alexey.lysiuk
de0a815215 Fixed error reporting on loading malformed DeHackEd patches 2018-03-21 13:08:16 +02:00
alexey.lysiuk
92f10febe8 Fixed crash on loading malformed DeHackEd patches
Lump that contains only "Patch File for DeHackEd v3.0" (without line break at the end) caused a crash
2018-03-21 13:03:44 +02:00
drfrag
88bebaec39 - Fixed not getting the 'old and unsupported DeHackEd patch' error message for some old patch versions. 2018-03-21 12:48:46 +02:00
alexey.lysiuk
d58169f1b0 Fixed crash with very short music loop
https://forum.zdoom.org/viewtopic.php?t=59883
2018-03-21 12:28:12 +02:00
Rachael Alexanderson
fae6f22a2b - fix botched merge 2018-03-21 03:50:47 -04:00
Rachael Alexanderson
d829e53bc0 Merge branch 'stats_native_ui' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/d_stats.cpp
2018-03-21 02:28:52 -04:00
Rachael Alexanderson
4ad769572f - bump stats version string, send stats to new stats script instead 2018-03-20 22:02:18 -04:00
Rachael Alexanderson
def0ea0103 Merge branch 'stats_native_ui'
# Conflicts:
#	src/d_stats.cpp
2018-03-20 22:00:30 -04:00
alexey.lysiuk
568d439c24 Removed deleted virtual functions
This solves linking errors on macOS with missing ___cxa_deleted_virtual symbol
2018-03-20 22:12:43 +02:00
Christoph Oelckers
b0c96ac43d - fixed uninitialized variables in files.h. 2018-03-20 18:29:54 +01:00
alexey.lysiuk
f242f0631b Fixed crash in when MP3 length guesstimation failed
https://forum.zdoom.org/viewtopic.php?t=59881
2018-03-20 18:01:35 +02:00
alexey.lysiuk
6f68b6c352 Fixed JPEG errors reporting
GCC/Clang reported these warnings:
src/textures/jpegtexture.cpp:305:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:388:28: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:432:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:481:28: warning: data argument not used by format string [-Wformat-extra-args]
2018-03-20 10:29:28 +02:00
Magnus Norddahl
09c0bed74f - Oops, last commit had its check inverted 2018-03-20 01:29:43 +01:00
Magnus Norddahl
5f4e4d859e - Fix netgame freeze situation 2018-03-20 01:28:25 +01:00
Christoph Oelckers
cf67883e6a - changed copyright notice. 2018-03-19 21:01:32 +01:00
Christoph Oelckers
16f6a88680 - fixed Build tiles and removed test code. 2018-03-19 20:56:04 +01:00
Christoph Oelckers
bf2003fe6a - fixed pixel address.
Colors still need work.
2018-03-19 20:09:32 +01:00
Christoph Oelckers
04b8a12ca4 - Build texture work. Currently broken. 2018-03-19 20:02:38 +01:00
Christoph Oelckers
f4d9ad1123 - extended FTexture::GetPixels and FTexture::GetColumn by a RenderStyle parameter.
Now it is no longer necessary to provide specially set up textures for rendering shaded decals, they can use any PNG texture now that contains a proper red channel.
Handling of the alPh chunk has been removed as a result as it in no longer needed.
2018-03-18 21:33:44 +01:00
Christoph Oelckers
a399d79f8a - minor reformatting. 2018-03-18 14:18:42 +01:00
Christoph Oelckers
47bfbb5e08 - Make BuildTexture inherit from worldtexture.
- handle WorldTextures that can change their content automatically.
2018-03-18 14:18:19 +01:00
Christoph Oelckers
94eadb1a8c - made it compile again. 2018-03-18 13:47:40 +01:00
Christoph Oelckers
de8db297a6 - made the backdrop texture also inherit from FWorldTexture.
In this case the only benefit is one less piece of GetColumn duplication - this texture is simply not usable in-game, unlike the BarShader.
2018-03-18 13:12:25 +01:00
Christoph Oelckers
494504229f - fixed the BarShader texture.
Even though unlikely, this should work as a regular texture because it can be used as such.
As a result of the above, true color generation needs to be done explicitly now.
2018-03-18 12:54:40 +01:00
Christoph Oelckers
1d59a53cd4 - added worldtexture.cpp 2018-03-18 12:54:14 +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
832fc42e07 Added native UI dialog to confirm stats collection 2018-03-18 13:26:04 +02:00
Christoph Oelckers
102d2647d3 - removed support for loading Build palettes as the main game palette.
This was implemented in a way that made it entirely impossible to load Build resources and make them usable for modding.
ZDoom had Build texture support for many years but the limitations the palette handling imposed made it impossible to use them.
It wasn't usable for anything more than to load Build maps and have them display properly - a feature that had to be removed because it was irreparably broken already.

With the forced palette override out of the way it should now be possible to implement loading of Build ART files as actually usable resources.
2018-03-18 11:57:41 +01:00
alexey.lysiuk
341a9bcf91 Added target and last enemy to linetarget CCMD output
https://forum.zdoom.org/viewtopic.php?t=59716
2018-03-18 11:23:24 +02:00
alexey.lysiuk
75782e6b34 Exported Inventory.AltHUDIcon field to ZScript
https://forum.zdoom.org/viewtopic.php?t=59842
2018-03-18 11:02:21 +02:00
alexey.lysiuk
ecff13ac2e Fixed crash on attempt to send stats without network connection
https://forum.zdoom.org/viewtopic.php?t=59844
2018-03-17 22:38:41 +02:00
Magnus Norddahl
a2b9a70835 - Fix crash when reloading a map 2018-03-17 00:09:43 +01:00
alexey.lysiuk
9a737a0622 Added ability to turn off sending of stats in CMake configuration 2018-03-16 16:04:43 +02:00
alexey.lysiuk
a9802f82f4 Replaced usages of sprintf() in stats sender 2018-03-14 22:19:33 +02:00
Christoph Oelckers
f1bfc3514d - fixed: For proper recognition of optional function arguments, the argflags must also be copied from the parent function to ensure they are itdentical on the override. 2018-03-14 19:52:30 +01:00
Rachael Alexanderson
549a290a2f - add 'renderconfig' for the stats script to easily differentiate between OpenGL and software 2018-03-14 11:40:47 -04:00
alexey.lysiuk
bdeae23a56 Added native UI dialog to confirm stats collection
Implemented only for Windows so far
Need good message to explain purpose of this feature
2018-03-14 10:20:46 +02:00
Christoph Oelckers
49f590c797 - Use the Windows system function to determine the number of physical CPU cores.
The generic version does not appear to work as intended.
2018-03-13 20:04:41 +01:00
Rachael Alexanderson
d83456e9cc - fixed: stats checker was not actually checking if it was being run in WOW64 mode 2018-03-13 09:34:38 -04:00
raa-eruanna
251f0c8459 - add one more missing include to make GCC happy 2018-03-12 22:39:50 -04:00
Marisa Kirisame
fb5eae8aaa Added some missing zlib.h and stdint.h includes 2018-03-12 21:06:03 -04:00
Christoph Oelckers
fed7286442 - p_glnodes.cpp must include zlib.h 2018-03-12 22:45:49 +01:00
Christoph Oelckers
5fccdd9acd - added missing return to translation code.
- a bit of header cleanup.

* moved <zlib.h> and <bzlib.h> from files.h to files_decompress.cpp because they are no longer needed for defining the interface.
* added <functional> to the precompiled header
2018-03-12 21:18:11 +01:00
Christoph Oelckers
5a4e9decd9 - added missing #include 2018-03-12 19:33:49 +01:00
Rachael Alexanderson
fbc4831072 - remove empty Mac I_HTTPRequest prototype since it's not used 2018-03-12 19:33:49 +01:00
Christoph Oelckers
f2f649bf77 - put all stats related code into one file. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
033a11a028 - fix compile on clang
- implement TCP connections in Linux
- fix passing of request string to a thread
- implement OS stats for ARM and PPC on Linux
2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
c15e868b0f - implemented anonymous stats collector 2018-03-12 19:33:48 +01:00
Christoph Oelckers
5d436cd3ed - forward the error state of the translation parser to the calling code so that it can print a message pointing to the problem content. 2018-03-12 19:14:56 +01:00
Christoph Oelckers
73248e7f86 - added a missing nullptr check in Instruments::free_soundfonts() 2018-03-12 18:55:05 +01:00
Christoph Oelckers
13ef97c4ac - removed debug message. 2018-03-12 18:47:49 +01:00
Major Cooke
4851c5bfde Insert an extra line after printing the warnings. 2018-03-12 18:17:08 +01:00
Christoph Oelckers
c85389c976 Re-fixed 95d74614
This should be dealt with at the source, not one level up, so that it also works properly if the GetReader function of the ResourceFile object is called directly and not through the resource manager.
2018-03-12 10:26:36 +01:00
Christoph Oelckers
3cf1959070 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-12 10:19:23 +01:00
Christoph Oelckers
def5e1d61b Added proper handling for default parameter values of virtual overrides
Due to how the VM handles default parameters, these must always be identical to the parent to prevent undefined behavior.
So now, if such parameters are encountered, the compiler will either abort (for script version >= 3.3) or print a warning (for older versions.)
Any defaults being specified for older versions will be ignored, though, and the defaults of the parent function be copied to the override.
2018-03-12 10:19:16 +01:00
alexey.lysiuk
e0f7c99496 Fixed crash on loading directories 2018-03-12 11:00:40 +02:00
Christoph Oelckers
c01554c6c8 - feeding another one to Travis CI... 2018-03-11 23:32:40 +01:00
Christoph Oelckers
54061ad50c - another one.
This would be easier if Travis CI didn't abort compilation after each single error...
2018-03-11 23:25:30 +01:00
Christoph Oelckers
011bf9d9aa - another one... 2018-03-11 22:44:05 +01:00
Christoph Oelckers
b72ccba5f5 - missed one bit. 2018-03-11 22:17:50 +01:00
Christoph Oelckers
8c0925dd5d - fixed some compile errors which were only reported on GCC/Clang. 2018-03-11 22:05:28 +01:00
Christoph Oelckers
b445347aca Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-11 19:30:06 +01:00
Christoph Oelckers
b939836846 - renamed FileRdr back to FileReader. 2018-03-11 19:29:37 +01:00
Christoph Oelckers
0be1ed252b - rewrote the operator>> methods of FileReader as normal functions for clarity. 2018-03-11 18:20:49 +01:00
Christoph Oelckers
833dbee167 - fixed some issues with m_swap's design.
The native byte order converters were defined as macros which hid some issues due to lack of type checks.
Additionally the ???Long variants taking 'long' variables were removed, because longs are not always 32 bits so this could be destructive.
As a result of this, removed several DWORDs from struct definitions in i_crash.cpp.
2018-03-11 14:35:36 +01:00
Christoph Oelckers
8bbfd39f42 - fixed some remaining issues:
* initial positioning in a subsection of a file failed. This mainly affected music playback.
* made the FileRdr constructor which takes a FileReaderInterface private so that everything that needs it must be explicitly declared as friend.
* removed a few redundant construction initializers for FileRdrs.
* loading compressed nodes needs to check the validity of its reader.
* use GetLength to detemine the size of a Zip file instead of doing another seek to the end.
* removed duplicate Length variables.
2018-03-11 13:26:30 +01:00
Christoph Oelckers
b14ee50d0d - transition to new FileReader interface complete, but untested. 2018-03-11 12:33:46 +01:00
Christoph Oelckers
247785bca2 - converted map loader to FileRdr and took the opportunity to clean up its interface. 2018-03-10 21:48:33 +01:00
Christoph Oelckers
6f8ca2eace - fixed a few issues from implicit FileReader conversion. 2018-03-10 20:47:17 +01:00
Christoph Oelckers
b315bc3be0 - added a few more FileRdr replacements
- fixed: The streaming music player must return the file reader if it fails to open, so that the next player can still use it.
- fixed: Timidity++'s Instruments class did not delete the sound font when it was destroyed.

..-
2018-03-10 20:33:49 +01:00
Christoph Oelckers
56991a9ace - Removed FileReader from SoundFont manager.
- renamed close_file to tf_close for consistency.
2018-03-10 20:10:17 +01:00
Christoph Oelckers
c4387459bb - use FileRdr in the PNG code, in particular to sanitize the savepic handling. 2018-03-10 19:22:26 +01:00
Christoph Oelckers
5fa63c396d - sound code and most of texture code converted to FileRdr.
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
Rachael Alexanderson
37fa3fa25e - add variables 'am_unexploredsecretcolor' and 'am_ovunexploredsecretcolor' to mark undiscovered secrets differently in the automap 2018-03-10 10:36:43 -05:00
Christoph Oelckers
26e948357e - added an abstract FileReader wrapper.
The idea here is to decouple the actual reader creation from the code using them so that, for example, the Open function can decide if it wants to open the file regularly or memory mapped and return different readers as deemed useful. For that to work the exposed object needs to be an abstract wrapper so that this can be done without having to use pointers and all the drawbacks coming from that.
So far put to use in a few parts of the music code so the general functionality could be tested.
2018-03-10 13:46:35 +01:00
alexey.lysiuk
9cd5b415c1 Improved profilethinkers in various ways
Added features:
* Formatted table
* Average time per one actor
* Sorting column highlight
* Rows limit
* Usage help
2018-03-10 11:04:31 +02:00
alexey.lysiuk
fc981bf5d4 Extended profilethinkers CVAR with sorting ability
Sorting modes are
1 - by name, from A to Z
2 - by name, from Z to A
3 - number of calls, ascending
4 - number of calls, descending
5 - total time, ascending
anything else - total time, descending
2018-03-09 18:13:16 +02: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
Magnus Norddahl
2589447d0e - fixed midtex nowrap clipping bug when 3d floors are in view
- made sure no code uses sclipTop or sclipBottom as a working variable
2018-03-09 01:30:47 +01:00
alexey.lysiuk
53a9819283 Disabled GCC loop vectorization for R_LoadKVX() function
This prevents crash (unaligned memory access by SSE instruction) on loading voxels in Release (-O3) builds
https://forum.zdoom.org/viewtopic.php?t=59656
2018-03-08 12:24:33 +02:00
alexey.lysiuk
7f17121df8 Fixed crash in MIDI to wave writer 2018-03-08 11:38:02 +02:00
alexey.lysiuk
cea64ea092 Moved old Nuked and Java OPL3 to own namespaces
This helps to avoid clashing of OPL3 classes
2018-03-08 10:18:49 +02:00
alexey.lysiuk
114e56b334 Moved old NukedOPL to own namespace
This fixes linking issues on non-MSVC targets and improves code navigation
2018-03-08 09:51:37 +02:00
alexey.lysiuk
15138c38ca Improved organization of ADLMIDI files in CMake generated projects 2018-03-08 09:49:51 +02:00
Magnus Norddahl
6ab58e56ad - fix simplify code slightly 2018-03-08 04:25:27 +01:00
Magnus Norddahl
71623198d2 - remove fake3D with structs and localize their usage instead of sharing global state 2018-03-08 04:05:35 +01:00
Magnus Norddahl
7cb4deabdd - get rid of FAKE3D_REFRESHCLIP and fix holes in 3d floors with wrapped midtextures 2018-03-08 01:28:23 +01:00
Magnus Norddahl
a55be25a9d - add const qualifier on top/bottom clip arrays usage 2018-03-08 00:55:37 +01:00
Christoph Oelckers
2d2d44baad - integrated ADL as a proper device in the MIDI device list.
- resorted the MIDI device menu option by device types (i.e. all SW synths first, FM synths second)
- allow setting the ADL bank.
2018-03-07 21:20:25 +01:00