X-Wing Alliance VR mod

Here you can find help for how to best run and setup your XWA VR experience.
Post Reply

Re: X-Wing Alliance VR mod

vbodo78
Recruit
Posts: 6
Joined: Sun Jan 05, 2020 6:32 am

Post by vbodo78 » Sat Apr 04, 2020 5:59 am

Trevor wrote:
Fri Apr 03, 2020 4:10 pm
What resolution are you using for Quest?

The quest has 1440 × 1600 per eye, so setting an ingame resolution of 640x711 should at least make the UI + HUD render at the right aspect ratio of 1:1.111 (1600/1440)
I took your suggestion and used xwahacker to set to 0 slot resolution to 640 x 711, and use that in-game. Then, I used the in-game hot keys to configure the FOV, aspect ratio, scale, etc. Everything looks great now.

m0rgg
Cadet 3rd Class
Posts: 47
Joined: Wed Apr 01, 2020 10:33 pm

Post by m0rgg » Sat Apr 04, 2020 10:08 am

Hello all,

I was a big fan of the X-Wing series back in the day, and your VR mod was the final reason for me to reinstall the game and try the gorgeous new graphics from XWAUP community. Thanks to all the wizards that contribute to make this game even more enjoyable than it was originally.

About VR FOV, distortion, Interpupillary distance etc., I understand this is intrinsic to each HMD model, and there is only one truly correct value to have perfect rendering (right world scale, 1:1 view tracking)

Would it be then possible to create predefined settings for PSVR, Oculus Rift, Quest, Vive, Index, etc? The profiles can be included in the GitHub repo, it would make the configuration of the mod much easier.

Also, I am not an expert at all but I believed the parameters should be provided by the VR driver, and even the distortion applied automatically after you provide it the 3D view? Is there a limitation in the engine or DX11 wrapper that prevents benefitting from this?

If this is still something to explore, I will try to read and contribute 🙂

Thanks for all the effort!

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Sat Apr 04, 2020 7:54 pm

Trevor wrote:
Fri Apr 03, 2020 9:23 pm
Yes, you account for 3D aspect ratio, but I am talking about 2D (HUD and Text).
Hmmm... I expect the HUD to be affected by the same setting since it's rendered while flying. Or perhaps you're suggesting that we have one setting for 3D stuff and one different setting for 2D/HUD/Text?
Again, I did not mean resolution here, but IPD
I can't touch that as it'll break the projection matrices. That's a setting that has to be modified in SteamVR.

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Sat Apr 04, 2020 8:58 pm

vbodo78 wrote:
Sat Apr 04, 2020 5:59 am
I took your suggestion and used xwahacker to set to 0 slot resolution to 640 x 711, and use that in-game. Then, I used the in-game hot keys to configure the FOV, aspect ratio, scale, etc. Everything looks great now.
I'm glad it worked for you! Would you mind sharing your settings? In addition to this, we would need the SteamVR per-eye resolution, FocalLength.cfg and VRParams.cfg. So that we can start building a database like m0rgg suggests.

@Trevor: Same for you. I know you've already shared your settings in a few places; but maybe it's time to upload the files to git or something like that :)

@m0rgg: Building a settings database is a great idea. I can't do this by myself, though, since I only have a PSVR. If people can start sharing the in-game resolution, SteamVR settings, VRParams, FocalLength, we can start doing this.

Also you're correct that SteamVR provides IPD, per-eye resolution and camera settings; and applies distortion automatically. However, this game still renders everything in the CPU using the in-game resolution using the in-game camera, which is different from the data that SteamVR uses, so... things get a bit complicated because of that.

vbodo78
Recruit
Posts: 6
Joined: Sun Jan 05, 2020 6:32 am

Post by vbodo78 » Sun Apr 05, 2020 3:23 am

Sure. For Oculus Quest, I set the per-eye resolution to 640 x 711 using xwahacker.exe. In SteamVR, I'm using the 100% render resolution for 2000 x 2192 per eye. My VRParams.cfg and FocalLength.cfg follow. I'm also including CockpicLook.cfg because that's relevant to the VR setup.

VRParams.cfg

Code: Select all

