Commit graph

12904 commits

Author SHA1 Message Date
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
Magnus Norddahl
0855418475 Merge branch 'gzdoom' into materials
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shader.h
2018-01-25 19:21:19 +01:00
Magnus Norddahl
a46bbc81a0 Merge branch 'bloom_psprite_fix' into gzdoom 2018-01-25 19:01:46 +01:00
Magnus Norddahl
4c0dce875f Merge branch 'fuzz_software' into gzdoom 2018-01-25 19:00:14 +01:00
alexey.lysiuk
1b4e3d3f94 Added overloaded Little...() functions for big endian targets
https://forum.zdoom.org/viewtopic.php?t=59197
2018-01-25 13:35:34 +02:00
alexey.lysiuk
e728634497 Use dummy Get...() functions for all Intel targets
64-bit Intel targets built with GCC/Clang were using strict memory alignment versions of GetShort(), GetInt(), GetBigInt() functions
2018-01-25 13:23:12 +02:00
Magnus Norddahl
81c6808d2a - Add specular and normal map handling to main.fp 2018-01-23 23:10:28 +01:00
Magnus Norddahl
c7ec489846 Merge remote-tracking branch 'origin/master' into materials 2018-01-23 20:16:32 +01:00
alexey.lysiuk
47b276024e Fixed compilation warnings reported by MSVC
src\p_map.cpp(4857): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\p_map.cpp(4858): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
2018-01-22 12:29:16 +02:00
Christoph Oelckers
76d594f952 - reverted the hard offset for transferred skies.
This is not the correct way to apply it.
2018-01-21 19:25:21 +01:00
Christoph Oelckers
09f1859c83 - allow retrieving the length of a string constant. 2018-01-21 18:49:46 +01:00
Christoph Oelckers
6438416adb - fixed: The culling mode for translucent models must be inverted when rendering a mirror. 2018-01-21 16:29:40 +01:00
Christoph Oelckers
e1d6f6f3b3 - fixed: precise rendering did not work anymore due to a missing reference operator in the setup function for the needed data. 2018-01-21 16:17:49 +01:00
Christoph Oelckers
884db96cbb Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-21 10:54:34 +01:00
ZZYZX
ee1a8f71bb Disable TRACE_PCross and TRACE_Impact on ZScript side 2018-01-21 10:54:23 +01:00
ZZYZX
74b937620e Added texture detection for walls and 3D floors; renamed some fields to more intuitive names 2018-01-21 10:54:23 +01:00
ZZYZX
a7ff62316d Exported Trace() interface to ZScript 2018-01-21 10:54:23 +01:00
Marisa Kirisame
15e7d9daba Gave the user data struct for CheckLineTrace a more unique name to avoid confusion with FLineTraceData 2018-01-21 10:54:02 +01:00
Marisa Kirisame
69e8c9ec6e A more "general purpose" line trace function. Far from a complete ZScript interface with Trace(), though. 2018-01-21 10:54:02 +01:00
Jan Engelhardt
3f45f938d6 Update LZMA SDK to version 17.01 2018-01-21 10:53:40 +01:00
Neil McPhail
ded0c7805d Fix failure to write under ~/ in confinement
When running in a confined environment (such as a snap) it may not be
possible to write to directories such as ~/.config. By using the $HOME
variable instead of the '~' shortcut, the confined environment can pass
an alternative 'home' directory with write privelges.

I have only changed this for posix/unix and haven't touched code for
MacOS, as I don't know if that behaves differently
2018-01-21 10:52:42 +01:00
Christoph Oelckers
56e2db38fd - Use FName instead of FString to store arg0str in FMapThing.
This is because FMapThing gets memset to 0 and changing that would cause more work than it is worth to keep the string. The only thing it is used for is the color for dynamic lights and those do not need case sensitivity so a name will just do as well, but require less adjustments elsewhere.
2018-01-21 09:10:04 +01:00
Christoph Oelckers
c93d025088 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-21 08:57:29 +01:00
Rachael Alexanderson
8b3cc6a617 - remove redundant vm.h include in events.cpp 2018-01-21 01:02:00 -05:00
Magnus Norddahl
0f69778e23 - Add new material shader entries for specular and PBR light modes 2018-01-21 01:53:44 +01:00
Magnus Norddahl
4dd2d789f4 - Rename mTextureEffects to mMaterialShaders to help distinguish between those and effect shaders (mEffectShaders)
- Add MaterialShaderIndex enum
2018-01-21 01:19:16 +01:00
Christoph Oelckers
9b40097e48 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-01-20 22:41:41 +01:00
Christoph Oelckers
6aaf5df617 - reworked spot lights to receive all relevant information through the args.
As a bonus, arg0str can now be used for all dynamic lights to pass a color in textual form, including X11R6RGB-names.
2018-01-20 22:41:28 +01:00
Jonathan Russell
708d24aba7 - added Screen.getViewWindow function 2018-01-20 21:56:34 +01:00
Christoph Oelckers
dbf0a68b02 Merge commit '67e3106254e987f5acb9534e725d4f5c3eaa82b2'
# Conflicts:
#	src/doomdata.h
#	src/namedef.h
#	src/p_udmf.cpp
2018-01-20 19:07:54 +01:00
Rachael Alexanderson
6df936e0a0 - remove A_IsPlayingSound 2018-01-20 19:01:47 +01:00
Marisa Kirisame
a01ca4c3a1 Exported S_IsActorPlayingSomething and S_GetMSLength to ZScript.
Added missing vm.h include, moved A_IsPlayingSound to p_actionfunctions.cpp.

