Skyrim

File information

Last updated

Original upload

Created by

Zartar

Uploaded by

Zartar

Virus scan

Some manually verified files

Tags for this mod

About this mod

This application copys and organizes the code in Skyrim's behavior files to an output file in order to improve their readability.

Permissions and credits
Donations
SKYRIM BEHAVIOR ORGANIZER

VERSION: 1.2

#####################################################################################################
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).

###############################################################################################
REQUIREMENTS.
###############################################################################################

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.

5: Push 'enter' to exit the application.

##############################################################################################
PERMISSION NOTES.
##############################################################################################

THIS FILE IS MINE!!!

You cannot upload this file anywhere else without my permission.
You cannot modify and upload this file anywhere else without my permission.

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.


##############################################################################################
FUTURE WORK
##############################################################################################

Bug fixes, formatting changes and more descriptive labels.

##############################################################################################
CHANGE LOG
##############################################################################################

INITIAL RELEASE: Skyrim Behavior Organizer Version 1.0

##############################################################################################

UPDATE: Skyrim Behavior Organizer Version 1.1

CHANGES:

- 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.

BUG FIXES:

None as of yet.

##############################################################################################

UPDATE: Skyrim Behavior Organizer Version 1.2

CHANGES:

- There is no longer an option to convert another file or try again if the file is not found, you must push enter to exit and the re-run the application instead.

BUG FIXES:

- Fixed a bug that caused a crash when converting FNIS_FNIS_Behavior.
- Option to to convert another file was removed as it caused a bug that caused the output file to be empty.

##############################################################################################
CREDITS.
##############################################################################################

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.