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.
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.