Skip to content

Commit

Permalink
Deployed 825233c with MkDocs version: 1.5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin113D committed Dec 9, 2023
1 parent 60ab8c8 commit 5e5ac22
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 62 deletions.
78 changes: 39 additions & 39 deletions img/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -215,5 +215,5 @@ <h1 id="saio-20-reference-manual">SAIO 2.0 Reference Manual<a class="headerlink"

<!--
MkDocs version : 1.5.3
Build Date UTC : 2023-11-27 23:33:07.340137+00:00
Build Date UTC : 2023-12-09 17:59:01.070065+00:00
-->
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

Binary file modified sitemap.xml.gz
Binary file not shown.
32 changes: 30 additions & 2 deletions ui/object/landentry/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,11 @@
</li>
<li class="toctree-l3 current"><a class="reference internal current" href="#">Landentry Properties</a>
<ul class="current">
<li class="toctree-l4"><a class="reference internal" href="#surface-attributes">Surface Attributes</a>
<li class="toctree-l4"><a class="reference internal" href="#type">Type</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#blockbit">Blockbit</a>
<li class="toctree-l4"><a class="reference internal" href="#static-type-properties">Static-type properties</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#animated-type-properties">Animated-type properties</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -184,6 +186,22 @@ <h1 id="land-entry-properties-panel">Land Entry Properties Panel<a class="header
<p>The panel can be found in the <strong>properties editor</strong>, under the <strong>object</strong> tab, called "SAIO Land Entry Properties".</p>
<p><br clear="right"></p>
<hr />
<h3 id="type">Type<a class="headerlink" href="#type" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>There are 2 types of level geometry: Static and Animated.</p>
<ul>
<li><strong>Static</strong> land entries are the regular geometry, and the only one supported by Sonic adventure 2 (and ports)</li>
<li><strong>Animated</strong> land entries can be used in Sonic Adventure 1, and allow you to insert animated models into a stage, but without collision or any other additional features.</li>
</ul>
<p>There are a few rules in place as to which models can be set as <code>static</code> and which as <code>animated</code>:</p>
<ul>
<li>Objects with a parent get their geometry type from their parent.</li>
<li>Armature models are automatically recognized as <code>animated</code>.</li>
<li>Non-armature objects with children are automatically recognized as <code>static</code>.</li>
<li>The geometry type can only be chosen for objects with no child and no parent.</li>
</ul>
<p>Additionally, all models recognized as <code>static</code> will evaluate as their own geometry object, as levels dont support object hierarchies for static geometry.</p>
<hr />
<h2 id="static-type-properties">Static-type properties<a class="headerlink" href="#static-type-properties" title="Permanent link">🔗&#xFE0E;</a></h2>
<h3 id="surface-attributes">Surface Attributes<a class="headerlink" href="#surface-attributes" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>These define how a model is rendered and collided with. Both SA1 and SA2 have different sets of surface attributes to accomodate for different functionalities between the games, but many are shared.</p>
<p>By changing the edit mode (<strong>Universal</strong> by default), you can change which attributes you want to see and edit, making it easier to manage surface attributes for a specific game.</p>
Expand All @@ -195,6 +213,16 @@ <h3 id="blockbit">Blockbit<a class="headerlink" href="#blockbit" title="Permanen
</figure>
<p>This is a hexadecimal <a href="https://en.wikipedia.org/wiki/Mask_(computing)"><strong>bitmask</strong></a> that is used by Blockmaps. Blockmaps help the adventure games render larger levels by grouping geometry together in blocks and processing only the geometry associated with the block that the player is currently inside. The blockbit defines which blocks the object is part of, each bit defining a single group (allowing for a total of 32 blocks).</p>
<p>In coding, each bit is assigned a color, which are then used in a blockmap image. The game then looks up which pixel in the map the player is located in, and will only process geometry which have set the corresponding bit as the pixels color.</p>
<hr />
<h2 id="animated-type-properties">Animated-type properties<a class="headerlink" href="#animated-type-properties" title="Permanent link">🔗&#xFE0E;</a></h2>
<h3 id="start-frame-offset">Start Frame Offset<a class="headerlink" href="#start-frame-offset" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>This property is actually used by the game to store the current animation time.
<br/> By setting it to a custom value, you can make the object start playing the animation at an offset.
<br/> This allows you to reuse the same animation between multiple objects, without having them play in sync.</p>
<h3 id="speed">Speed<a class="headerlink" href="#speed" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Animation playback speed</p>
<h3 id="texlist-pointer">Texlist pointer<a class="headerlink" href="#texlist-pointer" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Pointer to the texture list to use. Leaving a <code>0</code> will make it use the landtable textures.</p>

