==============================================================================
Footprints                                                           by jonwd7

v1.00                                                                3/28/2015
==============================================================================

Adds footprints to the player, NPCs, and creatures. Initial release contains
snow footprints for the player/NPCs and a subset of the creatures. Sand and 
mud prints will be added in later releases. See below for what is currently 
implemented as well as future plans.

RELz/WIPz Thread: http://afkmods.iguanadons.net/index.php?/topic/4143-relz-footprints/

** Requires Dawnguard and Dragonborn DLC **

** SKSE and SkyUI dependencies are OPTIONAL, if you do not have these, the mod
 will disable these features automatically and seamlessly. **


==============================================================================
FAQ (Frequently Asked Questions)
==============================================================================
Q: "How long do the footprints last?"
A: They are decals so how many decals are placed before disappearing is defined
by your INI file decal settings. See the Technical section below for INI edits.

Q: "Is there a performance/FPS hit?"
A:  It will likely depend on your system and how many script-intensive mods
    you have already installed.
A:  I see no performance impact whatsoever.
    See: http://skyrim.nexusmods.com/articles/291/

Q: "Is it compatible with ________ mod?"
A: It is self contained and doesn't touch vanilla races or NPCs, so it is
inherently compatible with all mods. However, it does rely on certain things
like bone names and positions in the 

Q: "Do you support custom races?"
A: My mod will attach footprints to ANY humanoid races, as long as they use 
the humanoid skeleton and the mod properly defines the race as "ActorTypeNPC".
A: Other modders can create plugins which provide additional footprints to the
game with the Custom Footprints hook. Details and resources will be provided 
for this process, including some example ESPs.


==============================================================================
CURRENTLY IMPLEMENTED
==============================================================================
1. All humanoid (non-creature) NPCs
2. Bear, Deer, Draugr, Falmer, Hagravens, Horses, Sabrecats, Skeletons, Wolves,
Giants, Mammoths, Spriggans, Cows, Goats, Trolls, Skeevers, and Werewolves.
3. Race-switching support for player character. Shape Shifter mods should work
fine as long as I have the prints implemented for the race in question.
4. Dawnguard and Dragonborn support.
5. Boot detection support. Needs SKSE, but will disable itself if you do not
have SKSE. Currently only barefoot or shoe prints are supported.
6. Particle FX.
7. Stafing support for playable characters.

New in 1.0

1. Major rewrite.
    - In order to *vastly* simplify the scripts, Dawnguard and Dragonborn DLC
	are now required.
	- Scripts are now templated (e.g. Biped, Quadruped, Werecreature) so there
	are now fewer total unique scripts in use.
	- NPC Footprints and NPC Footprints with FX are now "ref counted", i.e. tracked.
	This is done so that they can be limited by the user.  If you want no NPCs to have
	prints at all, you set this to 0. You can also set the number of FX prints to 0 to
	disable particle FX.  This does not apply to the player and some races like horses.
2. MCM menu.
Main page:
    - Lists status such as number of NPCs, number using FX, what
	race the Player currently is and what effect is on the Player.
	- Lists third party plugins which depend on Footprints.
Settings page:
    - NPC Limit
	- FX Limit
	- Enable/Disable Footprints
	- Enable/Disable Custom Footprints hook (for Third Party plugins)
	- Setting of relevant INI values
3. Extensibility with a Custom Footprints hook
    - Third party plugins can now add additional footprints to the game. This
	can be used for custom races or to override existing behavior.
	- Script templates for Bipeds, Quadrupeds, and more allow mod authors to 
	include footprints for their races without any scripts of their own.
	- Separate FormLists for extending the Player footprints and the NPC
	footprints. Meaning a third party plugin can target only the Player or
	only the NPCs if needed.
	- To use more than one plugin, the end user will need to be able to merge
	the FormLists from each plugin.
4. The Ash plugin has been merged into the main plugin now that it requires
Dragonborn. In fact the addition of any new materials in later versions will
require no additional scripting, it is done with adding ImpactData to the
ImpactDataSets.

** See Changelog below for more information **


** SKSE and SkyUI dependencies are OPTIONAL, if you do not have these, the mod
 will disable these features automatically and seamlessly. **

