Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

powerofthree

Uploaded by

powerofthree

Virus scan

Safe to use

About this mod

Seasons have finally arrived in Skyrim! Powered by a SKSE based framework with model/terrain/LOD swap support and dynamic snow coverage.

Requirements
Permissions and credits
Changelogs
SEASONS OF SKYRIM SKSE



Requirements 

SKSE64
Visual C++ Redistributables 2019 
Address Library for SKSE Plugins
powerofthree's Tweaks


Description

Seasons of Skyrim is a SKSE based framework for adding seasons, based on config files. It can swap model/terrain/LOD/grass, as well as do dynamic snow coverage in winter. 

Seasons ships with a proof-of-concept automated setup for Winter, where it will generate the appropriate form swaps based on your load order*.  

*Some models may not be detected and swapped (trees in particular, need to have the same model name with Snow and without). It cannot swap models if winter variants don't exist. Some objects may also be swapped incorrectly. Swapped objects may have snow textures that don't match the landscape.

*This autogenerated Winter formswap can now be disabled from applying. See po3_SeasonsOfSkyrim.ini (requires loading into the game once for the new ini settings to be generated)

The esl-flagged SnowOverSkyrim.esp adds some snow variants of statics not found in the base game. It is also required for the base mod to work. Disabling this plugin WILL crash the game.

How it works

  • Seasons supports the four seasons, Winter, Spring, Summer, and Autumn. 
  • Default setting is set to seasonal (season changes based on game month). Month which triggers each season can be changed (eg. winter in July/Sun's Height or faster seasonal changes)
  • Can also be set to permanent season (ie. permanent winter).

  • Seasonal changes require a config file, with season identifier, containing form swaps, to be present in Data/Seasons folder (MyMod_[WIN/SPR/SUM/AUT].ini).
  • Any one of the following form types can be swapped (Land Texture, Activator, Furniture, Movable Static, Static, Tree, Grass, Flora).
  • Seasonal grass generation is based on swapped Land Texture grass type. 

  • Seasons will only work in exteriors and in predefined worldspaces. Additional mod worldspaces can be added under [Worldspaces] in seasonal config files. 
  • Seasonal changes will happen during interior-to-exterior transitions.
  • If you're loading Seasons for the first time in an exterior save, changes will not apply until you enter an interior and exit.

  • Seasonal LOD (Terrain, Object, Tree) can be generated using DynDOLOD Alpha 67/SSELODGen Beta 88 or higher.
  • Seasons will fallback to using default LOD if these DynDOLOD/LODGen generated LOD files are not found. See the help page for more info.
  • Load the game until the main menu, and quit so the FormSwap configs are generated for DynDOLOD to work.

  • During Winter, snow shaders will be applied to statics/movable statics/containers that are not form swapped/do not have existing snow material shaders . Seasons will attempt to apply multi-pass snow shaders by default unless the model is incompatible (ie. has alpha). This means it will work with parallaxed objects.
  • References/forms can be blacklisted, by adding them to a config (MyMod_SNOW.ini)
  • Forms can also be whitelisted to work with multi-pass snow shaders, using above config.

  • Settings for each season, and overall season type can be configured in po3_SeasonsOfSkyrim.ini in your Data/SKSE/Plugins folder. 

Compatibility

  • Configs are evaluated alphabetically (zzzConfig wins over aaaConfig).

  • Base Object Swapper configs apply first. Seasons configs will then override the swapped form for its seasonal variant.

  • Compatible with Better Dynamic Snow, Simplicity of Snow, BDS patchers, weather mods, weather mods that add seasons, weather mods that include "Seasons" in their name...

  • Seasons is compatible with Grass Cache and Grass LOD if you use DynDOLOD 3.0, which supports seasonal grass cache GID file generation.

Installation

  • Install as normal, with a mod manager. Load up the game until the main menu and quit, so the automated form swap config is generated for use with DynDOLOD.

Technical Info (for mod authors adding support for Seasons)

Form Swaps

Form swaps should be written to an ini file with a seasonal identifier [WIN/SPR/SUM/AUT], in Data/Seasons folder (for example, Data/Seasons/MyMod_WIN.ini).

The automatically generated form-swap config for Winter (MainFormSwap_WIN) will always be overridden by user made configs.

General format is similar to Base Object Swapper.

[Form Swap Type]
originalBase_FormID~ModName.esp|replacementBase_FormID~ModName.esp

originalBase_EditorID|replacementBase_EditorID

The following form swaps are supported:

[LandTextures]
[Activators]
[Furniture]
[MovableStatics]
[Statics]
[Trees]
[Flora]
[VisualEffects]

Custom worldspaces can be specified as well:

[Worldspaces]
MyWorldEditorID

Examples

[LandTextures]
;LRocks01|LSnowRocks01wGrass
0xAE4~Skyrim.esm|0xF871F~Skyrim.esm

[Statics]
;RockM01|RockM01Snow
0x18195~Skyrim.esm|0x2695A~Skyrim.esm

[Tree]
NormalAspenTreeID|SnowAspenTreeID


Snow Shader

References/forms (Static/MovableStatic/Container) can be blacklisted from receiving snow shaders. 
Requires a config with "_SNOW" suffix in Data/Seasons folder (for example, Data/Seasons/MyMod_SNOW.ini).

[Blacklist]
Base_FormID~ModName.esp
Base_EditorID

Reference_FormID~ModName.esp
Reference_EditorID

Forms can be whitelisted to allow multi-pass shaders on them.

[Multipass Snow Whitelist]
FormID~ModName.esp
EditorID
(or)
FormModelPath

Papyrus API

Seasons provides several Papyrus functions for mod authors wishing to add seasonal support for their mods (function documentation is available in SeasonsOfSkyrim.psc)

GetCurrentSeason - gets the current season based on user's po3_SeasonsOfSkyrim settings.

Get/Set/ClearSeasonOverride - overrides current season

OnSeasonChange - event that fires during each season change

Credits

Plugin source

  • Ryan (SniffleMan) for CommonLibSSE
  • sheson for his invaluable help in adding seasonal LOD generation
  • wSkeever, xanza and everyone else who helped with feedback and testing