Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Skyrim VR #32

Closed
Xerlith opened this issue Jul 17, 2021 · 11 comments
Closed

Support for Skyrim VR #32

Xerlith opened this issue Jul 17, 2021 · 11 comments
Labels
easynpc Issues/requests relating the EasyNPC app enhancement New feature or request
Milestone

Comments

@Xerlith
Copy link

Xerlith commented Jul 17, 2021

image

  1. I run the EasyNPC utility from MO2 as described
  2. Expected result - the list of actually enabled plugins for the currently selected game appears.
  3. Actual result - The list of plugins seems to point at the SkyrimSE directory, without the ability to change targets.

As a secondary attempt (separate drives for isntalled mods and MO2 data: the mods are on an SSD, the same as the Skyrim installation and the MO2 data on a separate HDD), I created a symlink in the MO2 BASEDIR and pointed EasyNPC to that instead, with the same resuilt.

@Xerlith Xerlith changed the title MO2 Skyrim VR incompatible Non-portable MO2 or Skyrim VR incompatibility Jul 17, 2021
@Xerlith
Copy link
Author

Xerlith commented Jul 17, 2021

@focustense
Copy link
Owner

focustense commented Jul 17, 2021

Hey, thanks for the report. I will admit that there was effectively no testing done on non-portable instances. Surprisingly, it did not come up even once during the alpha.

Having said that, I've set up a named MO2 instance and installed a few basic plugins, and I haven't been able to repro your issue. It seems to work as expected, showing the plugins for that instance.

Your title is a little bit ambiguous so I'd like to clarify: are you seeing this problem when you run EasyNPC with a named MO2 instance that is for Skyrim VR, and you suspect the incompatibility is with one of those things? Or does it mean that neither of those scenarios work for you, i.e. you are running a named MO2 instance for Skyrim SE, and it is still not listing the correct plugins?

If it is the first one, then I can confirm: Skyrim VR is not currently supported, nor LE or any instance other than SSE. If it is the latter - if you are seeing this for named MO2 + SSE - then is it possible you have multiple instances of the game installed?

@focustense focustense added easynpc Issues/requests relating the EasyNPC app question Further information is requested labels Jul 17, 2021
@Xerlith
Copy link
Author

Xerlith commented Jul 17, 2021

It is indeed for a Skyrim VR instance.

Shame. Since we don't have the face discoloration fix, solutions like this are the next best thing. Is SVR support in plans?

@focustense
Copy link
Owner

I assumed Skyrim VR would be very difficult, but a few scattered comments have led me to believe that maybe it is just as simple as changing a few enums here and there. If VR uses fundamentally the same record structure and facegen system as SE, then it might be easy to support.

The big issue for me is that I can't test it. I'd prefer not to do the work unless there are a few people willing to stick around long enough to get over the initial hump, maybe a week or two, and not give up if it doesn't work the first few times. If you're interested in trying out what would essentially be more like an alpha than a beta, let me know, and I'll see what I can do.

By the way, the Face Discoloration Fix is not quite the catch-all solution that many people imagine it to be. It does technically prevent blackface, but it gives you what I call "light blackface" in its place. I think it's really cool that someone was able to make that plugin, but at the same time, you're not missing out on that much by not having it in VR.

@Xerlith
Copy link
Author

Xerlith commented Jul 18, 2021

" If VR uses fundamentally the same record structure and facegen system as SE, then it might be easy to support."

Essentially, yes. The VR version of the game is just an earlier SE build (without ESL support) and with an added SteamVR renderer. The plugin structure is exactly the same, so are the facegen files.

I'm quite certain I'd be able to move the NPC files over to the SE version, run EasyNPC there, and then paste the results back into my VR list (Haven't treid that, though, since my SE and VR lists have long since diverged).

@focustense focustense changed the title Non-portable MO2 or Skyrim VR incompatibility Support for Skyrim VR Jul 20, 2021
@focustense focustense added enhancement New feature or request and removed question Further information is requested labels Jul 20, 2021
@focustense
Copy link
Owner

I went ahead and converted this into an "official" enhancement request. Since I have no ability to test, I think the code would go in a feature branch, and maybe some out-of-band or even off-GitHub "releases" for alpha testers. I can't justify putting an official release on the Nexus, or even on GitHub, and marking it as stable - but I can put out a test release and collect some feedback.

@focustense
Copy link
Owner

Question regarding VR and ESL support - is VR not able to load an ESL-flagged plugin at all, or does it just not treat it as an ESL, making it act like a regular plugin?

For very large overhauls, the BSAs need to be split up, and dummy plugins created in order to make the game load those BSAs. Those dummy plugins have no records, they're just for BSA loading, and they're always ESL-flagged. Will VR ignore these plugins completely and/or crash on start, or will they work normally and simply take up a non-FE slot in the load order?

@Xerlith
Copy link
Author

Xerlith commented Jul 20, 2021

Any ESL-flagged .esp plugin is being loaded like a regular plugin, subject to the 255 limt.

focustense added a commit that referenced this issue Jul 23, 2021
Running on unsupported games is now the _most_ common reason why the app fails to start, and in the majority of these instances the problem is not correctable (the game just isn't supported) and crash reports don't help.

Make it clear to the user what's going on and why.

This will still allow crash reports if GameFinder itself _crashes_. The new behavior only activates if GameFinder succeeded but couldn't find the game. In these cases, there is no way to get any useful information from the stack trace.

Closes #62. Also is written fairly generally to keep a path open for #32.
focustense added a commit that referenced this issue Jul 28, 2021
Includes the name and an override path to the data folder, should the automatic detection fail. Plumbs it through all the Mutagen abstractions so that no references are hard-coded anymore, except in the low-support standalone tools.

Adds a separate error message on startup for when the game ID is invalid, and renames the exception/templates so they're not ambiguous in this regard.

Progresses #32. Needs testing before anything can be closed.
@focustense
Copy link
Owner

Leaving a note for myself on LE support - make sure to update the BSA generator code to use FO3 mode.

@focustense focustense added this to the v0.9-beta2 milestone Aug 20, 2021
@focustense
Copy link
Owner

As of 0.9.0 (prerelease), now available here on GitHub, you can specify the game type in the command-line arguments.

The option is, simply, -g <game> or --game <game>.

Supported arguments for <game> are:

  • SkyrimSE (Special Edition - default behavior)
  • SkyrimVR (VR, obviously)
  • SkyrimLE (Oldrim, but I promise nothing about how well this will work, and the BSA format is definitely incompatible)
  • EnderalSE (Should work the same as Skyrim SE, but never tested)
  • EnderalLE (Same caveats as Skyrim LE)

Give it a try and see. I still cannot test on anything other than SE myself, but all hard-coded references to SE have been removed, so EasyNPC should support other editions just as well as Mutagen and (for the BSA code) libbsarch can.

@focustense
Copy link
Owner

With the "stable" version 0.9.1 released, I'm going to close this out. If you still can't even get the app to start with a VR instance then please reopen the issue, but otherwise, any issues specific to VR should be reported as separate bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
easynpc Issues/requests relating the EasyNPC app enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants