Commit graph

13196 commits

Author SHA1 Message Date
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
alexey.lysiuk
d645da3ccf - fixed linking with sanitizer(s) enabled
no more unresolved references to various functions

(cherry picked from commit b5274534d7)
2018-06-03 19:56:19 +02:00
Marisa Kirisame
1afcd9b7c7 Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis
(cherry picked from commit f74e74ac4b)
2018-06-03 19:51:45 +02:00
Marisa Kirisame
5a76623993 Swap front face culling for GL model drawer (CCW should be the default).
Added mirroring handling to software models.

(cherry picked from commit dea1d0259d)
2018-06-03 19:49:48 +02:00
Magnus Norddahl
d086c3d4dc - removed the 8x8 block drawing code from softpoly
(cherry picked from commit a186677092)
2018-06-03 19:46:38 +02:00
Christoph Oelckers
ea752bde90 - fixed: The translucent border draw list must be rendered with depth writing active.
This gets exclusively used by portal borders which means that for walls the setting is irrelevant but for flats it is needed to cover the portal surface so that translucent parts of the outer scene do not bleed through.

(cherry picked from commit d0aacd3ba8)

# Conflicts:
#	src/gl/scene/gl_scene.cpp
2018-06-03 01:22:56 +02:00
Magnus Norddahl
06496c7df7 - fix negative rotation speed not working
(cherry picked from commit 0dbcdc8a9c)
2018-06-02 21:35:00 +02:00
Christoph Oelckers
ff5c488a0f - pass mirroring info to model drawers.
Actual evaluation only implemented in OpenGL. Not tested yet because the bug report had no testable example.

(cherry picked from commit 94d1a73ae8)
2018-06-02 21:31:23 +02:00
Christoph Oelckers
b18d198cf6 - fixed: MF3_DONTSPLASH disabled all terrain effects, not just the splash.
Untested for now because the report came without any example to check it with.

(cherry picked from commit 0c5a47ac90)
2018-06-02 21:30:46 +02:00
Marisa Kirisame
5eebbe0b1a Transform UE1 vertex coords to GZDoom's when importing, rather than leaving it up to the end user.
(cherry picked from commit 58f4af6ded)
2018-06-02 10:07:31 +02:00
alexey.lysiuk
f58dfe3605 - fixed compilation with Clang and GCC
src/gl/scene/gl_flats.cpp:215:3: error: cannot jump from this goto statement to its label
src/r_data/models/models.cpp💯18: error: no member named 'floor' in namespace 'std'

(cherry picked from commit 81f042f08b)

# Conflicts:
#	src/gl/scene/gl_flats.cpp
2018-06-02 10:04:31 +02:00
Christoph Oelckers
6fe5af7c0c - fixed: FxFloatCast must transfer the outer expression's value type to the inner expression if it performs a float->float cast.
This violated an important rule that a cast may not alter the expression's type and led to failed asserts elsewhere.

(cherry picked from commit 7d515e72c2)
2018-06-02 10:03:43 +02:00
Magnus Norddahl
1e65eea77f - fix rotationSpeed being ignored after the model interpolation fix
(cherry picked from commit 359b13b783)
2018-06-01 22:05:13 +02:00
alexey.lysiuk
8d6c4321f2 - limited length of server CVAR name to 63 characters
Due to limitation of network protocol server CVARs with longer names cannot propogate changes of their values properly

https://forum.zdoom.org/viewtopic.php?t=60729
(cherry picked from commit bff2c8cf74)
2018-05-31 11:00:42 +02:00
drfrag666
d6369978b9 - Merged "- fixed Windows XP compatibility for MSVC 2017 targets".
Workaround initially implemented for MSVC 2015 is enabled with all Windows XP compatible toolsets regardless of Visual Studio version
(patch by _mental_)
Still it's a VS bug.
2018-05-31 11:00:19 +02:00
Magnus Norddahl
60929f353f - replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
- add dynlights to softpoly pal mode

(cherry picked from commit 4e6226fc2d)
2018-05-30 11:56:15 +02:00
Magnus Norddahl
1055e45566 - Modify TriBlendMode enum to match the render styles
(cherry picked from commit 190b673890)
2018-05-30 11:55:53 +02:00
Christoph Oelckers
24d0aee2e7 - fixed: When deserializing the object list, the array must be nulled before using it so that a premature abort does not end up working on random data.
(cherry picked from commit ad343892f3)
2018-05-29 23:16:17 +02:00
drfrag666
c656185069 - Extended workaround for the stat not working issue in v140_xp to v141_xp. 2018-05-29 09:51:12 +02:00
alexey.lysiuk
4a0ef2edf1 - restore startup game state on restart
At least values of custom server CVARs were not restored because of this

https://forum.zdoom.org/viewtopic.php?t=60711
(cherry picked from commit 36779cf88c)
2018-05-27 18:43:00 +02:00
alexey.lysiuk
94b68e76f6 - garbage collect static event handlers on restart
Remaining object(s) led to a potential crash on the next garbage collection cycle
Assertion failure was triggered during restarting in Debug configuration

(cherry picked from commit e085a8d58a)
2018-05-27 18:42:59 +02:00
Magnus Norddahl
9f698c4fda - add SSE2 version of softpoly span drawer
(cherry picked from commit 9fb34fd8e6)
2018-05-26 21:58:24 +02:00
Magnus Norddahl
09ef233c41 - implement render styles for the softpoly span drawers
(cherry picked from commit 7f908ce75d)
2018-05-26 21:58:24 +02:00
alexey.lysiuk
a2f4579943 - fixed minor issues with new line specials
(cherry picked from commit 91f440378e)
2018-05-26 09:55:37 +02:00
Cacodemon345
726f7e4b03 Add missing line specials.
(cherry picked from commit b02736c705)
2018-05-26 09:55:36 +02:00
alexey.lysiuk
15b28aadd9 - fixed typo in error message
(cherry picked from commit 1634b78280)
2018-05-25 13:05:07 +02:00
Raccoon
853b277781 Add SetAutomapFlags and SetAutomapStyle line specials
(cherry picked from commit 475d3f0829)
2018-05-25 13:04:10 +02:00
Magnus Norddahl
f6e64f5018 - add #include support to TEXTURES lump
(cherry picked from commit cadc4f2a30)

# Conflicts:
#	src/textures/texturemanager.cpp
2018-05-25 12:59:28 +02:00
alexey.lysiuk
c637d32113 - fixed compilation warning with MSVC 2015
src\polyrenderer\scene/poly_portal.cpp(142): warning C4800: 'line_t *': forcing value to bool 'true' or 'false' (performance warning)

(cherry picked from commit 7576068202)
2018-05-24 11:46:43 +02:00
Magnus Norddahl
77071dedcf - add two-sided culling support in software and poly
(cherry picked from commit 8098657cf4)
2018-05-24 10:30:12 +02:00
Magnus Norddahl
3b89db85f2 - forgot to remove the remarked comment
(cherry picked from commit 771931db9f)
2018-05-24 10:28:58 +02:00
Magnus Norddahl
f05b937afa - enable #include support in modeldef files
(cherry picked from commit fb9cf33af6)
2018-05-24 10:28:57 +02:00
alexey.lysiuk
ee86e2e3be - fixed compilation with GCC/Clang
https://forum.zdoom.org/viewtopic.php?f=2&t=60657
(cherry picked from commit 26ebb938c1)
2018-05-24 10:25:43 +02:00
Magnus Norddahl
3f4e257d73 - move modeldef parsing to its own function (ParseModelDefLump)
- rename gl_InitModels to InitModels
- add commented out support for #include in modeldefs (blocked by gene tech having broken #include statements in its modeldef files)

(cherry picked from commit 91aec1689e)
2018-05-24 10:25:42 +02:00
Magnus Norddahl
8de520e9e1 - avoid reusing the same mVBuf pointer for the different renderers as that causes too many problems when switching between them
- remove gl_ prefix for model functions that are no longer GL specific

(cherry picked from commit 31abe3df7e)

