Results 1 to 10 of 10

Thread: GTR2 Setup Instructions, Known Issues and Changelog

  1. #1

    GTR2 Setup Instructions, Known Issues and Changelog

    Updated 04/19/2021

    ===== About this project =====
    I’ll allow myself to begin this post with a personal note here. GTR2 holds special place in my heart, and I am sure I am not the only one out there feeling that way. It is the game that flipped me completely – once I encountered it I never looked back at casual racing games anymore.

    Time went by, and lack of Crew Chief and quality VR support made me set GTR2 aside for a few years. But I always silently hoped and dreamt that this will change one day. Recently, I ventured into the world of RBR, and seeing what community achieved there made me realize - things do not have to stay as they are in GTR2. As a result – Crew Chief Team presents to you GTR2 Crew Chief and native VR support.

    This project is the result of a close cooperation between Sparten and me. Sparten solved several complex problems, greatly accelerating the progress. He found out that GTR2 uses a form of rF1 plugin model, which saved us several months of work. In an instant, this discovery elevated the overall GTR2 tooling to an entirely new level. Aside from the Crew Chief support, we also got better Motion and Transducer integration - we notified devs of SimTools and SimHub and they already updated their tools to make use of that. He also ignited the hope for the native VR by implementing VR tracking, which kicked off the adventure of implementing the VR support. Without Sparten’s help this project would’ve taken much longer, and frankly, I am not sure I would’ve had enough patience and lasting interest to bring this project this far if it wasn’t for his cooperation and unique skills.

    Note: this plugin is provided as is, use it at your own risk. This is tested in offline only, no idea if it will cause online mismatches or any other issues. This effort is all about three words – offline autosport immersion.

    = Requirements (both CC and VR)

    * Only Steam GTR2.exe is supported (binary size 3,541,504 bytes). (Minor) hex edits should be fine.
    * Requires VC++ 2017 redist:

    = Starting GTR2
    If you have no issues getting GTR2 to start with CC Plugin installed, you don’t need to read this. This section is intended for people getting back into GTR2 or starting it for the very first time.

    Note that many of the features require not only CrewChief.dll, but also d3d9.dll. d3d9.dll is especially sensitive to how GTR2 is configured, so it is important to follow the below setup in order to gain access to all the features.

    Getting GTR2 to run is the trickiest part of using this plugin. There are many conflicting suggestions online regarding GTR2 start procedure, so I decided to clearly outline The Happy Path, the easiest way of getting GTR2 to start reliably. This assumes that you have:

    * Steam version of GTR2 installed
    * Up to date version of Crew Chief installed

    ===== The Happy Path start procedure =====
    * Copy GTR2 out of Steam folder, for example, to C:\Games. Normally, it is in Steam\SteamApps\common\GTR 2 - FIA GT Racing Game folder. Save that copy. This is your clean copy. You can close Steam now – it is no longer needed.

    * Create another copy of the folder you just copied out – that will be your [GTR2 Drop]. I recommend new drop per mod (a copy of a clean copy you copied out of Steam in the previous step ), because that way game starts faster and because many CrewChief.ini settings are mod/series specific.

    * Copy all the contents of Program Files (x86)\Britton IT Ltd\CrewChiefV4\plugins\GTR2\ into your [GTR2 Drop].

    * Download CrewChief.ini from here: Place it into [GTR2 Drop]\Plugins. This .ini file enables multiple fixes for GTR2 age related issues that prevent it from starting.

    * Right click on the GTR2Config.exe and select “Run as Administrator” in the Compatibility tab. Do not change anything on GTR2.exe.

    * Run GTR2Config.exe to select the desired video mode.

    GTR2 should now reliably start.

    Note #1: If you are running large grids, make sure to patch GTR2.exe with the 4Gb patch (for example, by using this: Note that 4Gb patch requires 64bit Windows, it won’t do much on 32bit Windows.

    Note #2: if you are running 4k monitor and you only see part of the GTR2 window, right click on the GTR2.exe, navigate to the Compatibility tab and click “Change High DPI Settings”. Enable the “Override high DPI scaling behavior” checkbox, and leave “Application” selected in the list box.

    Note #3: Make sure GTR2.exe is not running as Administrator and does not have compatibility mode set. That’s the most common issue with using this plugin.

    = Crew Chief

    ===== Installation =====
    Crew Chief should be able to automatically install the files needed. However, if you are using multiple GTR2 drops, it is important to understand the exact installation steps.

    Copy CrewChief.dll file out of Program Files (x86)\Britton IT Ltd\CrewChiefV4\plugins\GTR2\Plugins into [GTR2 Root]\Plugins. If Plugins folder does not exist, create it.
    Launch GTR2 once, if you should now find CrewChief.ini file in the Plugins folder. This needs to be done only the very first time.

    ===== Enhanced integration =====
    In order to enable the enhanced Crew Chief integration, make sure enableUnofficialFeatures is set to 1 in CrewChief.ini. If this value is not set, only official rF1 API is used, which has many limitations.

    If you use spotter (car left/car right functionality), you would need to raise data update rate by changing scoringUpdateBoost value. Lower value boosts update rate, but increases the CPU usage. The lower the value, the more precise spotter will be, but at a cost of higher CPU usage will be. Valid range is [0.0, 0.5]. At the lowest value, which is 0.0 (spotter data updated on every frame), causes approximately 10% FPS reduction, and at 0.1-0.2 CPU usage increase is negligible. Put this to 0.5 to completely eliminate FPS impact or if you do not use the spotter functionality.

    ===== Work in progress =====
    - Tire wear thresholds are still being worked on
    - Detailed damage information is currently missing

    ===== Limitations =====
    - For the best experience, English only strings need to be used in Game.dic, otherwise significant part of CC functionality won’t work.
    - Session restart without return to the garage breaks data flow (game stops sending updates). The workaround – don’t do that.

    VR Support (SteamVR)

    VR support has strict requirements and limitations. Please make sure to familiarize yourself with “Requirements/(Not)Supported configuration” section.

    ===== Requirements/(Not)Supported configuration =====
    - Steam GTR2.exe only
    - Windows 10
    - DX9 only
    - 32bit color only
    - Windowed mode only. You could run Fullscreen, but since doing so breaks CC SteamVR overlays, that is not supported.
    - Do not run as an Administrator. Since doing so breaks CC SteamVR overlays, such configuration is not supported. However, you should run GTR2Config.exe as an Admin if you set disableMyDocumentsProfile to 1.
    - Do not set compatibility modes on GTR2.exe/GTR2Config.exe. “High DPI Scaling override” set to “Application” is OK if your window scales to your Desktop incorrectly. Any other compat settings are not supported.
    - Do not run anything that might interfere with SteamVR (ReVive, Vorpx etc).
    - Tools/Plugins that rely on d3d9.dll are not supported (so no Reshades, Sweetfxes, Trackmaps etc).

    ===== Installation =====
    Crew Chief should be able to automatically install the files needed. However, if you are using multiple GTR2 drops, it is important to understand the exact installation steps.

    - Copy CrewChief.dll file out of Program Files (x86)\Britton IT Ltd\CrewChiefV4\plugins\GTR2\Plugins into [GTR2 Root]\Plugins.
    - Copy d3d9.dll and openvr_api.dll files out of Program Files (x86)\Britton IT Ltd\CrewChiefV4\plugins\GTR2 into [GTR2 Root].
    - Launch GTR2 once, that will create the CrewChief.ini file. This needs to be done only the very first time.
    - Set enableUnofficialFeatures = 1 and enableSteamVRRendering = 1 in CrewChief.ini. IMPORTANT: Make sure to re-run GTR2Config.exe every time you change the above setting (unless you set useVRVideoModeEnumerationFor2DRendering to 1).
    ===== Limitations =====
    - Pit crew member that guides car out of the garage is sometimes disappearing. It seems to be related to high FOV values used in VR and as of today I am unsure how to fix it.
    - Lens flare pops in and out of the view incorrectly. No idea how to fix (yet).

    ===== VR Configuration =====
    ; Uses VR method of video mode enumeration for 2D (Desktop) mode. If
    ; set, you do not need to re-run GTR2Config.exe every time you enable/disable the VR.
    ; Might also help with GTR2 startup crashes.
    useVRVideoModeEnumerationFor2DRendering = 1

    ; Sets distance to the menu/non-cockpit camera overlay. Higher value moves
    ; overlay further, lower moves it closer.
    menuOverlayDistance = 1.500000

    ; Sets curvature of the menu/non-cockpit camera overlay. Higher value makes
    ; overlay more curved, lower makes it less curved.
    menuOverlayCurvature = 0.200000

    ; Enables HUD rendering as a SteamVR overlay.
    renderHUDAsSteamVROverlay = 1

    ; Sets distance to the HUD overlay. Higher value moves
    ; overlay further, lower moves it closer.
    ; Requires enableHUDAsSteamVROverlay set to 1.
    hudOverlayDistance = 1.500000

    ; Sets curvature of the HUD overlay. Higher value makes
    ; overlay more curved, lower makes it less curved.
    ; Requires enableHUDAsSteamVROverlay set to 1.
    hudOverlayCurvature = 0.200000

    ; Scales the HUD overlay horizontally. Higher value makes
    ; overlay more wider, lower makes it narrower.
    ; Requires enableHUDAsSteamVROverlay set to 1.
    hudOverlayWidthScale = 1.000000

    ; Scales the HUD overlay vertically. Higher value makes
    ; overlay taller, lower makes it shorter.
    ; Requires enableHUDAsSteamVROverlay set to 1.
    hudOverlayHeightScale = 1.000000

    ; Virtual key code to use for resetting the center. Default is VK_NUMPAD5
    recenterHMDVirtualKey = 0x65

    ; Disables rain reflections in VR. Will not inprove FPS.
    disableVRRainReflections = 0

    ; Improves the lens flare effect rendering by moving the lens flare images closer to
    ; the center of a vision (positive value) or further out (negative value). This avoids
    ; the double sun image. Use "enableLensOffsetTuneUpMode" to find value that works best with
    ; your HMD (it depends on the aspect ratio and whether panels are canted or not).
    ; Suggested values:
    ; * Pimax 5K/8K, large FOV, native mode looks best at around ~36.0
    ; * Valve Index looks best at around ~19.0
    lensHOffsetPercentage = 20.000000

    ; Enables lens flare effect tune up mode. Enable debug logging (set debugOutputLevel = 2
    ; and debugOutputSource = 32768) then launch the game and start a session with the sun low in the
    ; the sky (e.g. Donington at 5pm - the sun is on the right of the starting grid). Look at the sun
    ; and use Numpad 4/Numpad 6 keys to move the flare effect until suns visually merge.
    ; Close the game and check USERDATA\Log\CC_DebugOutput.txt for the used offset percentage.
    ; You should see the message similar to: "Lens flare horizontal offset percentage is: 20.553" at
    ; the end of the file. Set "lensHOffsetPercentage" to whatever this value is.
    enableLensOffsetTuneUpMode = 0

    ===== Recommended tweaks =====
    - In order to avoid culling issues (cars, buildings disappearing), edit
    Fov=(160.000000, 62.00000)
    Raise value of 62 until culling issues disappear. (Running 110 here) .

    - In order to avoid camera clipping/cutting out of a car, decrease:
    ClipPlanes=(0.17500, 500.000000)
    Keep it as high as you can tolerate visually.
    - In order to avoid driver hands visible in mirrors, set:
    Rearview Front Clip="3.00000"
    The exact value will be content dependent, you may need to use slightly higher/lower value.

    - The usual GTR2 AA settings still apply in VR. So, if jagged white lines irritate you, consider using NVInspector AA settings:
    Antialiasing - Mode – Enhance the application setting
    Antialiasing – Setting – 4x Multisampling
    Antialiasing – Transparency Supersampling – 4x Sparse Grid Supersampling

    And don’t forget to crank SteamVR SS setting waaaaay up!

    - Shadows is what kills CPU in GTR2. So, whenever you need to raise the FPS, lower shadows to High or Medium.
    - Second largest perf killers are Opponent Details and Headlights, so lower those especially if you do 24hr events.

    ===== Note on performance =====
    VR rendering in GTR2 is very sensitive to how well optimized the content is. Some content will run great, and some won’t. Currently, the only way to address this today is via content optimizations. What this means is that you will need to be picky about the content as not all of it will run well.

    ===== Missing driver hands in stock content =====
    Some stock content has issues rendering driver hands at high FOV of VR. This is fixed in HQ Anniversary patch. HQ Anniversary patch is very well optimized and is highly recommended for playing the stock content.

    ===== Recommended .plr file tweaks UPDATED 03/17/2021 =====
    GTR2 is primarily CPU and Memory bound. Below are some tweaks I recommend to get some precious resources back. I’ll be updating this list as I learn more.

    Data Acquisition File=""
    MoTeC Minimum Time="1" – note setting this to 0 makes the game crash, I might fix this at some point.
    Simple Debris Collisions="1"
    AI to AI Collision Rate="20"

    = Rule Changes

    Rule changing options are pretty straightforward, so listing them below as they are in the .ini file. Those do not affect AI currently, their sole purpose is improving the immersion.

    ; Disable automatic speed limiter engagement on pit lane entry/exit.
    rulesDisableAutomaticSpeedLimiter = 1

    ; Enable pit lane speed limit detection in all sessions (not only the Race session).
    ; To serve penalty in non-race session, return to the pits.
    rulesEnablePitLaneSpeedLimitInAllSessions = 1

    ; Activate speed limiter in the garage stall. Only applies to vehicles with limiter available
    ; and tracks with speed limit below 200km/h.
    rulesActivateSpeedLimiterOnGarageExit = 0

    ; Override pit lane speed limit (km/h). Set this to the unrealistically high value (400) to
    ; effectively disable the speed limit. Useful for simulating pre-1994 events.
    ; Set to 0 to keep the speed limit specified by the track.
    rulesOverridePitLaneSpeedLimit = 0

    ; Issue a penalty for exiting the pits before exit light goes green.
    rulesEnablePenaltyForExitingOnRed = 1

    ; Don't allow the game to automatically start engine on exiting the garage.
    rulesDisableAutomaticEngineStartOnGarageExit = 1

    = FFB Changes

    DD wheel users, please be careful with this. Start with a very small Magnitude values, like 0.05 or 0.1. This was tested on DD1, CSW 2.5 and G29, but even my CSW wheel goes really crazy depending on what is set in the .plr file. I am not responsible for any damage or injury caused by this stuff.

    FFB changes have nothing to do with reality, they are not laserscanned etc. Their single purpose is increasing the immersion and focus.

    ===== Stationary Friction =====
    This feature tries mimic what’s happening when car is not moving or moving slowly. Currently, not physics based but I might revisit this in the future. Pretty straightforward properties, additional thing to note – make sure your wheel/driver has damper effect enabled (DPR on CSW).

    ; Stationary friction magnitude value, valid range is [0.0, 1.0]. Determines the amount of
    ; friction effect to apply.
    ; Set to 0.0 to disable the effect.
    ; Requires the folowing .plr settings:
    ; "FFB Effects Level" 2 or higher.
    ; "FFB steer friction coefficient" and "FFB steer friction saturation" should not be at 0.0.
    ffbStationaryFrictionMagnitude = 0.000000

    ; Speed km/h at which stationary friction effect is disabled.
    ; Stationary friction force will drop linearly and disappear at max speed value.
    ; Requires ffbStationaryFrictionMagnitude set to a value higher than 0.0.
    ffbStationaryFrictionMaxSpeedKMH = 40.000000

    ; Factor by how much power steering affects stationary friction force. Set to 1.0
    ; for cars without power steering, otherwise set to a lower value. Plugin considers
    ; power steering active when engine is running at above 50rpm.
    ; Requires ffbStationaryFrictionMagnitude set to a value higher than 0.0.
    ffbStationaryFrictionPowerSteeringFactor = 0.600000

    ===== Fix for the lost FFB effects =====
    While working on FFB, I noticed that my CSW would periodically lose effects. Eventually, I found that it happens if session consists of many events, or after pressing Alt+F many times. You would notice the issue if Stationary Friction does no longer work. I am not sure if this is a game bug, or Fanatec driver bug, but use this only if you have problems, because this settings may cause other problems.

    ; Experimental feature that disables FFB reset on the session change. Set this
    ; to 1 if you have some FFB effects disappearing upon entering the track.
    ffbDisableResetOnSessionTransition = 0

    = Tire Changes

    Tire changes are not based on any scientific equations or complex math, primarily because this stuff a lot of guesswork done without the source code, and honestly, there’s very little I understand about how exactly physics calculations are done by the game. But flat spots add a new element to the driving experience, most importantly requiring more focus and clean braking and ruining your race if you don’t do so.

    ===== Flat spots =====
    Even though flat spots are not visual (yet, but they might become visual in the future), and their calculation is mostly voodoo magic that I had a lot of fun writing, they’re NOT entirely BS. They’re emulated via simple tire manipulations, so it is not fake FFB/telemetry. Game calculates all the physics values based on tires modified in the realtime.
    Flat spots are mostly felt via motion/transducers (vibration), but there’s some FFB too. This is an initial version, which might get refined in the future based on feedback and new learnings.

    Couple of things to note:
    * How flat spot forms and feels is quite mod dependent, you may have to find parameter configuration that feels best with each particular mod. Defaults were produced with F1 1994 and EEC 2.3 with ABS off. (As usual, I suggest using a separate GTR2 drop per mod).

    * Be careful during the first few laps, cold tires are the easiest to damage. Really. In my experiments most of the time tires got ruined by not being careful while they are cold.

    * Once severe flat spot appears, wheel will lock up in the same spot more and more, further degrading the tire.

    * By default, flat spots are a bit exaggerated, but I provided settings to tame them down to your liking (although making them comfy defeats their purpose).

    * Ultimately, this stuff is a bunch of tricks, if your car takes off into space (that’s how my first few laps ended), reduce the values or turn flat spots off completely.

    * When game is saved, flat spots are saved in the .ccrs file, so they will persist game save.

    To enable the feature, set tiresFlatSpotMaxSeverity to 1.0, and keep reducing it until flat spots match your liking. See Tires section in the CrewChief.ini for available customizations.

    ===== Flat spots tune up hints =====
    Note: plugin is developed with all flat spot settings at 1.0, except:
    - EEC 2.3: with ABS low tiresFlatSpotInitialThreshold was set to 0.0. tiresFlatSpotSensitivity increased to 2.0
    - DTM 1994: tiresFlatSpotSensitivity reduced to 0.6
    - Reborn: tiresFlatSpotSensitivity reduced to 0.7

    If it feels like flat spot never forms:
    - make sure tiresFlatSpotMaxSeverity is above 0.0.
    - increase tiresFlatSpotSensitivity value.
    - make sure ABS is off (although flat spots can form even with ABS on).
    - lower tiresFlatSpotInitialThreshold value.

    If car shakes too violently and reminds of a tractor, or you want more shaking:
    - don’t lock your wheels.
    - lower or raise tiresFlatSpotMaxSeverity value.

    If you feel flat spot should’ve formed but it didn’t:
    - lower the tiresFlatSpotInitialThreshold threshold or disable it completely. I also suggest setting this to 0.0 if running with ABS.
    - increase tiresFlatSpotSensitivity value.
    - if running with ABS, you set ABS to Low, as on High it seems that wheels don’t lock up at all.

    If flat spot builds up too slowly:
    - increase tiresFlatSpotSensitivity value.

    If flat spot feels unnatural:
    - try changing tiresFlatSpotMaxSize value.

    If you want to go advanced:
    - enable CC tire logging (Log tyre stats preference) and see CC log after the race
    - In plugin, set:
    debugOutputLevel = 4
    debugOutputSource = 16384

    And check UserData\Log\CC_DebugOutput.txt.

    = Graphical Changes

    ===== Wiper animation =====
    Wiper animation will only work with cars that are specifically edited to support it. It is recommended that you only enable below settings if you know that car supports the CrewChief.dll wiper animation (it is fairly easy to add it yourself thanks to GTR233 created textures). Currently, HQ Anniversary 15.3+ supports them.

    In order to enable the wiper animation, set enableAdditionalInputBindings to 1. This will add a new in game controller binding Wipers under Controls->Extra (scroll all the way down). Then, enable graphicsEnableWiperAnimation setting.

    ===== Adding wiper animation to a car =====
    Wiper animation approach was developed in a joint effort with GTR233. For best results, get familiar with HQ Anniversary patch cars and follow the authoring applied there.
    Below is some explanation about how this stuff supposed to be authored. Steps involved:

    • In .cas file, remove RAINSCREEN instance.
    • Based on RAINSCREEN mesh, create new materials listed below.
    • Add instances/materials listed below:

    Name Description Texture authoring notes
    CCI_DWIPER Instance made visible when condition is dry and wiper is turned on
    CCM_DWIPER Material containing windshield animation with wiper moving in dry conditions I would recommend at least 40 frames of animation here.
    CCI_DWIPER_STOP Instance made visible when condition is dry and wiper is stopped
    CCM_DWIPER_STOP Material containing image of windshield with wiper stopped in dry condition This normally needs single frame only
    CCI_WWIPER Instance made visible when condition is wet and wiper is turned on
    CCM_WWIPER Material containing windshield animation with wiper moving in wet conditions I would recommend at least 40 frames of animation here.
    CCI_WWIPER_STOP Instance made visible when condition is wet and wiper is stopped
    CCM_WWIPER_STOP Material containing animation of rainy windshield with wiper stopped in wet condition I recommend:
    - Try to make images so that they harm visibility, and make it worth turning the wiper on.

    - Using as few frames here as possible to conserve the memory (10 should be fine).

    • All texture names have to begin with GTR233_WIPER.
    • All file names have to be unique (in the context of one car).
    • There’s a minimal diagnostic logging for Animation changes. Set
      debugOutputLevel = 143

    debugOutputSource = 67
    which may give a clue where things go wrong.

    Note on framerates: 20 frame animation is played at around 18FPS (slightly below when wiper moves Slowly, slightly above when wiper moves Fast). 40 frame animation will play at around 36FPS, so framerate depends on the number of frames in an animation.

    ===== Known wiper animation issues =====
    * Currently, dry wiper does not clear the dirt screen.
    * Under some conditions, animation may go out of sync on garage exit.
    * Wiper animation works in offline sessions only.

    = Additional Features

    ===== Known Crashes Fix =====
    enableKnownCrashesFix is a blanket setting to enable fixes for the known game crashes.
    Currently includes fixes for:
    * Game crash on major incident with multiple wheels lost.

    ===== Set CPU Affinity from the CC plugin =====
    ; 0 do notning. Otherwise:
    ; 0xF - four CPUs (2core CPU with HT on)
    ; 0xFF - eight CPUs (4core CPU with HT on)
    ; 0xFFF - twelve CPUs (6core CPU with HT on)
    ; 0xFFFF - sixteen CPUs (8core CPU with HT on)
    ; 0xFFFFF - twenty CPUs (10core CPU with HT on)

    ===== Expose additional telemetry =====
    By default, game does not expose some telemetry data like tire wear, suspension deflection etc. Setting enableMissingTelemetryFix to 1 exposes more data for Crew Chief and other apps to use. This is WIP and more fields will be exposed as needed.

    ===== Changeable weather patch =====
    Applies changeable weather patch for the Race sessions. Based on finding by Jstn (thanks!). To enable, set the in-game race session weather to “Changeable” and set applyChangeableWeatherPatch = 1.

    ===== Disable writing to MyDocuments =====
    While working on the weather patch I noticed that game is not consistent in where it writes/reads files to/from. To avoid further surprises, I decided to add a feature to disable writing to MyDocuments. This is also helpful in preventing conflicts between the multiple game drops. Important: this feature requires CC d3d9.dll.

    disableMyDocumentsProfile setting set to 1 disables profile writing to "MyDocuments\GTR 2" and writes all files into the GTR2 drop folder. If you enable this feature, going forward make sure to run GTR2Config.exe as an Administrator.

    ===== Synchronize steering wheel animation to a physical wheel rotation =====
    GTR2 has steering wheel animation limited to 240 degrees lock to lock. Unless your real steering wheel has 240 lock to lock rotation, animation will not match the physical wheel rotation.

    scaleDriverAnimationToPhysicalDegrees setting is intended to improve this experience slightly by allowing you to specify your physical wheel lock to lock degrees and synchronizing in-game animation to that value. Set this value to match your wheel lock to lock degrees (for example, 540 or 900).

    Note that since GTR2 driver animation is limited to 240 degrees, animation will stop at +-120 degrees.
    Note 2: make sure Speed Sensitive Steering="0.00000" is off in the .plr file.

    ===== Enable Driving School/Championship logos =====
    Steam version of the game had Driving School/Championship Details pages logos missing. Setting enableDetailsPageIcons to 1 fixes that.

    ===== VR Lens flare effect adjustment =====
    Lens flare effect does not render correctly, and if you seek perfection turn it off in the .plr, since as of today I don’t yet understand how to fix it completely.

    However, I quite like this effect. I find it to add a life like experience of sun complicating the driving, and SimBin/Blimey did a great job of making it look quite realistic. So, I came up with a tweak that makes it look good enough in VR.

    lensHOffsetPercentage setting improves the lens flare effect rendering by moving the lens flare images closer to the center of a vision (positive value) or further out (negative value). This avoids the double sun (Tatooine ) image.

    In order to find the right percentage you could try various values, or use enableLensOffsetTuneUpMode = 1. With tune up mode enabled and lens flare in the view, use the Numpad 4/Numpad 6 keys to move flare effect until suns visually merge. Close the game and check USERDATA\Log\CC_DebugOutput.txt for the last used offset percentage. You should see a message similar to:
    "Lens flare horizontal offset percentage is: 20.553". To use that value set lensHOffsetPercentage to 20.553 and you are done.

    Note: logging is disabled by default. To enable the log output, set:
    debugOutputLevel = 2
    debugOutputSource = 32768

    The offset percentage you will need will depend on your HMD’s aspect ratio and whether its panels are canted or not. Known suggested values:

    * Pimax 5K/8K, large FOV, native mode, lens flare looks best at around ~36.0
    * Valve Index: 19.0

    For the best experience, you should use sun flare texture created by GTR233, adjusted for your HMD. Here are some to try:

    ===== Motion system mode =====
    Suppresses telemetry in the garage and for 0.5 secs upon entering the track.

    All gMotor based games have this interesting feature where car kind of drops onto track, which upon entering or exiting the track produces painful punch if motion system is used. At least SimTools plugin does not do any muting, so this feature improves situation a bit. Enabled by setting enableMotionSystemMode to 1.

    Credits and Thanks

    First of all I got to say a big Thank You to ISI, who gave the whole family of amazing games to enjoy. Also, everyone who worked on GTR2 itself. It is truly impressive how GTR2 is still one of the most feature complete circuit racing games available. The game renders in VR resolutions, huge FOV and unusual aspect ratios, pretty much without major issues. Considering that resolutions in VR are 5-10 times higher than what we ran in 2006, it is very impressive work. And, all that without compromises – 60 car grid, 24hrs cycle, with dynamic weather – all works!

    GTR233 – fixing HQ content to render correctly at high FOV of the VR HMDs. And overall leadership and hard work around GTR2 content.
    Risa2000 and ZNix – 3D Math and DX discussions
    Yuca – key idea behind the flat spots
    Yoss - tire behavior discussions
    Bjarne Hansen – for helping me to understand AIWs, creating track mappings for GTR2 tracks and testing
    Jstn – for figuring out how to force variable weather
    mr_belowski – for his friendship, support, testing and creating the Crew Chief
    The Menace – for his help testing
    All the modders - for keeping GTR2 awesome!

  2. #2
    Crew Chief Mega Corp CEO mr_belowski's Avatar
    Join Date
    Feb 2017
    Just to add my thanks and appreciation for this, working with you guys makes me feel like a total fraud as I sit back and watch you create stuff that, to me at least, is entirely indistinguishable from magic

    Can I also add that I get a much better VR experience in GTR2 if I set "world movement" to 0 in-game (this is with a Valve Index)

  3. #3
    Update: CC

    Plugin now generates CrewChief.ini if one doesn't exist. Also, plugin will add new options/remove deprecated ones automatically.

  4. #4
    Update: CC

    Important: for VR use, make sure to update both CrewChief.dll and d3d9.dll.

    * Fixed rain reflections. Note: rain reflections rendering is not perfect, mostly due to the fact that they were not meant for VR resolutions and aspect ratios. If you find imperfections distracting, use "disableVRRainReflections" to turn rain reflections off.
    * Fix textures missing under some external camera situations.
    * Fix sky rendering corruption on some tracks around ~7pm.
    * Improve tracking and stereo projection rendering.
    * Fix driving school UI messages. This also allows using HUD in VR. See "VR Configuration" for UI configuration parameters.
    * Improve Oculus HMD rendering.

    Special thanks go to:
    * Sparten for contributing his tracking/stereo math improvements and HUD rendering method from AMS.
    * mr_belowski - finding and fixing bug that caused wrong rendering on Oculus HMDs.
    * GTR233 for his hard work fixing driver hands disappearing in HQ content. Thanks to his support we can all enjoy Driving School in VR.
    * Seven Smiles - a lot of testing.

  5. #5
    Update: CC

    Important: for VR use or if you want to utilize MyDocuments disabling feature, make sure to update both CrewChief.dll and d3d9.dll.

    * Improve rolling start position messages.
    * Improve Championship lap vs time race detection.

    * Improve VR rendering loop. Improved performance and fixed shutdown crashes.
    * Add feature to allow lens flare position adjustments (lensHOffsetPercentage setting).

    Game fixes:
    * Add feature to allow steering wheel animation scaling (scaleDriverAnimationToPhysicalDegrees setting).
    * Implement random weather patch (applyChangeableWeatherPatch setting).
    * Add feature to disable writing to Documents (disableMyDocumentsProfile setting).

    See "Additional Features" section in the main post for a more detailed explanations of the new features.

  6. #6
    Update: CC

    Both d3d9.dll (if you'd like to use VR video mode enumeration) and CrewChief.dll need updating.

    * Improve mouse scaling and use GTR2 mouse icons in VR
    * Fix a bug where changeable weather patch won't get applied unless VR is enabled.

    Speed limiter behavior tweaks:

    ; Disable automatic speed limiter engagement on pit lane entry/exit.
    rulesDisableAutomaticSpeedLimiter = 1

    ; Enable pit lane speed limit detection in all sessions (not only the Race session).
    ; To serve penalty in non-race session, return to the pits.
    rulesEnablePitLaneSpeedLimitInAllSessions = 1

    ; Activate speed limiter in the garage stall. Only applies to vehicles with limiter available
    ; and tracks with speed limit below 200km/h.
    rulesActivateSpeedLimiterOnGarageExit = 1

    Note: currently, speed limit penalty is not enforced in non-race session (ie you won't get disqualified BUT Chief will keep nagging you). But I'll revisit that some day to make sure event gets ruined if autosport rules are ignored.

    * Add "enableDetailsPageIcons" setting which enables Championship and Driving School details page logos.
    * Add "useVRVideoModeEnumerationFor2DRendering" setting which eliminates the need to re-run GTR2Config.exe on enabling/disabling of VR. This setting may also be useful in fixing GTR2 startup crashes in Desktop mode. Requires CC d3d9.dll present.

  7. #7
    Update: CC

    Crew Chief:
    * Implement the Safety Car phase.
    * Improve Rolling start column detection (Thanks to Bjarne Hansen for the idea and testing here).

    * Further improve lens flare rendering.
    * Mouse rendering tweak.

    * New penalty for exiting pits on Red.
    * Penalties in non-race sessions are now enforced, player will be DQ for ignoring them.
    * New option "rulesOverridePitLaneSpeedLimit" to override the pit lane speed limit. Useful for simulating pre-1994 events from when there was no speed limit in pits.
    * Relax the speed limiter detection logic to include more cars.

    For the best lens flare experience, you may want to use custom sun flare texture. See "VR Lens flare effect adjustment" section in the main post for customized textures for Pimax and Index headsets.

  8. #8
    Update: CC

    Crew Chief/Additional Features:

    * Add setting "enableMissingTelemetryFix" to expose more telemetry. When enabled, CC will become aware of the tire wear.

    * Implement stationary friction FFB effect.
    * Implement a switch to prevent game from resetting FFB on session transition.

    * Add "rulesDisableAutomaticEngineStartInGarage" setting to prevent game from autostarting the engine in the garage.

    Main post updated with details.

  9. #9
    Update: CC

    * Simple flat spot emulation. See "Tire Changes" section in the main post.

    Crew Chief:
    * Integrate flat spot messages.
    * Improve tire wear logic.
    * Improve wheel lockup detection.

    Additional features:
    * Add motion system mode.

    * Fix bug where sometimes "exit on red" penalty cannot be served.

    Minor perf improvement.

    Special thanks to:
    * mr_belowski - Crew Chief flat spot messages.
    * Yuca - key idea behind flat spots that greatly simplified the code, encouraging me to go through physics, not fake FFB/telemetry, testing and a lot of interesting and productive discussions.
    * Sparten - hinted an idea to exaggerate secondary lockups.
    * Yoss - tire behavior info
    * Wotever - info on ShakeIt and general discussions about flat spot emulation

  10. #10
    Update: CC

    Both d3d9.dll and CrewChief.dll need updating.

    Crew Chief:

    * Fix rolling start timed session time remaining calculation.
    * Suppress messages on return to garage from the pause menu.

    * Implement rain wipers. Requires content authored in a special way, see the main post for details. Next HQ Anniversary patch v15.3+ will contain compatible wipers.

    * Introduce enableKnownCrashesFix setting which enables fixes for known game crashes.
    * Multiple bug fixes.

    Special Thanks to:
    * GTR233 for coming up with an idea of animating wipers by using textures and creating such textures.
    * Yuca for testing and performance testing of the wiper stuff.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts