This extension has the following goals:
-
Customizability: Allow all the surface level aspects of dialog, such as graphics, sounds, message speed, and controls, to be customized.
-
Extensibility: If the given degree of customizability isn't enough, further allow the dialog system to be extended with new code.
-
User friendliness: Provide an easy to use, easy to understand, and helpful graphical interface for all aspects of creating dialog.
In order to meet the goals listed in Principles, this extension is composed of numerous parts.
First, an engine extension is required for the basic functionality of displaying dialog in-game.
Second, in order to integrate directly with the Stencyl toolset and provide a friendlier interface, a toolset extension is used.
This extension is itself designed to be extensible. The core supports high-level abstractions such as the dialog data format, macros, commands, styles, tweening, and rendering dialog boxes. But dialog behaviors are responsible for actually defining how a dialog box looks and behaves, and what commands are available for dialog and event scripting. Of course, enough default dialog behaviors are included so that this extension can be used out of the box.
This extension is also designed to be customizable. In order to achieve a high degree of customizability with a friendly interface, the Data Structures extension is used for the storing and editing of custom data related to dialog behaviors and dialog styles.
libs/: third-party java librariesres/: icons and other embedded resourcessrc/: Java source code.classpath/.project: Eclipse IDE metadatabuild.xml: Ant build script
engine/: the complete engine extensionengine/def/: structure definitions for core dialog componentsengine/def/ext: structure definitions for bundled dialog pluginsengine/types: data type definitions
docs/: developer documentationguides/: guides that are meant to be viewed online at dialogextension.comsamples/: sample games using the dialog extension