Commit Graph

3123 Commits

Author SHA1 Message Date
argv-minus-one ce1aa7e962 Move RandomSpawner's random selection logic into a virtual method.
With this, one can use its self-replacement code (which copies a bunch of its state into the replacement actor, and monitors for boss death if appropriate), but select the replacement class based on some other criteria (map number, the player's RPG stats, the player's class, etc).
2018-07-09 17:50:55 +02:00
argv-minus-one 6239796b92 Move RandomSpawner's recursion check into PostBeginPlay.
Previously, a RandomSpawner with infinite recursion would hang the game, because the recursion check was happening before the recursion counter (bouncecount) was set.
2018-07-09 17:50:55 +02:00
alexey.lysiuk c29651da95 - restored initial grayscale conversion in fragment shader
Accidental change of red color multiplier was discovered during investigation of https://forum.zdoom.org/viewtopic.php?t=61126
2018-07-02 17:31:48 +03:00
Magnus Norddahl 8eb825e25a - fix some postprocess bugs 2018-06-30 16:44:09 +02:00
Magnus Norddahl a7529ce3b4 Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess 2018-06-29 20:24:32 +02:00
alexey.lysiuk 651e735246 Merge branch 'master' into modern 2018-06-29 17:51:10 +03:00
Erick Tenorio 245801ca17 Removed useless SetLineActivation
SPAC_Use removed as the line in fth666.wad MAP12 is not facing front.
2018-06-27 23:26:15 +02:00
Erick Tenorio 43919ead40 Various map fixes
Map fixes for the following maps:

MAP33: Betray (Doom II: BFG Edition)
Icarus: https://www.doomworld.com/idgames/themes/TeamTNT/icarus/icarus
Flashback to Hell: https://www.doomworld.com/idgames/levels/doom2/Ports/d-f/fth666
Hell to Pay (HTP-RAW.WAD)
2018-06-27 23:26:15 +02:00
Alexander 97aba0c416 add tags for Doom and Heretic monsters
Why? So mods that reveal enemy names don't show internal monster class names.

Tags are based on language.enu lump:
- Tags for Doom/Doom 2 monsters are referring directly to CC_* strings.
- Tags for Heretic monsters are based on obituaries.
- All tags match corresponding obituaries.
2018-06-27 21:04:00 +02:00
Magnus Norddahl 32d837cdf1 Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess 2018-06-24 17:57:02 +02:00
Christoph Oelckers a4622e70d0 Merge remote-tracking branch 'remotes/origin/master' into modern 2018-06-23 23:03:51 +02:00
Magnus Norddahl b2fad453fa - change tonemaps to steps 2018-06-23 19:25:49 +02:00
Vitaly Novichkov ceec12056a Upgrade libADLMIDI and libOPNMIDI
Added ability to switch emulator and it's accuracy level ("enabling of 'run at PCM rate' reduces accuracy, and also reduces CPU usage")
Added draft code for future external banks support (WOPL format for ADLMIDI and WOPN format for OPNMIDI)

ADLMIDI 1.3.3   2018-06-19
 * Fixed an inability to load another custom bank without of library re-initialization
 * Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Fixed incorrect 4-op counter which is still catch 4-op instruments on 2-op banks
 * Fixed an incorrect processing of auto-flags
 * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
 * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
 * Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * The automatical choosing of 4 operator channels count has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

ADLMIDI 1.3.2   2018-04-24
 * Added ability to disable MUS and XMI converters
 * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
 * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
 * Added support for real-time switching the emulator
 * Added support for CC-120 - "All sound off" on the MIDI channel
 * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
 * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

OPNMIDI 1.3.0   2018-06-19
 * Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
 * Fixed an incorrect processing of auto-flags
 * MAME YM2612 now results a more accurate sound as internal using of native sample rate makes more correct sound generation
 * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
 * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

OPNMIDI 1.2.0   2018-04-24
 * Added ability to disable MUS and XMI converters
 * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
 * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
 * Added support for real-time switching the emulator
 * Added support for MAME YM2612 Emulator
 * Added support for CC-120 - "All sound off" on the MIDI channel
 * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
 * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
