Jump to content

Question about Grass Cache workaround


Recommended Posts

I have a customised Wabbajack modlist (Nordic Souls), and created a downgraded MO2 profile for grass cache generation (v1.5.97), following this guide to the point (because i didn't know STEP has one as well):

https://github.com/The-Animonculory/Modding-Resources/blob/main/Grass Lods.md

My problem is that Grass Precache never finishes 100%. It says so, but it's never complete, and the PrecacheGrass.txt remains in the ROOT folder.

Now, i could try to fix the underlying issue, if you guys provide some helping hand to a non-hardcore-modder. :) But i found a workaround that fixes the result (Grass Cache) more or less, and faster. There's a pre-generated Grass Cache for my exact grass combo available on Nexus - there was only 24 CGID files missing from my own cache (at least for Main+DLC). I have two questions:

1) Are these CGID files absolute references? Meaning that if i generate Tamrielx0004y-015.cgid, is it swappable for someone else's Tamrielx0004y-015.cgid, provided the person has roughly the same world mods as me?

2) How safe would it be to do that workaround? It basically completes my missing Tamriel world CGIDs. And we're talking about LOD here, some clipping will probably be unnoticeable. Or what am i missing here? :)

2023-07-12_06-32-08.png

Edited by MarcDwonn
Link to comment
Share on other sites

Quote

If you are only using it for lod, it will probably be fine. 

 

Now i'm a bit confused. I always thought that Grass Cache is only used for LOD with Dyndolod, at least with the settings provided

here https://github.com/The-Animonculory/Modding-Resources/blob/main/Grass Lods.md

and here https://stepmodifications.org/wiki/SkyrimSE:Grass_LOD_Guide#Step_5:_Precache_Grass

Am i wrong here? Is Grass Cache used for regular grass as well? If yes, what settings should i apply to only use it for LOD with Dyndolod?

Edited by MarcDwonn
Link to comment
Share on other sites

5 hours ago, MarcDwonn said:

Is Grass Cache used for regular grass as well?

Yes the grass cache can be used for regular grass as well. Not using it for regular grass is kind of a waste after going to such great lengths, taking pains and spending so much time generating it. But if you're unable to successfully generate a complete, accurate cache for your load order, it's probably not such a good idea to use it for regular grass.

5 hours ago, MarcDwonn said:

If yes, what settings should i apply to only use it for LOD with Dyndolod?

Skip step #5 from the Usage instructions on the GCF mod page. Or skip step #2 under Setting the game to load the grass cache of the guide you've been following.

Link to comment
Share on other sites

On 7/12/2023 at 6:34 AM, MarcDwonn said:

My problem is that Grass Precache never finishes 100%. It says so, but it's never complete, and the PrecacheGrass.txt remains in the ROOT folder.

That doesn't make sense. You mentioned in another topic you were going to open a new topic about that. Feel free to do that if you wish.

Who/What "says" that it's complete? As it is, we don't have enough information to make a diagnostic.

Grass Precaching is either in progress running, or has crashed and is being restarted automatically by MO2's script to resume where it left off (which may cause an infinite loop if the load order is borked and Skyrim crashes repeatedly at the same spot), or has completed successfully. In the latter case, PrecacheGrass.txt is removed from the game folder. The state "successfully completed with PrecacheGrass.txt still in game folder" is an oxymoron and doesn't logically exist.

If PrecacheGrass.txt still exists then by definition we can tell that grass precaching has not successfully completed.

Link to comment
Share on other sites

The latter is what i mean. The Precache stops at World 51 of 51 / Tamriel 59,44 / Tamriel 59,49 and says it is finished. And after i click OK, it automatically restarts and start precaching the same cells of World 51 again. The PrecacheGrass.txt is never removed.

Link to comment
Share on other sites

2 hours ago, Mousetick said:

Who/What "says" that it's complete? As it is, we don't have enough information to make a diagnostic.

