Definition File Reference
Context: HL Kit … Kit Reference
Overview
Each game system has a single definition file that describes the fundamental, non-changing characteristics of the game. HL uses the definition file to configure itself for each game system, reading in the definition file before any other files. All of the contents of the other data files are given meaningful interpretation by the contents of the definition file.
This documentation outlines all the structure and mechanics for writing a definition file. Examples are provided in some cases.
IMPORTANT! This section utilizes critical notational conventions that can be found in over here.
Structural Composition
The overall file structure is that of a standard XML file. The file must start with an XML version element in the form: "<?xml version="1.0"?>". Following this, the top-level XML element must be a "document" and it must have a "signature" attribute containing the explicit value "Hero Lab Definition".
The following table defines the attributes for a "document" element.
signature Text – Must be the value "Hero Lab Definition".
Within the document element, every definition file possesses the following child elements, appearing in the sequence and with the names specified.
game A single "game" element must appear as defined by the given link. This element contains basic game system information. author An optional "author" element may appear as defined by the given link. This element contains information about the author of the data files. release A single "release" element must appear as defined by the given link. This element provides details about the current release of the data files. structure A single "structure" element must appear as defined by the given link. This element specifies structural details about the game system and its behavior. behavior A single "behavior" element must appear as defined by the given link. This element details behavioral aspects for the game system and data files. advancement An optional "advancement" element may appear as defined by the given link. This element contains details regarding the advancement works within the data files. enmasse Zero or more "enmasse" elements may appear as defined by the given link. This element specifies categories of things to automatically add to every actor. bootstrap Zero or more "bootstrap" elements may appear as defined by the given link. This element specifies specific things to automatically add to every actor. autoadd Zero or more "autoadd" elements may appear as defined by the given link. This element identifies choices that are pre-selected for every actor. autoadd Zero or more "usagepool" elements may appear as defined by the given link. This element specifies usage pools for use by the game system. reference Zero or more "reference" elements may appear as defined by the given link. This element details references used throughout the data files. group Zero or more "group" elements may appear as defined by the given link. This element defines a collection of tag groups and their tags. source Zero or more "source" elements may appear as defined by the given link. This element specifies sources that can be configured by the user for each actor. phase Zero or more "phase" elements may appear as defined by the given link. This element dictates the set of evaluation phases that will exist for the game system. resource Zero or more "resource" elements may appear as defined by the given link. This element defines resources like fonts and bitmaps used by styles for visual display. style Zero or more "style" elements may appear as defined by the given link. This element specifies an assortment of visual styles that can be used by portals. portal Zero or more "portal" elements may appear as defined by the given link. This element specifies an assortment of portals for use within layouts. template Zero or more "template" elements may appear as defined by the given link. This element specifies an assortment of templates for use within layouts.