2018-06-22 17:30:51 +02:00
Christoph Oelckers 1967165633 - move view and projection matrices to DrawInfo. 2018-06-21 21:02:14 +02:00
Christoph Oelckers b65b83edb3 - removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Christoph Oelckers 4937848123 - refactoring of fixed colormap stuff to have it better organized and to reduce the number of uniforms in the main shader.
This removes 3 uniforms, consisting of 9 floats. Those were merged into other values that never get used at the same time.
It also moves the costly setup of the fixed colormap out of the render state into the 2D processing code.
Since 3D forces use of render buffers now, it is no longer necessary to draw the entire scene with the colormap active, meaning it can be handled more efficiently.
2018-06-16 22:40:44 +02:00
Christoph Oelckers 612fb40f3a - don't use uniforms related to fixed colormaps for other things.
The fixed colormap is a per-scene global setting that normally does not need to change ever during rendering of a scene so it's easily shoved aside into a static uniform buffer.
Having to change this buffer for inconsequential stuff should be avoided, especially when there's other uniforms that are just as good to hold these values.
2018-06-14 21:28:03 +02:00
Christoph Oelckers ce50b0e46b - read sampler bindings from the shader instead of tagging along a large amount of support data.
Works for most shaders, except SSAO.
2018-06-13 17:44:49 +02:00
Christoph Oelckers d2dea17e81 - specify vertex attributes in the shader source for Vulkan compatibility. 2018-06-13 08:40:04 +02:00
Christoph Oelckers ad7aaa8f2a - specify fragment output locations in the shader source.
OpenGL has been supporting this since version 3.3 and Vulkan requires it so it's the way to go.
2018-06-12 23:52:33 +02:00
Magnus Norddahl 832e7818c8 - rewrote the blur shader so that it works the same way as the rest 2018-06-12 22:14:44 +02:00
Magnus Norddahl 49073489e5 - uniform buffers for the fxaa, blur and bloom shaders 2018-06-11 22:06:46 +02:00
Magnus Norddahl 48f753061a - uniform buffers for the present and shadowmap shaders 2018-06-11 21:42:09 +02:00
Magnus Norddahl 6fcc79d72a - uniform buffers for the tonemap shaders 2018-06-11 21:18:20 +02:00
Magnus Norddahl 2bde741a7e - Uniform buffer for colormap shader 2018-06-11 21:03:55 +02:00
Magnus Norddahl d22fb24e28 - Uniform buffers for lens shader 2018-06-11 20:58:20 +02:00
Magnus Norddahl 763c5c9769 - change ssao pass to use an uniform block 2018-06-11 20:48:43 +02:00
Magnus Norddahl 85f5f897d7 - enable model rendering in the software renderer 2018-06-09 12:29:33 +02:00
Rachael Alexanderson 512082b222 - fixed: 'empty function OnGiveSecret' - this was my fault, giving bad advice to Marisa in her PR. I fixed it. 2018-06-05 10:20:02 -04:00
Marisa Kirisame 477cf23fd2 Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding. 2018-06-05 10:06:53 -04:00
Christoph Oelckers a851a5d151 - fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
This is necessary to be in line with P_LineAttack which does check for those.
2018-06-03 17:49:00 +02:00
Christoph Oelckers cce6c9a085 - fixed precision issue with dot product.
Apparently the shader math is not precise enough to ensure that two supposedly orthogonal vectors are truly orthogonal, resulting in a non-zero dot product
2018-05-24 20:31:44 +02:00
Christoph Oelckers 1266339c0f - fixed shader compilation. 2018-05-19 21:17:58 +02:00
Christoph Oelckers 3dc6ddbcc3 - check light direction in the shader.
There are situations where lights on the wrong side of a linedef may be passed and those need to be skipped in the shader code.
2018-05-19 19:20:45 +02:00
Christoph Oelckers b197bfc964 - avoid checking for vr_enable_quadbuffered directly.
This option only exists on Windows, so on the other platforms it should not be in the menu and not affect the setup of the VR mode.
2018-05-18 00:12:45 +02:00
Jonathan Russell e9050a38b3 - added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors 2018-05-16 20:47:43 +02:00
Christoph Oelckers 72c7a05ba8 - added compatibility fix for bad sector reference in Plutonia MAP11. 2018-05-05 19:58:34 +02:00
alexey.lysiuk 6d308ca67e Fixed walkthrough blocker in Sin City 2 via compatibility entry
It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b broke triggering of important linedef that pushes friendly marine to exit switch

