Christoph Oelckers
011bf9d9aa
- another one...
2018-03-11 22:44:05 +01:00
Christoph Oelckers
b72ccba5f5
- missed one bit.
2018-03-11 22:17:50 +01:00
Christoph Oelckers
8c0925dd5d
- fixed some compile errors which were only reported on GCC/Clang.
2018-03-11 22:05:28 +01:00
Christoph Oelckers
b445347aca
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-03-11 19:30:06 +01:00
Christoph Oelckers
b939836846
- renamed FileRdr back to FileReader.
2018-03-11 19:29:37 +01:00
Christoph Oelckers
0be1ed252b
- rewrote the operator>> methods of FileReader as normal functions for clarity.
2018-03-11 18:20:49 +01:00
Christoph Oelckers
833dbee167
- fixed some issues with m_swap's design.
...
The native byte order converters were defined as macros which hid some issues due to lack of type checks.
Additionally the ???Long variants taking 'long' variables were removed, because longs are not always 32 bits so this could be destructive.
As a result of this, removed several DWORDs from struct definitions in i_crash.cpp.
2018-03-11 14:35:36 +01:00
Christoph Oelckers
8bbfd39f42
- fixed some remaining issues:
...
* initial positioning in a subsection of a file failed. This mainly affected music playback.
* made the FileRdr constructor which takes a FileReaderInterface private so that everything that needs it must be explicitly declared as friend.
* removed a few redundant construction initializers for FileRdrs.
* loading compressed nodes needs to check the validity of its reader.
* use GetLength to detemine the size of a Zip file instead of doing another seek to the end.
* removed duplicate Length variables.
2018-03-11 13:26:30 +01:00
Christoph Oelckers
b14ee50d0d
- transition to new FileReader interface complete, but untested.
2018-03-11 12:33:46 +01:00
Christoph Oelckers
247785bca2
- converted map loader to FileRdr and took the opportunity to clean up its interface.
2018-03-10 21:48:33 +01:00
Christoph Oelckers
6f8ca2eace
- fixed a few issues from implicit FileReader conversion.
2018-03-10 20:47:17 +01:00
Christoph Oelckers
b315bc3be0
- added a few more FileRdr replacements
...
- fixed: The streaming music player must return the file reader if it fails to open, so that the next player can still use it.
- fixed: Timidity++'s Instruments class did not delete the sound font when it was destroyed.
..-
2018-03-10 20:33:49 +01:00
Christoph Oelckers
56991a9ace
- Removed FileReader from SoundFont manager.
...
- renamed close_file to tf_close for consistency.
2018-03-10 20:10:17 +01:00
Christoph Oelckers
c4387459bb
- use FileRdr in the PNG code, in particular to sanitize the savepic handling.
2018-03-10 19:22:26 +01:00
Christoph Oelckers
5fa63c396d
- sound code and most of texture code converted to FileRdr.
...
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
Rachael Alexanderson
37fa3fa25e
- add variables 'am_unexploredsecretcolor' and 'am_ovunexploredsecretcolor' to mark undiscovered secrets differently in the automap
2018-03-10 10:36:43 -05:00
Christoph Oelckers
26e948357e
- added an abstract FileReader wrapper.
...
The idea here is to decouple the actual reader creation from the code using them so that, for example, the Open function can decide if it wants to open the file regularly or memory mapped and return different readers as deemed useful. For that to work the exposed object needs to be an abstract wrapper so that this can be done without having to use pointers and all the drawbacks coming from that.
So far put to use in a few parts of the music code so the general functionality could be tested.
2018-03-10 13:46:35 +01:00
alexey.lysiuk
9cd5b415c1
Improved profilethinkers in various ways
...
Added features:
* Formatted table
* Average time per one actor
* Sorting column highlight
* Rows limit
* Usage help
2018-03-10 11:04:31 +02:00
alexey.lysiuk
fc981bf5d4
Extended profilethinkers CVAR with sorting ability
...
Sorting modes are
1 - by name, from A to Z
2 - by name, from Z to A
3 - number of calls, ascending
4 - number of calls, descending
5 - total time, ascending
anything else - total time, descending
2018-03-09 18:13:16 +02:00
alexey.lysiuk
f5d5430804
Added ability to build without thread_local support
...
https://forum.zdoom.org/viewtopic.php?t=58043
2018-03-09 12:53:41 +02:00
Magnus Norddahl
2589447d0e
- fixed midtex nowrap clipping bug when 3d floors are in view
...
- made sure no code uses sclipTop or sclipBottom as a working variable
2018-03-09 01:30:47 +01:00
alexey.lysiuk
53a9819283
Disabled GCC loop vectorization for R_LoadKVX() function
...
This prevents crash (unaligned memory access by SSE instruction) on loading voxels in Release (-O3) builds
https://forum.zdoom.org/viewtopic.php?t=59656
2018-03-08 12:24:33 +02:00
alexey.lysiuk
7f17121df8
Fixed crash in MIDI to wave writer
2018-03-08 11:38:02 +02:00
alexey.lysiuk
cea64ea092
Moved old Nuked and Java OPL3 to own namespaces
...
This helps to avoid clashing of OPL3 classes
2018-03-08 10:18:49 +02:00
alexey.lysiuk
114e56b334
Moved old NukedOPL to own namespace
...
This fixes linking issues on non-MSVC targets and improves code navigation
2018-03-08 09:51:37 +02:00
alexey.lysiuk
15138c38ca
Improved organization of ADLMIDI files in CMake generated projects
2018-03-08 09:49:51 +02:00
Magnus Norddahl
6ab58e56ad
- fix simplify code slightly
2018-03-08 04:25:27 +01:00
Magnus Norddahl
71623198d2
- remove fake3D with structs and localize their usage instead of sharing global state
2018-03-08 04:05:35 +01:00
Magnus Norddahl
7cb4deabdd
- get rid of FAKE3D_REFRESHCLIP and fix holes in 3d floors with wrapped midtextures
2018-03-08 01:28:23 +01:00
Magnus Norddahl
a55be25a9d
- add const qualifier on top/bottom clip arrays usage
2018-03-08 00:55:37 +01:00
Christoph Oelckers
2d2d44baad
- integrated ADL as a proper device in the MIDI device list.
...
- resorted the MIDI device menu option by device types (i.e. all SW synths first, FM synths second)
- allow setting the ADL bank.
2018-03-07 21:20:25 +01:00
Christoph Oelckers
fd801b8b94
Merge branch 'adlMIDI'
...
# Conflicts:
# src/sound/musicformats/music_midistream.cpp
2018-03-07 20:31:32 +01:00
alexey.lysiuk
e51a1867df
Added default values for BaseStatusBar.AttachMessage() arguments
2018-03-07 16:00:08 +02:00
alexey.lysiuk
81bc05b7c5
Added support for default values of arguments with uint type
2018-03-07 15:58:06 +02:00
Christoph Oelckers
9b61ee9618
- fixed: The MIDI wave writer set the sample rate to save at too late.
...
This was done after the players had already been created. To ensure that everything gets set properly it is necessary to pass the desired sample rate to the device's constructor and let it make sure that a proper sample rate gets set.
2018-03-06 22:41:27 +01:00
alexey.lysiuk
72831c9db7
Fixed archiving of CVARs with default values
...
https://forum.zdoom.org/viewtopic.php?t=59701
2018-03-06 22:46:18 +02:00
Christoph Oelckers
4d4edcfbfb
- fixed setup for Timidity++ playback frequency.
2018-03-06 19:52:29 +01:00
alexey.lysiuk
4b7e57b007
Fixed selection of soundfont with spaces in its name
2018-03-06 13:05:38 +02:00
Christoph Oelckers
774a7773a4
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-03-05 20:39:34 +01:00
alexey.lysiuk
adae6c19b8
Made left button down event available to UI event handler
...
Main menu is no longer triggered in game on left mouse button press when handler is processing UI events
https://forum.zdoom.org/viewtopic.php?t=59673
2018-03-05 16:53:17 +02:00
alexey.lysiuk
3e9de3788d
Fixed spelling of MissileShootersActivateImpactLines MAPINFO property
...
https://forum.zdoom.org/viewtopic.php?t=59686
2018-03-05 15:02:39 +02:00
alexey.lysiuk
77e1a1d289
Replaced usages of fluid_settings_getstr() function
...
This function is deprecated since FluidSynth 1.1.9 and removed in upcoming 2.x
2018-03-05 12:31:50 +02:00
alexey.lysiuk
ac47166894
Fixed freeze after saving game when cl_waitforsave CVAR set to false
...
Restored assertions that help to spot incorrect usage of I_FreezeTime() function
https://forum.zdoom.org/viewtopic.php?t=59672
2018-03-04 15:11:45 +02:00
alexey.lysiuk
d0ec6ef1d4
TiMidity++ now loads SF2 soundfont with spaces in path
2018-03-04 13:09:29 +02:00
alexey.lysiuk
d802abec5b
Fixed initialization of search paths on macOS
...
IWAD directories previously set in user configuration file led to inconsistent file and soundfont search paths
2018-03-04 11:06:11 +02:00
alexey.lysiuk
8145b52037
Added explicit fallback to default soundfont
...
With no soundfonts found the game crashed on startup
Local UNIX build had the same issue because $PROGDIR/soundfonts is not in search path
2018-03-03 15:17:30 +02:00
alexey.lysiuk
4053e18835
Allowed CVARs to be set in unsafe context
...
CVAR values set in unsafe context are not written to user configuration file
This does not affect mod's CVARs
https://forum.zdoom.org/viewtopic.php?t=59484
2018-03-03 10:26:28 +01:00
Christoph Oelckers
2541bd93fc
- made DHUDMessageBase non-abstract.
2018-03-03 09:52:34 +01:00
Marisa Kirisame
069c5aa90a
Fix accidentally removed SectorPlane assignment. Added missing HitVector support.
2018-03-03 09:30:06 +01:00
Marisa Kirisame
bc4a8190bf
Fix incorrect HitTexture reassignment in LineTrace.
2018-03-03 09:30:06 +01:00
Marisa Kirisame
4cc8ba3399
Export GetSector() again, removed lightingdata assignment.
2018-03-03 09:26:11 +01:00
Marisa Kirisame
f55bad472c
Removed some garbage changes
2018-03-03 09:26:11 +01:00
Marisa Kirisame
053d9f4a44
Export sector effect pointers, fix missing pointer assignment on Lighting effect creation.
2018-03-03 09:26:11 +01:00
Christoph Oelckers
4f68b78c3b
- removed an unchecked fixed size buffer in the KEYCONF parser.
2018-03-03 09:14:33 +01:00
Christoph Oelckers
b327aa737a
Merge remote-tracking branch 'remotes/origin/materials'
2018-03-03 08:54:04 +01:00
Christoph Oelckers
e1bb14803e
- print an error message if the requested MIDI device cannot be started.
...
This will only be done the first time a given setup fails. Repeated messages will be muted.
2018-03-03 08:52:25 +01:00
Christoph Oelckers
4c0f68bcd4
Merge branch 'master' into timidity++
...
# Conflicts:
# src/sound/musicformats/music_midistream.cpp
2018-03-02 00:08:12 +01:00
Christoph Oelckers
bc25ad4136
- fixed a small logic error introduced by fixing the translucent particle sorting.
...
Due to an unintended swap of two values a few equal comparisons led to incorrect sorting.
2018-03-01 17:10:21 +01:00
Christoph Oelckers
bcc8972356
- fixed: A preincrement of a local variable generated wrong code if passed as a function parameter.
...
Due to the special nature of this expression the code generator got stuck in 'address' mode and passed the address of the variable instead of its value.
2018-03-01 15:00:18 +01:00
Christoph Oelckers
685e5c1e95
- fixed: Camera textures must always be drawn with texture mode opaque, because the contents of their alpha channels are undefined.
2018-03-01 13:52:23 +01:00
Christoph Oelckers
b39cb4f095
- fixed translucemt sorting for particles.
...
At least on any semi-modern hardware. On old legacy hardware which lacks some important features this will still glitch.
2018-03-01 13:01:26 +01:00
Christoph Oelckers
bb16e34bf4
- exposed the HUD message interface to ZScript.
...
Note that this is just the bare abstract interface. It is up to content makers to define usable HUD message classes and optionally contribute them to the engine.
2018-03-01 11:45:19 +01:00
Christoph Oelckers
dd893b6a0c
- split off the interface part of DHUDMessage into an abstract base class.
...
The purpose is to allow creating custom message types in ZScript.
2018-03-01 10:33:03 +01:00
alexey.lysiuk
711471e9dd
Fixed potential crash during state validation
...
https://forum.zdoom.org/viewtopic.php?t=57116
The problem was caused by missing state label in conjunction with incomplete class
actor A : ArmorBonus
{
Inventory.ForbiddenTo "Missing"
}
actor B : Pistol
{
states
{
TNT1 A 0
Loop
}
}
2018-03-01 11:08:38 +02:00
InsanityBringer
bba3027d37
Add option to use Rotation-Center for an actor's normal pitch/angle/roll rotation.
2018-03-01 08:43:59 +01:00
Magnus Norddahl
48e534bf19
- Add per-pixel model light to the OpenGL 3.3 render path
2018-03-01 01:27:12 +01:00
Magnus Norddahl
6652df40c1
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-28 22:12:12 +01:00
Christoph Oelckers
425f1408f7
- fixed skip_super application fro ZScript.
...
The order of processing is different here so when the property gets parsed there are no states to delete.
To fix this the property just flags the class and lets the ZScript state compiler deal with this as needed.
2018-02-28 18:10:04 +01:00
alexey.lysiuk
56df88c792
Use 64-bit fixed point for node builder's vertex map
...
https://forum.zdoom.org/viewtopic.php?t=59368
2018-02-28 16:36:14 +01:00
Christoph Oelckers
e70250425a
- fixed: For two-sided midtextures the light lists were always taken from the sector referenced by the rendered sidedef, not the sector in which the line gets renderered.
...
For polyobjects these two are not identical.
2018-02-28 13:15:04 +01:00
Christoph Oelckers
910a3062c7
- fixed some problems with the stepping up through a portal logic:
...
* this has to be disabled for missiles which should explode instead of stepping up.
* interpolation adjustment was not correct
* it could crash because the target portal group could be retrieved from a non-portal sector.
2018-02-28 10:12:10 +01:00
Christoph Oelckers
e55bbd7ba3
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-02-28 09:46:59 +01:00
Christoph Oelckers
4ccbc4ea9e
- Send a GM reset SYSEX event when music playback is started.
2018-02-28 09:46:28 +01:00
Major Cooke
7ac8b496f1
Added Distance(2/3)DSquared functions.
2018-02-28 09:28:11 +01:00
Christoph Oelckers
af14609de7
- don't skip empty arrays which are themselves array elements in the ZScript serializer.
2018-02-27 15:42:22 +01:00
Christoph Oelckers
aaaf9aa108
Added 'TeleportSpecial' as an alias for 'Teleport' in ZScript to deconflict from the Actor.Teleport function.
2018-02-27 12:44:00 +01:00
Christoph Oelckers
d873ae75ab
- silence all error messages in the state map parser for DEHSUPP when re-reading the data.
...
The state map will just be skipped and the parser only needs to run to get over the data.
However, due to changes from a previous patch the data cannot be validated so aside from not using the data it may also not abort on errors.
2018-02-27 11:34:44 +01:00
Christoph Oelckers
fd27b22857
- use iswspace to classify whitespace in V_BreakLines.
...
isspace does not work because it is limited to 8-bit character sets.
2018-02-27 11:10:47 +01:00
Christoph Oelckers
9a8e724761
- added a compatibility setting for Perdition's Gate MAP31 which was having render issues with an unsupported vanilla effect.
2018-02-27 09:53:15 +01:00
Christoph Oelckers
eb124f6160
- made the sound font loading a bit more error resistant.
...
- implemented a fallback both for sound font lookup and for MIDI device selection so that if some non-working combination is set up, the player will fall back to something that works.
2018-02-26 16:36:30 +01:00
alexey.lysiuk
d45a50b0db
Put soundfont to appropriate folder so it can be found by default
2018-02-26 16:45:01 +02:00
alexey.lysiuk
6bc2be1ca4
Fixed GCC 6+ compilation error
...
In file included from /usr/include/c++/6/math.h:36:0,
from src/vectors.h:43,
from src/sound/i_soundinternal.h:7,
from src/sound/i_sound.h:39,
from src/sound/i_musicinterns.h:5,
from src/sound/timidity/timidity.cpp:36:
/usr/include/c++/6/cmath:407:11: error: ‘::pow’ has not been declared
2018-02-26 14:46:24 +02:00
alexey.lysiuk
22819e640a
Fixed GCC 4.9 compilation error
...
src/sound/timiditypp/instrum.cpp:45:26: error: array used as initializer
2018-02-26 14:00:29 +02:00
alexey.lysiuk
4fdf488960
Fixed MSVC compilation warning
...
VC\include\type_traits(1468): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\musicformats\music_midistream.cpp(832): note: see reference to function template instantiation 'std::function<bool (int)>::function<MIDIStreamer::SetMIDISource::<lambda_...>,int,void>(_Fx)' being compiled
2018-02-26 13:22:36 +02:00
alexey.lysiuk
14802c0547
Fixed GCC compilation error
...
src/sound/timiditypp/reverb.h:467:6: error: declaration of ‘TimidityPlus::lfo TimidityPlus::<anonymous struct>::lfo’ [-fpermissive]
src/sound/timiditypp/reverb.h:61:8: error: changes meaning of ‘lfo’ from ‘struct TimidityPlus::lfo’ [-fpermissive]
2018-02-26 13:10:32 +02:00
Christoph Oelckers
64354df3c6
- another 'variadic argument' error due to MSVC letting it slip through.
2018-02-26 10:57:35 +01:00
Christoph Oelckers
f405d630df
- Redid CVar synchronization for Timidity++.
2018-02-26 09:55:04 +01:00
Christoph Oelckers
47dbbeb65a
Revert "- don't let the Timidity++ player directly access the CVARs."
...
This reverts commit 8f7a503561
.
# Conflicts:
# src/sound/timiditypp/playmidi.cpp
Something in here wasn't working as intended, and since it needs better synchronization let's redo it entirely.
2018-02-26 09:19:10 +01:00
Christoph Oelckers
36e8358763
- use submenus for soundfont selection both for better overview and avoiding a music restart for each selection change.
2018-02-26 08:52:40 +01:00
Christoph Oelckers
918d188263
- This shouldn't have been committed.
2018-02-25 16:15:24 +01:00
Christoph Oelckers
67a6ec01e1
- added a separate section for soundfont search paths.
2018-02-25 09:32:05 +01:00
Christoph Oelckers
2ac101fa51
- removed tmpfileplus, which was only used by the old Timidity++ player.
2018-02-24 23:01:55 +01:00
Rachael Alexanderson
07f168a58b
- additional check for tween-tic particle rendering, prevents jitter with timefreeze powerup
2018-02-24 16:04:20 -05:00
Christoph Oelckers
8f7a503561
- don't let the Timidity++ player directly access the CVARs.
...
This may cause problems because the player runs in a different thread than the input code.
Instead the play thread will now copy their values to local variables when it starts generating output.
2018-02-24 19:36:09 +01:00
Christoph Oelckers
27f9330c81
- reimplemented thr OPL dumoer for MIDI.
2018-02-24 18:55:42 +01:00
Christoph Oelckers
a5316c211d
- Moved the MIDI WAVE writer device to its own source file.
2018-02-24 18:25:04 +01:00
Christoph Oelckers
2202a52840
- made the MIDI to WAVE dumper functional again, including the option of choosing the MIDI synth and sound font with which it should be rendered.
2018-02-24 18:19:27 +01:00
alexey.lysiuk
3436b80232
Added SHARE_DIR search path back
...
https://github.com/coelckers/gzdoom/pull/377#issuecomment-368235506
2018-02-24 17:50:13 +02:00
alexey.lysiuk
76ff1adb28
Disabled reverb editor's test environment by default
...
https://forum.zdoom.org/viewtopic.php?t=59583
2018-02-24 17:46:04 +02:00
Christoph Oelckers
786f1b34be
- did not save everything.
2018-02-24 13:33:28 +01:00
Christoph Oelckers
6e913bb032
- Timidity CVAR cleanup and removal of the more obscure options.
2018-02-24 13:06:17 +01:00
Christoph Oelckers
b1313d533a
- changing reverb mode must reallocate the buffers because they are mode-dependent.
2018-02-24 12:41:16 +01:00
Christoph Oelckers
fa8cfa65c0
- fixed incomplete initialization of the chorus data.
2018-02-24 12:30:19 +01:00
Christoph Oelckers
88328b056d
- removed 'register' keyword from reverb.cpp.
2018-02-23 22:01:00 +01:00
Christoph Oelckers
7a851fd3f1
libADL MIDI test. It sounds awful so obviously there's still something wrong here. Definitely not usable yet.
2018-02-23 21:56:34 +01:00
Christoph Oelckers
39f26028aa
- reworked the advanced sound menu to take advantage of the new soundfont handling.
...
The text input field for the configs have been removed. Instead it will now present a list of soundfonts that are found in specific locations.
For that it will look in the 'soundfont' directories of the FileSearch.Directories entry of the config.
Acceptable file formats here are SF2 and zipped GUS patch sets. These zipped patch sets need to have a timidity.cfg at the root and refer to all containing data by relative path. References to outside files are not allowed here.
It is still possible to refer to sound fonts elsewhere on the hard drive by manually entering a path at the console - but these won't show in the menu and will get lost if one cycles through the list of available options.
Of the available softsynths, FluidSynth will only list SF", Wildmidi will only list GUS patch sets and Timidity++ and GUS will list both.
Please note that although the GUS synth can read SF2, the output appears to be broken die to some old bug.
2018-02-23 19:23:39 +01:00
Christoph Oelckers
5da1433c57
- fixed a memory leak and removed debug output.
2018-02-23 18:57:30 +01:00
Christoph Oelckers
88f9f0982c
- fixed Timidity++ playback.
2018-02-23 18:33:54 +01:00
Christoph Oelckers
4a179954b1
- removed Timidity_mastervolume CVAR. The reason why this was added got addressed at a lower level with the new code (i.e. the EXE's output was far too loud) and if there need to be adjustments to evening out the volume of the different MIDI synths it should be done in the data generation step, not as an added factor to the system volume of the track.
2018-02-23 17:27:36 +01:00
Christoph Oelckers
d25cc1baa0
- Fixed today's work now that I'm able to hear some sound again. Also some reorganization
2018-02-23 17:01:17 +01:00
Christoph Oelckers
ddedcd9fc2
Removed all conditional checks on HAVE_FLUIDSYNTH
...
With the current setup it makes zero sense to exclude it. This was all a remnant of its introduction when it couldn't be taken for granted.
2018-02-23 14:36:26 +01:00
Christoph Oelckers
adebd644f2
Rewroter 'writemidi' CCMD to work independently of the currently playing song's data.
...
The first benefit of separating the MIDI data sources from the playback classes. :)
2018-02-23 14:26:29 +01:00
Christoph Oelckers
16f17deb0f
We no longer have a sound system that can handle music playback, so the code for it can go away.
2018-02-23 13:23:03 +01:00
Christoph Oelckers
9a1479ab08
Separate MIDI streamer and source creation in the high level code.
2018-02-23 13:20:07 +01:00
Christoph Oelckers
9aa1199902
Split the different MIDI format implementations into a separate 'Source' class.
...
This is necessary to write a universal, device independent wave dumper for MIDIs.
With each format inheriting from the main player class it is not possible to create a generic dumper player.
2018-02-23 12:40:43 +01:00
Christoph Oelckers
8734511e80
Removed PathExpander and PseudoMidiDevice which are no longer being used
...
PathExpander has been integrated into the sound font manager and PseudoMidiDevice was only used as the base class for the old Timidity++ device with the external executable.
2018-02-23 09:21:42 +01:00
Christoph Oelckers
aae832386f
Fixed warnings in Timidity++ code emitted by XCode, except one which cannot be eliminatet without compromising the code.
2018-02-23 09:07:42 +01:00
Christoph Oelckers
6618656e7c
Adjusted Timidity++ to soundfint manager
2018-02-23 08:54:01 +01:00
Christoph Oelckers
f9893a700a
- fixed some warnings.
2018-02-23 01:01:18 +01:00
Christoph Oelckers
d6fe1fb39f
- simplified the sound font manager a bit.
...
- allow the GUS to change sound fonts at run time.
- implemented sound font manager support in the GUS synth. This works but also made me realize that the SF2 support of this synth has been rather broken, apparently forever.
2018-02-23 00:48:03 +01:00
Christoph Oelckers
c12c068355
- WildMidi now uses the soundfont manager.
...
- added the missing handler for reading Timidity configs from the lump directory.
- fixed incomplete init of the GUS synth when no soundfont can be located.
- fixed bad initialization of WildMidi sampling frequency. It would default to 11.025 kHz if no valid rate was set. Now it will use the sound device's native frequency.
2018-02-22 22:35:49 +01:00
Christoph Oelckers
1361956072
- Soundfont manager works for FluidSynth.
2018-02-22 18:03:22 +01:00
Christoph Oelckers
8b8a7e5e45
- sfmanager gets initialized
2018-02-22 14:30:43 +01:00
Christoph Oelckers
aaedae6972
- do not abort if FScanner cannot open a file.
2018-02-22 14:10:25 +01:00
Christoph Oelckers
504d68e2f8
All compile errors on Mac fixed.
2018-02-22 13:50:41 +01:00
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
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
Magnus Norddahl
57e66555da
- Change the search paths for auto folders
2018-02-21 23:20:31 +01:00
Magnus Norddahl
05827ffcda
- Implement auto textures for materials
2018-02-21 23:12:46 +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
Christoph Oelckers
d72b87f469
- skeleton of new player class for Timidity++ - not tested yet.
2018-02-20 01:23:56 +01:00
Magnus Norddahl
4e7ca68bd6
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-20 00:22:06 +01:00
Magnus Norddahl
07fa310f23
- move material light modes to their own subshader lumps
2018-02-20 00:13:05 +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
Magnus Norddahl
e2cab652d0
- Improve the "#line 1" directive insertion so that errors in all the shaders use line numbers relative to the lump they are referring to
2018-02-10 14:46:43 +01:00
Magnus Norddahl
5528d4157b
- Make uniform removal a little bit more robust by only searching for known legacy uniforms
2018-02-10 14:06:17 +01:00
Rachael Alexanderson
5dd98669e4
- FreeBSD compile fix
2018-02-10 07:56:33 -05:00
Magnus Norddahl
f01ef3d7a7
- Remove uniforms from user shader code
2018-02-10 12:52:59 +01:00
Magnus Norddahl
94fbcacf22
Merge branch 'gzdoom' into materials
2018-02-10 00:08:17 +01: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
Magnus Norddahl
3207d8aef7
- generate uniform declarations from c++
2018-02-09 23:29:31 +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
ZZYZX
ef867c3415
Fixed arg0str for dynamic light actors
2018-02-04 03:37:41 -05: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
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
alexey.lysiuk
35508bc8fb
Fixed resetting CVARs via internal menu CCMDs
...
This restores functionality of reset to defaults/saved menu options
2018-01-30 16:32:16 +02:00
alexey.lysiuk
d9323b9740
Marked internal menu commands as safe
...
This fixes soundfont/patchset/config selection menus in advanced sound options
2018-01-30 16:02:30 +02:00
alexey.lysiuk
c8b6e5719e
Restore unsafe execution context to its previous value
2018-01-30 15:56:45 +02:00
alexey.lysiuk
f4191f27cf
Marked two more CCMDs as unsafe
2018-01-30 15:42:03 +02:00
Christoph Oelckers
93686638b0
- let fluid_reverb and fluid_chorus default to 'off'.
2018-01-29 18:54:06 +01:00
Christoph Oelckers
2bb80e3d0b
- fixed: Upon resurrection, a monster must check if the current setting of the link flags (NOBLOCKMAP and NOSECTOR) match the defaults.
2018-01-29 18:18:31 +01:00
Christoph Oelckers
6107f36ad2
- iterating through portal groups must check for situations where badly constructed maps let items end up in another portal group.
2018-01-29 18:00:55 +01:00
alexey.lysiuk
1e9fdca755
Made unsafe execution context check for CVARs more strict
...
This prevents changing of non-mod CVARs from unsafe context for various code paths including set and toggle CCMDs
2018-01-29 15:20:35 +02:00
alexey.lysiuk
c7eea9b480
Marked a few more CCMDs as unsafe
2018-01-29 13:30:36 +02:00
Christoph Oelckers
64921ea968
- use a more consistent setting for rendering fuzzy sprites with enhanced nightvision on.
2018-01-28 20:46:16 +01:00
Alexander Wilms
55c6a14059
Added simple fatal error window for Linux
...
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Christoph Oelckers
c1d2b54820
- let TexMan.GetName return the actual name for a texture that was created from a full path name.
2018-01-28 11:54:24 +01:00
alexey.lysiuk
6003625721
Silenced quad stereo message during startup
2018-01-28 11:41:00 +02:00
Christoph Oelckers
d207f426c1
Typo.
2018-01-27 12:49:52 +01:00
Christoph Oelckers
1794774f22
- ScriptedMarine already exists as a name so most literal occurences in the source could be replaced with more efficient direct use of the name.
2018-01-27 09:54:33 +01:00
Christoph Oelckers
7ceb70bcc1
- renamed 'Tracer' class to 'LineTracer', because 'Tracer' is a too common name that had been used by some mods.
2018-01-27 09:32:26 +01:00
Marisa Kirisame
92547028f3
Exports sky textures to ZScript (readonly, needs setter function due to the setup required) and speeds, along with a ChangeSky function for setting the textures.
2018-01-26 21:00:44 +01:00
alexey.lysiuk
a77b253cba
Fixed Sector.SetYScale() function in ZScript
...
https://forum.zdoom.org/viewtopic.php?t=59224
2018-01-26 10:29:37 +02:00
alexey.lysiuk
577c6b033e
Changed quad stereo mode restart notification
...
Restart requirement for quad stereo mode should be output to console because CVAR can be toggled directly from it
Long option names break menu layout on some aspect ratios like 16:10
2018-01-26 10:10:51 +02:00
Magnus Norddahl
30af6d38b3
- fix automap render bug
2018-01-25 20:22:51 +01:00
Magnus Norddahl
2c9a2e7170
- fix specular defaults to be a little more sane
2018-01-25 19:59:57 +01:00
Magnus Norddahl
7a59bcde4c
- move glossiness and specular level to GLDEFS
2018-01-25 19:53:55 +01:00