Commit graph

13845 commits

Author SHA1 Message Date
Christoph Oelckers
2c138d703d Move function out of header due to compile errors on macOS 2018-02-22 13:46:29 +01:00
Christoph Oelckers
04344505c0 Soundfont header 2018-02-22 13:42:12 +01:00
Christoph Oelckers
a6fa906764 Framework for context independent sounffont management
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
3d08c1fbc7 Merge branch 'master' into timidity++
# Conflicts:
#	src/sound/mididevices/music_timiditypp_mididevice.cpp
2018-02-22 09:10:42 +01:00
Christoph Oelckers
9bf11155eb Ignore .DS_Store for macOS 2018-02-22 08:40:32 +01:00
Christoph Oelckers
542d3431ff - Start of soundfont refactoring. This does not compile yet! 2018-02-22 07:21:19 +01:00
Christoph Oelckers
0688d53ea8 - allow reloading the sound font for the GUS device. 2018-02-21 23:38:04 +01:00
Christoph Oelckers
e84ec2978a - plugged the pending memory leaks. 2018-02-21 21:33:56 +01:00
Christoph Oelckers
5219916de5 - there's no need to drag the event time around, this really was just an artifact of Timidity's original implementation which is no longer in use.
- plugged a few memory leaks.
2018-02-21 21:11:31 +01:00
Christoph Oelckers
af705d1c59 - silenced a few pointless console messages generated by Timidity++. 2018-02-21 20:44:51 +01:00
Christoph Oelckers
af1de8ddc9 - removed volume testing output.
- final tweak to volume adjustment: Do this upon extraction for better results.

