Problem: I have a train car (for testing sake it is just a square brush) and I am trying to figure out how to allow the light in tunnels and anywhere around it show up on the brush as it does to a prop_dynamic. The train I had created the player rides into the level as in HL1 or HL2 and is all made of brushes. I tried multiple tests with func_physbox parented to func_tracktrain and func_movelinear... Also if you make the brush a func_tracktrain or func_movelinear it will not allow light to be cast to it either... I do understand that the light is set to the faces when it compiles but is there any other way?
I can solve this with Light_dynamic but I do not like the quality of the lighting...
dynamic lights only. as they are dynamically rendered in game.
Static lights, as you said, are rendered on compile. The train isn't located anywhere except the start during this time, therefore their lighting cannot render on the train. Shadows should work, however.
You'll need lots of dynamic_lights. You may be able to have a mixture of static lights, for the world, and dynamic_lights with the flag "Do not light world" ticks, for the models/train. Make sure to name all the dynamic lights with the same name. And use sparingly as possible! A train tunnel is 90% dark! You can also change the quality of the lighting by A) playing with the lights settings B) playing with the receiving brush's face's lightscale quality