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
ID:1259367
May 6 2013, 10:00 pm
|
|
May 8 2013, 2:41 pm
|
|
This is great. Thank you! :)
|
I love this, though I can't seem to work out how I would make the shading darker.
|
In response to Danny Roe
|
|
Danny Roe wrote:
I love this, though I can't seem to work out how I would make the shading darker. Very simple, go to !lighting.dm, set the LIGHTING_GENERATOR to 1 in the green macro, then set darkest to 255, then hit compile and run, it will generate a new icon for you to use, and when it is finished, it will let you save the icon. Now go back in and change the LIGHTING_GENERATOR to 0, and update your LIGHTING_ICON to use the new file you saved. Hit compile and run again! Done! |
Ah I see, I was on the right track but didn't notice the percentage counter. It looks great, I'm eager to try this out in a little mini-project.
|
When running the demo, if you click "kill all lights", you can't turn yours back on and if you try to use + or - you get a cannot change null.intensity runtime error.
Other than that, this looks great. |
In response to Albro1
|
|
Albro1 wrote:
When running the demo, if you click "kill all lights", you can't turn yours back on and if you try to use + or - you get a cannot change null.intensity runtime error. yeah slight over-sight on my behalf, its more of a debug tool than anything else. it really does kill all lights and the + and - just forgets to check if light is there. |
In response to Albro1
|
|
Then it wouldn't be 'killing' the lights, if they were still alive.
|
In response to NNAAAAHH
|
|
I'm going to stick with the hope that you don't actually believe "kill the lights" means to make them unable to come back.
|
In response to Albro1
|
|
Ah, Albro1, 'tis but a joke, my dear friend.
|
Also, after creating this _blank file there is no lighting states created. The file that comes out is empty.
|
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?
|
In response to Albro1
|
|
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. |
In response to Albro1
|
|
Albro1 wrote:
How about grabbing all atoms within an atom's light? Lol That's just range(src, radius) |