</div>
</div><footer>
Expand Down
33 changes: 33 additions & 0 deletions ui/object/mesh/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@
<ul class="current">
<li class="toctree-l4"><a class="reference internal" href="#force-vertex-colors">Force vertex colors</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#texcoord-precision-level">Texcoord precision level</a>
</li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../material/">Material Properties</a>
Expand Down Expand Up @@ -184,6 +186,37 @@ <h1 id="mesh-properties">Mesh Properties<a class="headerlink" href="#mesh-proper
<h3 id="force-vertex-colors">Force vertex colors<a class="headerlink" href="#force-vertex-colors" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>If you have a model with multiple vertex weights the addon will export it with normals, regardless of whether it has color attributes or not. This is because the SA2 mesh format doesn't allow for smooth weights and vertex colors to be combined (or rather, the games do not support it).</p>
<p>Forcing vertex colors will export the model with binary weights (each vertex will be tied to a specific bone) to keep the vertex colors on it.</p>
<h3 id="texcoord-precision-level">Texcoord precision level<a class="headerlink" href="#texcoord-precision-level" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Some export formats allow for increasing the precision of texture coordinates in exchange for reduced range.
<br/> Increasing the level by one gives you double the precision than the previous level, but reduces the available range by half.</p>
<p>Each format has a different supported precision level range:</p>
<table>
<thead>
<tr>
<th>Game</th>
<th>Format</th>
<th>Range</th>
</tr>
</thead>
<tbody>
<tr>
<td>SA1</td>
<td>BASIC</td>
<td>0 - Allows for no precision</td>
</tr>
<tr>
<td>SA2</td>
<td>CHUNK</td>
<td>0 or 2</td>
</tr>
<tr>
<td>SA2B</td>
<td>GC</td>
<td>0 through 7</td>
</tr>
</tbody>
</table>
<p>On import, the precision level is currently only maintained for SA2B/GC.</p>

</div>
</div><footer>
Expand Down
22 changes: 11 additions & 11 deletions ui/scene/event/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@
</li>
<li class="toctree-l4"><a class="reference internal" href="#tails-tails">Tails Tails</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#override-upgrades">Override Upgrades</a>
<li class="toctree-l4"><a class="reference internal" href="#integrated-upgrades">Integrated Upgrades</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#attach-upgrades">Attach Upgrades</a>
<li class="toctree-l4"><a class="reference internal" href="#overlay-upgrades">Overlay Upgrades</a>
</li>
<li class="toctree-l4"><a class="reference internal" href="#uv-animations">UV Animations</a>
<li class="toctree-l4"><a class="reference internal" href="#texture-animations">Texture Animations</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -199,26 +199,26 @@ <h2 id="drop-shadow-control">Drop Shadow Control<a class="headerlink" href="#dro
<h2 id="tails-tails">Tails Tails<a class="headerlink" href="#tails-tails" title="Permanent link">🔗&#xFE0E;</a></h2>
<p>Events allow for specifying an object or a bone as "tails tails", which will then animate the tails with a procedural vertex displacement animation.</p>
<hr />
<h2 id="override-upgrades">Override Upgrades<a class="headerlink" href="#override-upgrades" title="Permanent link">🔗&#xFE0E;</a></h2>
<h2 id="integrated-upgrades">Integrated Upgrades<a class="headerlink" href="#integrated-upgrades" title="Permanent link">🔗&#xFE0E;</a></h2>
<p><img align="right" alt="" src="../../../img/ui_scene_event_override_upgrades.png" /></p>
<p>Override upgrades let you hide and show specific models for when an upgrade is used. This is primarily used for Mech Parts, but can be used for all upgrades.</p>
<p>Integrated upgrades let you hide and show specific models for when an upgrade is used. This is primarily used for Mech Parts, but can be used for all upgrades.</p>
<p><br clear="right"/></p>
<h3 id="base">Base<a class="headerlink" href="#base" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Gets hidden when upgrade is enabled</p>
<h3 id="override-1-2">Override 1 &amp; 2<a class="headerlink" href="#override-1-2" title="Permanent link">🔗&#xFE0E;</a></h3>
<h3 id="integrated-1-2">Integrated 1 &amp; 2<a class="headerlink" href="#integrated-1-2" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Get shown when upgrade is enabled</p>
<hr />
<h2 id="attach-upgrades">Attach Upgrades<a class="headerlink" href="#attach-upgrades" title="Permanent link">🔗&#xFE0E;</a></h2>
<h2 id="overlay-upgrades">Overlay Upgrades<a class="headerlink" href="#overlay-upgrades" title="Permanent link">🔗&#xFE0E;</a></h2>
<p><img align="right" alt="" src="../../../img/ui_scene_event_attach_upgrades.png" /></p>
<p>Attach upgrades take a model and attach it to a node. This is used for upgrades like sonics light speed shoes, Knuckles hammer gloves, and so on.
<p>Overlay upgrades take a model and renders them attached to a node. This is used for upgrades like sonics light speed shoes, Knuckles hammer gloves, and so on.
<br/> Will not only hide model itself, but also its children.</p>
<h3 id="model-1-2">Model 1 &amp; 2<a class="headerlink" href="#model-1-2" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>The model that gets attached</p>
<p>The model that gets overlaid</p>
<h3 id="target-1-2">Target 1 &amp; 2<a class="headerlink" href="#target-1-2" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>The node to which respective model should be attached</p>
<p>The node to which respective model should be attached to</p>
<p><br clear="right"/></p>
<hr />
<h2 id="uv-animations">UV Animations<a class="headerlink" href="#uv-animations" title="Permanent link">🔗&#xFE0E;</a></h2>
<h2 id="texture-animations">Texture Animations<a class="headerlink" href="#texture-animations" title="Permanent link">🔗&#xFE0E;</a></h2>
<p><img align="right" alt="" src="../../../img/ui_scene_event_uv_animations.png" /></p>
<p>Specifies Texture ranges for animations. Then, any material referenced by <a href="../../object/event_node_uv_animations/">Event node UV Animations</a> that uses a texture in the sequence.</p>
<h3 id="tex">Tex<a class="headerlink" href="#tex" title="Permanent link">🔗&#xFE0E;</a></h3>
Expand Down
22 changes: 15 additions & 7 deletions ui/toolbar/tools/export/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -190,25 +190,32 @@ <h2 id="3d-model-exporters">3D model exporters<a class="headerlink" href="#3d-mo
<li><code>Optimize</code>: Optimize vertex data and get rid of any duplicate.
<br/><strong>WARNING:</strong> This may alter vertex order! Do not use for things that morph, like chao models or chao trees.</li>
<li><code>Automatic Node attributes</code>: Automatically determines several node attributes on export. <a href="../../../object/node/">More info here</a>.</li>
<li><code>Write Specular</code>: (<strong>SA2 Only</strong>) Include specular colors in material info.</li>
<li><code>Ensure positive euler angles</code>: Ensures that all nodes are exported with positive euler angles; E.g. -90° becomes 270°.</li>
<li><code>Automatic Root</code>: If the exported objects dont share a common root, a root parent will be created between them.</li>
<li><code>Force Sort Bones</code>: Blender orders bones by the order in which they were parented. Sometimes its needed to ensure bones get exported in alphabetical order, which this parameter ensures.</li>
<li>
<p><code>Developer Output: Debug Output</code>: Exports a .json file containing the processable mesh data that would be passed to the external library. <strong>Only for debugging purposes, do not touch unless a developer</strong></p>
</li>
<li>
<p><code>Write Specular</code>: (<strong>SA2 Only</strong>) Include specular colors in material info.</p>
</li>
<li><code>Flip Vertex colors</code>: (<strong>SA2 Only</strong>) Flips the channel order of vertex colors (BGRA &lt;-&gt; ARGB). Used on chao garden models like trees.</li>
</ul>
<h3 id="export-mdl">Export *MDL<a class="headerlink" href="#export-mdl" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Exports the targeted objects as a model (<em>.</em>mdl) file.</p>
<p>Note that, when selecting only specific objects from the same hierarchy, only those objects will be exported, even if objects between them are missing. This allows for exporting models and deliberately leaving out specific models (but also any other object).</p>
<ul>
<li><code>Automatic Node attributes</code>: Automatically determines several node attributes on export. <a href="../../../object/node/">More info here</a>.</li>
<li><code>Apply armature posing</code>: If exporting an armature that is posed, the armature will be exported the way it is posed. Otherwise with default transforms.</li>
<li><code>NJ File</code>: Exports the file in .nj format.</li>
<li><code>Automatic Root</code>: If the exported objects dont share a common root, a root parent will be created between them.</li>
<li><code>Force Sort Bones</code>: Blender orders bones by the order in which they were parented. Sometimes its needed to ensure bones get exported in alphabetical order, which this parameter ensures.</li>
<li><code>Developer Output: Debug Output</code>: Exports a .json file containing the processable mesh data that would be passed to the external library. <strong>Only for debugging purposes, do not touch unless a developer</strong></li>
</ul>
<hr />
<h3 id="export-lvl">Export *LVL<a class="headerlink" href="#export-lvl" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Exports the targeted objected as a landtable (<em>.</em>lvl) file.</p>
<ul>
<li><code>Fallback szrface attributes</code>: If an object has no surface attributes, it will receive the <code>Visible</code> and <code>Solid</code> attributes.</li>
<li><code>Developer Output: Debug Output</code>: Exports a .json file containing the processable level data that would be passed to the external library. <strong>Only for debugging purposes, do not touch unless a developer</strong></li>
<li><code>Fallback surface attributes</code>: If an object has no surface attributes, it will receive the <code>Visible</code> and <code>Solid</code> attributes.</li>
</ul>
<p>Parameters found under the "Animation" tab apply to animated geometry. See <a href="#export-animations">Animation</a>, and more specifivally <a href="#export-node-animation">node animation</a> for info on the advanced options.</p>
<hr />
<h3 id="export-sa2-event">Export SA2 Event<a class="headerlink" href="#export-sa2-event" title="Permanent link">🔗&#xFE0E;</a></h3>
<p>Export the current SA2 event.</p>
<p>Files exported (% = export filename):
Expand Down Expand Up @@ -249,6 +256,7 @@ <h2 id="export-animations">Export animations<a class="headerlink" href="#export-
<li><code>Keep</code>: Export based on the rotation modes on objects</li>
</ul>
</li>
<li><code>Ensure positive euler angles</code>: Ensures that all euler rotations are exported with positive angles; E.g. -90° becomes 270°.</li>
<li>
<p><details markdown><summary><code>Interpolation conversion deviation threshold</code>: (<strong>Advanced</strong>) | Click to expand</summary></p>
<ul>
Expand Down
5 changes: 4 additions & 1 deletion ui/toolbar/tools/import/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,10 @@ <h2 id="import-model">Import Model<a class="headerlink" href="#import-model" tit
<li><code>Scene per File</code>: When importing multiple model files, every model will be put into its own scene.</li>
<li><code>Optimize</code>: If enabled, the addon will attempt and remove any duplicate vertices.</li>
<li><code>Import as Armature</code>: Will import the model regardless of whether it is weighted or not.</li>
<li><code>All weighted meshes</code>: Meshes that would usually be parented to a bone will instead receive weights for that specific bone and receive an armature modifier.</li>
<li><code>Merge Meshes</code>: Merges all meshes to one for imported armatures.</li>
<li><code>Ensure sibling order</code>: Will add a three-digit prefix to all object names ("001_", "002_", etc.).</li>
<li><code>Flip Vertex colors</code>: (<strong>SA2 Only</strong>) Flips the channel order of vertex colors (BGRA &lt;-&gt; ARGB). Used on chao garden models like trees.</li>
</ul>
<hr />
<h2 id="import-landtable">Import Landtable.<a class="headerlink" href="#import-landtable" title="Permanent link">🔗&#xFE0E;</a></h2>
Expand All @@ -194,7 +196,9 @@ <h2 id="import-landtable">Import Landtable.<a class="headerlink" href="#import-l
<li><code>Scene per File</code>: When importing multiple level files, every level will be put into its own scene.</li>
<li><code>Optimize</code>: If enabled, the addon will attempt and remove any duplicate vertices.</li>
<li><code>Adjust clip distance</code>: Changes the 3D view clip distance to make viewing the geometry easier.</li>
<li><code>Ensure landentry order</code>: Will add a four-digit prefix to all land entry names ("0001_", "0002_", etc.).</li>
</ul>
<p>Parameters found under the "Animation" tab apply to animated geometry. See <a href="#import-node-animation">Animation</a> for info on the advanced options.</p>
<hr />
<h2 id="import-sa2-event">Import SA2 Event<a class="headerlink" href="#import-sa2-event" title="Permanent link">🔗&#xFE0E;</a></h2>
<p>Import main sa2 event files.</p>
Expand All @@ -210,7 +214,6 @@ <h2 id="import-node-animation">Import Node Animation<a class="headerlink" href="
<p>Node animations hold Position, Rotation and Transform animations.
<br/>Can only be used on objects that have no children or armatures. If no target is selected, it will be greyed out.</p>
<ul>
<li><code>Force Sort Bones</code>: Blender orders bones by the order in which they were parented. Sometimes its needed to ensure bones get exported in alphabetical order, which this parameter ensures.</li>
<li><code>Rotation Mode</code>: How rotations should be imported<ul>
<li><code>KEEP</code>: Will use target rotation modes. This means that, if an animation uses euler animations, but the target uses e.g. Quaternion, <strong>the rotations will be converted</strong> to Quaternion.</li>
<li><code>ANIMATION</code>: Will use rotation modes to suit the imported animation. This means that, if an animation uses euler animations, but the target uses e.g. Quaternion, the <strong>targets rotation mode will be changed</strong> to use euler.</li>
Expand Down

0 comments on commit 5e5ac22

Please sign in to comment.