Skip to content

Adhoc Project (.yaml) Format

Nenkai edited this page Jul 14, 2024 · 2 revisions

Root

Name Type Required Description
project_name string Yes Sets the name of the project. This can be retrieved using the PROJECT macro.
project_folder string Yes Sets the project's folder, relative to the .yaml file.
base_include_folder string Yes Sets the folder that include directives will use.
output_name string Yes Sets the output build file (.adc/.mpackage) names. i.e arcade will output arcade.adc and so on.
version int No Sets the adhoc compilation version. Should always be set anyway, default is 12. Should match version used by target game (see builds).
merge_widget bool No Whether to merge all .mwidget files for each root into one .mproject file. This will build .mproject if all .mwidget are present.
serialize_components bool No Whether to serialize text .mwidgets into binary (used for late GT5 & later games).
serialize_components_version int No Sets the serialization version of binary .mwidget - 0 for GT5, 1 for GT6 (currently only v1 is supported).
build_package bool No Whether to build an .mpackage file (merge_widget should be on)
files_to_compile List<SourceFile> Yes Files to compile for this project.
extra_widget_resources List<WidgetResource> Yes Extra Widget Resources (merge_widget must be enabled)

Source File

Tip

The name of the file without its extension is available in code using the ROOT macro.

Name Type Required Description
name string Yes Source file name. i.e arcade.ad
project_component bool No Whether the source file is a project component file. Used for .mproject serialization (when serialize_components is on.
is_main bool No Whether the source file is a main file/top-level. By default the compiler will wrap every source file/module into the project's module, matching original. Example: If you have two source files ArcadeRoot.ad (root) & ArcadeProject.ad (project) where is_main is enabled, ArcadeRoot's module will be nested inside ArcadeProject while ArcadeProject will sit at the top-level.

Widget Resource

These are extra .mwidget files/resources that should be included in the project (merge_widget must be enabled).

Name Type Required Description
name string Yes Name of the .mwidget file, without extension.
Clone this wiki locally