FOnline Development > General Discussion

Older graphic cards - backward compatibility

<< < (2/3) > >>

Berko:
So the problem is that game close when it doesn't find effects file?

You can try to change effects files to disactivate them :

1\ In data/effects/ you have a lot a fx files, just open these

--- Code: ---2D sprites        2D_Default.fx
3D models         3D_Default.fx
Interface         Interface_Default.fx
Fonts             Font_Default.fx
Primitive         Primitive_Default.fx
--- End code ---

2\ Replace

--- Code: ---// Techniques
technique Simple
{
pass p0
{
VertexShader = (compile vs_2_0 VSSimple());
PixelShader  = (compile ps_2_0 PSSimple());
}
}
--- End code ---

by


--- Code: ---// Techniques
technique Simple
{
pass p0
{
VertexShader = 0;//(compile vs_2_0 VSSimple());
PixelShader  = 0;//(compile ps_2_0 PSSimple());
}
}
--- End code ---

3\ Delete effects cache in data\cache\<address.port>\ (fxc files)

4\ Start the game to compile new effects

=> I didn't test if it works on old card (don't have card/time) but for me the game start and I have the same you have in your screens "old card"

Hope it help (and works)!

Kelin:
I tried what you had posted, but it didn't work, Berko. Thanks for your effort anyway.

Berko:
:( ok

Reading again the post it look like I'm not sure if I really understand the problem.
Is the game close itself with error in log  or  did it start but you don't have some graphic features ?
And your card doesn't support shaders, even v1.0 that's it?

Kelin:
If you delete cache and make a blank primitive_default.fx file in effects folder, it will not compile this file and the game will not start (Error - There were no techniques, Compilation failed, FOnline engine initialization fail.). After this you will find only these files in cache folder (everything except primitive_default.fxc):

--- Code: ---2D_Default.fxc
3D_Default.fxc
Interface_Default.fxc
Font_Default.fxc

--- End code ---
This is what always worked in 2238 client, but for some reason does not work in other newer clients of standard FOnline SDK.

Now when I try your idea to clear the cache and set shaders to 0, the file gets compiled and in the cache folder you see these files:

--- Code: ---2D_Default.fxc
3D_Default.fxc
Interface_Default.fxc
Font_Default.fxc
Primitive_Default.fxc

--- End code ---
Which means primitives managed to compile, you are able to launch the game now, but still the lines and lights and fog is missing.

My card supports shaders 1.1 or 1.3, not entirely sure. Hope I made it clear for you.

Berko:
Ok, what I write before was to disable all effects to start the game.

When launching game with normal effect do you have error in client log? (have to enable log if it's not)


To know what version of shader your card support you have to check in fact what directx version it support. Launch dxdiag to see what version of directx you have.

--- Code: ---directx shaders
7.0 none
8.0 1.0/1.1
8.0a 1.3
9.0 2.0
9.0a 2.0a
9.0b 2.0b
9.0c 3.0
...
--- End code ---

If it support 1.0 1.1 or 1.3 you can change version in fx files
Example with v1.1

--- Code: ---// Techniques
technique Simple
{
pass p0
{
VertexShader = (compile vs_1_1 VSSimple());
PixelShader  = (compile ps_1_1 PSSimple());
}
}
--- End code ---

A problem come with 2D_Default.fx, don't know if it's only me or not. (error X4520: can read from texcoord ..)
I commented a part of code (if statement) and the game works again.

--- Code: ---// Pixel shader
float4 PSSimple(AppToVsToPs_2DEgg input) : COLOR
{
float4 output;

// Sample
float4 texColor = tex2D(ColorMap, input.TexCoord);
output.rgb = (texColor.rgb * input.Diffuse.rgb) * 2;
output.a = texColor.a * input.Diffuse.a;

// Egg transparent
//if(input.TexEggCoord.x != 0.0f)
output.a *= tex2D(EggMap, input.TexEggCoord).a;

return output;
}
--- End code ---
Don't know what kind of bug can happen with this part removed..

If it still don't works and logs didn't tell anything interesting then I don't know :p

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version