; VR parameters. Write one parameter per line.
; Always make a backup copy of this file before modifying it.
; If you want to restore it to its default settings, delete the
; file and restart the game. Then press Ctrl+Alt+S to save a
; new config file with the default parameters -- however the
; VR mode may need to be set manually.
; To reload this file during game (at any point) just press Ctrl+Alt+L.
; Most parameters can be re-applied when reloading.
; VR Mode. Select from None, DirectSBS and SteamVR.
VR_Mode = SteamVR

; IPD is measured in cms; but it's an approximation to in-game units. Set it to 0 to
; remove the stereoscopy effect.
; This setting is ignored in SteamVR mode. Configure the IPD through SteamVR instead.
IPD = 6.5
; stereoscopy_multiplier amplifies the stereoscopy of objects in the game. Never set it to 0
stereoscopy_multiplier = 0.300
3d_window_size = 1.700
3d_window_zoom_out_size = 1.000
; The following value scales the final 2D images sent to the HMD. However, this may cause
; blurry vision so it's better to try 3d_window_size instead.
; Set the following to 1 to start the HUD in zoomed-out mode:
zoomed_out_on_startup = 0
concourse_window_scale = 12.000
; The concourse animations can be played as fast as possible, or at its original
; 25fps setting:
concourse_animations_at_25fps = 1

; Specify the aspect ratio here to override the aspect ratio computed by the library.
; ALWAYS specify BOTH the Concourse and 3D window aspect ratio.
; You can also edit ddraw.cfg and set 'PreserveAspectRatio = 1' to get the library to
; estimate the aspect ratio for you (this is the preferred method).
3d_aspect_ratio = 1.350
concourse_aspect_ratio = 1.430

; Lens correction parameters. k2 has the biggest effect and k1 fine-tunes the effect.
; Positive values = convex warping; negative = concave warping. SteamVR already provides
; it's own automatic warping effect, so you probably shouldn't enable this in SteamVR mode.
k1 = 2.100000
k2 = 0.720000
k3 = 0.000000
apply_lens_correction = 0

; The following parameter will enable/disable SteamVR's lens distortion correction
; The default is 1, only set it to 0 if you're seeing distortion in SteamVR.
; If you set it to 0, I suggest you enable apply_lens_correction above to use the internal lens
; distortion correction instead
steamvr_distortion_enabled = 1


; Depth for various GUI elements in meters from the head's origin.
; Positive depth is forwards, negative is backwards (towards you).
; As a reference, the background starfield is 65km meters away.
HUD_depth = 1.700
; If 6dof is enabled, the aiming HUD can be fixed to the cockpit or it can "float"
; and follow the lasers. When it's fixed, it's probably more realistic; but it will
; be harder to aim when you lean.
; When the aiming HUD is floating, it will follow the lasers when you lean,
; making it easier to aim properly.
floating_aiming_HUD = 1
GUI_depth = 0.595
GUI_target_relative_depth = -0.025
; GUI_target_relative_depth is relative and it's always added to GUI_depth
; This has the effect of making the targeted object "hover" above the targeting computer
Text_depth = 0.450
; As a rule of thumb always make Text_depth <= GUI_depth so that
; the text hovers above the targeting computer

; This is the depth added to the controls in the tech library. Make it negative to bring the
; controls towards you. Objects in the tech library are obviously scaled by XWA, because there's
; otherwise no way to visualize both a Star Destroyer and an A-Wing in the same volume.
Tech_Library_relative_depth = -2.000

; The HUD/GUI can be fixed in space now. If this setting is enabled, you'll be
; able to see all the HUD simply by looking around. You may also lean forward to
; zoom-in on the text messages to make them more readable.
fixed_GUI = 1

; Set the following parameter to lower the brightness of the text,
; Concourse and 2D menus (avoids unwanted bloom when using ReShade).
; A value of 1 is normal brightness, 0 will render everything black.
brightness = 0.950

; Interleaved Reprojection is a SteamVR setting that locks the framerate at 45fps.
; In some cases, it may help provide a smoother experience. Try toggling it
; to see what works better for your specific case.
SteamVR_Interleaved_Reprojection = 0

; Cockpit roll multiplier. Set it to 0 to de-activate this axis.
; The settings for pitch, yaw and positional tracking are in CockpitLook.cfg
roll_multiplier = -1.000
CockpitLook.cfg

Code: Select all

