[Beta] SkyDiversity

Post » Fri Dec 18, 2015 8:38 am

I was recently trying to make a slightly clearer clear sky texture alternative (not overly successfully, I might add) when I realized that over-writing the /Textures/Tx_Sky*.tga files on the fly (alt-tabbing) during game play works to update them on the next in-game weather cycle. So I wrote a simple batch file that when running in the background during game play periodically and randomly updates the sky textures from a set of sky texture files for each weather type placed in a /Textures/SkyDiversity/ subfolder. It's a very simple background program that spends most of the time asleep for very little CPU impact. The sky textures themselves need to be copied by the user from one or more of the wonderful sky texture mods that have been released over the years, without which this utility would be utterly useless and pointless. The end result is a more diverse in-game sky experience. Possibly there is a lot more that could be done to improve on this idea, blending MGE weather color functions and/or MWSE file and/or pipe communication to the batch file. But for now I am happy enough with this simple implementation to share it with anyone here who may want to use it as is or take it to the next level. I have not yet tested if the same trick works with landscape or other textures but that could open up interesting possibilities, too (such as muddy dirt after rain, etc).

Files: https://www.dropbox.com/s/s44nxzqainjk5yi/ClearSkyDiversity_ExtractIntoMorrowindFolder.7z?dl=0

Readme:

Spoiler
SkyDiversity

By: svengineer99

Version: Beta0.91
Requires: Morrowind and Bloodmoon

_________
Contents
_________
1 - Description
2 - Installation
3 - Usage
4 - Uninstallation
5 - Incompatibility
6 - Known Issues or Bugs
7 - Contact
8 - Credits
9 - Permissions

____________
Description
____________

SkyDiversity uses a background batch program to intermittently (by default every 15 seconds) overwrite the default sky texture(s) Tx_Sky_[Weather].dds located at .\Data Files\Textures\ with up to 10 different sky textures with file name format Tx_Sky_[Weather][N].dds stored in the .\Data Files\Textures\SkyDiversity\ subdirectory, where [Weather] can be Clear, Cloudy, Overcast, Foggy, Stormy, Rainy, Thunder, Blight, Ashstorm, Snow, Blizzard and [n] can be 1, 2, .. 10. Thus the # of different possible sky textures seen in game can be increased up to 10x. This mechanic makes use of my observation that the Morrowind Engine re-loads the sky textures from disk every weather change (at least when resting/waiting/re-loading).

SkyDiversity.bat: runs continuously in the background, pausing when Morrowind.exe is not running; close the window to stop/shutdown.
SkyDiversity_AutoClose.bat: closes/shuts down automatically when Morrowind.exe closes/shuts down.
SkyDiversity_AutoStart_AutoClose.bat: starts Morrowind.exe and closes/shuts down automatically when Morriwind.exe closes/shuts down.
SkyDiversity_Reset: Restores the default .\Data Files\Textures\ sky texture files to their originals ( before first time running SkyDiversity*.bat ).

____________
Installation
____________

Extract the SkyDiversity_ExtractIntoMorrowindFolder.7z file into your \Morrowind [ not \Data Files ] folder.

The first time one of the SkyDiversity*.bat files is run it will: 1) backup any existing modded .\Data Files\Textures\Tx_Sky*.dds sky texture files into the .\Data Files\Textures\SkyDiversity\Original Textures\ folder and 2) if the .\Data Files\Textures\ folder has not yet been populated (see below) then it will get automatically populated with a combination of the existing modded clear sky texture (if any) and one or two demonstration clear sky textures [ one completely clear and another mostly clear with a few very high cloud strips of my amateur design ] so as to alternate with 50%/50% probability between two different "clear" weather skies; note that this automatic population is intended for demonstration purposes only.

It is up to the user to populate the .\Data Files\Textures\SkyDiversity\ folder with modded sky textures; a few excellent sky texture resource mods I am aware of are listed in the Credits section below, some of which individually include multiple texture options for each weather type. Copy/paste or drag/drop any modded .\Data Files\Textures\Tx_Sky_[Weather].dds file(s) into the .\Data Files\Textures\SkyDiversity\ folder and append a unique number starting at 1 and up to 10 to the file name. For example, copy your favorite Tx_Sky_Rain.dds and Tx_Sky_Cloudy.dds texture files to .\Data Files \Textures\SkyDiversity\Tx_Sky_Rain1.dds and .\Data Files \Textures\SkyDiversity\\Tx_Sky_Rain2.dds to add your favorite cloudy texture to rainy day skies with 50% chance. Mix and match as you like!

