From 847f34f2c996bdeb2fe98a3f6b661c6598ffce66 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Wed, 7 Aug 2024 11:11:46 -0400 Subject: [PATCH 1/4] - fix: check if bombsource exists when exploding a projectile with a XF_NOALLIES flag --- src/playsim/p_map.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/playsim/p_map.cpp b/src/playsim/p_map.cpp index 53329b96f..a79f912ae 100644 --- a/src/playsim/p_map.cpp +++ b/src/playsim/p_map.cpp @@ -6169,7 +6169,7 @@ int P_RadiusAttack(AActor *bombspot, AActor *bombsource, int bombdamage, double continue; //[inkoalawetrust] Don't harm actors friendly to the explosions' source. But do harm the source. - if ((flags & RADF_NOALLIES) && bombsource->IsFriend(thing) && !(thing == bombsource || thing == bombspot)) + if ((flags & RADF_NOALLIES) && bombsource && bombsource->IsFriend(thing) && !(thing == bombsource || thing == bombspot)) continue; if (bombsource && thing != bombsource && bombsource->player && P_ShouldPassThroughPlayer(bombsource, thing)) From 7ce6f2214c8c931c6b247ce9f910ea8a4b525e2f Mon Sep 17 00:00:00 2001 From: Ashley Miller-Jelfs Date: Thu, 8 Aug 2024 15:13:59 +0930 Subject: [PATCH 2/4] Fix Specular not using Material definition for Glossiness and Level --- wadsrc/static/shaders/glsl/material_specular.fp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/wadsrc/static/shaders/glsl/material_specular.fp b/wadsrc/static/shaders/glsl/material_specular.fp index 12eabd33e..8d264848e 100644 --- a/wadsrc/static/shaders/glsl/material_specular.fp +++ b/wadsrc/static/shaders/glsl/material_specular.fp @@ -1,5 +1,5 @@ -vec2 lightAttenuation(int i, vec3 normal, vec3 viewdir, float lightcolorA) +vec2 lightAttenuation(int i, vec3 normal, vec3 viewdir, float lightcolorA, float glossiness, float specularLevel) { vec4 lightpos = lights[i]; vec4 lightspot1 = lights[i+2]; @@ -25,9 +25,6 @@ vec2 lightAttenuation(int i, vec3 normal, vec3 viewdir, float lightcolorA) if (attenuation <= 0.0) return vec2(0.0); - float glossiness = uSpecularMaterial.x; - float specularLevel = uSpecularMaterial.y; - vec3 halfdir = normalize(viewdir + lightdir); float specAngle = clamp(dot(halfdir, normal), 0.0f, 1.0f); float phExp = glossiness * 4.0f; @@ -51,7 +48,7 @@ vec3 ProcessMaterialLight(Material material, vec3 color) for(int i=lightRange.x; i Date: Fri, 9 Aug 2024 11:38:21 +0300 Subject: [PATCH 3/4] Support the new Doom + Doom II update --- src/win32/i_steam.cpp | 8 +++- wadsrc_extra/static/iwadinfo.txt | 67 ++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/src/win32/i_steam.cpp b/src/win32/i_steam.cpp index 2cf536475..07e7f2a02 100644 --- a/src/win32/i_steam.cpp +++ b/src/win32/i_steam.cpp @@ -183,6 +183,7 @@ static bool QueryPathKey(HKEY key, const wchar_t *keypath, const wchar_t *valnam TArray I_GetGogPaths() { + // TODO Does the 2024 Update affect GOG version? TArray result; FString path; std::wstring gamepath; @@ -292,9 +293,13 @@ TArray I_GetSteamPath() "hexen/base", "hexen deathkings of the dark citadel/base", "ultimate doom/base", + "ultimate doom/base/doom2", // 2024 Update + "ultimate doom/base/tnt", // 2024 Update + "ultimate doom/base/plutonia", // 2024 Update "DOOM 3 BFG Edition/base/wads", "Strife", - "Ultimate Doom/rerelease/DOOM_Data/StreamingAssets", + "Ultimate Doom/rerelease/DOOM_Data/StreamingAssets", // 2019 Unity port (previous-re-release branch in Doom + Doom II app) + "Ultimate Doom/rerelease", // 2024 KEX Port "Doom 2/rerelease/DOOM II_Data/StreamingAssets", "Doom 2/finaldoombase", "Master Levels of Doom/doom2" @@ -350,6 +355,7 @@ TArray I_GetBethesdaPath() TArray result; static const char* const bethesda_dirs[] = { + // TODO Does the 2024 Update affect Bethesda Launcher? "DOOM_Classic_2019/base", "DOOM_Classic_2019/rerelease/DOOM_Data/StreamingAssets", "DOOM_II_Classic_2019/base", diff --git a/wadsrc_extra/static/iwadinfo.txt b/wadsrc_extra/static/iwadinfo.txt index c52f899bd..d8149623c 100644 --- a/wadsrc_extra/static/iwadinfo.txt +++ b/wadsrc_extra/static/iwadinfo.txt @@ -336,6 +336,24 @@ IWad IgnoreTitlePatches = 1 } +IWad +{ + Name = "DOOM: KEX Edition" + Autoname = "doom.id.doom1.kex" + Game = "Doom" + Config = "Doom" + IWADName = "doom.wad", 2 + Mapinfo = "mapinfo/ultdoom.txt" + Compatibility = "Shorttex", "nosectionmerge" + MustContain = "E1M1","E2M1","E2M2","E2M3","E2M4","E2M5","E2M6","E2M7","E2M8","E2M9", + "E3M1","E3M2","E3M3","E3M4","E3M5","E3M6","E3M7","E3M8","E3M9", + "DPHOOF","BFGGA0","HEADA1","CYBRA1","SPIDA1D1", "E4M2", + "DMENUPIC", "GAMECONF" + Load = "extras.wad" + BannerColors = "00 7c 00", "a8 a8 a8" + IgnoreTitlePatches = 1 +} + IWad { Name = "DOOM: Unity Edition" @@ -443,6 +461,21 @@ IWad IgnoreTitlePatches = 1 } +IWad +{ + Name = "Final Doom: TNT - Evilution: KEX Edition" + Autoname = "doom.id.doom2.tnt.kex" + Game = "Doom" + Config = "Doom" + IWADName = "tnt.wad" + Mapinfo = "mapinfo/tnt.txt" + Compatibility = "Shorttex", "Stairs" + MustContain = "MAP01", "REDTNT2", "GAMECONF" + BannerColors = "a8 00 00", "a8 a8 a8" + Load = "extras.wad" + IgnoreTitlePatches = 1 +} + IWad { Name = "Final Doom: TNT - Evilution" @@ -471,6 +504,21 @@ IWad IgnoreTitlePatches = 1 } +IWad +{ + Name = "Final Doom: Plutonia Experiment: KEX Edition" + Autoname = "doom.id.doom2.plutonia.kex" + Game = "Doom" + Config = "Doom" + IWADName = "plutonia.wad" + Mapinfo = "mapinfo/plutonia.txt" + Compatibility = "Shorttex" + MustContain = "MAP01", "CAMO1", "GAMECONF" + BannerColors = "a8 00 00", "a8 a8 a8" + Load = "extras.wad" + IgnoreTitlePatches = 1 +} + IWad { Name = "Final Doom: Plutonia Experiment" @@ -500,6 +548,21 @@ IWad IgnoreTitlePatches = 1 } +IWad +{ + Name = "DOOM 2: KEX Edition" + Autoname = "doom.id.doom2.kex" + Game = "Doom" + Config = "Doom" + IWADName = "doom2.wad", 2 + Mapinfo = "mapinfo/doom2.txt" + Compatibility = "Shorttex", "nosectionmerge" + MustContain = "MAP01", "DMENUPIC", "GAMECONF" + BannerColors = "00 7c 00", "a8 a8 a8" + IgnoreTitlePatches = 1 + Load = "extras.wad" +} + IWad { Name = "DOOM 2: Unity Edition" @@ -621,12 +684,16 @@ Order // Order in the IWAD selection box "DOOM 2: BFG Edition" "DOOM: XBox Edition" "DOOM 2: XBox Edition" + "DOOM: KEX Edition" "DOOM: Unity Edition" + "DOOM 2: KEX Edition" "DOOM 2: Unity Edition" "Final Doom: Plutonia Experiment" "Final Doom: Plutonia Experiment: Unity Edition" + "Final Doom: Plutonia Experiment: KEX Edition" "Final Doom: TNT - Evilution" "Final Doom: TNT - Evilution: Unity Edition" + "Final Doom: TNT - Evilution: KEX Edition" "Freedoom: Phase 1" "Freedoom: Phase 2" "FreeDM" From 01e7859e1f5224d0c9abbc179d2c87bee060aa3f Mon Sep 17 00:00:00 2001 From: Xaser Acheron Date: Fri, 9 Aug 2024 06:57:26 -0500 Subject: [PATCH 4/4] fix MBF21 A_RadiusDamage crash/broken 'distance' arg --- wadsrc/static/zscript/actors/attacks.zs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wadsrc/static/zscript/actors/attacks.zs b/wadsrc/static/zscript/actors/attacks.zs index 188a9c064..db9da6f35 100644 --- a/wadsrc/static/zscript/actors/attacks.zs +++ b/wadsrc/static/zscript/actors/attacks.zs @@ -626,7 +626,7 @@ extend class Actor } deprecated("2.3", "For Dehacked use only") - void A_RadiusDamage(int dam, double dist) + void A_RadiusDamage(int dam, int dist) { A_Explode(dam, dist); }