Light Speed

by FIREking
The fastest lighting system for BYOND
ID:1449836
 
Hey, I'm loving this library, but I've run into a little issue that I just can't seem to find a way around. I've made some torches, and found that they look best when they're on a higher layer than the shading, and thus unaffected.

The problem with this, however, is that I need the mobs to appear on a higher layer than the torches. I considered making mobs on a higher layer as well, but they predictably look better under the lighting effects.

So, my question is can the shading be made to ignore the torches, and if so, then how? I've gone over the code at least 10 times, but it's beyond me to figure that out, and no other solution seems to work. I tried re-positioning the torches as well, but there's just no way to prevent overlap with my graphics.

Alternative solutions are welcome, too. Sorry for the bother, but I figured it would be better to ask here first before considering developer help.

So you want mobs in front / on top of torches but you want torches to appear above the darkness and mobs to appear below the darkness?
Yes, exactly!
That's a tricky one... Have you considered using some sort of dummy torch that is overlayed over the regular torch, shown on a very high layer, then when something Crossed() the torch, you hide the dummy torch?
Yeah, not exactly like that, but I did think of something along those lines. The problem I encountered there is that the player's head only covers part of the torch, so if a dummy is removed it'll be weird to the player.

I also tried to brighten the torch directly to counteract the darkening effect, but that doesn't seem to make much difference. I might just have to settle for the darkened torches, but I wanted to check in here first.

It's definitely annoying, though, because side wall and back wall torches are fine, it's only the one wall. I might have to try adjusting the wall and torch to try to get it out of the way, but that's a long shot.
I'd have to see a screenshot to know why my suggested work-around won't work.

You might be able to play around with FLOAT_LAYER (negative layer values). But I'm not sure.
Ah, wow. I just went to snag a screenshot, and found it working quite well. I should of tried Crossed() directly before assuming it would do the same thing similar attempts did. Good to know.

Thanks for the help!

Edit: Just in case anyone else encounters this issue. I did some further testing, and the fix was actually because I had accidentally made it create two lights over one torches location. A high light intensity lead to the same effect without a second light. I had tested intensities, but when I did I tried 1 instead of 0.5, and it actually required 1.5.

A simple, and somewhat embarrassing fix to miss, but a good one to know.