<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hard-light.org/index.php?action=history&amp;feed=atom&amp;title=Script_-_Corridor_Mode</id>
	<title>Script - Corridor Mode - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hard-light.org/index.php?action=history&amp;feed=atom&amp;title=Script_-_Corridor_Mode"/>
	<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;action=history"/>
	<updated>2026-11-15T10:54:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=38762&amp;oldid=prev</id>
		<title>AndrewofDoom: Someone forgot to change this. The createCamera and setCamera calls are no longer a part of the testing library, but the graphics one. I have updated it accordingly.</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=38762&amp;oldid=prev"/>
		<updated>2012-06-19T18:21:03Z</updated>

		<summary type="html">&lt;p&gt;Someone forgot to change this. The createCamera and setCamera calls are no longer a part of the testing library, but the graphics one. I have updated it accordingly.&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&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:21, 19 June 2012&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-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&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;       ---Create chase camera&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;       ---Create chase camera&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;       objectCCamera = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ts&lt;/del&gt;.createCamera(&quot;Chase Camera&quot;,vectorCCameraPos, orientationCCamera)&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;       objectCCamera = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gr&lt;/ins&gt;.createCamera(&quot;Chase Camera&quot;,vectorCCameraPos, orientationCCamera)&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;       ---Use the new chase camera&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;       ---Use the new chase camera&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;       &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ts&lt;/del&gt;.setCamera(objectCCamera)&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;       &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gr&lt;/ins&gt;.setCamera(objectCCamera)&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;       ---Create front vector&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;       ---Create front vector&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AndrewofDoom</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=28852&amp;oldid=prev</id>
		<title>TopAce: header + link</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=28852&amp;oldid=prev"/>
		<updated>2010-04-18T19:26:24Z</updated>

		<summary type="html">&lt;p&gt;header + link&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&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 19:26, 18 April 2010&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=&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Function==&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;Uses &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Modular Tables|&lt;/ins&gt;modular&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;version of the scripting.tbl, xxx-sct.tbm. Script enables a simple tube flying mode for the game.  &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;Uses modular version of the scripting.tbl, xxx-sct.tbm. Script enables a simple tube flying mode for the game.  &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;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 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;==Table Entry==&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;==Table Entry==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>TopAce</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=13052&amp;oldid=prev</id>
		<title>Wanderer: fix</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=13052&amp;oldid=prev"/>
		<updated>2007-10-06T06:40:00Z</updated>

		<summary type="html">&lt;p&gt;fix&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&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 06:40, 6 October 2007&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-l77&quot;&gt;Line 77:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 77:&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;       ---Get players &amp;#039;nose vector&amp;#039;&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;       ---Get players &amp;#039;nose vector&amp;#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;div&gt;       vectorPointer = orientationCurrent:unrotateVector(vectorFrontDirection)&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;       vectorPointer = orientationCurrent:unrotateVector(vectorFrontDirection)&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      ---Set 3D aiming aid positions&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/1.25)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid1.Position = vectorNewTargetPos&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/2.5)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid2.Position = vectorNewTargetPos&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/5)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid3.Position = vectorNewTargetPos&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;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 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;       --Set chase camera position according to the ships position&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;       --Set chase camera position according to the ships position&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-l136&quot;&gt;Line 136:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 127:&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;       if objectPlayer.Position[&amp;quot;x&amp;quot;] &amp;gt; floatHLimit then&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;       if objectPlayer.Position[&amp;quot;x&amp;quot;] &amp;gt; floatHLimit then&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;          vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] - floatHLimit)&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;          vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] - floatHLimit)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         vectorPointer[&quot;x&quot;] = vectorPointer[&quot;x&quot;] + (vectorCurrentPos[&quot;x&quot;] - floatHLimit)&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;       elseif vectorCurrentPos[&amp;quot;x&amp;quot;] &amp;lt; (-1 * floatHLimit) then&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;       elseif vectorCurrentPos[&amp;quot;x&amp;quot;] &amp;lt; (-1 * floatHLimit) then&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;          vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] + floatHLimit)&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;          vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] + floatHLimit)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         vectorPointer[&quot;x&quot;] = vectorPointer[&quot;x&quot;] + (vectorCurrentPos[&quot;x&quot;] + floatHLimit)&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;       end&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;       end&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-lineno&quot; id=&quot;mw-diff-left-l143&quot;&gt;Line 143:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 136:&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;       if objectPlayer.Position[&amp;quot;y&amp;quot;] &amp;gt; floatVLimit then&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;       if objectPlayer.Position[&amp;quot;y&amp;quot;] &amp;gt; floatVLimit then&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;          vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] - floatVLimit)&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;          vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] - floatVLimit)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         vectorPointer[&quot;y&quot;] = vectorPointer[&quot;y&quot;] + (vectorCurrentPos[&quot;y&quot;] - floatVLimit)&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;       elseif vectorCurrentPos[&amp;quot;y&amp;quot;] &amp;lt; (-1 * floatVLimit) then&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;       elseif vectorCurrentPos[&amp;quot;y&amp;quot;] &amp;lt; (-1 * floatVLimit) then&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;          vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] + floatVLimit)&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;          vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] + floatVLimit)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         vectorPointer[&quot;y&quot;] = vectorPointer[&quot;y&quot;] + (vectorCurrentPos[&quot;y&quot;] + floatVLimit)&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;       end&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;       end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&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; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      ---Set 3D aiming aid positions&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/1.25)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid1.Position = vectorNewTargetPos&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/2.5)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid2.Position = vectorNewTargetPos&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/5)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      objectAimingAid3.Position = vectorNewTargetPos&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;       --Update Player Rotational Velocity, Position and Orientation&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;       --Update Player Rotational Velocity, Position and Orientation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wanderer</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=13030&amp;oldid=prev</id>
		<title>Wanderer: added the script here too</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Corridor_Mode&amp;diff=13030&amp;oldid=prev"/>
		<updated>2007-10-05T11:04:48Z</updated>

		<summary type="html">&lt;p&gt;added the script here too&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Function==&lt;br /&gt;
