Commit graph

13147 commits

Author SHA1 Message Date
drfrag666
d79855d26b - disable any texture clamping for textures with a user shader.
This cannot be reliably determined so the least restrictive setting must be used.
(refactored patch by Graf)
2018-08-21 15:06:53 +02:00
Magnus Norddahl
a1c5194a25 - fix missing forward declaration when falling back to older user shaders 2018-08-20 20:11:36 +02:00
drfrag666
76dffaf658 - Fixed bad merge of "- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function". 2018-08-20 12:50:54 +02:00
Magnus Norddahl
fb31572ba3 - fix user defines and textures not working 2018-08-20 01:43:22 +02:00
Magnus Norddahl
e59859e34d - improve the gldefs syntax by allowing the shader to be specified in the material section
# Conflicts:
#	src/r_data/gldefs.cpp
2018-08-20 01:43:02 +02:00
Magnus Norddahl
9c74c9629a - rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/textures/hw_material.cpp
#	src/r_data/gldefs.cpp
#	wadsrc/static/shaders/glsl/main.fp
2018-08-20 01:22:34 +02:00
usernameak
8f509bf784 Added ability to set defines in custom HW shaders 2018-08-19 21:50:44 +02:00
usernameak
57d4536f76 Fix codestyle; add ability to name the textures 2018-08-19 21:50:29 +02:00
usernameak
5cddbe4a16 Made ability to define custom material shaders for ProcessMaterial function
# Conflicts:
#	src/r_data/gldefs.cpp
2018-08-19 21:50:14 +02:00
usernameak
4c106de5d7 Custom hardware shaders now can use custom texture units
# Conflicts:
#	src/gl/textures/gl_material.cpp
#	src/textures/textures.h
2018-08-19 21:47:32 +02:00
Christoph Oelckers
81de21af18 - added a 'lightsizefactor' command to gldefs.
This is for mitigating the recently discovered problem with attenuated lights getting reduced in size, even on OpenGL 3+. The intent of the shrinking was to account for higher brightness of non-attenuated lights on OpenGL 2 and was never meant to be active on more modern versions.
The factor will apply to any attenuated light defined after it and will be inherited by included sub-lumps, but it will only last for the lunp it is set in.

If you have a definition for the broken behavior, AddLightAssociation

'lightsizefactor 0.667' at the top of your GLDEFS.
2018-08-19 20:59:46 +02:00
Christoph Oelckers
b03c329ec6 - moved all GLDEFS parsing into a dedicated source file.
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.

# Conflicts:
#	src/CMakeLists.txt
#	src/gl/dynlights/gl_glow.cpp
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/textures/gl_texture.cpp
2018-08-19 20:56:49 +02:00
drfrag666
1caf2cacbb Revert "- added a 'lightsizefactor' command to gldefs."
This reverts commit 538897430d.
2018-08-19 19:35:32 +02:00
Christoph Oelckers
0fd1909f2c - got rid of FNameNoInit and made the default constructor of FName non-initializing.
This setup has been a constant source of problems so now I reviewed all uses of FName to make sure that everything that needs to be initialized is done manually.
This also merges the player_t constructor into the class definition as default values.
2018-08-19 10:36:10 +02:00
alexey.lysiuk
7f864d563c - cleaned up inconsistent leading whitespaces
Bump copyright year as well
2018-08-18 19:46:05 +02:00
alexey.lysiuk
e84b360cb5 - prohibit assignment of dynamic arrays
https://forum.zdoom.org/viewtopic.php?t=61682
2018-08-18 19:45:52 +02:00
alexey.lysiuk
2ce7760e49 - support static const arrays inside structs
https://forum.zdoom.org/viewtopic.php?t=61677
2018-08-18 13:01:46 +02:00
Marisa Kirisame
8eaa0b17c6 Added missing check for HITOWNER on bouncers with 0 damage. 2018-08-18 00:52:37 +02:00
Marisa Kirisame
d8df6a7e6d Add HITOWNER flag, when set, allows a projectile to collide with its shooter. 2018-08-18 00:52:36 +02:00
Marisa Kirisame
ab56666219 Add "IsFinal" parameter for CheckReplacement.
If set to true it guarantees that the replacement is final and will not go through the rest of the replacement chain.
2018-08-18 00:52:34 +02:00
Marisa Kirisame
5095ee28f1 Added CheckReplacement to event handlers, a function inspired by its namesake in Unreal's Mutator class.
Performs runtime replacement of actor classes.
Takes priority over the "replaces" keyword in both DECORATE and ZScript.
2018-08-18 00:52:32 +02:00
drfrag666
9d3326d847 - Add stack protection for MinGW.
# Conflicts:
#	src/CMakeLists.txt
2018-08-17 01:42:18 +02:00
Christoph Oelckers
61ba0980d5 - fixed FS camera for real. 2018-08-14 23:48:43 +02:00
Christoph Oelckers
ae49f6138e - fixed FraggleScript's moving camera.
The logic here was a bit more complicated than I assumed but it was all buried in a heap of code that tried to deal with angular wraparounds in the BAM format.
2018-08-14 01:14:22 +02:00
drfrag666
285791622d Revert "- update xBRZ upscaler to version 1.6"
This reverts commit 6dd17b4ef0.