- make A_IsPlayingSound ui only
2018-01-20 19:01:47 +01:00
Major Cooke
d5d393aaf2 - Added GetRadiusDamage. Returns the raw calculated explosion damage falloff by distance only.
- Split off both explosion damage calculations into P_Get(Old)RadiusDamage functions for ease of maintenance.
2018-01-20 18:45:01 +02:00
Magnus Norddahl
f3c55c01c8 Add material definition to GLDEFS 2018-01-20 16:28:24 +01:00
alexey.lysiuk
c840368446 Fixed compilation warnings reported by GCC/Clang
src/s_environment.cpp:908:6: warning: variable 'v' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
src/s_environment.cpp:908:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/s_environment.cpp:934:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2018-01-20 14:59:29 +02:00
Christoph Oelckers
16461e0d59 Merge branch 'reverbedit' 2018-01-20 13:06:26 +01:00
alexey.lysiuk
7a1ec9ab9d Applied values to latched CVARs in correct order
https://forum.zdoom.org/viewtopic.php?t=59159
2018-01-20 13:53:13 +02:00
Christoph Oelckers
2d8e394529 Merge branch 'master' into reverbedit
# Conflicts:
#	wadsrc/static/zscript/menu/optionmenuitems.txt
2018-01-20 11:44:42 +01:00
Christoph Oelckers
2fddea7bed Merge branch 'unsafe_context' 2018-01-20 11:21:52 +01:00
alexey.lysiuk
b5006bbee4 Fixed potential compilation error in ACS loader
https://forum.zdoom.org/viewtopic.php?t=59164
2018-01-20 10:34:07 +02:00
Christoph Oelckers
2720e36a2c - marked a few more CCMDs unsafe. 2018-01-20 09:11:28 +01:00
Christoph Oelckers
4cf5977b56 Merge branch 'master' into unsafe_context 2018-01-20 08:53:00 +01:00
Christoph Oelckers
19cf887ad1 - fixed: Dynamic arrays for object pointers need different treatment than arrays for regular pointers, because they require GC::WriteBarrier to be called. 2018-01-19 19:49:42 +01:00
alexey.lysiuk
f629678320 Fixed const correctness for secplane structure
https://forum.zdoom.org/viewtopic.php?t=59151
2018-01-18 15:34:56 +02:00
alexey.lysiuk
6d20da8ab5 Fixed nust -> must typos 2018-01-18 11:43:32 +02:00
alexey.lysiuk
56f656516d Fixed rare crash when menu is closed from Ticker() function
https://forum.zdoom.org/viewtopic.php?t=59112
2018-01-16 11:00:48 +02:00
Christoph Oelckers
13c4e58c3d - simplified IgnoreMIDIVolume.
The XP related check had already been deactivated but not removed.
2018-01-14 10:48:26 +01:00
alexey.lysiuk
f28914d1b6 Simplified handling of command line arguments in Cocoa backend
Empty arguments are no longer ignored
2018-01-14 11:29:45 +02:00
alexey.lysiuk
09e2326c63 Use dummy uallong() function for all Intel targets
64-bit Intel targets built with GCC/Clang were using strict memory alignment version of this function
2018-01-14 10:13:18 +02:00
alexey.lysiuk
72f181be08 Revert "Added partial bounds check for instruction pointer in ACS VM"
This reverts commit 83cd53c9b1.
2018-01-14 10:04:13 +02:00
alexey.lysiuk
9b52c18ef6 Improved layout of FMultiPatchTexture::TexPart structure
Removed "gaps" between members (for 64-bit targets) and initialized them in place
2018-01-13 12:44:23 +02:00
alexey.lysiuk
d95ac93376 Fixed crash when resolving multipatches with missing textures
https://forum.zdoom.org/viewtopic.php?t=59088
2018-01-13 12:41:19 +02:00
alexey.lysiuk
337bbfc88c Custom submenus are no longer removed from altered protected menu
https://forum.zdoom.org/viewtopic.php?t=59081
2018-01-12 10:51:14 +02:00
Rachael Alexanderson
ee9736fbb3 - print out FriendlySeeBlocks on 'info' ccmd
- not setting FriendlySeeBlocks on UDMF now causes the actor to use its ZScript default
2018-01-09 15:48:19 -05:00
Rachael Alexanderson
9c189e5d4b - expose a monster's 'friendlyseeblocks' to UDMF 2018-01-09 15:30:45 -05:00
Rachael Alexanderson
68cd0fad76 - fixed crash when entering 'finishgame' in the console outside of a level. 2018-01-09 20:24:25 +01:00
Rachael Alexanderson
36b6253c3d Merge branch 'FriendlySeeBlocks' into zmd5 2018-01-09 13:55:09 -05:00
Rachael Alexanderson
7416f42b47 - add 'FriendlySeeBlocks' actor property that allows a modder to expand the maximum radius that a friendly monster can see enemies. 2018-01-09 12:34:12 -05:00
Christoph Oelckers
8667987cd6 - DWaitingCommand needs to serialize its unsafe state. 2018-01-08 18:13:02 +01:00
alexey.lysiuk
6370594e17 Fixed crash on finishgame CCMD before starting new game
https://forum.zdoom.org/viewtopic.php?t=59045
2018-01-08 17:16:03 +02:00
alexey.lysiuk
b008426ed7 Added propagation of unsafe execution context to waiting command
Thanks Edward-san for pointing this out
2018-01-08 10:41:31 +02:00
Jameson Ernst
e8a7f00b9b Adjust FNF enum to fix FILLZEROS 2018-01-07 23:44:03 +01:00
alexey.lysiuk
059e40e2d5 Prohibited setting of non-mod CVARs from unsafe alias 2018-01-07 15:04:50 +02:00
alexey.lysiuk
f25a5ea2bc Marked a few commands as unsafe
This process of finding unsafe commands is not complete!
2018-01-07 15:03:49 +02:00
alexey.lysiuk
6d37a67027 Added unsafe execution context for console commands
Some console commands are insecure because they access user's file system
Such commands cannot be executed from MENUDEF and KEYCONF aliases
2018-01-07 15:02:22 +02:00
Magnus Norddahl
a23e5f49f6 - Add "fuzz software" to GL that renders fuzz like the scaled fuzz mode in the software renderer 2018-01-07 02:29:55 +01:00
Rachael Alexanderson
9fd78e90ad - export 'GetChecksum' as part of FLevelLocals in ZScript 2018-01-06 19:59:49 -05:00
Magnus Norddahl
56db2b02cc - Fix psprite not appearing when invulnerability effect is active with bloom turned on 2018-01-06 17:21:02 +01:00
alexey.lysiuk
83cd53c9b1 Added partial bounds check for instruction pointer in ACS VM
This change adds verification of instruction pointer for indirect usages only, i.e. via NEXT...() macros
2018-01-06 13:26:51 +02:00
alexey.lysiuk
44f01e1dc6 Added bounds check for local variables in ACS VM 2018-01-06 12:13:15 +02:00
Magnus Norddahl
f88d9a02df Remove bloom effect on psprites 2018-01-06 05:11:12 +01:00
alexey.lysiuk
df0cddb35d Do not output empty conversation replies to console
https://forum.zdoom.org/viewtopic.php?t=58992
2018-01-05 16:26:31 +02:00
Jonathan Russell
67e3106254 - add the default spotlight apertures in FMapThing 2018-01-04 23:31:10 +00:00
Jonathan Russell
e754fe04ef - removed the 0 check on the UDMF property, so 0 can be a valid aperture 2018-01-04 23:22:45 +00:00
Jonathan Russell
254501d3e8 - fixing last commit, which didn't seem to work correctly 2018-01-04 23:09:48 +00:00
Jonathan Russell
7f7c720883 - added UDMF properties for spotlights (args have all been used up for dynlights) 2018-01-04 22:41:57 +00:00
Magnus Norddahl
79440d7014 - Fix sprite spot light calculation 2018-01-04 19:42:52 +01:00
Magnus Norddahl
bae3620540 - Added spot light support to gl_SetDynSpriteLight 2018-01-04 19:27:03 +01:00
Magnus Norddahl
f398286162 - Fix wrong spot direction 2018-01-04 19:09:12 +01:00
Magnus Norddahl
5f36b86013 - Add dynamic spot lights 2018-01-04 17:58:11 +01:00
alexey.lysiuk
4b044e30d7 - ACS stack checking (proxy commit by Rachael) 2018-01-03 23:35:57 -05:00
Rachael Alexanderson
6aa724a9b4 - add 'gl_riskymodernpath' for computers that worked before the GL >= 3.3 modern path enforcement, since some did, but they seemed to be the exception rather than the rule. 2018-01-03 21:46:04 -05:00
alexey.lysiuk
549a9d3cf0 Extended Actor.CheckMove() with optional position information
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-03 10:48:10 +02:00
Major Cooke
c3c1e76e8a Added vector diff functions to ZScript LevelLocals class
Vec2Diff() and Vec3Diff() work like Actor’s Vec2To() and Vec3To() but use arbitrary points
2018-01-02 14:18:59 +02:00
alexey.lysiuk
c4648a2b1c Added CheckMove() function to ZScript Actor class
https://forum.zdoom.org/viewtopic.php?t=58964
2018-01-02 13:04:28 +02:00
Rachael Alexanderson
d8aa53f5b1 - whitelisted openmenu 2018-01-01 14:51:32 -05:00
alexey.lysiuk
be8147406e Fixed initialization of BlockThingsIterator objects
https://forum.zdoom.org/viewtopic.php?t=58945
2018-01-01 11:11:21 +02:00
alexey.lysiuk
2c4eae7487 Applied vertical offset to transferred sky in OpenGL renderer
https://forum.zdoom.org/viewtopic.php?t=58934
2017-12-31 21:29:27 +02:00
alexey.lysiuk
8f70d70dd6 Generalized maximum amount for give cheat
https://forum.zdoom.org/viewtopic.php?t=58930
2017-12-31 15:25:51 +02:00
alexey.lysiuk
294bf6ed53 Simplified base class checks in AActor::GiveInventory() 2017-12-31 15:23:54 +02:00
alexey.lysiuk
de4fc97ac6 Fixed ammo limit for give cheat
https://forum.zdoom.org/viewtopic.php?t=58930
2017-12-31 13:30:30 +02:00
alexey.lysiuk
40fd816d54 Improved compatibility of blocking lines handling
Only the first blocking line changes contact state during line iteration
This reverts 3b818171d5

