I just made a shading function that casts shadows for sprites really fast. It works by manipulating another sprite, so it does limit the amount of sprites.
@mason Yeah, at least Home. Using in The Axe would be much harder, since it has so many more sprites to generate and it reduces the max amount of sprites.
@alex The math I used was mostly done with the same logic as ray casting, except it doesn't actually cast any rays.
[43EX243D] It's actually a full library with lots of other functions that I made, so feel free to look at the documentation. To actually shade, create 2 sprites in a row that are the same, set the angle of the light source with ANGD height angle, xz angle (the angle visible on the screen), then just do SHADE (sprite number). I have more detailed documentation on SmileBASIC Source, thank you limits