This broke compilation with TDM-GCC 5.1. While it has problems i still use it for convenience, also no more win98.
2018-08-12 11:36:58 +02:00
alexey.lysiuk
aa4cb300da - added 5x and 6x upscaling with xBRZ 2018-08-10 21:16:09 +02:00
alexey.lysiuk
8197bf436d - cleaned up old xBRZ 1.0 upscaler
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

# Conflicts:
#	src/gl/xbr/xbrz_old.cpp
2018-08-10 21:16:07 +02:00
alexey.lysiuk
6dd17b4ef0 - update xBRZ upscaler to version 1.6
Fixed build with all suported toolchains thanks to incomplete implementation of C++14 in MSVC 2015 and GCC 4.9
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.6.zip
2018-08-10 21:05:40 +02:00
Christoph Oelckers
01109897b0 - replaced gl_PatchMenu with an MMX 'ifoption' check.
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2018-08-10 20:47:06 +02:00
Marisa Kirisame
1689203e35 Additional blocking-related flags for Actor.LineTrace() 2018-08-05 19:48:58 +02:00
drfrag666
5b76d7563b - Changed default GL sprite billboard mode to X/Y axis. 2018-08-04 14:44:43 +02:00
David Carlier
ce4d1fc1e4 Texture data overlap occuring here, using memmove instead. 2018-08-04 09:51:26 +02:00
alexey.lysiuk
44084f81af - fixed compilation warning reported by MSVC
src\r_data\models\models_ue1.cpp(103): warning C4244: 'argument': conversion from 'int' to 'float', possible loss of data
2018-08-04 09:51:22 +02:00
Magnus Norddahl
d0ea9d7329 fix: softpoly TEXTURES sprites with scale of 2 are tiled 2018-07-30 23:35:58 +02:00
drfrag666
ad4cf1a41b - Update ZScript version. 2018-07-30 02:03:53 +02:00
Christoph Oelckers
a7a350d37e - always retrieve uniform buffer properties.
They are sometimes needed even if shader storage buffers are available.

# Conflicts:
#	src/gl_load/gl_interface.cpp
2018-07-29 22:34:11 +02:00
Christoph Oelckers
8c144881a8 - allow skipping optional arguments of the parent function in a virtual override definition.
This is mainly to allow retroactive addition to existing virtual functions without breaking existing content.
The MeansOfDeath fix for Actor.Die would not be possible without such handling.
2018-07-29 19:30:30 +02:00
Christoph Oelckers
f48b2d8b71 - fixed: A global variable was used to pass MeansOfDeath to ClientObituary.
The problem here is that this affects the public scripting interface so it cannot be committed to master without further adjustments.

# Conflicts:
#	src/p_interaction.cpp
2018-07-29 19:30:28 +02:00
alexey.lysiuk
1906245368 - fixed buffer overflow in saved game comment
https://forum.zdoom.org/viewtopic.php?t=61465
2018-07-29 11:10:33 +02:00
drfrag666
65bed492a2 - Scale status bar to fullscreen by default. 2018-07-28 21:41:29 +02:00
alexey.lysiuk
baf0b8ee5f - fixed potential garbage collection of still referenced objects
Objects from dynamic array stored in items of array of structures were incorrectly treated as unreachable

