Commit graph

16614 commits

Author SHA1 Message Date
Rachael Alexanderson
f67b217415 - fix compiler error with Alsa enumeration 2020-01-07 18:36:58 +01:00
Christoph Oelckers
ff3606e44e - refactored the MIDI list code.
Let's hope nothing got broken on the Linux side, the recent submission's code was not usable.

# Conflicts:
#	libraries/zmusic/zmusic/configuration.cpp
#	src/sound/music/i_music.cpp
#	src/sound/music/music_midi_base.cpp
2020-01-07 18:36:55 +01:00
Christoph Oelckers
dee8af1902 - made the sound decoding interface DLL friendly and added compile switches to the MIDI players so that different licenses can be uses as compile target.
# Conflicts:
#	src/sound/backend/i_sound.h

# Conflicts:
#	libraries/zmusic/mididevices/music_timiditypp_mididevice.cpp
2020-01-07 18:22:15 +01:00
Christoph Oelckers
b6577d9f55 - forgot to save this one. 2020-01-07 18:07:28 +01:00
Christoph Oelckers
e89cc73f80 - rewrote the ZMusic interface so that it is free of C++ constructs.
Now it is ready to put in a DLL.

# Conflicts:
#	libraries/zmusic/zmusic/mididefs.h
#	libraries/zmusic/zmusic/zmusic.h
2020-01-07 18:07:26 +01:00
Christoph Oelckers
f2a3a70aec - replaced the C++ based file access wrapper in ZMusic with a C compatible version. 2020-01-07 18:07:23 +01:00
Christoph Oelckers
7e01b19753 - there's no need to let the XM Vorbis decoder run through the client - all related functionality is part of ZMusic itself. 2020-01-07 18:07:21 +01:00
Christoph Oelckers
e5faff8cbb - made adjustments to the remaining parts of the function interface. 2020-01-07 18:07:19 +01:00
Christoph Oelckers
4e8359100f - made the ZMusic interface more DLL friendly: Reworked all functions not to throw exceptions across the library boundary and made a few definitions internal.
Not complete yet.

# Conflicts:
#	libraries/zmusic/zmusic/zmusic.h
2020-01-07 18:07:17 +01:00
Christoph Oelckers
353ffa2e95 - the timidity safe_malloc functions may not throw exceptions.
There is a high chance of them getting called within the stream servicing function which cannot deal with abnormal conditions, so the only choice here is performing a hard abort.
2020-01-07 18:07:15 +01:00
Christoph Oelckers
849bfb69b1 - blocked the destructor in the sound font reader base class.
If ZMusic is to act like an external library it may not call delete on external objects because there is no guarantee that they use the same allocator. Deletion must be done as a virtual function to ensure that the correct operator delete gets called, which, unlike the actual destructor is not virtual itself.
2020-01-07 18:07:13 +01:00
drfrag
38c1b2e207 Update and clarify the licenses for the postprocess part.
(dpJudas)
Cherry-picked from commit fca3da8af4
2020-01-07 18:04:33 +01:00
alexey.lysiuk
e1460eb050 - fixed crash during enumeration of MIDI devices
libraries/zmusic/zmusic/configuration.cpp:109:9: warning: returning reference to local temporary object [-Wreturn-stack-address]
2020-01-07 18:04:30 +01:00
Petr Mrázek
b07254507a - Support for MIDI on Linux via alsa sequencer 2020-01-07 18:04:28 +01:00
Rachael Alexanderson
aa6cb4815f - oops, missed this one 2020-01-06 21:58:51 +01:00
Rachael Alexanderson
b75665983c - relicense some of my past work under BSD
# Conflicts:
#	src/rendering/r_videoscale.cpp
2020-01-06 21:58:48 +01:00
Christoph Oelckers
41d192ed98 - fixed two missing commas in DEHSUPP. 2020-01-06 21:57:06 +01:00
Christoph Oelckers
16bd5e9619 - added the Dehacked extensions from Crispy/Doom Retro.
All empty placeholders for mods to fill in, no new functionality.
2020-01-06 21:57:04 +01:00
Alexander Kromm
032c6a534b export dictionary iterator 2020-01-06 21:57:02 +01:00
Alexander Kromm
9ca3f98419 dictionary from empty string is not an error, but empty dictionary 2020-01-06 21:56:59 +01:00
Rachael Alexanderson
12f356f24e - bump version requirement to 219 for defcvars 2020-01-06 21:56:57 +01:00
Rachael Alexanderson
6f24cc29c9 - forbid defcvars from a wadfile 2020-01-06 21:53:05 +01:00
Rachael Alexanderson
93dfdc1c33 - tell the user the game version number when version is not specified as a hint 2020-01-06 21:52:22 +01:00
Rachael Alexanderson
1154207ec0 - implement 'defcvars'
# Conflicts:
#	src/d_main.cpp

# Conflicts:
#	src/d_main.cpp
2020-01-06 21:50:49 +01:00
Cacodemon345
5ed070964c Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/r_data/models/models.cpp

