Fix off-by-one bug in looping palette lights.

This commit is contained in:
Mari the Deer 2021-12-04 21:50:50 +01:00
commit 4df4542540
2 changed files with 5 additions and 5 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r71 \cu(Fri 3 Dec 12:27:34 CET 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r71 \cu(2021-12-03 12:27:34)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r72 \cu(Sat 4 Dec 21:50:50 CET 2021)\c-";
SWWM_SHORTVER="\cw1.2pre r72 \cu(2021-12-04 21:50:50)\c-";

View file

@ -15,7 +15,7 @@ Class PaletteLight : PointLight
}
private void UpdateLight()
{
int index = clamp(255-((255*ReactionTime)/abs(InitialReactionTime)),0,255);
int index = clamp(255-((255*ReactionTime)/InitialReactionTime),0,255);
args[LIGHT_RED] = pal[index].r;
args[LIGHT_GREEN] = pal[index].g;
args[LIGHT_BLUE] = pal[index].b;
@ -23,7 +23,6 @@ Class PaletteLight : PointLight
override void PostBeginPlay()
{
Super.PostBeginPlay();
InitialReactionTime = ReactionTime;
String palname = GetTag();
int sep = palname.IndexOf(",");
int palnum = 0;
@ -43,9 +42,10 @@ Class PaletteLight : PointLight
}
if ( ReactionTime < 0 )
{
ReactionTime = -ReactionTime;
ReactionTime = abs(ReactionTime)-1;
IsLooping = true;
}
InitialReactionTime = ReactionTime;
UpdateLight();
}
override void Tick()