UPLOADED: Ankor's Shaders Update 22 October 2019!

I figured out why the water looks different. The values in SeaWater.fx for stock CFS3 were changed from what I had in the package previously. This is what they used to be:

#else // default (i.e. stock CFS3)
#define BaseOpacity 0.99
#define WaveBump 5.0
#define WaveScale 5.0
#define FoamAmount 0.32
//#define AddFoam
 
Ok, looks like most issues come from d3d8.ini or shader tweaks.
You can just use your existing d3d8.ini from prior versions, but we'll get back with a fixed version soon :)

greycap.raf, the issue with Glossiness value is that it appears twice in d3d8.ini: one near the end of the file and one (incorrectly) under "Terrain Lighting and Bump Mapping". Not sure which one is picked up, but obviously there should be just one.
EnvReflection has no problems, though.

MajorMagee, I see, indeed the settings in the water shader are different.
By the way, are you getting emails from me and Daniel?
I mentioned in one of recent ones that Numpad0Switch no longer works in this version. It was breaking many new features and I thought no one needed it anymore.
 
Okay, that makes sense.

Also, it actually needs to be:


#else // default (i.e. stock CFS3)
#define BaseOpacity 0.99
#define WaveBump 5.0
#define WaveScale 5.0
#define FoamAmount 0.32
#define AddFoam

to still see the whitecaps that go with my seawater effects files...

BTW, I'm getting about a 10 FPS decrease in performance with these versus the January 2018 version. That probably makes sense with all the new functionality going on.
 
I see that
FakeDriverVersion=1
is missing from d3d8.ini. I didn't notice it at first at that's why it asks to run cfs3config.
greycap.raf, the issue with Glossiness value is that it appears twice in d3d8.ini: one near the end of the file and one (incorrectly) under "Terrain Lighting and Bump Mapping". Not sure which one is picked up, but obviously there should be just one.
EnvReflection has no problems, though.

Both confirmed to work after applying those fixes. :encouragement:
 
Just so I understand, the dynamic gunsight adjustments no longer function with a simple Ctrl+[ and Ctri+], and I have to remap my key commands with new entries that are not available with the default game key bindings?
 
Okay, got the Key Bindings thing, and missing TextureMagic.ini items sorted out finally.

Almost back to even with the previous set of shaders, and then I can start looking into the new features. Perhaps next weekend...
 
MajorMagee, sorry, didn't have time to answer yesterday.
the dynamic gunsight adjustments no longer function with a simple Ctrl+[ and Ctri+], and I have to remap my key commands with new entries that are not available with the default game key bindings?
Yes, you need to configure them, unfortunately I have no way to add default keybindings.
However there's also a "secret" option in d3d8.ini
LegacySightAndLightControls=1
That will re-enable the old keyboard handler.
 
Thanks for the Legacy code parameter. I may not need it, but it's nice to know it's there.

The cockpit reflections are a nice feature, but I would need a faster machine to properly take advantage of them.

On my older system (i7-7700K + GTX980) the 6 frame update cycle produces a visible lag.

I found that setting CockpitReflectInterval=0 gets back about 5 FPS inside the cockpit, and the lag is gone.
 
Although I managed to install the shaders OK the first time, now that I installed them in a vanilla ETO v1.50, they make it crash on start-up. I can get ETO to the second, screen filling splash screen, sometimes even with the UI background sounds audible but then it crashes to my desktop.

I have unticked "Dual Pass Render", ticked "High Resolution Z-buffer" and ticked "Disable Shadows". I have not assigned any keys to the clickable cockpit and installed the shaders using JSGME.
If it is of any help (not to me, unfortunately), I have attached the logs of both the 2018-01-17 and the 2019-10-22 shader versions: View attachment Shaders logs.zip

I am a bit at a loss what causes this.
 
Frosty, not sure what happens, there's nothing suspicious in logs.
One simple thing to try - use your existing d3d8.ini (from old shaders) with the new ones.

These shaders are used for WOFF PE and seem to be quite stable there, but there are so many installs of CFS3, I don't even know what to suggest.
 
One simple thing to try - use your existing d3d8.ini (from old shaders) with the new ones.

Unfortunately that didn't work.

I also tried these new shaders in vanilla CFS3 (straight from the CDs) and there they also make CFS3 crash. There's something in these shaders that either CFS3 or my PC really doesn't like...


Forgot to mention: the intro movie also doesn't play with the shaders installed. The soundtrack is there but no images. When I uninstall the shaders, the movie plays again. And no, it isn't disabled in the config utility.
 