# Conflicts:
#	src/gl/scene/gl_weapon.cpp
2020-01-06 21:50:14 +01:00
Chronos Ouroboros
b021befba8 Fixed a regression in DoTakeInventory. (the C++ code just ignored the null pointer, but ZScript can't do that) 2020-01-06 19:49:28 +01:00
Alexander Kromm
4f5218cc8f add Dictionary.Remove(String key) function 2020-01-06 19:49:25 +01:00
Alexander Kromm
81744d5b7a fix crash with saving null Dictionary 2020-01-06 19:49:23 +01:00
Marisa Kirisame
ebc6fcccd7 Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch. 2020-01-06 19:49:21 +01:00
Christoph Oelckers
7919c86f3e - elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP. 2020-01-06 19:49:18 +01:00
Christoph Oelckers
0d3a62f73a - fixed: A_StartSound was still masking the sound channel value for checking if it plays something. 2020-01-06 19:49:15 +01:00
Major Cooke
96153e7e7e - Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended. 2020-01-06 19:20:44 +01:00
Major Cooke
234e690f77 Added STOPRAILS actor flag.
- An actor with this flag will prevent railgun shots from penetrating further.
2020-01-06 19:20:41 +01:00
Alexander Kromm
a7e6552f0f export TMap<FString, FString> to ZScript
# Conflicts:
#	src/CMakeLists.txt
#	src/serializer.h
2020-01-06 19:18:22 +01:00
Christoph Oelckers
35379e1e5d - let a sight check that gets lost return failure.
This way these cannnot unwantedly wake up monsters.
2020-01-06 19:14:53 +01:00
Cacodemon345
d6a23065d1 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`

# Conflicts:
#	src/am_map.cpp
2020-01-06 19:14:51 +01:00
Rachael Alexanderson
528550c4ef - changing vid_scalefactor now always shows current scaling data unless it gets set to "1"
- vid_scaletoheight/width now works in all scaling modes, and can now also scale on custom resolutions directly

# Conflicts:
#	src/r_videoscale.cpp
2020-01-06 19:05:13 +01:00
Rachael Alexanderson
278c7db215 - fix vid_showcurrentscaling so that it works even when vid_scalemode is 2 or greater.
# Conflicts:
#	src/r_videoscale.cpp
2020-01-06 18:53:47 +01:00
alexey.lysiuk
0ee488633b - fixed compilation warning reported by MSVC
src\r_videoscale.cpp(105): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data

# Conflicts:
#	src/r_videoscale.cpp
2020-01-06 18:51:17 +01:00
Rachael Alexanderson
792871a380 - add 'vid_showcurrentscaling' ccmd, expanded output for 'vid_scaletowidth' and 'vid_scaletoheight' commands
- made the vid_scaleto____ commands less hacky - after finding out I could route the calls through screen->, found the correct screen-> commands, and do scaling based on the real screen dimensions
2020-01-06 18:48:49 +01:00
alexey.lysiuk
e4110ded3c - 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

# Conflicts:
#	src/p_setup.cpp
2020-01-06 18:23:31 +01:00
Rachael Alexanderson
98b00b0c79 - add vid_scalemode 6 to the menu
# Conflicts:
#	wadsrc/static/menudef.txt
2020-01-06 18:23:29 +01:00
drfrag
38c5e84b82 - Adjust minimum scaling for 320x200. 2020-01-06 18:23:28 +01:00
Rachael Alexanderson
5906701a7d - implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering
# Conflicts:
#	src/r_videoscale.cpp

# Conflicts:
#	src/r_videoscale.cpp
2020-01-06 18:23:11 +01:00
alexey.lysiuk
b246eb20fa - upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
https://forum.zdoom.org/viewtopic.php?t=66652

# Conflicts:
#	src/textures/hires/hqresize.cpp
2020-01-06 18:05:54 +01:00
alexey.lysiuk
7dd5d3ce61 - added minimal time profiling of texture precaching
# Conflicts:
#	src/hwrenderer/textures/hw_precache.cpp

# Conflicts:
#	src/hwrenderer/textures/hw_precache.cpp
2020-01-06 18:04:54 +01:00
alexey.lysiuk
d2101bf700 - improved normalNx scaling performance by ~10%
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general

# Conflicts:
#	src/textures/hires/hqresize.cpp
2020-01-06 17:53:09 +01:00
alexey.lysiuk
69d39bcd44 - 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

# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/statusbar.zs
2020-01-06 17:48:35 +01:00
alexey.lysiuk
47fd36d6ed - set meaningful defaults on initialization of BaseStatusBar
https://forum.zdoom.org/viewtopic.php?t=66339

# Conflicts:
#	wadsrc/static/zscript/ui/statusbar/statusbar.zs
2020-01-06 17:48:32 +01:00
Christoph Oelckers
1cacd3e3de - 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.
2020-01-06 15:08:32 +01:00