<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sm64decomp.tenry.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Object</id>
	<title>Object - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sm64decomp.tenry.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Object"/>
	<link rel="alternate" type="text/html" href="https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;action=history"/>
	<updated>2026-04-06T03:33:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=95&amp;oldid=prev</id>
		<title>Tenry at 09:22, 9 November 2020</title>
		<link rel="alternate" type="text/html" href="https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=95&amp;oldid=prev"/>
		<updated>2020-11-09T09:22:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&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 09:22, 9 November 2020&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-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;An object is defined by various properties.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;An object is defined by various properties.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Behavior parameters ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When an object is placed in a world, 4 bytes representing 4 behavior parameters can be set individually. These bytes are available as a signed integer (s32) in the field &amp;lt;code&amp;gt;oBehParams&amp;lt;/code&amp;gt;. Since the second byte is the most frequently used one by objects, this is also copied to a special field &amp;lt;code&amp;gt;oBehParams2ndByte&amp;lt;/code&amp;gt;. The value 0xFF for the second byte has a special meaning and indicates that the object shall not respawn.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When the first bit of the first parameter is set, this indicates that this object is Mario.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;== Position and velocity ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;== Position and velocity ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key sm64decomp_wiki:diff::1.12:old-93:rev-95 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tenry</name></author>
	</entry>
	<entry>
		<id>https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=93&amp;oldid=prev</id>
		<title>Tenry at 07:27, 9 November 2020</title>
		<link rel="alternate" type="text/html" href="https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=93&amp;oldid=prev"/>
		<updated>2020-11-09T07:27:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&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 07:27, 9 November 2020&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-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_DIST_TO_MARIO&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_DIST_TO_MARIO&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;|Compute distance to Mario.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;|Compute distance to Mario&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. It is stored in &amp;lt;code&amp;gt;oDistanceToMario&amp;lt;/code&amp;gt;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_ACTIVE_FROM_AFAR&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_ACTIVE_FROM_AFAR&amp;lt;/code&amp;gt;&lt;/div&gt;&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-l43&quot; &gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;|Compute angle to Mario.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;|Compute angle to Mario&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. It is stored in &amp;lt;code&amp;gt;oAngleToMario&amp;lt;/code&amp;gt;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_PERSISTENT_RESPAWN&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;!&amp;lt;code&amp;gt;OBJ_FLAG_PERSISTENT_RESPAWN&amp;lt;/code&amp;gt;&lt;/div&gt;&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-l218&quot; &gt;Line 218:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 218:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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='diff-marker'&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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Action and timer ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The object has a timer &amp;lt;code&amp;gt;oTimer&amp;lt;/code&amp;gt; which starts at 0 and is increased by 1 per frame (if game is not paused). The integer property &amp;lt;code&amp;gt;oAction&amp;lt;/code&amp;gt; is commonly used to change an object current action. It's usually checked in a behavior's loop script. When changing the action to a different value, &amp;lt;code&amp;gt;oTimer&amp;lt;/code&amp;gt; will be reset to 0 on the next loop.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;td class='diff-marker'&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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;== Misc. properties ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;== Misc. properties ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key sm64decomp_wiki:diff::1.12:old-91:rev-93 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tenry</name></author>
	</entry>
	<entry>
		<id>https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=91&amp;oldid=prev</id>
		<title>Tenry: Created page with &quot;An object is defined by various properties.  == Position and velocity == The object's position is stored in &lt;code&gt;oPosX&lt;/code&gt;, &lt;code&gt;oPosY&lt;/code&gt; and &lt;code&gt;oPosZ&lt;/code&gt;. The...&quot;</title>
		<link rel="alternate" type="text/html" href="https://sm64decomp.tenry.net/wiki/index.php?title=Object&amp;diff=91&amp;oldid=prev"/>
		<updated>2020-11-09T07:11:59Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;An object is defined by various properties.  == Position and velocity == The object&amp;#039;s position is stored in &amp;lt;code&amp;gt;oPosX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oPosY&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;oPosZ&amp;lt;/code&amp;gt;. The...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;An object is defined by various properties.&lt;br /&gt;
&lt;br /&gt;
== Position and velocity ==&lt;br /&gt;
The object's position is stored in &amp;lt;code&amp;gt;oPosX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oPosY&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;oPosZ&amp;lt;/code&amp;gt;. The velocity is available in &amp;lt;code&amp;gt;oVelX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oVelY&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;oVelZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The rotation can be changed by setting &amp;lt;code&amp;gt;oMoveAnglePitch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oMoveAngleYaw&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;oMoveAngleRoll&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Object flags ==&lt;br /&gt;
Object flags are set in &amp;lt;code&amp;gt;oFlags&amp;lt;/code&amp;gt;. The following flags are available:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Flag&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Indicate that object position or angle will be changed.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_MOVE_XZ_USING_FVEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_DIST_TO_MARIO&amp;lt;/code&amp;gt;&lt;br /&gt;
|Compute distance to Mario.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_ACTIVE_FROM_AFAR&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_HOLDABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Mark this object as holdable.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO&amp;lt;/code&amp;gt;&lt;br /&gt;
|Compute angle to Mario.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;OBJ_FLAG_PERSISTENT_RESPAWN&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Collision data ==&lt;br /&gt;
The collision data is defined by &amp;lt;code&amp;gt;collisionData&amp;lt;/code&amp;gt;. It can be used to dynamically change the collision of a surface object.&lt;br /&gt;
&lt;br /&gt;
== Interaction ==&lt;br /&gt;
An object's interaction is defined in &amp;lt;code&amp;gt;oInteractType&amp;lt;/code&amp;gt;. For some interaction types a sub type can be specified in &amp;lt;code&amp;gt;oInteractionSubtype&amp;lt;/code&amp;gt;.The following interaction types are available:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type&lt;br /&gt;
!Subtype&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_HOOT&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; |&amp;lt;code&amp;gt;INTERACT_GRABBABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_GRABS_MARIO&amp;lt;/code&amp;gt;&lt;br /&gt;
|Also makes the object heavy&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_HOLDABLE_NPC&amp;lt;/code&amp;gt;&lt;br /&gt;
|Allows the object to be gently dropped. Sets vertical speed to 0 when dropped with no forwards velocity.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_DROP_IMMEDIATELY&amp;lt;/code&amp;gt;&lt;br /&gt;
|This gets set by grabbable NPCs that talk to Mario to make him drop them after the dialog is finished.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_KICKABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_NOT_GRABBABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
|Used by Heavy-Ho to allow it to throw Mario, without Mario being able to pick it up.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&amp;lt;code&amp;gt;INTERACT_DOOR&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_STAR_DOOR&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_DAMAGE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|Mario takes damage on colllision&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_COIN&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|Coin counter increases on collision&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_CAP&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|Gives Mario a cap&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_POLE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_KOOPA&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_BREAKABLE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_STRONG_WIND&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_WARP_DOOR&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; |&amp;lt;code&amp;gt;INTERACT_STAR_OR_KEY&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|Star or key&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_NO_EXIT&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_GRAND_STAR&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&amp;lt;code&amp;gt;INTERACT_WARP&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_FADING_WARP&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_CANNON_BASE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&amp;lt;code&amp;gt;INTERACT_BOUNCE_TOP&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_TWIRL_BOUNCE&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_WATER_RING&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_BULLY&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_FLAME&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_KOOPA_SHELL&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_BOUNCE_TOP2&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_MR_BLIZZARD&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_HIT_FROM_BELOW&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; |&amp;lt;code&amp;gt;INTERACT_TEXT&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_SIGN&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_NPC&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_TORNADO&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_WHIRLPOOL&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&amp;lt;code&amp;gt;INTERACT_CLAM_OR_BUBBA&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INT_SUBTYPE_EATS_MARIO&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_BBH_ENTRANCE&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_SNUFIT_BULLET&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_SHOCK&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;INTERACT_IGLOO_BARRIER&amp;lt;/code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Misc. properties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Property&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;oFloorHeight&amp;lt;/code&amp;gt;&lt;br /&gt;
|Distance to floor (?)&lt;br /&gt;
|-&lt;br /&gt;
!&amp;lt;code&amp;gt;oGravity&amp;lt;/code&amp;gt;&lt;br /&gt;
|Gravity&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Custom object]]&lt;br /&gt;
* [[Object list]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Level]]&lt;/div&gt;</summary>
		<author><name>Tenry</name></author>
	</entry>
</feed>