[Lua] Weather API

Currently OpenMW hardcodes a small set of weathers. Each weather has associated attributes like sky texture, particle system, and fog density. These weathers and associated systems should be de-hardcoded and exposed in the Lua API.

  • Change all attributes associated with a weather, like percentage, sky texture, etc...
  • Read list of all registered weathers
  • Add weathers
  • Remove weathers
  • Event to register weathers to avoid confusing interaction of multiple mods registering weathers at different points in script execution.
  • Deal with special case of rain. One simple solution is to use hardcoded rendering path for rain whenever the default rain NIF is referenced.
  • De-hardcode the peculiar behavior of sky rotations which look ridiculous, like blight storms close to red mountain.

Some questions:

  • Will adding/removing weathers break mwscript, if so how can it be worked around?
Edited by Cody Glassman