Which files in this version are changed?

I've made a number of changes to get things working, and if this breaks something I'd like to know where to look.
 
Only the D3D8.INI and SeaWater.fx are included. The SeaWater.fx restores your water settings from the previous version, and the D3D8.ini corrects the errors noted by Ankor in this thread. If you have other fixes, feel free to send them to me for inclusion.
 
Frosty, I'll see if I can make a special version of the dll to diagnose the crash. WOFF/WOTR has a built-in feature that tells me exact place (in most cases) in the code that caused the crash. Perhaps I finally need to look up how it is done and add the same feature into CFS3 version of the shaders. Though it will likely take several days to do.

By the way, are you on Windows 7 or 10?
 
Thanks for the effort you put in this!

I am on Win7 x64 Home Edition.
But I also have a Win10 x64 laptop which I use during my lunchbreaks at work. I'll try and see this afternoon what the shaders do there. Off to work now!
 
It may not be optimal for anyone else, but here's what I currently have in d3d8.ini

[D3D8]


; Reflector Sight Setup Mode for Modders
; Set to 1 to be able to see reflector gunsight coordinates on screen, use CTRL or ALT + arrow keys to adjust the gunsight.
; Additionally use CTRL/SHIFT + D/W/S/A to adjust "target" distance/wingspan and relative scale for calibrating gunsight size.
;Use ctrl/shift + one of following keys:


;W – adjust target wingspan


;D – adjust target distance


;S – adjust reticle scale #1


;A – adjust reticle scale #2


;The target is drawn as a semi-transparent magenta square at specified distance in front of “camera” (so you have to align you view with reticle first).


;Adjusted values are not saved automatically, you have to type them in manually.
ReflectorSetupMode=0


ClickableSetupMode=0 ; Set to 1 to set part names and bounding boxes to aid in setting up the clickable cockpits.


MouseControlSpeed=5


; Since Win7 DirectX 9 can use new drivers enabling 'unlimited' GPU memory and much faster Alt-TAB.
; Set to 1 to enable these new drivers, but may have problems with older ATI/AMD cards
UseD3D9Ex=1


; Set to 1 to convert any fullscreen mode selected in cfs3config into windowed mode.
; If resolution is less than desktop res it will appear as a normal window, if matches - borderless.
; Many modern games use 'borderless fullscreen' which is actually a windowed mode.
WindowedMode=0


; Set to 1 to draw clouds sprites from both sides (normally only one side is visible)
; Slightly reduces cases of abruptly disappearing clouds when you fly past by but not much really.
DoubleSidedClouds=1


; How often cockpit reflections are updated (1 - fastest, 1000 - every 1000th frame, 0 - disabled)
; Note that the reflection consists of 6 sides of a cube, and this interval is for ONE side
; So even though the 1 is fastest it will still take 6 frames for full update.
CockpitReflectInterval=0


; Resolution of environment reflection cubemap.
; 1 = 128x128; 2 = 256x256; 3 = 512x512; 4 = 1024x1024
EnvMapSize=4


; Set to 1 to hide searlight beams pointing directly upwards for some time (as in WOTR)
HideInactiveSearchlights=0


; Terrain Lighting and Bump Mapping
TerrainDiffuse=1
TerrainDetailBump=0.2
TerrainDetailColor=0.75
TerrainSpecular=0.5,0.5,0.5
TerrainBumpFactor=0.125,0.125,0.125


; Scenery Lighting
SceneryDiffuse=0.5


; Facility Lighting - FacilityBrightness works as a multiplier for diffuse color of building. So if you have a texture pixel with RGB value = 200 and FacilityBrightness = 0.8 the result will appear as if RGB value was 200 * 0.8 = 160. It can also make objects brighter if you use value >1.0.
FacilityBrightness=0.825


; Should match PatchPixelDim in compositetexturebudgets.xml to get correct terrain bumpmapping
TerrainPatchPixelDim=256


; Change to NoMultisampling=1 for SweetFX compatibility, but it will disable ingame antialiasing.
NoMultisampling=1


; Aircraft shadows. 0 - No Shadows; 1 - Low; 2 - Medium; 3 - Good; 4 - High; 5 - Best
ShadowQuality=5


; Terrain shadows. 0 - Disabled; 1 - Low Quality; 2 - Medium; 3 - High
TerrainShadows=3


; 0 - Disabled; 1 - Enabled
TerrainBumpMapping=1


; 0 - No shadows; 1 - 10%; 2 - 20%; ...; 10 - 100%. Doesn't make much sense to go below 50%.
CloudShadowScale=10