Uses modular version of the scripting.tbl, xxx-sct.tbm. Script enables a simple tube flying mode for the game. &lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;tube-sct.tbm&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;#Conditional Hooks&lt;br /&gt;
&lt;br /&gt;
$State: GS_STATE_GAME_PLAY&lt;br /&gt;
&lt;br /&gt;
$On Frame:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
floatMissionTime = mn.getMissionTime()&lt;br /&gt;
&lt;br /&gt;
if floatMissionTime ~= nil then&lt;br /&gt;
&lt;br /&gt;
if booleanCorridorInit == nil and floatMissionTime &amp;lt; 0.5 then&lt;br /&gt;
&lt;br /&gt;
      --Setup all the needed values&lt;br /&gt;
      booleanCorridorInit = &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
      ---Create &amp;#039;blank&amp;#039; orientation&lt;br /&gt;
      orientationBlank = mn.Ships[1].Orientation&lt;br /&gt;
      orientationBlank[&amp;quot;p&amp;quot;] = 0&lt;br /&gt;
      orientationBlank[&amp;quot;b&amp;quot;] = 0&lt;br /&gt;
      orientationBlank[&amp;quot;h&amp;quot;] = 0&lt;br /&gt;
&lt;br /&gt;
      ---Set the initial camera position and orientation&lt;br /&gt;
      vectorCCameraPos = ba.createVector(0,15,-75)&lt;br /&gt;
      orientationCCamera = orientationBlank&lt;br /&gt;
&lt;br /&gt;
      ---Create chase camera&lt;br /&gt;
      objectCCamera = ts.createCamera(&amp;quot;Chase Camera&amp;quot;,vectorCCameraPos, orientationCCamera)&lt;br /&gt;
&lt;br /&gt;
      ---Use the new chase camera&lt;br /&gt;
      ts.setCamera(objectCCamera)&lt;br /&gt;
&lt;br /&gt;
      ---Create front vector&lt;br /&gt;
      vectorFrontDirection = ba.createVector(0,0,100)&lt;br /&gt;