# Conflicts:
#	src/gl/models/gl_models.h
#	src/gl/scene/gl_scene.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/hwrenderer/textures/hw_precache.cpp
2018-05-24 10:25:05 +02:00
Christoph Oelckers
12a2dede7e - added CVAR to disable WGL_EXT_swap_control_tear.
At least on faster NVidia hardware, setting this to false and gl_finishbeforeswap to true gives a better experience because it reduces screen tearing - but the same setting will reduce frame rate quite dramatically on Intel and can cause bad stalls on some older GPUs when rendering camera textures.

(cherry picked from commit cc65490062)
2018-05-23 10:13:35 +02:00
Magnus Norddahl
d7f907f510 - fix model interpolation bug
(cherry picked from commit cc4a09a3d2)
2018-05-21 20:11:29 +02:00
drfrag666
0552c8fbb3 - Revert "- fixed: Change compiled exe version strings to match git repo numbers."
gitinfo.h was still being included with MinGW and it was a waste of time on every commit anyway.
2018-05-21 10:28:23 +02:00
Christoph Oelckers
b0531c7293 - disable shader storage blocks if none get reported for vertex shaders.
(cherry picked from commit 3069b53804)
2018-05-20 11:20:11 +02:00
alexey.lysiuk
13d7b49eeb - added forced automap style to linedef, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
(cherry picked from commit c6f7d92c76)
2018-05-19 21:40:46 +02:00
RockstarRaccoon
84f1720ece - added 'revealed on automap' linedef flag, UDMF only
https://forum.zdoom.org/viewtopic.php?t=59808
(cherry picked from commit 90cb0b3215)
2018-05-19 21:40:45 +02:00
Marisa Kirisame
4831b9be65 Cleaned UE1 math by using FVector classes.
Reversed winding order on vertex buffer creation as UE1 uses CCW.

(cherry picked from commit 0c4a08460f)
2018-05-19 21:38:45 +02:00
alexey.lysiuk
8bfdb2aa36 - fixed compilation warnings reported by GCC/Clang
src/r_data/models/models.cpp:418:33: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models.cpp:427:38: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
src/r_data/models/models_ue1.cpp:49:37: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]

(cherry picked from commit 9257c9cc0c)
2018-05-19 21:37:10 +02:00
Rachael Alexanderson
3d86244b61 - define zdoom.rc as a proper Windows text file, stop Git from mismanaging it
# Conflicts:
#	src/win32/zdoom.rc
2018-05-18 14:01:48 +02:00
Christoph Oelckers
4811962acb - silence some warnings.
(cherry picked from commit 2962fe9f08)
2018-05-18 13:46:12 +02:00
drfrag666
986bed0475 - Keep autosaves at the top of the savegame list. 2018-05-18 13:19:53 +02:00
Rachael Alexanderson
98dc10c127 - also remove unused forward declarations
(cherry picked from commit bcadd2bf04)
2018-05-17 13:06:44 +02:00
Rachael Alexanderson
25b281659c - cleaned up vid_scaleto____ code a bit, also set a sane lower limit for vid_scalefactor, removed some code redundancy
(cherry picked from commit 0f36b9d63f)
2018-05-17 13:06:44 +02:00
Rachael Alexanderson
126dcb5a70 - added vid_scaletowidth and vid_scaletoheight to calculate vid_scalefactor to reach a certain value on screen dynamics
(cherry picked from commit 0fae13bab4)
2018-05-17 13:06:43 +02:00
Christoph Oelckers
87121e2936 - fix warnings.
(cherry picked from commit fb876852bb)
2018-05-17 13:01:32 +02:00
Marisa Kirisame
30193423a6 Fix for Unreal meshes that don't have sequential texture numbers
(cherry picked from commit 1bb00ed4f0)
2018-05-17 13:01:31 +02:00
Marisa Kirisame
e2b3dc1c74 Remove unnecessary checks.
(cherry picked from commit 98f279b651)
2018-05-17 13:01:30 +02:00
Marisa Kirisame
91acd10e75 Discarded "UMSH" packed format, now loads _d.3d + _a.3d pairs
(cherry picked from commit ffc12eec29)
2018-05-17 13:01:29 +02:00
Marisa Kirisame
08d15514d2 Add support for packed Unreal Engine 1 vertex mesh format.
(concatenated "UMSH" signature + datafile + anivfile)
This is pretty much 100% functional by now.
Hasn't been tested on platforms other than Linux yet, though.
Code definitely deserves some cleaning.

(cherry picked from commit f285e550d6)
2018-05-17 13:01:28 +02:00
drfrag666
0e25e40deb - Addressed crash on exit with MinGW. This is a hack and i've reported it as a bug in the MinGW C runtime. 2018-05-17 12:06:44 +02:00
alexey.lysiuk
f8dc707edf - fixed seeking end of file in memory reader
https://forum.zdoom.org/viewtopic.php?t=60611
(cherry picked from commit 42668c6a5a)
2018-05-17 11:57:05 +02:00
alexey.lysiuk
86eb6b8f85 - trigger WorldThingDamaged event before WorldThingDied
https://forum.zdoom.org/viewtopic.php?t=60597
(cherry picked from commit fc91827900)
2018-05-17 11:57:04 +02:00
Jonathan Russell
c8a47653bf - added LevelLocals vec2/3Offset(Z) functions for portal-aware offsetting without needing actors
(cherry picked from commit e9050a38b3)
2018-05-17 11:57:03 +02:00
alexey.lysiuk
a66686225d - fixed potential crash on startup, Windows only
At least one version of Windows SDK (10.0.17134.0) has broken _pgmptr/_get_pgmptr()
It points to an empty string for multi-byte character set applications
GetModuleFileName() is now used instead regardless of compiler/toolchain
Added extra guard against unexpected program paths to avoid crashes

https://forum.zdoom.org/viewtopic.php?t=60598
(cherry picked from commit e1e441091d)
2018-05-16 11:58:38 +02:00
drfrag666
cc397295b6 - Fixed bad merge of "- some Transfer_Heights related optimizations". 2018-05-14 23:44:33 +02:00
alexey.lysiuk
4c7261c3b6 - fixed wrong line number in error message
Parser of MAPINFO editor number definitions didn't assign line numbers, so 'Unknown actor class' fatal error displayed some garbage

(cherry picked from commit 751e318c4e)
2018-05-14 18:06:59 +02:00
drfrag666
429bd5d843 - Made VMFrameStack GlobalVMStack a non thread_local variable for MinGW since that helps to prevent crashes on exit. 2018-05-14 12:53:57 +02:00
alexey.lysiuk
c06501d7ca - use map axes in bad sound position/velocity warning
https://forum.zdoom.org/viewtopic.php?t=60578
(cherry picked from commit 8a6ae503be)
2018-05-13 19:14:01 +02:00
drfrag666
9416219ea5 - Fixed bad merge of "- Clean up PolyTriangleDrawer API" 2018-05-13 19:11:29 +02:00
drfrag666
dc8d32cb69 - Changed savegame list order, now they are sorted by reverse slot number instead of alphabetically. 2018-05-13 11:53:47 +02:00
drfrag666
108f0d3fd7 - Give an error message instead of just crashing on non SSE2 cpus. 2018-05-12 14:48:52 +02:00
drfrag
30a606ed6b - Fixed crash with textures larger than those supported by the hardware in the D3D backend.
# Conflicts:
#	src/win32/fb_d3d9.cpp
2018-05-12 14:28:58 +02:00
alexey.lysiuk
a545e7de35 - added end line to various messages
so they don't screw up further output anymore

(cherry picked from commit f17f8c9359)

# Conflicts:
#	src/gl/compatibility/gl_swshader20.cpp
2018-05-12 11:49:10 +02:00
Magnus Norddahl
5ade87d974 - move 3d floor code into functions
(cherry picked from commit 643828f5fa)
2018-05-12 11:41:00 +02:00
Magnus Norddahl
4a390a1c27 - more pointless complexity removal
(cherry picked from commit e4d740e586)
2018-05-12 11:40:59 +02:00
Magnus Norddahl
ba6c4e4c4a - remove pointless code
(cherry picked from commit acf9f55849)
2018-05-12 11:40:57 +02:00
drfrag666
087c3b4c01 - Fixed -iwad parameter working only with VS on Windows. 2018-05-12 11:32:53 +02:00
drfrag666
d60299c740 - Fixed compilation with VS. 2018-05-11 14:22:43 +02:00
Magnus Norddahl
ee5db9963b - fixed sloped drawer crash
(cherry picked from commit b0cc472e85)
2018-05-11 12:40:27 +02:00
landfillbaby
4ad3f2ed2f fix highlighting in snd_listmididevices
(cherry picked from commit ba9a340c1f)
2018-05-10 21:58:56 +02:00
alexey.lysiuk
807820b54b - fixed crash in DECORATE parsing
The case with forward declared class used as a parent must be handled explicitly

actor MyWeapon : Weapon { Weapon.AmmoType "MyBaseAmmo" }
actor MyAmmo : MyBaseAmmo { }
actor MyBaseAmmo : Ammo { }

(cherry picked from commit ef536e7b00)
2018-05-10 21:58:55 +02:00
alexey.lysiuk
82121a0e43 - added end line to recursive sound warning
(cherry picked from commit 821cc2a140)
2018-05-10 21:58:34 +02:00
alexey.lysiuk
91d91ce84f - Cocoa: ability to use drag and drop with custom IWADs
(cherry picked from commit fd5df6e8d1)
2018-05-10 21:57:58 +02:00
alexey.lysiuk
12f1820ea5 - Cocoa: proper defaults in .plist
(cherry picked from commit 23dcc27542)
2018-05-10 21:57:32 +02:00
Magnus Norddahl
14f9c63cd7 - added r_debug_draw that shows how the software renderer composes its scene
(cherry picked from commit 459f748c4e)
2018-05-10 21:57:12 +02:00
Magnus Norddahl
8014b97c3d - 3d floor clipping support for models
(cherry picked from commit b27655db70)
2018-05-10 21:53:46 +02:00
Magnus Norddahl
07b067c218 - GetTimeFloat is not renderer specific
(cherry picked from commit 49c9de350f)
2018-05-10 21:53:31 +02:00
Magnus Norddahl
216ecd7e07 - fix hud model clipping
(cherry picked from commit bfe6bffd33)
2018-05-10 21:53:07 +02:00
alexey.lysiuk
0a5579cdd6 - proper handle pixel format creation errors in Cocoa backend
(cherry picked from commit 78c06554af)
2018-05-10 21:52:50 +02:00
alexey.lysiuk
5f850067b3 - SDL: clear button state when switching from/to GUI input
https://forum.zdoom.org/viewtopic.php?t=60451
(cherry picked from commit 7fcefa2ed1)

# Conflicts:
#	src/posix/sdl/i_input.cpp
2018-05-10 21:51:00 +02:00
alexey.lysiuk
ac73549bd2 - use libc++ for all targets on macOS
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
(cherry picked from commit ce18ff1df3)

# Conflicts:
#	CMakeLists.txt
2018-05-10 21:49:07 +02:00
Magnus Norddahl
5a6eb48690 - fixed missing depth for models
(cherry picked from commit 4642861501)
2018-05-10 21:29:37 +02:00
Magnus Norddahl
2f1c5ee5d2 - fix translucent walls when r_models is enabled
(cherry picked from commit 1d929dd79b)
2018-05-10 21:21:51 +02:00
alexey.lysiuk
a106594b6b - serialize 'spawned' object flag, WorldThingDestroyed event relies on it
https://forum.zdoom.org/viewtopic.php?t=60435
(cherry picked from commit 437b44bafb)
2018-05-10 21:18:21 +02:00
alexey.lysiuk
21ce592771 - skip rendering when application is not active
Use vid_activeinbackground CVAR to override this behavior

(cherry picked from commit 2be84dc636)

# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
#	src/posix/cocoa/i_video.mm
#	src/posix/sdl/gl_sysfb.h
#	src/posix/sdl/sdlglvideo.cpp
#	src/win32/gl_sysfb.h
#	src/win32/win32gliface.cpp
2018-05-10 21:16:38 +02:00
Hisymak
fe4adb849d OPL Synth fix: Double-voice instruments randomly don't play second voice
(cherry picked from commit 583da7f6cf)
2018-05-10 20:54:47 +02:00
Christoph Oelckers
7b822807de - renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.

