Intermediate File Notation Rules

XML Declaration

The intermediate files use a text-based XML format.

To clearly indicate that the file is an XML document, you must put the following XML declaration in the first line of the file:

<?xml version="1.0" encoding="utf-8"?>

Character codes.

The character encoding used is UTF-8.
UTF-8 BOM (0xef 0xbb 0xbf) is at the start of the intermediate file.

Version

The Version attribute of <GraphicsContentCtr> describes the version of the intermediate file. The version number is updated only when a change has been made to the format.
It has the same version as NintendoWare at the time of release.
The current version is 1.0.0

Element Rules

Element Content

In some cases the content of an element will be data, while in other cases it will be child elements.
The intermediate file cannot contain elements with data and child elements at the same time.

   ○  <Element1>6  3  11</Element1>

   ○  <Element1>
        <Element2>6 3 11</Element2>
        <Element3>9 0 4</Element3>
      </Element1>

   ×  <Element1>
        6 3 11
         <Element2>9 0 4</Element2>
      </Element1>

When the content of an element is a list of numerical values, any single-byte spaces, tabs and line breaks are treated as delimiters between values.

Element Closing

When an element does not contain content, the closing of the element is described by one single-byte space placed after the final attribute.

   Correct :     <element attribute1="0" attribute2="30" />

   Incorrect :     <element attribute1="0" attribute2="30"/>

Other

Path Notation

References to materials, textures, shapes and the like are described as follows:

Array element name["item name"]@file:file path

or

Array element name[item index]@file:file path

The forward slash (/) is used as the delimiter for folders in the file path.
If the file path is not an absolute path, it is treated as a relative path from the folder of the referencing file.
If the referenced item is located inside the referencing file, the file path can be omitted as shown below.

Array element name["item name"]

For example, in the case of <TextureReference>, the texture path can be described in the following format.

Textures["texture name"]@file:texture file path.

Name Attribute

If only one <SkeletalModel> exists in a CMDL file, the Name attribute of <SkeletalModel> is an empty string (" ").
When this is the case, the name of the CMDL file is used as the name of the model.

The same holds true for the Name attributes of <ImageTextureCtr> and <CubeTextureCtr> in the CMDL file.

It is also the same for the Name attribute of <SkeletalAnimationData> in the CSKLA file.

Units

Angles are handled in units of radians.

The unit for distance is not defined.
Values on the DCC tool are multiplied by the value specified by the Magnify option and output.






CONFIDENTIAL