Commit Graph

5643 Commits

Author SHA1 Message Date
MajorCooke 629eaa35a3 - Fixed: A_Fade* could destroy live player bodies because it was calling the Destroy() function directly instead of going through P_RemoveThing. 2016-01-13 20:26:15 -06:00
Randy Heit f9574a98fd Fix Timidity's DLS instrument loading:
- Envelope data needed to be converted to SF2 values.
- Fine tuning was ignored which made pretty much every instrument off tune.
- Despite this, it still sounds like shit compared to FMOD or Microsoft's
  wavetable synth. There are lots of missing notes and some instruments
  are still off tune. I'm not sure it's worth trying to salvage it. It'd
  probably be better to scrap it, since Timidity is very much oriented
  toward GF1 patches, which it handles perfectly fine.
2016-01-13 17:25:24 -06:00
Christoph Oelckers d234a6af5d Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-12 21:35:18 +01:00
Christoph Oelckers 37f18055af - turned sector_t::FloorSkyBox and CeilingSkyBox into an array.
- removed unused SpreadCeilingPortal function.
2016-01-12 21:34:41 +01:00
Randy Heit dc66f4cb3f Make _WM_AdjustNoteVolume's pan_ofs a signed int 2016-01-12 06:35:05 -06:00
coelckers db527c02f3 Merge pull request #472 from edward-san/wildmidi_fix
- Fixed Clang warning on wildMIDI code.
2016-01-12 11:21:07 +01:00
Edoardo Prezioso b87c612aba - Fixed Clang warning on wildMIDI code.
Now that '_event_data.data' is changed to 'unsigned int', the 'unsigned long' cast is not needed anymore.
2016-01-12 11:12:19 +01:00
Randy Heit 46f04830e2 Update VC2005 project files 2016-01-11 21:11:36 -06:00
rheit 8408aec347 Merge pull request #456 from alexey-lysiuk/lzma_1514
Updated LZMA SDK to version 15.14
2016-01-11 20:53:51 -06:00
Randy Heit 141cd660eb Didn't need note_off_decay in the WildMidi sample struct 2016-01-11 20:07:14 -06:00
Randy Heit 27bf86e1eb Fix(?) dBm_pan_volume table
- The missing comma on the first line of dBm_pan_volume's definition
  looked suspicious, so I checked the MIDI specification at
  http://www.midi.org/techspecs/rp36.php and found the equations
  there gave different dB values than were in the table. So I
  rebuilt it using the equation given there:

    20*log (sin (Pi /2* max(0,CC#10 – 1)/126))
2016-01-11 20:06:07 -06:00
Randy Heit 268d2faaf6 Import volume handling changes from current WildMidi git
- Description there reads:
  > Major work done on “log” volumes. Calculations are now based on decibels.
2016-01-11 20:06:07 -06:00
Randy Heit 5b4a6483b5 Remove get_decay_samples. Not needed. 2016-01-11 20:06:06 -06:00
Randy Heit 7f01a6a30a Import envelope tweaks for current WildMidi git 2016-01-11 20:06:06 -06:00
Randy Heit 50ecec199f More stuff we don't need in WildMidi removed 2016-01-11 20:06:05 -06:00
Randy Heit 88beae55bd Add separate NRPN coarse/fine adjustment for WildMidi 2016-01-11 20:06:05 -06:00
Randy Heit 7f44bc6d0e Add Yamaha and GM reset sysex handling to WildMidi 2016-01-11 20:06:05 -06:00
Randy Heit a74d352490 Update gus_pat.cpp's envelope fudging to current git version 2016-01-11 20:06:04 -06:00
Braden Obrzut 0c3b468e42 Merge branch 'osx_start_wnd' 2016-01-11 20:47:06 -05:00
Randy Heit 56f7ace9be include <limits.h> in the bin packers to make GCC happy 2016-01-11 17:01:29 -06:00
Christoph Oelckers 61e48013dc - fixed a warning in WildMidi code. 2016-01-11 23:46:12 +01:00
Christoph Oelckers cd9e18a72b - fixed: operator<< (FArchive &arc, secspecial_t &p) erroneously read the old special in the compatibility handler as a short, but it must be read as an int.
- bumped savegame version to bring it in line with a GZDoom exclusive change.
2016-01-11 23:44:13 +01:00
coelckers f539803d49 Merge pull request #471 from MajorCooke/FriendlyFireFix
Small LaxTelefragDmg Flag Fix
2016-01-11 22:45:37 +01:00
MajorCooke 7843ece01a Fixed: Friendly fire damage didn't take LAXTELEFRAGDMG into account. 2016-01-11 15:08:38 -06:00
Christoph Oelckers 011385a20e Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-11 15:30:04 +01:00
Christoph Oelckers 7115590c1d - moved setup code for Eternity-style skyboxes to p_spec.cpp and consolidated most of it with nearly identical parts of the stacked sector portal setup code. 2016-01-11 15:29:44 +01:00
Randy Heit 42e9a6a711 Make atlas size a macro definition and default it to 512x512 (was 256x256) 2016-01-10 22:14:35 -06:00
Randy Heit aaac5ac7a1 Use not so brilliant backgrounds for allocated atlas backgrounds 2016-01-10 22:01:29 -06:00
Randy Heit 670058fa3c Switch to the bottom-left picker for the Skyline Bin Packer 2016-01-10 21:54:28 -06:00
Randy Heit 4f0046105d Change texture atlas display to show allocated rectangles 2016-01-10 21:09:16 -06:00
Christoph Oelckers 918a2ed562 -fixed: Eternity-style skyboxes must check if some portal copy definitions have been set for them. 2016-01-10 22:26:08 +01:00
Christoph Oelckers 2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers 1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
Randy Heit 1f34372abc Remove the upper limit on midi_voices.
- Black MIDIs can be brutal, and there's really no reason that this needs
  to be artificially limited to a paltry 256 voices.
2016-01-09 17:55:39 -06:00
Christoph Oelckers 68b4c23a82 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 21:10:46 +01:00
Christoph Oelckers 53d385a596 - need to validate SetSectorTerrain's 'plane' parameter, 2016-01-09 21:10:12 +01:00
coelckers 725408d9fe Merge pull request #468 from alexey-lysiuk/osx_fullscreen_shortcut
Shortcut to toggle fullscreen on OS X
2016-01-09 18:23:43 +01:00
alexey.lysiuk b27fdcffb5 Added shortcut to toggle fullscreen on OS X
Press Command+F to toggle fullscreen mode in native OS X backend
Set k_allowfullscreentoggle CVAR to false to disable the shortcut
2016-01-09 17:12:58 +02:00
Christoph Oelckers 23cfd29dbb - let's save the terrain properties as names so that they survive a change in the definition files. 2016-01-09 12:28:42 +01:00
Christoph Oelckers 7f454358b9 - added ACS SetSectorTerrain function. 2016-01-09 12:16:41 +01:00
Christoph Oelckers 71c7f2b42c - added 'floorterrain' and 'ceilingterrain' sector properties for UDMF. These will take precedence over texture based terrain if used.
'ceilingterrain' is needed because the top of 3D-floors refers to the model sector's ceiling, so in order to give a 3D floor a terrain it must be assignable to the sector's ceiling.
Note that although it is basically the same property, its actual function bears no relevance to its use in Eternity.
2016-01-09 12:10:36 +01:00
Christoph Oelckers 4b3adf548a - fixed compile errors. 2016-01-09 11:44:05 +01:00
Christoph Oelckers a5054b0882 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 10:11:46 +01:00
Christoph Oelckers 0b5e419593 - fixed friction logic for sectors.
Issues with the old code:
* when calculating friction for a 3D-floor - swimmable or not - the 3D floor's top texture must be used. The previous version always checked the sector's floor texture, even though the top might as well come from the sector's ceiling.
* 3D floors never checked for the SECF_FRICTION flag at all. According to Boom specs, sector-based friction must be ignored if this is the case.
* Terrain based friction had a higher priority than the sector's own value.

Changed the rules as follows:
* if the sector's SECF_FRICTION flag is set (i.e. something explicitly changed the sector's friction), this value is used regardless of terrain settings.
* if this flag is not set, the terrain's friction is used, if defined, using the proper plane for 3D-floors.
* otherwise the default is used.
2016-01-09 10:11:20 +01:00
Randy Heit 786caaf36b Execute disconnect scripts immediately before the player is destroyed.
- Disconnect scripts were previously run at some point after the player
  left. Now they are run immediately before destroying the player. Since
  the player hasn't actually been destroyed yet, the player also gets to
  be the script's activator. This gives you a chance to scrape whatever data
  you want from the player before they're history. Note that if you do
  anything to make the script wait, the script's activator will become the
  world, as it was before.
2016-01-08 22:41:23 -06:00
Randy Heit bf31d66d31 Use a better packing algorithm for the texture atlases
- The old algorithm is something I threw together that produced decent,
  but not spectacular results since it had a tendency to waste space by
  forcing everything onto "shelves".
  The new packer is the Skyline-MinWaste-WasteMap-BestFirstFit algorithm
  described by Jukka Jylanki in his paper *A Thousand Ways to Pack the Bin - A
  Practical Approach to Two-Dimensional Rectangle Bin Packing*, which can
  currently be read at http://clb.demon.fi/files/RectangleBinPack.pdf
  This is minus the optimization to rotate rectangles to make better fits.
2016-01-08 22:37:06 -06:00
Randy Heit f330a81909 Rename packing textures to texture atlases for the D3D code
- I figure since I now know the "proper" name for these things, I should
  call them by it.
2016-01-08 20:08:10 -06:00
Randy Heit a43f5a8eca Remove now unused variable from SpawnPolyobj 2016-01-08 20:08:06 -06:00
Christoph Oelckers cf564c60c2 - simplified setup of polyobjects defined from explicit lines
The old method had a problem with missing order numbers and aborted the level load and made many assumptions that no longer apply with BSP based polyobject rendering.
2016-01-09 01:23:00 +01:00
coelckers 500c1623d0 Merge pull request #467 from kevans91/freebsd-build
I missed one last spot where a FreeBSD compilation should follow the …
2016-01-08 09:58:55 +01:00