________
Usage
________

SkyDiversity.bat - before launching Morrowind, run (double click on) the SkyDiversity.bat file in the \Morrowind game folder; leave the CMD window open in the background while Morrowind is running. Close the CMD window when you are done playing Morrowind (or just leave it running in the background between game plays).

SkyDiversity_AutoClose.bat - before launching Morrowind, run (double click on) the SkyDiversity_AutoClose.bat file in the \Morrowind game folder; leave the CMD window open in the background while Morrowind is running. The batch file and window will automatically close when you quit Morrowind.

SkyDiversity_AutoStart_AutoClose.bat - INSTEAD OF launching Morrowind, run (double click on) the SkyDiversity_AutoStart_AutoClose.bat file in the \Morrowind game folder; Morrowind.exe will automatically be started; leave the CMD window open in the background while Morrowind is running. The batch file and window will automatically close when you quit Morrowind.

Choose one of the above to run at any one time.

To change the delay between sky texture updates you can manually launch one of the above batch files from a CMD window using the format SkyDiversity* [nSeconds] where nSeconds is the desired delay between updates in integer format (no decimal point). For example:
C:\Games\Bethesda Softworks\Morrowind> SkyDiversity_AutoStart 30
Will change the update delay to 30 seconds; use whole integer #s only.
Alternatively, and preferably, open the .bat file(s) and edit the statement "IF "TLAYSECONDS%"=="" SET DELAYSECONDS=15" to your desired default value, for example to "IF "TLAYSECONDS%"=="" SET DELAYSECONDS=30"; save the file and the new delay will be implemented the next time it is launched.

SkyDiversity_Reset.bat - run (double click) this file to restore the Sky Texture\ files to their prior to SkyDiversity installation states.

______________
Uninstallation
______________

First run SkyDiversity_Reset.bat from the Morrowind\ folder. Then Delete \Morrowind\SkyDiversity*.* and the \Morrowind\Data Files\Textures\SkyDiversity\ folder including all sub-files and sub-folders.

________________
Incompatibility
________________

None known.

_____________________
Known Issues or Bugs
_____________________

None Known.

________
Contact
________
Bethesda Forums: http://www.gamesas.com/user/947640-sveng/

________
Credits
________

starwarsgal9875's "Skies v3" and "Skies .IV", Vurt's "Vurts Hi-res Skies and Weathers", An Old Friend's "AOF Skies" and Hicks233's "Alternate Skies" excellent sky texture resources.

Greatness7 for beta testing and constructive feedback on enhancing the batch file implementation.

Microsoft batch file capability and tons of online user submitted documentation and Q/A.

Bethesda Softworks for the game and modding capability.

____________
Permissions
____________

Granted.

User avatar
patricia kris
 
Posts: 3348
Joined: Tue Feb 13, 2007 5:49 am

Post » Fri Dec 18, 2015 3:42 am

Mid-game texture replacing? Nice! Diverse skies is a great idea and a good use for this. I suppose it might work for other textures if they are not already loaded, but this needs further investigation. But right now it only works randomly, right? So there would have to be a way to swap textures at certain ingame events, using scripts for example... and then it might not work for textures that are already loaded, so in order to have different ground textures after rain, one would have to enter a different region or something like that... anyway, even if it is not possible to use this for anything else besides sky randomizing, it's a cool discovery.

User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Post » Thu Dec 17, 2015 10:11 pm

Really cool stuff. Tons of potential for alternate uses as well. :thumbsup:


You can replace most other textures in real time if you want, just have to make use of Morrowind's built in 'PurgeTextures' script command. I haven't tested this personally, but Logitech reportedly had success doing so.

User avatar
Brian LeHury
 
Posts: 3416
Joined: Tue May 22, 2007 6:54 am

Post » Fri Dec 18, 2015 5:51 am

Now that's thinking outside the (sky)box! :goodjob:

User avatar
Queen
 
Posts: 3480
Joined: Fri Dec 29, 2006 1:00 pm


Return to III - Morrowind