<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=DKRDS_Interactor_%28File_Format%29</id>
	<title>DKRDS Interactor (File Format) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wexosmk.xyz/index.php?action=history&amp;feed=atom&amp;title=DKRDS_Interactor_%28File_Format%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;action=history"/>
	<updated>2026-07-21T11:43:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=697&amp;oldid=prev</id>
		<title>Atlas: /* Header */</title>
		<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=697&amp;oldid=prev"/>
		<updated>2026-07-17T17:48:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Header&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:48, 17 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l33&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x20 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Affects interpolation between frames?}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x20 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Affects interpolation between frames?}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x24 || Int32 || &#039;&#039;&#039;[[#Axis Data|Axis Data]]&#039;&#039;&#039; offset&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, relative to 0x2&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x24 || Int32 || &#039;&#039;&#039;[[#Axis Data|Axis Data]]&#039;&#039;&#039; offset.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x28 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Bits per frame&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;). Total size in bits of one frame&amp;#039;s worth of keyframe index data across all bones (&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; * (&amp;#039;&amp;#039;&amp;#039;PIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;RIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;SIW&amp;#039;&amp;#039;&amp;#039;)).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x28 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Bits per frame&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;). Total size in bits of one frame&amp;#039;s worth of keyframe index data across all bones (&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; * (&amp;#039;&amp;#039;&amp;#039;PIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;RIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;SIW&amp;#039;&amp;#039;&amp;#039;)).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wexos_wiki:diff:1.41:old-696:rev-697:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Atlas</name></author>
	</entry>
	<entry>
		<id>https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=696&amp;oldid=prev</id>
		<title>Atlas: /* Header */</title>
		<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=696&amp;oldid=prev"/>
		<updated>2026-07-15T13:02:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Header&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:02, 15 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x1C || Int32 || &amp;#039;&amp;#039;&amp;#039;Number of frames&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x1C || Int32 || &amp;#039;&amp;#039;&amp;#039;Number of frames&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x20 || Int32 || {{unknown-left|&#039;&#039;&#039;Unknown&#039;&#039;&#039;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x20 || Int32 || {{unknown-left|&#039;&#039;&#039;Unknown&#039;&#039;&#039;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Affects interpolation between frames?&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x24 || Int32 || &amp;#039;&amp;#039;&amp;#039;[[#Axis Data|Axis Data]]&amp;#039;&amp;#039;&amp;#039; offset, relative to 0x2.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 0x24 || Int32 || &amp;#039;&amp;#039;&amp;#039;[[#Axis Data|Axis Data]]&amp;#039;&amp;#039;&amp;#039; offset, relative to 0x2.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wexos_wiki:diff:1.41:old-694:rev-696:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Atlas</name></author>
	</entry>
	<entry>
		<id>https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=694&amp;oldid=prev</id>
		<title>Atlas: Created page with &quot;{{under-construction}} &#039;&#039;&#039;DKRDS Interactor&#039;&#039;&#039; is the nameless file format used in &#039;&#039;[https://en.wikipedia.org/wiki/Diddy_Kong_Racing_DS Diddy Kong Racing DS]&#039;&#039; that stores a model&#039;s bone hierarchy and indexed keyframe poses for each bone. Bones defined here are referenced by ID from a corresponding DKRDS Model file&#039;s vertex data. Its type identifier in assets.bin is &#039;&#039;&#039;0x2E&#039;&#039;&#039;.  = File Format = The file byte order is always little endian.  == Header == The file s...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.wexosmk.xyz/index.php?title=DKRDS_Interactor_(File_Format)&amp;diff=694&amp;oldid=prev"/>
		<updated>2026-07-15T12:30:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{under-construction}} &amp;#039;&amp;#039;&amp;#039;DKRDS Interactor&amp;#039;&amp;#039;&amp;#039; is the nameless file format used in &amp;#039;&amp;#039;[https://en.wikipedia.org/wiki/Diddy_Kong_Racing_DS Diddy Kong Racing DS]&amp;#039;&amp;#039; that stores a model&amp;#039;s bone hierarchy and indexed keyframe poses for each bone. Bones defined here are referenced by ID from a corresponding &lt;a href=&quot;/index.php/DKRDS_Model&quot; class=&quot;mw-redirect&quot; title=&quot;DKRDS Model&quot;&gt;DKRDS Model&lt;/a&gt; file&amp;#039;s vertex data. Its type identifier in &lt;a href=&quot;/index.php/Assets.bin&quot; class=&quot;mw-redirect&quot; title=&quot;Assets.bin&quot;&gt;assets.bin&lt;/a&gt; is &amp;#039;&amp;#039;&amp;#039;0x2E&amp;#039;&amp;#039;&amp;#039;.  = File Format = The file byte order is always little endian.  == Header == The file s...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{under-construction}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DKRDS Interactor&amp;#039;&amp;#039;&amp;#039; is the nameless file format used in &amp;#039;&amp;#039;[https://en.wikipedia.org/wiki/Diddy_Kong_Racing_DS Diddy Kong Racing DS]&amp;#039;&amp;#039; that stores a model&amp;#039;s bone hierarchy and indexed keyframe poses for each bone. Bones defined here are referenced by ID from a corresponding [[DKRDS Model]] file&amp;#039;s vertex data. Its type identifier in [[assets.bin]] is &amp;#039;&amp;#039;&amp;#039;0x2E&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
