<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.tt-wiki.net/index.php?action=history&amp;feed=atom&amp;title=NMLTutorial%2FObject_slopes</id>
	<title>NMLTutorial/Object slopes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.tt-wiki.net/index.php?action=history&amp;feed=atom&amp;title=NMLTutorial%2FObject_slopes"/>
	<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;action=history"/>
	<updated>2026-05-02T03:16:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8777&amp;oldid=prev</id>
		<title>Planetmaker: off by one</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8777&amp;oldid=prev"/>
		<updated>2013-05-24T13:17:11Z</updated>

		<summary type="html">&lt;p&gt;off by one&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-GB&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:17, 24 May 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;br /&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;br /&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;br /&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;br /&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;This continues and concludes the [[NMLTutorial/Object graphics|second part]] of the object example. In this last part we&#039;ll make the object compatible with sloped terrain as well as snow and desert terrain. For this some recent features of OpenTTD will be used, which makes this last part of the example &#039;&#039;&#039;incompatible with OpenTTD 1.2.0 (r22723)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; or earlier&lt;/del&gt;&#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;This continues and concludes the [[NMLTutorial/Object graphics|second part]] of the object example. In this last part we&#039;ll make the object compatible with sloped terrain as well as snow and desert terrain. For this some recent features of OpenTTD will be used, which makes this last part of the example &#039;&#039;&#039;incompatible with OpenTTD&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; earlier than&lt;/ins&gt; 1.2.0 (r22723)&#039;&#039;&#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;br /&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;br /&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;br /&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Planetmaker</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8776&amp;oldid=prev</id>
		<title>Planetmaker: simplify some wording</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8776&amp;oldid=prev"/>
		<updated>2013-05-24T13:16:02Z</updated>

		<summary type="html">&lt;p&gt;simplify some wording&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-GB&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:16, 24 May 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;br /&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;br /&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;br /&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;br /&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;This continues and concludes the [[NMLTutorial/Object graphics|second part]] of the object example. In this last part we&#039;ll make the object compatible with sloped terrain as well as snow and desert terrain. For this some recent features of OpenTTD will be used, which makes this last part of the example &#039;&#039;&#039;incompatible with&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; anything other than&lt;/del&gt; OpenTTD 1.2.0 (r22723) or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;higher&lt;/del&gt;&#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;This continues and concludes the [[NMLTutorial/Object graphics|second part]] of the object example. In this last part we&#039;ll make the object compatible with sloped terrain as well as snow and desert terrain. For this some recent features of OpenTTD will be used, which makes this last part of the example &#039;&#039;&#039;incompatible with OpenTTD 1.2.0 (r22723) or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;earlier&lt;/ins&gt;&#039;&#039;&#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;br /&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;br /&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;br /&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Planetmaker</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8439&amp;oldid=prev</id>
		<title>FooBar: next part is now 32 bit sprites</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=8439&amp;oldid=prev"/>
		<updated>2012-06-26T11:20:58Z</updated>

		<summary type="html">&lt;p&gt;next part is now 32 bit sprites&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-GB&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 11:20, 26 June 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 375:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 375:&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;&amp;lt;/pre&amp;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;&amp;lt;/pre&amp;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;br /&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&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;The next part of the tutorial will teach you some things about adding 32 bit sprites to your NewGRFs.&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;This is the end of this example and in fact the end of the series. Only thing left for you to skip is a useless conclusion.&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&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;br /&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&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;br /&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;{{NMLTutorialNavbar|Version check|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Conclusion&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;{{NMLTutorialNavbar|Version check|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;32 bit sprites&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7811&amp;oldid=prev</id>
		<title>FooBar at 21:06, 30 August 2011</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7811&amp;oldid=prev"/>
		<updated>2011-08-30T21:06:12Z</updated>

		<summary type="html">&lt;p&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-GB&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 21:06, 30 August 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&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=&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;{{NMLTutorial}}&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;{{NMLTutorial}}&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;&#039;&#039;The example used here is from the [http://dev.openttdcoop.org/projects/dutchroadfurniture/repository Dutch Road Furniture]. The original graphics for this are by FooBar. The code is by FooBar, based on code for the object example from the [http://dev.openttdcoop.org/projects/nml/repository/show/examples NML source] by planetmaker and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hirundu&lt;/del&gt;. Code and graphics are both licensed according to the GPL v2 or later. The code has been modified for the purpose of this tutorial.&#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;&#039;&#039;The example used here is from the [http://dev.openttdcoop.org/projects/dutchroadfurniture/repository Dutch Road Furniture]. The original graphics for this are by FooBar. The code is by FooBar, based on code for the object example from the [http://dev.openttdcoop.org/projects/nml/repository/show/examples NML source] by planetmaker and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hirundo&lt;/ins&gt;. Code and graphics are both licensed according to the GPL v2 or later. The code has been modified for the purpose of this tutorial.&#039;&#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;br /&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;br /&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;br /&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;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7802&amp;oldid=prev</id>
		<title>FooBar: use expression consistently</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7802&amp;oldid=prev"/>
		<updated>2011-08-30T09:43:04Z</updated>

		<summary type="html">&lt;p&gt;use expression consistently&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-GB&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:43, 30 August 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&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;* In case of the arctic climate, we need to choose between grass and snow depending on the &amp;lt;code&amp;gt;terrain_type&amp;lt;/code&amp;gt; variable. If grass, use the storage we already had, otherwise change the storage: &amp;lt;code&amp;gt;STORE_TEMP(terrain_type == TILETYPE_SNOW   ? GROUNDSPRITE_SNOW   : LOAD_TEMP(1), 1)&amp;lt;/code&amp;gt;. What this does is store in register 1: if the terrain is snow the sprite number of the snow flat ground sprite from &amp;lt;code&amp;gt;GROUNDSPRITE_SNOW&amp;lt;/code&amp;gt; and if the terrain is not snow what we already had in register 1.&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;* In case of the arctic climate, we need to choose between grass and snow depending on the &amp;lt;code&amp;gt;terrain_type&amp;lt;/code&amp;gt; variable. If grass, use the storage we already had, otherwise change the storage: &amp;lt;code&amp;gt;STORE_TEMP(terrain_type == TILETYPE_SNOW   ? GROUNDSPRITE_SNOW   : LOAD_TEMP(1), 1)&amp;lt;/code&amp;gt;. What this does is store in register 1: if the terrain is snow the sprite number of the snow flat ground sprite from &amp;lt;code&amp;gt;GROUNDSPRITE_SNOW&amp;lt;/code&amp;gt; and if the terrain is not snow what we already had in register 1.&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;br /&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;br /&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;These three &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;commands&lt;/del&gt; need to be put somewhere in our NML file. Each &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;command&lt;/del&gt; can go in a separate switch block all linked together, but luckily we may provide an array of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;command&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expession&lt;/del&gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in the&lt;/del&gt; switch block. This is done by separating each command by a comma and grouping them together between straight brackets. The decision of the switch block is based on the last &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;command&lt;/del&gt; in the chain (but in this case not important as we only have a default).&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;These three &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expressions&lt;/ins&gt; need to be put somewhere in our NML file. Each &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expression&lt;/ins&gt; can go in a separate switch block all linked together, but luckily we may provide an array of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expressions&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a&lt;/ins&gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;single&lt;/ins&gt; switch block. This is done by separating each command by a comma and grouping them together between straight brackets. The decision of the switch block is based on the last &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expression&lt;/ins&gt; in the chain (but&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; that is&lt;/ins&gt; in this case not important as we only have a default&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; return for the switch block&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;br /&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;br /&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;Change the switch block we made earlier on this page:&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;Change the switch block we made earlier on this page:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7752&amp;oldid=prev</id>
		<title>FooBar: when translating, make sure to translate everything</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7752&amp;oldid=prev"/>
		<updated>2011-08-28T18:36:23Z</updated>

		<summary type="html">&lt;p&gt;when translating, make sure to translate everything&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-GB&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 18:36, 28 August 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 335:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 335:&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;        class:                  &quot;NLRF&quot;;&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;        class:                  &quot;NLRF&quot;;&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;        classname:              string(STR_NLRF);&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;        classname:              string(STR_NLRF);&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;        name:                   string(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;STR_HANDWIJZER_3&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;        name:                   string(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;STR_FINGERPOST_3&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;        climates_available:     ALL_CLIMATES;&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;        climates_available:     ALL_CLIMATES;&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;        size:                   [1,1];&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;        size:                   [1,1];&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7733&amp;oldid=prev</id>
		<title>FooBar: complete page</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7733&amp;oldid=prev"/>
		<updated>2011-08-28T12:02:29Z</updated>

		<summary type="html">&lt;p&gt;complete page&lt;/p&gt;
&lt;a href=&quot;https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;amp;diff=7733&amp;amp;oldid=7709&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
	<entry>
		<id>https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7709&amp;oldid=prev</id>
		<title>FooBar: intermediate save</title>
		<link rel="alternate" type="text/html" href="https://www.tt-wiki.net/index.php?title=NMLTutorial/Object_slopes&amp;diff=7709&amp;oldid=prev"/>
		<updated>2011-08-27T21:49:38Z</updated>

		<summary type="html">&lt;p&gt;intermediate save&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NMLTutorial}}&lt;br /&gt;
&amp;#039;&amp;#039;The example used here is from the [http://dev.openttdcoop.org/projects/dutchroadfurniture/repository Dutch Road Furniture]. The original graphics for this are by FooBar. The code is by FooBar, based on code for the object example from the [http://dev.openttdcoop.org/projects/nml/repository/show/examples NML source] by planetmaker and Hirundu. Code and graphics are both licensed according to the GPL v2 or later. The code has been modified for the purpose of this tutorial.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This continues and concludes the [[NMLTutorial/Object graphics|second part]] of the object example. In this last part we&amp;#039;ll make the object compatible with sloped terrain as well as snow and desert terrain. For this some recent features of OpenTTD will be used, which makes this last part of the example &amp;#039;&amp;#039;&amp;#039;incompatible with anything other than OpenTTD 1.2.0 (r22723) or higher&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{{Note|This page is incomplete. It will be completed very soon.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Version check ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap;&amp;quot;&amp;gt;&lt;br /&gt;
if (version_openttd(1,2,0,22723) &amp;gt; openttd_version) {&lt;br /&gt;
	error(FATAL, REQUIRES_OPENTTD, string(STR_OPENTTD_VERSION));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap;&amp;quot;&amp;gt;&lt;br /&gt;
STR_OPENTTD_VERSION :1.2.0 (r22723)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sloped ground sprites ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap;&amp;quot;&amp;gt;&lt;br /&gt;
        default:            switch_fingerpost_3_object;&lt;br /&gt;
        purchase:           switch_fingerpost_3_purchase;&lt;br /&gt;
        autoslope:          return(CB_RESULT_AUTOSLOPE);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap;&amp;quot;&amp;gt;&lt;br /&gt;
switch (FEAT_OBJECTS, SELF, switch_fingerpost_3_object, [&lt;br /&gt;
        //tile slope offset in storage register 0&lt;br /&gt;
        STORE_TEMP(slope_to_sprite_offset(tile_slope), 0),&lt;br /&gt;
        //terrain type in storage register 1&lt;br /&gt;
        STORE_TEMP(GROUNDSPRITE_NORMAL, 1),&lt;br /&gt;
        STORE_TEMP(terrain_type == TILETYPE_DESERT ? GROUNDSPRITE_DESERT : LOAD_TEMP(1), 1),&lt;br /&gt;
        STORE_TEMP(terrain_type == TILETYPE_SNOW   ? GROUNDSPRITE_SNOW   : LOAD_TEMP(1), 1)&lt;br /&gt;
        ]) {&lt;br /&gt;
	switch_fingerpost_3_build_date;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap;&amp;quot;&amp;gt;&lt;br /&gt;
//calculate ground sprite for purchase menu&lt;br /&gt;
switch (FEAT_OBJECTS, SELF, switch_fingerpost_3_purchase, [&lt;br /&gt;
        //use flat gound sprite for purchase menu&lt;br /&gt;
        STORE_TEMP(0, 0),&lt;br /&gt;
        //use normal terrain for purchase menu&lt;br /&gt;
        STORE_TEMP(GROUNDSPRITE_NORMAL, 1),&lt;br /&gt;
        ]) {&lt;br /&gt;
	switch_fingerpost_3_build_date;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this the end of the object example is reached. You can now encode this as a NewGRF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The complete code ==&lt;br /&gt;
If you put everything in the correct order, this will be the complete NML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap; max-height: 200px; overflow:scroll&amp;quot;&amp;gt;&lt;br /&gt;
// define the newgrf&lt;br /&gt;
grf {&lt;br /&gt;
    grfid:                  &amp;quot;\FB\FB\05\01&amp;quot;;&lt;br /&gt;
    name:                   string(STR_GRF_NAME);&lt;br /&gt;
    desc:                   string(STR_GRF_DESCRIPTION);&lt;br /&gt;
    version:                0;&lt;br /&gt;
    min_compatible_version: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//check OpenTTD version&lt;br /&gt;
//parameterized spritelayout is only supported since OpenTTD 1.2.0 r22723&lt;br /&gt;
if (version_openttd(1,2,0,22723) &amp;gt; openttd_version) {&lt;br /&gt;
	error(FATAL, REQUIRES_OPENTTD, string(STR_OPENTTD_VERSION));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//templates&lt;br /&gt;
template template_fingerpost(x,y,filename) {&lt;br /&gt;
    [x,     y,      20,     32,     -10,    -28,    filename]&lt;br /&gt;
    [x+30,  y,      20,     32,     -10,    -28,    filename]&lt;br /&gt;
    [x+60,  y,      20,     32,     -10,    -28,    filename]&lt;br /&gt;
    [x+90,  y,      20,     32,     -10,    -28,    filename]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//spriteset with four directions&lt;br /&gt;
spriteset (spriteset_fingerpost_3) {&lt;br /&gt;
    template_fingerpost(0,0,&amp;quot;gfx/dutch_fingerpost.png&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* spritelayouts */&lt;br /&gt;
&lt;br /&gt;
//south east&lt;br /&gt;
spritelayout spritelayout_fingerpost_3_SE {&lt;br /&gt;
    ground {&lt;br /&gt;
        sprite: LOAD_TEMP(0) + LOAD_TEMP(1);&lt;br /&gt;
    }&lt;br /&gt;
    building {&lt;br /&gt;
        sprite: spriteset_fingerpost_3(0);&lt;br /&gt;
        xextent: 4;&lt;br /&gt;
        yextent: 4;&lt;br /&gt;
        zextent: 24;&lt;br /&gt;
        xoffset: 6; //from NE edge&lt;br /&gt;
        yoffset: 12; //from NW edge&lt;br /&gt;
        zoffset: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//south west&lt;br /&gt;
spritelayout spritelayout_fingerpost_3_SW {&lt;br /&gt;
    ground {&lt;br /&gt;
        sprite: LOAD_TEMP(0) + LOAD_TEMP(1);&lt;br /&gt;
    }&lt;br /&gt;
    building {&lt;br /&gt;
        sprite: spriteset_fingerpost_3(1);&lt;br /&gt;
        xextent: 4;&lt;br /&gt;
        yextent: 4;&lt;br /&gt;
        zextent: 24;&lt;br /&gt;
        xoffset: 12; //from NE edge&lt;br /&gt;
        yoffset: 6; //from NW edge&lt;br /&gt;
        zoffset: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//north west&lt;br /&gt;
spritelayout spritelayout_fingerpost_3_NW {&lt;br /&gt;
    ground {&lt;br /&gt;
        sprite: LOAD_TEMP(0) + LOAD_TEMP(1);&lt;br /&gt;
    }&lt;br /&gt;
    building {&lt;br /&gt;
        sprite: spriteset_fingerpost_3(2);&lt;br /&gt;
        xextent: 4;&lt;br /&gt;
        yextent: 4;&lt;br /&gt;
        zextent: 24;&lt;br /&gt;
        xoffset: 6; //from NE edge&lt;br /&gt;
        yoffset: 0; //from NW edge&lt;br /&gt;
        zoffset: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//north east&lt;br /&gt;
spritelayout spritelayout_fingerpost_3_NE {&lt;br /&gt;
    ground {&lt;br /&gt;
        sprite: LOAD_TEMP(0) + LOAD_TEMP(1);&lt;br /&gt;
    }&lt;br /&gt;
    building {&lt;br /&gt;
        sprite: spriteset_fingerpost_3(3);&lt;br /&gt;
        xextent: 4;&lt;br /&gt;
        yextent: 4;&lt;br /&gt;
        zextent: 24;&lt;br /&gt;
        xoffset: 0; //from NE edge&lt;br /&gt;
        yoffset: 6; //from NW edge&lt;br /&gt;
        zoffset: 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//decide spritelayout for each of the 4 views&lt;br /&gt;
switch (FEAT_OBJECTS, SELF, switch_fingerpost_3_view, view) {&lt;br /&gt;
    1:  spritelayout_fingerpost_3_SW;&lt;br /&gt;
    2:  spritelayout_fingerpost_3_NW;&lt;br /&gt;
    3:  spritelayout_fingerpost_3_NE;&lt;br /&gt;
    spritelayout_fingerpost_3_SE;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//calculate ground sprite for object&lt;br /&gt;
switch (FEAT_OBJECTS, SELF, switch_fingerpost_3_object, [&lt;br /&gt;
        //tile slope offset in storage register 0&lt;br /&gt;
        STORE_TEMP(slope_to_sprite_offset(tile_slope), 0),&lt;br /&gt;
        //terrain type in storage register 1&lt;br /&gt;
        STORE_TEMP(GROUNDSPRITE_NORMAL, 1),&lt;br /&gt;
        STORE_TEMP(terrain_type == TILETYPE_DESERT ? GROUNDSPRITE_DESERT : LOAD_TEMP(1), 1),&lt;br /&gt;
        STORE_TEMP(terrain_type == TILETYPE_SNOW   ? GROUNDSPRITE_SNOW   : LOAD_TEMP(1), 1)&lt;br /&gt;
        ]) {&lt;br /&gt;
	switch_fingerpost_3_build_date;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//calculate ground sprite for purchase menu&lt;br /&gt;
switch (FEAT_OBJECTS, SELF, switch_fingerpost_3_purchase, [&lt;br /&gt;
        //use flat gound sprite for purchase menu&lt;br /&gt;
        STORE_TEMP(0, 0),&lt;br /&gt;
        //use normal terrain for purchase menu&lt;br /&gt;
        STORE_TEMP(GROUNDSPRITE_NORMAL, 1),&lt;br /&gt;
        ]) {&lt;br /&gt;
	switch_fingerpost_3_build_date;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
item (FEAT_OBJECTS, fingerpost_3) {&lt;br /&gt;
    property {&lt;br /&gt;
        class:                  &amp;quot;NLRF&amp;quot;;&lt;br /&gt;
        classname:              string(STR_NLRF);&lt;br /&gt;
        name:                   string(STR_HANDWIJZER_3);&lt;br /&gt;
        climates_available:     ALL_CLIMATES;&lt;br /&gt;
        size:                   [1,1];&lt;br /&gt;
        build_cost_multiplier:  2;&lt;br /&gt;
        remove_cost_multiplier: 8;&lt;br /&gt;
        introduction_date:      date(1961,1,1);&lt;br /&gt;
        end_of_life_date:       0xFFFFFFFF;&lt;br /&gt;
        object_flags:           bitmask(OBJ_FLAG_REMOVE_IS_INCOME, OBJ_FLAG_NO_FOUNDATIONS, OBJ_FLAG_ALLOW_BRIDGE);&lt;br /&gt;
        height:                 2;&lt;br /&gt;
        num_views:              4;&lt;br /&gt;
    }&lt;br /&gt;
    graphics {&lt;br /&gt;
        default:            switch_fingerpost_3_object;&lt;br /&gt;
        purchase:           switch_fingerpost_3_purchase;&lt;br /&gt;
        autoslope:          return(CB_RESULT_AUTOSLOPE);&lt;br /&gt;
        additional_text:    string(STR_FINGERPOST_3_PURCHASE);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The language file will now contain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:darkblue; white-space: pre-wrap; max-height: 200px; overflow:scroll&amp;quot;&amp;gt;&lt;br /&gt;
##grflangid 0x01&lt;br /&gt;
&lt;br /&gt;
#Main grf title and description&lt;br /&gt;
STR_GRF_NAME        :{TITLE}&lt;br /&gt;
STR_GRF_DESCRIPTION :Description: {SILVER}Dutch Road Furniture is an eyecandy object NewGRF that features road furniture that can be found alongside Dutch roads. {}(c)2011 FooBar. {}{BLACK}License: {SILVER}GPLv2 or higher.&lt;br /&gt;
&lt;br /&gt;
#error messages&lt;br /&gt;
STR_OPENTTD_VERSION :1.2.0 (r22723)&lt;br /&gt;
&lt;br /&gt;
#object classes&lt;br /&gt;
STR_NLRF            :Dutch Road Furniture&lt;br /&gt;
&lt;br /&gt;
#object name and description&lt;br /&gt;
STR_FINGERPOST_3            :Dutch Fingerpost three-way&lt;br /&gt;
STR_FINGERPOST_3_PURCHASE   :The three-way fingerpost is centered at one side of the tile and facing outward. Intended to be placed directly opposite of the secondary road at a three-way junction.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the end of this example and the end of the series. Only thing left for you to skip is a useless conclusion&lt;br /&gt;
&lt;br /&gt;
{{NMLTutorialNavbar|Version check|Conclusion}}&lt;/div&gt;</summary>
		<author><name>FooBar</name></author>
	</entry>
</feed>