Major Cooke
116a935b71
Added source, inflictor and damage flags to AbsorbDamage.
2020-02-11 00:55:21 +01:00
Chronos Ouroboros
0716594437
Mixins now perform a deep copy of the AST. (Fixes default blocks in mixins)
2020-02-11 00:55:19 +01:00
drfrag
71440ac4e8
- Print game version in console at startup, this is for those posting only the startup log.
2020-02-06 20:08:34 +01:00
Braden Obrzut
8e2a21fbfb
- Change updaterevision to a CMake script
...
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 13:58:10 +01:00
alexey.lysiuk
95f4f38695
- moved showing of start window banner to proper location in Cocoa backend
2020-02-02 13:58:07 +01:00
Christoph Oelckers
16d9da97eb
- backported fix for loading VOC files.
...
In NAM there is one that needed a bit of extra treatment.
2020-02-01 20:34:42 +01:00
Chris Robinson
350d57e8db
Remove FSoundLoadBuffer since it wasn't doing anything
2020-02-01 20:34:40 +01:00
Chris Robinson
c37caf4498
Remove LoadSoundBuffered since its no longer called
2020-02-01 20:34:37 +01:00
Chris Robinson
435a3885ca
Get rid of the LoadSound3D method
...
It no longer does anything since there's no separate buffer for 3D sfx.
2020-02-01 20:34:35 +01:00
Chris Robinson
1065d18bc4
Update a couple comments about monoized sounds
2020-02-01 20:34:33 +01:00
Chris Robinson
6b8cebe979
Stop sources immediately when the sound is forced to stop
...
The reason for the previous delay was to allow OpenAL Soft to fade the sound to
silence and avoid a sudden amplitude change, which can cause a "click" or "pop"
noise. However, with OpenAL Soft 1.20, this is a built-in feature of the mixer
so the extra complexity is unnecessary.
2020-02-01 20:34:30 +01:00
Chris Robinson
e7c035ff81
Remove the 'monoize' option from sound loading
...
Unnecessary with the AL_SOFT_source_spatialize extension, which has been
available for over a year.
2020-02-01 20:34:28 +01:00
Chris Robinson
427b6a0d14
Remove the fallback for lack of AL_EXT_SOURCE_RADIUS
...
It's been available in OpenAL Soft for years and the fallback method wasn't very good.
2020-02-01 20:34:25 +01:00
alexey.lysiuk
c088d1ec01
- fixed usage of floor sound with Plat_DownWaitUpStayLip special
...
https://forum.zdoom.org/viewtopic.php?t=67126
# Conflicts:
# src/p_plats.cpp
# src/playsim/mapthinkers/a_plats.h
2020-01-31 13:37:05 +01:00
alexey.lysiuk
36cb6b7050
- fixed code generation for very special if+switch combination
...
CheckReturn() must be called before emitting code, otherwise it will always return false for switch statements
Redundant jump instruction added because of that will point right after the end of function's code when if statement is the last one in the given function
This wasn't a problem for VM because bytecode in question was unreachable
JIT compiler tries to generate native code for a bogus jump destination, and this leads to out-of-bounds read from labels array
https://forum.zdoom.org/viewtopic.php?t=67149
2020-01-30 23:09:43 +01:00
alexey.lysiuk
8b5131eeaa
- fixed I_FindAttr() to handle symlinks on POSIX platforms
2020-01-28 20:18:27 +01:00
alexey.lysiuk
3b89c2fd34
- put common POSIX system code to a separate file
...
# Conflicts:
# src/posix/sdl/i_system.cpp
# Conflicts:
# src/posix/cocoa/i_system.mm
# src/posix/sdl/i_system.cpp
2020-01-28 20:18:13 +01:00
alexey.lysiuk
7d0df9fe3f
- exposed Level.MusicVolume to ZScript
2020-01-21 12:17:54 +01:00
alexey.lysiuk
a09d8e40f1
- fixed calling a function on string CVar
...
https://forum.zdoom.org/viewtopic.php?t=66768
2020-01-19 20:26:37 +01:00
alexey.lysiuk
f42f20ccd3
- added ability to filter VM disassembly dump
...
Use '-dumpdisasm something' to output functions with 'something' in their printable names
Open and close output file only once when processing code generated by Dehacked, and calculate its sizes as well
2020-01-19 20:26:34 +01:00
Rachael Alexanderson
dd61101193
- add check for unity version of Nerve.wad
...
- infrastructure in place in case Nerve.wad changes again, this can be extended
2020-01-19 01:33:49 +01:00
alexey.lysiuk
63df9b13d0
- customized invulnerability colormap does not interfere with Powerup.ColorMap
...
https://forum.zdoom.org/viewtopic.php?t=66955
2020-01-19 01:33:47 +01:00
Alexander Kromm
dbc91da9c5
save and restore config-only variables from proper sections
2020-01-17 20:41:23 +01:00
Alexander Kromm
0ca1809f3e
make nosave standalone CVar flag, alongside server and user
2020-01-17 13:02:10 +01:00
Alexander Kromm
1f1da5ba31
make nosave cvars set their value bypassing network code
...
This may look as a workaround, it is not.
nosave cvars are meant to be used as a storage for statistical data that doesn't
affect gameplay. That's why this data isn't saved to the savefile in the first
place. Therefore, there is no point in sending this data over network. It would
have no meaning on machines other than local.
2020-01-17 13:02:08 +01:00
drfrag
1fed15efc2
- Fixed crash exiting from the iwad selector.
2020-01-13 13:53:19 +01:00
drfrag
004b48d62f
- Blind attempt at adding support for 4 XInput controllers.
2020-01-13 13:19:34 +01:00
alexey.lysiuk
8a0581481b
- fixed Linux and macOS implementations of I_FindAttr()
...
At the moment, we assume that dirent struct has d_type member, and DT_DIR is defined
This is true for supported versions of macOS, and Linux with glibc
https://forum.zdoom.org/viewtopic.php?t=66945
2020-01-12 22:26:09 +01:00
Christoph Oelckers
a9df2427ca
- compatibility workaround for using Scroll_Texture_Model with a line id of 0.
...
This would do very bad things if not being checked for.
# Conflicts:
# src/maploader/specials.cpp
2020-01-12 16:09:07 +01:00
Christoph Oelckers
ae36003901
- store CVARs non-destructively in savegames.
...
The old method using a single string with a backslash as separator is unable to handle anything with actual backslashes in the data.
It now uses a JSON object with each CVAR being a separate key.
# Conflicts:
# src/version.h
2020-01-12 16:09:05 +01:00
drfrag
c5aa482437
- Fixed compilation with XP toolsets.
2020-01-12 15:22:07 +01:00
alexey.lysiuk
ab4594e2f7
- fixed A_PlaySound() called from Dehacked
...
The recently added argument was missing from PlaySound code pointer handling
Verified other Dehacked functions, and changed one incorrect comment
2020-01-12 12:59:44 +01:00
Christoph Oelckers
2d4accf437
- missed a warning.
2020-01-12 12:59:42 +01:00
Christoph Oelckers
f7ead44168
- fixed: The directory scanner for reading a directory into the WAD file system and ScanDirectory were not Unicode capable on Windows.
...
Both now use the Unicode capable I_Find* interface instead of duplicating all its functionality in multiple platform dependent incarnations.
# Conflicts:
# src/cmdlib.cpp
# src/gamedata/textures/image.cpp
# src/resourcefiles/file_directory.cpp
# Conflicts:
# src/resourcefiles/file_directory.cpp
2020-01-12 12:59:40 +01:00
Kevin Caccamo
db66f78c16
Attempt to optimize check for ML_DRAWFULLHEIGHT
...
It is less likely that a line will have the ML_DRAWFULLHEIGHT flag than its' ceiling will be above the neighbouring sector's ceiling and vice versa.
2020-01-12 11:39:21 +01:00
Kevin Caccamo
c75ec6f59f
Use != 0 after ANDing with the relevant flags
...
This is mostly a "just in case" measure, in case I did something wrong with the previous commits.
# Conflicts:
# src/hwrenderer/scene/hw_sky.cpp
2020-01-12 11:39:18 +01:00
Kevin Caccamo
4335233a49
Fix ML_DRAWFULLHEIGHT flag check
2020-01-12 11:39:16 +01:00
Kevin Caccamo
477381f210
Add handling for drawfullheight flag
...
Parse drawfullheight flag in UDMF
Draw full height for walls if the linedef has this flag
2020-01-12 11:39:03 +01:00
Kevin Caccamo
d69becfa57
Change ML_NOSKYWALLS and add ML_DRAWFULLHEIGHT
...
ML_DRAWFULLHEIGHT will be used to draw walls from the front/back sector's floor to the other sector's ceiling.
2020-01-12 11:38:51 +01:00
Kevin Caccamo
43264d9366
Add more ways to prevent GZDoom from drawing skybox walls
...
Add noskywalls flag to sectors and linedefs
# Conflicts:
# src/hwrenderer/scene/hw_sky.cpp
# src/p_udmf.cpp
2020-01-12 11:37:39 +01:00
alexey.lysiuk
068f0420a8
- restored old values for CHAN_... constants
...
https://forum.zdoom.org/viewtopic.php?t=66929
2020-01-12 00:49:20 +01:00
drfrag
8764f15555
- Set default GL texture filtering mode to none.
2020-01-11 22:54:50 +01:00
drfrag
1ca4e0c98a
- Removed ZScript warning.
2020-01-07 20:27:16 +01:00
Alexander Kromm
c96cdc6c35
fix nosave cvar keyword (saved to config, not saved to savegame)
2020-01-07 19:56:00 +01:00
alexey.lysiuk
fd5889e200
- fixed resolving of music aliases with full filenames
...
https://forum.zdoom.org/viewtopic.php?t=66815
2020-01-07 19:55:59 +01:00
Chronos Ouroboros
fea9814d19
Disabled default blocks in mixins for now.
2020-01-07 19:55:58 +01:00
Alexander Kromm
721faee4d8
add "nosave" cvar token
...
It makes a cvar value not be saved in a save file.
2020-01-07 19:55:58 +01:00
Christoph Oelckers
f9976fbf25
- reverted the clamping when assigning to FScanner::Number.
...
This broke unsigned integer parsing without explicitly declaring the constant unsigned.
2020-01-07 19:55:57 +01:00
Christoph Oelckers
176144e0a1
- cleanup.
...
(The Raven license got removed from sc_man after checking that no Raven code is still present here, this file got a nearly complete overhaul over all those years.)
# Conflicts:
# src/textures/texturemanager.cpp
2020-01-07 19:55:56 +01:00
Petr Mrázek
848438839b
- Run the Alsa MIDI thread every 40ms or so, use non-blocking sequencer
2020-01-07 19:55:55 +01:00
Chronos Ouroboros
24a11f7a9a
Fixed some incorrect parentheses in S_PlaySoundPitch.
2020-01-07 19:55:54 +01:00
Chronos Ouroboros
3c71f23afd
Removed a redundant switch and added a default case to the mixin parsing code to shut GCC up.
2020-01-07 19:55:53 +01:00
drfrag
87bb63a61a
- Bumped ZScript version.
...
# Conflicts:
# src/version.h
2020-01-07 19:55:51 +01:00
Christoph Oelckers
ce1f4427cc
- cleaned up the parameters of A_StartSound.
...
There were two booleans that could be merged into the flag word.
This also fixes a bug with CHAN_NOSTOP not working for local sounds because it checked the wrong sound source for the playing sound.
2020-01-07 19:36:52 +01:00
Christoph Oelckers
ff3606e44e
- refactored the MIDI list code.
...
Let's hope nothing got broken on the Linux side, the recent submission's code was not usable.
# Conflicts:
# libraries/zmusic/zmusic/configuration.cpp
# src/sound/music/i_music.cpp
# src/sound/music/music_midi_base.cpp
2020-01-07 18:36:55 +01:00
Christoph Oelckers
dee8af1902
- made the sound decoding interface DLL friendly and added compile switches to the MIDI players so that different licenses can be uses as compile target.
...
# Conflicts:
# src/sound/backend/i_sound.h
# Conflicts:
# libraries/zmusic/mididevices/music_timiditypp_mididevice.cpp
2020-01-07 18:22:15 +01:00
Christoph Oelckers
e89cc73f80
- rewrote the ZMusic interface so that it is free of C++ constructs.
...
Now it is ready to put in a DLL.
# Conflicts:
# libraries/zmusic/zmusic/mididefs.h
# libraries/zmusic/zmusic/zmusic.h
2020-01-07 18:07:26 +01:00
Christoph Oelckers
f2a3a70aec
- replaced the C++ based file access wrapper in ZMusic with a C compatible version.
2020-01-07 18:07:23 +01:00
Christoph Oelckers
7e01b19753
- there's no need to let the XM Vorbis decoder run through the client - all related functionality is part of ZMusic itself.
2020-01-07 18:07:21 +01:00
Christoph Oelckers
e5faff8cbb
- made adjustments to the remaining parts of the function interface.
2020-01-07 18:07:19 +01:00
Christoph Oelckers
4e8359100f
- made the ZMusic interface more DLL friendly: Reworked all functions not to throw exceptions across the library boundary and made a few definitions internal.
...
Not complete yet.
# Conflicts:
# libraries/zmusic/zmusic/zmusic.h
2020-01-07 18:07:17 +01:00
drfrag
38c1b2e207
Update and clarify the licenses for the postprocess part.
...
(dpJudas)
Cherry-picked from commit fca3da8af4
2020-01-07 18:04:33 +01:00
Petr Mrázek
b07254507a
- Support for MIDI on Linux via alsa sequencer
2020-01-07 18:04:28 +01:00
Rachael Alexanderson
aa6cb4815f
- oops, missed this one
2020-01-06 21:58:51 +01:00
Rachael Alexanderson
b75665983c
- relicense some of my past work under BSD
...
# Conflicts:
# src/rendering/r_videoscale.cpp
2020-01-06 21:58:48 +01:00
Alexander Kromm
032c6a534b
export dictionary iterator
2020-01-06 21:57:02 +01:00
Alexander Kromm
9ca3f98419
dictionary from empty string is not an error, but empty dictionary
2020-01-06 21:56:59 +01:00
Rachael Alexanderson
12f356f24e
- bump version requirement to 219 for defcvars
2020-01-06 21:56:57 +01:00
Rachael Alexanderson
6f24cc29c9
- forbid defcvars from a wadfile
2020-01-06 21:53:05 +01:00
Rachael Alexanderson
93dfdc1c33
- tell the user the game version number when version is not specified as a hint
2020-01-06 21:52:22 +01:00
Rachael Alexanderson
1154207ec0
- implement 'defcvars'
...
# Conflicts:
# src/d_main.cpp
# Conflicts:
# src/d_main.cpp
2020-01-06 21:50:49 +01:00
Cacodemon345
5ed070964c
Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
...
# Conflicts:
# src/hwrenderer/scene/hw_weapon.cpp
# src/r_data/models/models.cpp
# Conflicts:
# src/gl/scene/gl_weapon.cpp
2020-01-06 21:50:14 +01:00
Alexander Kromm
4f5218cc8f
add Dictionary.Remove(String key) function
2020-01-06 19:49:25 +01:00
Alexander Kromm
81744d5b7a
fix crash with saving null Dictionary
2020-01-06 19:49:23 +01:00
Marisa Kirisame
ebc6fcccd7
Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch.
2020-01-06 19:49:21 +01:00
Christoph Oelckers
7919c86f3e
- elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP.
2020-01-06 19:49:18 +01:00
Christoph Oelckers
0d3a62f73a
- fixed: A_StartSound was still masking the sound channel value for checking if it plays something.
2020-01-06 19:49:15 +01:00
Major Cooke
96153e7e7e
- Fixed: Invulnerability checking for rails was done before the various THRU actor flags instead of after, meaning actors could block shots regardless of those flags. This was never intended.
2020-01-06 19:20:44 +01:00
Major Cooke
234e690f77
Added STOPRAILS actor flag.
...
- An actor with this flag will prevent railgun shots from penetrating further.
2020-01-06 19:20:41 +01:00
Alexander Kromm
a7e6552f0f
export TMap<FString, FString> to ZScript
...
# Conflicts:
# src/CMakeLists.txt
# src/serializer.h
2020-01-06 19:18:22 +01:00
Christoph Oelckers
35379e1e5d
- let a sight check that gets lost return failure.
...
This way these cannnot unwantedly wake up monsters.
2020-01-06 19:14:53 +01:00
Cacodemon345
d6a23065d1
Implement renderstyle and transparent actor sprite rendering in automap ( #997 )
...
* Implement renderstyle and transparent actor sprite rendering in automap
* Add "am_advspriterender" CVAR and add invisible actor checks.
* Rename cvar to `am_thingrenderstyles`
# Conflicts:
# src/am_map.cpp
2020-01-06 19:14:51 +01:00
Rachael Alexanderson
528550c4ef
- changing vid_scalefactor now always shows current scaling data unless it gets set to "1"
...
- vid_scaletoheight/width now works in all scaling modes, and can now also scale on custom resolutions directly
# Conflicts:
# src/r_videoscale.cpp
2020-01-06 19:05:13 +01:00
Rachael Alexanderson
278c7db215
- fix vid_showcurrentscaling so that it works even when vid_scalemode is 2 or greater.
...
# Conflicts:
# src/r_videoscale.cpp
2020-01-06 18:53:47 +01:00
alexey.lysiuk
0ee488633b
- fixed compilation warning reported by MSVC
...
src\r_videoscale.cpp(105): warning C4244: 'initializing': conversion from 'float' to 'int', possible loss of data
# Conflicts:
# src/r_videoscale.cpp
2020-01-06 18:51:17 +01:00
Rachael Alexanderson
792871a380
- add 'vid_showcurrentscaling' ccmd, expanded output for 'vid_scaletowidth' and 'vid_scaletoheight' commands
...
- made the vid_scaleto____ commands less hacky - after finding out I could route the calls through screen->, found the correct screen-> commands, and do scaling based on the real screen dimensions
2020-01-06 18:48:49 +01:00
alexey.lysiuk
e4110ded3c
- precache switch textures from ANIMATED lump
...
For example, SW1SKULL and SW2SKULL switches are animated in TNT: Evilution
Their frames are defined in ANIMATED lump which is old BOOM binary format
Textures other than base were not cached because the corresponding switch definitions (in ANIMDEFS lump) have one frame only and BOOM style animations were not taken into account
https://forum.zdoom.org/viewtopic.php?t=66652
# Conflicts:
# src/p_setup.cpp
2020-01-06 18:23:31 +01:00
drfrag
38c5e84b82
- Adjust minimum scaling for 320x200.
2020-01-06 18:23:28 +01:00
Rachael Alexanderson
5906701a7d
- implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering
...
# Conflicts:
# src/r_videoscale.cpp
# Conflicts:
# src/r_videoscale.cpp
2020-01-06 18:23:11 +01:00
alexey.lysiuk
b246eb20fa
- upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
...
https://forum.zdoom.org/viewtopic.php?t=66652
# Conflicts:
# src/textures/hires/hqresize.cpp
2020-01-06 18:05:54 +01:00
alexey.lysiuk
7dd5d3ce61
- added minimal time profiling of texture precaching
...
# Conflicts:
# src/hwrenderer/textures/hw_precache.cpp
# Conflicts:
# src/hwrenderer/textures/hw_precache.cpp
2020-01-06 18:04:54 +01:00
alexey.lysiuk
d2101bf700
- improved normalNx scaling performance by ~10%
...
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general
# Conflicts:
# src/textures/hires/hqresize.cpp
2020-01-06 17:53:09 +01:00
alexey.lysiuk
69d39bcd44
- move setting status bar defaults to proper location
...
BaseStatusBar.Init() method isn't suitable for this because it will override SBarInfoWrapper setup done in native code
https://forum.zdoom.org/viewtopic.php?t=66676
https://forum.zdoom.org/viewtopic.php?t=66339
# Conflicts:
# wadsrc/static/zscript/ui/statusbar/statusbar.zs
2020-01-06 17:48:35 +01:00
Christoph Oelckers
1cacd3e3de
- sound engine update.
...
Notable changes:
* IsSourcePlayingSomething had undefined behavior when checking unattached and unpositioned sounds.
* loading Blood RAW sounds with different sample rates but the same backing lump may not use the same hardware sound buffer.
* when playing an unpositioned sound the attenuation is irrelevant and must be ignored. This resulted in a 3D sound being started which was mostly inaudible due to lack of valid origin.
2020-01-06 15:08:32 +01:00
Marisa Kirisame
9e212c3582
Change IsSourcePlayingSomething to handle overlapping sounds.
2020-01-06 15:08:30 +01:00
Christoph Oelckers
bc1d728140
- made FSoundChan::EntChannel a full int and reordered the structure for better packing.
2020-01-06 15:08:28 +01:00
Christoph Oelckers
25288d5cea
- renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
2020-01-06 15:08:26 +01:00
Christoph Oelckers
35e38bc8eb
- fixed inverted listener check when using compatibility options.
2020-01-06 15:08:24 +01:00
Christoph Oelckers
38aa6c4281
- the old bit masking for the channel needs to go, of course.
2020-01-06 15:08:22 +01:00
Christoph Oelckers
9c825ea090
- fixed VOC loader. Its 16 bit code did not work because it set the variable to -16 instead of 16.
...
- removed a few MAX calls with std::max.
2020-01-06 15:08:20 +01:00