I noticed that dynamic lights in the dev builds are behaving slightly different than the 2.2.0 version. As you can see in the dev build the dynamic light is more intense on the ground, even though it's on the wall (same thing vice versa). It works fine with the official build. While in general this isn't very noticable, it is when you play with a flashlight mod for example.

Not surprising. This mod is implementing the flash light in an absolutely bad manner that just doesn't work with proper light attenuation. It fires a hitscan and then places an actor with an attached dynamic light close to the wall. I really don't know if I should compromise the system for something this poorly done.

That's nothing new. That's a technique old late 90's shooters used for flashlights; Half-Life (GoldSrc version) and Unreal included.

Spoiler: Zen Sarcasm

1. Do not walk behind me, for I may not lead. Do not walk ahead of me, for I may not follow. Do not walk beside me, either. Just pretty much leave me the hell alone.
2. The journey of a thousand miles begins with a broken fan belt and a leaky tire.
3. It's always darkest before dawn. So if you're going to steal your neighbor's newspaper, that's the time to do it.
4. Don't be irreplaceable. If you can't be replaced, you can't be promoted.
5. No one is listening until you fart.
6. Always remember that you're unique. Just like everyone else.
7. Never test the depth of the water with both feet.
8. If you think nobody cares if you're alive, try missing a couple of car payments.
9. Before you criticize someone, you should walk a mile in their shoes.That way, when you criticize them, you're a mile away and you have their shoes.
10. If at first you don't succeed, skydiving is not for you.
11. Give a man a fish and he will eat for a day. Teach him how to fish, and he will sit in a boat and drink beer all day.
12. If you lend someone $20 and never see that person again, it was probably worth it.
13. If you tell the truth, you don't have to remember anything.
14. Sex is like air. It's not important unless you aren't getting any.
15. Don't squat with your spurs on.
16. Some days you're the bug; some days you're the windshield.
17. Don't worry; it only seems kinky the first time.
18. Good judgment comes from bad experience, and a lot of that comes from bad judgment.
19. The quickest way to double your money is to fold it in half and put it back in your pocket.
20. A closed mouth gathers no foot.
21. Duct tape is like the Force. It has a light side and a dark side, and it holds the universe together.
22. There are two theories to arguing with women. Neither one works.
23. Generally speaking, you aren't learning much when your lips are moving.
24. Experience is something you don't get until just after you need it.
25. Never miss a good chance to shut up.
26. We are born naked, wet and hungry, and get slapped on our behind. Then things get worse.
27. Never, under any circumstances, take a sleeping pill and a laxative on the same night.
28. There is a fine line between "hobby" and "mental illness."
29. No matter what happens, somebody will find a way to take it too seriously.
30. There comes a time when you should stop expecting other people to make a big deal about your birthday...around age 12.
31. Everyone seems normal until you get to know them

To be fair, the hitscan-point method of the flashlight was likely developed before the proper attenuation methods became widespread. However, Unreal has always used attenuation calculations and it still used that method. My guess is, it made the hitscan target object big enough that it backed out from the wall a bit so that it would look less odd.

Spoiler: Zen Sarcasm

1. Do not walk behind me, for I may not lead. Do not walk ahead of me, for I may not follow. Do not walk beside me, either. Just pretty much leave me the hell alone.
2. The journey of a thousand miles begins with a broken fan belt and a leaky tire.
3. It's always darkest before dawn. So if you're going to steal your neighbor's newspaper, that's the time to do it.
4. Don't be irreplaceable. If you can't be replaced, you can't be promoted.
5. No one is listening until you fart.
6. Always remember that you're unique. Just like everyone else.
7. Never test the depth of the water with both feet.
8. If you think nobody cares if you're alive, try missing a couple of car payments.
9. Before you criticize someone, you should walk a mile in their shoes.That way, when you criticize them, you're a mile away and you have their shoes.
10. If at first you don't succeed, skydiving is not for you.
11. Give a man a fish and he will eat for a day. Teach him how to fish, and he will sit in a boat and drink beer all day.
12. If you lend someone $20 and never see that person again, it was probably worth it.
13. If you tell the truth, you don't have to remember anything.
14. Sex is like air. It's not important unless you aren't getting any.
15. Don't squat with your spurs on.
16. Some days you're the bug; some days you're the windshield.
17. Don't worry; it only seems kinky the first time.
18. Good judgment comes from bad experience, and a lot of that comes from bad judgment.
19. The quickest way to double your money is to fold it in half and put it back in your pocket.
20. A closed mouth gathers no foot.
21. Duct tape is like the Force. It has a light side and a dark side, and it holds the universe together.
22. There are two theories to arguing with women. Neither one works.
23. Generally speaking, you aren't learning much when your lips are moving.
24. Experience is something you don't get until just after you need it.
25. Never miss a good chance to shut up.
26. We are born naked, wet and hungry, and get slapped on our behind. Then things get worse.
27. Never, under any circumstances, take a sleeping pill and a laxative on the same night.
28. There is a fine line between "hobby" and "mental illness."
29. No matter what happens, somebody will find a way to take it too seriously.
30. There comes a time when you should stop expecting other people to make a big deal about your birthday...around age 12.
31. Everyone seems normal until you get to know them

Nevermind the flashlight. The problem is that this change affects puffs spawned by hitscan attacks in general. Here is a weapon that is not a flashlight: Skulltag's BFG10K. It's a hitscan weapon, with its puff having a dynamic light attached to it.

Hm, ok. I think I'll handle the light attenuation differently then, it looks like far too many mods depend on it being off.

I believe under these circumstances the best solution is to

- add an explicit flag even for attached lights
- add a global MAPINFO option so mods can enable attenuation globally if they want to and
- add a user switch that can enable and disable it globally.

Of course any light explicitly being set to either be attenuated or not attenuated will never be subject to any of these global settings.

The main issue here is that the engine doesn't know any concept on the light source's size. It's just an infinitely small point. Normally, anything within the actual light source should always be fullbright with the brightness falloff only starting with larger distances.If it was implemented like that, attenuation could work globally.