The problem with AShadow that I find which is the most irritating is the lack of structure in the code, lack of documentation, and other various lacks. The best option I found was to completely restructure the inner workings and make it all work with Types, remove all those misc global vars with random names. That way, it gets much easier to integrate AShadow to any project, cleans up the code in a general manner, helps you learn the package, etc etc... Yet, you have to spend some time working this 200kb source file to get to that point, but very feasible (search / replace).
ie. annoying globals:
Glow_CopyTexMethod=1
Ref_Glow_DarkPower=4
Ref_Glow_BlurPower=4
Ref_CountBISpr# = 6.0
Ref_BlSprAlpha#= 0.20
CreateGlow camera, 1024, 768 ,0.5,0.5
Glow_Blend = 1
Ref_Glow_ON = 1
Usually, I like to know who owns these... I prefer stuff like:
AShadow\Glow_CopyTexMethod=1
AShadow\Ref_Glow_DarkPower=4
AShadow\Ref_Glow_BlurPower=4
AShadow\Ref_CountBISpr# = 6.0
AShadow\Ref_BlSprAlpha#= 0.20
CreateGlow camera, 1024, 768 ,0.5,0.5
AShadow\Glow_Blend = 1
AShadow\Ref_Glow_ON = 1