Mamodel files: Difference between revisions
Fieryhenry (talk | contribs) |
Fieryhenry (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
Mamodel files make up part of a [[model]]. They are responsible for giving assigning [[texture]] regions to parts of a model, giving them properties such as a base position, opacity, rotation, scale, etc. | Mamodel files make up part of a [[model]]. They are responsible for giving 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 == | == Structure == | ||
Revision as of 07:01, 8 September 2025
Mamodel files make up part of a model. They are responsible for giving 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].
The next line is the version code, this is always 3, but there is code in the game to handle different versions.
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 (pivot x)
- Y position of center of rotation (pivot y)
- X scale factor
- Y scale factor
- Rotation
- Alpha
- Glow (only in versions greater than 1)
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, otherwise it defaults to scale out of 100, angle out of 360, and alpha out of 255
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