Commit Graph

14562 Commits

Author SHA1 Message Date
Christoph Oelckers 1a024a9f54 - moved gl_material into hwrenderer/. 2018-04-24 23:39:58 +02:00
Christoph Oelckers 0675315b41 - made FHardwareTexture inherit from an abstract interface to remove all GL dependencies from gl_material.cpp. 2018-04-24 23:06:34 +02:00
Christoph Oelckers f9a82e66e4 - removed all GL dependencies from gl_material.h. 2018-04-24 22:37:52 +02:00
Christoph Oelckers 5e8a4b96fe - make sure that warping textures never create a warped true color image.
This replaces the old redirection hackery that had to work differently for the legacy render path.
Overriding CopyTrueColorTranslated is far more robust and ensures that no edge cases can reach the GetPixels function, which wasn't the case before.
2018-04-24 21:58:26 +02:00
Christoph Oelckers c37ff22a05 - removed the intermediate FGLTexture class.
This wasn't serving any real purpose anymore, and all its remaining functionality could be moved to FHardwareTexture
2018-04-24 20:41:52 +02:00
Christoph Oelckers 8d62ebd2f4 - renamed the functions in hw_fakeflat.cpp 2018-04-24 17:52:35 +02:00
Christoph Oelckers 0dcc6ec6d3 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_portal.cpp
#	src/gl/scene/gl_scene.cpp
2018-04-24 17:39:03 +02:00
alexey.lysiuk 2ae8d39441 Removed all superfluous #include's
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers d976ce92e2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-04-24 12:12:36 +02:00
Christoph Oelckers e55b52f356 Moving the files to hwrenderer/ 2018-04-24 11:58:04 +02:00
Kevin Caccamo 1c58093fc8 Add info about UseSpecial flag feature conflict above Actor.Used 2018-04-24 05:56:07 -04:00
Christoph Oelckers dbb1492bf9 Fully separated HWDrawInfo from GL dependencies.
This also required temoporarily moving one small function because in the current state this cannot be done in the API independent part.
2018-04-24 11:52:15 +02:00
Christoph Oelckers a803b3d393 Split FDrawInfo in two
Done so that the entire gl_renderhacks.cpp file can be moved out of the GL folder.
Not cleaned up yet
2018-04-24 10:30:26 +02:00
Magnus Norddahl 45625399dc - fix softpoly line portals 2018-04-23 23:09:11 +02:00
Christoph Oelckers a93799b21f - moved the "unused" folder to the repo's top level. 2018-04-23 22:25:29 +02:00
Christoph Oelckers 5ca1fca8d1 - moved gl_clipper and gl_fakeflat to the hwrenderer folder because both files do not contain anything API specific. 2018-04-23 22:18:13 +02:00
Christoph Oelckers 60567f207c - made CheckViewArea a global function.
This can be put into the common hwrenderer folder but for that it shouldn't be part of the scene drawer.
2018-04-23 22:10:11 +02:00
alexey.lysiuk c264ff05da All platform-specific headers are referenced by generated projects
This was already the case on Windows anyway
2018-04-23 22:15:11 +03:00
alexey.lysiuk 6ac0c2f569 Excluded unused .cpp file from compilation 2018-04-23 18:42:59 +03:00
Magnus Norddahl 2aee68d215 - slightly improve sector portal handling in softpoly 2018-04-23 01:03:37 +02:00
Magnus Norddahl 6e77cb4906 - fix softpoly mirrors 2018-04-22 23:29:39 +02:00
alexey.lysiuk ee9fa7c33e Made 100% kills possible on Altar of Evil, easy skill
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/altar666
2018-04-22 17:49:13 +03:00
Magnus Norddahl 16a8d71caf - Simplify the portal code in softpoly somewhat 2018-04-21 15:19:28 +02:00
alexey.lysiuk b0261d9545 Actor's Activation property is now stored in saved game
https://forum.zdoom.org/viewtopic.php?t=60295
2018-04-21 13:12:12 +03:00
alexey.lysiuk 9398d602f8 Fixed applying of dymanic lights to models
https://forum.zdoom.org/viewtopic.php?t=60301
2018-04-19 12:50:07 +03:00
alexey.lysiuk 75129f54b4 Deleted remnants of old software backend 2018-04-19 12:44:20 +03:00
alexey.lysiuk 220d923e65 Do not write g_pch.cpp if it's already up-to-date
This eliminates rebuilding of main executable by MSVC on every project generation by CMake
2018-04-19 11:36:52 +03:00
alexey.lysiuk 3212da8fcf Cleaned up #include's in dynamic lights code 2018-04-19 11:12:29 +03:00
alexey.lysiuk 671736ecdc 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)
2018-04-19 11:12:20 +03:00
Christoph Oelckers e77cba1fd8 - added a 'lightsizefactor' command to gldefs.
This is for mitigating the recently discovered problem with attenuated lights getting reduced in size, even on OpenGL 3+. The intent of the shrinking was to account for higher brightness of non-attenuated lights on OpenGL 2 and was never meant to be active on more modern versions.
The factor will apply to any attenuated light defined after it and will be inherited by included sub-lumps, but it will only last for the lunp it is set in.