; tracker_type selects what tracker to use. Valid options are:
; FreePIE
; SteamVR
; TrackIR (also compatible with OpenTrack when the output is freetrack 2.0 enhanced + TrackIR)
tracker_type = SteamVR

; The multipliers for roll and positional (x,y,z) are in vrparams.cfg
yaw_multiplier = 1
pitch_multiplier = 1

; Offsets that can be added to the pitch and yaw
yaw_offset = 0
pitch_offset = 0

positional_x_multiplier = 2.0
positional_y_multiplier = 2.0
positional_z_multiplier = 2.0

; These limits are in meters.
min_positional_track_x = -25.0
max_positional_track_x =  25.0

min_positional_track_y = -25.0
max_positional_track_y =  25.0

min_positional_track_z = -25.0
max_positional_track_z =  25.0

; Enable this setting to move around the cockpit using the keyboard arrows.
keyboard_lean = 0

; If sticky_lean is set to 0, then the cockpit will return to its home position
; when the arrow keys are released. If set to 1, the position will stick where
; you leave it. Press the dot key twice to reset your position.
sticky_lean = 0

; Set this to 1 to limit the amount of cockpit lean. Set it to 0 for free-roam.
limit_cockpit_lean = 0

; +/- Limits for the keyboard lean. If these aren't specified, they default to infinity.
cockpit_lean_x_limit = 0.30
cockpit_lean_y_limit = 0.15
cockpit_lean_z_limit = 0.50

; Set the following to 1 to invert the keyboard lean on the y axis
invert_cockpit_lean_y = 0
FocalLength.cfg

Code: Select all

; The focal length is measured in pixels. This parameter can be modified without
; VR, so, technically, it's not a 'VRParam'
focal_length = 454.000000

m0rgg
Cadet 3rd Class
Posts: 47
Joined: Wed Apr 01, 2020 10:33 pm

Post by m0rgg » Mon Apr 06, 2020 2:06 am

I managed yesterday to make it run in VR for the first time, and followed the tutorial to adjust the aspect ratio, FOV etc. However, didn't manage to make it look perfect. There was always some distortion noticeable when turning the head, both in cockpit and the space background. I will try to do some more tests, like adjusting the game resolution to the native res of my HMD (Oculus Rift CV1).

I am using the Steam version, and from what I read it's not compatible with XWA Hacker. However it seems that the XWAUCP installer managed to set it (I chose 1900x1080).
Is there some way to modify the resolution in the Steam version without re-installing XWAUCP?


About the parameter database, I found this:
https://risa2000.github.io/hmdgdb/
@blue_max does that contain everything necessary to hardcode the right configuration for each HMD automatically? Or do we still need to do it empirically?
In fact this info comes from the openVR API, so I guess if you can't read the values and adapt the rendering automatically, the same problem applies to use this existing database?

One of the parameters for each HMD is the RecommendedRenderTargetSize. In theory, to achieve the best image quality with minimal pixel stretching, that's the resolution that should be used (if performance allows). Then this resolution can be scaled up or down by a factor that is usually set in the game configuration.
Would it be possible to adjust the render resolution at runtime without hard-patching the .exe, based on HMD recommended render size (and optionally a vrconfig parameter to override steamvr global settings)? Maybe with a specific hook?

Sorry if my questions are stupid or redundant, I am trying to understand your SteamVR code, but I still don't know enough to be of any real help.
But in the process, I am discovering some of the challenges of using the projection matrix angles as provided by OpenVR/SteamVR.
Some info that could be useful, if you haven't read it already:
https://www.gamedev.net/forums/topic/68 ... -htc-vive/
(fixed broken link in that article: https://github.com/ValveSoftware/steamv ... SteamVR.cs)
https://developer.oculus.com/documentat ... -advanced/ (for Oculus SDK, but the concepts seem universal)
https://rifty-business.blogspot.com/201 ... tions.html

User avatar
Trevor
Ensign
Posts: 466
Joined: Thu Dec 04, 2014 7:11 pm

Post by Trevor » Mon Apr 06, 2020 2:43 pm

Ok, so first off I want to apologise to Blue, you already added all the settings necessary to get good VR (except for HUD Aspect ratio - described below) so sorry for previous post about IPD etc. I just forgot about the "focal length"
No changes are necessary outside XWA :)