(cherry picked from commit 9bdb0f2e49)
2018-05-10 19:49:02 +02:00
Christoph Oelckers
8a3a293bf8 - use sector_t::GetHeightSec consistently and optimize it.
This was all over the place, with half of it using the function and half doing incomplete checks on the underlying variables.
Also did some optimization on the IGNOREHEIGHTSEC flag: Putting it on the destination sector instead of the model sector makes the check even simpler and allows to precalculate the effect of 3D floors on the heightsec, which previously had to be run on every call and made the function too complex for inlining.

(cherry picked from commit f49c6cbde2)

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
2018-05-10 19:20:11 +02:00
Christoph Oelckers
e5aca6dfa4 - some Transfer_Heights related optimizations.
* only call hw_CheckViewArea if the result is not known yet.
* check the map up front if it even contains heightsecs. This allows to shortcut the above check entirely for maps without sector transfers and will allow further optimizations.

(cherry picked from commit 3c49804c6c)

# Conflicts:
#	src/gl/scene/gl_bsp.cpp
#	src/gl/scene/gl_fakeflat.cpp
#	src/hwrenderer/scene/hw_fakeflat.h
2018-05-10 18:37:20 +02:00
Christoph Oelckers
84b261d947 - don't force the renderer to remain active in windowed mode when in the background.
It's ok to have this as an option, but not as an unconditional forced feature.

(cherry picked from commit b35213741f)
2018-05-10 14:59:22 +02:00
Christoph Oelckers
4a74c9606a - allow animated title pics.
This also applies to all other images shown in the title loop as well.

(cherry picked from commit af76e9a9c4)
2018-05-10 14:48:45 +02:00
Hisymak
b825b4317f Fix OPL Synth note cutoffs and issues after removal of MusLib
This should fix bug reported in https://forum.zdoom.org/viewtopic.php?
f=104&t=56682.
There were two problems:
1. Algorithm to select a free voice was not appropriate. Changed to a
simple "least-recently-freed voice" algorithm.
2. Sustained voices were treated as used voices and never got replaced.
Now sustained voices are preferentially replaced when there are no free
voices.

(cherry picked from commit 07586af6d1)
2018-05-10 13:59:06 +02:00
Christoph Oelckers
9415b86e37 - fixed a memory leak in the FileReader.
(cherry picked from commit 4d72214fd5)
2018-05-10 13:58:38 +02:00
alexey.lysiuk
56b0e9627c Fixed walkthrough blocker in Sin City 2 via compatibility entry
It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b broke triggering of important linedef that pushes friendly marine to exit switch

https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
(cherry picked from commit 6d308ca67e)
2018-05-10 13:56:45 +02:00
alexey.lysiuk
b1b45102ef Added startup song definition for custom IWADs
https://forum.zdoom.org/viewtopic.php?t=60314
(cherry picked from commit 2ae8b0c093)
2018-05-10 13:53:14 +02:00
alexey.lysiuk
739ebbb8f1 Fixed crash during line tracing when enter sector is null
https://forum.zdoom.org/viewtopic.php?t=60371
(cherry picked from commit 3111ec97bb)
2018-05-10 13:51:56 +02:00
ZZYZX
407cdc9683 Only call additional LineCheck if there are 3D floors
(cherry picked from commit 3129840a04)
2018-05-10 13:47:30 +02:00
ZZYZX
a39e2c518f Implemented workaround for ZScript LineTrace with 3D floors
(cherry picked from commit 3eef3d7845)
2018-05-10 13:47:28 +02:00
drfrag666
f0542852e6 - Removed some not needed version.h includes. 2018-05-10 13:38:21 +02:00
Magnus Norddahl
5a64f6eb18 - fix softpoly line portals
(cherry picked from commit 45625399dc)
2018-05-10 11:16:26 +02:00
alexey.lysiuk
5f0ecca567 All platform-specific headers are referenced by generated projects
This was already the case on Windows anyway

(cherry picked from commit c264ff05da)
2018-05-10 11:15:37 +02:00
Magnus Norddahl
2fdcfa9f55 - slightly improve sector portal handling in softpoly
(cherry picked from commit 2aee68d215)
2018-05-10 11:01:49 +02:00
Magnus Norddahl
83c0ec8b15 - fix softpoly mirrors
(cherry picked from commit 6e77cb4906)
2018-05-10 10:50:49 +02:00
Magnus Norddahl
bcb2ba6f29 - Simplify the portal code in softpoly somewhat
(cherry picked from commit 16a8d71caf)

# Conflicts:
#	src/polyrenderer/poly_renderer.cpp
2018-05-10 10:49:49 +02:00
alexey.lysiuk
343bcdad58 Actor's Activation property is now stored in saved game
https://forum.zdoom.org/viewtopic.php?t=60295
(cherry picked from commit b0261d9545)
2018-05-09 22:14:50 +02:00
alexey.lysiuk
a695cb426a Disabled annoying MSVC 2015 warnings in ADL and OPN files
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_midiplay.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_load.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_private.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_opl3.cpp)
src\sound\opnmidi\opnmidi.cpp(132): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi.cpp(147): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(168): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(177): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(186): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(195): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(209): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(740): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(741): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(742): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(743): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_midiplay.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_load.cpp)
src\sound\opnmidi\opnmidi_midiplay.cpp(697): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_midiplay.cpp(698): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_opn2.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_private.cpp)

(cherry picked from commit 671736ecdc)
2018-05-09 21:48:57 +02:00
drfrag666
ca0dee561b - Include gitinfo.h in version.h only for VS.
- Wrong version.

Avoid building of several files on each pull/reset/amend/cherry-pick/etc
2018-05-09 21:47:41 +02:00
drfrag666
538897430d - 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.
(ported patch by Graf)
2018-05-09 19:05:10 +02:00
drfrag666
8d45611cab - changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
(patch by Graf)
2018-05-09 14:57:13 +02:00
alexey.lysiuk
2642cae3cd Fixed dangling links to garbage collected HUD message objects
https://forum.zdoom.org/viewtopic.php?t=60262
(cherry picked from commit 7a11be8615)
2018-05-09 12:31:39 +02:00
alexey.lysiuk
63514823e1 Added ability to set thing position in compatibility layer
(cherry picked from commit 87d164ee59)
2018-05-09 12:31:37 +02:00
Magnus Norddahl
3c382553ce - fix missing fuzz initialization in softpoly
(cherry picked from commit 4a3f7e8dd5)
2018-05-09 12:26:59 +02:00
Magnus Norddahl
153ce9e118 - fix softpoly portal crash and blinking translucent objects
(cherry picked from commit f5c2ffabc9)
2018-05-09 12:20:39 +02:00
drfrag666
8aa4e84b84 - add null pointer check on camera (patch by dpJudas) 2018-05-09 12:16:01 +02:00
Magnus Norddahl
39194db54f - fix softpoly portal crash
(cherry picked from commit 61032cb6ae)
2018-05-09 11:46:26 +02:00
Christoph Oelckers
148353ab25 -protected critical portal data from getting written to by user code.
This data is game critical and may only be altered by code that knows what is allowed and what not. It must never be altered by any user code ever.
However, since the SkyViewpoint actors need to set up some relations between themselves and the default sky portals the previously purely internal 'internal' flag has been exported as a new keyword.

(cherry picked from commit cf8447d19c)
2018-05-09 11:45:20 +02:00
alexey.lysiuk
d03e966867 Fixed broken portals after loading saved game
Portals disabled initially and activated by scripting must be fully restored after loading of saved game

https://forum.zdoom.org/viewtopic.php?t=59999
(cherry picked from commit 4ea16acef5)

# Conflicts:
#	src/p_setup.cpp
2018-05-09 11:43:03 +02:00
Christoph Oelckers
40ac98fa21 - fixed: Rendering a translucent mid texture did not unset the render style for the following bottom texture.
With additive translucency and non-black fog this caused visual errors.

(cherry picked from commit 515323dcbd)
2018-05-09 11:37:35 +02:00
Magnus Norddahl
7a3433bb71 - disable software models
(cherry picked from commit ee443b6fb6)

