Light Speed

by FIREking
The fastest lighting system for BYOND [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://FIREking.LightSpeed##version=12

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:


Version 12
Date added: May 6 2013
Last updated: Jun 16 2013
13 fans
Light Speed is the fastest lighting system for BYOND!

Light Speed is ready for use in online games! Give it a try!

Version 12
-Fixed a bug where a light loc's contents were checked for angles (which would result in infinite width).

Version 11
-added Angular Shadow Casting as provided by D4RK3 54B3R which has sped this library up by 20x!

Version 10
-added back in a missing file for the lighting generator

Version 9
-Fixed a huge bug where shading objects would never re-init when new turfs were placed
-Added tutorial to create your own lighting icon
-Added a few more null checks now that shading objects are more dynamic (can be removed at run time)
-Changed initializing to a background = 1 process so if your map is bigger than 524,288 tiles, it won't cause an infinite loop detection

Version 8
-optimized a few things
-added cpu throttling to ignore light rendering when server is too busy

Version 7
-Added a missing file

Version 6
-improved garbage collection even more
-made minor tweaks, cleaned up some stuff
-added some interesting debugging stuff

Version 5
-improved garbage collection of light objects
-changed some parameters in the demo to make it more online friendly from the get go
-improved client light seeking

Version 4
-moved light seeking to the client, instead of a mob, so mob switching can occur
-fixed a lights_awake reference counter problem in debugging

Version 3
-fixed an issue with updating shadow calculations when turfs are placed at run-time... only lights that were visible were affected as opposed to updating lights in which the turf could possibly affect


AERProductions: (Aug 10 2015, 7:14 pm)
What is the difference between this library and Forum_accounts?
Albro1: (Jun 19 2013, 11:24 am)
o lol XD
FIREking: (Jun 19 2013, 11:07 am)
Albro1 wrote:
How about grabbing all atoms within an atom's light? Lol

That's just range(src, radius)
Albro1: (Jun 19 2013, 10:51 am)
How about grabbing all atoms within an atom's light? Lol
FIREking: (Jun 17 2013, 9:27 pm)
Albro1 wrote:
Just a random question I thought of while I was away from my computer: Could this be used to create a permanent (But changing) source of light on all objects? So you could simulate a sun that changes it's position in the sky periodically, making everything cast a shadow in a certain direction?

As is, no. But with some work, yes you could definitely make that happen. Fundamentally, the shading is very fast. So its just all about the math at that point.