If you have a definition for the broken behavior, AddLightAssociation

'lightsizefactor 0.667' at the top of your GLDEFS.
2018-04-18 22:15:06 +02:00
alexey.lysiuk 4ab6034a36 Cleaned up Windows backend from remains of Direct3D
Removed obsolete CMake settings, useless #include's, dead code
2018-04-18 17:05:25 +03:00
alexey.lysiuk c241f34f15 Updated headers' paths for main project
Now all headers should be added to a project generated by CMake
2018-04-18 17:01:35 +03:00
alexey.lysiuk 340f5818c7 Changed macOS targets in Travis configuration
Added new Xcode 8.0 target and updated existing one to Xcode 9.3
2018-04-18 17:01:33 +03:00
alexey.lysiuk a4a4abe896 Fixed usage of wrong drawlist for lit flats in legacy renderer
https://forum.zdoom.org/viewtopic.php?t=60279
2018-04-17 17:06:58 +03:00
Magnus Norddahl 4870cc73e2 - fix true color software crash in square and other maps 2018-04-17 09:01:34 +02:00
alexey.lysiuk 7a11be8615 Fixed dangling links to garbage collected HUD message objects
https://forum.zdoom.org/viewtopic.php?t=60262
2018-04-16 14:45:31 +03:00
alexey.lysiuk df634539a0 Made 100% kills possible and unstuck imp on Valhalla map
https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val
2018-04-16 14:34:07 +03:00
alexey.lysiuk 87d164ee59 Added ability to set thing position in compatibility layer 2018-04-16 14:30:21 +03:00
alexey.lysiuk 3d1693558e Removed obsolete compatibility enumeration 2018-04-16 14:29:10 +03:00
Christoph Oelckers c1ce6c90ca Moved gl_dynlight to hwrenderer because it does not depend on any direct renderer info. 2018-04-16 09:02:48 +02:00
Christoph Oelckers 3e6f69f64a Renamed two functions 2018-04-16 08:55:13 +02:00
Christoph Oelckers 8a2e52d651 Removed gl_lights_checkside which essentially was just a pointless piece of cruft inherited from ZDoomGL. 2018-04-16 08:45:50 +02:00
Christoph Oelckers f57c804a5a store shadow map index in the light actor instead of a separate TMap
This frees another file of a direct renderer dependency and generally also should be faster
2018-04-16 08:42:37 +02:00
Magnus Norddahl 4a3f7e8dd5 - fix missing fuzz initialization in softpoly 2018-04-16 01:15:55 +02:00
Magnus Norddahl 5b60a29d35 Merge branch 'master' of https://github.com/coelckers/gzdoom into gzdoom 2018-04-16 01:08:38 +02:00
Magnus Norddahl f5c2ffabc9 - fix softpoly portal crash and blinking translucent objects 2018-04-16 01:08:29 +02:00
Christoph Oelckers 88f856d995 - fixed a y/Z mixup with the hardware renderer's vectors.
Why do they have to be different from what the game itself uses...? :(
2018-04-15 23:51:41 +02:00
Christoph Oelckers dcefa3cd12 - GLSprite done, too. 2018-04-15 19:57:28 +02:00
Christoph Oelckers ee1d1a29a6 - converted GLFLat list to use pointers as well.
- added copy constructors and assignement operators to GLFlat and GLWall so that they can use memcpy instead of field-by-field copy. This actually increases performance slightly.
2018-04-15 19:00:54 +02:00
Magnus Norddahl d10aa10889 - fix missing psprite when camera textures are in view 2018-04-15 17:16:13 +02:00