https://forum.zdoom.org/viewtopic.php?t=61354
2018-07-28 19:51:21 +02:00
Christoph Oelckers
425d756f04 - do not use SSBOs for dynamic lights on Intel graphics hardware for performance reasons.
This was already disabled for GL 4.4 and lower but also needs to be done for Intel's GL 4.5 drivers.
Unlike before this is now exclusive to the light buffer, the shadowmap feature is not affected anymore, although that should be impossible to use anyway on all affected hardware due to lack of computing power.

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl_load/gl_interface.cpp
2018-07-28 19:38:47 +02:00
drfrag666
195a54e0d1 - Fixed compilation of previous commit. 2018-07-28 12:42:14 +02:00
Magnus Norddahl
7144ac6897 - add support for specifying the exact thread count to r_multithreaded and r_scene_multithreaded 2018-07-28 12:30:10 +02:00
drfrag666
4ed793eb3b - Disabled truecolor rendering and dynamic lights for software by default. 2018-07-27 02:04:18 +02:00
drfrag666
03dbd1b4a7 - Made 160x100 the minimum scaling, UI looks too big tough. 2018-07-23 00:58:00 +02:00
Christoph Oelckers
9fc839b34a - added MF8_DONTFACETALKER flag which prevents NPCs from facing the player in conversations. 2018-07-22 18:23:40 +02:00
drfrag666
f19e9f24d2 - Fixed: in2D was not always reset in OpenGLSWFrameBuffer::Update(), caused (!in2D) assertion failure. 2018-07-22 18:21:45 +02:00
Christoph Oelckers
6f322940fe - don't let the video scale let the screen end up with a client size less than 320x200, which may cause undefined behavior and trigger asserts in debug builds.
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
#	src/v_video.cpp
2018-07-22 12:49:47 +02:00
Rachael Alexanderson
75a8c4da3e - the error checking on the previous commit should've been done slightly differently 2018-07-22 12:46:57 +02:00
Rachael Alexanderson
9b26fba11b - implement a new vid_scalemode: 5 - this allows the usage of custom absolute scaling modes
- new ccmd: vid_setscale <x> <y> [linear] [fake-mcga-4:3] - sets vid_scalemode to 5 with the absolute scaling parameters. example: vid_scalemode 800 600 allows you to see the screen (stretched) as if it were 800x600. Linear specifies whether to force the scaling to be linear in this mode, and "fake-mcga-4:3" is meant for 320x200-like modes that mimic mode13h scaling.
2018-07-22 12:46:57 +02:00
Christoph Oelckers
2ac665f950 - fixed: Inventory items that have been modified with Dehacked to be monsters should not be killed by P_Massacre when being owned. 2018-07-20 12:42:10 +02:00
Christoph Oelckers
08a1cc0e7e - allow temporary strings to be used as self pointer for String's member functions.
Due to how function calls get resolved by the code generator there were some incorrect flags on the self pointer which triggered an assert and caused incorrect code generation.
Fortunately this was a mostly contained special case for which a workaround was possible.
2018-07-20 12:42:08 +02:00
drfrag666
d5a15c66ad - Some cosmetic changes to the startup console. 2018-07-20 12:33:49 +02:00
drfrag666
9c1969e63a - OpenGLSWFrameBuffer: draw directly to the PBO again (GL_DYNAMIC_DRAW) for Intel GPUs, apparently it's faster. 2018-07-20 12:10:59 +02:00
drfrag666
09d9386350 - Made software sector light mode the default for the GL renderer. 2018-07-19 22:20:22 +02:00
drfrag666
b3e2a8ab7f - Changed buffer type for OpenGLSWFrameBuffer to use GL_STREAM_DRAW and a memcpy from system memory on non Nvidia GPUs. 2018-07-19 18:05:13 +02:00
alexey.lysiuk
b94801b994 - fixed crash on accessing state owner during VM abort
https://forum.zdoom.org/viewtopic.php?t=61338
2018-07-19 17:26:00 +02:00
alexey.lysiuk
52f6592996 - load common conversation lumps regardless of map naming scheme
https://forum.zdoom.org/viewtopic.php?t=61313
2018-07-17 12:54:31 +02:00
alexey.lysiuk
c55cf00c8e - added missing null pointer checks to VM ops 2018-07-16 19:11:20 +02:00
Christoph Oelckers
c519239a1b - fixed: The stencil cap may never write to the depth buffer.
Due to the way nested portals work this will block rendering of the nested cap entriely and cause some visual glitches when looking straight up or down in such a sector.