= File Format =&lt;br /&gt;
The file byte order is always little endian.&lt;br /&gt;
&lt;br /&gt;
== Header ==&lt;br /&gt;
The file starts with a header that is 68 bytes long.&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Mode flags&amp;#039;&amp;#039;&amp;#039;. &amp;#039;&amp;#039;&amp;#039;AXXX XXXX XXXX XXBB&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;&amp;#039;Identity scale&amp;#039;&amp;#039;&amp;#039;. When set, the scale channel is skipped and every bone&amp;#039;s scale is set to 1.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;&amp;#039;Decode mode&amp;#039;&amp;#039;&amp;#039;. Unknown exact usage. The format described here is documented from files that use mode 2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x02 || UInt16 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || Int32 || &amp;#039;&amp;#039;&amp;#039;Number of bones&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || Int32 || &amp;#039;&amp;#039;&amp;#039;[[#Skeleton Tree|Skeleton Tree]]&amp;#039;&amp;#039;&amp;#039; offset.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Number of bones again?}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || Int32 || &amp;#039;&amp;#039;&amp;#039;Number of frames&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
|-&lt;br /&gt;
| 0x20 || Int32 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;.}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x24 || Int32 || &amp;#039;&amp;#039;&amp;#039;[[#Axis Data|Axis Data]]&amp;#039;&amp;#039;&amp;#039; offset, relative to 0x2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x28 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Bits per frame&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;). Total size in bits of one frame&amp;#039;s worth of keyframe index data across all bones (&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; * (&amp;#039;&amp;#039;&amp;#039;PIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;RIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;SIW&amp;#039;&amp;#039;&amp;#039;)).&lt;br /&gt;
|-&lt;br /&gt;
| 0x2A || UInt16 || &amp;#039;&amp;#039;&amp;#039;Position Value Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;PVW&amp;#039;&amp;#039;&amp;#039;) in bits per component.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C || UInt16 || &amp;#039;&amp;#039;&amp;#039;Position Index Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;PIW&amp;#039;&amp;#039;&amp;#039;) in bits.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E || UInt16 || &amp;#039;&amp;#039;&amp;#039;Rotation Value Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;PVW&amp;#039;&amp;#039;&amp;#039;) in bits per component.&lt;br /&gt;
|-&lt;br /&gt;
| 0x30 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Rotation Index Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;RIW&amp;#039;&amp;#039;&amp;#039;) in bits.&lt;br /&gt;
|-&lt;br /&gt;
| 0x32 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Scale Value Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SVW&amp;#039;&amp;#039;&amp;#039;) in bits per component.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34 || UInt16 || &amp;#039;&amp;#039;&amp;#039;Scale Index Width&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SIW&amp;#039;&amp;#039;&amp;#039;) in bits.&lt;br /&gt;
|-&lt;br /&gt;
| 0x36 || UInt16 || {{unknown-left|&amp;#039;&amp;#039;&amp;#039;Unknown&amp;#039;&amp;#039;&amp;#039;. Maybe padding?}}&lt;br /&gt;
|-&lt;br /&gt;
| 0x38 || Int32 || &amp;#039;&amp;#039;&amp;#039;Position Value Stream offset&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;PVO&amp;#039;&amp;#039;&amp;#039;), relative to the Axis Data section.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C || Int32 || &amp;#039;&amp;#039;&amp;#039;Rotation Value Stream offset&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;RVO&amp;#039;&amp;#039;&amp;#039;), relative to the Axis Data section.&lt;br /&gt;
|-&lt;br /&gt;
| 0x40 || Int32 || &amp;#039;&amp;#039;&amp;#039;Scale Value Stream offset&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SVO&amp;#039;&amp;#039;&amp;#039;), relative to the Axis Data section.&lt;br /&gt;
|-&lt;br /&gt;
| 0x44 || colspan=2 {{unknown|End of header}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Skeleton Tree ==&lt;br /&gt;
This section defines the hierarchy of the bones, and it&amp;#039;s always 2 * (&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; + 1) in length. The first entry corresponds to a default root bone and its parent index is always 0xFFFF (no parent).&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! Offset !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || UInt16[&amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039; + 1] || &amp;#039;&amp;#039;&amp;#039;Parent bone indices&amp;#039;&amp;#039;&amp;#039; for each bone.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Axis Data ==&lt;br /&gt;
This entire section defines up to three channels (position, rotation and scale), each with its own index bit width and value bit width.&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! Offset !! Size !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || Ceiling(&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039; * &amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039; / 32) * 4 || &amp;#039;&amp;#039;&amp;#039;Index Bitstream&amp;#039;&amp;#039;&amp;#039;. For frame &amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;, the bit cursor starts at &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039; * &amp;#039;&amp;#039;&amp;#039;F&amp;#039;&amp;#039;&amp;#039;. Then for each bone in order, read unsigned bits for its keyframe indices in the order &amp;#039;&amp;#039;&amp;#039;PIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;RIW&amp;#039;&amp;#039;&amp;#039; + &amp;#039;&amp;#039;&amp;#039;SIW&amp;#039;&amp;#039;&amp;#039; (this last one skipped if identity scale mode is set in the header).&amp;lt;br&amp;gt;&lt;br /&gt;
Bits are packed with no padding between bones or channels, and multiple bones can share the same index. The end position is aligned by 4.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 + &amp;#039;&amp;#039;&amp;#039;PVO&amp;#039;&amp;#039;&amp;#039; || Variable || &amp;#039;&amp;#039;&amp;#039;Position Value Stream&amp;#039;&amp;#039;&amp;#039;. A sequence of XYZ signed entries (&amp;#039;&amp;#039;&amp;#039;PVW&amp;#039;&amp;#039;&amp;#039; bits per component). Entry &amp;#039;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;#039; starts at bit offset &amp;#039;&amp;#039;&amp;#039;K&amp;#039;&amp;#039;&amp;#039; * 3 * &amp;#039;&amp;#039;&amp;#039;PVW&amp;#039;&amp;#039;&amp;#039; within this stream. Same coordinate scale as [[DKRDS Model]]&amp;#039;s vertex positions.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 + &amp;#039;&amp;#039;&amp;#039;RVO&amp;#039;&amp;#039;&amp;#039; || Variable || &amp;#039;&amp;#039;&amp;#039;Rotation Value Stream&amp;#039;&amp;#039;&amp;#039;. Same layout as the Position Value Stream, using &amp;#039;&amp;#039;&amp;#039;RVW&amp;#039;&amp;#039;&amp;#039; instead of &amp;#039;&amp;#039;&amp;#039;PVW&amp;#039;&amp;#039;&amp;#039;. A full rotation equals 2^&amp;#039;&amp;#039;&amp;#039;RVW&amp;#039;&amp;#039;&amp;#039;; each component is a plain signed angle in units of 1/2^&amp;#039;&amp;#039;&amp;#039;RVW&amp;#039;&amp;#039;&amp;#039; of a full rotation.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 + &amp;#039;&amp;#039;&amp;#039;SVO&amp;#039;&amp;#039;&amp;#039; || Variable || &amp;#039;&amp;#039;&amp;#039;Scale Value Stream&amp;#039;&amp;#039;&amp;#039;. Same layout as the two previous streams. Final values are divided by 4096. Not present when identity scale mode is set in the header.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
The following tools can handle DKRDS Interactor:&lt;br /&gt;
* (none)&lt;br /&gt;
&lt;br /&gt;
[[Category:Diddy Kong Racing DS File Formats]]&lt;/div&gt;</summary>
		<author><name>Atlas</name></author>
	</entry>
</feed>