Next I have made a test opt for people to use in the pilot proving grounds which can tell you if you are rendering correctly.
X-Wing Cockpit - remember to rename the original first so you can undo

I have also looked at the db m0rgg listed but I dont know how to translate that into Blue's numbers for "focal length" so instead Ill post my latest settings and maybe some correlation can be made later.

============================
My Settings
==========
According to hmdv (really it just reads steam db so... kinda pointless. I actually expected it to render a model and ask for adjustments to give final results but no.) the DK2 is

Code: Select all

    1001 : ModelNumber = "Oculus Rift DK2"
    Recommended render target size: {1360, 1688}

Left eye HAM mesh:
    No mesh defined by the headset

Left eye head FOV:
    left:       -46.63 deg
    right:       47.53 deg
    bottom:     -53.09 deg
    top:         53.09 deg
    horiz.:      94.16 deg
    vert.:      106.19 deg

Right eye HAM mesh:
    No mesh defined by the headset

Right eye head FOV:
    left:       -47.53 deg
    right:       46.63 deg
    bottom:     -53.09 deg
    top:         53.09 deg
    horiz.:      94.16 deg
    vert.:      106.19 deg

Total FOV:
    horizontal:  93.26 deg
    vertical:   106.19 deg
    diagonal:   119.10 deg
    overlap:     95.06 deg

View geometry:
    left panel rotation:     0.0 deg
    right panel rotation:    0.0 deg
    reported IPD:           63.5 mm
The DK2 has a screen res of 1920x1080 split down the middle for 960x1080 each eye.

As Ive stated before set 640x720 ingame to correct the HUD aspect ratio (for dk2, others vary) this is the only external change now required, the rest can be configured in cfg files.
I will only state the "Difference" from stock settings.

VR Params

Code: Select all

VR_Mode = SteamVR
stereoscopy_multiplier = 0.333
3d_window_size = 3.000
3d_aspect_ratio = 0.8888
concourse_aspect_ratio = 1.3333
cockpitlook

Code: Select all

tracker_type = SteamVR
positional_x_multiplier = 1.6666
positional_y_multiplier = 1.6666
positional_z_multiplier = 1.6666
limit_cockpit_lean = 0
focallegnth

Code: Select all

focal_length = 250.000000
=================Optional======================
HMD Mounted HUD
VRParams

Code: Select all

zoomed_out_on_startup = 1
HUD_depth = 65535.000
fixed_GUI = 0

================================================================================================================================
Adjustments
================================================================================================================================


Using the opt
===========
On entering the proving grounds some of the geometry will "swing into place" not sure how to fix that but it doesn't interfere so I didn't bother.
Make sure you are positioned so that the first ring and cola can is in front of you (press "." if need be) and make sure that you can see to your left and right.
Image
Move forward/back until the edge of the big cube is no longer visible (should be default position, but if you move correct yourself).
if you look down you should see a grid
looking around you should see orange and red stripes going into the distance.
With the correct settings these should look like parallel lines and not be warped.
Make sure you can see the numbers and while looking at 0, you should see 40 on both sides if your FOV is > 80.
for example, the data above shows the DK2 to have a FOV of 93.26, that means I should see over half the next strip to both 40's
Image
After setting your correct FOV (focal length) we can now move onto making sure things "feel" the right distance.
If you can stand up and look around.
The big cube is 1m, the small one 10cm and the objects are what they are.
they should appear to be the right size and right distance from you.
Also, the big cube should not appear to bend, but should look straight from all angles
Image
I took a measuring tape and actually measured the cube end-to-end and adjusted cockpitlook until my movements equated 1m



Focal Length
===========
1450 = 20 deg
750 = 40 deg
450 = 60 deg
300 appears to be 84 deg
250 = 92deg
200 = 110deg
150 = 120deg
100 = 140deg
50 = 160deg
0 = 180 deg

Image

Trev
Last edited by Trevor on Mon Apr 06, 2020 8:41 pm, edited 3 times in total.

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Mon Apr 06, 2020 5:25 pm

Thanks for posting all this information guys. I'm still digesting all that was posted here... I'll start adding the settings that were posted to github to start a database for XWA.