# Conflicts:
#	src/gl/scene/gl_portal.cpp
2018-07-16 14:51:29 +02:00
Christoph Oelckers
d36c839475 - fixed titlepic animation.
It needed more than using the animated accessor. The code here nearly went out of its way to circumvent the texture manager's built in logic.

(cherry picked from commit 79b3c41677)
2018-07-16 01:45:35 +02:00
Christoph Oelckers
8420459aa0 - added DTA_LegacyRenderStyle so that STYLE_* constants can be passed directly to the Draw functions.
- fixed the optional parameter in Shape2D.Clear.

(cherry picked from commit 7a692b1557)

# Conflicts:
#	src/v_2ddrawer.cpp
#	src/v_video.h
#	wadsrc/static/zscript/base.txt
2018-07-16 01:44:04 +02:00
Christoph Oelckers
917d698a87 - call P_PlayerStartStomp only when the map is played directly from the loaded data and only when it has been fully loaded.
The old code did this right in the middle of map initialization where not everything had been set up yet.

(cherry picked from commit 7c527de374)
2018-07-15 12:14:37 +02:00
Christoph Oelckers
0d9deb35aa - fixed: When deleting a camera texture's depth buffer, the corresponding variable must also be cleared.
Thanks to OpenGL's messed up state system this didn't cause some clear failure but just reused the last bound buffer instead which may not have had a matching size.

(cherry picked from commit 2c86c4e942)
2018-07-15 12:14:36 +02:00
drfrag666
1f5da940ca - Added dummy 2D shape drawer so scripts using it won't make the engine crash. 2018-07-15 11:22:26 +02:00
drfrag666
9dc67c7944 - Back to old version numbering scheme. 2018-07-14 11:42:44 +02:00
alexey.lysiuk
d2143edb60 - skipped owned items in proximity test
https://forum.zdoom.org/viewtopic.php?t=61224
(cherry picked from commit 23a4daac23)
2018-07-11 20:18:40 +02:00
David Carlier
4902143d7b foo being allocated with metadata based allocator needs to
be freed similarly.

(cherry picked from commit 2a59327aeb)
2018-07-06 11:04:56 +02:00
Marisa Kirisame
286e1ded88 UE1: Clean up and restructure model class.
UE1: Add support for Deus Ex format vertex data.
UE1: Group triangles by skin index AND type/flags (preparation for per-surface render style support).
UE1: Add handling of Weapon Triangle (preparation for model attachment support).
UE1: Support flat shaded triangle flag.

(cherry picked from commit e5249f302a)
2018-07-05 02:07:24 +02:00
drfrag666
0d6566f973 - Fixed wrong ZScript version but it was harmless. 2018-07-02 18:55:13 +02:00
Magnus Norddahl
399ce3cfbf - softpoly: fix sprites still lit when dynlights off
(cherry picked from commit 2e5b7a7d8b)
2018-07-01 21:14:36 +02:00
Magnus Norddahl
f0edfcf819 - softpoly: fix normal walls not getting rendered for subsectors with poly objects in them
(cherry picked from commit 6d6ee1281e)
2018-07-01 18:47:47 +02:00
alexey.lysiuk
99c66e1bcc - fixed crash when actor is destroyed during spawning
This only applies to spawning via summon... CCMDs
Now 'summon decal 0' no longer crashes the game