https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
2018-04-28 17:45:15 +02:00
Christoph Oelckers 59477362d9 Merge branch 'wallwork' 2018-04-27 20:37:54 +02:00
alexey.lysiuk c8eefd84fa Enabled playing of *gasp sound by default
https://forum.zdoom.org/viewtopic.php?t=60361
2018-04-27 11:04:21 +03:00
Christoph Oelckers 286846a8ec 2D must consider brightmaps. 2018-04-27 08:59:59 +02:00
Christoph Oelckers 557c8b480b - missed the menu part. 2018-04-25 20:34:28 +02:00
ZZYZX da089b09b1 Added missing commented enum entry for ETraceFlags on ZScript side 2018-04-25 19:38:29 +02:00
Christoph Oelckers 85300993af - replaced gl_PatchMenu with an MMX 'ifoption' check. 2018-04-25 19:36:48 +02:00
Christoph Oelckers 1648fc6a07 Fixed initialization issues with dynamic lights.
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2018-04-25 09:14:01 +02:00
Kevin Caccamo 1c58093fc8 Add info about UseSpecial flag feature conflict above Actor.Used 2018-04-24 05:56:07 -04:00
alexey.lysiuk ee9fa7c33e Made 100% kills possible on Altar of Evil, easy skill
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/altar666
2018-04-22 17:49:13 +03:00
alexey.lysiuk df634539a0 Made 100% kills possible and unstuck imp on Valhalla map
https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val
2018-04-16 14:34:07 +03:00
alexey.lysiuk 87d164ee59 Added ability to set thing position in compatibility layer 2018-04-16 14:30:21 +03:00
Christoph Oelckers 8a2e52d651 Removed gl_lights_checkside which essentially was just a pointless piece of cruft inherited from ZDoomGL. 2018-04-16 08:45:50 +02:00
alexey.lysiuk bb037635a8 Fixed missing textures on Valhalla with hardware renderer
It works fine with software renderer regardless of this compatibility entry because of texture bleeding
https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val
-iwad doom2 -file ma_val.pk3 -nomonsters +map map01 "+warp -450 -2300"
2018-04-15 16:41:24 +03:00
Christoph Oelckers 8b4c74fad8 - the global portal data table also needs to be protected. 2018-04-15 12:16:46 +02:00
Christoph Oelckers cf8447d19c -protected critical portal data from getting written to by user code.
This data is game critical and may only be altered by code that knows what is allowed and what not. It must never be altered by any user code ever.
However, since the SkyViewpoint actors need to set up some relations between themselves and the default sky portals the previously purely internal 'internal' flag has been exported as a new keyword.
2018-04-15 12:13:02 +02:00
alexey.lysiuk ba4cc1a6ca Added activation type to WorldLine(Pre)Activated events
https://forum.zdoom.org/viewtopic.php?t=60232
2018-04-14 11:52:09 +03:00
Christoph Oelckers 13567f2505 - added a compatibility handler for Kama Sutra MAP01's ending area. 2018-04-13 20:27:21 +02:00
Christoph Oelckers ac98e5a4f8 - fixed last change of compatibility branch. 2018-04-13 19:28:35 +02:00
Christoph Oelckers 71a6cc4625 Merge branch '2D_Refactor' 2018-04-13 17:52:58 +02:00
Christoph Oelckers 387827555f - added compatibility handler for Alien Vendetta MAP01 to properly display the deep water hack and avoid problems with a node rebuild. 2018-04-11 23:08:59 +02:00
Christoph Oelckers 3988e27059 - scriptified the last remaining definition (BTSX MAP12 beta)
- Changes to map geometry must force a node rebuild (SetVertex, SetLineSectorRef.)
- fixed incorrect use of scaling constant in SetWallYScale.
2018-04-11 19:10:15 +02:00
alexey.lysiuk 6631f208b1 Scriptified remaining compatibility entries 2018-04-11 17:01:57 +03:00
alexey.lysiuk 6480946d40 Scriptified more compatibility entries 2018-04-11 15:57:27 +03:00
alexey.lysiuk 5f5adbe161 Scriptified compatibility of Strife level along with needed functions 2018-04-11 13:02:26 +03:00
alexey.lysiuk 950443683b Scriptified compatibility of more Heretic levels 2018-04-11 12:35:45 +03:00
alexey.lysiuk 69222c3c36 Fixed missing texture with hardware renderer on Jenesis MAP16
https://forum.drdteam.org/viewtopic.php?t=7337
2018-04-11 11:54:27 +03:00
alexey.lysiuk 05dcd30838 Made 100% secrets possible on The Realm of Parthoris E1M5
https://forum.zdoom.org/viewtopic.php?t=60181#p1049393
2018-04-11 11:52:07 +03:00
Christoph Oelckers 0ecbf07769 -ported a large part of compatibility.txt 2018-04-10 23:19:22 +02:00
Christoph Oelckers 65a219eecc - sorted compatibility.txt so that levels which only have flags set are at the top of the file. 2018-04-10 20:02:41 +02:00
Christoph Oelckers 9daad477c3 - some improvements to compatibility scripts:
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk 640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03:00
drfrag666 80f57dfaf0 - Increased size of the savegame comment area. 2018-04-08 21:56:35 +02:00
Marisa Kirisame 08f3afab0b Separated P_ActivateLine ZScript export into two functions, one with and one without a vector parameter. 2018-04-08 21:53:20 +02:00
Marisa Kirisame 5d0ff4c8ba Exports P_ActivateLine to ZScript (along with constants for activation type) 2018-04-08 21:53:20 +02:00
Christoph Oelckers 94e8d59dde - implemented shader support for rendering the SW renderer canvas with legacy OpenGL. 2018-04-08 13:05:20 +02:00
Christoph Oelckers 5eb898107f - now that all 2D is guaranteed to be drawn in true color, the Heretic E2 end pic can be handled with less hacks.
This removes the entire palette switch and all the special checks to ensure that no menu can be drawn over this image.
Instead it gives this texture its special palette in the texture manager so that the proper image is created right away.

I decided against exposing this as an editing feature because it is far too specific to this particular image and the raw page format it uses.
A quick check of /idgames shows no project ever replacing it - especially no ZDoom-based project - so no extended handling is needed to make this work with other texture formats.
2018-04-08 10:10:26 +02:00
Christoph Oelckers df4f435952 - merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Christoph Oelckers adbeb3f251 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor 2018-04-07 18:50:24 +02:00
Christoph Oelckers 221beec979 - added palette shader and fixed a few things. 2018-04-07 12:17:23 +02:00
Christoph Oelckers b34d7f9e08 - added a software scene drawer to the GL renderer.
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
Christoph Oelckers 9ba32cb994 - with the new order of things we need the software renderer to be always available. 2018-04-03 20:14:26 +02:00
alexey.lysiuk d3cacbf246 Fixed potential crash on usage of Mystic Ambit Incant
https://forum.zdoom.org/viewtopic.php?t=60080
2018-04-03 12:41:51 +03:00
Christoph Oelckers 3671fd7f97 Merge branch 'master' into 2D_Refactor 2018-04-01 08:44:39 +02:00
Christoph Oelckers 23146c9b18 - made all elements of DehInfo and State read-only.
This data must be immutable, if any mod plays loose here, very bad things can happen, so this hole got plugged, even at the expense risking to break some badly behaving mods.
2018-04-01 08:41:06 +02:00
Simon 4afc538f88 Localize the word “for” in Strife’s trading dialogs
This deals with what seems to be the only hardcoded piece of text in Strife. Also added a translation to the French file and removed a few superfluous line breaks in the English one.
2018-03-31 18:57:00 +02:00
ZippeyKeys12 0441994106 Default newradius in A_SetSize 2018-03-30 18:06:46 -05:00
Christoph Oelckers a001a5304d - removed the old software renderer framebuffers for Windows
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers 1e5fbc1423 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
# Conflicts:
#	src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +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 84e9017a5f Fixed infinite loop with zero height fast projectile
https://forum.zdoom.org/viewtopic.php?t=60019
2018-03-30 12:49:35 +03:00
alexey.lysiuk a6738fd139 Fixed infinite loop with None class in random spawner
actor NoneSpawner : RandomSpawner
{
    DropItem "None"
}