Regarding the FOV database... that sounds like it should help compute the settings automatically; but on the other hand, the hotkeys that I added change the FOV too, and that doesn't seem to have helped people who still experience distortion after adjusting that. So, I'm not sure. Still, I believe keiranhalcyon7 has posted corrected formulas to translate between XWA's focal length and the actual FOV rendered in-game, so I think it should help.

As I said, I'm still digesting all that was posted here. So, it'll be a while before I can post anything that is actually useful.

User avatar
keiranhalcyon7
Lieutenant JG
Posts: 584
Joined: Tue Jan 02, 2018 6:41 am

Post by keiranhalcyon7 » Mon Apr 06, 2020 6:53 pm

Trev,
Trevor wrote:
Mon Apr 06, 2020 2:43 pm
Focal Length
===========
300 appears to be 84'
' means feet. I doubt that's the unit you meant. It seems like you meant degrees of FOV. Is that correct?

User avatar
Trevor
Ensign
Posts: 466
Joined: Thu Dec 04, 2014 7:11 pm

Post by Trevor » Mon Apr 06, 2020 8:37 pm

yeah sorry, cant do superscript o.

Ill change above

downloads should work too.

If anyone needs further explanations just ask.

The FOV/Focal length probably wont be a problem if we make a db up of devices.

And yes, I lump them together because they achieve the same result even if they are very different.

Trev

User avatar
keiranhalcyon7
Lieutenant JG
Posts: 584
Joined: Tue Jan 02, 2018 6:41 am

Post by keiranhalcyon7 » Tue Apr 07, 2020 7:40 am

Thanks. Sorry if that was obtuse of me. FYI it's alt+numpad-0176: °

Based on the numbers you've posted... is it possible you're only seeing about 810 of the 960 pixels in your horizontal resolution?

m0rgg
Cadet 3rd Class
Posts: 47
Joined: Wed Apr 01, 2020 10:33 pm

Post by m0rgg » Tue Apr 07, 2020 10:35 am

Based on the numbers you've posted... is it possible you're only seeing about 810 of the 960 pixels in your horizontal resolution?
The actual FOV visible in the HMD depends on many things, from the % of the screen actually visible (not blocked by nose, plastic casing etc), to eye relief (distance from pupil to lenses), head shape. That's why the empirical method, even though the best solution atm, may be limited. Thanks Trevor for all the effort!

I still believe there's a mathematical way to do all the calculations. I've been discussing a bit with blue_max and I think the calculation of the projection matrices for each eye can be improved to take into account asymmetric FOV/frustums that many HMD expect.
That would explain why blue_max does not see any distortion (PSVR has symmetrical FOV), but people using Oculus or Vive can see distortion. And no amount of FOV manual adjustment will fix it.

Thanks to everybody posting their configs. It's also interesting to include the steamvr_mat.txt file to know their ideal HMD FOV.

CGordini
Recruit
Posts: 3
Joined: Wed Apr 08, 2020 4:44 pm

Post by CGordini » Wed Apr 08, 2020 4:54 pm

boner wrote:
Fri Jan 31, 2020 5:10 am
Hi, Works very well with freetrack (trackIR setup) with amazing plugins like Bloom effects.

i have a question about x-wing, is posible to change the model or something to see the body on the front, like on the a-wing?

you can see an expample of the problema i have with x-wing in the first minut of the video, and on the minut 2 how its Works with a-wing (the rest of the video is just a test of experimental clip and camera for freetrack, playing with gamepad :S)

https://youtu.be/Y-fbuGBMGDo

kind regards.

I think this is mostly directed specifically at Boner, and I've posted on the Discord about this too for full disclosure.

A friend of mine is looking to try TrackIR + XWA, and every time he does, it crashes. Could you explain your setup a little more? At a glance, you're using FreeTrack and have configured XWA to use said FreeTrack, but the actual device being used is a TrackIR (+ clip) instead of a webcam + infrared LED's.

If I'm correct on that, could you fill me a little bit more on all your settings? What model TrackIR you're using specifically?

If anyone else has TrackIR working, I welcome their advice too :)

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Wed Apr 08, 2020 6:11 pm

CGordini wrote:
Wed Apr 08, 2020 4:54 pm
If anyone else has TrackIR working, I welcome their advice too :)
TrackIR has been supported for a while now. Get the installer for the VR mod, release 1.1.2, from the downloads page and select "TrackIR" for head tracking during the install process.