https://forum.zdoom.org/viewtopic.php?t=57870
2017-12-31 11:34:12 +02:00
Rachael Alexanderson
a5ded11994 - load translator from gameinfo instead of Doom for UMAPINFO 2017-12-30 16:36:29 -05:00
Rachael Alexanderson
340f1fce30 - load Doom translations when parsing UMAPINFO in order to activate the correct boss specials
- one typo (only on a comment) change
2017-12-30 16:21:02 -05:00
alexey.lysiuk
8f7ca00d19 Added optional angles to player's coordinates display
Set hud_showangles CVAR to display pitch, yaw, roll below player's coordinates
2017-12-30 12:10:39 +02:00
alexey.lysiuk
a3d1efc8d6 Better angle selection for rotated automap sprites
https://forum.zdoom.org/viewtopic.php?t=58348
2017-12-30 12:08:32 +02:00
alexey.lysiuk
33213f5d5d Fixed rendering of wrapped midtex with sky ceiling
https://forum.zdoom.org/viewtopic.php?t=58311
2017-12-29 14:37:09 +02:00
alexey.lysiuk
a670e79b8a Applied texture offsets and scales on animated doors
https://forum.zdoom.org/viewtopic.php?t=58892
2017-12-29 11:47:30 +02:00
alexey.lysiuk
996bddd602 Exposed pixel stretch to ZScript as member variable instead of function
https://forum.zdoom.org/viewtopic.php?t=58539
2017-12-29 09:42:03 +02:00
alexey.lysiuk
25d53ecd2c Enabled position independent executable for generic GCC/Clang
This affects mostly Linux (and probably MinGW) as default toolchains for Windows and macOS have the corresponding option turned on by default
2017-12-29 09:39:01 +02:00
Magnus Norddahl
b8415199c9 Fix culling bug 2017-12-28 11:43:52 -05:00
Rachael Alexanderson
a441cea350 - interpolate particles 2017-12-28 11:36:36 -05:00
alexey.lysiuk
8ca3427850 Fixed applying of Doom 64 lighting to horizon portals
https://forum.zdoom.org/viewtopic.php?t=58878
2017-12-28 18:32:26 +02:00
Rachael Alexanderson
5c602b1ec0 - fixed: FSkillInfo operator "=" did not set PlayerRespawn value 2017-12-28 01:41:56 -05:00
Rachael Alexanderson
45531090a7 - add 'playerrespawn' skill flag to allow gameplay mods to retroactively enable player respawns in single player on all maps 2017-12-28 00:53:30 -05:00
Major Cooke
10465c1d27 - Fade cancelling should only always be active for A_SetBlend fades, not always for everything else (such as ACS fades). 2017-12-27 23:34:44 -05:00
Major Cooke
fa0082aef6 Added ability to perform reverse fades with A_SetBlend 2017-12-27 20:51:13 -05:00
Christopher Bruns
a3399c1af2 Fix: Bind the default framebuffer before testing whether hardware stereo 3D is supported. This allows Nvidia 3D vision glasses to function correctly when gl_light_shadowmap is ON.
Doc: Add "requires restart" to "enable quad stereo" option menu label, to help folks trying to setup 3D.
2017-12-27 17:50:53 -05:00
Major Cooke
1e7df5505e Added GetPixelStretch to LevelLocals struct. 2017-12-27 17:50:39 -05:00
alexey.lysiuk
2eb51e5f79 Disabled modifier keys processing in UI by Cocoa backend
Modifier keys no longer trigger bound actions in menu/console/chat
2017-12-25 18:14:56 +02:00
Rachael Alexanderson
205c64d4b1 - prevent level from exiting if no deathmatch starts are available in multiplayer 2017-12-24 20:48:51 -05:00
Rachael Alexanderson
000037dbf6 - implemented 'i_soundinbackground' to continue playing sounds and music while in the background.
- OpenGL rendering continues now even when losing focus while in windowed mode.
2017-12-24 18:01:45 -05:00
Rachael Alexanderson
d10304ea4e Merge commit 'refs/pull/355/head' of https://github.com/coelckers/gzdoom 2017-12-24 07:48:11 -05:00
alexey.lysiuk
a11e9ca4dc Apply compatibility flags to all map format
UDMF maps were no affected by settings in compatibility.txt
2017-12-24 10:33:29 +02:00
alexey.lysiuk
bfaa09c429 Fixed crash after restart CCMD 2017-12-23 15:48:28 +02:00
alexey.lysiuk
d50ba4954a Fixed potential crash when calling undefined function in ZScript
The following code which uses explicit class specifier led to a crash:
class C
{
	void F()
	{
		Object.Undefined();
	}
}
2017-12-23 15:27:32 +02:00
Rachael Alexanderson
b9a2398935 - added 'undocolorpic' to c_dispatch whitelist 2017-12-21 18:00:13 -05:00
Rachael Alexanderson
0e2aee7d5e - whitelist reset2saved in menudef 2017-12-20 03:21:50 -05:00
alexey.lysiuk
90c734a39f Fixed VM abort when drawing from ZScript happens during 0 game tic
https://forum.zdoom.org/viewtopic.php?t=58523
https://forum.zdoom.org/viewtopic.php?t=58780
2017-12-19 18:07:29 +02:00
alexey.lysiuk
8c60c3c532 Added bounds checks for color translation indices
ACS scripts could pass arbitrary values as palette indices leading to undefined behavior
2017-12-17 15:13:41 +02:00
alexey.lysiuk
6db8e71b14 Fixed inconsistent color remapping via translation ranges
https://forum.zdoom.org/viewtopic.php?t=58537
2017-12-17 15:13:41 +02:00
Major Cooke
ceffe1ba5f Consistent style. 2017-12-16 12:17:55 -05:00
Major Cooke
0d841ab4df - Added DMG_NO_PAIN for DamageMobj. 2017-12-16 12:17:55 -05:00
alexey.lysiuk
0afc09678f Fixed bright sprites in sectors with Doom 64 lighting
https://forum.zdoom.org/viewtopic.php?t=58703
2017-12-16 17:37:03 +02:00
alexey.lysiuk
c387574c02 Stop demo recording after ending game with menu_endgame CCMD
https://forum.zdoom.org/viewtopic.php?t=58735
2017-12-15 12:34:56 +02:00
Rachael Alexanderson
dee5d064e9 - revise last script a bit: allow certain cheats/scripts/events to be called from the menu. 2017-12-14 16:39:33 -05:00
Rachael Alexanderson
f77ba14948 - use a whitelist for DoCommand zscript command 2017-12-14 15:55:45 -05:00
alexey.lysiuk
de12902d77 Increased limit for automap empty space margin to 90%
https://forum.zdoom.org/viewtopic.php?t=58653
2017-12-14 16:18:27 +02:00
Christoph Oelckers
6b42036eb6 - fixed: AActor::UnlinkFromWorld must also destroy all portal link nodes for the calling actor. 2017-12-10 21:26:52 +01:00
alexey.lysiuk
724c997695 Fixed error check when saving GL nodes 2017-12-10 15:10:32 +02:00
alexey.lysiuk
a89bc23789 Fixed crash when loading saved game with missing ACS module 2017-12-10 13:24:16 +02:00
Rachael Alexanderson
1559d74c2c - repaired the video scaling code 2017-12-10 04:22:28 -05:00
alexey.lysiuk
ebb926e7b0 Added free space margin aka safe frame for automap
am_freespacemargin CVAR and corresponding menu options can set empty space margin for automap in percentage of zoomed out size
https://forum.zdoom.org/viewtopic.php?t=58653
2017-12-09 17:38:34 +02:00
Rachael Alexanderson
eb5da3e641 - fixed: if the level is started before the first timer call, pass an earlier timestamp to screen->FrameTime 2017-12-09 06:09:48 -05:00
alexey.lysiuk
0bd9437a96 Fixed loading of external DeHackEd patches
https://forum.zdoom.org/viewtopic.php?t=58685
2017-12-09 11:37:25 +02:00
Rachael Alexanderson
a3a350e6e8 - fixed: make level.ShaderStartTime use the same values as what screen->FrameTime normally gets. 2017-12-07 16:31:27 -05:00
Rachael Alexanderson
938cd3cabe - implemented win_borderless for fake fullscreen in Windows 2017-12-07 06:32:51 -05:00
Rachael Alexanderson
a29d9e157c - fixed: screen->FrameTime should use an adjusted frame start time 2017-12-07 03:01:57 -05:00
Rachael Alexanderson
29d2d8b3f8 - changed ttl in particle_t from short to int32_t for longer lifespan. 2017-12-07 01:54:30 -05:00
alexey.lysiuk
5162e7162e Fixed overbright screenshots with hardware gamma off
When render buffers are used to apply gamma/brightness/contrast screenshots should not use PNG gamma correction
2017-12-06 11:24:10 +02:00
Rachael Alexanderson
505c99b0a8 - fixed: doublize more internal structures, even if they still get converted to float later 2017-12-04 17:39:57 -05:00
Christoph Oelckers
6403f64a93 - use documents path to store reverbs. 2017-12-03 21:06:27 +01:00
Christoph Oelckers
4c799af293 Merge branch 'master' into reverbedit 2017-12-03 21:04:14 +01:00
Christoph Oelckers
a945418ba6 - added M_GetDocumentsPath function. 2017-12-03 21:03:44 +01:00
Christoph Oelckers
cea89ba3ae - fix backslashes in MD3 skin names. 2017-12-03 20:03:33 +01:00
Christoph Oelckers
d5445d7953 - reverb editor complete except for localization and saving to a proper place. 2017-12-03 19:56:03 +01:00
Rachael Alexanderson
0fa74220c9 - fixed: doublize sky float, in order to make it more smooth 2017-12-03 12:39:24 -05:00
Christoph Oelckers
5e1100096e - work on reverb save menu. 2017-12-03 17:04:10 +01:00
alexey.lysiuk
31b0fdc9fe Fixed directory creation for POSIX targets
Warning was reported by GCC 7 only:
cmdlib.cpp:550:13: warning: ‘info.stat::st_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2017-12-03 14:57:35 +02:00
alexey.lysiuk
5f50d60eff Restored handling of tmpfileplus() keep argument for POSIX targets 2017-12-03 14:57:35 +02:00
alexey.lysiuk
31d1018b9a Fixed compilation warnings reported by GCC/Clang
b_game.cpp:537:27: warning: more '%' conversions than data arguments [-Wformat]
g_game.cpp:2982:40: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'long' [-Wsign-compare]
2017-12-03 14:57:34 +02:00
alexey.lysiuk
f25c7ef2d5 Unified implementation of ’directory as resource file' for POSIX targets 2017-12-03 14:57:34 +02:00
Christoph Oelckers
7e45535669 Merge branch 'master' into reverbedit 2017-12-03 12:46:08 +01:00
alexey.lysiuk
8129afdd1f Fixed compilation of non-Windows targets
These are quick hacks to be improved later
2017-12-03 10:11:54 +02:00
Magnus Norddahl
52be9895b7 - Disable softpoly models 2017-12-03 00:23:28 +01:00
Christoph Oelckers
cc54db6e6d - let the 3 relevant text functions handle UTF-8 strings
These functions are: DCanvas::DrawTextCommon, V_BreakLines and FFont::StringWidth.
This will allow strings from UTF-8 encoded assets to display properly, but also handle the OpenAL device name on international systems, as this will be returned as an UTF-8 string.