==============================================================================
FUTURE PLANS
==============================================================================
1. Sand / Mud prints. For example 1.1 would feature dirt / mud, and 1.2 sand.
2. More particle FX for different races.

==============================================================================
INSTALLATION
==============================================================================
Install the BSA and ESP to your Data folder. Activate the ESP.

==============================================================================
UPGRADING
==============================================================================
** DO NOT UNINSTALL OR MAKE A "CLEAN SAVE" WHEN UPGRADING **
Unless otherwise stated, simply overwrite with the new ESP/BSA. For NMM users,
this means download the new version, and install over the old, choosing the
"Upgrade" option when prompted.

Upgrading from 0.99 to 1.00 requires no special action. However to decrease
the chance of any issues please:

1. Save indoors with 0.99 active. Do *NOT* save outdoors in Solstheim if using
the Ash ESP.
2. Overwrite the 0.99 BSA/ESP with the 1.00 ones.
3. **If you had the Ash ESP active before, delete it.**  Note: You will get
the "Relies on content..." warning. This is unavoidable.
4. Load the game, and for good measure fast travel to a different location.

Note: If you monitor your logs, do not be alarmed at the amount of warnings and
errors generated the first time you load 1.00. This is the mod cleaning up after
the old version. Any errors should cease after a few seconds of playing and not
persist on subsequent save loads.


==============================================================================
UNINSTALLATION
==============================================================================
** It is highly recommended you simply disable the effect via the MCM **

To uninstall completely, Hadoram's Save Cleaner is required. (http://www.nexusmods.com/skyrim/mods/52363/)

MCM Instructions

1. In the MCM go to Footprints > Settings.
2. Uncheck "Enable Footprints".
3. Play for a while then go to an Interior.
4. In the MCM click on Footprints to see the main Status page.
5. It should say:
    Footprints Enabled          FALSE
	Footprints Safe to Remove   TRUE
	----
	Total NPCs with Footprints  0
	
6. If it *does not*, play the game a while longer until Total NPCs = 0.
7. Save the game and Exit.
8. Disable/Remove the ESP.
9. Load the game and make a new save.
10. OPTIONAL: Clean the save using Hadoram's Save Cleaner. You can look these
instructions up yourself.


Non-MCM Instructions

1. Open the console and enter:

    set fp_IsFootprintsDisabled to 1
	
2. Play for a while then go to an Interior.
3. Follow steps 7-10 of the above instructions.

==============================================================================
INI FILE EDITS
==============================================================================
[Decals]
; The total number of decals that can be placed
uMaxDecals=1000 ; Recommended: 500-1000

[Display]
; The time it takes for a decal to fade out after uMaxDecals is reached
; Contrary to what every tweak guide says, this is not the total decal lifetime
fDecalLifetime=30 ; Recommended: 30-90

; How many decals can be placed each frame
iMaxDecalsPerFrame=100 ; Recommended: 25-100

==============================================================================
COMPATIBILITY
==============================================================================
There are no known compatibility issues.


==============================================================================
CHANGELOG
==============================================================================
0.1 - Initial Release
0.2 - "Brawl bug" fix, Possible fix for those receiving errors or CTDs. Please
report if this release fixes either issue for you. No new prints this release.
0.2.1 - Human prints tweaked
0.3 - Sound doubling fixed (for NPCs and most creatures), Version Control
scripting added
0.4 - Added Giants, Mammoths, Spriggans, Cows, Goats, Trolls, Skeevers, and
Werewolves. Werewolf transformations are supported for the player.
0.7 - **SKSE and Dawnguard features are OPTIONAL, if you do not have these,
	  the mod will disable these features automatically and seamlessly. **
	  > Initial boot detection support. Currently only generic and barefoot
	  prints. Entire subsystem is there, so I merely need to create textures.
	  > Initial Dawnguard support (most all races, except chauruses, Dwemer).
	  > Ghosts and familiars should no longer leave prints.
	  > Performance and stability improvements.
	  > Improvements to upgrade process.
	  