CGordini
Recruit
Posts: 3
Joined: Wed Apr 08, 2020 4:44 pm

Post by CGordini » Wed Apr 08, 2020 6:17 pm

blue_max wrote:
Wed Apr 08, 2020 6:11 pm
CGordini wrote:
Wed Apr 08, 2020 4:54 pm
If anyone else has TrackIR working, I welcome their advice too :)
TrackIR has been supported for a while now. Get the installer for the VR mod, release 1.1.2, from the downloads page and select "TrackIR" for head tracking during the install process.
Apparently doing exactly that causes a crash. I can get you Win10 Event Logs if you'd like.

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Wed Apr 08, 2020 6:51 pm

CGordini wrote:
Wed Apr 08, 2020 6:17 pm
Apparently doing exactly that causes a crash. I can get you Win10 Event Logs if you'd like.
That might help, yes. Also: did you try installing 1.1.2 on a fresh directory? One more thing: "Hook_CockpitLook.dll" was renamed a few months ago (from "Hook_XWACockpitLook.dll" or something like that). If you have the "XWA" version and the new version, then that may be causing your crashes. Just delete the "XWA" version (if you have it).

User avatar
Trevor
Ensign
Posts: 466
Joined: Thu Dec 04, 2014 7:11 pm

Post by Trevor » Wed Apr 08, 2020 11:41 pm

Based on the numbers you've posted... is it possible you're only seeing about 810 of the 960 pixels in your horizontal resolution?
That is probably about right (remember I "overscan" by about 0.3 on zoom - 2.7 touches screen edge but 3 makes easier sums for later and allows clip room)

How did you get 810?
If there is some mathmaical formula all the better as it means devices could be auto-configured based on "type" (though I guess it still makes a pre-defined db in end)

Trev

User avatar
keiranhalcyon7
Lieutenant JG
Posts: 584
Joined: Tue Jan 02, 2018 6:41 am

Post by keiranhalcyon7 » Thu Apr 09, 2020 4:48 am

Trevor wrote:
Wed Apr 08, 2020 11:41 pm
Based on the numbers you've posted... is it possible you're only seeing about 810 of the 960 pixels in your horizontal resolution?
That is probably about right (remember I "overscan" by about 0.3 on zoom - 2.7 touches screen edge but 3 makes easier sums for later and allows clip room)

How did you get 810?
If there is some mathmaical formula all the better as it means devices could be auto-configured based on "type" (though I guess it still makes a pre-defined db in end)
It's the same formula I've been using: FOV = 2*atan(resolution/2/focal_length), with an added correction for your underscaled game resolution. I just solved for resolution for each of your data points, and took the average. Here's my table:

https://docs.google.com/spreadsheets/d/ ... sp=sharing

User avatar
Trevor
Ensign
Posts: 466
Joined: Thu Dec 04, 2014 7:11 pm

Post by Trevor » Thu Apr 09, 2020 1:29 pm

Oh good to know.

So, focal_length.cfg just overwrites the FOV, I guess I just mis-understood blue all this time.

Also, unless I misunderstood, blue could use this formula to make the cfg correctly use degrees instead of pixels since
a distance measured in pixels isn't very useful.
Anyway, as said before, the terms used probably wont matter if we set up DB of devices.

Trev

CGordini
Recruit
Posts: 3
Joined: Wed Apr 08, 2020 4:44 pm

Post by CGordini » Thu Apr 09, 2020 9:26 pm

blue_max wrote:
Wed Apr 08, 2020 6:51 pm
CGordini wrote:
Wed Apr 08, 2020 6:17 pm
Apparently doing exactly that causes a crash. I can get you Win10 Event Logs if you'd like.
That might help, yes. Also: did you try installing 1.1.2 on a fresh directory? One more thing: "Hook_CockpitLook.dll" was renamed a few months ago (from "Hook_XWACockpitLook.dll" or something like that). If you have the "XWA" version and the new version, then that may be causing your crashes. Just delete the "XWA" version (if you have it).
Fresh install, having installed:
Steam XWA/verified files
XWAUCP 1.6
Effects by Blue Max's version 1.1.2 (oh hi)
Dynamic Cockpits v1.0

