Cacodemon345
0090925fac
Implement renderstyle and transparent actor sprite rendering in automap ( #997 )
...
* Implement renderstyle and transparent actor sprite rendering in automap
* Add "am_advspriterender" CVAR and add invisible actor checks.
* Rename cvar to `am_thingrenderstyles`
2019-12-23 10:29:14 -05:00
alexey.lysiuk
e9a7dcd17b
- precache switch textures from ANIMATED lump
...
For example, SW1SKULL and SW2SKULL switches are animated in TNT: Evilution
Their frames are defined in ANIMATED lump which is old BOOM binary format
Textures other than base were not cached because the corresponding switch definitions (in ANIMDEFS lump) have one frame only and BOOM style animations were not taken into account
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-23 13:11:06 +01:00
Rachael Alexanderson
f284567830
- change vid_scalemode 6 to work similarly to 0 and 1 when vid_cropaspect is turned on
...
- add vid_scaletolowest
2019-12-22 09:01:43 -05:00
Christoph Oelckers
738b9ceb08
- fixed incompletely changed shader.
...
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
Magnus Norddahl
1004ac1636
Automatically size the StreamUBO to 64 KB regardless of what is in it
2019-12-21 16:13:39 +01:00
alexey.lysiuk
81ea919d61
- fixed shader compilation errors with OpenGL backend
...
ERROR: 0:95: Use of undeclared identifier 'uTextureModulateColor'
ERROR: 0:104: Use of undeclared identifier 'uTextureAddColor'
ERROR: 0:107: Use of undeclared identifier 'uTextureModulateColor'
...
2019-12-21 15:42:04 +02:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
fd15af0b50
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-20 18:56:38 +01:00
Christoph Oelckers
03537e90ff
- linked new properties with the renderer.
...
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f
- added high level interface to the new properties, i.e. UDMF and ZScript.
2019-12-20 18:02:42 +01:00
alexey.lysiuk
ffe1a651a9
- upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
...
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-20 18:11:22 +02:00
Christoph Oelckers
3209d4ed23
- added a few more texture coloring options to the shader.
...
Aside from adding an additive component it can now also do:
- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.
Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
Christoph Oelckers
41a9496bef
- the texture precaching message is supposed to be debug only
2019-12-20 14:38:22 +01:00
alexey.lysiuk
a0670f5c5b
- added minimal time profiling of texture precaching
2019-12-20 11:06:00 +02:00
alexey.lysiuk
daedf9d158
- improved normalNx scaling performance by ~10%
...
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general
2019-12-20 11:04:50 +02:00
Rachael Alexanderson
33483115cd
- amend last commit: use VID_MIN_HEIGHT and VID_MIN_WIDTH macros in place of hardcoded values
2019-12-20 03:31:44 -05:00
Rachael Alexanderson
a53652f36e
- implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering
2019-12-20 03:05:44 -05:00
Christoph Oelckers
318da33e39
- sound engine update.
...
Notable changes:
* IsSourcePlayingSomething had undefined behavior when checking unattached and unpositioned sounds.
* loading Blood RAW sounds with different sample rates but the same backing lump may not use the same hardware sound buffer.
* when playing an unpositioned sound the attenuation is irrelevant and must be ignored. This resulted in a 3D sound being started which was mostly inaudible due to lack of valid origin.
2019-12-19 11:57:58 +01:00
alexey.lysiuk
59f09d4893
- move setting status bar defaults to proper location
...
BaseStatusBar.Init() method isn't suitable for this because it will override SBarInfoWrapper setup done in native code
https://forum.zdoom.org/viewtopic.php?t=66676
https://forum.zdoom.org/viewtopic.php?t=66339
2019-12-18 15:40:39 +02:00
Marisa Kirisame
9430e1556f
Change IsSourcePlayingSomething to handle overlapping sounds.
2019-12-17 15:53:56 +01:00
Christoph Oelckers
0ba6816622
- made FSoundChan::EntChannel a full int and reordered the structure for better packing.
2019-12-17 11:43:13 +01:00
Christoph Oelckers
136ab4f48a
- renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
2019-12-17 09:58:50 +01:00
Christoph Oelckers
0a8effaf9e
- fixed inverted listener check when using compatibility options.
2019-12-17 08:49:50 +01:00
Christoph Oelckers
3808e85c3e
- the old bit masking for the channel needs to go, of course.
2019-12-17 00:28:32 +01:00
Christoph Oelckers
639e9d3cd4
- fixed VOC loader. Its 16 bit code did not work because it set the variable to -16 instead of 16.
...
- removed a few MAX calls with std::max.
2019-12-17 00:05:35 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
b09e9f10ed
- sound engine update.
2019-12-16 21:45:34 +01:00
Magnus Norddahl
c5717d98db
Implement the other light modes and fix dynamic lights being calculated twice(!)
2019-12-15 20:05:13 +01:00
Magnus Norddahl
b44c40a63d
Implement EFF_FOGBOUNDARY
2019-12-15 17:33:49 +01:00
Magnus Norddahl
0fd964ec4f
Fix compile error
2019-12-15 17:32:12 +01:00
Magnus Norddahl
a4ca7cfb8d
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-15 17:14:34 +01:00
Magnus Norddahl
5632c80ab2
Split softpoly into more files
2019-12-15 17:14:23 +01:00
Christoph Oelckers
71d7013255
- better validation checks for CSV-based string files.
2019-12-15 16:42:24 +01:00
David Carlier
e0fb9a45e2
Marking final class to suppress build warning with clang.
2019-12-12 23:26:32 +01:00
alexey.lysiuk
c3ede69d16
- fixed linked sound resolving
...
Hash indices and sound ids were used interchangeably but they are different entities
https://forum.zdoom.org/viewtopic.php?t=66618
2019-12-12 17:37:10 +01:00
alexey.lysiuk
1a19dbb52f
- added 'damageonland' property to terrain definition
...
This property helps to replicate vanilla Hexen behavior of damaging player right after touching lava floor
https://forum.zdoom.org/viewtopic.php?t=66512
2019-12-12 15:14:30 +01:00
Christoph Oelckers
bf8305062a
- do not allow summon CCMD to spawn abstract classes
2019-12-12 02:13:19 +01:00
Christoph Oelckers
165d9951aa
- made the sound resolving a virtual method
...
This way the player sounds can be done in the proper place without infesting the core.
2019-12-12 01:31:41 +01:00
Fabian Greffrath
cc7807bb10
do not expect user input if stdin is redirected
...
If GZDoom is built on a POSIX system without the GTK frontend and not
run from a KDE session, an IWAD picker is presented on the terminal
and expects the user to select a game wad. However, if stdin is
redirected, this won't work, so start with the default IWAD instead.
2019-12-11 08:16:08 +02:00
alexey.lysiuk
194dd3e4cf
- fixed debugger visualization for FSoundID
2019-12-10 16:38:37 +02:00
alexey.lysiuk
3cb571c1d5
- rewrote test for occupied sound channel without special types
...
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 13:36:05 +02:00
alexey.lysiuk
f050a23541
- restored stopping of channel by new sound
...
If source actor/sector/polyobject is playing something on the selected channel, stop it before playing a new sound
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 11:40:32 +02:00
Magnus Norddahl
ab4c792201
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-10 00:44:53 +01:00
Magnus Norddahl
49af4a4b35
- fix line backside textures mirrored
2019-12-10 00:44:40 +01:00
Braden Obrzut
5a578ba1ae
Fixed: GetClientWidth and GetClientHeight were still using SDL_Surface which on some systems would allocate an SDL_Renderer automatically.
2019-12-09 18:39:36 -05:00
Magnus Norddahl
bf68f1a851
Change SDL renderer creation error to a fatal one and also include why SDL failed the call
2019-12-09 23:33:22 +01:00
alexey.lysiuk
5e35077364
- remove redundant call to SoundRenderer::UpdateSounds()
...
At that point SoundEngine::StopAllChannels() did this already
2019-12-09 16:09:07 +02:00
alexey.lysiuk
5966391108
- moved sound engine cleanup calls to own function
...
https://forum.zdoom.org/viewtopic.php?t=66605#p1127457
2019-12-09 16:06:41 +02:00
alexey.lysiuk
430a6f3247
- fixed crash when exiting before sound engine initialization
...
https://forum.zdoom.org/viewtopic.php?t=66605
2019-12-09 15:43:01 +02:00
alexey.lysiuk
47305a740f
- removed redundant call to S_StopAllChannels()
...
It's the first thing that S_ClearSoundData() does anyway
2019-12-09 15:40:40 +02:00
Braden Obrzut
4ae2e12cbf
Convert SDL_Surface code to SDL_Renderer
2019-12-08 21:31:16 -05:00
Magnus Norddahl
61036dfdca
Fix include error
2019-12-09 03:10:37 +01:00
Christoph Oelckers
298e29ffcc
Merge branch 'soundsource_refactor'
2019-12-08 22:19:51 +01:00
Christoph Oelckers
6725cfcca5
- cleaned the includes of the sound backend code of unwanted content.
...
Also simplified the sound init decision making. With FMod gone there is no reason to be pedantic here. Even the check of snd_backend for the Null device could be omitted here, its only realistic use is '-nosound'.
2019-12-08 22:17:19 +01:00
Christoph Oelckers
83349bee1b
- separated reverb data and reverb editor.
...
Again, isolating the part that is game independent from parts that are specific to GZDoom.
2019-12-08 21:45:45 +01:00
Christoph Oelckers
b9582cc98e
- continued refactoring on sound code.
...
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
Magnus Norddahl
2052a6db53
Simplify code slightly
2019-12-08 18:27:26 +01:00
Magnus Norddahl
1e239ba4bb
SSE for the blend functions
2019-12-08 18:20:50 +01:00
Magnus Norddahl
819c675c3d
Fix typo
2019-12-08 16:40:14 +01:00
Magnus Norddahl
0b9e4e1f3d
Oops, shifting using a SSE register apparently requires AVX2
2019-12-08 16:29:14 +01:00
Magnus Norddahl
6c65c25303
Create specific blend functions for the common legacy render styles
2019-12-08 16:06:42 +01:00
Magnus Norddahl
42720f87cc
Select fragment shader once per triangle
2019-12-08 14:52:12 +01:00
Magnus Norddahl
f7ae955e6a
Select blend function once per triangle
2019-12-08 14:42:20 +01:00
Magnus Norddahl
73c62c5404
Minor code simplification
2019-12-08 13:57:40 +01:00
Magnus Norddahl
aa44fa7c77
Create SSE2 version of BlendColor
2019-12-08 13:55:28 +01:00
Christoph Oelckers
fd181f469d
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
2019-12-08 13:28:52 +01:00
Christoph Oelckers
22e692e21c
- started separating the sound engine code from game dependent parts.
...
First step: Split the header. Todo: Abstract listener and sound source specifics out of the sound engine.
2019-12-08 10:07:26 +01:00
Magnus Norddahl
844b203971
Split the various stages of the fragment shader into functions
2019-12-08 03:18:05 +01:00
Magnus Norddahl
c97d02ae51
Alpha test must be performed before vcolor is applied
2019-12-08 02:39:42 +01:00
Magnus Norddahl
fdb93309fe
Fix render to texture
2019-12-08 01:39:17 +01:00
Magnus Norddahl
cef3fd53ab
Clamp vColor
2019-12-08 00:41:24 +01:00
Magnus Norddahl
f365f6f433
Fix depth test staying active when it shouldn't
2019-12-08 00:41:02 +01:00
Magnus Norddahl
310ef73aa8
Rename PolyTriangleDrawer to PolyCommandBuffer and make its interface look like one
2019-12-07 23:15:12 +01:00
Magnus Norddahl
bb64b178e1
Fix sky transition
2019-12-07 21:17:11 +01:00
Magnus Norddahl
90f5eee6c6
Add dynamic lights
2019-12-07 15:09:58 +01:00
alexey.lysiuk
372733da8c
- handle mirroring in MNTR sprite renaming
...
https://forum.zdoom.org/viewtopic.php?t=66583
2019-12-07 14:58:23 +02:00
alexey.lysiuk
e4587138bb
- added support for softpoly backend on macOS
...
Grabbed most of code from old Cocoa backend with separate code path for software rendering
2019-12-07 13:25:12 +02:00
Magnus Norddahl
75248cffd0
- fix decal color bug
2019-12-06 23:26:38 +01:00
Madame Rachelle
f3897e26f0
- allow to change acceleration type in SDL backend for softpoly
2019-12-06 14:38:25 -05:00
Magnus Norddahl
fd4fc45040
Move blend operator and alpha test flag out of the inner blend loop
2019-12-06 20:35:19 +01:00
Magnus Norddahl
aede0633bc
- fix bug where SSE wasn't actually really used at all
...
- improve precision of the SSE version of WriteW
- use SSE to calculate the texture wrapping
2019-12-06 18:51:41 +01:00
Rachael Alexanderson
edd7fe1e16
- migrate vid_enablevulkan to vid_preferbackend in config file
2019-12-06 12:05:52 -05:00
Rachael Alexanderson
eaab122076
Merge remote-tracking branch 'origin/polybackend'
2019-12-06 09:30:55 -05:00
alexey.lysiuk
ffe8aaa091
- updated xBRZ scaler to 1.8
...
Removed all C++17 features: std::clamp(), attribute [[likely]], terse static asserts, ...
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.8.zip/download
2019-12-06 13:18:43 +02:00
Magnus Norddahl
8075510289
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-06 00:20:25 +01:00
Madame Rachelle
c646478aa0
- allow SDL to use OpenGL acceleration for polybackend
2019-12-05 18:27:46 -05:00
Magnus Norddahl
a7a899ca14
Fix null pointer crash
2019-12-06 00:19:51 +01:00
Magnus Norddahl
dd87619cc4
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-05 21:19:20 +01:00
Magnus Norddahl
9b7db26a37
Fix the compile error on Windows
2019-12-05 21:18:11 +01:00
Magnus Norddahl
ab4f3ee0b1
Fix black border clears
2019-12-05 22:04:28 +01:00
Magnus Norddahl
e4bd2483e5
Implement SDL present functions
2019-12-05 21:26:01 +01:00
Chronos Ouroboros
b9367caa6f
Fixed the JIT's OP_VTBL check not checking if it's already at the start of the code.
2019-12-04 17:37:20 -03:00
Magnus Norddahl
0f6aec5e99
Some vid_preferbackend compile fixes
2019-12-02 20:12:27 +01:00
Magnus Norddahl
a9e6592feb
Switch to the D3DSWAPEFFECT_FLIPEX swap model
2019-12-02 20:05:13 +01:00
Magnus Norddahl
43139276d1
SSE2 version of wrap
2019-12-02 18:44:15 +01:00
Rachael Alexanderson
3269b61ffc
- change menu option for 'vid_preferbackend'
2019-12-02 09:43:06 -05:00
Magnus Norddahl
f501e1bb49
Fix texture binding bug
2019-12-02 01:48:59 +01:00
Magnus Norddahl
865b7a1a2c
Implement func_paletted shader
2019-12-02 01:28:35 +01:00
Magnus Norddahl
44c2223c2f
Draw 8-bit software renderer with polybackend (well, sort of!)
2019-12-02 01:07:28 +01:00
Magnus Norddahl
4a2b763aaa
Support 8-bit textures
2019-12-02 00:35:15 +01:00