<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FAmnesia%3A_Rebirth%2FScripting%2FcTerrain</id>
	<title>HPL3/Amnesia: Rebirth/Scripting/cTerrain - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frictionalgames.com/page?action=history&amp;feed=atom&amp;title=HPL3%2FAmnesia%3A_Rebirth%2FScripting%2FcTerrain"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Scripting/cTerrain&amp;action=history"/>
	<updated>2026-05-01T15:01:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Scripting/cTerrain&amp;diff=5879&amp;oldid=prev</id>
		<title>Abion47: Created page with &quot;{{ScriptingStub}}  Have some helpful descriptions to add to this class? Edit this page and add your insight to the Wiki!  ==Fields== cTerrain has no public fields.  ==Function...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Scripting/cTerrain&amp;diff=5879&amp;oldid=prev"/>
		<updated>2020-11-15T21:58:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{ScriptingStub}}  Have some helpful descriptions to add to this class? Edit this page and add your insight to the Wiki!  ==Fields== cTerrain has no public fields.  ==Function...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ScriptingStub}}&lt;br /&gt;
&lt;br /&gt;
Have some helpful descriptions to add to this class? Edit this page and add your insight to the Wiki!&lt;br /&gt;
&lt;br /&gt;
==Fields==&lt;br /&gt;
cTerrain has no public fields.&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
{{CodeDocSummaryTop|Return Type|Function And Description}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#AddDynamicDecal|AddDynamicDecal]](const [[../tString|tString]] &amp;amp;in asMaterial, const [[../cVector3f|cVector3f]] &amp;amp;in avPosition, float afAngle, const [[../cVector2f|cVector2f]] &amp;amp;in avSize, float afDepth &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; -1, const [[../cColor|cColor]] &amp;amp;in aColor &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 1, const [[../cVector2f|cVector2f]] &amp;amp;in avMinUV &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 0, const [[../cVector2f|cVector2f]] &amp;amp;in avMaxUV &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; 1, float afFadeOutTime &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; -1)|}}&lt;br /&gt;
{{CodeDocSummaryItem|float|[[#GetChangePatchLevelDist|GetChangePatchLevelDist]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|int|[[#GetGeometryGridNum|GetGeometryGridNum]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|int|[[#GetGeometryPatchSize|GetGeometryPatchSize]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|int|[[#GetHeightMapSize|GetHeightMapSize]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|float|[[#GetMaterialSpecularPower|GetMaterialSpecularPower]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|float|[[#GetMaxHeight|GetMaxHeight]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#GetStartAndSizeInTextureGrid|GetStartAndSizeInTextureGrid]](const [[../cVector2f|cVector2f]] &amp;amp;in avStart, const [[../cVector2f|cVector2f]] &amp;amp;in avSize, [[../cVector2l|cVector2l]] &amp;amp;out avGridStart, [[../cVector2l|cVector2l]] &amp;amp;out avGridSize)|}}&lt;br /&gt;
{{CodeDocSummaryItem|int|[[#GetTextureGridNum|GetTextureGridNum]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|int|[[#GetTexturePatchSize|GetTexturePatchSize]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|float|[[#GetUnitSize|GetUnitSize]]()|}}&lt;br /&gt;
{{CodeDocSummaryItem|bool|[[#GetWorldPosHeightAndNormal|GetWorldPosHeightAndNormal]](const [[../cVector3f|cVector3f]] &amp;amp;in avPosition, float &amp;amp;out afHeight, [[../cVector3f|cVector3f]] &amp;amp;out avNormal)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetChangePatchLevelDist|SetChangePatchLevelDist]](float afX)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetCheapMaterial|SetCheapMaterial]](const [[../tString|tString]] &amp;amp;in asCheapMaterial, float afCheapMaterialMul)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetGeometryPatchSize|SetGeometryPatchSize]](int alX)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetMaxHeight|SetMaxHeight]](float afX)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetTexturePatchSize|SetTexturePatchSize]](int alX)|}}&lt;br /&gt;
{{CodeDocSummaryItem|void|[[#SetUnitSize|SetUnitSize]](float afX)|}}&lt;br /&gt;
{{CodeDocSummaryBottom}}&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
{{CodeDocDetailTop|AddDynamicDecal}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void AddDynamicDecal(const tString &amp;amp;in asMaterial,&lt;br /&gt;
                     const cVector3f &amp;amp;in avPosition,&lt;br /&gt;
                     float afAngle,&lt;br /&gt;
                     const cVector2f &amp;amp;in avSize,&lt;br /&gt;
                     float afDepth = -1,&lt;br /&gt;
                     const cColor &amp;amp;in aColor = 1,&lt;br /&gt;
                     const cVector2f &amp;amp;in avMinUV = 0,&lt;br /&gt;
                     const cVector2f &amp;amp;in avMaxUV = 1,&lt;br /&gt;
                     float afFadeOutTime = -1)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|asMaterial|[[../tString|tString]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avPosition|[[../cVector3f|cVector3f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|afAngle|float|}}&lt;br /&gt;
{{CodeDocDetailParam|avSize|[[../cVector2f|cVector2f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|afDepth|float|}}&lt;br /&gt;
{{CodeDocDetailParam|aColor|[[../cColor|cColor]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avMinUV|[[../cVector2f|cVector2f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avMaxUV|[[../cVector2f|cVector2f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|afFadeOutTime|float|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetChangePatchLevelDist}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;float GetChangePatchLevelDist()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|float|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetGeometryGridNum}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;int GetGeometryGridNum()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|int|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetGeometryPatchSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;int GetGeometryPatchSize()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|int|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetHeightMapSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;int GetHeightMapSize()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|int|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetMaterialSpecularPower}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;float GetMaterialSpecularPower()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|float|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetMaxHeight}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;float GetMaxHeight()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|float|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetStartAndSizeInTextureGrid}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void GetStartAndSizeInTextureGrid(const cVector2f &amp;amp;in avStart,&lt;br /&gt;
                                  const cVector2f &amp;amp;in avSize,&lt;br /&gt;
                                  cVector2l &amp;amp;out avGridStart,&lt;br /&gt;
                                  cVector2l &amp;amp;out avGridSize)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|avStart|[[../cVector2f|cVector2f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avSize|[[../cVector2f|cVector2f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avGridStart|[[../cVector2l|cVector2l]]|}}&lt;br /&gt;
{{CodeDocDetailParam|avGridSize|[[../cVector2l|cVector2l]]|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetTextureGridNum}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;int GetTextureGridNum()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|int|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetTexturePatchSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;int GetTexturePatchSize()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|int|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetUnitSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;float GetUnitSize()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailReturn|float|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|GetWorldPosHeightAndNormal}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;bool GetWorldPosHeightAndNormal(const cVector3f &amp;amp;in avPosition,&lt;br /&gt;
                                float &amp;amp;out afHeight,&lt;br /&gt;
                                cVector3f &amp;amp;out avNormal)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|avPosition|[[../cVector3f|cVector3f]]|}}&lt;br /&gt;
{{CodeDocDetailParam|afHeight|float|}}&lt;br /&gt;
{{CodeDocDetailParam|avNormal|[[../cVector3f|cVector3f]]|}}&lt;br /&gt;
{{CodeDocDetailReturn|bool|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetChangePatchLevelDist}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetChangePatchLevelDist(float afX)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|afX|float|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetCheapMaterial}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetCheapMaterial(const tString &amp;amp;in asCheapMaterial,&lt;br /&gt;
                      float afCheapMaterialMul)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|asCheapMaterial|[[../tString|tString]]|}}&lt;br /&gt;
{{CodeDocDetailParam|afCheapMaterialMul|float|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetGeometryPatchSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetGeometryPatchSize(int alX)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|alX|int|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetMaxHeight}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetMaxHeight(float afX)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|afX|float|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetTexturePatchSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetTexturePatchSize(int alX)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|alX|int|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{CodeDocDetailTop|SetUnitSize}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;void SetUnitSize(float afX)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeDocDetailBody|}}&lt;br /&gt;
{{CodeDocDetailParamStart}}&lt;br /&gt;
{{CodeDocDetailParam|afX|float|}}&lt;br /&gt;
{{CodeDocDetailReturn|void|}}&lt;br /&gt;
{{CodeDocDetailBottom}}&lt;br /&gt;
&lt;br /&gt;
{{ReferencesSection}}&lt;br /&gt;
&lt;br /&gt;
{{HPL3SOMAScriptingCategories}}&lt;/div&gt;</summary>
		<author><name>Abion47</name></author>
		
	</entry>
</feed>