The First Steps (Savage)
Before you embark on this process, there are a number of important features of HL that you should be familiar with. The sections below outline these features.
Enable Data File Debugging
Begin by making sure that you've configured HL to enable the debugging aids. By default, HL assumes that users are not editing their own data files, so various development facilities within the product are disabled. You need to make sure they are turned on. Go to the "Develop" menu, where you need to turn on the "Enable Data File Debugging" option.
Compiling Data Files
During the course of developing your data files, there will be times where you want to fully test that everything is working properly. There will also be times when you simply want to verify that your changes are syntactically valid and compile successfully. You can ask HL to re-compile your data files at any time by going to the "Develop" menu, where you can invoke the "Compile Data Files" option. You'll be prompted to specify the game system to re-compile, and you'll be shown any error messages that might be encountered during the compilation process.
As long as your files fail to compile, they will not load into HL, so you should get in the habit of frequently re-compiling your data files. This will uncover problems quickly, since the error must exist in whatever changes you've made since the previous successful compile.
As a shortcut, you can use the <Ctrl-C> key combination to invoke a compile. This makes it easy to regularly verify that your data files are valid at each step along the way as you develop them. Please note that the <Ctrl-C> key combination will not work when the input focus is a text edit portal (e.g. character name), since <Ctrl-C> is interpreted as a traditional "Copy" command within a text edit portal.
Whenever you make changes to your data files, you need to load those changes into Hero Lab so you can use and test them. The simplest way to do this is to go to the "File" menu and select "Switch Game System". However, this approach always shows you the release notes for the game system and potentially the "demo mode" warning, after which you'll be shown the "Configure" form for a new character. After a few dozen times, this gets really old.
So HL includes the "Quick Reload" mechanism, which can be invoked by going to the "Develop" menu, where you can select the "Quick Reload" option. This mechanism re-compiles the data files, if necessary, and then reloads them into HL, bypassing the extra steps and restoring the current tab that is selected. As an added bonus, if you have a saved portfolio loaded, your portfolio is reloaded. This makes it quick and easy to incrementally modify and test out behaviors associated with selected options.
A keyboard shortcut is also provided for the quick-reload mechanism. When you use the <Ctrl-R> key combination, HL will trigger a reload. When all you are doing is structural changes, re-compiling is a good check that everything still works, but using the quick-reload mechanism will often be a better technique. With the quick-reload, you get to visually witness the impact of your changes, so may prefer to use quick-reload on a regular basic during development instead of just re-compiling.
Take Snapshots Regularly
As you evolve your data files, you will be making significant changes. If you aren't extremely careful, it's likely that you will end up causing everything to break at a few points along the way. When this happens, it can be invaluable to be able to see exactly what has been changed since the last time everything was working fine. In order to do this, you need to have a saved copy of when things were last working. So we strongly recommend that you take snapshots of your data files at regular intervals, preferably at milestones where everything is working the way you want it.
The easiest way to take a snapshot is to use the "HLExport" tool that is included with HL. This tool is designed to package up all of the data files for a game system into a single file that can be imported back into HL. Using HLExport, you can readily take snapshots of your working data files and save them. If you need to refer back to one, you can import the file back into HL. However, be sure to import the files into a different directory from your data files, else the imported files will overwrite your recent changes.
Another simple technique is to make a copy of the entire directory contents for your game system. This allows you to do a direct file-to-file comparison of any file at any time, which can be quite handy at times. In fact, a combination of these two methods will often provide the best (and safest) results.
Keep a Notebook Handy
Throughout the entire process of data file development, there will be lots of details you think of that you can't implement immediately. But you certainly don't want to forget any of these details. We highly recommend that you keep a notebook readily available during the evolution of your data files. Jot down notes about changes or potential problems that you identify along the way, then keep the notes as a running "to do" list. At various junctures, re-check your list and address whatever tasks make the most sense at the time.