(cherry picked from commit 43b94d829e)
2018-06-30 14:35:00 +02:00
alexey.lysiuk
e0b5af42f3 - disabled default values for out parameters
https://forum.zdoom.org/viewtopic.php?t=61128
(cherry picked from commit 5d27c16f30)
2018-06-30 12:50:32 +02:00
alexey.lysiuk
340afa4a40 - removed Class identifier workaround from Cocoa backend
(cherry picked from commit 1d937b9f3c)
2018-06-30 12:50:30 +02:00
alexey.lysiuk
1629b25bfb - added extra validation for status bar classes
Print a message when status bar class defined in GAMEINFO is missing or when it's not derived from BaseStatusBar
Validate internal status bar classes for basic consistency in Debug configuration

(cherry picked from commit 907ce777a3)
2018-06-29 14:02:04 +02:00
alexey.lysiuk
16c23869f2 - simplified key repeat detection in SDL backend
(cherry picked from commit 0703030be3)
2018-06-29 11:46:53 +02:00
alexey.lysiuk
a9804d04cf - fixed excess keyboard events in SDL backend
https://forum.zdoom.org/viewtopic.php?t=61104
(cherry picked from commit 0342bf532d)
2018-06-29 11:46:52 +02:00
alexey.lysiuk
ef69c049c8 - disabled annoying macOS spaces in SDL backend
(cherry picked from commit 6e4c0fc416)
2018-06-29 11:46:51 +02:00
alexey.lysiuk
4cb4d65698 - fixed excess keyboard events in Cocoa backend
https://forum.zdoom.org/viewtopic.php?t=61104
(cherry picked from commit c30505d02a)
2018-06-29 11:46:50 +02:00
alexey.lysiuk
2b27531b53 - added detection of macOS Mojave
(cherry picked from commit a968aeba8a)
2018-06-28 10:45:12 +02:00
Christoph Oelckers
bf632cc31a Added lump size validation to the WAD loader
(cherry picked from commit cbe4c9c5c1)
2018-06-27 12:36:15 +02:00
drfrag666
021f5cf656 - Enabled render distance cull options by default. 2018-06-27 12:35:48 +02:00
Christoph Oelckers
833006b5d9 Fixed: Software rendered models checked the wrong CVAR for enabled dynamic lights.
(cherry picked from commit e402babfc0)
2018-06-26 11:21:22 +02:00
Magnus Norddahl
96c1156cf4 - make softpoly use the r_dynlights cvar
(cherry picked from commit f8272287d2)
2018-06-26 11:21:21 +02:00
Christoph Oelckers
c52d93ab36 - calculate a proper opening range when encountering a sector portal on a one-sided line in the sight checking code
(cherry picked from commit ff1eb7f3f2)
2018-06-25 12:01:08 +02:00
Vitaly Novichkov
6d7d1213c2 ADLMIDI: Fix one small MSVC Win64 warning
(cherry picked from commit a5b4d9d9a9)
2018-06-22 19:50:35 +02:00
Vitaly Novichkov
4807ac9e6b Upgrade libADLMIDI and libOPNMIDI
Added ability to switch emulator and it's accuracy level ("enabling of 'run at PCM rate' reduces accuracy, and also reduces CPU usage")
Added draft code for future external banks support (WOPL format for ADLMIDI and WOPN format for OPNMIDI)

ADLMIDI 1.3.3   2018-06-19
 * Fixed an inability to load another custom bank without of library re-initialization
 * Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Fixed incorrect 4-op counter which is still catch 4-op instruments on 2-op banks
 * Fixed an incorrect processing of auto-flags
 * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
 * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
 * Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * The automatical choosing of 4 operator channels count has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

ADLMIDI 1.3.2   2018-04-24
 * Added ability to disable MUS and XMI converters
 * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
 * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
 * Added support for real-time switching the emulator
 * Added support for CC-120 - "All sound off" on the MIDI channel
 * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
 * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

OPNMIDI 1.3.0   2018-06-19
 * Optimizing the MIDI banks management system for MultiBanks (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
 * Fixed an incorrect processing of auto-flags
 * MAME YM2612 now results a more accurate sound as internal using of native sample rate makes more correct sound generation
 * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
 * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

OPNMIDI 1.2.0   2018-04-24
 * Added ability to disable MUS and XMI converters
 * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
 * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
 * Added support for real-time switching the emulator
 * Added support for MAME YM2612 Emulator
 * Added support for CC-120 - "All sound off" on the MIDI channel
 * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
 * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)

(cherry picked from commit ceec12056a)
2018-06-22 19:50:32 +02:00
alexey.lysiuk
b9e7eaac26 - fixed potential access to freed memory on map loading
MapData could destruct FResourceLump objects before accessing them
Loading of map .wad from .pk3 file is example of this case

https://forum.zdoom.org/viewtopic.php?t=60972
(cherry picked from commit 9b4e8efcb9)
2018-06-22 19:50:27 +02:00
drfrag666
b927ac6783 - Modern controls again. 2018-06-22 19:20:34 +02:00
drfrag666
6af14d17fd - Added some missing command versions of the original Doom cheats. 2018-06-22 13:17:24 +02:00
drfrag666
af4093fe94 - Disabled compiler intrinsics for the VS non SSE2 version, it should work now. 2018-06-22 11:12:11 +02:00
drfrag666
abb2f6fd32 - Disabled EFX for OpenAL by default. This option has a severe performance impact on single core cpus.
- Disabled mipmapped textures for truecolor by default.
2018-06-20 20:56:02 +02:00
drfrag666
76f60e51fe - New generic ZDoom icons by Tormentor667. 2018-06-20 19:57:56 +02:00
drfrag666
11ebbc689d - Changed game name to LZDoom. 2018-06-20 14:26:09 +02:00
drfrag666
5045845896 - Added NO SSE2 version identification to the gameversion cmd. 2018-06-20 12:43:51 +02:00
drfrag666
11cb5af07e - Extend the TC_USE_SSE2 option to VS. 2018-06-20 12:07:44 +02:00
drfrag666
cafb92c637 - Fall back to software mode if the GL renderer cannot start. 2018-06-19 17:08:59 +02:00
drfrag666
09a3d7c9da - Made the software renderer the default.
- Changed default GL texture filtering mode.
2018-06-19 17:08:10 +02:00
drfrag666
b2d2e40e20 - Made new save order CVAR controlled. 2018-06-19 09:19:59 +02:00
drfrag666
aa26dc9d2b Revert "- Fixed: the new savegame order didn't take into account custom filenames. Try to catch most custom names."
This reverts commit f48c52291c.

This is not needed anymore, also the last commit actually removed custom filenames.
2018-06-19 08:51:28 +02:00
drfrag666
40d7897108 - Disabled custom filenames for the save command, this really never worked well. 2018-06-18 21:02:11 +02:00
drfrag666
0ba2b0e89b Revert "Revert "- Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically.""
This reverts commit 0964fd7108.
2018-06-18 20:45:43 +02:00
drfrag666
2fadfe53b4 - Fixed zdoom.rc for VS, _MSC_VER was not defined for the RC. 2018-06-18 18:40:25 +02:00
Christoph Oelckers
f2ee31acfd Remove unnecessary check for the ending brace.
(cherry picked from commit 211bd0b1b0)
2018-06-18 10:12:25 +02:00
Christoph Oelckers
72136c627c Fixed: End of file detection in MAPINFO parser was not correct
It should check for the special "End" flag instead of trusting that if the last token was a closing brace, all was correct. This can fail if the last token in a multiline string is a brace.

(cherry picked from commit 243787d19a)
2018-06-18 10:12:24 +02:00
Erick Tenorio
a94778ca4d Save item statistics
Items are now saved into save games and are displayed on the statfile

(cherry picked from commit c91d4750f3)
2018-06-18 10:12:23 +02:00
Magnus Norddahl
087f709637 - fix Software models don't display over nonexistent sprites
(cherry picked from commit bce49ad7c8)
2018-06-17 18:55:44 +02:00
alexey.lysiuk
7425a73d90 - prevented crashes caused by inconsistent status bar
Incorrectly initialized or deliberately broken status bar could lead to integer division by zero and null pointer dereference

class BuggyStatusBar : DoomStatusBar
{
    override void Init()
    {
        // No super.Init()
    }
}

