From 77b8eb6547b8d16ac0db5875eb1249f777694abf Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Mon, 8 Oct 2018 15:39:39 +0300 Subject: [PATCH 1/3] - reverted macOS dark mode support with old SDKs This feature causes several issues with NSOpenGLView: * Mouse event coordinates are wrong in non-retina mode on HiDPI screen * In retina mode only 1/4 of picture is visible and its scaling is incorrect * Some sort of filtering is applied to frontbuffer picture * Noticeable increase in CPU load because of that filtering Linking with macOS 10.14 SDK leads to all these issues regardless of .plist option presence and its value --- src/posix/osx/zdoom-info.plist | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/posix/osx/zdoom-info.plist b/src/posix/osx/zdoom-info.plist index 341a061d7..f0bbbf3d9 100644 --- a/src/posix/osx/zdoom-info.plist +++ b/src/posix/osx/zdoom-info.plist @@ -48,7 +48,5 @@ NSApplication NSSupportsAutomaticGraphicsSwitching - NSRequiresAquaSystemAppearance - From 643e3a78d80e34e046f6bae60bad9215d710e6ca Mon Sep 17 00:00:00 2001 From: Erick Tenorio Date: Sun, 7 Oct 2018 23:48:24 -0500 Subject: [PATCH 2/3] Fixes for Wraith Corporation WADs --- wadsrc/static/zscript/level_compatibility.txt | 61 ++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/wadsrc/static/zscript/level_compatibility.txt b/wadsrc/static/zscript/level_compatibility.txt index a932a0b18..4ec2af884 100644 --- a/wadsrc/static/zscript/level_compatibility.txt +++ b/wadsrc/static/zscript/level_compatibility.txt @@ -605,6 +605,28 @@ class LevelCompatibility play } break; } + + case '57386AEF275684BA06756359B08F4391': // Perdition's Gate MAP03 + { + // Stairs where one sector is too thin to score. + SetSectorSpecial(227, 0); + break; + } + + case 'F1A9938C4FC3906A582AB7D5088B5F87': // Perdition's Gate MAP12 + { + // Sector unintentionally left as a secret near switch + SetSectorSpecial(112, 0); + break; + } + + case '5C419E581D9570F44A24163A83032086': // Perdition's Gate MAP27 + { + // Sectors unintentionally left as secrets and cannot be scored + SetSectorSpecial(338, 0); + SetSectorSpecial(459, 0); + break; + } case 'FCCA97FC851F6473EAA069F74247B317': // pg-raw.wad map31 { @@ -621,8 +643,45 @@ class LevelCompatibility play break; } - case '712BB4CFBD0753178CA0C6814BE4C288': // beta version of map12 BTSX_E1 - patch some rendering glitches that are problematic to detect + case '5379C080299EB961792B50AD96821543': // Hell to Pay MAP14 { + // Two secrets are unreachable without jumping and crouching. + SetSectorSpecial(82, 0); + SetSectorSpecial(83, 0); + break; + } + + case '1A1AB6415851B9F17715A0C36412752E': // Hell to Pay MAP24 + { + // Remove Chaingunner far below the map, making 100% kills + // impractical. + SetThingFlags(70, 0); + break; + } + + case 'A7ACB57A2CAF17434D0DFE0FAC0E0480': // Hell to Pay MAP28 + { + // Three Lost Souls placed outside the map for some reason. + for(int i=0; i<3; i++) + { + SetThingFlags(217+i, 0); + } + break; + } + + case '2F1A18633C30E938B50B6D928C730CB6': // Hell to Pay MAP29 + { + // Three Lost Souls placed outside the map, again... + for(int i=0; i<3; i++) + { + SetThingFlags(239+i, 0); + } + break; + } + + case '712BB4CFBD0753178CA0C6814BE4C288': // beta version of map12 BTSX_E1 + { + // patch some rendering glitches that are problematic to detect AddSectorTag(545, 32000); AddSectorTag(1618, 32000); SetLineSpecial(2853, Sector_Set3DFloor, 32000, 4); From 3d81be1517161fb374780d06e9152e87d9085219 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Tue, 9 Oct 2018 04:38:18 -0400 Subject: [PATCH 3/3] - always enforce a minimum distance for fog when fogmode is set to standard. without this, it was possible for the GPU to error out and stop rendering pixels for certain screen blocks --- wadsrc/static/shaders/glsl/main.fp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wadsrc/static/shaders/glsl/main.fp b/wadsrc/static/shaders/glsl/main.fp index 228d7b02d..f096d0dd7 100644 --- a/wadsrc/static/shaders/glsl/main.fp +++ b/wadsrc/static/shaders/glsl/main.fp @@ -451,7 +451,7 @@ vec3 AmbientOcclusionColor() // if (uFogEnabled == -1) { - fogdist = pixelpos.w; + fogdist = max(16.0, pixelpos.w); } else { @@ -489,7 +489,7 @@ void main() { if (uFogEnabled == 1 || uFogEnabled == -1) { - fogdist = pixelpos.w; + fogdist = max(16.0, pixelpos.w); } else {