'''MDL''' is the file format employed by Sword of Moonlight when something is to be animated. It's counterpart is [[MDO]]. Tools were provided by [[From Software]] for working with MDO files. However, no analogous tools were ever provided for MDL. MDO appears to be incapable of kinetic animation, despite having some simple texture based animations ability, which MDL may well not enjoy. MDL does the rest.
+
+
==History==
+
+
Despite having tools to work with MDO files, the format itself remains a black box. Since the MDL format on the other hand had been completely inaccessible for nearly a decade, greater priority has been given to figuring it out. The file format was first reverse engineered sometime in the latter half of 2010. There has been no official statement, but it has been claimed that From Software have stated that any attempt to reverse engineer Sword of Moonlight file formats is ok with the company.
+
+
Even though importers and exporters (export from MDL would come later) were developed around the same time the format had become well understood, there was no party interested enough in creating original MDL compatible models until the mid months of 2011. Efforts so far remain in the immature stages.
+
+
==Characteristics==
+
+
An MDL file is a relatively simple, piecewise model, with limited texture mapping possibilities. There are two flavor of animation, [[Tinman]] & [[Scarecrow]]. Tinman animations move like an animated suit of armor, or a wooden puppet come to life. Scarecrow on the other hand, move like a sack doll, or anything really with some degree of flexibility.
+
+
==Specification==
+
<fieldset class="spec">
<fieldset class="spec">
<legend class="caps">
<legend class="caps">
−
==Header==
+
===Header===
</legend>
</legend>
{| class="wikitable"
{| class="wikitable"
Line 54:
Line 67:
<legend class="tech">1st PRIMITIVE CHANNEL
<legend class="tech">1st PRIMITIVE CHANNEL
−
==Primitive channels==
+
===Primitive channels===
</legend>
</legend>
{| class="wikitable"
{| class="wikitable"
Line 101:
Line 114:
<legend class="tech">3D PRIMITIVES BLOCK
<legend class="tech">3D PRIMITIVES BLOCK
−
==3D primitives==
+
===3D primitives===
</legend>
</legend>
{{main|3D Primitive}}
{{main|3D Primitive}}
Line 108:
Line 121:
<fieldset class="spec">
<fieldset class="spec">
<legend class="tech">PER VERTEX LOCATION BLOCK
<legend class="tech">PER VERTEX LOCATION BLOCK
−
==Per vertex location==
+
===Per vertex location===
</legend>
</legend>
{{main|3D Vertex#Location}}
{{main|3D Vertex#Location}}
Line 124:
Line 137:
<fieldset class="spec">
<fieldset class="spec">
<legend class="tech">PER VERTEX LIGHTING BLOCK
<legend class="tech">PER VERTEX LIGHTING BLOCK
−
==Per vertex lighting==
+
===Per vertex lighting===
</legend>
</legend>
{{main|3D Vertex#Lighting}}
{{main|3D Vertex#Lighting}}
Line 141:
Line 154:
<fieldset class="spec">
<fieldset class="spec">
<legend class="tech">Tinman ANIMATIONS BLOCK
<legend class="tech">Tinman ANIMATIONS BLOCK
−
==Tinman animations==
+
===Tinman animations===
</legend>
</legend>
{{main|Tinman animation}}
{{main|Tinman animation}}
Line 159:
Line 172:
<ifieldset class="spec">
<ifieldset class="spec">
<legend class="tech">1st Tinman ANIMATION
<legend class="tech">1st Tinman ANIMATION
−
===Animations by ID===
+
====Animations by ID====
</legend>
</legend>
{| class="wikitable"
{| class="wikitable"
Line 175:
Line 188:
<ifieldset class="spec">
<ifieldset class="spec">
<legend class="caps">
<legend class="caps">
−
===The animation frame buffer===
+
====The animation frame buffer====
</legend>
</legend>
{{main|/Algorithm A (Tinman codec)}}
{{main|/Algorithm A (Tinman codec)}}
Line 201:
Line 214:
<legend class="tech">Scarecrow ANIMATIONS BLOCK
<legend class="tech">Scarecrow ANIMATIONS BLOCK
−
==Scarecrow animations==
+
===Scarecrow animations===
</legend>
</legend>
{{main|Scarecrow animation}}
{{main|Scarecrow animation}}
Line 208:
Line 221:
<fieldset class="spec">
<fieldset class="spec">
<legend class="tech">1st PlayStation .TIM IMAGE
<legend class="tech">1st PlayStation .TIM IMAGE
−
==TIM imaging==
+
===TIM imaging===
</legend>
</legend>
{{main|TIM (file format)}}
{{main|TIM (file format)}}
Line 222:
Line 235:
==See also==
==See also==
*[[/Appendix A (animation IDs)]]
*[[/Appendix A (animation IDs)]]
+
*[[x2mdl]]
[[Category:Sword of Moonlight]]
[[Category:Sword of Moonlight]]
[[Category:File formats]]
[[Category:File formats]]
Revision as of 21:56, 8 April 2011
MDL is the file format employed by Sword of Moonlight when something is to be animated. It's counterpart is MDO. Tools were provided by From Software for working with MDO files. However, no analogous tools were ever provided for MDL. MDO appears to be incapable of kinetic animation, despite having some simple texture based animations ability, which MDL may well not enjoy. MDL does the rest.
Despite having tools to work with MDO files, the format itself remains a black box. Since the MDL format on the other hand had been completely inaccessible for nearly a decade, greater priority has been given to figuring it out. The file format was first reverse engineered sometime in the latter half of 2010. There has been no official statement, but it has been claimed that From Software have stated that any attempt to reverse engineer Sword of Moonlight file formats is ok with the company.
Even though importers and exporters (export from MDL would come later) were developed around the same time the format had become well understood, there was no party interested enough in creating original MDL compatible models until the mid months of 2011. Efforts so far remain in the immature stages.
Characteristics
An MDL file is a relatively simple, piecewise model, with limited texture mapping possibilities. There are two flavor of animation, Tinman & Scarecrow. Tinman animations move like an animated suit of armor, or a wooden puppet come to life. Scarecrow on the other hand, move like a sack doll, or anything really with some degree of flexibility.