(cherry picked from commit 832de42c24)
2018-06-17 18:55:43 +02:00
Magnus Norddahl
34500a6324 - move DrawArray and DrawElements to PolyTriangleDrawer
(cherry picked from commit a91147a3a5)
2018-06-16 19:59:22 +02:00
Magnus Norddahl
db8c8c5ac3 - add support for using FModelVertex as input to the softpoly vertex shader
(cherry picked from commit 9ba26a5ece)
2018-06-16 19:59:19 +02:00
Magnus Norddahl
380d90f532 - add GroupMemoryBarrierCommand
(cherry picked from commit c9fd52340e)
2018-06-16 19:58:39 +02:00
Magnus Norddahl
9bcd8aeb13 - remove unused VectoredTryCatch
# Conflicts:
#	src/win32/i_crash.cpp
2018-06-16 19:52:12 +02:00
Magnus Norddahl
ddbf2f3166 - remove unused DrawerCommand::DebugInfo
(cherry picked from commit 628f6c32d9)
2018-06-16 19:20:21 +02:00
Magnus Norddahl
0a265d028d - use the worker threads to clear the stencil buffer
(cherry picked from commit de67393b4e)
2018-06-16 19:20:19 +02:00
Magnus Norddahl
fe940d09a6 - enable model rendering in the software renderer
(cherry picked from commit 85f5f897d7)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
#	wadsrc/static/menudef.txt
2018-06-16 19:20:17 +02:00
Christoph Oelckers
d7c2274692 - 3.4.1 2018-06-14 08:59:10 +02:00
drfrag666
0964fd7108 Revert "- Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically."
This reverts commit dc8d32cb69.

This is an experimental feature and should not be in the release.
2018-06-14 08:52:54 +02:00
alexey.lysiuk
807695783f - fixed portal restoration on revisiting level in hub
Added function to FLevelLocals to test if map is being reentered

https://forum.zdoom.org/viewtopic.php?t=60455
(cherry picked from commit 29d2e77840)
2018-06-11 12:25:30 +02:00
Christoph Oelckers
ed5c2b21ac - ZScript used the wrong variable for compatflags2.
ii_* is merely the storage for info from the compatibility.txt lump.

(cherry picked from commit ae1fe041ee)
2018-06-09 19:44:12 +02:00
alexey.lysiuk
c5b20b91ff - fixed: flag CVars in ZScript referenced wrong addresses
(cherry picked from commit 4a1f36623b)
2018-06-09 19:44:11 +02:00
drfrag666
8ff20c98a5 - That cmath include was actually not needed (bad merge). 2018-06-09 14:46:34 +02:00
Christoph Oelckers
43c3d63786 - redirect script access to the compatflags CVARs to their internal shadow variables.
This is needed so that MAPINFO settings for these flags don't get ignored.

(cherry picked from commit 1fdcacc337)

# Conflicts:
#	src/scripting/backend/codegen.cpp
2018-06-09 14:30:41 +02:00
drfrag666
f24f5e1bf9 - Clarify SSE2 option for software truecolor. 2018-06-07 20:06:48 +02:00
drfrag666
f48c52291c - Fixed: the new savegame order didn't take into account custom filenames. Try to catch most custom names. 2018-06-07 11:43:13 +02:00
Magnus Norddahl
ee41e9d93a - fix missing include
(cherry picked from commit 2abf700c29)
2018-06-06 08:49:18 +02:00
Magnus Norddahl
01332a1bde - add dynamic lights to softpoly and software renderer models
(cherry picked from commit 5464d2a577)

# Conflicts:
#	src/gl/scene/gl_spritelight.cpp
2018-06-06 08:49:08 +02:00
Magnus Norddahl
6a1722076a - fix null pointer crash in softpoly
(cherry picked from commit 61f379c88f)
2018-06-06 01:52:07 +02:00
Christoph Oelckers
a8c0e67b21 - fixed autoaiming for unranged attacks.
The abort condition for the extended checks must completely stop any further processing but the check for this was missing.

