So I think this is more of a shader problem than anything else since my fog was working perfectly fine before applying the shader's to the objects.

The shader used is the Specular one by Taco Cohen.

before:



after:



I have played around with the fog_start and fog_end parameters but nothing seems to change.

Code:
function func_toggleFog()
{
	fog1_on += 1;
	fog1_on %= 2;
	
	if (fog1_on)
	{
		camera.fog_start = 10;
		d3d_fogcolor1.red = 64;
		d3d_fogcolor1.green = 64;
		d3d_fogcolor1.blue = 64;
		fog_color = 1;
		
		while (fog1_on)
		{
			camera.fog_end = 1400;
			wait (1);
		}
	}
	else
	{
		fog_color = 0;
	}
}


Probably won't end up using it in the end, but would be nice to know what it is thats happening. Any feedback welcome.