Commit graph

12979 commits

Author SHA1 Message Date
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
Christoph Oelckers
3988e27059 - scriptified the last remaining definition (BTSX MAP12 beta)
- Changes to map geometry must force a node rebuild (SetVertex, SetLineSectorRef.)
- fixed incorrect use of scaling constant in SetWallYScale.
2018-04-11 19:10:15 +02:00
alexey.lysiuk
6631f208b1 Scriptified remaining compatibility entries 2018-04-11 17:01:57 +03:00
alexey.lysiuk
950443683b Scriptified compatibility of more Heretic levels 2018-04-11 12:35:45 +03:00
Christoph Oelckers
0ecbf07769 -ported a large part of compatibility.txt 2018-04-10 23:19:22 +02:00
Christoph Oelckers
9daad477c3 - some improvements to compatibility scripts:
* use names, not strings, to allow use of switch/case.
* avoid creating the checksum a second time per level.
* do an early-out check for maps that do not have scripted compatibility.
2018-04-09 22:09:28 +02:00
alexey.lysiuk
640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03:00
drfrag666
80f57dfaf0 - Increased size of the savegame comment area. 2018-04-08 21:56:35 +02:00
Marisa Kirisame
8ff81c93e8 Fix building on GCC7. 2018-04-08 21:53:20 +02:00
Marisa Kirisame
08f3afab0b Separated P_ActivateLine ZScript export into two functions, one with and one without a vector parameter. 2018-04-08 21:53:20 +02:00
Marisa Kirisame
5d0ff4c8ba Exports P_ActivateLine to ZScript (along with constants for activation type) 2018-04-08 21:53:20 +02:00
Christoph Oelckers
7c70e0971c - disabled the survey code.
This survey is now closed and new input no longer needed.
2018-04-08 20:51:19 +02:00
alexey.lysiuk
cb3650ed9e Added message for absent explicitly referenced dialog file 2018-04-07 12:52:38 +03:00
alexey.lysiuk
3239a9eaa6 Added loading of ZSDF lumps by full paths
https://forum.zdoom.org/viewtopic.php?t=60139
2018-04-07 12:43:10 +03:00
alexey.lysiuk
7bd281ddc9 Added zero initialization of implicit dynamic array items
https://forum.zdoom.org/viewtopic.php?t=60111
2018-04-05 12:22:41 +03:00
Magnus Norddahl
b1d33d1bba - Fix mid texture rendering for self-referencing sector lines 2018-04-05 01:40:58 +02:00
alexey.lysiuk
b6f184491b Restored vanilla behavior of lightning for original Hexen
https://forum.zdoom.org/viewtopic.php?t=60103
2018-04-04 16:46:01 +03:00
alexey.lysiuk
2e7d196f8b Fixed crash when vid_setmode CCMD is used from command line
It's impossible to validate video mode at such early stage of initialization
Added sanity check for mode's width and height as well

https://forum.zdoom.org/viewtopic.php?t=59990
2018-04-04 11:46:14 +03:00
alexey.lysiuk
c70f9cf833 Reintroduced discarding of custom IWAD duplicates
Detection of duplicated IWADs now works the same for embedded and custom IWADINFO definitions

https://forum.zdoom.org/viewtopic.php?t=58333
2018-04-02 16:16:47 +03:00
alexey.lysiuk
4de9597006 Fixed detection of .ipk7 custom IWADs 2018-04-02 15:32:00 +03:00
alexey.lysiuk
ac7e5def32 Forbade dynamic array as the return type of a function
Compiler ignored this case silently but it crashed during code generation
2018-04-02 15:18:30 +03:00
alexey.lysiuk
5df5e2abe7 Fixed excessive growth of ACS string pool
This fixes usage of uninitialized variable in ACSStringPool::PoolEntry objects
The initial version (before 66d15dc) increased pool size by one entry and assign all its members right after that
The improved version reserved MIN_GC_SIZE entries but didn't initialize anything except the first one
ACSStringPool::FindFirstFreeEntry() cannot find the proper entry as it uses PoolEntry::Next member for list traversal
It's enough to initialize Next member with FREE_ENTRY value because other fields will be assigned anyway inside ACSStringPool::InsertString()