# Conflicts:
#	src/polyrenderer/scene/poly_playersprite.cpp
2018-05-09 11:27:15 +02:00
Magnus Norddahl
8f930ee571 - Fix depth values when screenblocks less than 11
(cherry picked from commit 1a5f679d43)
2018-05-09 11:16:51 +02:00
Magnus Norddahl
8296b6ae81 - Fix model projection matrix
(cherry picked from commit b1355d472c)
2018-05-09 11:10:38 +02:00
Magnus Norddahl
1101253fc6 - Fix depth values written by sloped planes
(cherry picked from commit 7f25913b2d)
2018-05-09 11:10:37 +02:00
Magnus Norddahl
3da37a796b - Remove include that shouldn't be there (also caused macOS builds to fail)
(cherry picked from commit c15328de2f)
2018-05-09 11:04:06 +02:00
Magnus Norddahl
e519605c7d - Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes

(cherry picked from commit 2d51fa5b43)
2018-05-09 10:47:22 +02:00
alexey.lysiuk
047ec41df9 Added activation type to WorldLine(Pre)Activated events
https://forum.zdoom.org/viewtopic.php?t=60232
(cherry picked from commit ba4cc1a6ca)
2018-05-09 10:34:12 +02:00
alexey.lysiuk
cfcf78269d Added names for arguments in DStaticEventHandler class definition
(cherry picked from commit 83c513b6c9)
2018-05-09 10:28:52 +02:00
Christoph Oelckers
f05fe61369 - added missing validation to SetCameraToTexture ZScript function.
(cherry picked from commit 927b351174)
2018-05-09 10:08:33 +02:00
drfrag666
192101ac29 Merge remote-tracking branch 'remotes/gzdoom/ZCompat2' into g3.3mgw 2018-05-09 09:58:47 +02:00
Rachael Alexanderson
a82f428910 - remove TLS workaround and turn it into an actual error since it is required in order to even properly compile and not all systems properly detect this.
(cherry picked from commit a23259f26a)
2018-05-09 09:54:36 +02:00
drfrag666
be304a4929 - SSE2 instructions were always enabled for certain files. 2018-04-30 12:57:36 +02:00
drfrag666
a695491a1f - Restored DoBlending_MMX for non SSE2 cpus. 2018-04-28 20:36:54 +02:00
drfrag666
0c38c72ad7 - Some cleanup. 2018-04-27 22:00:31 +02:00
drfrag666
5a7192137d - Fixed usage of old _declspec. 2018-04-25 12:03:59 +02:00
drfrag666
bc2b82b1fb - Fixed 'thread' attribute directive ignored warning with gcc. 2018-04-23 17:49:32 +02:00
drfrag666
f04a1cb497 - Added USE_SSE2 compile option for gcc. 2018-04-22 22:41:03 +02:00
drfrag666
05b453d2a9 - Fixed missing manifest for MinGW. 2018-04-22 19:25:36 +02:00
drfrag666
54e8bf74ce - Restored dependency on dxguid library for MinGW. 2018-04-22 18:50:12 +02:00
drfrag666
2a41088fb6 - Partially reverted Blzut3's patch to gl_framebuffer.h. It was no longer applicable. 2018-04-22 14:22:17 +02:00
drfrag666
6844f20081 - Don't use secure directory creation for mingw32. 2018-04-22 12:37:07 +02:00
drfrag666
799e623377 - Fixed compilation with gcc 5.1. (patch by Graf) 2018-04-22 11:55:36 +02:00
drfrag666
354388f224 - Missing formatting macro definitions for MinGW. 2018-04-22 11:49:10 +02:00
drfrag666
2c5e37499d - Fixed zdoom.rc for MinGW. 2018-04-22 11:04:14 +02:00
drfrag
9727484190 - Applied Blzut3's patches to compile with MinGW. 2018-04-22 10:08:00 +02:00
drfrag
ad5959b827 - Applied some Blzut3 patches to compile with MinGW. 2018-04-22 09:50:38 +02:00
drfrag666
86a22d8cce - Fixed improved crash handling in drawers not compiling with mingw32. 2018-04-22 00:11:34 +02:00
Christoph Oelckers
387827555f - added compatibility handler for Alien Vendetta MAP01 to properly display the deep water hack and avoid problems with a node rebuild. 2018-04-11 23:08:59 +02:00
Christoph Oelckers
3aea82797c - removed the parser for complex compatibility settings, now that this can be done via scripting. 2018-04-11 19:21:02 +02:00