0.9 - Partial rewrite, simpler code, can stop and restart on command.
    - New textures for humans.
    - Parallax for humans.  ** Looks best with ENB, which fixes certain bugs **
    - Particle Effects for humans.  One for walk and one for run.  More will 
	be added in the future.
	
0.95 - Strafing Detection
    - Separate particle FX for running, walking, and strafing.
    - Improvements to the FX including more realistic gravity, speed, and the 
	addition of wind.
    - Bugfix - Regression which caused player to lose footprints after race change
    - Switched to uncompressed normal maps (same resolution) for less blocky lighting.
    - General restructuring and optimizations in preparation for menu options.

0.96 - Strafing Detection for Werewolf and Vampire Lord
    - Particle FX for Werewolf and Vampire Lord
    - New textures for: Werewolf, Vampire Lord, Elk, Canines, and Giants.
    - Limited water splash FX for humans, vampire lords, werewolves.
    - Bugfix for females on new games, and werewolves/vampire lords when
	loading a savegame.
    - Bugfix for some NPC AI putting up Wards or other spells in response to 
	the cloak which gives NPCs footprints scripts.
	- Bugfix for lack of prints when sprinting with magic drawn.
	
0.99 - Dragonborn support. **Snow only**  Ash material / Solstheim support will be
	released in a supplemental package. 
	- Barefoot textures reintroduced.
	- Textures redone for better realism. All textures now have the same visual 
	style.  
	- All textures now have a slight transparency to help with terrain blending.
	- Special prints for Arvak, incl. Fire particle FX. The fire FX will be
	optional and include a few colors in a separate package.
	- Bugfix: Wards / shields no longer activate on NPCs (i.e. the "blue swirlies")
	- Bugfix: Fixed a typo which caused an error when applying spells to Daedra.
	- Optimization: The script which adds footsteps effects should spend 
	significantly less time on Actors which already have an effect or are unsupported.
	
1.00
- Major rewrite.
    - In order to *vastly* simplify the scripts, Dawnguard and Dragonborn DLC
	are now required. Avoiding the master requirements caused more complexity
	than it was worth.
	- Scripts are now templated (e.g. Biped, Quadruped, Werecreature) so there
	are now fewer total scripts in use.
	- NPC Footprints and NPC Footprints with FX are now "ref counted", i.e. tracked.
	This is done so that they can be limited by the user.  If you want no NPCs to have
	prints at all, you set this to 0. You can also set the number of FX prints to 0 to
	disable particle FX.  This does not apply to the player and some races like horses.
- MCM menu.
	Main page:
		- Lists status such as number of NPCs, number using FX, what
		race the Player currently is and what effect is on the Player.
		- Lists third party plugins which depend on Footprints.
	Settings page:
		- NPC Limit
		- FX Limit
		- Enable/Disable Footprints
		- Enable/Disable Custom Footprints hook (for Third Party plugins)
		- Setting of relevant INI values
- Extensibility with a Custom Footprints hook
    - Third party plugins can now add additional footprints to the game. This
	can be used for custom races or to override existing behavior.
	- Script templates for Bipeds, Quadrupeds, and more allow mod authors to 
	include footprints for their races without any scripts of their own.
	- Separate FormLists for extending the Player footprints and the NPC
	footprints. Meaning a third party plugin can target only the Player or
	only the NPCs if needed.
	- To use more than one plugin, the end user will need to be able to merge
	the FormLists from each plugin.
- The Ash plugin has been merged into the main plugin now that it requires
Dragonborn. In fact the addition of any new materials in later versions will
require no additional scripting, it is done with adding ImpactData to the
ImpactDataSets.
- [Enhancement] Foxes now have their own smaller prints separate from canines.
- [Fix] Frost Giants no longer receive normal Giant footprints.
- [Fix] Ash print FX no longer use the snow particle FX, this was an oversight.
The Ash FX also no longer leave the "chunks" behind--only dust clouds.

==============================================================================
PERMISSIONS / LICENSING
==============================================================================
- Permission is NOT given to redistribute this mod in whole or in part.

==============================================================================
SPECIAL THANKS
==============================================================================
Chesko for initial brainstorming
RalphDamiani for initial test textures
eztwister for the mod idea