https://forum.zdoom.org/viewtopic.php?t=60049
2018-04-01 16:27:08 +03:00
alexey.lysiuk
ff96980dda Fixed handling of default values in String.Mid()
https://forum.zdoom.org/viewtopic.php?t=60047
2018-03-31 21:45:20 +03:00
alexey.lysiuk
b36fc82fff Removed check for duplicate IWADs
Skipping of duplicate IWADs seems to serve a cosmetic purpose only but it caused troubles with custom IWADs
https://forum.zdoom.org/viewtopic.php?t=58333
2018-03-31 15:34:55 +03:00
alexey.lysiuk
ca0e39cd0c Added ability to load any IWAD without extension
Previously, only .wad files can specified without file extension for -iwad command line option
For example, -iwad square1 will load square1.pk3 as IWAD
2018-03-31 15:32:28 +03:00
alexey.lysiuk
17bc9c3f69 Fixed handling of default value in Actor.Vec3Angle() 2018-03-31 11:46:06 +03:00
ZippeyKeys12
0441994106 Default newradius in A_SetSize 2018-03-30 18:06:46 -05:00
alexey.lysiuk
709bbe3db0 Fixed crash on accessing player sprite's state in software renderer
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:40:31 +03:00
alexey.lysiuk
408a2f6dab Fixed uninitialized members in DPSprite class
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:38:51 +03:00
alexey.lysiuk
140ad241c4 Adjusted validation limit for sound velocity again :(
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-30 10:42:22 +03:00
Vitaly Novichkov
74c5bab075 Attempt to fix a blank banks list of ADLMIDI
That happen because of silly dependency on soundfonts list which is totally unneeded to ADLMIDI as it uses embedded banks or external banks in a different format.
https://forum.zdoom.org/viewtopic.php?f=104&t=59997&p=1047184
2018-03-29 23:39:15 -04:00
alexey.lysiuk
b952653303 Set more suitable limit for sound velocity validation
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-29 17:37:36 +03:00
alexey.lysiuk
cbad9ac219 Fixed crash when event handler class isn't derived from StaticEventHandler 2018-03-29 16:41:29 +03:00
Wohlstand
2d79d187d5 OPNMIDI: Remove std:: from all snprintf calls 2018-03-28 20:37:55 +03:00
Wohlstand
6a497a0b92 ADLMIDI: Update latest update of DMXOPL3 bank by @sneakernets
And a small polishing of bank names to keep the informative, but much shorter
2018-03-28 20:34:28 +03:00
Wohlstand
99e24efc2c ADLMIDI: Remove std:: from all snprintf-s 2018-03-28 20:33:02 +03:00
alexey.lysiuk
fdd93d704d Merged list of video modes for Cocoa and SDL backends
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Vitaly Novichkov
38156b9243 ADL&OPL: Added a fallback for a blank instruments in GS/XG banks 2018-03-27 07:36:07 +02:00
Marisa Kirisame
19b701728d Typo fix in linetrace flags checking. 2018-03-26 22:00:17 +02:00
Christoph Oelckers
3c3c2f03e8 The missing parts of last commit. 2018-03-26 20:44:25 +02:00
Christoph Oelckers
7c333b1fd1 - changed the default settings for fluid_patchset, timidity_config and midi_config to point to the default sound font.
wildmidi_config has not been changed because it cannot read .sf2 files.
2018-03-26 20:43:44 +02:00
Christoph Oelckers
d166ab95a9 Revert "- fixed: 3D floor that extend into the real sector's floor were not clipped properly."
This reverts commit a33ad3c99e.

Turns out that this breaks legitimate maps. So I'd rather let that one broken map glitch than the good ones.
2018-03-26 19:44:41 +02:00
Christoph Oelckers
f8019637cf - fixed: FBuildTexture::CopyTrueColorPixels returned incorrect transparency information 2018-03-26 11:46:33 +02:00
Christoph Oelckers
755cbd341b - fixed: A sprite having a picnum was not animating its image in the hardware renderer. 2018-03-25 22:01:18 +02:00
alexey.lysiuk
75a65873e7 Fixed applying of unsafe context in waiting command
https://forum.zdoom.org/viewtopic.php?t=59947
2018-03-25 22:38:38 +03:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
5c7f2e0217 - removed some dumb CMake script that messed around with Visual Studio's user settings. 2018-03-25 17:51:23 +02:00
Christoph Oelckers
c0893027da - added a band-aid fix in case Timidity has both chorus and reverb active.
This merely addresses the crashing issue, it does nothing about the faulty initialization logic here that causes the chorus not to get initialized properly if reverb is active.
The issue needs more in-detail investigation but for now this has to suffice.
2018-03-25 12:12:14 +02:00
Christoph Oelckers
4c4f8288a4 - disable XP toolset warning for 64 bit builds.
- fixed an error with assigning a string constant to a non-const char * variable that was pointed out by compiling with /permissive-.
2018-03-25 10:50:14 +02:00
Vitaly Novichkov
27b9b67d68 ADL&OPN: More setup: Chips count and Volume model!
Notes:
* ADL: The DMX volume model was set as default to unify volumes on all bank. Otherwise, if you will use 'Generic' or 'Win9x', the sound will became too loud than wanted. Each bank has own default volume model which is used when 'Auto' is set.
* ADL: 6 chips is optimal to work with default banks
* OPN: 8 chips are set to provide 48 polyphony channels. (each OPN2 chip has 6 channels only)
* Text files: junk spaces from end of lines are was auto-removed.
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
f7e45b06b7 Fixed double-increment and use a safer way to fetch a bank names
(in case of new bank will be added (or removed) on ADLMIDI side, no need to change the count of banks in "some deep place"  of code)
2018-03-25 08:14:35 +02:00
Vitaly Novichkov
79d7067f07 Fixed typo in the error message: it's YM2612 is OPN2 which is not OPL 2018-03-25 08:14:35 +02:00
Rachael Alexanderson
3e31b89929 - corrected 2 spelling errors and added a linebreak with a really long line for the stats prompt 2018-03-25 00:35:57 -04:00
Vitaly Novichkov
a60dc64e71 ADL&OPN: Fix long vs int64 conflict in 'CalcChGoodness' 2018-03-25 01:37:44 +03:00
Vitaly Novichkov
6e6d1b5e97 Merge branch 'master' of git@github.com:coelckers/gzdoom.git 2018-03-25 01:20:31 +03:00
Christoph Oelckers
95d7101e26 - stats sending message. 2018-03-24 23:16:21 +01:00
Christoph Oelckers
a33ad3c99e - fixed: 3D floor that extend into the real sector's floor were not clipped properly.
The only check being done on this was done after processing for the renderer which simply is too late.
2018-03-24 22:42:10 +01:00
Vitaly Novichkov
d202ef9e68 Merge branch 'master' of git@github.com:coelckers/gzdoom.git
# Conflicts:
#	src/sound/opnmidi/opnmidi_private.hpp
2018-03-25 00:41:11 +03:00
Vitaly Novichkov
15e133afb9 ADLMIDI & OPNMIDI: Little clean and MSVC warnings muting 2018-03-25 00:38:26 +03:00
Christoph Oelckers
73f9300c2b - disable MSVC warnings in OPNMidi. 2018-03-24 21:53:37 +01:00
Vitaly Novichkov
5acffa693f Merge branch 'master' of git@github.com:coelckers/gzdoom.git
# Conflicts:
#	src/sound/adlmidi/adlmidi.cpp
2018-03-24 23:51:36 +03:00
Vitaly Novichkov
be1b884a04 OPNMIDI: Natively disable embedded MUS and XMI, and MIDI sequencer 2018-03-24 23:46:05 +03:00
Vitaly Novichkov
0816018d36 ADLMIDI: Another warning fix 2018-03-24 23:33:39 +03:00
Christoph Oelckers
77a2101c06 - re-applied my changes to ADLMIDI code:
* disable sstream. No point pulling in such a large piece of code for two error messages.
* disable MSVC warnings which get emitted by the code.
2018-03-24 21:30:59 +01:00
Vitaly Novichkov
e31830e8be ADLMIDI: Tiny warning fix 2018-03-24 21:26:30 +01:00
Vitaly Novichkov
be81e00722 ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom

I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 21:26:30 +01:00
Vitaly Novichkov
c65a004e08 ADLMIDI: Tiny warning fix 2018-03-24 23:19:50 +03:00
Christoph Oelckers
4e012e3765 - fill in the ADL bank menu from the internal table. Some of the names had to be shortened to prevent it from getting too confusing. 2018-03-24 21:19:10 +01:00
Vitaly Novichkov
b6302f5fc9 ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom

I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 22:45:54 +03:00
Christoph Oelckers
49ab99a383 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-24 19:40:52 +01:00
Christoph Oelckers
b8f2d1fc06 - better CVAR control for Timidity++ reverb. 2018-03-24 19:40:39 +01:00
Christoph Oelckers
4978d979e8 - fixed Windows version of snd_mididevice.
- removed mus2mis and xmi2mid converters from OPNMidi, because they are not needed.
- moved the data file for OPNMidi into gzdoom.pk3.
2018-03-24 18:29:12 +01:00
Christoph Oelckers
8aeb6531be Merge branch 'opnMIDI' of https://github.com/Wohlstand/gzdoom into opnmidi 2018-03-24 17:10:50 +01:00
Marisa Kirisame
0656916bf2 Add WorldLinePreActivated to override line activation, as a counterpart to WorldLineActivated. 2018-03-24 16:30:49 +01:00
Vitaly Novichkov
6308fb311b Added support for libOPNMIDI Playing device 2018-03-24 17:58:47 +03:00
Vitaly Novichkov
46942cb27f Added libOPNMIDI sources 2018-03-24 17:52:52 +03:00
alexey.lysiuk
a4bee610b4 Added runtime warning about usage of unsupported OpenAL implementation
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 15:00:36 +02:00
alexey.lysiuk
c4b3dcf266 Fixed indent of OpenAL initialization messages
Tab characters should not be used for indenting messages in console
2018-03-24 14:53:47 +02:00
alexey.lysiuk
4f6a853bfb Added validation of sound position and velocity
https://forum.zdoom.org/viewtopic.php?t=57632
2018-03-24 13:09:55 +01:00
Christoph Oelckers
da74b9df95 - serialize the temporary music volume that can be set through ACS. 2018-03-24 13:07:18 +01:00
alexey.lysiuk
40bf8a421e User's OpenAL library has precedence over Apple's framework
https://forum.zdoom.org/viewtopic.php?t=59920
2018-03-24 12:09:23 +02:00
Marisa Kirisame
3072c9bf7c Add PostUiTick(). Happens after all other tickers. Useful for handling changes in the play side within the same tic. 2018-03-24 10:24:13 +01:00
Marisa Kirisame
69c6e95b08 Add worldlineactivated event, triggered after successful line activation. 2018-03-24 10:23:31 +01:00
Jason Francis
bd7791ad9c Allow setting string user variables in ACS 2018-03-24 10:20:39 +01:00
Jason Francis
4494b18e8a Enable string & float user_ properties in UDMF things 2018-03-24 10:20:39 +01:00
alexey.lysiuk
2951476ce0 Fixed compilation with GCC and Clang
src/v_video.h:56:6: error: ISO C++ forbids forward references to 'enum' types
src/v_video.h:342:17: error: field has incomplete type 'FTextureFormat'
src/v_video.h:344:47: error: variable has incomplete type 'FTextureFormat'
2018-03-24 09:53:55 +02:00
Marisa Kirisame
634a10db52 Adds "DI_MIRROR" flag to statusbar image drawing. Useful for rearview mirror camera textures, for example. 2018-03-24 00:29:50 +01:00
Christoph Oelckers
7301001a3f - made the necessary adjustments to the HW2D interfaces to handle alpha textures properly.
These cannot be done with the regular textures so there needs to be an option to create more than one native texture per FTexture. For completeness' sake there is also the option now to create a paletted version of a texture if the regular one is true color. This fixes a long standing problem that translations were not applied to non-paletted textures.
2018-03-23 23:04:30 +01:00
Christoph Oelckers
3c6b09b3a1 Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2 2018-03-23 19:53:06 +01:00
Christoph Oelckers
1c9b08dd44 Merge remote-tracking branch 'remotes/origin/master' into alphatex2 2018-03-23 19:52:48 +01:00
Christoph Oelckers
4c781a8f65 - finished verification of proper texture generation and fixed a few remaining issues.
Aside from PCX 4 bit, uncompressed PCX and TGA grayscale for which I was unable to obtain test images, all others now produce proper textures in both 8 and 32 bit mode.
2018-03-23 19:52:08 +01:00
alexey.lysiuk
836b09c933 Added third-party sound headers to CMake generated project 2018-03-23 12:47:37 +02:00
Vitaly Novichkov
4f104b0da9 Fixed incorrect pitch processing in the ADLMIDI 2018-03-23 00:35:20 +01:00
Christoph Oelckers
0a07f4c144 - fixed alpha texture generation for OpenGL rendering.
The old logic used a translation table that does not work with color images, it was designed to handle 8 bit grayscale images.
So now, it creates a true color buffer and then turns it into a texture with R,G,B = 255 and the alpha channel set to the grayscale value.

This was also the reason why crosshairs made from 32 bit PNGs did not show correctly.
2018-03-22 23:57:14 +01:00
Christoph Oelckers
5466e2c7c5 - fixed what looks like a wrongly braced 'for' loop in 4 bit PCX.
The code looks wrong, unfortunately I cannot test it due to lack of an image in that format
2018-03-22 23:14:43 +01:00
Christoph Oelckers
6fcf1e0149 - fixed incorrect translation table that was used to process grayscale patch and IMGZ textures.
- fixed: The MD5 check for patches deleted the buffer too early.
2018-03-22 22:49:42 +01:00
Christoph Oelckers
c869df9bf7 - added missing checksum file.
- fixed decoding of uncompressed DDS textures.

Apparently this was never tested and nobody ever used this format as a texture in ZDoom.
2018-03-22 22:30:09 +01:00
Christoph Oelckers
702e948000 Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2 2018-03-22 20:44:32 +01:00
Christoph Oelckers
d586d774cf - adjusted GL renderer to the new rules for alpha textures. This means that the translation fallback is only needed for the legacy renderer now. Modern GL can use the regular texture and will apply a grayscale mapping instead of merely using the red channel. 2018-03-22 20:42:17 +01:00
Rachael Alexanderson
0893f0c01e Merge remote-tracking branch 'origin/master' into adlMIDI 2018-03-22 14:28:54 -04:00
Vitaly Novichkov
4481ebbdd2 Fixed an incorrect ADLMIDI playback
As DMX uses both 10'th and 16'th channels for percussions, I'll turn a 16'th channel into percussive by XG way on every init/reset.
2018-03-22 04:30:10 -04:00
Christoph Oelckers
1756035594 - fixes in DDS decoder.
- let FPatchTexture use the inline color getters.
2018-03-22 00:54:03 +01:00
Christoph Oelckers
b473838627 - adjustments and fixes for alphatextures:
* Instead of using the red channel it now uses the grayscale value. While slower in a few situations, it is also more precise and makes the feature more useful.
* For paletted textures do not use the index as alpha anymore but the actual grayscaled color. This is again to make the feature more consistent and useful.
* To compensate for the above there is now a list of hashes for known alpha textures in patch format, so that they don't get broken.
* IMGZ is now considered a grayscale format. There's only two known textures that use IMGZ for something else than crosshairs and those are explicitly handled.
* several smaller fixes.
* the actual color conversion functions for paletted output are now consolidated in a small number of inlines so that future changes are easier to do.

Note: This hasn't been tested yet and will need further changes in the hardware rendering code. As it is it is not production-ready.
2018-03-22 00:29:01 +01:00
alexey.lysiuk
de0a815215 Fixed error reporting on loading malformed DeHackEd patches 2018-03-21 13:08:16 +02:00
alexey.lysiuk
92f10febe8 Fixed crash on loading malformed DeHackEd patches
Lump that contains only "Patch File for DeHackEd v3.0" (without line break at the end) caused a crash
2018-03-21 13:03:44 +02:00
drfrag
88bebaec39 - Fixed not getting the 'old and unsupported DeHackEd patch' error message for some old patch versions. 2018-03-21 12:48:46 +02:00
alexey.lysiuk
d58169f1b0 Fixed crash with very short music loop
https://forum.zdoom.org/viewtopic.php?t=59883
2018-03-21 12:28:12 +02:00
Rachael Alexanderson
fae6f22a2b - fix botched merge 2018-03-21 03:50:47 -04:00
Rachael Alexanderson
d829e53bc0 Merge branch 'stats_native_ui' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/d_stats.cpp
2018-03-21 02:28:52 -04:00
Rachael Alexanderson
4ad769572f - bump stats version string, send stats to new stats script instead 2018-03-20 22:02:18 -04:00
Rachael Alexanderson
def0ea0103 Merge branch 'stats_native_ui'
# Conflicts:
#	src/d_stats.cpp
2018-03-20 22:00:30 -04:00
alexey.lysiuk
568d439c24 Removed deleted virtual functions
This solves linking errors on macOS with missing ___cxa_deleted_virtual symbol
2018-03-20 22:12:43 +02:00
Christoph Oelckers
b0c96ac43d - fixed uninitialized variables in files.h. 2018-03-20 18:29:54 +01:00
alexey.lysiuk
f242f0631b Fixed crash in when MP3 length guesstimation failed
https://forum.zdoom.org/viewtopic.php?t=59881
2018-03-20 18:01:35 +02:00
alexey.lysiuk
6f68b6c352 Fixed JPEG errors reporting
GCC/Clang reported these warnings:
src/textures/jpegtexture.cpp:305:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:388:28: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:432:29: warning: data argument not used by format string [-Wformat-extra-args]
src/textures/jpegtexture.cpp:481:28: warning: data argument not used by format string [-Wformat-extra-args]
2018-03-20 10:29:28 +02:00
Magnus Norddahl
09c0bed74f - Oops, last commit had its check inverted 2018-03-20 01:29:43 +01:00
Magnus Norddahl
5f4e4d859e - Fix netgame freeze situation 2018-03-20 01:28:25 +01:00
Christoph Oelckers
cf67883e6a - changed copyright notice. 2018-03-19 21:01:32 +01:00