NOT checking "active cockpits" in your installer, NOR specifying "TrackIR" in the installer*, and simply putting tracker_type = TrackIR => cockpitlook.cfg (vrparams.cfg => vr_mode=none), causes this crash.
*So does specifying TrackIR in the installer.

Win10 Event Logs:
https://i.imgur.com/No4glOQ.png
https://i.imgur.com/T0Oawsn.png
https://i.imgur.com/TD1wR6W.png

Video of launch in hangar => stutter => messed up cockpit => crash
https://streamable.com/0tg58s

Close-up of weirdness in cockpit
https://i.imgur.com/4NA54t6.png

As far as I can tell, the real root of the problem is some combination of ActiveCockpit + NPClient.dll.

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Thu Apr 09, 2020 11:11 pm

I've been in contact with CGordini offline and we're trying to figure this out. However, if someone with TrackIR experience could chime in with suggestions, that'd be welcome too.

User avatar
Darksaber
Vice Admiral
Posts: 10932
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Sat Apr 11, 2020 9:48 am

@Blue Max, I've found a bug, it seems to be related to your DDraw.dll, I've tried to narrow it down to a certain hook by removing each hook in turn to see if it was a specific hook. But it looks like it is in the DDraw.dll 1.1.2 From the effects installer

I'll Explain

The top image just shows the Targetting Hud thingy, I've turned off the other element by pressing

Delete
End
Page Down
Insert
Page Up
.
flightscreen2.jpg
.
But as soon as I press Home, the Targetting Hud turns to white, It's not specifically the Home button you can turn off the element by pressing any combination of those keys, but the last key you press the target hud turns white
.
flightscreen3.jpg
.
It doesn't turn to white if I replace the DDraw.dll with Jeremy's 1.3.8

I've tested
DDraw.dll 1.1.1 = Same problem
DDraw.dll 1.1.0 = Works fine

The problem seem to have started at DDraw.dll 1.1.1

Quick list of hooks I removed to test

Code: Select all

Hook_CockpitLook.dll
Hook_Countermeasures.dll
Hook_D3DInfos_Textures.dll
Hook_Engine_Sound.dll
Hook_Exterior.dll
Hook_Hangars.dll
Hook_Hull_Icon.dll
Hook_Interdictor.dll
Hook_Joystick_FF.dll
Hook_Lightmaps.dll
Hook_Mission_Objects.dll
Hook_Mission_Tie.dll
Hook_Normals.dll
Hook_PA_Expansion.dll
Hook_Pilot.dll
Hook_Res1200.dll
Hook_Resolution.dll
Hook_Sfoils.dll
Hook_Shield.dll
Hook_Slam.dll
Hook_TacOfficer.dll
Hook_TargetboxToggle.dll
Hook_Time.dll
Hook_Weapon_Color.dll
Hook_Weapon_Rate.dll
Hook_Wingmen_Voices.dll
Hope this helps track it down :)
You do not have the required permissions to view the files attached to this post.
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Mon Apr 13, 2020 7:03 pm

Thanks for reporting the bug, Darksaber. Yeah, I knew about this bug and it's currently fixed it in my private branch. It's not related to any hooks, it has to do with the "disable_xwa_diffuse = 1" setting in SSAO. It happens if you have that enabled and disable all the HUD areas.

User avatar
Darksaber
Vice Admiral
Posts: 10932
Joined: Mon Jan 10, 2000 12:01 am
Contact:

Post by Darksaber » Mon Apr 13, 2020 7:17 pm

sorry to bump it, didn't know it you saw the post or not :)

nice to know you knew about it and it's already fixed, it' was an urgent fix, it's just cosmetic :)

Thanks
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time”.”
- John Lydgate

Good Things Come To Those Who Wait....
Darksaber's X-Wing Station

User avatar
blue_max
Lieutenant Commander
XWAU Member
Posts: 1426
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Mon Apr 13, 2020 7:40 pm

No problem, Darksaber. I actually hadn't seen your report. I bumped into this bug independently.

Back on topic: regarding the problem that CGordini reported on TrackIR, I worked offline with this friend to fix it. We could not fully root-cause the problem; but we found a workaround (it's essentially using FreePIE as a bridge between TrackIR and XWA). I'll post an independent topic with the details of the workaround later.

Post Reply