https://forum.zdoom.org/viewtopic.php?t=60027
2018-03-30 10:44:42 +03:00
Christoph Oelckers 811d96e07e D3D 2D code refactored but not tested yet. 2018-03-29 23:21:25 +02: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
Christoph Oelckers 70b6754299 - implemented the 2D drawer for the hardware renderer. Not tested yet. 2018-03-28 21:38:00 +02: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
Christoph Oelckers e0f1abdf81 - removed SDLFB and cleaned things up a bit. 2018-03-27 11:59:43 +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
Magnus Norddahl 4ffa344f7d - Fix black pixels when subtractive lights are in range for PBR materials 2018-03-26 00:01:52 +02:00
Christoph Oelckers 98c7118a3a - fixed: A sidedef's sector and linedef references were writable.
This cannot be allowed under any circumstances because this is what links the map geometry together.
Yes, it will break any mod that tries to play with these variables, but any such mod has to be considered broken by design and must be stopped.
2018-03-25 22:39:10 +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
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
Christoph Oelckers 4e8588815b - split up the advanced sound menu because it became a bit too confusing with all the different MIDI players' options lumped together.
There is now a separate MIDI player options menu which is a list of submenus, one for each player (except for OPNMIDI which does not have any options yet.
2018-03-24 20:29:48 +01:00
Christoph Oelckers 49ab99a383 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-24 19:40:52 +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
Marisa Kirisame 0656916bf2 Add WorldLinePreActivated to override line activation, as a counterpart to WorldLineActivated. 2018-03-24 16:30:49 +01: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
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 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
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 b4d3715345 Fixed status bar chain wiggling when paused
Made ZScript implementation of chain wiggling in Heretic status bar as close as possible to C++ SBARINFO one
https://forum.zdoom.org/viewtopic.php?t=59840
2018-03-17 12:29:55 +02:00
Magnus Norddahl 9b7bef59d2 - fixed Intel rendering glitch with uDynLightColor 2018-03-12 21:44:55 +01:00
Rachael Alexanderson 9600cfde3c - put unexplored secret color picker in the menu 2018-03-10 10:55:24 -05:00
alexey.lysiuk e51a1867df Added default values for BaseStatusBar.AttachMessage() arguments 2018-03-07 16:00:08 +02:00
alexey.lysiuk 4f1f989049 Exposed HUDMSGLayer_... constants to ZScript 2018-03-07 15:58:43 +02:00
Marisa Kirisame c9613b2fd1 Make sidedef vertex and secplane height functions callable from ui 2018-03-03 17:10:32 +01:00
Marisa Kirisame 069c5aa90a Fix accidentally removed SectorPlane assignment. Added missing HitVector support. 2018-03-03 09:30:06 +01:00
Christoph Oelckers 5d223bb8c3 - removed clearscope from DSectorEffect.GetSector.
Just because this is a getter does not mean that the data may even exist on the client side!
2018-03-03 09:28:25 +01:00
Marisa Kirisame 4cc8ba3399 Export GetSector() again, removed lightingdata assignment. 2018-03-03 09:26:11 +01:00
Marisa Kirisame 053d9f4a44 Export sector effect pointers, fix missing pointer assignment on Lighting effect creation. 2018-03-03 09:26:11 +01:00
Christoph Oelckers b327aa737a Merge remote-tracking branch 'remotes/origin/materials' 2018-03-03 08:54:04 +01:00
Christoph Oelckers 4c0f68bcd4 Merge branch 'master' into timidity++
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-02 00:08:12 +01:00
Christoph Oelckers bb16e34bf4 - exposed the HUD message interface to ZScript.
Note that this is just the bare abstract interface. It is up to content makers to define usable HUD message classes and optionally contribute them to the engine.
2018-03-01 11:45:19 +01:00
Magnus Norddahl 6652df40c1 Merge remote-tracking branch 'gzdoom/master' into materials 2018-02-28 22:12:12 +01:00
Christoph Oelckers 6e8dbb590d - fixed: PowerMorph.EndEffect should not tinker around with morph duration.
There was a clear attempt here to let the item keep control of the remaining morph time, but since the item would have gotten destroyed right afterward it just shot itself in the foot badly by doing so.
Just leaving the remaining work to the main unmorphing check in the PlayerThink code by doing nothing will avoid the bad situation where a player gets stuck in its morphed form.
2018-02-28 20:15:44 +01:00
Christoph Oelckers 3a3cd87ce0 - perform the stepping adjustment for FastProjectiles in 3D.
Not checking the z-Axis means that they might pass through 3D floors without noticing at steep angles and very high speeds.
2018-02-28 18:26:25 +01:00
Major Cooke 7ac8b496f1 Added Distance(2/3)DSquared functions. 2018-02-28 09:28:11 +01:00
Christoph Oelckers 883a6ffe3a - added an inventory check to A_KeenDie so that it still works if a patch repurposes a pickup item that may end up in the player's inventory. 2018-02-27 10:40:43 +01:00
Christoph Oelckers 9a8e724761 - added a compatibility setting for Perdition's Gate MAP31 which was having render issues with an unsupported vanilla effect. 2018-02-27 09:53:15 +01:00
Christoph Oelckers 36e8358763 - use submenus for soundfont selection both for better overview and avoiding a music restart for each selection change. 2018-02-26 08:52:40 +01:00
alexey.lysiuk fb1f8a6045 Restored ACS_NamedExecuteWithResult for DECORATE
https://forum.zdoom.org/viewtopic.php?t=59250
2018-02-24 22:03:23 +02:00
alexey.lysiuk 1679065a5d Exposed Actor.ACS_ScriptCall() function
This method can be used with arbitrary actor object like thing.ACS_ScriptCall("script")
CallACS() and ACS_NamedExecuteWithResult() intrinsics work only within self actor context
2018-02-24 16:23:55 +02:00
Christoph Oelckers 39f26028aa - reworked the advanced sound menu to take advantage of the new soundfont handling.
The text input field for the configs have been removed. Instead it will now present a list of soundfonts that are found in specific locations.
For that it will look in the 'soundfont' directories of the FileSearch.Directories entry of the config.
Acceptable file formats here are SF2 and zipped GUS patch sets. These zipped patch sets need to have a timidity.cfg at the root and refer to all containing data by relative path. References to outside files are not allowed here.
It is still possible to refer to sound fonts elsewhere on the hard drive by manually entering a path at the console - but these won't show in the menu and will get lost if one cycles through the list of available options.
Of the available softsynths, FluidSynth will only list SF", Wildmidi will only list GUS patch sets and Timidity++ and GUS will list both.

Please note that although the GUS synth can read SF2, the output appears to be broken die to some old bug.
2018-02-23 19:23:39 +01:00
Christoph Oelckers 88f9f0982c - fixed Timidity++ playback. 2018-02-23 18:33:54 +01:00
alexey.lysiuk 12eb760ff4 Do not abort if Korax target destroyed before attack begins
https://forum.zdoom.org/viewtopic.php?t=59551
2018-02-22 16:52:45 +02:00
alexey.lysiuk 1bcbdf9fd1 Added CHAN_LOOP to ZScript ESoundFlags enum
https://forum.zdoom.org/viewtopic.php?t=59417
2018-02-20 10:51:12 +02:00
Magnus Norddahl 07fa310f23 - move material light modes to their own subshader lumps 2018-02-20 00:13:05 +01:00
Magnus Norddahl eb39e88682 - clean up the main.fp light handling code so that a single ApplyDynLights function applies all dynamic light 2018-02-19 02:01:33 +01:00
Magnus Norddahl 94fbcacf22 Merge branch 'gzdoom' into materials 2018-02-10 00:08:17 +01:00
Magnus Norddahl 3207d8aef7 - generate uniform declarations from c++ 2018-02-09 23:29:31 +01:00
alexey.lysiuk 18ad975c7a Added compatibility entry for Ultimate Simplicity MAP11
This eliminates potential blocker in level progression
2018-02-04 17:42:39 +02:00
Rachael Alexanderson 32287511e2 - change type 9854 to SpotLightFlickerRandomAttitive since its old definition was just a duplicate of another one. 2018-02-04 04:11:02 -05:00
Magnus Norddahl 769867475c - Replaced max(dot(a,b), 0.0) with clamp as some rounding errors caused pow to receive negative values when then value was subtracted from 1.0 (undefined glsl behavior)
- Fixed that surface angle attenuation was getting applied twice
2018-02-03 23:56:55 +01:00
alexey.lysiuk af7648a151 Made PlayerRespawn skill definition consistent
Now it works the same as AllowRespawn map definition in MAPINFO
2018-02-03 16:26:49 +02:00
Magnus Norddahl 7b9a334f77 - Change PBR materials to use quadratic light falloff 2018-02-03 13:17:09 +01:00
alexey.lysiuk 0f62cd67a5 Added compatibility entry for Ultimate Simplicity MAP04
Now it's possible to get 100% kills on lower skill levels
2018-02-03 13:24:54 +02:00
Christoph Oelckers 8e90386567 - made Weapon.CheckAmmo and Weapon.DepleteAmmo virtual on the script side. 2018-01-30 22:04:31 +01:00
alexey.lysiuk d9323b9740 Marked internal menu commands as safe
This fixes soundfont/patchset/config selection menus in advanced sound options
2018-01-30 16:02:30 +02:00
Magnus Norddahl 747ef8324e - Improve sector light slightly for PBR 2018-01-29 19:09:24 +01:00
alexey.lysiuk 11ec3b1de0 Added compatibility option for Demonfear MAP22
Bridge beyond red skull door was raising too high
2018-01-28 14:34:31 +02:00
Christoph Oelckers 410749cf67 - compatibility node rebuild for Doom2's MAP25
https://forum.zdoom.org/viewtopic.php?f=15&t=59256
2018-01-28 08:44:40 +01:00