Commit Graph

5522 Commits

Author SHA1 Message Date
alexey.lysiuk 262580c92f Updated LZMA SDK to version 15.14
Enabled support for PPMD compression method
2015-12-31 17:25:49 +02: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
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
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 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
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
Randy Heit b1405921bf Merged WM_GetOutput_Linear and WM_GetOutput_Gauss into WM_DoGetOutput
- With mixing moved into separate functions, these two functions became
  identical except for the function they called to do mixing.
2015-12-28 20:44:10 -06:00
Randy Heit 635b496165 Separate WildMidi mixing from event handling
- In order to use ZDoom's own MIDI sequencer event handling must be
  completely separate from mixing, but WildMidi had them intertwined
  because it wasn't designed for external sequencers.
- Also remove all 'long's defining the output buffers to avoid having
  something that's 32 bits wide on Windows and 64 bits wide on Linux.
2015-12-28 20:33:41 -06:00
Randy Heit a2ebf771d3 Remove '\r' character from beginning of WildMidi error messages 2015-12-28 19:13:34 -06:00
Christoph Oelckers 9d48c84ee3 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-28 21:24:41 +01:00
Christoph Oelckers 060a6b2ff2 - shut down WildMidi when exiting.
The pointless error message in WildMidi_Shutdown was removed to keep the rest of the code simple and allowing to call this even when the device never was used.
2015-12-28 21:23:21 +01:00
Christoph Oelckers a94120b6a4 Merge branch 'master' into WildMidi 2015-12-28 21:01:17 +01:00
Braden Obrzut 96576a6cf6 Merge branch 'gtk-fix' of git://github.com/kevans91/zdoom into gtk-fix 2015-12-28 00:56:14 -05:00
Randy Heit 33a252bf4b Add /LARGEADDRESSAWARE to VC2005 project 2015-12-27 21:52:44 -06:00
Kyle Evans 5346b813da Re-do GTK2_LIBARY_DIRS inclusion on a separate branch 2015-12-27 09:48:22 -06:00
Christoph Oelckers 1070bd9beb - fixed: APlayerPawn::ViewHeight wasn't stored in savegames. 2015-12-26 16:17:56 +01:00
Christoph Oelckers 05b8e275cd Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-26 15:33:11 +01:00
Christoph Oelckers 400038643c - fixed: Strife dialogues could crash on invalid links. 2015-12-26 15:31:59 +01:00
coelckers 7a96f91591 Merge pull request #449 from Blue-Shadow/getmaxinv
Added GetMaxInventory ACS function
2015-12-22 22:30:07 +01:00
Christoph Oelckers beb7a8e4a2 - added /LARGEADDRESSAWARE linker flag to CMake project. 2015-12-22 22:21:59 +01:00
Blue-Shadow c51abb0161 Added GetMaxInventory ACS function 2015-12-22 19:01:09 +03:00
Christoph Oelckers 03ccf03b8f - fixed: UDMF with Doom format specials used the line's ID, not the first arg as the tag parameter for its special. 2015-12-21 01:13:21 +01:00
Christoph Oelckers 792d3906fd - fixed: line activation checks for monster activation could be skipped if the lines also were flagged for player activation. 2015-12-19 20:32:41 +01:00
Christoph Oelckers 60f7217fbb Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-15 22:01:03 +01:00
Chris Moeller 17a216c832 Fix issue #15 / CVE-2006-3668 2015-12-15 14:47:54 -06:00
Chris Moeller e5a4031a70 Fixed another memory leak in an error handler 2015-12-15 14:47:43 -06:00
Chris Moeller 45e031170e Implement missing n_pchannels for AMF format reader 2015-12-15 14:47:34 -06:00
Chris Spiegel 865f083128 Fix memory leaks. 2015-12-15 14:47:25 -06:00