Ignore negative incoming light, so that it matches better software renderer and Quake 3.
Changed MD2 rendering to use diffuse RGB generator as it does the same thing.
Fixed drawing of Hexen 2 colour shade. Whoever in Raven did OpenGL version was smoking some heavy shit.
RGB gen for fulbright pass.
Premultiply light values.
Clamp negative light for overbrights, otherwise it acts as light when converted to byte.
For light values 128 is full bright, adjust light values accordingly.
Split separate function for over bright colour calculations, now first stage is same as existing diffuse lighting.
For absolute light 128 is identity light.
Added colour calculation for overbrights as new type.
Alpha value calculation using shader method.
Compute colours in one place.
Pass shader stages through tesselator.
Do iteration of stages in one place. With this temporary iteration function is same as original, proceeding with parent method.
Safely add dynamic light and fog passes.
Moved array unlocking, other not used stuff.
Merged array enabling and disabling stuff.
Preparing for common place of setting culling.
MD2 culling.
Set culing in one place. Handle left hand culling in common place so that it works with all model types.