(cherry picked from commit 60b6dbadb2)
2018-06-05 21:16:58 +02:00
Magnus Norddahl
f70715e25a - fix software renderer dynamic lights not working properly in mirrors
(cherry picked from commit f5386a706f)
2018-06-05 21:15:12 +02:00
Magnus Norddahl
d0ff0bcaf2 - draw models in mirrors and portals at the right location in the software renderer
(cherry picked from commit b74a9965b8)
2018-06-05 21:15:12 +02:00
Marisa Kirisame
70c5886987 Adds "OnGiveSecret" virtual function on Actor for customizing behavior of secret finding.
(cherry picked from commit 477cf23fd2)
2018-06-05 20:10:12 +02:00
Magnus Norddahl
28ec13b66c - avoid using global variables in the inner fuzz drawer loop
(cherry picked from commit 674b6ee85c)
2018-06-05 20:10:11 +02:00
Magnus Norddahl
69c51ae8b7 - fix dynlight color not being applied on sprites
(cherry picked from commit 51fd715404)
2018-06-05 20:10:10 +02:00
Magnus Norddahl
2dff3af8cb - fix softpoly colored fog bug in the new drawers
(cherry picked from commit 9cd751ae7a)
2018-06-05 20:10:09 +02:00
alexey.lysiuk
3712a2cea5 - fix crash on dying when player class has no death states
https://forum.zdoom.org/viewtopic.php?t=60815
(cherry picked from commit 7009755c52)
2018-06-05 12:26:02 +02:00
Christoph Oelckers
dc43bc5f0e - fixed FMemArena to always return 16 byte aligned pointers.
Unfortunately this turned out harder than expected because of FSharedStringArena making some strong assumptions about the underlying implementation.

(cherry picked from commit 2f6dc46f14)
2018-06-05 00:04:31 +02:00
Marisa Kirisame
74f4c8a6dd BLOCKASPLAYER flag: treat non-player actors as blockable by "block players" lines
(cherry picked from commit fae514f30d)
2018-06-05 00:04:22 +02:00
Rachael Alexanderson
4d238beb7b - fixed - sector sounds were not translated through portal groups properly
(cherry picked from commit 780ddd21bd)
2018-06-05 00:04:04 +02:00
Magnus Norddahl
3e9f8e7679 - use a light array to simplify inner light math
(cherry picked from commit e3c78ab838)
2018-06-04 09:55:35 +02:00
Magnus Norddahl
f218485a57 - use affine dynlights in softpoly
(cherry picked from commit 97f4cc1951)
2018-06-04 09:55:33 +02:00
drfrag666
6d15e0eb89 Revert "- fix memory arena allocation alignment for 32 bit systems."
This reverts commit 8f138a42e3.

This gives an assertion failed error in zstring.h with MinGW.
2018-06-03 20:50:04 +02:00
Christoph Oelckers
fccd77500f - Fixed: Dehacked must not validate parameters for MBF special functions.
These won't match the conditions.
Additionally this adds disassembly output for the synthesized replacement functions for diagnostics purposes.

(cherry picked from commit d18f5eecb4)
2018-06-03 20:29:59 +02:00
Magnus Norddahl
a166f6a7ae - replace the old rect drawers with new ones based on render styles
(cherry picked from commit d425fb2d4a)
2018-06-03 20:13:48 +02:00
Magnus Norddahl
b07c4c41c7 - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (software drawer)
(cherry picked from commit 25784c2e57)
2018-06-03 20:13:12 +02:00
Magnus Norddahl
90e131b6fd - always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (softpoly drawer)
(cherry picked from commit 11bb626ab6)
2018-06-03 20:11:22 +02:00
Christoph Oelckers
8f138a42e3 - fix memory arena allocation alignment for 32 bit systems.
(cherry picked from commit 23fce56b5e)
2018-06-03 20:01:43 +02:00
Christoph Oelckers
f6f25354d7 - fixed: For melee attacks with a short attack range P_AimLineAttack must check for hits from above and below.
This is necessary to be in line with P_LineAttack which does check for those.

(cherry picked from commit a851a5d151)
2018-06-03 20:00:20 +02:00
alexey.lysiuk
53f66a6c4c - fixed mouse cursor positioning in menu for Cocoa backend
With video resolution scaling enabled engine coordinates of mouse cursor were wrong

(cherry picked from commit f8f1148c59)
2018-06-03 19:59:28 +02:00