Skip to content

Commit 1d18320

Browse files
committed
Fix trigger interfering with dark lighting
Instead of outright disabling lighting (which causes dark lighting to not work), the alpha value of VertexLights are set to 0.
1 parent 04b9a3e commit 1d18320

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Triggers/RemoveLightSourcesTrigger.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Celeste.Mod.Entities;
22
using Monocle;
33
using Microsoft.Xna.Framework;
4+
using System.Reflection;
45

56
namespace Celeste.Mod.SpringCollab2020.Triggers {
67
[CustomEntity("SpringCollab2020/RemoveLightSourcesTrigger")]
@@ -29,17 +30,21 @@ private static void OnExitHandler(Level exitLevel, LevelExit exit, LevelExit.Mod
2930
EnableLightRender();
3031
}
3132

32-
private static void LightRendererHook(On.Celeste.LightingRenderer.orig_Render orig, LightingRenderer self, Scene scene) { }
33-
3433
private static void BloomRendererHook(On.Celeste.BloomRenderer.orig_Apply orig, BloomRenderer self, VirtualRenderTarget target, Scene scene) { }
3534

35+
private static void LightHook(On.Celeste.VertexLight.orig_Update orig, VertexLight self) {
36+
if (self.SceneAs<Level>().Session.GetFlag("lightsDisabled"))
37+
self.Alpha = 0f;
38+
orig(self);
39+
}
40+
3641
private static void EnableLightRender() {
37-
On.Celeste.LightingRenderer.Render -= LightRendererHook;
42+
On.Celeste.VertexLight.Update -= LightHook;
3843
On.Celeste.BloomRenderer.Apply -= BloomRendererHook;
3944
}
4045

4146
private static void DisableLightRender() {
42-
On.Celeste.LightingRenderer.Render += LightRendererHook;
47+
On.Celeste.VertexLight.Update += LightHook;
4348
On.Celeste.BloomRenderer.Apply += BloomRendererHook;
4449
}
4550

0 commit comments

Comments
 (0)