Author's instructions

If you break either of these rules, I will be VERY angry. And I will PM you, telling you how angry I am with you.

File credits

TheFigment aka TheHologram for his invaluable hkxcmd.Saidenstorm for his link to HBT 6.6.0, I would not of been able to create this tool without this.Fore for his pioneering work on behavior and his very useful Condense Behavior tool.Bethesda for Skyrim and providing the Creation Kit free of charge.

Donation Points system

This mod is opted-in to receive Donation Points

Donations

Straight donations accepted

#####################################################################################################WHAT IS THIS?#####################################################################################################

This is an application that operates on the XML format behavior files for Skyrim that can be generated by hkxcmd.It organizes the XML code in those files to improve their readability. It accomplishes this by:

- Removing the comments that reference data unneeded by the game engine- Organizing the code from top to bottom- Labeling all events, variables, states and objects by their names instead of their array index- Grouping certain types of objects together within a pair of delimiters- Nesting the grouped objects logically to produce a hierarchical tree of nodes, where each node represents a set of grouped objects- Labeling each nested node by name and type of its top level object

####################################################################################################WHY IS IT USEFUL?####################################################################################################

If you want to add new events, behavior variables, modifiers, animations to Skyrim you need to edit Skyrim's behavior files. To edit Skyrim's behavior files you need to understand them first. Unfortunately, even after converting the Havok packed binary files (hkx) to XML using hkxcmd the files are still VERY difficult to follow.

This application attempts to organize the data in a similar way the Havok Behavior Tool displays the file information in it's asset view.This allows one to follow the program flow and makes it easier to understand how animations are selected and played by the game.This tool also makes it easier to understand the purpose of animation variables and helps the user distinguish between 'trigger' events(used as a parameter for SendAnimationEvent()) and 'listening' events (used as a parameter for RegisterForAnimationEvent()).

###############################################################################################WANT TO LEARN MORE ABOUT BEHAVIOR? HERE ARE SOME USEFUL LINKS.###############################################################################################

Free version of the Havok Behavior Tool 6.6.0 (this is the only way to get any documentation on behavior).Basic tutorials (useful for explaining the basics of how behavior works).hkxcmd (you WILL need this to convert the behavior files to XML).Condense Behavior (great tool that condenses the files and has other features my tool doesn't).

The target Behavior files HAVE to have been converted to XML using hkxcmd.A text editor like Notepad++ ideally with a 'fold all' option and syntax highlighting.

###############################################################################################HOW TO USE.###############################################################################################

1: Download manually.

2: Extract contents of the download to the directory which contains your XML format behavior files.

3: Run the application. You will be prompted to enter the name of the behavior file you want to copy and organize. Enter the name of the file minus the extension.

4: The output file will have _SBO_OUT appended to it and will be situated in the same directory as the application.

- Two files are now generated, the normal file and the condensed version of the normal file. The condensed file's name will have '_SBO_COND' appended to it.- Referenced object parameters are labeled with their control variable.- Referenced conditions within the 'hkbStateTransitionInfoArray' class are labeled with their condition string.- Referenced transions within the 'hkbStateTransitionInfoArray' class are labeled by name.- Variable values, types and flags are labeled by name.

Figment aka TheHologram for his invaluable hkxcmd.Saidenstorm for his link to HBT 6.6.0, I would not of been able to create this tool without this.Fore for his pioneering work on behavior and his very useful Condense Behavior tool.Bethesda for Skyrim and providing the Creation Kit free of charge.