&lt;br /&gt;
      ---&lt;br /&gt;
      objectAimingAid1 = mn.Ships[&amp;quot;AimingAid I&amp;quot;]&lt;br /&gt;
      objectAimingAid2 = mn.Ships[&amp;quot;AimingAid II&amp;quot;]&lt;br /&gt;
      objectAimingAid3 = mn.Ships[&amp;quot;AimingAid III&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
      ---Set movement box limits&lt;br /&gt;
      floatHLimit = 30&lt;br /&gt;
      floatVLimit = 22.5&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if floatMissionTime &amp;gt; 0.5 then&lt;br /&gt;
&lt;br /&gt;
   if booleanCorridorInit ~= nil then&lt;br /&gt;
      booleanCorridorInit = nil&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   objectPlayer = hv.Player&lt;br /&gt;
&lt;br /&gt;
   if objectPlayer:isValid() then --Player Validity Check&lt;br /&gt;
&lt;br /&gt;
      --Make sure that we needed info&lt;br /&gt;
      if orientationLast == nil then&lt;br /&gt;
         orientationLast = objectPlayer.Orientation&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Get Position and Orientation and Speed&lt;br /&gt;
      orientationCurrent = objectPlayer.Orientation&lt;br /&gt;
      vectorCurrentPos = objectPlayer.Position&lt;br /&gt;
      floatPlayerSpeed = objectPlayer.Physics:getSpeed()&lt;br /&gt;
      vectorPlayerVelocity = objectPlayer.Physics.Velocity&lt;br /&gt;
&lt;br /&gt;
      --Set the 3D aiming aid system&lt;br /&gt;
&lt;br /&gt;
      ---Get Aiming Aids&lt;br /&gt;
&lt;br /&gt;
      ---Get players &amp;#039;nose vector&amp;#039;&lt;br /&gt;
      vectorPointer = orientationCurrent:unrotateVector(vectorFrontDirection)&lt;br /&gt;
&lt;br /&gt;
      ---Set 3D aiming aid positions&lt;br /&gt;
      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/1.25)&lt;br /&gt;
      objectAimingAid1.Position = vectorNewTargetPos&lt;br /&gt;
      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/2.5)&lt;br /&gt;
      objectAimingAid2.Position = vectorNewTargetPos&lt;br /&gt;
      vectorNewTargetPos = vectorCurrentPos + vectorPointer/(1/5)&lt;br /&gt;
      objectAimingAid3.Position = vectorNewTargetPos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      --Set chase camera position according to the ships position&lt;br /&gt;
      vectorCCameraPos[&amp;quot;y&amp;quot;] = vectorCCameraPos[&amp;quot;y&amp;quot;] - ((vectorCCameraPos[&amp;quot;y&amp;quot;] -15) - vectorCurrentPos[&amp;quot;y&amp;quot;]) / 150&lt;br /&gt;
      vectorCCameraPos[&amp;quot;x&amp;quot;] = vectorCCameraPos[&amp;quot;x&amp;quot;] - (vectorCCameraPos[&amp;quot;x&amp;quot;] - vectorCurrentPos[&amp;quot;x&amp;quot;]) / 150&lt;br /&gt;
      vectorCCameraPos[&amp;quot;z&amp;quot;] = vectorCurrentPos[&amp;quot;z&amp;quot;] - 50 - 0.2 * floatPlayerSpeed&lt;br /&gt;
&lt;br /&gt;
      --Set chase camera orientation according to ship position&lt;br /&gt;
&lt;br /&gt;
      ---Create vector components&lt;br /&gt;
      floatCCameraOriVec_y = -((vectorCCameraPos[&amp;quot;y&amp;quot;] - 15) - vectorCurrentPos[&amp;quot;y&amp;quot;])/3&lt;br /&gt;
      floatCCameraOriVec_x = -(vectorCCameraPos[&amp;quot;x&amp;quot;] - vectorCurrentPos[&amp;quot;x&amp;quot;])/3&lt;br /&gt;
      floatCCameraOriVec_z = 50 + 0.2 * floatPlayerSpeed&lt;br /&gt;
&lt;br /&gt;
      ---Create vector from the vector components&lt;br /&gt;
      vectorCCameraNewOri = ba.createVector(floatCCameraOriVec_x,floatCCameraOriVec_y,floatCCameraOriVec_z)&lt;br /&gt;
&lt;br /&gt;
      ---Create orientation object from the vector object&lt;br /&gt;
      orientationCCameraNew = vectorCCameraNewOri:getOrientation()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      --Update chase camera position and orientation&lt;br /&gt;
      objectCCamera:setPosition(vectorCCameraPos)&lt;br /&gt;
      objectCCamera:setOrientation(orientationCCameraNew)&lt;br /&gt;
&lt;br /&gt;
      --Get current rotational velocity data&lt;br /&gt;
      vectorRealRotVel = objectPlayer.Physics.RotationalVelocity&lt;br /&gt;