[Can't edit the reply above, so making a new one]

If i have a modlist with new worlds in it, and i pre-cache QW's GrassPatch #2 (has 3 different grass mods combined), and it finishes after 10 minutes of precache and the result is 280mb with 8000 files in it (or something like that), i have to assume that it's not complete. The same Grass Cache but pre-made for vanilla game, downloaded from Nexus, has over 10.000 files in it and is > 900mb.

But i'm just speculating here, i'm not a hardcore modder. The most "hardcore" i do is change Skyrim textures in Photoshop. :D

Edited by MarcDwonn
Link to comment
Share on other sites

1 hour ago, MarcDwonn said:

The latter is what i mean. The Precache stops at World 51 of 51 / Tamriel 59,44 / Tamriel 59,49 and says it is finished. And after i click OK, it automatically restarts and start precaching the same cells of World 51 again. The PrecacheGrass.txt is never removed.

Post PrecacheGrass.txt (the version that remains when NGIO reaches its "done but not really" state), GrassControl.config.txt and plugins.txt as attachments.

plugins.txt can be found in the folder of the MO2 profile used for NGIO precaching:

image.png

48 minutes ago, MarcDwonn said:

If i have a modlist with new worlds in it, and i pre-cache QW's GrassPatch #2 (has 3 different grass mods combined), and it finishes after 10 minutes of precache and the result is 280mb with 8000 files in it (or something like that), i have to assume that it's not complete. The same Grass Cache but pre-made for vanilla game, downloaded from Nexus, has over 10.000 files in it and is > 900mb.

Your assumption is reasonable, but the quantity of grass generated is dependent on multiple factors such as NGIO configuration, mods affecting landscape and worldspaces, load order and conflicts within.

We still don't know who/what "says it is finished", where you click OK, how it automatically restarts... wording is too vague to figure out what's happening. There are 2 components involved: NGIO running inside Skyrim, and Grass Precacher plugin running inside MO2. Each has its own UI, progress/completion/error messages and buttons.

If you've never gone through the precaching process before and are just discovering it, using a large modlist (Nordic Souls) and a grass mod (QW's GrassPatch #2) with grass turned up to 11, that isn't even part of the Nordic Souls modlist (it uses QW's GrassPatch #1 as far as I can tell), doesn't seem to be the best and smoothest way to go about it. Especially if you're not an experienced modder.

My advice: create a new MO2 profile for NGIO precaching, containing only the vanilla game + USSEP and nothing else. Successfully generate the grass cache with that profile once, so you know what to expect when everything works correctly. It shouldn't take very long. Pay attention to the messages/buttons displayed by the MO2 Grass Precacher plugin and by NGIO, respectively, at various stages of the process. Note the presence of PrecacheGrass.txt in the game folder, during, and at the completion of the process. Note the number of files in the grass folder, and its size, at the end. That should be your baseline and "known good" reference point. You can then compare and troubleshoot from there with your heavily modded game.

Link to comment
Share on other sites

Update: the strange "completed but not really" behavior is caused by Kezyma's Root Builder which manipulates the contents of the game's root folder on the fly as programs are launched from/returning to MO2. It's interfering with NGIO and the Grass Precacher plugin. The Nordic Souls Wabbajack modlist apparently uses Root Builder.

You'll need to figure out how to disable Root Builder for the grass precaching. Ask for help on the Nordic Souls or Root Builder support channels, if necessary. I'm out.

  • Like 1
Link to comment
Share on other sites

Wow, i had my suspicions about it. It's very convenient, but it's a pity that it interferes. And it already causes trouble when game quits suddenly and Root Builder "forgets" to delete some of the injected files from Game Root. Thankfully you spotted this and prevented further time wasting.

I'm not as inexperienced btw. I have a good comparative basis because in the last 2 years i've generated my own grass cache for Elysium Remastered (big Wabbajack modlist) with QW's Patch 2, and it worked very well after some learning curve. Precache plugin took between 1-2 hours (on Skylake i7-6700k) and Grass Cache was 3gb & 45.000 files (still have my last backup).

I greatly appreciate your efforts and help, Mousetick. I'll see what i can do about Root Builder.

Link to comment
Share on other sites

OK, the solution was easy: Kezyma suggested to disable Auto and build Root manually, until i'm done with pre-caching, then revert back to Auto.

The MO2 plugin finished like it should and deleted the PrecacheGrass.txt. Now i can enjoy tweaking GrassLOD brightness until i fall asleep... :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.