Alexander Kromm
f85e3fb9a0
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-14 15:50:20 +01:00
alexey.lysiuk
efd2f8a1a8
- implemented screenshots in softpoly backend
2020-01-14 12:14:03 +02:00
Christoph Oelckers
dc3b36ebda
- we are past 4.3 now.
2020-01-12 23:22:41 +01:00
alexey.lysiuk
7092a0a8f0
- 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 23:03:59 +02:00
Christoph Oelckers
583734861e
- compatibility workaround for using Scroll_Texture_Model with a line id of 0.
...
This would do very bad things if not being checked for.
2020-01-12 13:21:15 +01:00
Christoph Oelckers
e3eae62af2
- 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.
2020-01-12 12:59:08 +01:00
alexey.lysiuk
f32aff3396
- 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 11:48:45 +02:00
Christoph Oelckers
d636acb002
- GAMESIG was never supposed to be used in printed output. Replaced all occurences with GAMENAME.
2020-01-12 09:43:47 +01:00
Christoph Oelckers
1d0ece26b6
- missed a warning.
2020-01-12 08:26:07 +01:00
Christoph Oelckers
9e13d3c60d
- 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.
2020-01-12 08:18:47 +01:00
Kevin Caccamo
91589d9799
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-11 13:24:02 +01:00
Kevin Caccamo
d73a5f5e16
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.
2020-01-11 13:24:02 +01:00
Kevin Caccamo
2ff92e91d2
Fix ML_DRAWFULLHEIGHT flag check
2020-01-11 13:24:02 +01:00
Kevin Caccamo
7ca6e7e5c1
Add handling for drawfullheight flag
...
Parse drawfullheight flag in UDMF
Draw full height for walls if the linedef has this flag
2020-01-11 13:24:02 +01:00
Kevin Caccamo
b443d0755e
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-11 13:24:02 +01:00
Kevin Caccamo
9b598017f9
Add more ways to prevent GZDoom from drawing skybox walls
...
Add noskywalls flag to sectors and linedefs
2020-01-11 13:24:02 +01:00
alexey.lysiuk
f9fa07dca5
- restored old values for CHAN_... constants
...
https://forum.zdoom.org/viewtopic.php?t=66929
2020-01-11 13:27:10 +02:00
alexey.lysiuk
3185e359b9
- added workaround for GLSL noise functions on macOS
...
There is no chance that Apple will fix their OpenGL drivers
The only viable solution is to preprocess these functions out, and put zeroes instead of them
2020-01-10 13:52:17 +02:00
alexey.lysiuk
1bc67cf7b9
- added ability to use static SDL2 library
...
This is intended for developers only, e.g. for testing SDL backend on macOS
2020-01-09 15:37:01 +02:00
alexey.lysiuk
442f953d67
- fixed invalid context warnings with Cocoa backend
...
A bunch of 'CGContext<...>: invalid context 0x0' messages were printed to console during OpenGL view creation and resizing
2020-01-07 14:37:25 +02:00
alexey.lysiuk
7e050010aa
- removed obsolete softpoly render modes
...
https://forum.zdoom.org/viewtopic.php?t=66888
2020-01-06 14:31:34 +02:00
alexey.lysiuk
fca492df2b
- fixed compilation of debug target with older macOS SDKs
...
src/posix/cocoa/i_video.mm:633:31: error: property 'layer' not found on object of type 'id'
2020-01-06 14:26:16 +02:00
Alexander Kromm
eeddd72458
fix nosave cvar keyword (saved to config, not saved to savegame)
2020-01-06 12:07:07 +01:00
alexey.lysiuk
cad14d1c93
- fixed resolving of music aliases with full filenames
...
https://forum.zdoom.org/viewtopic.php?t=66815
2020-01-06 11:15:17 +02:00
alexey.lysiuk
83f46c4b2f
- fixed erroneous override of default language strings
...
If the default identifier is present in LANGUAGE lump, following entries were treated as default as well
https://forum.zdoom.org/viewtopic.php?t=66873
2020-01-06 10:22:42 +02:00
Chronos Ouroboros
a83fff0eb4
Disabled default blocks in mixins for now.
2020-01-05 19:07:03 -03:00
Rachael Alexanderson
98ee0a7035
- move colorization parser from 'textures' to 'gldefs'
2020-01-05 16:30:01 -05:00
Alexander Kromm
b209fd9572
add "nosave" cvar token
...
It makes a cvar value not be saved in a save file.
2020-01-05 17:36:44 +01:00
Christoph Oelckers
26784d7453
- reverted the clamping when assigning to FScanner::Number.
...
This broke unsigned integer parsing without explicitly declaring the constant unsigned.
2020-01-05 00:17:58 +01:00
Rachael Alexanderson
cb7a097ed4
- vid_scalemode 1 now only goes down to 640x400 at minimum, instead of 320x200
2020-01-04 15:05:35 -05:00
Petr Mrázek
3c20d5fe88
- Run the Alsa MIDI thread every 40ms or so, use non-blocking sequencer
2020-01-04 20:19:36 +01:00
Chronos Ouroboros
a588c24c4f
Fixed some incorrect parentheses in S_PlaySoundPitch.
2020-01-04 15:34:43 -03:00
Chronos Ouroboros
6ccbccc3de
Removed a redundant switch and added a default case to the mixin parsing code to shut GCC up.
2020-01-04 15:11:31 -03:00
Christoph Oelckers
b7e1a35e6f
- 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-04 14:25:55 +01:00
alexey.lysiuk
651dfbc49f
- fixed a few compilation warnings
...
src/d_main.cpp:280:18: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
src/rendering/r_videoscale.cpp:147:22: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/sound/s_reverbedit.cpp:250:18: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
2020-01-04 12:59:26 +02:00
Christoph Oelckers
8b3c03d416
- fixed Doom64 style lighting.
...
The check for the presence of Doom64 style lighting was done too early before the line lists in the sector were created.
2020-01-04 10:45:22 +01:00
Christoph Oelckers
4253fb6b4a
Merge branch 'zmusic_dll'
...
# Conflicts:
# libraries/zmusic/zmusic/configuration.cpp
2020-01-04 09:48:04 +01:00
Magnus Norddahl
fca3da8af4
Update and clarify the licenses for the postprocess, vulkan and softpoly parts
2020-01-03 05:52:01 +01:00
Christoph Oelckers
8898448014
- refactored the MIDI list code.
...
Let's hope nothing got broken on the Linux side, the recent submission's code was not usable.
2020-01-02 14:21:26 +01:00
Rachael Alexanderson
f398819ce3
- due to issues with chat, scoreboard, and the stat screen, disable 320x200 in multiplayer for now
2020-01-02 06:47:17 -05:00
Christoph Oelckers
f442d2dc54
- 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.
2020-01-02 12:43:37 +01:00
alexey.lysiuk
d4ac797602
- made load game failure a bit more resilient
...
https://www.doomworld.com/forum/topic/111069-savestate-problems-with-gzdoom/
2020-01-02 13:40:14 +02:00
Christoph Oelckers
71cd4ef488
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# libraries/zmusic/zmusic/mididefs.h
# libraries/zmusic/zmusic/zmusic.h
2020-01-02 08:45:48 +01:00
Petr Mrázek
ea1b8de405
- Support for MIDI on Linux via alsa sequencer
2020-01-02 08:29:39 +01:00
Rachael Alexanderson
118e3db5ca
- r_videoscale: make the compiler manage vScaleTable's size
2020-01-01 23:23:20 -05:00
Christoph Oelckers
d2ca1ea4e0
- rewrote the ZMusic interface so that it is free of C++ constructs.
...
Now it is ready to put in a DLL.
2020-01-02 01:26:01 +01:00
Christoph Oelckers
0d000344ca
- replaced the C++ based file access wrapper in ZMusic with a C compatible version.
2020-01-01 22:54:27 +01:00
Christoph Oelckers
527fb40a5f
- there's no need to let the XM Vorbis decoder run through the client - all related functionality is part of ZMusic itself.
2020-01-01 20:58:15 +01:00
Christoph Oelckers
47d70c839d
- made adjustments to the remaining parts of the function interface.
2020-01-01 20:47:33 +01:00
Christoph Oelckers
7923d25cce
- 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.
2020-01-01 20:01:38 +01:00
Rachael Alexanderson
ea98676085
- oops, missed this one
2020-01-01 08:12:31 -05:00
Rachael Alexanderson
dff45eb1f3
- relicense some of my past work under BSD
2020-01-01 07:38:06 -05:00
Alexander Kromm
60026ba4f2
export dictionary iterator
2020-01-01 08:39:25 +01:00
Rachael Alexanderson
5ae0ae885d
- amend last commit: do it the other direction, too
2020-01-01 01:28:42 -05:00
Rachael Alexanderson
e87ed35565
- add framerate limiter to polybackend update function
2020-01-01 00:39:33 -05:00
Rachael Alexanderson
aa4abfc977
- added pixel ratio detection to supersampling detection for forcing linear scaling - this should likely make it so if there's ever an instance where a viewport pixel is smaller than a screen pixel, the screen should go to linear scaling now
2020-01-01 00:25:48 -05:00
Rachael Alexanderson
0d60a0f4ea
- bump version requirement to 219 for defcvars
2019-12-31 23:49:44 -05:00
Rachael Alexanderson
856bc8ee8c
- silence double to float warning in gameconfigfile.cpp
2019-12-31 15:25:26 -05:00
Rachael Alexanderson
5389d8ad1a
- set sane limits for vid_scale_custompixelaspect
2019-12-31 15:21:47 -05:00
Alexander Kromm
2f9177127c
dictionary from empty string is not an error, but empty dictionary
2019-12-31 17:04:37 +01:00
Rachael Alexanderson
4bc923dddf
- slight rearrange of vid_scalemode and menu update
2019-12-31 10:41:30 -05:00
Rachael Alexanderson
903f448461
- made linear scaling more user controlled
2019-12-31 10:26:23 -05:00
Rachael Alexanderson
99ef731fd3
- do config migration for vid_scale_custompixelaspect
2019-12-31 09:50:38 -05:00
Rachael Alexanderson
5d2d187b84
- allow custom pixel ratio scaling
2019-12-31 09:41:42 -05:00
Rachael Alexanderson
eaee3d6ac5
- fixed softpoly backend unconditionally applying linear scaling
2019-12-31 08:59:38 -05:00
Rachael Alexanderson
8be7ef0ec5
- forbid defcvars from a wadfile
2019-12-31 11:00:16 +01:00
Rachael Alexanderson
7dfd49b42e
- tell the user the game version number when version is not specified as a hint
2019-12-31 04:23:53 -05:00
Magnus Norddahl
839b737429
Fix wrong blend tables used when dynamic lights hits translucent lines
2019-12-31 03:00:36 +01:00
Rachael Alexanderson
2b05bfed68
- implement 'defcvars'
...
# Conflicts:
# src/d_main.cpp
2019-12-30 19:07:01 +01:00
Alexander Kromm
bd1892120d
add Dictionary.Remove(String key) function
2019-12-30 14:57:37 +01:00
Alexander Kromm
2dc9837078
fix crash with saving null Dictionary
2019-12-30 14:57:37 +01:00
Cacodemon345
7fd27bc925
Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
2019-12-30 13:05:38 +01:00
Marisa Kirisame
55e482d0fc
Additional CHAN_OVERLAP awareness for StartSound and ChangeSoundVolume/Pitch.
2019-12-30 13:01:59 +01:00
Christoph Oelckers
d08bb93b84
- elimintated all cases from the ZScript code where channel indices and flags were combined into one parameter and removed all remnants of CHAN_PICKUP.
2019-12-30 09:47:25 +01:00
Christoph Oelckers
d79c6c1c0a
- fixed: A_StartSound was still masking the sound channel value for checking if it plays something.
2019-12-30 09:09:56 +01:00
Major Cooke
5425aa979d
- 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.
2019-12-30 08:37:08 +01:00
Major Cooke
0b0984b88e
Added STOPRAILS actor flag.
...
- An actor with this flag will prevent railgun shots from penetrating further.
2019-12-30 08:37:08 +01:00
Alexander Kromm
703686beee
export TMap<FString, FString> to ZScript
2019-12-29 13:37:38 +01:00
Christoph Oelckers
77469e0512
- fixed the colorization parser.
2019-12-29 12:11:16 +01:00
Christoph Oelckers
3530bc5945
- 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.)
2019-12-29 11:30:37 +01:00
Christoph Oelckers
9b9fd35107
- hooked up the colorization feature.
...
It can now be used from UDMF and ZScript.
To avoid clutter it doesn't allow setting the values individually but requires definition of a data record in TEXTURES.
colorization
{
DesaturationFactor <float>
Invert
AddColor <color>
ModulateColor <color>
BlendColor <color>, <mode> [, <alpha>]
}
Mode for BlendColor can be Alpha (normal translucent blending), as well as 3 special values taken from Build engine games: Screen, Overlay and HardLight.
2019-12-29 11:30:37 +01:00
Christoph Oelckers
f9d2dc51d0
- cleanup of new colorization code.
...
- profiling shows that running the code for applying the colorization and the gradients is extremely expensive, apparently this always causes a cache miss, so now the entire thing is enabled by a sidedef flag.
2019-12-29 11:30:36 +01:00
Christoph Oelckers
695ab81bca
- let a sight check that gets lost return failure.
...
This way these cannnot unwantedly wake up monsters.
2019-12-28 16:33:20 +01:00
Rachael Alexanderson
15ebc84017
- fix a /0 crash in intermission text
2019-12-26 07:13:59 -05:00
alexey.lysiuk
388d800b40
- fixed compilation with GCC and Clang
...
src/d_main.cpp:3101:37: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2019-12-25 17:44:57 +02:00
Rachael Alexanderson
2e467bd239
- update window title with current level name
2019-12-25 09:52:57 -05:00
Rachael Alexanderson
9858ed70b0
- fixed sprite drawing with hqresized textures
2019-12-24 06:44:52 -05:00
alexey.lysiuk
4fc1b3231a
- removed <CR> symbols to fix zdoom.rc being modified after checkout
2019-12-24 10:46:13 +02:00
Rachael Alexanderson
9ad628f6e5
- fixed: strife conversations do not need to unnecessarily trigger the switch to 640x400
2019-12-24 00:55:24 -05:00
Rachael Alexanderson
4ff8922006
- reinstate 320x200 with the following caveat: it only functions outside of menus and console, and only when the dialogues and logs use the default font, the game will temporarily switch to 640x400 in these situations
2019-12-23 23:14:08 -05:00
Rachael Alexanderson
510a121b62
- change IWAD startup dialog to allow selecting between OpenGL, Vulkan, and SoftPoly backends. (windows only)
2019-12-23 20:05:17 -05:00
Cacodemon345
0090925fac
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`
2019-12-23 10:29:14 -05:00
alexey.lysiuk
e9a7dcd17b
- 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
2019-12-23 13:11:06 +01:00
Rachael Alexanderson
f284567830
- change vid_scalemode 6 to work similarly to 0 and 1 when vid_cropaspect is turned on
...
- add vid_scaletolowest
2019-12-22 09:01:43 -05:00
Christoph Oelckers
738b9ceb08
- fixed incompletely changed shader.
...
It was still using a variable from the first revision that no longer exists.
2019-12-21 21:07:00 +01:00
Magnus Norddahl
1004ac1636
Automatically size the StreamUBO to 64 KB regardless of what is in it
2019-12-21 16:13:39 +01:00
alexey.lysiuk
81ea919d61
- fixed shader compilation errors with OpenGL backend
...
ERROR: 0:95: Use of undeclared identifier 'uTextureModulateColor'
ERROR: 0:104: Use of undeclared identifier 'uTextureAddColor'
ERROR: 0:107: Use of undeclared identifier 'uTextureModulateColor'
...
2019-12-21 15:42:04 +02:00
Christoph Oelckers
bb8db9422f
- scaled down the texture colorization feature for easier usability.
...
It makes little sense exposing every minute detail of this through UDMF.
Setting it up that way is far too complicated. Using virtual textures that map to a real texture plus a colorization record should be far easier to use by mappers.
This also doesn't piggyback on the Doom64 color feature anymore and is completely separate, despite some redundancies.
This is still missing the texture definition part, though.
2019-12-20 22:25:10 +01:00
Christoph Oelckers
fd15af0b50
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-20 18:56:38 +01:00
Christoph Oelckers
03537e90ff
- linked new properties with the renderer.
...
Support for the softpoly renderer still missing.
2019-12-20 18:56:03 +01:00
Christoph Oelckers
3a249cb06f
- added high level interface to the new properties, i.e. UDMF and ZScript.
2019-12-20 18:02:42 +01:00
alexey.lysiuk
ffe1a651a9
- upsample texture if width * height is less or equal to gl_texture_hqresize_maxinputsize squared
...
https://forum.zdoom.org/viewtopic.php?t=66652
2019-12-20 18:11:22 +02:00
Christoph Oelckers
3209d4ed23
- added a few more texture coloring options to the shader.
...
Aside from adding an additive component it can now also do:
- desaturation (not limited to the range of 0..1 so it can also be used for oversaturation by applying a negative number or negative saturation by going above 1.0.
- invert the texture
- apply a blend, including 3 special mode taken from EDuke32.
Currently only the implementation is done, it is not exposed to UDMF yet.
2019-12-20 16:05:00 +01:00
Christoph Oelckers
41a9496bef
- the texture precaching message is supposed to be debug only
2019-12-20 14:38:22 +01:00
alexey.lysiuk
a0670f5c5b
- added minimal time profiling of texture precaching
2019-12-20 11:06:00 +02:00
alexey.lysiuk
daedf9d158
- improved normalNx scaling performance by ~10%
...
Actual boost heavily depends on platform's memory architecture, made it a bit more cache friendly in general
2019-12-20 11:04:50 +02:00
Rachael Alexanderson
33483115cd
- amend last commit: use VID_MIN_HEIGHT and VID_MIN_WIDTH macros in place of hardcoded values
2019-12-20 03:31:44 -05:00
Rachael Alexanderson
a53652f36e
- implement vid_scalemode = 6 - sets absolute minimum scaling to fill entire screen - useful for speeding up software rendering
2019-12-20 03:05:44 -05:00
Christoph Oelckers
318da33e39
- 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.
2019-12-19 11:57:58 +01:00
alexey.lysiuk
59f09d4893
- 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
2019-12-18 15:40:39 +02:00
Marisa Kirisame
9430e1556f
Change IsSourcePlayingSomething to handle overlapping sounds.
2019-12-17 15:53:56 +01:00
Christoph Oelckers
0ba6816622
- made FSoundChan::EntChannel a full int and reordered the structure for better packing.
2019-12-17 11:43:13 +01:00
Christoph Oelckers
136ab4f48a
- renamed IsActorPlayingSomething to IsActorPlayingSound and made it clearscope.
2019-12-17 09:58:50 +01:00
Christoph Oelckers
0a8effaf9e
- fixed inverted listener check when using compatibility options.
2019-12-17 08:49:50 +01:00
Christoph Oelckers
3808e85c3e
- the old bit masking for the channel needs to go, of course.
2019-12-17 00:28:32 +01:00
Christoph Oelckers
639e9d3cd4
- 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.
2019-12-17 00:05:35 +01:00
Christoph Oelckers
e82565373f
- separated the channel number from the flags in the sound interface so that the 8 channel limit can be eliminated.
...
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
2019-12-16 23:52:39 +01:00
Christoph Oelckers
b09e9f10ed
- sound engine update.
2019-12-16 21:45:34 +01:00
Magnus Norddahl
c5717d98db
Implement the other light modes and fix dynamic lights being calculated twice(!)
2019-12-15 20:05:13 +01:00
Magnus Norddahl
b44c40a63d
Implement EFF_FOGBOUNDARY
2019-12-15 17:33:49 +01:00
Magnus Norddahl
0fd964ec4f
Fix compile error
2019-12-15 17:32:12 +01:00
Magnus Norddahl
a4ca7cfb8d
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-15 17:14:34 +01:00
Magnus Norddahl
5632c80ab2
Split softpoly into more files
2019-12-15 17:14:23 +01:00
Christoph Oelckers
71d7013255
- better validation checks for CSV-based string files.
2019-12-15 16:42:24 +01:00
David Carlier
e0fb9a45e2
Marking final class to suppress build warning with clang.
2019-12-12 23:26:32 +01:00
alexey.lysiuk
c3ede69d16
- fixed linked sound resolving
...
Hash indices and sound ids were used interchangeably but they are different entities
https://forum.zdoom.org/viewtopic.php?t=66618
2019-12-12 17:37:10 +01:00
alexey.lysiuk
1a19dbb52f
- added 'damageonland' property to terrain definition
...
This property helps to replicate vanilla Hexen behavior of damaging player right after touching lava floor
https://forum.zdoom.org/viewtopic.php?t=66512
2019-12-12 15:14:30 +01:00
Christoph Oelckers
bf8305062a
- do not allow summon CCMD to spawn abstract classes
2019-12-12 02:13:19 +01:00
Christoph Oelckers
165d9951aa
- made the sound resolving a virtual method
...
This way the player sounds can be done in the proper place without infesting the core.
2019-12-12 01:31:41 +01:00
Fabian Greffrath
cc7807bb10
do not expect user input if stdin is redirected
...
If GZDoom is built on a POSIX system without the GTK frontend and not
run from a KDE session, an IWAD picker is presented on the terminal
and expects the user to select a game wad. However, if stdin is
redirected, this won't work, so start with the default IWAD instead.
2019-12-11 08:16:08 +02:00
alexey.lysiuk
194dd3e4cf
- fixed debugger visualization for FSoundID
2019-12-10 16:38:37 +02:00
alexey.lysiuk
3cb571c1d5
- rewrote test for occupied sound channel without special types
...
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 13:36:05 +02:00
alexey.lysiuk
f050a23541
- restored stopping of channel by new sound
...
If source actor/sector/polyobject is playing something on the selected channel, stop it before playing a new sound
https://forum.zdoom.org/viewtopic.php?t=66613
2019-12-10 11:40:32 +02:00
Magnus Norddahl
ab4c792201
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-12-10 00:44:53 +01:00
Magnus Norddahl
49af4a4b35
- fix line backside textures mirrored
2019-12-10 00:44:40 +01:00
Braden Obrzut
5a578ba1ae
Fixed: GetClientWidth and GetClientHeight were still using SDL_Surface which on some systems would allocate an SDL_Renderer automatically.
2019-12-09 18:39:36 -05:00
Magnus Norddahl
bf68f1a851
Change SDL renderer creation error to a fatal one and also include why SDL failed the call
2019-12-09 23:33:22 +01:00
alexey.lysiuk
5e35077364
- remove redundant call to SoundRenderer::UpdateSounds()
...
At that point SoundEngine::StopAllChannels() did this already
2019-12-09 16:09:07 +02:00
alexey.lysiuk
5966391108
- moved sound engine cleanup calls to own function
...
https://forum.zdoom.org/viewtopic.php?t=66605#p1127457
2019-12-09 16:06:41 +02:00
alexey.lysiuk
430a6f3247
- fixed crash when exiting before sound engine initialization
...
https://forum.zdoom.org/viewtopic.php?t=66605
2019-12-09 15:43:01 +02:00
alexey.lysiuk
47305a740f
- removed redundant call to S_StopAllChannels()
...
It's the first thing that S_ClearSoundData() does anyway
2019-12-09 15:40:40 +02:00
Braden Obrzut
4ae2e12cbf
Convert SDL_Surface code to SDL_Renderer
2019-12-08 21:31:16 -05:00
Magnus Norddahl
61036dfdca
Fix include error
2019-12-09 03:10:37 +01:00
Christoph Oelckers
298e29ffcc
Merge branch 'soundsource_refactor'
2019-12-08 22:19:51 +01:00
Christoph Oelckers
6725cfcca5
- cleaned the includes of the sound backend code of unwanted content.
...
Also simplified the sound init decision making. With FMod gone there is no reason to be pedantic here. Even the check of snd_backend for the Null device could be omitted here, its only realistic use is '-nosound'.
2019-12-08 22:17:19 +01:00
Christoph Oelckers
83349bee1b
- separated reverb data and reverb editor.
...
Again, isolating the part that is game independent from parts that are specific to GZDoom.
2019-12-08 21:45:45 +01:00
Christoph Oelckers
b9582cc98e
- continued refactoring on sound code.
...
The game independent part of the code has been mostly isolated.
2019-12-08 21:22:53 +01:00
Magnus Norddahl
2052a6db53
Simplify code slightly
2019-12-08 18:27:26 +01:00
Magnus Norddahl
1e239ba4bb
SSE for the blend functions
2019-12-08 18:20:50 +01:00
Magnus Norddahl
819c675c3d
Fix typo
2019-12-08 16:40:14 +01:00
Magnus Norddahl
0b9e4e1f3d
Oops, shifting using a SSE register apparently requires AVX2
2019-12-08 16:29:14 +01:00
Magnus Norddahl
6c65c25303
Create specific blend functions for the common legacy render styles
2019-12-08 16:06:42 +01:00
Magnus Norddahl
42720f87cc
Select fragment shader once per triangle
2019-12-08 14:52:12 +01:00
Magnus Norddahl
f7ae955e6a
Select blend function once per triangle
2019-12-08 14:42:20 +01:00
Magnus Norddahl
73c62c5404
Minor code simplification
2019-12-08 13:57:40 +01:00
Magnus Norddahl
aa44fa7c77
Create SSE2 version of BlendColor
2019-12-08 13:55:28 +01:00
Christoph Oelckers
fd181f469d
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
2019-12-08 13:28:52 +01:00
Christoph Oelckers
22e692e21c
- started separating the sound engine code from game dependent parts.
...
First step: Split the header. Todo: Abstract listener and sound source specifics out of the sound engine.
2019-12-08 10:07:26 +01:00
Magnus Norddahl
844b203971
Split the various stages of the fragment shader into functions
2019-12-08 03:18:05 +01:00
Magnus Norddahl
c97d02ae51
Alpha test must be performed before vcolor is applied
2019-12-08 02:39:42 +01:00
Magnus Norddahl
fdb93309fe
Fix render to texture
2019-12-08 01:39:17 +01:00
Magnus Norddahl
cef3fd53ab
Clamp vColor
2019-12-08 00:41:24 +01:00
Magnus Norddahl
f365f6f433
Fix depth test staying active when it shouldn't
2019-12-08 00:41:02 +01:00
Magnus Norddahl
310ef73aa8
Rename PolyTriangleDrawer to PolyCommandBuffer and make its interface look like one
2019-12-07 23:15:12 +01:00
Magnus Norddahl
bb64b178e1
Fix sky transition
2019-12-07 21:17:11 +01:00
Magnus Norddahl
90f5eee6c6
Add dynamic lights
2019-12-07 15:09:58 +01:00
alexey.lysiuk
372733da8c
- handle mirroring in MNTR sprite renaming
...
https://forum.zdoom.org/viewtopic.php?t=66583
2019-12-07 14:58:23 +02:00
alexey.lysiuk
e4587138bb
- added support for softpoly backend on macOS
...
Grabbed most of code from old Cocoa backend with separate code path for software rendering
2019-12-07 13:25:12 +02:00
Magnus Norddahl
75248cffd0
- fix decal color bug
2019-12-06 23:26:38 +01:00
Madame Rachelle
f3897e26f0
- allow to change acceleration type in SDL backend for softpoly
2019-12-06 14:38:25 -05:00
Magnus Norddahl
fd4fc45040
Move blend operator and alpha test flag out of the inner blend loop
2019-12-06 20:35:19 +01:00
Magnus Norddahl
aede0633bc
- fix bug where SSE wasn't actually really used at all
...
- improve precision of the SSE version of WriteW
- use SSE to calculate the texture wrapping
2019-12-06 18:51:41 +01:00
Rachael Alexanderson
edd7fe1e16
- migrate vid_enablevulkan to vid_preferbackend in config file
2019-12-06 12:05:52 -05:00
Rachael Alexanderson
eaab122076
Merge remote-tracking branch 'origin/polybackend'
2019-12-06 09:30:55 -05:00
alexey.lysiuk
ffe8aaa091
- updated xBRZ scaler to 1.8
...
Removed all C++17 features: std::clamp(), attribute [[likely]], terse static asserts, ...
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.8.zip/download
2019-12-06 13:18:43 +02:00
Magnus Norddahl
8075510289
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-06 00:20:25 +01:00
Madame Rachelle
c646478aa0
- allow SDL to use OpenGL acceleration for polybackend
2019-12-05 18:27:46 -05:00
Magnus Norddahl
a7a899ca14
Fix null pointer crash
2019-12-06 00:19:51 +01:00
Magnus Norddahl
dd87619cc4
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-05 21:19:20 +01:00
Magnus Norddahl
9b7db26a37
Fix the compile error on Windows
2019-12-05 21:18:11 +01:00
Magnus Norddahl
ab4f3ee0b1
Fix black border clears
2019-12-05 22:04:28 +01:00
Magnus Norddahl
e4bd2483e5
Implement SDL present functions
2019-12-05 21:26:01 +01:00
Chronos Ouroboros
b9367caa6f
Fixed the JIT's OP_VTBL check not checking if it's already at the start of the code.
2019-12-04 17:37:20 -03:00
Magnus Norddahl
0f6aec5e99
Some vid_preferbackend compile fixes
2019-12-02 20:12:27 +01:00
Magnus Norddahl
a9e6592feb
Switch to the D3DSWAPEFFECT_FLIPEX swap model
2019-12-02 20:05:13 +01:00
Magnus Norddahl
43139276d1
SSE2 version of wrap
2019-12-02 18:44:15 +01:00
Rachael Alexanderson
3269b61ffc
- change menu option for 'vid_preferbackend'
2019-12-02 09:43:06 -05:00
Magnus Norddahl
f501e1bb49
Fix texture binding bug
2019-12-02 01:48:59 +01:00
Magnus Norddahl
865b7a1a2c
Implement func_paletted shader
2019-12-02 01:28:35 +01:00
Magnus Norddahl
44c2223c2f
Draw 8-bit software renderer with polybackend (well, sort of!)
2019-12-02 01:07:28 +01:00
Magnus Norddahl
4a2b763aaa
Support 8-bit textures
2019-12-02 00:35:15 +01:00
Magnus Norddahl
74c6b9fe6d
Remove PolyDrawArgs
2019-12-02 00:21:42 +01:00
Magnus Norddahl
d2f4570337
Remove old polyargs
2019-12-02 00:01:04 +01:00
Magnus Norddahl
4a4b79194d
Remove/disable old swrenderer model rendering code
2019-12-01 23:37:43 +01:00
Magnus Norddahl
3059b8f5c8
Remove old softpoly drawer implementation
2019-12-01 23:23:25 +01:00
Rachael Alexanderson
f1e136487d
Merge branch 'polybackend' of https://github.com/coelckers/gzdoom into polybackend
2019-12-01 16:06:54 -05:00
Rachael Alexanderson
bdc7329d32
- replace vid_enablevulkan with vid_preferbackend - disabled startup window selector for this (will replace when the startup screen changes are done)
2019-12-01 16:06:36 -05:00
Magnus Norddahl
8ca05fe30a
Implement crossfade
2019-12-01 22:05:10 +01:00
Magnus Norddahl
1b9479ea45
Implement burn.fp and second texture binding
2019-12-01 21:44:44 +01:00
Magnus Norddahl
2c751d214f
Hook up some SSE2
2019-12-01 20:23:41 +01:00
Magnus Norddahl
4a25c9f69b
Merge remote-tracking branch 'origin/master' into polybackend
2019-12-01 20:09:19 +01:00
alexey.lysiuk
51c90f54a4
- fixed wrong display of Hexen AC for SBARINFO
...
Do not use BasicArmor's save percentage when no armor present
Applied change from 34c2c65bb6
to old status bar definitions
2019-12-01 10:30:06 +02:00
Christoph Oelckers
d420b0ab05
- fixed: AActor::Revive did not restore flags8.
2019-11-30 22:03:19 +01:00
ZZYZX
116d81cb9f
Normalize mouse events received by the modder through EventHandlers
2019-11-30 11:06:30 +02:00
alexey.lysiuk
33fb2a7856
- pass master volume to ZMusic library on startup
...
MIDI devices that don't output music through the sound system (like WinMM) ignored master volume setting
https://forum.zdoom.org/viewtopic.php?t=66510
2019-11-29 11:13:03 +02:00
alexey.lysiuk
628b2ef97f
- removed unused code from serializer
2019-11-27 12:30:09 +02:00
alexey.lysiuk
fdd17403e5
- added ability to force internal alternative HUD
...
Set hud_althud_forceinternal CVAR to disable unwanted HUD customizations
2019-11-26 15:45:18 +02:00
alexey.lysiuk
a7f2df4fef
- added ability to set custom alternative HUD
...
Use GAMEINFO key 'althudclass' to specify own class derived from AltHud
https://forum.zdoom.org/viewtopic.php?t=66422
2019-11-26 15:45:18 +02:00
Rachael Alexanderson
a3741abbf3
- add cvar 'cl_disableinvertedcolormap' - changes the invulnerability… ( #972 )
...
* - add cvar 'cl_disableinvertedcolormap' - changes the invulnerability sphere to instead be a regular desaturated colormap that transitions from deep blue to pale yellow
* - add menu option for cl_disableinvertedcolormap
* - added customization for invulnerability colormap
* - fixed custom colormap being calculated incorrectly
* - disable custom invulnerability map before the main game loop
2019-11-26 07:46:18 -05:00
alexey.lysiuk
20d3752fdd
- exported several Wads.GetLump...() methods to ZScript
...
* GetLumpName() returns 8-characters lump name
* GetLumpFullName() returns full name with path and extension
* GetLumpNamespace() returns lump's namespace
* GetNumLumps() returns total number of lumps
https://forum.zdoom.org/viewtopic.php?t=66285
2019-11-25 17:37:56 +02:00
Player701
db1359f98e
- Implemented scale parameter for BaseStatusBar::DrawString
2019-11-24 10:45:07 +01:00
Christoph Oelckers
354d5eb66e
- Renamed AlignedAlloc.
...
according to Travis error logs these AlignedAlloc lines were causing compile errors, presumably AlignedAlloc was defined to aligned_alloc, so better use different names.
2019-11-24 10:42:18 +01:00
Magnus Norddahl
bff22bbd81
- don't map the frame buffer memory every frame when doing software rendering
2019-11-23 12:09:05 +01:00
Magnus Norddahl
8abbd63427
Only allocate WallColumnDrawerArgs once per thread
2019-11-23 11:57:42 +01:00
alexey.lysiuk
c75233a842
- avoid name clashing with C11 function
...
src/rendering/swrenderer/r_memory.cpp:78:14: error: ‘void* aligned_alloc(size_t, size_t)’ was declared ‘extern’ and later ‘static’ [-fpermissive]
2019-11-23 11:17:34 +02:00
Magnus Norddahl
b7745aaa8b
Make absolutely sure allocated frame memory is always 16-byte aligned
2019-11-23 02:26:52 +01:00
Magnus Norddahl
bc37d8d601
Merge branch 'master' of https://github.com/coelckers/gzdoom
2019-11-23 02:25:58 +01:00
Magnus Norddahl
62b2039a75
Queue a full wall as one draw command
2019-11-23 02:25:42 +01:00
alexey.lysiuk
cf8c05c9c4
- fixed missing checks for function calls from DECORATE
...
State functions could call ZScript code with incompatible self pointer, e.g. weapon's function could be called with self pointed to player pawn
DECORATE scripts that contain such errors are no longer accepted
https://forum.zdoom.org/viewtopic.php?t=66429
2019-11-21 16:58:28 +02:00
Magnus Norddahl
310459b490
Remove dead code
2019-11-20 22:11:40 +01:00
Magnus Norddahl
2ac6be3510
- fix scale bug and remove some member variables
2019-11-20 22:06:15 +01:00
Magnus Norddahl
236b476933
- change ProjectedWallTexcoords to use gradients for its texture coordinate calculations
...
- change SpriteDrawerArgs to draw a full sprite instead of one column at a time
- add r_noaccel cvar to allow forced software rendering of the psprites (useful for debugging and also one person on the forum actually requested this feature)
- remove FWallTmapVals and calculate texture coordinates directly from FWallCoords
- move portal clipping out of the inner sprite drawing loop
2019-11-20 04:50:24 +01:00
Magnus Norddahl
1085287af1
Reverse the order of the functions in r_walldraw
2019-11-15 22:47:40 +01:00
Magnus Norddahl
16c2d9366d
Remove ProcessWallNP2 as NPOT textures are already handled elsewhere
2019-11-15 22:28:59 +01:00
Magnus Norddahl
9f9884d03c
- move decal light calculations into RenderDecal::RenderDecals
2019-11-15 06:06:11 +01:00
Magnus Norddahl
a478cf9a96
- support dynamic lights on translucent and 3d floor walls
2019-11-15 05:53:55 +01:00
Magnus Norddahl
7168466c28
Calculate all light in RenderWallPart
2019-11-15 05:45:52 +01:00
Magnus Norddahl
82855ab1fd
Calculate light closer to where it is used
2019-11-15 05:21:10 +01:00
Magnus Norddahl
3428b50924
Fix type typo
2019-11-15 03:46:21 +01:00
Magnus Norddahl
608895dae7
Fix fog boundary drawing for 3d floors and add a few helper functions to RenderDrawSegment
2019-11-15 03:41:10 +01:00
Rachael Alexanderson
4d66e9a8bb
- remove SetLineSideRefs - this actually cannot be exported right now, due to the fact that both sides and lines have backreferences to themselves and their ancestry, and that linedefs have forward references to the sectors on their respective sides.
...
- made FlipLineSideRefs native, due to the SetLineSideRefs removal
- fixed a bug with FlipLineSideRefs that rendered upper and lower textures incorrectly due to incorrect sector references
- FlipLineSideRefs now should only work on single-sided lines
2019-11-14 14:32:20 -05:00
Rachael Alexanderson
b0751db552
- add native SetLineSideRefs(line, side1idx, side2idx)
...
- add scripted FlipLineSideRefs(line)
2019-11-14 09:20:16 -05:00
Magnus Norddahl
642cd2b160
Fix 3d floor rendering bug
2019-11-14 02:28:53 +01:00
PaulyB
a74be69371
Added 'NoKeyboardCheats' option to IWADINFO
...
This is useful for IWADs that do not want to use the hardcoded engine cheats. This can still be overriden with the 'allcheats' CVAR
2019-11-13 17:34:42 +01:00
Rachael Alexanderson
26dd900b3e
- cl_blockcheats added to 'nocheat' check
2019-11-13 04:45:57 -05:00
Magnus Norddahl
88848f1d59
Add some helpers on DrawSegmentClipInfo
2019-11-13 04:17:46 +01:00
Christoph Oelckers
5cc75af295
- changed secret message handling so that the debug output of the sector number is only printed to the console but not the centered message.
2019-11-12 23:39:05 +01:00
Magnus Norddahl
72bba914ce
Move drawseg clipping variables to DrawSegmentClipInfo
2019-11-12 19:46:45 +01:00
Magnus Norddahl
879fae7cd0
Also calculate wallsprite and decal texture coordinates in ProjectedWallTexcoords
2019-11-12 18:44:17 +01:00
Rachael Alexanderson
37fdf14422
- add calc indices before running level postprocessor
2019-11-12 09:46:14 -05:00
Rachael Alexanderson
21a74dfb13
- new zscript function 'SetLineVertexes(line, v1, v2)'
...
- scriptify 'FlipLine' completely using new function, remove native version
2019-11-12 08:08:35 -05:00
3saster
a4b6a8f093
Added 'nocheats' CVAR ( #969 )
...
This CVAR disables all classic cheats (i.e. keyboard cheats). This prevents keypresses from being eaten due to attempting to read cheats
2019-11-12 07:29:16 -05:00
Magnus Norddahl
fa3e5e34a8
Move all ProjectedWallTexcoords calculations to that class
2019-11-12 02:22:30 +01:00
Magnus Norddahl
e388abbb77
Clarify that 'fake wall' means a 3d floor wall
2019-11-11 23:41:14 +01:00
Magnus Norddahl
fec280a5fc
Remove the sprite drawer from wall drawing
2019-11-11 05:37:02 +01:00
Magnus Norddahl
3944ee5b67
- Calculate drawseg texture coordinates in r_line
2019-11-11 04:10:08 +01:00
Magnus Norddahl
6410bc81cc
- merge top/mid/bottom texture coordinate calculations
2019-11-11 03:19:00 +01:00
Christoph Oelckers
81753e5ffb
- moved the level postprocessor to its own source file.
2019-11-10 21:28:01 +01:00
Rachael Alexanderson
57eb1a82d6
- oops - add rangecheck to 'FlipLine'
2019-11-10 10:01:17 -05:00
Rachael Alexanderson
1098a13fdb
- add 'FlipLine' to 'LevelPostProcessor'
2019-11-10 09:04:30 -05:00