XPS framework has a preprocessor to facilitate some common OOP techniques that are typically carried out at 'compile time' in a traditional language/compiler. Preprocessing in XPS is typically done once at game launch if using a cfgTypeDefintions.hpp file. It also executes every preInit but, considers any caching if desired. If not using any config options, the preprocessor function can be called at any time via the XPS_fnc_preprocessTypeDefintion function or by calling the XPS_fnc_buildTypeDefinition function and setting the preprocess parameter to true.

What do they do?

The preprocessor iterates over every element of the type definition array and carries out modifications to it based on if a Key contains keywords or symbols. It can also apply Attribute modifications or validations to aide in development.

The Type Builder, if called, considers the following and acts on them:

Click the arrows to expand the content

Sequence Diagram

Symbols and Keywords

Base Methods

The NoStack Config Parameter

Attributes