/No-Grass-In-Objects-NG

NGIO ported to AE

Primary LanguageC++MIT LicenseMIT

No Grass in Objects NG

This is a port of No Grass in Objects rewritten using Commonlib. The config is roughly the same with a change to ini that should be created while the mod is first loaded, minor renaming of settings and an option for debug logs. To my knowledge all features should be working in SE/VR, the same goes for AE.


MO2 Installation Instructions:

  1. Download and install the Mod Organizer 2 plugin from the original mod into your MO2 plugins directory, located here: Grass Generation MO2 Plugin v1 (fix).
  • You will need to edit lines 56 and 57 to reflect grassPluginPath = "SKSE/Plugins/" and grassPlugin = "*NGIO-NG.dll", as shown below.

    Screenshot 2024-04-20 080244

  1. You will then need to install the latest version of NGIO-NG located in the releases section here on Github. This needs to be installed to the \Data\SKSE\Plugins\... directory of your Skyrim installation.
  2. You will now clock on the Tools -> Plugins -> Precache Grass option in your MO2 toolbar, which will launch (and re-launch) Skyrim to generate grass cache in your Overwrites folder per the settings in GrassControl.ini.
  3. After you have waited, you should get a pop up message that says, Grass Caching complete, at which point you can copy the \Grass\ folder from Overwrites into a new mod in MO2.

Vortex/Manual Installation Instructions:

  1. Install the latest version of NGIO-NG located in the releases section here on Github. This needs to be installed with the Install from file option in Vortex or installed manually to the \Data\SKSE\Plugins\... directory of your Skyrim installation.
  2. In order to start the Grass Cache, set Use-grass-cache = true, Only-load-from-cache = true in GrassControl.ini
  3. Create a new text document called PrecacheGrass.txt in the root folder of Skyrim Next to SkyrimSE.exe. This can be found by opening Steam and locating Skyrim SE in your game library, right-click it and navigate to Manage > Browse Local Files
  4. The next time you open the game, caching should begin. Caching is expected to crash repeately, just reopen the game and it should continue.

Common Issues:

  • Instant completion of Caching or completion of caching for only some worldspaces.
    • Check Skip-pregenerate-world-spaces and Only-pregenerate-world-spaces, make sure that both of these options are only one line.
  • Crashing while Caching
    • Check NGIO-NG/log, PrecacheGrass.txt, and Data\Grass\ to see if any progress is being done. If no progress is being made check any crash logs as the crash is likely caused by an issue with a mod affecting the area. This can be a texture, mesh, patch, or mod editing the area. It should be mentioned by the crash log.
    • Consider using a process restarter (e.g., Restart on Crash) for unattended generation.
    • I recommend using Crash Logger SSE AE VR over Trainwreck. As it provides much more helpful and readable crash logs.
  • Raycasting not working
    • Raycasting when used without a grass cache Use-grass-cache = false does not apply without loading a save twice. Raycasting will always take effect when a cache is generated with it enabled Use-grass-cache = true.

Requirements to Build

  • CommonLibSSE
    • You need to build from the powerof3/dev branch
    • Add this as as an environment variable CommonLibSSEPath
  • CommonLibVR
    • You need to build from the alandtse/vr branch
    • Add this as as an environment variable CommonLibVRPath instead of /external

User Requirements

Register Visual Studio as a Generator

  • Open x64 Native Tools Command Prompt
  • Run cmake
  • Close the cmd window

Building

git clone https://github.com/SaneEngineer/No-Grass-In-Objects-NG.git
cd No-Grass-In-Objects-NG
# pull commonlib /extern to override the path settings
git submodule update --init --recursive

SSE

cmake --preset vs2022-windows-vcpkg
cmake --build build --config Release

AE

cmake --preset vs2022-windows-vcpkg
cmake --build buildae --config Release

VR

cmake --preset vs2022-windows-vcpkg-vr
cmake --build buildvr --config Release

License

MIT