forked from Mirrors/openclonk
54 lines
2.0 KiB
XML
54 lines
2.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<!DOCTYPE doc
|
|
SYSTEM '../../clonk.dtd'>
|
|
<?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
|
|
<doc>
|
|
<title>CNAT - Contact Attachment</title>
|
|
<h>CNAT - Contact Attachment</h>
|
|
<text>In multiple places the engine uses ContactAttachment values (a bitmask) to manage the orientation of objects and processes. For example, a vertex of an object can have the <code id="CNAT">CNAT</code> bit <em>left</em>. If that object has <emlink href="definition/properties.html">ContactCalls</emlink> activated, the engine calls on every contact of that vertex with the landscape the object script function <em>ContactLeft</em>. CNAT values are composed of the following bits:</text>
|
|
<text>
|
|
<table>
|
|
<rowh>
|
|
<col>CNAT</col>
|
|
<col>Description</col>
|
|
</rowh>
|
|
<row>
|
|
<col>CNAT_Left</col>
|
|
<col>Direction: Left</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_Right</col>
|
|
<col>Direction: Right</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_Top</col>
|
|
<col>Direction: Up</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_Bottom</col>
|
|
<col>Direction: Down</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_Center</col>
|
|
<col>Direction: Center (not for attachment)</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_MultiAttach</col>
|
|
<col>Special flag: new attachment behaviour for objects with the same direction value at several vertices.</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_NoCollision</col>
|
|
<col>Extra flag: non-colliding vertex</col>
|
|
</row>
|
|
<row>
|
|
<col>CNAT_PhaseHalfVehicle</col>
|
|
<col>Extra flag: Entirely suppress collisions with HalfVehicle</col>
|
|
</row>
|
|
<bitmask>CNAT</bitmask>
|
|
</table>
|
|
</text>
|
|
<text>A vertex can have multiple CNAT values, they can be combined them with the | operator. Example:</text>
|
|
<code>Attach = CNAT_Bottom | CNAT_Left</code>
|
|
<author>Newton</author><date>2013-11</date>
|
|
</doc>
|