
This is what I have done to get rid of the shader compiler error X4532. Just change in parallax.fx on line 2807
parallax.
fxCode:
technique depthpass
{
pass p0
{
cullmode=ccw;
alphablendenable=false;
zenable=true;
zwriteenable=true;
stencilenable=false;
alphatestenable=false;
VertexShader = compile vs_2_0 VS_PASSD(); // vs_1_1 produced the error
PixelShader = compile ps_2_0 PS_PASSD();
//VertexShader = compile vs_1_1 VS_PASSD();
//PixelShader = compile ps_1_1 PS_PASSD();
}
}
I'm also using the fix from
William. To solve the light issue (empty pointer) with >A6.40.5 change the code like so:
Sphere_Engine.
wdl Fixed
Code:
//******************************************************
//Light_Update(): Updates each visible light to the dll
//******************************************************
function Light_Update()
{
var temp2loop=0;
//loop through and update each active light in the array
while(temp2loop<max_sphere_lights)
{
temp=closestlight[temp2loop];
if(temp>0)
{
me=ptr_for_handle(closestlight[temp2loop]);
if my.skill5<=max_light_dist
{
Sp_Init_Light(vector(my.x,my.z,my.y),vector(my.skill8,my.skill9,my.skill10),vector(temp2loop,temp2loop,my.Sp_lightrange*2));
Sp_Light_Dist(my.skill5+20,temp2loop);
}
//if light is not within max dist, make it black and very far away so there can be no popping artifacts
if(my.skill5>max_light_dist)
{
Sp_Init_Light(vector(10000,10000,10000),vector(0,0,0),vector(temp2loop,temp2loop,my.Sp_lightrange));
Sp_Light_Dist(my.skill5+20,temp2loop);
}
}
else
{
if(my)
{
//--- line that produced the empty pointer error
Sp_Init_Light(vector(10000,10000,10000),vector(0,0,0),vector(temp2loop,temp2loop,my.Sp_lightrange));
Sp_Light_Dist(my.skill5+20,temp2loop);
}
}
temp2loop+=1;
}
}
Sphere2 is now working with A7.04.2

MS Server 2003 R2 Platform SDK
MS DirectX SDK Jun 2007
A7.04.2 Plugin SDK