Definition File Reference: Difference between revisions

From HLKitWiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 41: Line 41:
|A single "behavior" element must appear as defined by the given link. This element details behavioral aspects for the game system and data files.
|A single "behavior" element must appear as defined by the given link. This element details behavioral aspects for the game system and data files.
|-
|-
|{{flalt|ScriptMacro Element (Data)|scriptmacro]]
|{{flalt|ScriptMacro Element (Data)|scriptmacro}}
|Zero or more "scriptmacro" elements may appear as defined by the given link. This element defines macros for use within scripts.
|Zero or more "scriptmacro" elements may appear as defined by the given link. This element defines macros for use within scripts.
|-
|-

Revision as of 01:58, 9 December 2008

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.

The definition file must have the file extension ".def". By convention, the file is always named "definition.def" so that it can always be readily identified.

This section outlines the structure and mechanics for writing a definition file.

IMPORTANT! This section utilizes critical notational conventions that should be reviewed.

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 given 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.
scriptmacro Zero or more "scriptmacro" elements may appear as defined by the given link. This element defines macros for use within scripts.
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.
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.

The "scriptmacro" Element

The "scriptmacro" element defines a macro for use within the scripting language to conveniently access object details. Each macro specifies a kind of shorthand notation for a lengthy block of script code that can be used in place of the full code and will be treated as if the full code were entered. Script macros are globally defined and may be used within any script. The complete list of attributes for a "scriptmacro" element is below.

name Text – Name to be used for the macro. May consist solely of alphanumeric characters.
result Text – The resulting text to be generated when the macro is used. Each parameter is spliced into the result appropriately.
param1 (Optional) Text – Name used for the first parameter provided to macro. Used for splicing the value into the "result" given above.
param2 (Optional) Text – Name used for the second parameter provided to macro. Used for splicing the value into the "result" given above.
param3 (Optional) Text – Name used for the third parameter provided to macro. Used for splicing the value into the "result" given above.
param4 (Optional) Text – Name used for the fourth parameter provided to macro. Used for splicing the value into the "result" given above.
param5 (Optional) Text – Name used for the fifth parameter provided to macro. Used for splicing the value into the "result" given above.