&lt;br /&gt;
      --Set limit for turning for horizontal axis&lt;br /&gt;
      if math.pow(orientationCurrent[&amp;quot;h&amp;quot;],2) &amp;gt; math.pow(orientationLast[&amp;quot;h&amp;quot;],2) then&lt;br /&gt;
         vectorRealRotVel[2] = vectorRealRotVel[2] - 1*(orientationCurrent[&amp;quot;h&amp;quot;])/3&lt;br /&gt;
      else&lt;br /&gt;
         vectorRealRotVel[2] = vectorRealRotVel[2] - 1*(orientationCurrent[&amp;quot;h&amp;quot;])/5&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Set limit for turning for vertical axis&lt;br /&gt;
      if math.pow(orientationCurrent[&amp;quot;p&amp;quot;],2) &amp;gt; math.pow(orientationLast[&amp;quot;p&amp;quot;],2) then&lt;br /&gt;
         vectorRealRotVel[1] = vectorRealRotVel[1] - 1*(orientationCurrent[&amp;quot;p&amp;quot;])/3&lt;br /&gt;
      else&lt;br /&gt;
         vectorRealRotVel[1] = vectorRealRotVel[1] - 1*(orientationCurrent[&amp;quot;p&amp;quot;])/5&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Prevent rolling&lt;br /&gt;
      floatCurrentRoll = orientationCurrent[&amp;quot;b&amp;quot;]&lt;br /&gt;
      if floatCurrentRoll ~= 0 then&lt;br /&gt;
         vectorRealRotVel[3] = -2*floatCurrentRoll/2&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Horizontal Position Limit&lt;br /&gt;
      if objectPlayer.Position[&amp;quot;x&amp;quot;] &amp;gt; floatHLimit then&lt;br /&gt;
         vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] - floatHLimit)&lt;br /&gt;
      elseif vectorCurrentPos[&amp;quot;x&amp;quot;] &amp;lt; (-1 * floatHLimit) then&lt;br /&gt;
         vectorPlayerVelocity[&amp;quot;x&amp;quot;] = vectorPlayerVelocity[&amp;quot;x&amp;quot;] - (vectorCurrentPos[&amp;quot;x&amp;quot;] + floatHLimit)&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Vertical Position Limit&lt;br /&gt;
      if objectPlayer.Position[&amp;quot;y&amp;quot;] &amp;gt; floatVLimit then&lt;br /&gt;
         vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] - floatVLimit)&lt;br /&gt;
      elseif vectorCurrentPos[&amp;quot;y&amp;quot;] &amp;lt; (-1 * floatVLimit) then&lt;br /&gt;
         vectorPlayerVelocity[&amp;quot;y&amp;quot;] = vectorPlayerVelocity[&amp;quot;y&amp;quot;] - (vectorCurrentPos[&amp;quot;y&amp;quot;] + floatVLimit)&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
      --Update Player Rotational Velocity, Position and Orientation&lt;br /&gt;
      objectPlayer.Physics.RotationalVelocity = vectorRealRotVel&lt;br /&gt;
      objectPlayer.Physics.Velocity = vectorPlayerVelocity&lt;br /&gt;
&lt;br /&gt;
      --Reference Orientation for next frame&lt;br /&gt;
      orientationLast = objectPlayer.Orientation&lt;br /&gt;
&lt;br /&gt;
      --new section to remove excess enemy fighters and bombers&lt;br /&gt;
&lt;br /&gt;
      integerShips = #mn.Ships&lt;br /&gt;
&lt;br /&gt;
      --Get rid off excess enemies&lt;br /&gt;
      for g=1,integerShips do&lt;br /&gt;
         objectDisposableShip = mn.Ships[g]&lt;br /&gt;
&lt;br /&gt;
         --Check team and hitpoint status&lt;br /&gt;
         stringDisposableShipTeam = objectDisposableShip.Team.Name&lt;br /&gt;
         floatDisposableShipHitpoints = objectDisposableShip.HitpointsLeft&lt;br /&gt;
         if stringDisposableShipTeam ~= &amp;quot;Friendly&amp;quot; and floatDisposableShipHitpoints &amp;gt; 0 then&lt;br /&gt;
&lt;br /&gt;
            --Only fighters &amp;amp; bombers&lt;br /&gt;
            stringDisposableShipType = objectDisposableShip.Class.Type.Name&lt;br /&gt;
            if stringDisposableShipType == &amp;quot;Fighter&amp;quot; or stringDisposableShipType == &amp;quot;Bomber&amp;quot; then&lt;br /&gt;
&lt;br /&gt;
               --Move ship only if it has flown past the player&lt;br /&gt;
               vectorDisposableShipPosition = objectDisposableShip.Position&lt;br /&gt;
               floatFrontDistance = vectorDisposableShipPosition[&amp;quot;z&amp;quot;] - vectorCurrentPos[&amp;quot;z&amp;quot;]&lt;br /&gt;
               if floatFrontDistance &amp;lt; -100 then&lt;br /&gt;
                  vectorDispose = ba.createVector(0,0,-50000)&lt;br /&gt;
&lt;br /&gt;
                  --Update the moved ships position and get rid off it&lt;br /&gt;
                  objectDisposableShip.Position = vectorDispose&lt;br /&gt;
                  objectDisposableShip.HitpointsLeft = 0&lt;br /&gt;
                  objectDisposableShip:kill(objectDisposableShip)&lt;br /&gt;
               end&lt;br /&gt;
            end&lt;br /&gt;
         end&lt;br /&gt;
      end&lt;br /&gt;
&lt;br /&gt;
   end --Player Validity Check&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Script avoids directly changing the position data of the player ship to avoid several potential physics problems. Handles 3D targeting controls should proper models be included to the mission. Script also removes all hostile fighters and bombers that have passed the player ship and kills them. [[Radar-set-max-range]] [[Portal:FRED|SEXP]] should be used to prevent the targeting of the disposed ships.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Corridor Mode]]&lt;/div&gt;</summary>
		<author><name>Wanderer</name></author>
	</entry>
</feed>