Commit graph

6173 commits

Author SHA1 Message Date
Christoph Oelckers
f2c890272f - FRenderState::Apply does not need to call ApplyColorMask. 2016-01-01 10:59:34 +01:00
Randy Heit
bb10a10458 Merge branch 'crimsondusk-master' 2015-12-31 20:20:58 -06:00
Randy Heit
c86cd53753 Merge branch 'master' of https://github.com/crimsondusk/zdoom into crimsondusk-master
Conflicts:
	src/am_map.cpp
2015-12-31 20:18:54 -06:00
Christoph Oelckers
3bad7f9b55 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-01 00:46:00 +01:00
Randy Heit
1d759283c0 Cleanup the zoom/reload/userX handling for A_WeaponReady
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
Randy Heit
afbf88cc63 Remove WRF_ALLUSER. 2015-12-31 16:46:18 -06:00
Randy Heit
4931c90839 Bump save version for bigger WeaponState property 2015-12-31 16:46:18 -06:00
MajorCooke
3566d3157a Use | instead of +. 2015-12-31 16:46:17 -06:00
MajorCooke
6478b98eea Update serialization to BYTE from WORD for older save games. 2015-12-31 16:46:17 -06:00
MajorCooke
b09a81126f - Changed WeaponState from 8-bit to 16-bit integer.
- Because the flags for WF_USER#OK are 256 on up, this is required in order to work.
2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67 Added support for weapon states User#.
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
addd059410 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-31 23:05:13 +01:00
Christoph Oelckers
5e975ac9f6 - extended $mididevice to add an optional parameter, which has the following meaning for the different MIDI devices:
* OPL: specify the core to use for playing this song
* FluidSynth: specify a soundfont that should be used for playing the song.
* WildMidi: specify a config file that should be used for playing the song.
* Timidity++: specify an executable that should be used for playing the song. At least under Windows this allows using Timidity++ with different configs if the executable and each single config are placed in different directories.
* GUS: currently not operational, but should later also specify the config. This will need some work, because right now this is initialized only when the sound system is initialized.
* all other: no function.

These options should mainly be for end users who want to fine-tune how to play the music.
2015-12-31 23:03:53 +01:00
Randy Heit
d8af2e558f Fix potentiol buffer overrun in MUSSong2::Precache() 2015-12-31 15:28:18 -06:00
Christopher Bruns
ac6e2f4979 Use gl_RenderState to manipulate OpenGL color mask for anaglyph modes, to avoid glGet... 2015-12-31 11:57:21 -05:00
Christopher Bruns
95f4134630 Refactor stereo3d classes to use TArray instead of std::vector. 2015-12-31 09:36:37 -05:00
Christopher Bruns
5b7f9b04cd Add license headers to stereo3d source files. 2015-12-31 09:06:44 -05:00
Christoph Oelckers
1316120fe4 - fixed: The MUS precacher did not handle invalid patches well.
- increased the valid range of patch values for MUS. According to the original MIDI2MUS code it can handle numbers up to 188, not 181, and at least one track from Eternal Doom uses #183.
2015-12-31 14:35:34 +01:00
Christopher Bruns
655defed28 Avoid compile errors on Linux. Fixes #107. 2015-12-30 17:54:54 -05:00
Christopher Bruns
8e237e6146 Merge branch 'master' of https://github.com/coelckers/gzdoom into stereo3d 2015-12-30 17:41:49 -05:00
Christoph Oelckers
c88ed426a8 - oops, this somehow lost the shift operator... 2015-12-30 20:39:38 +01:00
Christoph Oelckers
3c40d71c20 - hopefully fixed the MUS precaching for good.
According to blzut3, it looks like it is a byte followed by a variable length field. It can be any value 0-15 and will be followed by that many bytes one for each bank used. If the bank count is 0 then it is shorthand for using one bank (bank 0).
2015-12-30 20:32:19 +01:00
Christoph Oelckers
be6daf5d78 - changed instrument lookup in MUS files.
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.

Known variations are:

* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
Christoph Oelckers
86797b419f Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-30 12:28:55 +01:00
coelckers
8f149d9048 Merge pull request #455 from edward-san/more_wildmidi_fixes
- Fixed Clang errors/warnings on wildMIDI code.
2015-12-30 12:27:56 +01:00
Edoardo Prezioso
a2b377c580 - Fixed Clang errors/warnings on wildMIDI code. 2015-12-30 10:58:52 +01:00
Christoph Oelckers
aff42a6186 - don't look up a lump name in PathExpander if we are only looking for real files. 2015-12-30 10:21:17 +01:00
Christoph Oelckers
1def61e3e3 - allow changing the reverb and resampling mode setting for WildMidi.
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
coelckers
2b1730deae Merge pull request #454 from kevans91/timidity-instrum-fix
Fix for __unix__ compilation -- section not changed with the rest of …
2015-12-30 09:16:46 +01:00
Kyle Evans
6c13ba40ac Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588 2015-12-30 01:09:11 -06:00
Randy Heit
3ec6ad5018 Add SysEx retrieval to the MIDI file reader 2015-12-29 22:39:38 -06:00
Randy Heit
92e0bbeee9 Handle WildMidi's supported SysEx messages 2015-12-29 18:25:13 -06:00
Randy Heit
6d2e93254f Fix CreateSMF's SysEx writing
- It was wrong before. It might still be wrong, but at least it doesn't
  look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit
545e2f7c69 Slap WildMidi onto snd_listmididevices's output for Windows 2015-12-29 17:55:20 -06:00
Randy Heit
900937929e Use critical sections for WildMidi locking
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Randy Heit
14361d9313 Remove midi_timiditylike
- Did anybody actually use this? Use WildMidi instead if you want
  something that sounds more like Timidity++ without actually being
  Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers
0cc4bd56d1 - removed the original WildMidi loader and the main playback function because none of those is actually being used anymore. 2015-12-29 23:18:39 +01:00
Christoph Oelckers
e0f9a59a9a - add WildMidi config file CVAR to menu. 2015-12-29 22:14:40 +01:00
Christoph Oelckers
c3862d9101 - use PathExpander class for WildMidi's file access functions so that it can find Timdity's data on its own. 2015-12-29 21:18:46 +01:00
Christoph Oelckers
fe2dcfd588 - refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers
0634205d7f - let WildMidi tokenizer handle quoted strings. 2015-12-29 18:01:15 +01:00
Christoph Oelckers
9297c60ecd Merge branch 'master' of https://github.com/coelckers/gzdoom 2015-12-29 15:22:38 +01:00
Christoph Oelckers
ca5baa413c Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-29 15:22:22 +01:00
Christoph Oelckers
7fa289109b - removed all uses of __builtin_expect from WildMidi code. 2015-12-29 11:36:56 +01:00
Christoph Oelckers
944360557f - removed unused header stuff. 2015-12-29 11:23:43 +01:00
coelckers
83ef036c03 Merge pull request #452 from edward-san/wildmidi_linux_compilation
- Fixed Linux compiler errors and snd_mididevice.
2015-12-29 10:58:54 +01:00
Edoardo Prezioso
7c82c576a3 - Fixed Linux compiler errors and snd_mididevice.
-- errno.h is required for 'errno';
-- don't use str(n)casecmp and rely on ZDoom CMake handling;
-- add a missing parenthesis around a 'signed char' cast;
-- remove an unneeded GNU_SOURCE redefinition;
-- the non-MSVC side of snd_mididevice was not adapted to the new code, making wildmidi unavailable through the menu.
2015-12-29 10:33:20 +01:00
Christoph Oelckers
c6b3b90f37 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-29 09:27:57 +01:00
Randy Heit
afc36544b7 Add a WildMidi softsynth device
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Randy Heit
ee46799d9e Fix WM_DoGetOutput for big-endian machines
- Besides being little-endian centric, this bit shifting madness
  was unneccessary since the values were already clamped to a 16-bit
  range, so all we need to do is cast them to a short.
2015-12-28 20:51:53 -06:00