Mamodel files
Mamodel files make up part of a model. They are responsible for assigning texture regions to parts of a model, giving them properties such as a base position, opacity, rotation, scale, etc. The parts are then animated using maanim files.
Structure
The file is a CSV file and starts with a line specifying the format. This is always [modelanim:model] or [modelanim:model2] and is unused by the game.
The next line is the version code, see below for more details.
The next line is the total number of parts.
Each part is made up of the following data:
Part Structure
- Parent ID
- Unit ID
- texture cut ID
- Z depth
- X position
- Y position
- X position of center of rotation / scaling (pivot x)
- Y position of center of rotation / scaling (pivot y)
- X scale factor
- Y scale factor
- Rotation
- Alpha
- Glow (only in versions greater than 1, defaults to 0)
- Comment (Optional, unused by the game)
Unit Data
After the part list, there is a row which defines the units to use for scale, angle, and alpha.
This is only in versions greater than 0.
Structure
- Scale unit - in version 0 this defaults to 100
- Angle unit - in version 0 this defaults to 360
- Alpha unit - in version 0 this defaults to 255
- Unknown - only in versions greater than 3. Seems to always be 1
Collision Data
After the unit data, there is collision data. This specifies information such as a basic x or y offset.
This is only available on versions greater than 2.
The first row defines how many collision data sets there are.
Then the rows that follow are the collision data with the following details:
- Part ID - part ID the collision applies to
- Group ID - unused, but seems to specify the category of collision data this belongs to
- X - some sort of x position offset
- Y - some sort of y position offset
- Radius - unused, maybe intended to be the radius of the hitbox
- Unknown - unused and no name is given in the code
- Comment - Optional, unused by the game