This section is for those who want to modify this mod and add their own weather types and intensities. This section will make use of only the WTHRINFO lump which you can find located inside the pk3 file. To open the pk3, any standard ZIP file browser will work. You can use any text editor to modify WTHRINFO itself.
Adding New Weather Types
Each precipitation type follows a standard format: [intensity][name]. For instance, the Rain type has MinRain, MedRain, and MaxRain. The first 3 characters denote the intensity. "Min" for light, "Med" for normal, and "Max" for heavy. The name is the actual name of the weather type. The name must be the same across all intensities for it to recognize it as the same weather type. Currently only the above listed intensities are allowed. While these must be the first 3 characters of your precipitation type, the following name can be whatever length you'd like. Note that any new types you add will not
be added to the options menu and must be manually toggled to.
Modifying Precipitation Types
If you look in the WTHRINFO lump, you'll notice a plethora of options available for each precipitation type. While I won't detail every option here (see the documentation in the standalone release for more information), you can take a look through and see a good chunk of them. You may notice certain toggles like "FogIndoors" or "FogOnlyIndoors". These are the new options for tweaking where the weather can occur. "Indoors" lets it happen both inside and outside, while "OnlyIndoors" inverses the default behavior and makes it so they can only occur inside. These can be set for fog, wind, thunder, lightning, and precipitation (e.g. LightningIndoors, WindOnlyIndoors, etc.). In order to enable fog you must set the Foggy toggle and to enable thunder and lightning you must set the Stormy toggle. All of the Time properties are listed in seconds e.g. a PrecipitationRateTime of 0.02 means spawn precipitation every 0.02 seconds. The Color values only accept hex color codes e.g. 0xFFFF0000 for pure red.
You might also notice the PrecipitationTag accepts LANGUAGE lump values. This is not required, but it is an option if you wish. The tag is what will get displayed when switching (if none is provided, the precipitation type name is used instead.
Do the intensities and properties have to be listed like the order above?
No, that was done purely for organizational reasons. You can place anything in whatever order you prefer. Where you put your first instance of the new weather type will
affect the toggle order, however. I'd recommend putting any new weather types at the end of the lump.
Do I have to include all three intensities for each weather type?
No. If an intensity is missing, it'll grab the next previous intensity available (looping back around). For instance, if only the light intensity is available then it'll be cycled to even if the current intensity is set to heavy.
Is there a way to make my weather types standalone instead of modifying the base file?
Yes! If you want to release your add-on by itself, you can put your own weather types and intensities in a separate WTHRINFO file and place your ZScript/DECORATE precipitation Actors, textures, text, and sounds in their own respective file types and folders. Then archive them in a zip file (and optionally rename the extension to pk3) and load it like you would any other mod. Make sure add-ons are loaded after the base file to prevent any load order issues from occurring.