Due to backwards compatibility needs the decoding function is rather lax to allow both UTF-8 and ISO 8859-1 to pass through correctly - and this also implies that it will allow mixed encodings which may happen if strings from different sources get concatenated.
2017-12-02 21:21:57 +01:00
Christoph Oelckers
7cbcbe66c0 - sanitization of temporary file stuff for Timidity++.
* do not use the global temp directory. Instead create one in the AppData folder.
* removed lots of unneeded code from tmpfileplus.
* use C++ strings in there.
2017-12-02 17:33:43 +01:00
Christoph Oelckers
f6f17fbfb4 - give tmpfileplus its own RNG.
This should not interfere with the global one which can be explicitly seeded.
It also seems a bit pointless to constantly re-seed the RNG for something this inconsequential.
2017-12-02 17:05:39 +01:00
Christoph Oelckers
e78503b770 - removed some debug stuff from tmpfileplus. 2017-12-02 16:54:24 +01:00
Christoph Oelckers
4ca3acb0e3 - made tmpfileplus a .cpp file so that it can access ZDoom's own utility code. 2017-12-02 16:51:53 +01:00
Christoph Oelckers
8627a48b34 - consolidation of 'stat' calls.
Since this is a non-standard function it's better kept to as few places as possible, so now DirEntryExists returns an additional flag to say what type an entry is and is being used nearly everywhere where stat was used, excluding a few low level parts in the POSIX code.
2017-12-02 16:07:09 +01:00
Christoph Oelckers
1afc3b48a1 - removed Q_filelength which is no longer being used. 2017-12-02 14:27:49 +01:00
Christoph Oelckers
7d0759e2fa - handled all other uses of fopen that could reasonably converted to FileReader or FileWriter. 2017-12-02 14:24:28 +01:00
Christoph Oelckers
4003e7ca11 - use FileReader for savegame loading in the menu.
- simplify the check for existing files here, since a function for doing just that already existed.
2017-12-02 14:10:42 +01:00
Christoph Oelckers
2ba029ec8d - fixed potential memory leak in M_VerifyPNG.
If the 'takereader' parameter is true, the function must delete the reader if it fails before creating the PNGHandle.
2017-12-02 14:02:51 +01:00
Christoph Oelckers
690e7d8a84 - got rid of M_WriteFile as well for the same reasons as M_ReadFile. 2017-12-02 13:18:20 +01:00
Christoph Oelckers
838e52001c - got rid of M_ReadFile(Malloc) which werew each used only once in the entire code. These were still using the low level POSIX-style file interface which shouldn't really be used anymore.
- let FScanner::OpenFile return an error instead of throwing an exception. The exception was never used anyway aside from being caught right away to be ignored.
2017-12-02 13:09:59 +01:00
Christoph Oelckers
e15b23f132 - use FileWriter for writing zip files (i.e. savegames.) 2017-12-02 12:46:25 +01:00
Christoph Oelckers
14af7818b8 - use FileReader for all operations on external lumps. 2017-12-02 12:38:38 +01:00
Christoph Oelckers
8d26760671 - use FileWriter for 'writemidi' CCMD. 2017-12-02 12:33:58 +01:00
Christoph Oelckers
1af42b3d50 - use FileWriter for the OPL dumper. 2017-12-02 12:31:21 +01:00
Christoph Oelckers
ebf5c5763e - removed the unused bitmap loading and saving features from hqnx_asm/hqnx_asm_Image. 2017-12-02 12:15:26 +01:00
Christoph Oelckers
623f35073c - use FileReader consistently for loading cached nodes. 2017-12-02 12:08:28 +01:00
Christoph Oelckers
37dc3211f7 - use FileReader for reading the play list. 2017-12-02 12:02:36 +01:00
Christoph Oelckers
ab58e4acb0 - use FileWriter for the AST dump. 2017-12-02 12:01:55 +01:00
Christoph Oelckers
5e7dfa7cce - use FileWriter for the Timidity MIDI dumper 2017-12-02 12:01:19 +01:00
Christoph Oelckers
e8735e2782 - use FileWriter to save the statistics file. 2017-12-02 11:59:31 +01:00
Christoph Oelckers
20b8c1ef70 - moved buildtexture.cpp from using stdio-based file IO to FileReader. 2017-12-02 11:57:32 +01:00
Christoph Oelckers
e1edb46bbb - - let FWadLump use the newly added fdopen function. 2017-12-02 11:56:26 +01:00
Christoph Oelckers
9cc8bab102 - only have one fopen call in the entire FileReader hierarchy
This is for an eventual implementation of UTF-8 handling. On Windows this will require replacement of fopen with _wfopen so let's try to keep the number of fopen calls low.
2017-12-02 11:55:50 +01:00
Christoph Oelckers
cbd2fd34a0 - added seeking capabilities to FileWriter class. 2017-12-02 11:51:37 +01:00
alexey.lysiuk
0d05b41f22 Fixed incomplete ACS string pool state after loading of saved game
https://forum.zdoom.org/viewtopic.php?t=58571
2017-12-02 11:51:52 +02:00
Magnus Norddahl
a8b79a28c8 - Disable model rendering in the software renderer 2017-11-29 22:18:21 +01:00
Rachael Alexanderson
6c4f6f94f4 - fixed: prevent i_timescale from freezing the game if set to too low a value 2017-11-29 08:41:09 -05:00
Rachael Alexanderson
12a44f5bc9 - prevent nanosecond timer from ever casting into a double 2017-11-29 07:43:17 -05:00
Magnus Norddahl
8cad912db1 - Add r_model_distance_cull to control when models turn into sprites 2017-11-29 01:09:26 +01:00
Magnus Norddahl
b621dccb9c - Improve weapon hud model in the software renderer 2017-11-29 00:33:37 +01:00
Magnus Norddahl
f9fb4a0a17 - Cull back facing triangles for the span drawers 2017-11-29 00:12:15 +01:00
Magnus Norddahl
fae514923a - Move depth testing out of span drawers 2017-11-28 23:08:28 +01:00
Magnus Norddahl
01fd404133 - Fix palette drawer crash 2017-11-28 22:03:51 +01:00
Magnus Norddahl
e0defb060d - Add a slightly faster truecolor model drawer 2017-11-28 21:38:02 +01:00
Magnus Norddahl
d43ac8b9ae - Add model rendering to the software renderer 2017-11-27 23:47:26 +01:00
Christoph Oelckers
a069949482 - connected reverb menu with its backing data
- added an entry to the main options menu to open the reverb editor.
2017-11-26 20:11:14 +01:00
Christoph Oelckers
57058ef727 - removed all remains of the old EAX editor. 2017-11-26 15:23:07 +01:00
Christoph Oelckers
1ed1b42c21 Safety commit. 2017-11-26 14:13:56 +01:00
Christoph Oelckers
78184ad6b5 - more work on reverb menu. 2017-11-26 10:16:21 +01:00
alexey.lysiuk
0667f2ec55 Fixed string format issues reported by GCC/Clang
d_net.cpp:2874:25: warning: format specifies type 'int' but the argument has type 'unsigned long long' [-Wformat]
gl/utility/gl_clock.cpp:240:38: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:71: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:80: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
2017-11-26 09:59:28 +02:00
Christoph Oelckers
3ae5f8c09f - initial work on a reverb editor based on the menu system.
This is to get rid of some ugly Windows code and make this platform independent.
2017-11-25 22:03:18 +01:00
alexey.lysiuk
eeba7a7cdf Fixed tics to seconds conversion
Correct time values are now displayed in HUD
2017-11-25 16:32:53 +02:00
Christoph Oelckers
e43a9aa5b5 - don't let models.cpp include gl_system.h. 2017-11-25 13:56:17 +01:00
Christoph Oelckers
836970f012 - moved the matrix code out of 'gl' because the model code also needs it. 2017-11-25 13:51:09 +01:00
Magnus Norddahl
637a9dff9b - Rename voxels.cpp to models_voxel.cpp to avoid having two source files with the same name (confuses debuggers and some build tools) 2017-11-25 13:22:59 +01:00
Magnus Norddahl
7bb92812b8 - Move models into r_data 2017-11-25 13:19:00 +01:00
Magnus Norddahl
679f42db78 - Remove model GL dependencies except for the matrix classes 2017-11-25 13:00:44 +01:00
Magnus Norddahl
56477c8f89 - Fix 'Requested invalid render buffer sizes' when executing the reverbedit command from fullscreen 2017-11-25 12:20:00 +01:00
Magnus Norddahl
b25f191e85 - Move shared model code out of the GL renderer 2017-11-25 12:11:57 +01:00
Christoph Oelckers
430ed532ef Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-25 11:37:46 +01:00
Christoph Oelckers
87816f811f - removed windows.h include from a few files which do not need it anymore. 2017-11-25 10:58:33 +01:00
alexey.lysiuk
074a8e4895 Fixed issue with endless waiting for next tic
https://forum.zdoom.org/viewtopic.php?t=58426&p=1028622#p1028547
2017-11-25 11:48:38 +02:00
alexey.lysiuk
0f5ff5a5de Removed obsolete files after timer code refactoring 2017-11-25 11:48:22 +02:00
Magnus Norddahl
a120a4657e - Apply viewpoint roll 2017-11-24 22:03:46 +01:00
Rachael Alexanderson
6d43c5cdc6 Merge remote-tracking branch 'origin/friendly_window_title' 2017-11-24 14:41:25 -05:00
Rachael Alexanderson
5e29b1c89c Merge branch 'newtimercode4' 2017-11-24 14:39:58 -05:00
Rachael Alexanderson
c80c2ba635 - added 100% CPU fix provided by Leonard2: https://forum.zdoom.org/viewtopic.php?p=1028500#p1028500 2017-11-24 14:38:55 -05:00
Christoph Oelckers
ed871c3bf8 Merge remote-tracking branch 'remotes/origin/texman_models' 2017-11-24 19:14:08 +01:00
Rachael Alexanderson
297f00aa4b - fix model rotation some more
- a couple compiler warning fixes
2017-11-23 22:37:07 -05:00
Rachael Alexanderson
5181e3ebb2 - rewound time from 2917 to 2017. At least, at this point, we know ZDoom's future is secure. 2017-11-23 22:04:42 -05:00
Rachael Alexanderson
3842071b23 - implemented i_timescale to control the flow of time. 2017-11-23 21:54:04 -05:00
Rachael Alexanderson
1f00810f40 - re-doubled the model rotation code 2017-11-23 21:27:16 -05:00
Rachael Alexanderson
16e6fbf5bf - commit fix - todo: need to re-double/floatify the model timers again 2017-11-23 21:12:50 -05:00
Rachael Alexanderson
fd5b8cdbf7 Merge remote-tracking branch 'origin/master' into newtimercode4
# Conflicts:
#	src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
00d7dd0c64 - Implement model rendering in softpoly 2017-11-24 00:39:10 +01:00
Magnus Norddahl
f1e7df542f - Create model renderer abstraction to share more model drawing between renderers 2017-11-24 00:38:52 +01:00
Christoph Oelckers
734f5104dd Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-11-22 21:43:01 +01:00
Christoph Oelckers
978fdfb273 - tested and fixed UMAPINFO parser.
Although this looks like it's working with the test file I used it still needs some stress testing!
2017-11-22 21:42:48 +01:00
Magnus Norddahl
e7e9d1a942 - Fixed bug introduced by removing a little bit too much from the rect drawers 2017-11-22 19:02:25 +01:00
Magnus Norddahl
9052ee6bc8 - Added scaled fuzz to softpoly pal drawer 2017-11-22 18:54:49 +01:00
Magnus Norddahl
f04fca75f7 - Add scaled fuzz to softpoly sse2 drawer 2017-11-22 18:46:45 +01:00
Magnus Norddahl
4e4f94db2f - Implement newer scaled fuzz in softpoly's truecolor non-sse drawer 2017-11-22 06:32:55 +01:00
Magnus Norddahl
0ef8105e6b - Add missing r_draw.cpp in CMakeLists.txt 2017-11-21 18:57:44 +01:00
Rachael Alexanderson
495fc79fe9 - added dpJudas's drawer fix for the upscaled fuzz drawing 2017-11-21 05:26:46 -05:00
Rachael Alexanderson
505da5bf4f Merge branch 'master' of https://github.com/coelckers/gzdoom into newtimercode4 2017-11-21 05:23:00 -05:00