; 0 - No shadows; 1 - 10%; 2 - 20%; ...; 10 - 100%. Smaller values cause brighter shadows.
CloudShadowDensity=5


; -1 - Off; 0 - Default; 1 - VSync On
VSyncMode=0


; 0 - Use default (which is 60 degrees); 1...180 - override FOV for external views.
ExternalFOV=30


; Sun glare and lens flares. 0 - Off. 1 - On.
SunGlare=1


; Weather tuning (might be overwritten by WOFF)
; Range 0...100 as percentage of sunlight reduction.
CloudShadowOvercast=10
CloudShadowHeavy=90


; Tweaks strength of environment reflection. 0 - off. 1 minimum, 9 maximum.
EnvReflection=5


; Tweak sharpness of sun and environment reflections. 1 dullest, 9 sharpest.
Glossiness=1


; Enable dynamic lights (gun flashes, etc) for scenery objects. 0 - Off. 1 - On.
SceneryDynamicLighting=1


; Adjust sprite (smoke, dust, etc) brightness according to time of day. 0 - Off (always bright). 1 - On.
SpriteLighting=1


; Ambient+sun light amount when night sprites are enabled
NightLightThreshold=0.35


AlphaToCoverage=0
UseRenderThreads=1
FakeDriverVersion=1
LegacySightAndLightControls=0


; Enables or disables (if set to 0) head movement due to G-forces in cockpit view (offset and rotation)
HeadShake=1


; Controls the magnitude of head movement. Default value is 100. Rotation is unaffected by this setting.
OffsetScale=100


; Controls XYZ offset speed. Low values have high inertia so the response will lag more. Typically 4 to 100 with higher restoring the head position faster. Default 12
OffsetSpring=9


; Offset Damping with low values being more damped, Default 6
OffsetResponse=9


; Controls rotation speed. Low values have high inertia so the response will lag more. Default 24
RotationSpring=9


; Range 0 to 10. Value of 0 disables mouse view entirely.
MouseLookSpeed=5


; Time in seconds before mouse look automatically returns to centered view
MouseLookResetDelay=5


; Controls MouseView zoom increment/decrement steps. Valid values from 1 to 50. 20 is exactly the default value for CFS3/WOFF.
ZoomInStep=20
ZoomOutStep=20


; Smooth zoom speed. Zoom still changes step-wise, but transition between steps is smooth now.Range of values 0 to 10. Set to 0 to disable smooth zoom.
ZoomSpeed=5


; Zoom Direction. Default behavior is wheel-up = zoom-in. To change it to wheel-down = zoom-in use InvertMouseZoom=1.
InvertMouseZoom=1


; Troubleshooting options
Enabled=1
ForceHardwareVertexProcessing=1
ForceRenderTargetTextures=1
EnumAllDisplayModes=1
AutoGenMipMaps=1
WriteLog=1
 
Joost, have you installed the 4gb patch to your cfs3.exe? It probably isn't it, but it's worth a shot. I was trying to think what might be different by default with WOTR/WOFF where this problem never surfaced over there, and this was what came to mind.
View attachment 4gb_patch.zip
 
The 4Gb patch read me wasn't clear to me. (It's not in your zip but a previous D/L i did).
1. Where do I put the app? I am assuming in the CFS3 main folder?
2. I then open it and choose CFS3.exe?
Here is the read me

http://www.ntcore.com/4gb_patch.php

4GB Patch
Current Version: 1.0.0.1

Download the 4GB Patch

I originally wrote this tool for a friend of mine who needed it. This very little tool patches x86 executables in order to let them have 4GB (instead of only 2) of virtual memory on x64 platforms. This tool comes very handy for applications which need a great amount of virtual memory like games, 3D renderization, multimedia etc. To gain these 2GB, you just have to use this tool to patch the executable (*.exe file) of the software you want to have these additional GBs of virtual memory. It can be used by clicking on it and choosing the file or through command line (e.g.: "4gb_patch file.exe"). It automatically creates a backup copy of the original executable.

Why things are this way on x64 is easy to explain. On x86 applications have 2GB of virtual memory out of 4GB (the other 2GB are reserved for the system). On x64 these two other GB can now be accessed by 32bit applications. In order to achieve this, a flag has to be set in the file's internal format. This is, of course, very easy for insiders who do it every day with the CFF Explorer. This tool was written because not everybody is an insider, and most probably a lot of people don't even know that this can be achieved. Even I wouldn't have written this tool if someone didn't explicitly ask me to.
 
Back
Top