If this is done via the synth's parameters it will affect channel balance.
The given factor of 5 is necessary to roughly match the output of FluidSynth.
2018-02-21 20:12:37 +01:00
Christoph Oelckers
59352af486 - Volume tweaking. 2018-02-21 19:05:14 +01:00
Christoph Oelckers
e6bae25423 - Timidity++ is now fully integrated into the softsynth interface.
The only thing left to do is tweaking the volume of the output to match the one from the EXE.
2018-02-21 17:35:44 +01:00
alexey.lysiuk
74357ced0c Fixed read of potentially junk values in ZScript parser
The following ill-formed ZScript code might crash targets with sizeof(int) != sizeof(void*) like 64-bit Intel
class test { void func() { if (true) ( return; ) } }
2018-02-21 16:26:04 +02:00
Christoph Oelckers
445e9451cb - Added the long event handler for Timidity++.
This will be hard to test because there's basically no material out there using the features this implements.
2018-02-21 02:02:29 +01:00
Christoph Oelckers
4813eeeb85 - Timidity++ now plays ZDoom's event stream, although still through the Windows output module.
This also means that readmidi.cpp is no longer needed.
2018-02-21 01:29:39 +01:00
Christoph Oelckers
57967a1033 - safety commit. 2018-02-20 23:36:59 +01:00
Christoph Oelckers
cbcfea99cb - use the intended interface to pass some data to the player. 2018-02-20 21:52:45 +01:00
Christoph Oelckers
a8283ffdd6 - something can be heard.
This doesn't pipe the audio through OpenAL yet but the fundamentals for further progress are done.
2018-02-20 20:50:01 +01:00
Christoph Oelckers
5ce3b00b90 - commented out the noisy debug messages in Timidity++ so that they do not waste execution time and memory for nothing - there are almost 300 of them. 2018-02-20 19:45:37 +01:00
Rachael Alexanderson
420602e154 - check for deathmatch starts before forcing an unfriendly player to use them. 2018-02-20 05:35:40 -05:00
alexey.lysiuk
ff897997d6 Fixed hang when TiMidity++ executable failed to launch
https://forum.zdoom.org/viewtopic.php?t=59539
2018-02-20 12:20:18 +02:00
Rachael Alexanderson
117b796c6b - fixed: Phobia: The Age (or any mod with DEHACKED overriding player bits) overwrote the player's Friendly flag 2018-02-20 04:45:15 -05: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
Christoph Oelckers
d72b87f469 - skeleton of new player class for Timidity++ - not tested yet. 2018-02-20 01:23:56 +01:00
Christoph Oelckers
803369fb8d - make CMake happy 2018-02-19 23:33:42 +01:00
Christoph Oelckers
06a1730b8a - hooking in the PathExpander. 2018-02-19 22:48:13 +01:00
Christoph Oelckers
576932c47f - Timidity++ sources added. This compiles but isn't hooked into the engine yet.
This source has been heavily edited to remove the deep integration with the provided UI modules and to eliminate use of global variables and puts everything into a small number of C++ classes.
2018-02-19 22:14:22 +01:00
alexey.lysiuk
a3236aa7ef Set target for blood actor with PUFFGETSOWNER flag spawned by crusher
https://forum.zdoom.org/viewtopic.php?t=59447
2018-02-19 16:57:52 +02:00
alexey.lysiuk
05538f2de8 Fixed compilation warnings reported by MSVC
src\sound\musicformats\music_libsndfile.cpp(119): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(139): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(145): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(167): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\musicformats\music_libsndfile.cpp(178): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
src\sound\musicformats\music_libsndfile.cpp(240): warning C4267: 'argument': conversion from 'size_t' to 'long', possible loss of data
2018-02-19 12:28:24 +02:00
alexey.lysiuk
1e41c042d4 Fixed codegen crash with non-numeric random seed
The following code crashed ZScript code generator if my_seed is not convertible to numeric type
SetRandomSeed[my_random_id](my_seed);
2018-02-19 11:46:36 +02:00
Christoph Oelckers
6a02eaa595 - second part of texture fix. 2018-02-15 18:40:23 +01:00
Christoph Oelckers
ef55386d9f - let the texture manager handle the special OpenGL textures so that they get deleted and recreated when needed. 2018-02-15 17:56:04 +01:00
Christoph Oelckers
80a0d15bc7
The fallback path in DepleteAmmo was calling the wrong function 2018-02-12 21:06:38 +01:00
Chris Robinson
e566cb9184 Properly parse FLAC and Ogg Vorbis files for their comments 2018-02-12 17:33:20 +01:00
alexey.lysiuk
61979f63c1 Removed last remnants of PowerPC Mac support 2018-02-11 16:35:34 +02:00
Marrub
66d15dc215 Make the ACS string pool reserve more strings
Due to only reserving a single new string when growing the string pool, any ACS code that generates lots of strings will eventually cause massive amounts of lag, to the point where ACSStringPool takes up *most of the execution time*. The proposed change fixes this issue.
2018-02-10 20:18:26 +01:00
Rachael Alexanderson
5dd98669e4 - FreeBSD compile fix 2018-02-10 07:56:33 -05:00
Magnus Norddahl
7cbe8669b6 - fix decals not getting lit by lights not having a target while still having the LF_DONTLIGHTSELF flag
- fix decal light not being calculated from the center of the decal
2018-02-10 00:06:47 +01:00
alexey.lysiuk
ed23008069 Fixed crash in stereoscopic modes caused by camera without player
https://forum.zdoom.org/viewtopic.php?t=55039&start=381#p1039251
2018-02-07 11:37:02 +02: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
ZZYZX
ef867c3415 Fixed arg0str for dynamic light actors 2018-02-04 03:37:41 -05:00
Christoph Oelckers
364ce773e3 - Update to UDMF spec. 2018-02-04 08:49:41 +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
alexey.lysiuk
d5bc0a1fa9 Uniform way to guard ACS stack and variables
ACS VM stack and map/world/global variables arrays are now checked for out of bounds access
2018-02-03 14:39:01 +02: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
alexey.lysiuk
9a9c90a504 Fixed crash on exit caused by undefined class
Referenced but undefined optional class does not abort loading with fatal error
For example, incorrect MorphProjectile's PlayerClass or MonsterClass caused crash during shutdown
2018-01-31 18:40:48 +02:00
Kevin Caccamo
1608e11f0d Fix typo that made DepleteAmmo always use Secondary Ammo
https://forum.zdoom.org/viewtopic.php?f=2&p=1038209
2018-01-30 23:52:48 -05:00
Christoph Oelckers
8e90386567 - made Weapon.CheckAmmo and Weapon.DepleteAmmo virtual on the script side. 2018-01-30 22:04:31 +01:00