<?xml version="1.0"?>
<rss version="2.0"><channel><title>Documentation</title><link>https://w3dhub.com/forum/documentation/</link><description>W3D Engine Documentation</description><language>en</language><item><title>Recoil</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/weapons/recoil-r4/</link><description><![CDATA[<h1>
	<span>Overview</span>
</h1>

<p>
	<span> </span>Recoil is the "kick" of a weapon when it is fired, causing the user's aim to drift off the target, thus limiting accuracy and forcing the user to compensate. This differs from spread, which is a random error that changes the intended trajectory of each fired projectile, while the weapon remains aimed at the same spot. By contrast, recoil changes the orientation of the weapon itself, so even a weapon with no spread will no longer be able to hit the same spot.
</p>

<h1 id="Recoil-RecoilmechanicsRecoilmechanics">
	<span>Recoil mechanics</span>
</h1>

<h2 id="Recoil-Recoilstrength">
	<span>Recoil strength</span>
</h2>

<p>
	Each fired projectile creates an impulse that will throw the user's aim off-target. The strength of this impulse is determined by the <strong>recoil strength</strong> parameter. Each projectile will add a 2D (pitch and yaw) impulse to the weapon, rotating it away from the original orientation. The impulses from subsequent projectiles are added to the total recoil angular velocity, so sustained fire will continuously increase the recoil effect.
</p>

<h2 id="Recoil-Recoilpattern">
	<span>Recoil pattern</span>
</h2>

<p>
	The <strong>recoil pattern</strong> determines the directions in which the recoil impulses described above take effect. Each time a projectile is fired, an impulse vector is calculated based on the recoil pattern. Most impulses will be directed toward a <strong>bias</strong> direction (typically in the direction upward from the barrel), and to simulate the pseudo-randomness of the recoil effect, some projectiles will create an impulse in a random direction within the set pattern. The per-shot probability of this random impulse can be adjusted using the <strong>random probability</strong> parameter.
</p>

<h3 id="Recoil-Arcpattern">
	<span>Arc pattern</span>
</h3>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33062" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.99d200f447bd26be6406e0c7809d4421.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33062" data-ratio="67.25" data-unique="zgk2br7g2" style="" title="" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.bf624b0d748fe97ac4b9531b04bdfaa6.png"></a>
</p>

<p>
	The <strong>arc pattern</strong> is the most conventional type of recoil pattern, which assumes a weapon that primarily "kicks upward". The green arrow shows the bias, which is the direction where normal recoil impulses will push the user's aim. The red arrows show possible directions for random recoil impulses, where the angles of all such impulses w.r.t the vertical direction are constrained to this arc. The <strong>pattern arc size</strong> parameter can widen the arc, allowing for greater horizontal deviations with each shot.
</p>

<h3 id="Recoil-Circlepattern">
	<span>Circle pattern</span>
</h3>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33063" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.746ae7c3d0781e335b1d326d351a10d7.png" rel="" style=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33063" data-ratio="100.00" data-unique="ow0e7r9yr" style="" title="" width="300" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.465c777a3c5a6a6c7f54c16f0c230ba0.png"></a>
</p>

<p>
	The <strong>circle pattern</strong> behaves similarly to the arc pattern, except that it allows random impulses in the full 360° range (which means it does not need the arc size parameter). This is primarily useful for more wild recoil behavior, e.g a handheld machine gun during sustained fire.
</p>

<h2 id="Recoil-Recoilresistance">
	<span>Recoil resistance</span>
</h2>

<p>
	In order to prevent the recoil impulses from making the weapon spiral out of control, weapons have <strong>recoil resistance</strong>, which is a constant force that acts opposite the recoil force while it is nonzero. After each recoil impulse is applied, this force will attempt to bring the recoil movement to a halt, thus it can be balanced with <strong>recoil strength</strong> to create the appropriate recoil behavior. For example, setting a high recoil strength and low resistance will allow a single shot to widely displace the user's aim, and the recoil effect will take longer to "decay".
</p>

<p>
	The user's current state also affects their resistance. This is achieved using the <strong>resistance multipliers</strong>, e.g crouching can be expected to increase the user's ability to resist the recoil impulses, while jumping has the opposite effect.
</p>

<p>
	<em>NOTE: the recoil resistance parameter <u>must</u> be nonzero, otherwise the recoil impulse will never decay and will endlessly throw off the user's aim.</em>
</p>

<h2 id="Recoil-Recoilrecovery">
	<span>Recoil recovery</span>
</h2>

<p>
	Recovery is an optional mechanic that allows for automatically correcting the user's aim. After the resistance has reduced the recoil angular velocity to zero, the recovery will take over and move the user's aim back toward the center of their recoil pattern. The <strong>recoil recovery </strong>parameter sets the speed of this effect, so an appropriate value must be found to make the transition look natural. The recovery also depends on the<strong> recoil pattern size</strong>, which sets a limit on how far the user's aim can deviate before it can no longer be returned to the original position. If the recoil impulses move the user's aim beyond the pattern radius, then the pattern itself will "drift" with the recoil, and the recovery will only restore the aim to the new center position of the pattern. However, there is a flag; <strong><span style="color:#172b4d">Aimpoint Static </span></strong>that will disable the aim drifting beyond the recoil pattern's size and instead limit the recoil size to just the recoil pattern size, where the player's aim will stay until fire is stopped (if recovery is enabled).
</p>

<p>
	(NEEDS PICTURES)
</p>

<h1 id="Recoil-RecoilparametersRecoilparameters">
	<span>Recoil parameters</span>
</h1>

<p>
	Weapon recoil can be set for infantry weapons and even vehicles. To set up recoil for a weapon, enable the recoil component within the weapon. WIthout this component, reload cannot be used. Once this component is enabled on a weapon, the parameters can be edited both within Mammoth and the in-game EDIT_WEAPON console command. The recoil component has its own tab within EDIT_WEAPON.
</p>

<h2 id="Recoil-Ammodefinitionparameters">
	<span>Ammo definition parameters</span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: none; width: 837px;" width="59%">
	<colgroup>
		<col>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 143px;">
				<p align="center" style="text-align:center">
					<b><span>Parameter name</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 115px;">
				<p align="center" style="text-align:center">
					<b><span>Default value</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 577px;">
				<p align="center" style="text-align:center">
					<b>Short description</b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 143px;">
				<p>
					<span>Recoil strength</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 115px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 577px;">
				<p>
					<span>Recoil strength determines the amount of recoil energy created by each projectile fired from the weapon. Higher values will make the recoil effect much faster and stronger (i.e "the aim will drift off-target more rapidly")</span>
				</p>

				<p>
					<span>This is located within the Ballistics component within Ammo.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2 id="Recoil-Weapondefinitionparameters">
	<span style="color:white">Weapon definition parameters</span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: none; width: 840px;" width="65%">
	<colgroup>
		<col>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p align="center" style="text-align:center">
					<b><span>Parameter name</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 114px;">
				<p align="center" style="text-align:center">
					<b><span>Default value</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 578px;">
				<p align="center" style="text-align:center">
					<b>Short description</b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Pattern</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>Arc pattern</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the pattern of the recoil effect ("arc" or "circle")</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Pattern size</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the size of the recoil pattern, in degrees. (setting to zero disables recovery)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Bias</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>(0, 0) vector</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the direction in which recoil impulses will be biased towards.. Refer to the charts for the vector direction.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Random probability</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the per-shot probability of a recoil impulse with a randomized direction</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Arc size</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>15.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the arc size of the recoil pattern, in degrees. (only used by "arc").</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>First shot multiplier</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Multiplies the strength of the recoil impulse of the first shot by this amount</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Resist</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the recoil resistance strength</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Jumping Resist multiplier</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Multiplies the resistance by this amount while the user is jumping</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Injured Resist multiplier</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Multiplies the resistance by this amount when a player gets injured.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Crouching resist multiplier</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Multiplies the resistance by this amount while the user is crouching</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Scoped resist multiplier</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Multiplies the resistance by this amount while the user is scoped (sniper rifle, iron sights, etc.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Recovery</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets the speed of recovery (setting to zero disables recovery)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 146px;">
				<p>
					<span>Aimpoint Static </span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 114px;">
				<p>
					<span>false </span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 578px;">
				<p>
					<span>Sets if the recoil recovery point won't shift when the recoil hits the edge of the recoil circle/arc.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	<span> </span>
</p>
]]></description><guid isPermaLink="false">4</guid><pubDate>Fri, 24 Dec 2021 01:47:41 +0000</pubDate></item><item><title>Scripts 5.0 Public Changelog</title><link>https://w3dhub.com/forum/documentation/articles/scripts-50-public-changelog-r5/</link><description><![CDATA[<h4>
	<strong>Current public <abbr title="Red Alert: A Path Beyond">APB</abbr> build:</strong> <a data-anchor="APB" data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="APB" href="#Scripts5.0PublicChangelog-APB" rel="">Jul 20 2019</a><br>
	<strong>Current public <abbr title="Tiberian Sun: Reborn">TSR</abbr> build:</strong> <em>&lt;old as shit&gt;</em>
</h4>

<h4>
	Oct 28 2019
</h4>

<ul>
	<li>
		Added a replacement for the help screen, based off the old Renegade in-game encyclopedia from it's single player mode.
		<ul>
			<li>
				Toggleable via tt.ini
			</li>
			<li>
				Will show everything in MP, in SP will use older unlock logic.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Oct 27 2019
</h4>

<ul>
	<li>
		Overhaul of the muzzle logic, which allows for 26 different muzzle 'sets', each with a varying number of muzzle bones.
		<ul>
			<li>
				Added options in the weapons to choose which muzzle sets a weapon uses, ideal for swapping weapons in a vehicle.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Oct 14 2019
</h4>

<ul>
	<li>
		Added orthographic camera toggle to the view menu in Mammoth. Has some edge cases where object selection might not work as expected, otherwise fully functional.
	</li>
	<li>
		Added roll/pitch/yaw and orthographic view size to "Goto Location" (Ctrl+G)
	</li>
	<li>
		Fixed editing objects that have non-zero X/Y rotation (previously, double-clicking on an object and pressing OK without any changes would rotate them in a weird way).
		<ul>
			<li>
				Enabled X/Y rotation edit fields.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Oct 09 2019
</h4>

<ul>
	<li>
		New radar option: shows objects close to player and all allies regardless of distance.
		<ul>
			<li>
				ROM_Map script can set this new option:<br>
				0 = Show everything<br>
				1 = Show only close to player<br>
				2 = Show close to player and allies
			</li>
		</ul>
	</li>
</ul>

<h4>
	Oct 08 2019
</h4>

<ul>
	<li>
		<p>
			Scaling for proxied objects and infantry
		</p>

		<ul>
			<li>
				<p>
					Any proxy object in Max that has<code> $ </code>as its first character will make use of the scaling information in the Max object (e.g setting the proxied object to have 200% XYZ scaling will make the object 2x as big when the level is loaded)
				</p>
			</li>
			<li>
				Soldier presets have a new<code> ModelScale </code>setting. The camera height and origin offset will automatically scale with it.
			</li>
			<li>
				<strong>IMPORTANT</strong>:
				<ul>
					<li>
						Only uniform scales are supported for now (same scale on all axes). Non-uniform scales will <em>seem</em> like they're working, but they will introduce subtle bugs!
					</li>
					<li>
						Non-mesh objects (e.g. zones) are untested and unlikely to work.
					</li>
					<li>
						Animated or otherwise moving/dynamic meshes (e.g. elevators, shatterable windows) are untested.
					</li>
				</ul>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Oct 07 2019
</h4>

<ul>
	<li>
		Mouse steering improvements:
		<ul>
			<li>
				Added a new flag to Controls that allows users to select whether they want mouse steering on VTOLs. Only affects vehicles that had mouse steering enabled in Mammoth (i.e things like <abbr title="Red Alert: A Path Beyond">APB</abbr> Subs won't be affected)
			</li>
			<li>
				VTOLs with mouse steering can disable steering while holding the "Cursor Targeting" key (default is V), this allows them to look around without moving. Steering and strafing reverts to the keyboard-only versions while this button is held.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Sep 30 2019
</h4>

<ul>
	<li>
		<p>
			Mammoth's "Export String Table" and "Import Tab Delimited" functions (English-only strings import/export) can now correctly handle newlines and other special characters.
		</p>
	</li>
	<li>
		<p>
			Added functionality to add new key actions to the game after release.
		</p>

		<ul>
			<li>
				<p>
					<code>default_input.cfg</code> gains a new section called "New Actions". The entries are of the format <code>ActionName=BuildNumber</code>, where <code>ActionName</code> is something like <code>Jump</code> or <code>VehicleToggleGunner</code> and <code>BuildNumber</code> is the scripts build number in which the new action was introduced to the game (e.g. 10753).
				</p>
			</li>
			<li>
				<p>
					The engine saves its current build number into the config.dat file, separately for each every input config. It can then compare the saved build number to the entries in "New Actions" to determine whether those were added since the last time the player has played the game.
				</p>
			</li>
			<li>
				<p>
					The new actions will automatically be bound to their specified default keys. The player will then receive an ingame-notification of the new action. If none of the default keys could be bound due to conflicts with existing keybindings, the notification will say so and direct the player towards the controls menu.
				</p>
			</li>
			<li>
				<p>
					New strings.tdb entries:<br>
					<code>IDS_VERSIONED_KEYBINDS_TITLE</code>: Title of the message window<br>
					<code>IDS_VERSIONED_KEYBINDS_SUCCESS</code>: Message when default keys were successfully bound<br>
					<code>IDS_VERSIONED_KEYBINDS_CONFLICT</code>: Message on failure due to conflicts<br>
					<code>IDS_FUNCTION_VEHICLE_TOGGLE_GUNNER</code>: Translated name of the new action that was already introduced ages ago. Used for toggle gunner, CTOL landing gear toggle, jetpack toggle.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Sep 29 2019
</h4>

<ul>
	<li>
		64 bit builds of the engine (and editor, tools) are now officially supported, can be downloaded manually via Jenkins
	</li>
</ul>

<h4>
	Sep 23 2019
</h4>

<ul>
	<li>
		Made light solve pass through translucent meshes (alpha test/blend). This usually improves lighting, makes it possible to decrease excessive fake lighting inside windowed buildings.
	</li>
	<li>
		<p>
			New console command <code>DEBUG_SHOW_DISTANCE</code>: Shows the distance to the surface under the crosshair in the top right.
		</p>
	</li>
</ul>

<h4>
	Sep 21 2019
</h4>

<ul>
	<li>
		Spectators no longer take damage from scripts and zones.
	</li>
	<li>
		Spectators no longer get blinded by the gap generator.
	</li>
	<li>
		<p>
			Added four new console commands to show bounding boxes:
		</p>

		<ul>
			<li>
				<p>
					<code>CULL_SHOW_BUILDING_BOXES</code> for buildings
				</p>
			</li>
			<li>
				<p>
					<code>CULL_SHOW_SOUND_BOXES</code> for sounds
				</p>
			</li>
			<li>
				<p>
					<code>CULL_SHOW_PROJECTILE_BOXES</code> for projectiles
				</p>
			</li>
			<li>
				<p>
					<code>CULL_SHOW_PHYS_BOXES</code> <code>&lt;type&gt;</code> for physical objects.<code> &lt;type&gt;</code> is a bitmask and can be specified with either decimal or hexadecimal numbers (with 0x prefix). This means you can add the values in the table below to display multiple types at once.
				</p>

				<table>
					<colgroup>
						<col>
						<col>
						<col>
					</colgroup>
					<tbody>
						<tr>
							<th>
								Value
							</th>
							<th>
								Color
							</th>
							<th>
								Type
							</th>
						</tr>
						<tr>
							<td>
								1
							</td>
							<td>
								Magenta-ish <span style="color:#ff00ff">♦</span>
							</td>
							<td>
								Emitters
							</td>
						</tr>
						<tr>
							<td>
								2
							</td>
							<td>
								Any Color <span style="color:#000000">♦</span>
							</td>
							<td>
								Static Objects (Elevators/Doors = Red, Damageable = Green)
							</td>
						</tr>
						<tr>
							<td>
								4
							</td>
							<td>
								Cyan-ish <span style="color:#00ffff">♦</span>
							</td>
							<td>
								Soldiers / Vehicles
							</td>
						</tr>
						<tr>
							<td>
								8
							</td>
							<td>
								Yellow-ish <span style="color:#ffff00">♦</span>
							</td>
							<td>
								Lights
							</td>
						</tr>
						<tr>
							<td>
								16
							</td>
							<td>
								Any Color <span style="color:#000000">♦</span>
							</td>
							<td>
								Projectiles
							</td>
						</tr>
						<tr>
							<td colspan="1">
								32
							</td>
							<td colspan="1">
								White <span style="color:#ffffff">♦</span>
							</td>
							<td colspan="1">
								<p>
									Others (Decorations, Pseudo-Vehicle Structures)
								</p>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
	<li>
		(Started work on 64 bit port of the engine)
	</li>
</ul>

<h4>
	Sep 19 2019
</h4>

<ul>
	<li>
		<code>IsDamageZone</code> weapons can hurt damageable static objects again (walls/gates).
	</li>
	<li>
		<p>
			Sniper zoom now works in 10 consistent steps (one step per mouse wheel tick). Previously it was framerate-dependent in a weird way.
		</p>
	</li>
</ul>

<h4>
	Sep 18 2019
</h4>

<ul>
	<li>
		<p>
			Modified barrel bone code to also take <code>BarrelBxx</code> bones (currently setto a maximum of 2 each)
		</p>
	</li>
</ul>

<h4>
	Sep 17 2019
</h4>

<ul>
	<li>
		<p>
			Jetpack physics fixes:
		</p>

		<ul>
			<li>
				<p>
					Added actual momentum to the calculations, should make jetpack flight behavior much more consistent (will need to fine tune the parameters though)
				</p>
			</li>
			<li>
				<p>
					Fixed the bouncy collisions, flight mode will simply make the model press and slide against surfaces (potential risk of getting stuck, but it's still better than the bouncy behavior)
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Underwater physics:
		</p>

		<ul>
			<li>
				<p>
					Moved functionality of <code>RA_Underwater_Target_Hider</code> to the engine (script zone now simply sets underwater state).
				</p>
			</li>
			<li>
				<p>
					Added opacity parameter to global water FX settings
				</p>
			</li>
			<li>
				Add a new Submerge Level setting to the "level settings" dialog and use it to determine when the submarine should submerge/surface. The current Water Level setting will be used to determine the surface of the water for the underwater tint, hurt unit script and underwater target hider.
			</li>
			<li>
				<p>
					Add <code>Underwater Damage Warhead</code>, <code>Underwater Damage Amount</code> and <code>Underwater Surface Type</code> to <code>Global Settings/General</code> in Mammoth. When an infantry or vehicle unit is underwater, every frame tick it will apply underwater damage using the warhead and amount values.
				</p>
			</li>
			<li>
				A soldier or vehicle is now considered underwater whenever it is below<code> Water Level </code>(level settings), but above a surface that has the type<code> Underwater Surface Type </code>(<code>Global Settings/General</code>, determined via raycast straight down).
			</li>
			<li>
				<p>
					Several bug fixes (ongoing...)
				</p>
			</li>
		</ul>
	</li>
	<li>
		Fixed W3DViewer not respecting camera alignment flags on meshes.
	</li>
</ul>

<h4>
	Sep 16 2019
</h4>

<ul>
	<li>
		Add second warhead to <code>JFW_EMP_New</code>
	</li>
</ul>

<h4>
	Sep 13 2019
</h4>

<ul>
	<li>
		<p>
			Integrated underwater skyblocker and fog into level settings, will apply globally to all vehicles that enter the water death zone (except ships and submarines)
		</p>
	</li>
</ul>

<h4>
	Sep 12 2019
</h4>

<ul>
	<li>
		<p>
			Made ammo with <code>IsDamageZone</code> ticked no longer "collide" with terrain or teammates.
		</p>

		<ul>
			<li>
				<p>
					This should allow using explosions or hitter effects for additional audio-visual feedback.
				</p>
			</li>
			<li>
				<p>
					Note that this means they no longer damage non-targetable things like walls.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Changed name of console command <code>TOGGLE_PROJ_BOUNDS</code> to <code>PROJ_BOUNDS_ENABLE</code>.
		</p>
	</li>
	<li>
		<p>
			Added console command <code>PROJ_SLOW_MODE &lt;velocity&gt;</code>. This will slow down time by a different amount for each projectile in order to make them hit a specific velocity in <code>m/s</code>.
		</p>
	</li>
</ul>

<h4>
	Sep 11 2019
</h4>

<ul>
	<li>
		Modified <code>JFW_Fog_Controller</code>, the script now only handles the <abbr title="Red Alert: A Path Beyond">APB</abbr> Gap Gen effect. Swimming infantry and submarine fog and skyblocker effects have been moved to the engine.
	</li>
</ul>

<h4>
	Sep 09 2019
</h4>

<ul>
	<li>
		<p>
			Moved the logic from <code>JFW_Swim_Script</code> into the human physics engine.
		</p>

		<ul>
			<li>
				<p>
					Can copy the script parameters into the physics definition to get the same behavior.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Sep 08 2019
</h4>

<ul>
	<li>
		<p>
			Added two flags to refinery building definition:
		</p>

		<ul>
			<li>
				<p>
					<code>PlayUnloadAnimationAfterDock</code>: If ticked, instead of playing the refinery's docking animation as the harvester docks, it instead only plays it after it's docked.
				</p>
			</li>
			<li>
				<code>RefineryUnloadMeshName</code>: Name of the mesh that the refinery dump code looks for so that an animation will play when a harvester docks (was hardcoded to "<code>REF_TIB_DUMP</code>").
			</li>
		</ul>
	</li>
	<li>
		<p>
			New submarine physics:
		</p>

		<ul>
			<li>
				<p>
					Implemented a new physics type for submarines, derived straight from VTOL, so the old settings will result in the same behavior
				</p>
			</li>
			<li>
				<p>
					The functionality from <code>JFW_Submarine</code> and related scripts are moved into the engine (not yet finished), so all visual FX will be handled on the client side, and all gameplay changes on the server side
				</p>
			</li>
			<li>
				<p>
					Added a new global parameter for levels to set the water level (default is <code>-1000</code>)
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Massively enhanced gatling logic
		</p>

		<ul>
			<li>
				<p>
					First person gatling weapons are now doable; use same bone names (<code>spin_barrel_0/spin_barrel_1</code>)
				</p>
			</li>
			<li>
				<p>
					Gatling logic now has a sound slot for a motor sound (<code>GatlingContinuousMotorSoundID</code>), that can be affected by the rotation speed, and a min and a max pitch (<code>GatlingMinimumContSoundPitch/GatlingMaximumContSoundPitch</code>)
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Sep 01 2019
</h4>

<ul>
	<li>
		Added new surface type <code>Laser</code> (needs new Max 2017 plugin)
	</li>
	<li>
		Enabled "lock vehicle camera to turret" option by default (for people who have never run the game before).
	</li>
</ul>

<h4>
	Aug 31 2019
</h4>

<ul>
	<li>
		Added optional frame interpolation to all grid texture mappers. Enable by adding <code>Interpolate=True</code> to the mapper arguments.
	</li>
</ul>

<h4>
	Aug 28 2019
</h4>

<ul>
	<li>
		Added wireframe mode to the renderer. Can be enabled globally in the editor and game (<code>R_WIREFRAME_ENABLE</code> console command).

		<ul>
			<li>
				Is internally available as a material property (so could be enabled for individual objects/passes), but is currently not exposed to mod developers (can be added on request or used for debug views).
			</li>
		</ul>
	</li>
	<li>
		Added MSAA setting to the View menu in Mammoth, now defaults to 4x instead of OFF (helps wireframe mode in particular).
	</li>
</ul>

<h4>
	Aug 27 2019
</h4>

<ul>
	<li>
		Some code changes to shader management (among other things like D3D resource leak fixes), project devs should regenerate the shader cache once (in Mammoth) to make live shader development easier for the coders.
	</li>
</ul>

<h4>
	Aug 26 2019
</h4>

<ul>
	<li>
		Added <code>ADDWEAPON</code> console command. Put player id and preset name and it adds an infinite ammo instance of that weapon to that player's current char class.
	</li>
</ul>

<h4>
	Aug 25 2019
</h4>

<ul>
	<li>
		Fixed Max 2017 plugin not exporting static sort level
	</li>
</ul>

<h4>
	Aug 22 2019
</h4>

<ul>
	<li>
		Fixed Max 2017 plugin not exporting smooth skinning flag
	</li>
	<li>
		VTOL engine flame bones no longer spin (use texture mappers instead)
	</li>
</ul>

<h4>
	Aug 20 2019
</h4>

<ul>
	<li>
		Significantly improved level export times:
		<ul>
			<li>
				Add some more detailed timing output to Artillery and Mammoth.
			</li>
			<li>
				Artillery's asset collection after Mammoth export is now roughly 50x faster, making artillery overhead overall negligible
			</li>
			<li>
				Reduced Mammoth level load time in batch mode by roughly 50% (disabled shader compiles and constant buffer creation)
			</li>
		</ul>
	</li>
	<li>
		Added option to do a light solve only for the objects currently visible in the Mammoth viewport to help lighting design iteration (available in menu and toolbar and via <code>Ctrl+Alt+L</code>)
	</li>
	<li>
		New weapon flags <code>GatlingCannotFireWhileWarmingUp</code> and <code>GatlingSpinningStopsDuringReload</code>
	</li>
</ul>

<h4>
	Aug 18 2019
</h4>

<ul>
	<li>
		Added spinning barrel weapon logic. New parameters <code>UseGattlingLogic, GattlingWarmUpTime, GattlingWarmDownMultiplier</code>
	</li>
</ul>

<h4>
	Aug 16 2019
</h4>

<ul>
	<li>
		Added toolbar to Mammoth
	</li>
	<li>
		Fixed loud sounds playing when loading into the game (by muting the sound ololol)
	</li>
</ul>

<h4>
	Aug 14 2019
</h4>

<ul>
	<li>
		Improved performance of debug visualizers (used for pathfind visualization in Mammoth, <code>TOGGLE_PROJ_BOUNDS</code> ingame, etc.)
	</li>
	<li>
		Added menu option to Mammoth to visualize the flight ceiling.
	</li>
	<li>
		<code>TOGGLE_PROJ_BOUNDS</code> now works in singleplayer games without the <code>tt.ini</code> entry (just like <code>EDIT_VEHICLE</code>, etc.)
		<ul>
			<li>
				Added shot direction indicator
			</li>
		</ul>
	</li>
	<li>
		<code>IsQuickCastAbility</code> weapon flag:
		<ul>
			<li>
				Fixed erroneous server-side weapon fire on vehicle enter/exit.
			</li>
			<li>
				Now works with vehicles
				<ul>
					<li>
						<code>ContinueReloadOnVehicleExit</code> in <code>tt.ini</code> must be false for this to really work (unless you want empty vehicles to just fire away)
					</li>
					<li>
						Attached turret vehicles check whether their parent vehicle is disabled (e.g. underground) before firing
					</li>
				</ul>
			</li>
		</ul>
	</li>
	<li>
		Added <code>IgnoreCollisionWithParentOfOwner</code> to ammo definitions. Use for attached turret vehicles to prevent misfire.
	</li>
	<li>
		<p>
			Added <code>IsDamageZone</code> to ammo definitions.
		</p>

		<ul>
			<li>
				<p>
					Instantly damages everything within a box of size <code>ProjectileExtent</code>
				</p>
			</li>
			<li>
				<p>
					Will spawn beam effects and explosions for every target hit <em>(not well-tested!)</em>
				</p>
			</li>
			<li>
				<p>
					<code>Range</code> is ignored, just set the <code>ProjectileExtent.X</code> value
				</p>
			</li>
			<li>
				<p>
					Box orientation affected by weapon spray/recoil
				</p>
			</li>
			<li>
				<p>
					Set velocity to something greater than 0 or it will not work
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Aug 13 2019
</h4>

<ul>
	<li>
		W3D Exporter: Fixed an issue with zero bone weights
	</li>
</ul>

<h4>
	Aug 11 2019
</h4>

<ul>
	<li>
		W3D Exporter: Fix issue where 2 materials with the same data but on different passes were incorrectly being combined into one material in the resulting w3d file
	</li>
	<li>
		Added a "MechWalker" script to simplify walkers. fix hitching and animation sliding/reversing issues
	</li>
</ul>

<h4>
	Aug 09 2019
</h4>

<ul>
	<li>
		For coders: Migration to Visual Studio 2019 and Windows 10 SDK
	</li>
</ul>

<h4>
	Aug 07 2019
</h4>

<ul>
	<li>
		<code>JFW_Kill_Message_Display </code><span style="color:#003366">can now use unicode character strings.</span>

		<ul>
			<li>
				<span style="color:#003366">It is suggested to move kill icons to the lower <a href="https://en.wikipedia.org/wiki/Private_Use_Areas" rel="external nofollow">Private Use Area </a>instead of replacing existing characters.</span>
			</li>
		</ul>
	</li>
	<li>
		<span style="color:#003366">Animations for special damage types:</span>
		<ul>
			<li>
				Fixed special death animations not playing at all
			</li>
			<li>
				Added special wounded animations (animation files already exist, just weren't hooked up to code)
			</li>
		</ul>
	</li>
</ul>

<h4>
	Aug 06 2019
</h4>

<ul>
	<li>
		Added menu option to W3DViewer to toggle specular lighting
	</li>
	<li>
		Added <code>R_SPECULAR_ENABLE</code> console command to toggle specular lighting
	</li>
</ul>

<h4>
	Aug 05 2019
</h4>

<ul>
	<li>
		New weapon preset flag <code>PBReloadUninterruptable</code>, means you can't interrupt the per-bullet reload (kind of using it more like a progress indicator)
	</li>
</ul>

<h4>
	Aug 04 2019
</h4>

<ul>
	<li>
		New special damage types <code>CHEM3/4/5</code> (respectively using emitters <code>e_tib_dump_b/e_tib_dump_r/e_tib_dump</code>)
	</li>
</ul>

<h4>
	Aug 03 2019
</h4>

<ul>
	<li>
		Mammoth strings editor now supports Unicode characters everywhere (including search)
	</li>
	<li>
		Added <strong>a lot </strong>of new strings to the database that were previously hardcoded
	</li>
	<li>
		JavaScript code now supports translations via string IDs
	</li>
	<li>
		Added a mesh user text option "<code>TwoSidedLightsolve=true</code>"
		<ul>
			<li>
				Fixes problems where e.g. a two-sided fence model would be either fully light or fully dark on both sides depending on whether the <em>actual</em> front side faces the light, leading to inconsistent appearance
			</li>
			<li>
				This option causes light solve to always pick the lighter result (dynamically lit models already work 100% correctly as if they had duplicated faces)
			</li>
			<li>
				Not recommended for more "3D" meshes with multiple layers like bushes, which want to be darker on the opposite side of the light source
			</li>
		</ul>
	</li>
	<li>
		The game no longer crashes when it can't find a <code>config.dat</code> (saves which input profiles exist and which one is selected)
		<ul>
			<li>
				You should no longer need to ship <code>config.dat</code> and <code>input01.cfg</code> in the <code>data/config</code> folder
			</li>
			<li>
				The only thing you need is a <code>default_input.cfg</code> in the always.dat
			</li>
		</ul>
	</li>
	<li>
		Fixed various bugs with the input profile Save/Load/Default buttons
	</li>
</ul>

<h4>
	Jul 25-27 2019
</h4>

<ul>
	<li>
		New features for strings editor in Mammoth:
		<ul>
			<li>
				Search by numeric ID, code ID and English string
			</li>
			<li>
				Import and export tab delimited string tables
			</li>
			<li>
				<p>
					Export Category and Import Category (the first one exports all the strings in a category to a tsv file including all the translations, the second one removes the category and all the strings in it and then loads all the strings from the tsv file)
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Language specific mix file support:
		</p>

		<ul>
			<li>
				<p>
					If folders named <code>french/german/spanish/chinese/japanese/korean</code> exist underneath the main leveledit folder, their contents will be exported to <code>*.dat</code> by the "export always" feature in Mammoth (artillery can also be made to export these by editing <code>artillery.json</code> and adding them in there just like you would with <code>always2.dat</code>)
				</p>
			</li>
			<li>
				<p>
					 
				</p>
				Mammoth will ignore the contents of these folders and not load their contents.
			</li>
			<li>
				<p>
					You create the folder for any languages you have and put language-specifc files (art and audio) in there. You should only put files in there that override files in the main always files and not files that dont exist in the main always files.
				</p>
			</li>
			<li>
				<p>
					When <code>strings.tdb</code> is loaded by the game, it will use the language set in the registry (<code>Language</code> key next to registry settings like <code>ClientChatLog</code> and <code>HighQualityShadows</code> with 0 = english, 1 = french, 2 = german, 3 = spanish, 4 = chinese, 5 = japanese and 6 = korean). If no translated string exists for that language it will use the English string.
				</p>
			</li>
			<li>
				<p>
					When the game starts, it will load the correct <code>.dat</code> file for the language set in the registry (should that file exist).
				</p>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jul 22 2019
</h4>

<ul>
	<li>
		Dynamically lit two-sided faces now calculate the proper inverted normal in the shader if viewed from the "back" side so that lighting appears fully correct
	</li>
</ul>

<p>
	<span>http://tacitus.w3dhub.com/plugins/servlet/confluence/placeholder/macro?definition=e2FuY2hvcjpBUEJ9&amp;locale=en_GB&amp;version=2</span>
</p>

<h4>
	Jul 17 2019<code> - <abbr title="Red Alert: A Path Beyond">APB</abbr> 3.4.1.0</code>
</h4>

<ul>
	<li>
		<p>
			Add a new flag <code>disable_armor</code> (off by default) to <code>dp88_veterancyUnit</code>. This will disable the code to change the shield/skin of the unit and is intended for vehicles that use <code>JFW_Veteran_Armor_Deploy</code> or other scripts to manage their armor.
		</p>
	</li>
</ul>

<h4>
	Jul 15 2019
</h4>

<ul>
	<li>
		Support numeric IDs in mammoth strings editor
		<ul>
			<li>
				Removed TDBEdit.exe as it is no longer needed
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jul 13 2019
</h4>

<ul>
	<li>
		<code>DamageableDoorPhys </code>can now have an Explosion instead of a sound effect.
	</li>
	<li>
		Added ability to load <code>dp88_Veterancy</code> system settings from a <code>veterancy.ini</code> file
		<ul>
			<li>
				<p>
					Example INI file:
				</p>

				<table data-macro-body-type="PLAIN_TEXT" data-macro-id="0b3ac308-5803-402a-84fe-1d974dd3fdbe" data-macro-name="code" data-macro-parameters="language=text" data-macro-schema-version="1" data-mce-resize="false">
					<tbody>
						<tr>
							<td>
								<pre>[Multipliers]
RookiePointsValue=1.0
VeteranPointsValue=1.1
ElitePointsValue=1.25

[Points]
UseCombinedPool=false
BoostPrice=1

[SwitchCharacter]
CarryOverPercent=0.6
;InfantryCarryOverPercent=0.5
;VehicleCarryOverPercent</pre>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jul 11 2019
</h4>

<ul>
	<li>
		Support for VTOL thrust vectoring for engine flames and engine rotation bones
	</li>
</ul>

<h4>
	Jul 10 2019
</h4>

<ul>
	<li>
		<code>DamageableDoorPhys</code> now supports a destruction animation and sound
	</li>
</ul>

<h4>
	Jul 08 2019
</h4>

<ul>
	<li>
		Added script MS_Destroyed_Remove_Key
	</li>
</ul>

<h4>
	Jul 07 2019
</h4>

<ul>
	<li>
		Fix players getting kicked by the anti-cheat when they connect during the score screen intermission between maps.
	</li>
	<li>
		Vehicles can now smoothly adjust their weapon barrel yaw towards their target (e.g. close vs far targets for multi-barreled vehicles)
		<ul>
			<li>
				Feature is enabled if bones named "<code>BarrelA0</code>, <code>BarrelA1</code>, ..." are found.
			</li>
			<li>
				New settings <code>WeaponYawRate/Min/Max</code>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jul 06 2019
</h4>

<ul>
	<li>
		Added <code>JFW_Spy_Beacon</code>* scripts for <abbr title="Tiberian Sun: Reborn">TSR</abbr> spy logic
	</li>
</ul>

<h4>
	Jul 05 2019
</h4>

<ul>
	<li>
		Changed the beacon explosion to do damage according to the building's armor type instead of the MCT's armor.
	</li>
	<li>
		The tabbed sidebar now has a separate tab for equipment.
	</li>
	<li>
		<p>
			Add a "moon is earth" checkbox to the "sky settings" dialog (this does the same thing as the existing <code>JFW_Moon_Is_Earth</code> script and will change the moon textures except that its easier than using the script).
		</p>
	</li>
	<li>
		<p>
			Add a menu item that reloads the per-map sky settings so you don't need to close and re-open your level every time you change the settings.
		</p>
	</li>
</ul>

<h4>
	Jul 04 2019
</h4>

<ul>
	<li>
		Added option to stop the recoil aimpoint from shifting when it reaches the top of the recoil size. This makes it more Battlefield-esque.
	</li>
</ul>

<h4>
	Jul 03 2019
</h4>

<ul>
	<li>
		The recoil resistance multiplier while you are in a scope now increases based on zoom level. At minimum zoom, it's just the amount set in the definition. At maximum zoom, the amount of resistance is doubled.
	</li>
	<li>
		<p>
			Combined the sound definition pitch settings with the ones you can set for humans and jetpacks. Both will now affect the pitch and its randomization (the former will change it each time the sound is instanced, the latter will set a fixed random offset for each human instance)
		</p>
	</li>
	<li>
		<p>
			Tweaked the recoil code and made it more customizable. Has separate resist and recovery settings again. Recovery can be turned off entirely by setting either the pattern size or the recovery strength to zero.
		</p>
	</li>
	<li>
		<p>
			Recoil resist now only counteracts the recoil impulse, it does not move aim back to the original target (see <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="Recoil" data-linked-resource-id="5898280" data-linked-resource-type="page" data-linked-resource-version="10" href="http://tacitus.w3dhub.com/display/WH/Recoil" rel="external nofollow">Recoil</a>)
		</p>
	</li>
	<li>
		Things that squish vehicles now also squish unsquishable soldiers.
	</li>
</ul>

<h4>
	Jul 02 2019
</h4>

<ul>
	<li>
		<p>
			Added <code>CMD_Kill_Message</code> and <code>CMD_Kill_Message_Display</code> scripts. Requires a more complicated killmessage ini file:
		</p>

		<ul>
			<li>
				<code>StringFormat=KillerPlayerString,KillerString,KillString,KilledPlayerString,KilledString</code> controls what the end result of the kill message is
			</li>
			<li>
				<code>PresetXStringIDKilledString, PresetXStringIDKillString</code> and <code>PresetXStringIDKillerString</code> replace <code>PresetXStringID</code>
			</li>
			<li>
				<code>PresetXStringIDKilledString</code> is for the killed player's object, like a tank
			</li>
			<li>
				<code>PresetXStringIDKillString</code> is for a snarky message, eg " put a dozen holes in "
			</li>
			<li>
				<p>
					<code>PresetXStringIDKillerString</code> is for the killer's object
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Added a "sprint multiplier" parameter to the Human physics definition, so now every definition can set a different sprint speed w.r.t their normal move speed.
		</p>

		<ul>
			<li>
				Sprinting is disabled completely if the multiplier is less than 1.0
				<p>
					 
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Sprinting now supports both looping and one-shot sounds
		</p>
	</li>
	<li>
		<p>
			Moved the sound pitch factor and randomization parameters to the physics definitions (human and jetpack).
		</p>
	</li>
</ul>

<h4>
	Jun 30 2019
</h4>

<ul>
	<li>
		Added <code>R_WATCH_SHADER</code> console command to recompile all instances if a shader file changes on disk.
	</li>
	<li>
		Improved performance of shadow rendering in some circumstances, particularly with stealth units
	</li>
</ul>

<h4>
	Jun 29 2019
</h4>

<ul>
	<li>
		Added command history to the console, using the up/down arrow keys.
	</li>
</ul>

<h4>
	Jun 28 2019
</h4>

<ul>
	<li>
		Moved recoil parameters from soldier and vehicle definitions to weapons
	</li>
</ul>

<h4>
	Jun 27 2019
</h4>

<ul>
	<li>
		New medic beacon logic script: <code>JFW_Medic_Case_Beacon</code>

		<ul>
			<li>
				Deploys an AoE healing beacon when the <code>Deploy</code> keyhook is pressed
			</li>
			<li>
				Can be disabled by enemy fire
			</li>
			<li>
				Can be picked back up by the medic
			</li>
			<li>
				Is destroyed if the medic dies
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jun 26 2019
</h4>

<ul>
	<li>
		Implemented lock on time for tracking weapons.
	</li>
	<li>
		<p>
			Implemented jumping sound slot for Soldiers, can be set in the human physics definition.
		</p>
	</li>
</ul>

<h4>
	Jun 25 2019
</h4>

<ul>
	<li>
		Ported vehicle squishing from <abbr title="Red Alert 2: Apocalypse Rising">AR</abbr> to 5.0
	</li>
	<li>
		Ion Storm script now also changes sky color
	</li>
	<li>
		Weapons can now have a custom weapon ready time from exiting sprint mode. If not set, it uses the default switching time as before.
	</li>
	<li>
		Fix projectiles with extensions so they don't pass through geometry if they spawn inside.
	</li>
	<li>
		Fixed bullets spawning behind the turret for certain types of vehicles.
	</li>
</ul>

<h4>
	Jun 24 2019
</h4>

<ul>
	<li>
		<p>
			Created new physics type <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="STOVL Aircraft" data-linked-resource-id="3211513" data-linked-resource-type="page" data-linked-resource-version="9" href="http://tacitus.w3dhub.com/display/WH/STOVL+Aircraft" rel="external nofollow">STOVL Aircraft</a>, which can switch between VTOL and CTOL physics. When using this physics definition, make sure to set the vehicle type to 'CTOL Aircraft'.
		</p>

		<ul>
			<li>
				<p>
					Switching between flight modes is done using the 'drop flag' command (currently not yet bindable in the menu, can be set in <code>input01.cfg</code> with <code>DropFlag_Primary=KEYNAME</code>)
				</p>
			</li>
			<li>
				<p>
					Switching from CTOL to VTOL is only allowed if the aircraft is within a certain threshold of rotation and angular velocity (i.e is not upside down or spinning too fast)
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jun 23 2019
</h4>

<ul>
	<li>
		Added <code>DamageableDoorPhys</code>, will fully open when destroyed, then swap model (animation is not easily possible)
	</li>
	<li>
		Fixes to fog object handling for <abbr title="Red Alert: A Path Beyond">APB</abbr> (underwater vision blocker)
	</li>
	<li>
		AI harvesters can now open locked doors
	</li>
	<li>
		Ported <code>CheckCanEnterParentOnEntry</code> vehicle def setting from <abbr title="Red Alert 2: Apocalypse Rising">AR</abbr> to 5.0
		<ul>
			<li>
				Checks whether the parent object of an attached vehicle (e.g. cruiser, battle fortress) is currently being controlled by the same team before allowing a player to enter.
			</li>
			<li>
				This does <em>not</em> prevent a player from entering the attached vehicle <em>first</em> and then an enemy to "hijack" the driver's seat in the parent object.
				<ul>
					<li>
						Changed some scripts to make the following sequence fully prevent mixed teams on the same combined vehicle:<br>
						1. On the parent object, set <code>DriverEnterCustom</code> on <code>dp88_CreateAttachedObject</code> to <code>68470001</code><br>
						2. Tick <code>CheckCanEnterParentOnEntry</code> on the attached vehicle preset<br>
						3. Add <code>CMD_Eject_On_Custom</code> to the attached vehicle with <code>EjectEnemiesOnly=true </code>and<code> ToggleVehicleTransitions=false</code>
					</li>
				</ul>
			</li>
		</ul>
	</li>
	<li>
		Ported objective markers from <abbr title="Red Alert 2: Apocalypse Rising">AR</abbr> to 5.0. See <code>AR_Obj_Marker_*</code> scripts and <code>[Objective Markers]</code> <code>hud.ini</code> section.
	</li>
</ul>

<h4>
	Jun 22 2019
</h4>

<ul>
	<li>
		Added <code>RequireCrouch</code> flag for weapons
	</li>
	<li>
		Added refinery hack logic to<code> dp88_buildingScripts_functionMoneyHack</code>, distributes half of the funds to enemies
	</li>
	<li>
		Add support for a visibility blocker object to the underground script.
		<ul>
			<li>
				Create a Simple object preset with <code>DefaultPlayerVisible</code> set to false and an appropriate model and assign it to the "blocker" param of the <code>SH_UndergroundVehicle</code> script.
			</li>
			<li>
				When the script is created, the blocker object is created at the <code>Origin</code> bone of the vehicle and then attached to that bone (because of <code>DefaultPlayerVisible</code> being false the blocker object is invisible).
			</li>
			<li>
				When the script is destroyed, the blocker object is also destroyed.
			</li>
			<li>
				When the vehicle goes underground, the blocker object is made visible for all occupants of the vehicle.
			</li>
			<li>
				When the vehicle surfaces, the blocker object is made invisible for all occupants of the vehicle.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jun 20 2019
</h4>

<ul>
	<li>
		Made next/prev weapon key modify spectator speed in freelook mode. Added maximum speed to Mammoth global settings (general), defaulting to 5.
	</li>
</ul>

<h4>
	Jun 19 2019
</h4>

<ul>
	<li>
		Added script <code>JFW_Attach_Script_Custom_Until_Custom</code>
	</li>
	<li>
		<code>dp88_RegenerateHitPoints</code>: accept float interval values
	</li>
</ul>

<h4>
	Jun 14 2019
</h4>

<ul>
	<li>
		Added support for XInput gamepads (XBox controller). Left/right stick axes are hard coded to move and look, everything else can be bound to actions in the controls menu as usual.
	</li>
	<li>
		Added "toggle gunner" input to options menu because it is used by aircraft and jetpacks.
	</li>
</ul>

<h4>
	Jun 13 2019
</h4>

<ul>
	<li>
		SSGM: Simple objects with encyclopedia type "Building" get <code>SSGM_Building</code> attached
	</li>
	<li>
		Anti-Aliasing setting can now be changed while ingame and applies immediately (except in exclusive fullscreen mode!)
	</li>
	<li>
		Shader developers can now recompile all shaders from disk using the <code>RESETSHADERS</code> console command (previously crashed the game)
	</li>
</ul>

<h4>
	Jun 12 2019
</h4>

<ul>
	<li>
		Implemented ingame editing dialogue for weapon recoil parameters: <code>EDIT_RECOIL</code>
	</li>
	<li>
		<p>
			Implemented ingame editing dialogue for humans and jetpack physics: <code>EDIT_HUMAN</code>
		</p>
	</li>
	<li>
		Jetpacks:
		<ul>
			<li>
				Added engine flame support (max. 4 bones, names starting with <code>ENGINEFLAME</code>)
			</li>
			<li>
				Added fuel parameter
			</li>
			<li>
				Added flag for temporarily enabling/disabling the use of jetpacks from scripts code
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jun 11 2019
</h4>

<ul>
	<li>
		EMP now affects <code>JFW_Deployable_MSA</code>.
	</li>
</ul>

<h4>
	Jun 09 2019
</h4>

<ul>
	<li>
		Flying infantry can now be locked on by tracking weapons.
	</li>
</ul>

<h4>
	Jun 08 2019
</h4>

<ul>
	<li>
		Moved vehicle turn radius parameter to wheeled vehicle physics definition (used by AI, fixes weird behavior with tracked vehicles that erroneously had non-0 turn radius set).
	</li>
</ul>

<h4>
	Jun 06 2019
</h4>

<ul>
	<li>
		<p>
			Added <code>AllowClientSpectators</code> boolean setting in tt.ini. Allows clients to use the <code>TOGGLE_SPECTATOR</code> console command on themselves (player ID not required).
		</p>
	</li>
</ul>

<h4>
	Jun 04 2019
</h4>

<ul>
	<li>
		<p>
			Added a stealth effect variant that is non-recursive, but has much better performance. Can be activated by setting <code>CheaperStealthEffect</code> to true in the object preset definition.
		</p>

		<ul>
			<li>
				<p>
					<em>Other</em> stealthed units won't be visible at all when looking through this effect, so use with care. Recommended for small and numerous objects (e.g. the <abbr title="Red Alert: A Path Beyond">APB</abbr> mines) where visual accuracy is less important and the performance impact is high.
				</p>
			</li>
		</ul>
	</li>
	<li>
		Ported a bunch of changes to JMG Utility scripts from 4.x to 5.0
	</li>
</ul>

<h4>
	Jun 03 2019
</h4>

<ul>
	<li>
		Added per-map <code>dazzle.ini</code> (<code><em>MAPNAME</em>_dazzle.ini</code>) and per-map sky textures to allow for more drastic differences in sun/moon appearance

		<ul>
			<li>
				<p>
					New sky texture settings in <code><em>MAPNAME</em>_map.ini:</code>
				</p>

				<table data-macro-body-type="PLAIN_TEXT" data-macro-id="d939b081-3b3f-4756-8968-53a6c8597a56" data-macro-name="code" data-macro-schema-version="1" data-mce-resize="false">
					<tbody>
						<tr>
							<td>
								<pre>[SkyTextures]
StarTexture=Star.tga
LightningTexture=LightningBolt.tga
LightningSource=LightningSource.tga
SunTexture=Sun.tga
SunHaloTexture=SunHalo.tga
MoonHaloTexture=MoonHalo.tga
CloudTexture=CloudLayer.tga</pre>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
	<li>
		Add new surface types Blue Tiberium, Red Tiberium and Tiberium Veins for <abbr title="Tiberian Sun: Reborn">TSR</abbr>.
	</li>
	<li>
		Texture quality and filtering settings can now be changed while ingame and apply immediately
	</li>
</ul>

<h4>
	Jun 02 2019
</h4>

<ul>
	<li>
		Implemented soft flight ceiling for jetpacks
	</li>
</ul>

<h4>
	Jun 01 2019
</h4>

<ul>
	<li>
		Changed <code>JFW_EMP_New</code><span style="color:#003366"> to <em>not</em> do friendly fire</span>
	</li>
	<li>
		AI using splash against infantry will now target swimming infantry directly (splash causes them to miss)
	</li>
</ul>

<h4>
	May 31 2019
</h4>

<ul>
	<li>
		Added ability for semi-automatic ammo types (where you must click after every shot). Arthritis ho!
	</li>
	<li>
		Implemented a form of aim-assist on weapons where the ammo uses <code>AutoAdjustMuzzlesOnEnemyTarget</code>. Muzzles will be adjusted to an estimated distance for a fixed time after losing the target.
	</li>
</ul>

<h4>
	May 30 2019
</h4>

<ul>
	<li>
		Fixed weapon burst fire behavior
	</li>
	<li>
		Fixed MSAA not working on very old GPUs (D3D feature level 10.0)
	</li>
	<li>
		Added EMP effect texture support (<code>REN_emp.dds</code>), controlled by <code>JFW_EMP_New</code>
	</li>
</ul>

<h4>
	May 29 2019
</h4>

<ul>
	<li>
		Added reverse torque scaling setting to tracked vehicles (allows setting a limit on how fast they can reverse)
	</li>
	<li>
		Added <code>ION</code> console command to test the <code>Ion_Storm_New</code> script
	</li>
</ul>

<h4>
	May 28 2019
</h4>

<ul>
	<li>
		Option to clear light solve data in Mammoth (check the option, save and reload!)
	</li>
</ul>

<h4>
	May 27 2019
</h4>

<ul>
	<li>
		Moved functionality of<code> IJ_Aircraft_Landing_Gear </code>into aircraft phys definition.
	</li>
</ul>

<h4>
	May 26 2019
</h4>

<ul>
	<li>
		<p>
			Added a sprint sound option to human phys def
		</p>
	</li>
	<li>
		Added flag that tracks which team the user is on, can be accessed from JS to create per team HUDs.
	</li>
</ul>

<h4>
	May 22 2019
</h4>

<ul>
	<li>
		<p>
			Editor Combat Simulator now takes per bullet reload weapons into account.
		</p>
	</li>
	<li>
		Editor Combat Simulator now takes range (damage falloff) and whether you want to target a building's MCT into account.
	</li>
	<li>
		Added new human physics for flying infantry (<code>JetpackPhys</code>)
	</li>
</ul>

<h4>
	May 20 2019
</h4>

<ul>
	<li>
		<p>
			Added ability to dynamically set targetability (visual target boxes around object)
		</p>

		<ul>
			<li>
				<p>
					Also added ability to make a target untargetable by enemies.
				</p>
			</li>
			<li>
				<p>
					Added script for <abbr title="Red Alert: A Path Beyond">APB</abbr> to allow submarines and such to be untargetable by enemies if submerged (<code>RA_Underwater_Target_Hider</code>)
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	May 19 2019
</h4>

<ul>
	<li>
		Script parameters are no longer limited to 256 characters total (and won't currupt objects.ddb anymore...)
	</li>
	<li>
		Added version check to objects.ddb so that a file saved with a newer version of Mammoth will show a warning when opened with an older version of Mammoth (prevents crashes and file corruption in rare circumstances)
	</li>
</ul>

<h4>
	May 18 2019
</h4>

<ul>
	<li>
		Added <code>CMD_Supply_Truck_Miner</code> which adds a more "Generals-y" version of the miner, which can go to a docking area, drive in, collect the goods, drive out then do the same sort of thing at the refinery.

		<ul>
			<li>
				<p>
					It requires on the refinery zone and ore zone 2 waypaths each, one for entering and one for exiting. On the zones themselves (as in the actual instantiated zones), you will need to add the <code>CMD_Supply_Zone_Waypath</code> script, and put the waypath IDs for the entry and exit waypaths into it.
				</p>
			</li>
			<li>
				<p>
					Also added a new scripting command; <code>Does_Waypath_Exist</code>. Put the waypath ID in as a parameter and it will return whether it exists or not.
				</p>
			</li>
			<li>
				<p>
					Slightly shortened <code>Drive_Forwards_Into_Dump_Zone</code> into <code>Dump_Forwards</code>.
				</p>
			</li>
			<li>
				Added <code>CMD_Supply_Dropoff_Animation_Zone</code>, which allows a simple object to run an animation when a supply truck arrives at an ore zone.
			</li>
		</ul>
	</li>
	<li>
		Error log contents are now deleted on first write so we don't end up with 100s of MBs of logs after a while.
	</li>
	<li>
		Added 'Host bone offset' vector to PhysicalGameObj, and a scripts function <code>Set_Host_Bone_Offset()</code>. Makes it possible to attach an object to a bone with a fixed offset without requiring a bone.
	</li>
</ul>

<h4>
	May 15 2019
</h4>

<ul>
	<li>
		<p>
			Added extra parameter to <code>dp88_Ore_Miner: Drive_Forwards_Into_Dump_Zone</code>
		</p>
	</li>
	<li>
		Added team parameter to <code>JMG_Utility_Apply_Damage_While_In_Zone</code>
	</li>
	<li>
		Fixed the muzzle flash bug, transitions (switching camera, sniping, etc) no longer cause a muzzle flash to go off for no reason.
	</li>
</ul>

<h4>
	May 13 2019
</h4>

<ul>
	<li>
		<p>
			Added configurable Stealth on/off SoundIDs to global settings
		</p>
	</li>
</ul>

<h4>
	Mar 07 2019
</h4>

<ul>
	<li>
		<p>
			Added damage by poke script pair: <code>MS_Damage_By_Poke_Poker, MS_Damage_By_Poke_Target</code>
		</p>
	</li>
</ul>

<h4>
	May 06 2019
</h4>

<ul>
	<li>
		<p>
			Added ability to choose which vehicle types an ammotype can track. This is based on the internal type of vehicle, set on a vehicle's Settings tab.
		</p>
	</li>
</ul>

<h4>
	May 05 2019
</h4>

<ul>
	<li>
		<p>
			Added ability to visualise the projectile bounds in game with the <code>Toggle_Proj_Bounds</code> console command. NOTE: Cannot be toggled without adding <code>AllowDebugVisualisation = true</code> in <code>TT.ini</code>
		</p>
	</li>
	<li>
		Added a parameter to weapons, <code>CannotFireWithoutLock</code> which means that weapon cannot fire without a tracking lock-on (if the ammo it is trying to fire can track)
	</li>
</ul>

<p>
	 
</p>

<h4>
	Apr 21 2019<code> — <span><span><abbr title="Red Alert: A Path Beyond">APB</abbr> 3.4.0.0</span></span></code>
</h4>

<ul>
	<li>
		<p>
			Added <code>CMD_Repair_Zone_Anim</code>, which will run animations on the service depot nearest this zone (so ideally the zone that spawned it)
		</p>
	</li>
</ul>

<h4>
	Apr 18 2019
</h4>

<ul>
	<li>
		<p>
			Vehicles can now have multiple ejection ports, named under the same scheme as the muzzle bones. Eg. <code>MuzzleA0</code> should have <code>EjectA0</code>, <code>MuzzleB2</code> should have <code>EjectB2</code>, etc.
		</p>

		<ul>
			<li>
				<p>
					If the secondary fire mode is being used and the game can't find an <code>EjectB</code> bone, it'll look for the equivalent <code>EjectA</code> bone.
				</p>
			</li>
			<li>
				<p>
					If any numbered bones can't be found, it'll look for a simple <code>Eject</code> bone. If it can't find that, it won't bother.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Apr 17 2019
</h4>

<ul>
	<li>
		<p>
			Modified continuous emitters and weapon code to use a rough estimate for particle travel time (stops them from going through walls)
		</p>
	</li>
	<li>
		Merged "Gunplay" branch into 5.0, tons of new stuff available, in particular detailed recoil controls.
	</li>
</ul>

<h4>
	Mar 31 2019
</h4>

<ul>
	<li>
		<p>
			Vehicle doors now open for bots too
		</p>
	</li>
</ul>

<h4>
	Mar 20 2019
</h4>

<ul>
	<li>
		<p>
			Various improvements to dynamic lighting, now actually uses the light intensity value and is consistent with the calculations of light-solve
		</p>
	</li>
</ul>

<h4>
	Mar 16 2019
</h4>

<ul>
	<li>
		<p>
			Made <code>Ranged_Damage_To_Buildings</code> and related scripts functions use the same logic as the beacon for scaling the damage: Find the closest hit geometry polygon.
		</p>

		<ul>
			<li>
				<p>
					Previously, the building controller position was used, which caused inconsistency between nukes and demos/MADs and unintuitive behavior for large buildings
				</p>
			</li>
			<li>
				<p>
					Take note that underground geometry can be hit and might be closer to the explosion than intended!
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Mar 15 2019
</h4>

<ul>
	<li>
		<strong>First public release of Max 2017 export tools!</strong>
	</li>
</ul>

<h4>
	Mar 14 2019
</h4>

<ul>
	<li>
		Implemented multiple target bones and compatibility with tracking weapons. They will lock onto the tracking bone closest to where the user is aiming. Bone names are all that start with <code>TARGET</code>.
	</li>
	<li>
		<p>
			Added specular lighting.
		</p>

		<ul>
			<li>
				<p>
					Material setup: Set specular colour in the Material Editor and shininess to a value between 1 and 1000. Lower values will cause the specular reflection to be very wide angled and diffuse, higher values will show up very tight and pinpoint.
				</p>
			</li>
			<li>
				<p>
					To enable, create a new ini called RendererFeatures.ini and put these two lines in it (also put this in the W3DViewer folder):
				</p>

				<table data-macro-body-type="PLAIN_TEXT" data-macro-id="bcdc8036-81b5-421b-bfb9-a2ab1d22705f" data-macro-name="code" data-macro-schema-version="1" data-mce-resize="false">
					<tbody>
						<tr>
							<td>
								<pre>[RendererFeatures]
SpecularEnabled=true</pre>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			<strong>W3DViewer</strong>
		</p>

		<ul>
			<li>
				<p>
					Display camera and poly values, animation frames and FPS.
				</p>
			</li>
			<li>
				<p>
					Implemented "Copy Screen Size To Clipboard"
				</p>
			</li>
			<li>
				<p>
					Implemented "Generate LOD"
				</p>
			</li>
			<li>
				<p>
					Implemented "Record Screen Area"
				</p>
			</li>
			<li>
				<p>
					Implement "Import Facial Anims"
				</p>
			</li>
			<li>
				<p>
					Keyboard shortcuts for animation commands:
				</p>

				<table>
					<colgroup>
						<col>
						<col>
					</colgroup>
					<tbody>
						<tr>
							<th>
								<p>
									Key
								</p>
							</th>
							<th>
								<p>
									Action
								</p>
							</th>
						</tr>
						<tr>
							<td>
								<p>
									<code>P</code>
								</p>
							</td>
							<td>
								<p>
									Play
								</p>
							</td>
						</tr>
						<tr>
							<td>
								<p>
									<code>Space</code>
								</p>
							</td>
							<td>
								<p>
									Pause/Resume
								</p>
							</td>
						</tr>
						<tr>
							<td>
								<p>
									<code>S</code>
								</p>
							</td>
							<td>
								<p>
									Stop
								</p>
							</td>
						</tr>
						<tr>
							<td>
								<p>
									<code>Left/Right Arrow</code>
								</p>
							</td>
							<td>
								<p>
									Step Back/Forwards
								</p>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Mar 10 2019
</h4>

<ul>
	<li>
		"Prelit" is now a mesh flag instead of a user text addition in the new Max 2017 export tools.
	</li>
</ul>

<h4>
	Mar 08 2019
</h4>

<ul>
	<li>
		Added new physics flag <code>SmoothTurning</code> for tracked vehicles and walkers that allows them to have smoother steering.
	</li>
</ul>

<h4>
	Mar 05 2019
</h4>

<ul>
	<li>
		Allow the JS hud to use .ttf fonts. This requires setting a font name in hud.ini, as well as defining a <code>FontSize</code> for that element.
	</li>
</ul>

<h4>
	Mar 03 2019
</h4>

<ul>
	<li>
		Changed maximum client→server net update rate (<code>NUR</code>) from 30 to 75.
	</li>
</ul>

<h4>
	Feb 26 2019
</h4>

<ul>
	<li>
		Added new script <code>CMD_Eject_On_Custom</code> to force the driver and any passengers to eject from a vehicle on custom <code>68470001</code> <code>(CMD_CUSTOM_EJECT)</code>.
	</li>
</ul>

<h4>
	Feb 21 2019
</h4>

<ul>
	<li>
		Added <code>TOGGLE_SPECTATOR &lt;playerid&gt;</code> console command (host only).
	</li>
</ul>

<h4>
	Feb 18 2019
</h4>

<ul>
	<li>
		Reimplemented untrack timer for tracking weapons. Last ammo fired (primary/secondary) will be used for the tracking logic.
	</li>
</ul>

<h4>
	Feb 17 2019
</h4>

<ul>
	<li>
		Added new console command, <code>ADDWEAPONS &lt;playerid&gt;</code>. This adds all the weapons that have the flag <code>AGiveWeaponsWeapon</code> set in them. Useful for testing things.
	</li>
	<li>
		Also added the ability for ejected shotgun shells to have a different sound when they hit the ground. Use flag <code>EjectIsShotgunShell</code> in the weapon.
	</li>
</ul>

<h4>
	Feb 16 2019
</h4>

<ul>
	<li>
		Improved weather system (snow in particular):
		<ul>
			<li>
				Fixed flickering/Z-fighting for surface-aligned particles (snow that has hit the ground)
			</li>
			<li>
				Surface-aligned particles can now be seen from the other side of a window
			</li>
			<li>
				Particles outside of the view cone are skipped during render processing
			</li>
			<li>
				Maximum particle count can now be configured in <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="tt.ini" data-linked-resource-id="721074" data-linked-resource-type="page" data-linked-resource-version="2" href="http://tacitus.w3dhub.com/display/WH/tt.ini" rel="external nofollow">tt.ini</a> (can also be set per-map using <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="xxx_tt.ini" data-linked-resource-id="721072" data-linked-resource-type="page" data-linked-resource-version="1" href="http://tacitus.w3dhub.com/display/WH/xxx_tt.ini" rel="external nofollow">xxx_tt.ini</a>): <code>MaxWeatherParticles</code> (default <code>10000</code>)
				<ul>
					<li>
						Set with care, this can affect performance significantly at higher densities
					</li>
				</ul>
			</li>
			<li>
				Reduced performance impact of excessive density settings, but still: <em>Don't do that!</em>
				<ul>
					<li>
						Performance deteriorates when moving quickly, can also freeze the game for a bit on teleport/respawn
					</li>
					<li>
						Check whether particle count is at maximum via <code>r_stats</code> console command ingame, reduce density accordingly (maximum might not be hit exactly)
					</li>
				</ul>
			</li>
		</ul>
	</li>
	<li>
		Improved roll response of aircraft mouse steering. <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="CTOL Aircraft" data-linked-resource-id="3211497" data-linked-resource-type="page" data-linked-resource-version="23" href="http://tacitus.w3dhub.com/display/WH/CTOL+Aircraft" rel="external nofollow">CTOL Aircraft</a> has a new parameter "Roll Auto-Leveling Anti-Wobble" that will allow you to tune the auto-leveling separately.
	</li>
	<li>
		Made aircraft lift scale down towards 0 when rolling the plane upside down instead of always working 100% towards the top of the plane
	</li>
</ul>

<h4>
	Feb 15 2019
</h4>

<ul>
	<li>
		Added active brakes for <a data-content-title="MotorVehicle" data-linked-resource-default-alias="MotorVehicle" href="#" rel="">MotorVehicle</a> physics model (used by <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="Wheeled Vehicles" data-linked-resource-id="3211523" data-linked-resource-type="page" data-linked-resource-version="2" href="http://tacitus.w3dhub.com/display/WH/Wheeled+Vehicles" rel="external nofollow">Wheeled Vehicles</a>), new parameter <code>BrakeStrength</code>. Press crouch or jump to trigger.
	</li>
	<li>
		Fixed the sound engine not getting the correct length of pitch shifted sounds (noticeable on Jukeboxes with pitch shifted songs)
	</li>
</ul>

<h4>
	Feb 14 2019
</h4>

<ul>
	<li>
		DeadFactoryHarvesterSpawn setting on the vehicle factory now respects the SpawnDelay of the spawners
	</li>
</ul>

<h4>
	Feb 13 2019
</h4>

<ul>
	<li>
		Changed vehicle engine sound pitch shift behavior for various vehicles. VTOLs and planes now use thrust, tracked vehicles use torque.
	</li>
	<li>
		Improved "fake HDR" rendering for the sun
		<ul>
			<li>
				May require changes in dazzle.ini and/or better dazzle textures since they weren't as visible before.
			</li>
		</ul>
	</li>
</ul>

<h4>
	Feb 12 2019
</h4>

<ul>
	<li>
		<p>
			JFW_Airstrip_Reload_Zone now forces the plane to reload when it lands
		</p>
	</li>
	<li>
		Aircraft advanced controls (keyboard) now enable FollowVehicleOrientation on the camera profile so you don't have to take your hands off the keyboard (see <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="cameras.ini" data-linked-resource-id="721085" data-linked-resource-type="page" data-linked-resource-version="18" href="http://tacitus.w3dhub.com/display/WH/cameras.ini" rel="external nofollow">cameras.ini</a>)
	</li>
	<li>
		Added command line option to specify light solve thread count in Mammoth: <code>--light-solve-threadcount X</code>
		<ul>
			<li>
				Use 1 if you consistently run into weird issues like infinite loops or light solve timeout
			</li>
			<li>
				<p>
					artillery.json can pass the argument to mammoth by adding it in the "export options" section
				</p>

				<table data-macro-body-type="PLAIN_TEXT" data-macro-id="4560312e-94af-4dc4-997c-6671e2308a9b" data-macro-name="code" data-macro-schema-version="1" data-mce-resize="false">
					<tbody>
						<tr>
							<td>
								<pre>"export_options": {
	"SOME_LEVEL.lvl": "--light-solve-threadcount 1",
},</pre>
							</td>
						</tr>
					</tbody>
				</table>

				<p>
					 
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Feb 11 2019
</h4>

<ul>
	<li>
		Fixed JFW_Airstrip_Sell_Vehicle allowing more than one sale of the same vehicle if you spammed the key
	</li>
	<li>
		Improved aircraft mouse steering by implementing a PID controller
		<ul>
			<li>
				4 new tunable parameters per rotation axis (see <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="CTOL Aircraft" data-linked-resource-id="3211497" data-linked-resource-type="page" data-linked-resource-version="23" href="http://tacitus.w3dhub.com/display/WH/CTOL+Aircraft" rel="external nofollow">CTOL Aircraft</a>, use edit_vehicles ingame)
			</li>
			<li>
				Reduces oversteering/wobbling and allows the steering to overcome potential pushback from the physics
			</li>
		</ul>
	</li>
</ul>

<h4>
	Feb 09 2019
</h4>

<ul>
	<li>
		Added facilities for ingame GPU &amp; CPU statistics. Use console command R_STATS to toggle display.
	</li>
</ul>

<h4>
	Feb 08 2019
</h4>

<ul>
	<li>
		Players can now exit planes that have safely landed anywhere on the map
	</li>
	<li>
		Added MenuPushedColor in <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="hud.ini" data-linked-resource-id="721076" data-linked-resource-type="page" data-linked-resource-version="20" href="http://tacitus.w3dhub.com/display/WH/hud.ini" rel="external nofollow">hud.ini</a> to set the color of pushed buttons in menus
	</li>
</ul>

<h4>
	Feb 07 2019
</h4>

<ul>
	<li>
		Changed CTOL flight ceiling behavior and added three new parameters in <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="CTOL Aircraft" data-linked-resource-id="3211497" data-linked-resource-type="page" data-linked-resource-version="23" href="http://tacitus.w3dhub.com/display/WH/CTOL+Aircraft" rel="external nofollow">CTOL Aircraft</a>: Buffer Zone, Z-Velocity Threshold and Thrust Loss
	</li>
</ul>

<h4>
	Feb 06 2019
</h4>

<ul>
	<li>
		Projectiles can now have an animation. The flag C4Animation is now ProjectileAnimation and enables it.
		<ul>
			<li>
				Export the projectile as a Hierarchical Animated Model and tick the box
			</li>
		</ul>
	</li>
	<li>
		Fixed crouch movement speed, implemented option for crouch toggling
	</li>
</ul>

<h4>
	Feb 05 2019
</h4>

<ul>
	<li>
		Weapon settings: Removed "auto-switch to last weapon when fired" logic from IsQuickCastAbility, moved it to its own setting "AutoSwitchOnFire"
	</li>
	<li>
		Fixed the ore truck never spawning again when it is destroyed before taken over by the refinery (or when WF dies while delivering and DeadFactoryHarvesterSpawn is enabled)
	</li>
</ul>

<h4>
	Feb 01 2019
</h4>

<ul>
	<li>
		Added an option to take all screenshots without the HUD regardless of whether it's globally enabled
		<ul>
			<li>
				Toggle ingame using HUD_DURING_SCREENSHOT console command (faster typing: "HUD" + Tab + Enter), also gets saved between sessions in game.cfg
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jan 31 2019
</h4>

<ul>
	<li>
		Bots can now detect enemies on radar
	</li>
	<li>
		Bots can now respond to killing enemies (section <code>[EventKiller]</code> in <code>bot_config.cfg</code>, analogous to <code>[EventKilled]</code>)
	</li>
	<li>
		<p>
			Mammoth: Added buttons for testing pitch factor and pitch randomization to the "Play Sound" dialog (also fixed crash when closing this dialog)
		</p>
	</li>
	<li>
		<p>
			Mammoth: Added "Play Sound" button to the sound preset settings
		</p>
	</li>
	<li>
		Fixed weapon rate of fire timer resetting when sprinting or switching weapons. Allows weapons to have a lower switch delay than ROF interval without being abusable.
	</li>
</ul>

<h4>
	Jan 30 2019
</h4>

<ul>
	<li>
		<p>
			IJ_Aircraft_LandingZone_Aircraft now disables collision damage on aircraft within the landing zone <em>against everything except terrain</em>
		</p>
	</li>
	<li>
		Implemented crash landing for CTOL aircraft
	</li>
	<li>
		Fix ingame freezes and stuttering from superfluous shader compilation (particularly stealth shader)
	</li>
</ul>

<h4>
	Jan 27 2019
</h4>

<ul>
	<li>
		IJ_Aircraft_LandingZone_Aircraft now disables collision damage on aircraft within the landing zone
	</li>
	<li>
		Bots can now respond in chat to being killed, messages configurable via <code>bot_config.cfg </code>(which is an INI file in disguise)
		<ul>
			<li>
				New section <code>[EventKilled]</code>, entries <code>Enabled</code> <code>(int)</code>, <code>ResponseCount</code> <code>(int)</code> and <code>RespX</code> <code>(string)</code>, where <code>X</code> is an integer index
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jan 26 2019
</h4>

<ul>
	<li>
		Added CollisionDamageMultiplier to vehicles, does damage on collision with any other object
	</li>
	<li>
		Improved suspension physics behavior
	</li>
	<li>
		Added separate flight ceiling setting for CTOL aircraft
	</li>
</ul>

<h4>
	Jan 25 2019
</h4>

<ul>
	<li>
		Fixed loading screen text
	</li>
	<li>
		<p>
			Decoupled weapon tracking logic from primary ammo def
		</p>

		<ul>
			<li>
				Weapons can have fully different stats for primary and secondary fire without messing up tracking.
			</li>
			<li>
				The HUD displays and targeting are calculated based on whether the player used primary or secondary fire last.
			</li>
		</ul>
	</li>
	<li>
		<p>
			Not setting a secondary ammo no longer causes a crash, No secondary ammo type means the weapon won't fire if secondary fire is pressed.
		</p>
	</li>
</ul>

<h4>
	Jan 24 2019
</h4>

<ul>
	<li>
		Added support for rotatable textures for the GraphicInterface/JavaScript UI (including an offset for the pivot)
	</li>
	<li>
		Replaced WeaponDefID and WeaponRounds in armed game objects (i.e. vehicle and soldier presets) with a list of IDs and ammo counts
		<ul>
			<li>
				Backwards compatible, i.e. weapon list will load the old values in, filling "zero" WeaponDefIDs with empty slots (can be deleted if not needed)
			</li>
			<li>
				Preset list dialogs (e.g. this, twiddlers, spawners) now support drag &amp; drop reordering and can add/edit extra data (in this case ammo counts for every weapon preset given to a character/vehicle)
			</li>
			<li>
				Ammo count can be edited via double click on the corresponding column entry, list items are now deleted via the <code>DEL</code> key
			</li>
		</ul>
	</li>
	<li>
		When switching to a camera profile with FollowVehicleOrientation enabled, automatically face forward. This makes it slightly more useful, but exiting from a vehicle still points you in a semi-random direction.
	</li>
	<li>
		New weapon preset option "DelayedChargeFire", delays firing for charging weapons until trigger is released
	</li>
</ul>

<h4>
	Jan 23 2019
</h4>

<ul>
	<li>
		Fixed sound pitch control and randomization (@devs: check all your sounds for pitch settings that until now didn't do anything!)
	</li>
	<li>
		Fixed weapon firing sounds getting cut off at high RPMs
	</li>
	<li>
		Added option for random pitch shift on vehicle engine sounds
	</li>
	<li>
		Added new weapon preset options IsQuickCastAbility and QuickCastAutoSwitchDelay, intended to be used in conjunction with IsCooldownAbility
		<ul>
			<li>
				Will fire immediately upon switching to it, then switch back to the last weapon after QuickCastAutoSwitchDelay (in seconds)
			</li>
			<li>
				Will immediately switch back to the last weapon when interrupted by entering a vehicle, getting on a ladder, etc.
			</li>
			<li>
				Cannot be selected via mouse wheel to prevent misfire, cannot be switched to at all if not ready
			</li>
			<li>
				BUG: if you have a charging QuickCast weapon out while entering a specific vehicle for the first time, the vehicle will fire once (only on FDS, involves lag and is difficult to fix)
			</li>
		</ul>
	</li>
	<li>
		Added MouseSteering_Sensitivity and MouseSteering_AggressiveTurnAngle to aircraft physics definitions
		<ul>
			<li>
				Sensitivity is a Vector3 for roll/pitch/yaw (in that order)
			</li>
			<li>
				Aggressive Turn Angle designates the angular difference threshold beyond which the mouse steering will fully roll towards the target by pointing the plane's topside towards it
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jan 18 2019
</h4>

<ul>
	<li>
		Added flap movement to aircraft, using the bones <code>AILERONxxx</code>, <code>RUDDERxxx</code> and <code>ELEVATORxxx</code>
	</li>
</ul>

<h4>
	Jan 16 2019
</h4>

<ul>
	<li>
		Added FPS limiter to client, maximum read from engine.cfg (<code>MaxFPS</code>, default 300), can be set by <code>MAXFPS</code> console command

		<ul>
			<li>
				Alt+Tab was changed to not disable rendering and instead limits frame rate to 40fps
			</li>
		</ul>
	</li>
	<li>
		New mouse steering implementation for aircraft, less likely to tilt your plane down for no reason
	</li>
</ul>

<h4>
	Jan 14 2019
</h4>

<ul>
	<li>
		Added new scripts IJ_Aircraft_Landing_Gear and IJ_Aircraft_LandingZone_Aircraft
		<ul>
			<li>
				Allows manual landing gear deployment (add the name of a custom key hook to the landing gear script (e.g. "Deploy")
			</li>
			<li>
				Replace dp88_Aircraft_LandingZone_Aircraft with these two scripts, copy all parameters
			</li>
		</ul>
	</li>
	<li>
		Aircraft thrust now shows/hides the <code>EXHAUSTxxx</code> bones of the model
	</li>
	<li>
		Added an InfantryOnly parameter to script zones (if both InfantryOnly and VehicleOnly are checked, either class can activate it)
	</li>
</ul>

<h4>
	Jan 13 2019
</h4>

<ul>
	<li>
		Implemented soft flight ceiling for CTOL aircraft
	</li>
	<li>
		Fix to make model-based script zones work if not placed at 0,0,0
	</li>
	<li>
		Fixed dazzles not appearing
	</li>
	<li>
		Added a VehiclesOnly parameter to script zones
	</li>
</ul>

<h4>
	Jan 12 2019
</h4>

<ul>
	<li>
		<p>
			Added placeholder HUD for CTOL aircraft
		</p>
	</li>
	<li>
		<p>
			Added CameraBone and DisableFloatingPlayerName parameter to cameras.ini. See documentation: <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="cameras.ini" data-linked-resource-id="721085" data-linked-resource-type="page" data-linked-resource-version="18" href="http://tacitus.w3dhub.com/display/WH/cameras.ini" rel="external nofollow">cameras.ini</a>.
		</p>
	</li>
</ul>

<h4>
	Jan 11 2019
</h4>

<ul>
	<li>
		<p>
			Added edit_camera console command to modify camera profiles (does not write to ini file, like edit_vehicles)
		</p>
	</li>
	<li>
		<p>
			Added MaxCruisingSpeed parameter to aircraft presets
		</p>
	</li>
</ul>

<h4>
	Jan 8 2019
</h4>

<ul>
	<li>
		<p>
			JFW<em>_</em>Airstrip_Repair_Vehicle now autostarts instead of waiting for a key press
		</p>
	</li>
	<li>
		<p>
			MS_Jukebox new parameters:
		</p>

		<ul>
			<li>
				<code>Delay</code> delays the first song by x seconds
			</li>
			<li>
				<code>FirstSong</code> forces the first song in the playlist to be played first instead of it being random
			</li>
		</ul>
	</li>
</ul>

<h4>
	Jan 5 2019
</h4>

<ul>
	<li>
		<p>
			Added repair delay to JFW_Airstrip_Repair_Zone<em>/</em>JFW_Airstrip_Repair_Vehicle
		</p>
	</li>
</ul>

<h4>
	Dec 31 2018
</h4>

<ul>
	<li>
		Bots now dynamically change roles from offensive to defensive on demand as respective defensive/engineering objectives appear/disappear (first 3 bots used to be forced to always be defenders/engineers)
	</li>
</ul>

<h4>
	Dec 29 2018
</h4>

<ul>
	<li>
		Add new flag <code>NoLoop</code> to MS_Jukebox, plays only the first song and then stops
	</li>
</ul>

<h4>
	Dec 28 2018
</h4>

<ul>
	<li>
		<p>
			Added the ability to add loading screen music on a global and per map basis.
		</p>

		<ul>
			<li>
				<p>
					Uses LoadingMusic key in tt.ini (for global) and in [mapname]_map.ini for per map basis. Fades out after loading is complete in 1 second.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Added MS_Jukebox script for sound objects, references a Twiddler that contains the list of music tracks to play
		</p>
	</li>
	<li>
		Bots now grab their vehicles faster and leave less vehicles crowding at the WF (mostly affects <abbr title="Red Alert: A Path Beyond">APB</abbr> bots)
	</li>
</ul>

<h4>
	Dec 26 2018
</h4>

<ul>
	<li>
		<p>
			Added ability to point filter textures. Controlled via TextureManager.ini.
		</p>
	</li>
</ul>

<h4>
	Dec 24 2018
</h4>

<ul>
	<li>
		Fix so pre-placed vehicles dont crash
	</li>
</ul>

<h4>
	Dec 23 2018
</h4>

<ul>
	<li>
		<p>
			Added a parameterised repair delay to JFW_Repair_Zone_2, as well as 2 versions for <abbr title="Red Alert: A Path Beyond">APB</abbr> that have Boats/Non-boats filtering.
		</p>
	</li>
	<li>
		<p>
			Added a safety timeout to Mammoth light solve due to a deadlock bug with unknown causes and solutions
		</p>
	</li>
	<li>
		<p>
			Added a progress bar and a few printouts to Mammoth batch mode (needs updated artillery)
		</p>
	</li>
</ul>

<h4>
	Dec 20 2018
</h4>

<ul>
	<li>
		New Aircraft physics model!
	</li>
</ul>

<h4>
	Dec 19 2018
</h4>

<ul>
	<li>
		<p>
			Fix fullscreen mode when DPI scaling is active on Windows 10
		</p>
	</li>
	<li>
		<p>
			MouseSteering VTOLs now strafe by default
		</p>
	</li>
</ul>

<h4>
	Dec 13 2018
</h4>

<ul>
	<li>
		<p>
			changed settings to enable mouse steering without forward movement
		</p>
	</li>
</ul>

<h4>
	Dec 12 2018
</h4>

<ul>
	<li>
		<p>
			Added weapon preset option <code>CooldownAbility</code> to always reload on a fixed cooldown, even if not currently held. The cooldown is equal to the reload time and starts as soon as the current clip is non-empty.
		</p>
	</li>
</ul>

<h4>
	Dec 9 2018
</h4>

<ul>
	<li>
		<p>
			Enabled texture quality setting
		</p>

		<ul>
			<li>
				<p>
					Menu and loading screen backgrounds are loaded just like ingame models, so they <em>must</em> have no mipmaps to not be affected by texture quality (other UI textures still waste space if they have mipmaps, but it won't cause visual issues)
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Dec 7 2018
</h4>

<ul>
	<li>
		<p>
			Made several logging facilities use a separate thread to write to disk (reduces stutter, especially with active anti-virus programs running)
		</p>

		<ul>
			<li>
				<p>
					Client chat log, server console log, anti-cheat log, engine diagnostics
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Converted client chat log to UTF-8, unicode character messages aren't just empty now
		</p>
	</li>
</ul>

<h4>
	Dec 6 2018
</h4>

<ul>
	<li>
		<p>
			New scripts JFW_Tint_Controller and JFW_Water_Tint_Zone
		</p>
	</li>
</ul>

<h4>
	Dec 3 2018
</h4>

<ul>
	<li>
		<p>
			Added FollowVehicleOrientation parameter to cameras.ini. See documentation: <a data-base-url="http://tacitus.w3dhub.com" data-linked-resource-default-alias="cameras.ini" data-linked-resource-id="721085" data-linked-resource-type="page" data-linked-resource-version="18" href="http://tacitus.w3dhub.com/display/WH/cameras.ini" rel="external nofollow">cameras.ini</a>.
		</p>
	</li>
</ul>

<h4>
	Dec 2 2018
</h4>

<ul>
	<li>
		<p>
			Multi-file drag-drop in w3dviewer
		</p>
	</li>
</ul>

<h4>
	Dec 1 2018
</h4>

<ul>
	<li>
		Remove "Generate LOD" from w3dviewer as no-one seems to need it at this point and finishing the implementation is a fair bit of work. If it (or any of the other w3dview features I decided not to support) turns out to be useful we can go back and implement it later)
	</li>
</ul>

<h4>
	Nov 30 2018<code> — <span><span><abbr title="Red Alert: A Path Beyond">APB</abbr> 3.3.1.x</span></span></code>
</h4>

<ul>
	<li>
		Fix Mammoth pathfind generation for doors
	</li>
</ul>
]]></description><guid isPermaLink="false">5</guid><pubDate>Mon, 17 Jan 2022 20:33:57 +0000</pubDate></item><item><title>A History of the Custom Scripts.dll</title><link>https://w3dhub.com/forum/documentation/articles/a-history-of-the-custom-scriptsdll-r6/</link><description><![CDATA[<h1>
	Introduction
</h1>

<table data-macro-body-type="RICH_TEXT" data-macro-id="518cae04-7978-4a16-a289-f3df77854687" data-macro-name="info" data-macro-schema-version="1" data-mce-resize="false">
	<tbody>
		<tr>
			<td>
				<p>
					This Article is by Jonathan Wilson, Lead Programmer at Tiberian Technologies and Head of Scripts.dll Development 
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p>
	Before I start the story of scripts.dll, let me say that I have been involved with modding for the C&amp;C series since the beginning. I was the first person to figure out the RLE compression used for the .shp files of Tiberian Sun and I spent many hours in the debugger extracting filenames for the old games (anyone who knows how the old games worked will know that they didn't store filenames in the mix files and the community had to figure out the correct filename for all the files in each mix file).
</p>

<h1>
	Origins
</h1>

<p>
	The scripts.dll story begins when the mod tools came out.
</p>

<p>
	When they came out I started fiddling with them and pulling the game and tools apart to see how they worked (as I had done with previous games).
</p>

<p>
	 
</p>

<p>
	I wrote a number of things back then including a fairly primitive W3D viewer (I still remember asking Greg Hjelstrom a LOT of questions to fill in the gaps in the knowledge of the w3d file format).
</p>

<p>
	 
</p>

<p>
	In terms of scripts.dll and its history, I did 3 things at that point. Firstly, I was involved (with a few others from memory) in convincing Greg to write a few rather useful scripts and include them in one of the later patches to Renegade. (these are the scripts that start with GTH).
</p>

<p>
	 Secondly, I was involved in an effort to convince EA to release (to the public) the source code to the scripts.dll (not the engine itself, just the scripts.dll) to allow people to write their own gameplay scripts. This didn't happen (despite a fairly well-supported online petition) mostly because EA was concerned about the code being abused (malware etc).
</p>

<p>
	 
</p>

<p>
	And thirdly I was pulling the scripts.dll apart to figure out how it worked and what various of the scripts actually did. The first result of this was a tool called "scripts test" that simply dumped a list of all the scripts in the scripts.dll.
</p>

<p>
	 
</p>

<p>
	Other than the leveledit debug strings I found (and what I was able to figure out from reverse engineering and testing) I did also make use of a bunch of info given to me by Greg Hjelsrom at various points (I wont go into details since I don't have all the relavent emails etc handy and I probably should say too much in public anyway but lets just say that info was vital to getting things to work in those early days.)
</p>

<p>
	 
</p>

<p>
	My memory is a little hazy as to when I first decided to start writing my own gameplay scripts but the first official release came out on the 20th of August 2002 and was named version 0.9 beta. According to the old readme file I found (the only part of 0.9 beta I still have), version 0.9 beta contained 3 scripts named JFW_Spawn_Object_Death,JFW_Create_Objective_Death and JFW_Update_Objective_Death. JFW_Spawn_Object_Death (the first script I ever wrote) is still in the scripts.dll even today (and what the script does hasn't changed in all that time). The reverse engineering work at that time was (from memory) mostly done with various versions of IDA Pro (I forget if I was still using SoftIce for Renegade or not) and all the code was being written with Visual Studio 6.0.
</p>

<p>
	 
</p>

<p>
	That was quickly followed by 0.91 beta, 0.92 beta, 0.93 beta, 0.94 beta, 0.95 beta, 0.96 RC, 0.97 RC, 0.98 RC, 0.99 RC, 1.0 RC1 and then 1.0 RC2 (the oldest version I still have on my disk). Work continued on figuring out the internals of scripts.dll and the way scripts.dll talked to the engine (to expand what scripts.dll could do). By the time 1.0 RC2 hit, I had discovered a new source of information in the form of debug strings in the Renegade level editor. This gave us (the people working on scripts.dll at the time) the names of a bunch of things in the engine (including lots of the script commands).
</p>

<p>
	 
</p>

<p>
	Most of the work at this point was done by myself, Dante and Sir_Kane although some scripts had also been written by NameHunter. 1.0RC2 contains somewhere around 80 scripts or so, mostly written by me but also a few by NameHunter and Dante. Highlights include the first construction yard scripts,the beginnings of AI scripting and some nice utility functions including the first functions for sending a custom on zone entry.
</p>

<p>
	 
</p>

<p>
	The next part will cover the rest of the 1.x series (I no longer have copies of 1.0 final, 1.1, 1.1.1, 1.2 or 1.3 but I have all scripts versions from 1.3.1 through to 1.9.3 and will be able to talk more about what changed through those versions)
</p>

<h1>
	Scripts 1.x
</h1>

<h2>
	Scripts 1.0-1.9
</h2>

<p>
	After 1.0 RC2 came 1.0 final (which I no longer have) then 1.1.
</p>

<p>
	I still have an incomplete copy of a build labeled "1.1" in the readme file (although I dont know exactly what build it is, whether its 1.1 or 1.1.1 or something in between builds or what)
</p>

<p>
	 The big change in 1.1 was the discovery of a complete symbol table in the Linux FDS (in layman's terms its a list of all the functions in the executable file with their names and definitions). Discovering this allowed me to completly rewrite the code to be a lot more like the original Westwood way of doing things. Too many changes between 1.0 RC2 and the code I have labeled 1.1 for me to go into any more detail.
</p>

<p>
	 
</p>

<p>
	Then after 1.1 came 1.1.1, 1.2, 1.3 and then 1.3.1 (the next build I still have)
</p>

<p>
	In the time between the 1.1 code I have and the 1.3.1 release, work continued on reverse engineering the engine and I continued to write scripts to do cool stuff (and to take advantage of any new engine discoveries I made). NameHunter wrote more scripts and the first scripts for Reborn (not sure who wrote these early scripts) and RenAlert (written by Dante) were written. Also some scripts for something called Survival (not sure what this was or who wrote these early scripts) got written.
</p>

<p>
	 
</p>

<p>
	1.4 continued the general improvements along with more new scripts by me. This also marked the start of some scripts being written by Vloktboky. Further additions were made to the Reborn scripts (not sure by who) and the RenAlert scripts (this marked the beginning of work on RenAlert scripts by NeoSaber)
</p>

<p>
	 
</p>

<p>
	New in 1.5 was support for the Linux FDS thanks to Datalore (who did a great job of dealing with the funky way GCC does inline assembler and the other Linux-specific weirdness). Also new in 1.5 was a refactoring of some core code to be closer to how the real thing is laid out along with more engine research and general improvements. New scripts were written by Vloktboky and myself.
</p>

<p>
	1.6 had more scripts by me, more cleanups, more scripts by Vloktboky, a couple new scripts by NameHunter and some new RenAlert scripts by NeoSaber. It also introduced some scripts for a mod called <abbr title="Red Alert 2"><abbr title="Red Alert 2">RA2</abbr></abbr> Vengeance.
</p>

<p>
	 
</p>

<p>
	1.7 had still more cleanups and engine research, more scripts by me (including the cloning of a bunch of interesting stock scripts), more scripts by NeoSaber (both for RenAlert and otherwise), some new scripts from TimeFX and a bunch of scripts from E! for a Generals mod called SCUD Storm.
</p>

<p>
	 
</p>

<p>
	In 1.7.1, the big change was a move from Visual C++ 6 to Visual C++ .NET 2003. Cleanups and engine research continued although this build contained no new scripts.
</p>

<p>
	 
</p>

<p>
	1.8 introduced the first engine calls (with a LOT of hacks involved). Cleanups and general engine research also continued. More scripts for Scud Storm, RenAlert and RA2Vengeance were added along with new scripts by me.(including more clones of stock scripts). One of the engine calls introduced in this first batch was the first engine call to use the special "debug fly" flying infantry logic westwood left in the game.
</p>

<p>
	 
</p>

<p>
	Scripts 1.9 was a major milestone with the first engine hacks being added. New console commands were added. Various engine calls were fixed to work over the network including animation, stealth, explosions, audio and poke. Exported engine functions were made available to do per-player screen fade and player terminal display. Fixes, cleanups and engine research continued as usual. More engine calls were added to engine.cpp including console input and output calls. New scripts were added by me along with new RenAlert scripts from NeoSaber.
</p>

<p>
	 
</p>

<p>
	1.9.1 was just some bug fixes on top of 1.9.
</p>

<p>
	1.9.2 was more bug fixes on top of 1.9.1.
</p>

<p>
	1.9.3 was just a bug fix on top of 1.9.2.
</p>

<h1>
	Scripts 2.x
</h1>

<h2>
	Scripts 2.0 - 2.1
</h2>

<p>
	2.0 was released around xmas of 2004 and by this time the Blackhand Studios development group was well established and quite a few other people also worked on engine work besides me  (I dont plan to cover things like RenGuard or the Core Patches in this history series, nor do I plan to cover things written by other people like brenbot, the old pre-4.x SSAOW/SSGM/SSCTF stuff, Dragonade or Renegade Resurrection)
</p>

<p>
	 
</p>

<p>
	In 2.0, a number of script commands were made to work correctly in multiplayer including screen fade. Per-player commands were added for playing audio and some other things. The first commands to display messages on the client were added in 2.0 as well. Various other bhs.dll fixes were made including making Set_Model work correctly over the network for vehicles and infantry and stuff and making the harvesting arms of the tiberium harvester animate when its harvesting. A fix was also added for granting weapons to vehicles and changing the weapon of a vehicle. More console commands also got added.
</p>

<p>
	 
</p>

<p>
	New engine calls got added to engine.cpp including engine calls to remove scripts from an object, get the occupants of vehicles, get the weapon an object is using, get the hierarchy/skeleton name of an object, get the "sex" of an object (so you can use the correct infantry animation set) and kick the occupants out of a vehicle.
</p>

<p>
	 
</p>

<p>
	Some scripts were written by Dan, Vloktboky and myself along with an AI script from NeoSaber. General cleanups/fixes and engine research continued as usual. TheKGBSpy wrote more scripts for <abbr title="Red Alert 2"><abbr title="Red Alert 2">RA2</abbr></abbr> Vengeance. Due to some crap going on at the time that I wont go into, RenAlert wasn't shipping newer scripts builds or bhs.dll at the time but instead shipping their own thing (I will not be discussing the details of what was going on at the time since its long since over, all the people involved have left the community AFAIK, all the "secret" scripts were eventually published and all the engine know-how the relavent people were hoarding has long since been figured out)
</p>

<p>
	2.0.1 followed soon after and fixed a couple of bugs.
</p>

<p>
	 
</p>

<p>
	Then came scripts 2.1. 2.1 added more new console commands. 2.1 also introduced code to output screenshots in .png format instead of the default .tga format. A hack was introduced that made maps load much faster but (unbeknownst to me at the time) made things load a lot slower in-game by disabling some code to pre-load and parse a bunch of w3d files on map load. The object create hook system was added in 2.1, as was the custom key hooks and the first version of the custom sniper scope code. Extra log files started to be created to log all sorts of messages (the details of why we started creating these log files is lost in the mists of time). The chat hook was first introduced in 2.1 as well as was a fix for the invisible harvester bug with airstrips. A fix was added to make the infantry death sound and powerup collection sound play in multiplayer. An engine call was added to get the version of bhs.dll.
</p>

<p>
	 
</p>

<p>
	Engine research and general fixes/improvements/cleanups also continued in 2.1. Engine calls were added to access the cGameData instance among other engine calls.By this time we had figured out the initial definitions of classes in Renegade including cGameData and WeaponBagClass as well as utility classes like Vector4, Matrix3D, SList, SimpleVecClass, SimpleDynVecClass, VectorClass and DynamicVectorClass. I wrote more scripts including clones of all the "secret" scripts RenAlert was using at the time (and at that point was refusing to share). The first scripts to be written by scripts contributor and later engine guru Saberhawk got added in 2.1 as well.
</p>

<p>
	2.1.1 and 2.1.2 were just bug fixes on top of 2.1 to fix some issues with the AGT scripts.
</p>

<p>
	 
</p>

<p>
	2.1.3 added some stuff to disable some of the logging on the client (since some people didn't want those logs). It also featured code cleanup and improvements and bug fixes and the first efforts to block specific "bad" nicknames (e.g. nickname too long, nickname containing bad characters etc). Code was also added to disable certain netcode that could be used to cheat.
</p>

<p>
	 
</p>

<h2>
	Scripts 2.2
</h2>

<p>
	After 2.1.3 came 2.2 which was a big release.
</p>

<p>
	 
</p>

<p>
	In 2.2, all of my scripts were re-organized into new source files divided up based on what sort of script it was (e.g. sounds, weapons, cinematics, vehicles, powerups, script zones etc). The usual cleanups, bug fixing and engine reverse engineering continued. New engine calls were added including the first engine call for changing the spawn character. Reborn got the first scripts for walkers/mecha and some new deployable vehicle stuff. I wrote some new scripts as well.
</p>

<p>
	 
</p>

<p>
	bhs.dll got a lot of improvements. Lots of work went into bug fixing, fixing crashes etc. 2.2 introduced the new crashdump code where the code to emit _except.txt when crashes happened was ripped out and replaced with new code to spit out a crashdump.txt with more info than _except.txt had. This made debugging crashes much easier. The chat hook was modified to support unicode messages (important for players using foreign language characters like Ã¶ in their chat strings). A hook was added to allow you to listen to "host messages" (i.e. messages sent from the server in various ways).
</p>

<p>
	 
</p>

<p>
	Scripts 2.2 was quickly followed up by scripts 2.2.1 and then 2.2.2. Both versions contained only bug fixes on top of 2.2.
</p>

<p>
	 
</p>

<p>
	Around the same time as scripts 2.2 came out, I also released a hacked improved version of leveledit (numbered 1.0.0.4) that fixed a bunch of bugs. Highlights of this release included making it read scripts.dll/scripts2.dll from the Renegade folder (no more need to copy them to the mod folder), fixing some crashes, adding the "export to mix" menu option to the menus (the logic was already there, it just needed to be made visible), displaying the current mod package name on the status bar and properly reading the game data files (including always2.dat). 1.0.0.4 no longer had problems when placing certain objects like multiplayer helicopters.
</p>

<p>
	 
</p>

<h2>
	Scripts 2.3-2.4
</h2>

<p>
	Scripts 2.3 hit in January of 2006. It featured the usual bug fixes, cleanups and engine research. It also added some stuff to make Set_Obj_Radar_Blip_Shape and Set_Obj_Radar_Blip_Color work over the network. Code was added to include the Windows version and the date and time in crashdump.txt files. An engine call was added to let you switch to a different main hud texture at runtime. Improvements were made to the keyhook stuff. More scripts were written by me. WhiteDragon also wrote some scripts and some stuff was added for Reborn.
</p>

<p>
	 
</p>

<p>
	Scripts 2.3.1 then followed soon after with a few bug fixes.
</p>

<p>
	 
</p>

<p>
	After that came scripts 2.4 a few months later.
</p>

<p>
	 
</p>

<p>
	2.4 added some console commands to set and get the bandwidth for a player. The player join hook, load level hook and game over hook were added. The first hud.ini stuff was added (changing the colors used for the teams in chat etc). Engine calls were added to identify if running on Linux vs Windows and Dedicated server vs game client along with a way to identify the current game mode (WOL vs gamespy vs lan vs etc) and a couple of others.
</p>

<p>
	 
</p>

<p>
	The usual scripts cleanup, bug fixing and engine research also happened for 2.4 along with some new scripts by me. The split between the RenAlert guys and myself went away and all the secret stuff stopped. My reverse engineered clones of the formerly-closed-source scripts were removed and replaced with the real thing thanks to NeoSaber.
</p>

<p>
	 
</p>

<p>
	The "secret" scripts stuff was basically some stuff that for whatever reason the RenAlert guys didn't want to share. It had the missile silo scripts, CanyonRiver and Metro scripts, underwater stuff, submarine script and vehicle script. I dont want to go into details of the whole fight over the issue (and over the various engine related things that the "secret" scripts made use of) so this is all I will say on the matter.
</p>

<h2>
	 
</h2>

<h2>
	Scripts 2.5-2.6
</h2>

<p>
	2.5 came out next and added a special console command and a few other things for the Linux FDS and some WOL stuff people were doing at the time. Code was added to disable the GameSpy serial number check (the GameSpy serial number database was missing serials from The First Decade so TFD players were unable to play on GameSpy without this change).
</p>

<p>
	 
</p>

<p>
	More cleanups, fixes and engine research happened as well along with the addition of some engine calls for getting information from players (current money, current score, things like that) although no new scripts were added in 2.5.
</p>

<p>
	2.5.1 came out soon afterwards and fixed a bug with some things in 2.5 then 2.5.2 fixed more things.
</p>

<p>
	 
</p>

<p>
	Next came scripts 2.6. The usual cleanups and fixes and engine research continued, as did some new console commands for changing the vehicle limit as well as the commands for sending messages to the client and having them appear in the chat box alongside messages like "unit ready". Display_Health_Bar was made to work over the network as well as entries in hud.ini to let you change the public and private message colors. Per-player radar blip shape engine calls were added at this point along with engine calls for vehicle limit and message sending.
</p>

<p>
	 
</p>

<p>
	A bunch of new engine calls were added to engine.h including the first engine calls that worked with strings from strings.tdb. A bunch of new scripts got added by me.
</p>

<p>
	 
</p>

<h2>
	Scripts 2.7
</h2>

<p>
	Scripts 2.7 again had the usual bug fixes/cleanups/engine enhancements.
</p>

<p>
	 
</p>

<p>
	Console commands were added to disarm C4 and beacons for a player along with some more stuff for LFDS WOL work. The Disable_All_Collisions, Disable_Physical_Collisions and Enable_Collisions engine calls were made to work over the network. A hook that gets triggered any time a player sends their version to the server was added along with a Set_Wireframe_Mode engine call and some work on an engine call for removing a weapon from a player. The first attempt at code to let you change the PT data at runtime was also added.
</p>

<p>
	 
</p>

<p>
	2.7 also marked the introduction of the first custom HUD code with large parts of the HUD (health/shield bar, time, credits, radar, weapons and other things) being customizable. Engine calls were added to engine.cpp for getting/setting the current ammo for weapons in various ways, disarming beacons and working with the PT data. 2.7 was the first version to expose the ini reading functionality to scripts.dll so people could use it to read and write ini files (instead of whatever code they had been using previously). I wrote some new scripts as did WhiteDragon.
</p>

<p>
	 
</p>

<p>
	2.7.1 followed 2.7 and contained bug fixes.
</p>

<p>
	 
</p>

<p>
	Then 2.7.2 followed 2.7.1 with more bug fixes.
</p>

<p>
	 
</p>

<h2>
	Scripts 2.8-2.9
</h2>

<p>
	2.8 had more bug fixes/cleanups/engine research. It introduced per-player fog commands, Improvements were made to the code for sending the PT data changes over the network. Improvements were made to the custom HUD logic. New hud.ini keywords were added to let you change the cost and time multipliers that apply when the power is down, to disable the "locked to the player who bought it" logic, enable the use of the "hidden" PT pages globally and enable some special logic for purchasing. Fixes were made to try and stop certain server exploits. A change was made to make disabling the radar work better. Hooks were added for powerup purchase, vehicle purchase and character purchase as well as hooks for monitoring those purchase types (used if you just want to log things rather than actually change how the purchasing happens).
</p>

<p>
	 
</p>

<p>
	Engine calls were added to get the build time multiplier (i.e. the value used to increase the build time when the power plant goes down), change some settings related to the scrolling radar map feature, set/get a flag that will display "building" for vehicle buttons (used as part of various scripts that I will get to later). Code was added to send everything that would be written to the console through a UDP packet (intended so you can have something such as a server bot catch it and do stuff with it and not need to parse log files for the same info).
</p>

<p>
	The first definitions of the classes NetworkObjectClass, OBBoxClass and BaseControllerClass were added. Engine calls were added to turn the base power off/on, toggle the base radar, find buildings of different types, identify if a map is a flying map (i.e. if the checkbox in LE is ticked), do things with script zones and some other stuff. I wrote some new scripts and some scripts written by Kamuix were added. Some new scripts written by WhiteDragon were also added including the first version of the ExpVehFac stuff for creating working naval yards and helipads where you buy stuff directly from the regular PTs
</p>

<p>
	After 2.8 came 2.9.
</p>

<p>
	 
</p>

<p>
	2.9 included the usual cleanups/fixes/engine research along with new scripts by me. WhiteDragon wrote one new script. Engine calls were added to get the type and size of a script zone, to create a script zone at runtime and to identify if a given xyz coordinate is inside a given script zone. Console commands to change the player limit and time values were added. A new hud.ini keyword was added to turn off some code related to the disabling of the "vehicle" button when a vehicle is building. Hud.ini keywords were added to change a bunch of colors related to the UI as well as to disable the glow around the large menu item text icons. Hud.ini keywords were added to allow you to make certain units unsquishable and change certain things associated with the stealth texture. The first version of the sidebar logic also appeared in 2.9. A hook to grab all the console output was added along with a way to change the reticle textures for a given client at runtime. Engine calls to do things related to fog got added along with various ways to change the player limit. A fix got added for a glitch with the "start" button when connecting to XWIS/WOL and a hook to let you do special checks of hud.ini to prevent modifications for cheat purposes (the forerunner to the current scripts anti-cheat code). A new dialog box to display the chat history was added (since the sidebar doesn't have an inbuilt chat history like the PTs do)
</p>

<p>
	 
</p>

<p>
	2.9.1 followed up with some bug fixes and then 2.9.2 came after that with more bug fixes as well as some changes to prevent people mixing incompatible versions of scripts.dll and bhs.dll (e.g. trying to use a newer bhs.dll with an older SSAOW or similar)
</p>

<h1>
	Scripts 3.x
</h1>

<h2>
	Scripts 3.0
</h2>

<p>
	3.0 was the first release to include the massive graphics enhancement that was shaders.dll. Saberhawk contributed a lot of the graphics code to this release and StealthEye did work on the netcode. This was the first version built using Visual C++ 2005.
</p>

<p>
	 
</p>

<p>
	Console commands to display a w3d file in-game and to turn off the HUD were added. More information was added to crashdump.txt. Improvements were made to the custom hud code. More colors related to the UI became customizable. Purchase sounds were added to the sidebar. A fix was added for vehicles getting stuck near ladders (including aircraft flying over them). A player leave hook was finally added. "wall lag" was fixed. C4 objects now triggered scripts attached to them properly. Turret lag was fixed. The first version of the "extended options" dialog got added (to allow in-game setting of various scripts.dll options). An engine call was added to trigger the "you aren't allowed to use this dialog" (like you get when you use an enemy PT).
</p>

<p>
	 
</p>

<p>
	Renegade was updated to detect more video cards and driver versions. 3.0 was the first version that moved Renegade so it was using Direct3D9 instead of Direct3D8. The shadow quality was improved. Programmable shader stuff was added including a normal mapping shader, a glass effect shader, a glow shader and some post-processing shaders. The usual scripts cleanups/fixes/engine research continued. A lot more classes in the game had their definition figured out or expanded/fleshed out (including for the first time, several of the GameObject classes). Engine calls were written to open a file (such that it would read from the mix files or data folder as appropriate), access weapon and ammo definitions and do some other stuff.
</p>

<p>
	 
</p>

<p>
	The first scripts for the RenAlert gap generators were added in 3.0 along with some other scripts for that mod. A clone of the Test_Cinematic script was added and I wrote several other new scripts. Kamuix wrote some more scripts as did WhiteDragon. Saberhawk wrote one new script. Work was done to make sure the scripts compiled with Visual C++ 2005 Express (the free version)
</p>

<p>
	 
</p>

<h2>
	Scripts 3.1
</h2>

<p>
	Scripts 3.1 came out shortly before xmas of 2006 and contained a lot of bug fixes, cleanups and engine research. The "vsync" feature was added. I wrote some new scripts. Stuff got added to do different things with shaders and scopes. 3.1 may not sound like a big release but a lot of bug fixing and cleanup went into it to try and solve as many of the "3.0 sucks" complaints that were happening on renforums at the time.
</p>

<p>
	 
</p>

<p>
	3.1.1 followed soon after with a bunch more bug fixes and cleanups then 3.1.2 soon after with more fixes. Work continued on solving all the crashes and glitches people were reporting. A lot of the problems people had with the 3.x released turned out to be crappy graphics drivers, having shaders enabled on cards that just couldn't handle them properly or using the example shader databases in ways they weren't intended for.
</p>

<p>
	 
</p>

<p>
	3.1.3 came out next and had more bug fixes and cleanups. Then 3.1.4 followed (which was 3.1.3 with bhs.dll from 3.1.2 since I was unable to release a new bhs.dll at the time)
</p>

<p>
	 
</p>

<p>
	Then came 3.2 with even more bug fixes, cleanups and engine research. The graphics system continued to be improved and fixed. 3.2 also improved the generation of crashdump files so it wold keep multiple dumps around. Improvements were made to the unsquishable logic and a hud.ini keyword was added to let you disable the standard kill messages. Extra debug logging was added to the d3d9 code. Lots of shader work was done. "post process" shaders were renamed scene shaders. Some new memory leak detection code was added to the scripts.dll and a lot of memory leaks fixed (including memory leaks that existed in the stock game). Multi-sample anti-aliasing was added. An engine call was added to help you identify what object caused an explosion when one happens (i.e. beacon/c4 explosions). A bunch of classes were mapped out and reverse engineered and a bunch of engine calls (including one to let you iterate the player list) were added.
</p>

<p>
	The old engine.cpp file was split up into multiple files to make it easier to manage. A lot of effort was put into performance as well. The first use of SSE in scripts.dll happened in 3.2. I wrote some new scripts. The first scripts for the Roleplay2 mod by Jerad Grey were added along with some more scripts from Kamiux. Zunnie wrote his first scripts and some more scripts were added for <abbr title="Red Alert: A Path Beyond"><abbr title="Red Alert: A Path Beyond">APB</abbr></abbr>. The custom HUD code was further improved (and a chunk of it was opened up in shaders.dll at this point, a decision I still regret to this day).
</p>

<p>
	3.2.1 followed with more bug fixes then 3.2.2 followed with even more fixes and 3.2.3 with yet more fixes.
</p>

<p>
	 
</p>

<h2>
	Scripts 3.2
</h2>

<p>
	Scripts 3.3 came next. In 3.3, the Control_Enable command was made to work over the network. Improvements were made to the shader code. Some font code was cloned, rewritten and improved. Support for "shader plugins" (which with the benefit of hindsight was a stupid idea) was added. The vehicle management dialog was added to let you kick people out of your vehicle. More fixes, cleanups and engine research continued as per usual. A Set_Vehicle_Gunner engine call was added. I wrote some new scripts. The normal map shader was improved (in particular fog now affected normal mapped objects). <abbr title="Red Alert: A Path Beyond"><abbr title="Red Alert: A Path Beyond">APB</abbr></abbr> got some new scripts.
</p>

<p>
	Then came 3.4. with more bug fixes/cleanups/engine research. A feature was added to change the default sort order for WOL servers so it sorted by player count rather than name (this took away the incentive for people to horde nicknames like aaaaaaaaaaaaa just to be first on the list). I write some more new scripts. Saberhawk added one new script and one script was written for <abbr title="Red Alert: A Path Beyond"><abbr title="Red Alert: A Path Beyond">APB</abbr></abbr>.
</p>

<p>
	3.4.1 followed soon after that with a bunch of bug fixes then 3.4.2 with more bug fixes, 3.4.3 with more bug fixes again then 3.4.4 (the final release of the 3.x series) came after that.
</p>

<h1>
	Credits
</h1>

<p>
	I would like to give thanks to all the people who's help in many different ways has made the scripts.dll project what it is today.
</p>

<ul>
	<li>
		Greg Hjelstrom
	</li>
	<li>
		Greg Underwood
	</li>
	<li>
		Aaron "Apoc" Kaufman
	</li>
	<li>
		Olaf Van Der Spek
	</li>
	<li>
		StealthEye
	</li>
	<li>
		Ghostshaw
	</li>
	<li>
		WhiteDragon
	</li>
	<li>
		Dblaney
	</li>
	<li>
		danpaul88
	</li>
	<li>
		Saberhawk
	</li>
	<li>
		Sir_Kane
	</li>
	<li>
		Chronojam
	</li>
	<li>
		NeoSaber
	</li>
	<li>
		Deezire
	</li>
	<li>
		moonsense715
	</li>
	<li>
		Romanov
	</li>
	<li>
		CCHyper
	</li>
	<li>
		Jerad2142 
	</li>
	<li>
		Triattack
	</li>
	<li>
		Zunnie
	</li>
	<li>
		YRR
	</li>
	<li>
		E!
	</li>
	<li>
		Vloktboky
	</li>
	<li>
		TheKGBSpy
	</li>
	<li>
		EvilWhiteDragon
	</li>
	<li>
		Mac
	</li>
	<li>
		Crimson
	</li>
	<li>
		Blazer
	</li>
	<li>
		v00d00
	</li>
	<li>
		Scorpio9a
	</li>
	<li>
		Reborn
	</li>
	<li>
		Pushwall
	</li>
	<li>
		Wallywood
	</li>
	<li>
		Dante
	</li>
	<li>
		Datalore
	</li>
	<li>
		NameHunter
	</li>
	<li>
		TimeFX
	</li>
	<li>
		<p>
			GeneralCamo
		</p>
	</li>
	<li>
		<p>
			Laeubi
		</p>
	</li>
	<li>
		<p>
			ChopBam
		</p>
	</li>
	<li>
		<p>
			OWA
		</p>
	</li>
</ul>

<p>
	And of course all the people involved in producing C&amp;C Renegade and all the C&amp;C Renegade Mods that exist out there and in testing the scripts.dll over the many years of development and anyone else I forget who has somehow contributed in some way to getting us where we are today.
</p>
]]></description><guid isPermaLink="false">6</guid><pubDate>Mon, 17 Jan 2022 20:38:35 +0000</pubDate></item><item><title>World Domination Tour</title><link>https://w3dhub.com/forum/documentation/articles/world-domination-tour-r7/</link><description><![CDATA[<p>
	World Domination Tour/Global Conquest is a W3D game mode (WIP) that lets players form teams and play games against other teams in order to gain control over countries in a continent of the Earth.<br>
	For example in <abbr title="Red Alert: A Path Beyond">APB</abbr>, the teams fight over domination of Europe.
</p>

<p>
	 
</p>

<h2>
	1. Summary
</h2>

<ul>
	<li>
		Teams have to sign up for the game to play.
	</li>
	<li>
		When it starts, participating teams are given starting countries equally.
	</li>
	<li>
		The game is played by teams attacking eachother's territory, trying to take over them by winning battles ingame.
	</li>
	<li>
		Attacks go in turns in the order teams signed up for game. The first team attacks first, then the next one, etc.<br>
		In short, each team in every round has a chance to conquer 1 country, while also having to defend their own ones from enemy attacks.
	</li>
	<li>
		The game ends when either 1 team owns all countries or the number of rounds played has reached the limit (e.g. 10) - then the team owning the most countries wins.
	</li>
</ul>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" href="https://w3dhub.com/forum/uploads/monthly_2022_01/preconquest1.png.3ebf4dde9139ca64a618e42d6db10000.png" data-fileid="33021" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="33021" data-ratio="62.50" data-unique="3s5krr1pe" style="" title="" width="400" alt="preconquest1.png" src="https://w3dhub.com/forum/uploads/monthly_2022_01/preconquest1.thumb.png.fa46c5c0e09a754358b3e1495e6a8025.png"></a>
</p>

<p style="text-align: center;">
	 
</p>

<h2>
	2. Preparations
</h2>

<p>
	Before the game can be played, teams need to register to play (minimum 2, maximum 5).
</p>

<p>
	Currently the teams are clans. If <strong>clan leaders</strong> log in on the ranks webpage and navigate to the <a href="https://w3dhub.com/ranks/apb/#/conquest" rel="external nofollow">Conquest menu</a>, they can register their team to play by pressing the 'Join game' button.
</p>

<p>
	 
</p>

<h2>
	3. Initializing the game
</h2>

<p>
	After enough teams have registered, the game can be initialized by a game moderator from ingame or IRC by using the <strong>!conquest</strong> command.<br>
	This command locks the partaking teams, hands out countries to all teams equally and automatically sets the next (first) battle.<br>
	The countries from here on are colorized to display their owner.
</p>

<p>
	 
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" href="https://w3dhub.com/forum/uploads/monthly_2022_01/conquest2.png.714057248575af0ccc3ec3313b2fcf4a.png" style="outline-width: 0px !important; user-select: auto !important;" data-fileid="33020" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="33020" data-ratio="62.50" data-unique="vqlmpsfwt" style="" title="" width="400" alt="conquest2.png" src="https://w3dhub.com/forum/uploads/monthly_2022_01/conquest2.thumb.png.8524a32e69f7c93366bb3cf4ac51f3b0.png"></a>
</p>

<p>
	 
</p>

<p>
	The first battle is always an attack done by the first team that registered for the game. The system automatically picks an enemy country next to one of their own countries.
</p>

<h6>
	<span>Note: the game/match/map where the game was initialized is not part of the game mode.</span>
</h6>

<h2>
	4. Playing the game - World map status
</h2>

<p>
	The game mode starts after the battle has ended on which the mode was initialized with the !conquest command.<br>
	The clan leader of the <strong>next attack</strong> has a maximum timeframe of <strong>5 minutes</strong> after the first initialization and at the start of every battle to change which country they want to attack by clicking a flashing country on the web.<br>
	Decide fast if your team is also involved in the currently active battle!
</p>

<p>
	Additionally before selecting a country to attack, clan leaders can build a Refinery or a War Factory in one of their countries in their turn. If they forgot to build one they will be able to build one more later, when their turn comes again. Refineries will grant an amount of global credits per round that can be spent to send reinforcements to other countries, besides that defenders of a country under attack will be donated 100 starting credits each one if a Refinery was previously built in that territory. There is no limit to the number of Refineries that can be built in a country and the more Refineries, the more global credits a team will get every round but the starting credits will still be limited to 100 for each player. On the other hand, the number of War Factories that can be built is limited to one and their only function is to provide reinforcements to other countries, this means that teams may call in reinforcements in a battle where one of its neighboring countries has a War Factory building.
</p>

<p>
	Clan leaders must be careful where they place buildings, as loosing a country will result in loosing the buildings too, because they will turn into enemy property!
</p>

<p>
	 
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" href="https://w3dhub.com/forum/uploads/monthly_2022_01/conquest1.png.34c288ad3d103671b0677c217edf6cde.png" style="outline-width: 0px !important; user-select: auto !important;" data-fileid="33023" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="33023" data-ratio="62.50" data-unique="wr973q3ya" style="" title="" width="400" alt="conquest1.png" src="https://w3dhub.com/forum/uploads/monthly_2022_01/conquest1.thumb.png.f9763760be3433b0ea1c3a2ce36ee84b.png"></a>
</p>

<h6>
	Note: picking the next country to attack is not only strategically important (choke points, locking enemy teams away, etc.) but it also decides what map exactly is going to be played. Each country has an assigned ingame map - hover over the countries to see them.
</h6>

<p>
	<span>Attacking rules:</span>
</p>

<ul>
	<li>
		<span>Your team can attack a country if it is next to one your owned countries (and is not currently under attack by another team).</span>
	</li>
	<li>
		You can NOT launch your attack from a country that is currently under attack! (Except if there are only 2 teams left and you only have 1 country left - but of course you will not have a chance for your next attack if you fail to defend it in the current battle)
	</li>
</ul>

<h6>
	Note: it is not a problem if the clan leader forgets to choose a country. One is always picked automatically, but this choice can be suboptimal.
</h6>

<p>
	 
</p>

<h2>
	5. Playing the game - Ingame
</h2>

<p>
	When a match starts, it is randomly decided which team will play as which game faction (e.g. Allies/Soviets, <abbr title="Global Defence Initiative">GDI</abbr>/Nod, etc.).<br>
	The system checks the ingame players' team affiliation and are switched to the appropriate faction.
</p>

<p>
	If the game is played in strict mode, anyone else joining the game (not affiliated with the 2 partaking teams) is forced to be a spectator. Otherwise, in non-strict mode, these players are distributed to even the teams.
</p>

<h3>
	Mercenaries
</h3>

<p>
	All of this can be changed by flagging players as mercenaries. Moderators can do this with the <strong>!merc</strong> command.<br>
	If a player is a mercenary, they will fight for the faction the moderator chose them to fight for.
</p>

<h6>
	Note: this is a way for someone to be hired by the enemy team for whatever reason and the only way to exit spectator status in strict mode.
</h6>

<h3>
	Reinforcements
</h3>

<p>
	Clan leaders fighting for their own clan can call in reinforcements with the <strong>!reinforcements &lt;number&gt;</strong> ingame command (number is 1 if it is omitted), as long as they built a nearby War Factory and they have enough global credits to spend. The "number" parameter is limited by the maximum drop locations that are available for that map. Besides this command has a cooldown, this means that it can only be used once every minute and additionally, an admin may have set an extra limit for the maximum available reinforcements for each call, for the first minutes of a game since map start.
</p>

<p>
	The match goes on normally, the faction/team will win by completing the game objective defined on the played map (most common victory conditions are high score or destroying the enemy base).
</p>

<h3>
	Effects on the map
</h3>

<p>
	After each battle finished, the world map is updated. If the attacker team won, they take the country. If the defenders won, they keep it and the world map does not change.
</p>

<p>
	 
</p>

<h2>
	6. End of the game mode
</h2>

<p>
	If a team has managed to conquer all of the countries in the region, they win. Alternatively, when the amount of rounds reaches the limit (e.g. 10 or 20) - then the team that owns the highest number of countries will win. It is possible to have multiple winners when they all have the same amount of countries.
</p>

<p>
	 
</p>

<p style="text-align: center;">
	<a class="ipsAttachLink ipsAttachLink_image" href="https://w3dhub.com/forum/uploads/monthly_2022_01/postconquest1.png.7e75a817afc76dc554b523d426b12318.png" style="outline-width: 0px !important; user-select: auto !important;" data-fileid="33022" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="33022" data-ratio="62.50" data-unique="v1qicx1bl" style="" title="" width="400" alt="postconquest1.png" src="https://w3dhub.com/forum/uploads/monthly_2022_01/postconquest1.thumb.png.be536c5b877f0a8afef097649eebae33.png"></a>
</p>
]]></description><guid isPermaLink="false">7</guid><pubDate>Mon, 17 Jan 2022 20:55:31 +0000</pubDate></item><item><title>How to Rig a W3D Vehicle</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/vehicles/how-to-rig-a-w3d-vehicle-r8/</link><description><![CDATA[<h4 style="text-align: center;">
	<strong>By Greg Hjelstrom </strong><b><strong>with Modifications from the W3DHub team</strong></b>
</h4>

<h1>
	<span class="classich2">Introduction</span>
</h1>

<p>
	W3D uses a form of rigid body dynamics to simulate a wide variety of vehicles.  All of the geometric characteristics of a vehicle are determined directly from a model which is exported from 3ds-max.  For example, the number, placement, and behavior of any wheels in the vehicle is determined by the set of “bones” in the model.  Many wheel configurations can be defined by the model: front-wheel drive, four-wheel steering, all-wheel drive, tank tracks, etc can all be set up.  Parameters such as the mass, engine strength, and suspension stiffness are set in Mammoth, the W3D level editor.
</p>

<h1>
	<span class="classich3">Vehicle Balance/Origin Bone</span>
</h1>

<p>
	The first thing to do is to position your vehicle model such that its center of mass is at the origin in 3ds Max, this is usually marked by an Origin bone.  In the X-Y plane, the CM (center of mass) should usually be placed exactly at the centroid of all of the wheels in the vehicle.  If the CM behind this point, the vehicle will lean backwards on its suspension, if it is in front of this point, it will lean forward, etc.  In the Z axis, the CM should be placed some distance below the center of the object to help prevent tipping over when turning corners.
</p>

<h2>
	<span class="classich3">Collision Detection (WorldBox)</span>
</h2>

<p>
	As is the case with all objects in W3D, you can use separate meshes for projectile collision detection and physical collision detection.  In the case of vehicles you have to use a single OBBox named "WorldBox" for physical collision detection.  (Note: physical collision detection is used when the object is moving in the world, projectile collision detection is used when the code is determining whether bullets hit the vehicle).  For projectile collision detection, just use some representative meshes from your model.  The WorldBox OBBox must be linked to the origin of the vehicle, and be aligned with the world axes.  It should also be as small as possible while still containing the wheels and bulk of the body of the vehicle.  The physics code in W3D collides with objects in a buffer zone near the surface of the worldbox so it should not completely contain the model.  Below is a screenshot of a WorldBox.  Note how the WorldBox does not extend all the way to the front, top or back of the vehicle.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33026" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.558a2aadf9e3f219ba1804c59dd87951.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33026" data-ratio="74.25" data-unique="kel5fefph" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.1f7725f7f49b2f33f8e250cbb6ec14fe.png"></a>
</p>

<h2>
	<span class="classich3">WorldBox checklist</span>
</h2>

<ul type="disc">
	<li>
		<span>It should be named exactly "WorldBox" (or "WorldBox.00" when part of an LOD model)</span>
	</li>
	<li>
		<span>It should only exist in the top LOD of your vehicle</span>
	</li>
	<li>
		<span>It should be set up to export as an OBBox</span>
	</li>
	<li>
		<span>It should be Hidden</span>
	</li>
	<li>
		<span>It should have its Physical and Camera collision settings enabled</span>
	</li>
	<li>
		<span>It should be the only object in the vehicle model with Physical and Camera collision enabled</span>
	</li>
	<li>
		<span>It should be as small as possible while still containing the wheel contact patches in their initial position (more on this later).</span>
	</li>
</ul>

<h1>
	<span class="classich2">Wheels</span>
</h1>

<p>
	Wheels are defined by adding bones with a particular naming convention into your model.  All vehicles, including VTOL aircraft, have wheels.  At the bare minimum, there must be two bones per wheel; one to define the contact point of the wheel and one to define the center of rotation of the wheel.  The code will use the pivot points of the wheel bones to determine the following things: the initial position of the wheel, the radius of the wheel, the axis that the suspension travels along, and the axis that the wheel rotates about.  The two basic bones needed by each wheel are the "WheelP" (wheel position) bone, and the "WheelC" (center) bone. 
</p>

<p>
	Below is a view of a wheel from the Humm-Vee model (with the WheelP bone selected). Note that the z-axis points along the direction of travel of the suspension and the x-axis points forward.  Also, the pivot point of the WheelP bone must be contained inside the world-box.  The initial position of all wheels should be at their extreme topmost point; imagine that the vehicle has just fallen off a skyscraper and landed directly on its wheels.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33027" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.8f6936d355b5e9449cb48bb2fc1ca325.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33027" data-ratio="74.75" data-unique="ql67gae75" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.3f018b695c6eeadf47b3894f3ab2510e.png"></a>
</p>

<p align="center" style="text-align:center">
	  
</p>

<p>
	Attached to the wheel position bone, you need a bone which defines the center of rotation of the wheel; the WheelC bone.  Below is a view of a wheel with both bones set up.  Again, the important axis is the z-axis, it points along the axis of rotation of the wheel; in the "Top" viewport in Max, the z-axis should be pointing down your monitor (for all four wheels).   
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33028" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.5ee12bd5e468fa5bbe7dfb8b59a2fd0b.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33028" data-ratio="47.50" data-unique="8bengf4qt" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.ef75608e7c48e75a29e3bbcba6582b83.png"></a><span><span id="cke_bm_716E" style="display: none;"> </span></span>
</p>

<p>
	The graphical representation of the wheel is then attached to the WheelC bone and will rotate and translate as the vehicle is simulated.  The simulation pays no attention to the graphical representation of the wheel or even whether it exists or not.  The hierarchical linkage for a simple wheel should look like the one below.  Note that the WheelC bone is attached to the WheelP bone; not the other way around.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33029" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.d414213e2197f8c1e7fea215ed5e1835.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33029" data-ratio="28.50" data-unique="801iiaslp" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.fef2e270fcf0197ffa0695afd322ae90.png"></a>
</p>

<p>
	The 'E' at the end of each of the names above is a flag signifies that this particular wheel applies the engine force at its contact point.  Through this naming convention you can create four-wheel drive, front-wheel drive, or rear-wheel drive wheels.  Other flags that are available include:
</p>

<ul type="disc">
	<li>
		<span>S - The wheel will turn when the vehicle changes its steering parameter.</span>
	</li>
	<li>
		<span>I - The wheel will turn in the opposite direction of the vehicle's steering parameter (rear wheel steering).</span>
	</li>
	<li>
		<span>T - Intended for tilt steering. Currently a clone of the "S" flag</span>
	</li>
	<li>
		<span>E - The wheel will exert the engine force at its contact point</span>
	</li>
	<li>
		<span>L - The wheel is part of the left track of a tracked vehicle</span>
	</li>
	<li>
		<span>R - The wheel is part of the right track of a tracked vehicle</span>
	</li>
	<li>
		<span>F - The wheel is "fake"; it will graphically move with the vehicle but no forces are computed.</span>
	</li>
	<li>
		<span>H - The wheel is a "Hover" wheel; it will ignore any surface friction and drag, and use the default values.</span>
	</li>
</ul>

<p>
	The complete naming convention for a wheel bone is below.  The name always starts with the word 'Wheel', followed by a single character and a two digit number (e.g. WheelP00).  Following the digits, any of the above flags can be added.
</p>

<p align="center" style="text-align:center">
	    <strong>Wheel {P,C,T,F} {00} [S] [I] [E] [L] [R] [F] [H]</strong>
</p>

<p>
	Here are some examples of valid wheel bone names:
</p>

<ul type="disc">
	<li>
		<span>WheelP00ES - The contact point of wheel 00 which has the engine force and steering applied to it</span>
	</li>
	<li>
		<span>WheelC05 - The rotation axis of wheel 05 which only exerts a suspension force and rolls with the vehicle</span>
	</li>
</ul>

<h2>
	<span class="classich3">Advanced Wheel Settings</span>
</h2>

<p>
	You may notice that there are two more types of wheel bones that have not been described yet.  These bones can be used to create wheels whose suspension moves in a manner more complex than simply translating along the z-axis of the WheelP bone.  First I'll show an example of a translational constraint using a WheelT bone.  This example is from the front wheel of the Nod Recon Bike:
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33030" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.51dcb93775ced25112ef511d046cf064.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33030" data-ratio="74.25" data-unique="8omubi0tm" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.bf484c2389aa3dd158698fbd867f489d.png"></a>
</p>

<p>
	The presence of the WheelT bone in a wheel hierarchy causes the wheel to translate along the Z-axis of the WheelT bone rather than the contact point bone.  This is used for the front tire of the Nod Recon Bike.
</p>

<p>
	The rear wheel of a Recon Bike rotates along an arm.  This can be accomplished by using a WheelF bone.  Below is a picture of that situation.  The WheelF bone will be rotated about its Y-axis to maintain contact between the wheel and the ground (see the picture for how to set it up).  This is probably the most complex type of wheel to create...  Look at the Nod Recon Bike for reference.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33031" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.8a2c8cd2be38941abe593e4cb8c436d2.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33031" data-ratio="74.25" data-unique="wokaqjw01" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.70613e658b9d5529120f5f3bd20b61b2.png"></a>
</p>

<h2>
	<span class="classich3">Wheel Checklist</span>
</h2>

<ul type="disc">
	<li>
		<span>Each wheel should have a bone named WheelPxx and WheelCxx (where xx is a two digit number)</span>
	</li>
	<li>
		<span>All wheel bones should have all W3D options disabled except for Export Transform</span>
	</li>
	<li>
		<span>The wheels should be positioned at their extreme topmost position (smashed into the vehicle) and their contact points must be contained inside the world box of the vehicle.</span>
	</li>
	<li>
		<span>The hierarchy should look like this:  Origin-&gt;WheelP-&gt;WheelC-&gt;Graphical Wheel</span>
	</li>
	<li>
		<span>The Z axis of all WheelP bones should point along the direction of travel of the suspension</span>
	</li>
	<li>
		<span>The X axis of all WheelP bones should point towards the front of the vehicle (direction of rolling)</span>
	</li>
	<li>
		<span>The Z axis of all WheelC bones should point along the axis of rotation of the wheel (typically down in the Top viewport)</span>
	</li>
	<li>
		<span>All wheel bones should have their flags set (append an 'E' to the wheels that are attached to the engine, append an 'S' to the wheels that steer, etc)</span>
	</li>
</ul>

<h1>
	<span class="classich2">Turrets</span>
</h1>

<p>
	Vehicles can have turrets which can fire weapons.  The turret aiming motion is generated by the game code as long as certain bones are present in the model.  There are three types of bones involved in controlling a turret.  The 'Turret' bone will be rotated to set the turret's 'heading'.  The 'Barrel' bone will be rotated to set the tilt of the weapon.  And the 'Muzzle' bone will be used as the location to create projectiles from.   Below is a picture of a the turret from the <abbr title="Global Defence Initiative"><abbr title="Global Defence Initiative">GDI</abbr></abbr> Mammoth Tank:
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33032" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.1b022661e6a5d59448511119a08f3d96.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33032" data-ratio="75.00" data-unique="n3g8yep1k" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.4dcbc2ef2d84499dd2778928a0f70b48.png"></a>
</p>

<p>
	In the above picture, you can see that there are several muzzle bones.  All of the bones follow the convention that their axes should be aligned with the world axes; Z is up, X points towards the front of the vehicle, Y points to the left of the vehicle.  If you create your boxes in the 'Top' viewport, they will be oriented in this fashion automatically.  One improvement over the linkage shown above would be to attach the V_Barrels mesh as a child of their Muzzle bones because the game engine automatically applies a recoil to the muzzle bone (attaching them in that way would cause the meshes to recoil when the weapon is fired).
</p>

<h2>
	<span class="classich3">Vehicles with more than a single Barrel bone</span>
</h2>

<p>
	If you have a vehicle with two muzzle bones aligned side by-side and offset from the center, you can make the barrels yaw inwards to meet the target. Using the same naming convention that is used for the Muzzle bones (MuzzleA, MuzzleB etc.) you can setup barrels that behave in this way. For example, a vehicle that is setup with a BarrelA0 and a BarrelA1 bone will automatically yaw it's barrels inwards to make hitting targets a lot easier. Below is a picture of how this can be achieved, using a test model.
</p>

<p align="center" style="text-align:center">
	<strong>(Image of BarrelA0 and BarrelA1 bones in use)</strong>
</p>

<h3>
	<span class="classich3">Vehicles with Gatling barrels</span>
</h3>

<p>
	Vehicles can support barrels that spin, in cooperation with the gatling tech in the weapon definition. To have models with these spinning parts, name the part of the weapon that you wish to spin <strong>spin_barrel_x </strong>(where x is either 0 or 1, as you can only have two.) and adjust the pivot so that the x-axis points in the direction you want the part to spin (this is normally parallel to the barrel. See the below image for an example. The blue gatling barrels are named <strong>spin_barrel_0</strong> and have their pivot with the x axis pointing down the barrels.)
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33033" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.8c5dc44aff3a71b82208a8c6711245d0.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33033" data-ratio="90.91" data-unique="mrmo4hg9f" width="330" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.099c405079effadcca0a32bd54760dd8.png"></a>
</p>

<p>
	Make sure that you still have a Barrel bone, as this does not replace that. Furthermore, make sure that the weapon in use is set up as a gatling weapon! 
</p>

<p>
	<span class="classich3">Turret Checklist</span>
</p>

<ul type="disc">
	<li>
		<span>The model should contain a 'Turret' bone, either a 'Barrel' bone or a BarrelA0 and BarrelA1 bone, as well as one or more muzzle bones. </span>

		<ul type="circle">
			<li>
				<span>There can be up to 26 Muzzle bone 'sets'. e.g. MuzzleA, MuzzleB, MuzzleC, all the way to MuzzleZ.</span>
			</li>
			<li>
				<span>There can be any number of Muzzle bones per Muzzle bone sets. The number of muzzles per set does not have to be equal. e.g. You could have 2 MuzzleA bones, 4 MuzzleB bones and 1 MuzzleC bone, if you so desire.</span>
			</li>
		</ul>
	</li>
	<li>
		<span>The bones should be connected in the hierarchy shown above.</span>
	</li>
	<li>
		<span>Visible meshes in the model should attach to the appropriate bones so that they move when the game logic controls the turret (i.e. the turret mesh should be attached to the turret bone so that it will rotate properly)</span>
	</li>
	<li>
		<span>All of the bones should have their pivot points aligned with the world axes.</span>
	</li>
	<li>
		<span>All bones should have Export Transform enabled and Export Geometry disabled.</span>
	</li>
</ul>

<h1>
	<span class="classich2">Engine Special Effects</span>
</h1>

<p>
	VTOL vehicles can control bones to display engine effects.  Here are some examples of engine effects:
</p>

<ul type="disc">
	<li>
		<span>The flame on the Orca engine lengthens when the vehicle accelerates or climbs (EngineFlame)</span>
	</li>
	<li>
		<span>The Orca engine rotates forward and back as the vehicle accelerates or decelerates (EngineAngle)</span>
	</li>
	<li>
		<span>The rotors on helicopters spin when they are in flight (Rotor/RotorA/RotorB)</span>
	</li>
</ul>

<p>
	Any bone present in the model which starts with the name "EngineFlame" will translate along its Z-axis along with the vehicle's acceleration.  Any bone present which starts with the name "EngineAngle" will rotate about its Z-axis.  In the screenshot below, the EngineAngle bone for one of the Orca engines is selected.  Below it is the EngineFlame bone and not shown is a skin which has vertices attached to both bones and stretches as the EngineFlame translates.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33034" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.5e01945461a5aee8270d00dbcd4fb464.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33034" data-ratio="75.00" data-unique="0xpp1i8m7" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.853d812b06872ce44393bf81caa283c1.png"></a>
</p>

<p>
	Helicopter vehicles can use the EngineAngle bone to tilt their rotors as they fly forwards and backwards.  In addition, they can contain 'Rotor' bones which will spin about their Z-axis when in flight.  The parameters for how much these bones rotate and translate are all controlled through settings in the level editor.
</p>

<h2>
	<span class="classich3">Engine Effects Checklist</span>
</h2>

<ul type="disc">
	<li>
		<span>"EngineAngle" bones will rotate about their Z axis</span>
	</li>
	<li>
		<span>"EngineFlame" bones will translate along their Z axis</span>
	</li>
	<li>
		<span>"Rotor" bones will constantly spin about their Z axis while the object is in flight</span>
	</li>
	<li>
		<span>"RotorA" bones, which are hidden when the rotor angular velocity is above or equal to the RotorBlurThreshold </span>
	</li>
	<li>
		<span>"Rotor</span><span>B" bones, which start hidden and are unhidden when the angular velocity is above or equal to the RotorBlurThreshold</span>
	</li>
</ul>

<h1>
	<span class="classich2">Aircraft Specific Effects</span>
</h1>

<p>
	Aircraft have some extra bones that the game can control to give the appearance of proper flight controls. The engine can simulate the Ailerons, Elevators and Rudders of a plane.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33035" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.2ba75ecc09b0f7c58541d19f0a02f1f9.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33035" data-ratio="61.50" data-unique="xeuc07xa4" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.a52a6d85b4b9abab82c5d21dbdb4af5d.png"></a>
</p>

<p>
	The ailerons control roll, elevators control pitch up and down and the rudder controls yaw left and right. 
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33036" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.2fdb4c740f234183a7d3af5807e1742d.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33036" data-ratio="67.75" data-unique="gy2ezn5x7" width="400" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.00a5e0c708df9dbbe127a270f86070a4.png"></a>
</p>

<p>
	This image shows a full set of flight control surfaces in 3ds Max (Ailerons in green, rudders in red, elevator in blue). Ailerons rotate around the Y-axis, elevators also rotate around the Y-axis and the rudders rotate around the Z-axis. You can have up to six ailerons, six elevators and six rudders per vehicle.
</p>

<h1>
	<span class="classich2">Vehicle Damage</span>
</h1>

<p>
	As a vehicle becomes damaged, the game code can un-hide particular bones in your model.  This can be used to show damage by attaching emitters to those bones since emitters in the model will start emitting when the bone they are attached to becomes un-hidden.   There is support for three stages of damage, activated when the model reaches 25%, 50%, and 75% damage.  When the model loses 25% of its health, all bones whose names begin with DAMAGE25 will be un-hidden.  Once the object has lost 50% of its health, all bones whose names begin with DAMAGE50 will also become un-hidden.  And when it has lost 75%, the DAMAGE75 bones will un-hide. 
</p>

<h1>
	<span class="classich2">Inverse Kinematics</span>
</h1>

<p>
	Vehicles can have a simple inverse kinematic system, with a maximum of 4 pairs of bones. This can be used for hydraulic systems on vehicle turrets, recoil hydraulic absorbers, etc. The system will rotate the two bones along their Y-axis so that they will always point at each other along their X-Axis. To set this up, have two bones, with the same root name and either IK0 or IK1 at the end. For example, in the below image, the two selected bones are named <em>hyd_ik0</em> and <em>hyd_ik1</em>. They face each other along the X-Axis (the red arrow) and they rotate along the Y-axis (which points out of the screen in this side on view). These bones can't be parented to each other, but they can be parented to objects in the scene. For example, in the image, the top IK bone is parented to a barrel bone and the bottom IK bone is parented to the chassis, This will allow the hydraulics in the model slide in and out properly as the barrel pitches up and down.
</p>

<p align="center" style="text-align:center">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="33037" href="https://w3dhub.com/forum/uploads/monthly_2022_01/image.png.86f8e2cf78a87aa82d20c8ca86396448.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33037" data-ratio="102.74" data-unique="f8qj1f1r0" width="292" src="https://w3dhub.com/forum/uploads/monthly_2022_01/image.thumb.png.060938ad38ff5608492432f187316009.png"></a>
</p>

<h1>
	<span class="classich2">Physics Parameters</span>
</h1>

<p>
	All of the actual physics parameters are controlled through the Mammoth level editor.  When creating a vehicle, the first thing you have to do is choose the physics model that it will use.  There are five main physics models for vehicles: WheeledVehicle, TrackedVehicle, Motorcycle, VTOLVehicle and AircraftPhys. 
</p>

<h2>
	<span class="classich3">Parameters common to all vehicles</span>
</h2>

<ul type="disc">
	<li>
		<span>Mass - the mass of the vehicle</span>
	</li>
	<li>
		<span>GravScale - a scale factor that is applied to the gravitational force on the vehicle. This is set to 2.25 for most vehicles.</span>
	</li>
	<li>
		<span>Elasticity - not currently used.</span>
	</li>
	<li>
		<span>AerodynamicDragCoefficient - controls the amount of drag.</span>
	</li>
	<li>
		<span>Spring Constant - spring constant for the suspension (even VTOL vehicles have a suspension)</span>
	</li>
	<li>
		<span>Damping Constant - damping in the suspension springs</span>
	</li>
	<li>
		<span>Spring Length - suspension length, wheels start at their initial position and can translate down this far</span>
	</li>
	<li>
		<span>Traction Multiplier - scales the amount of traction available to the vehicle</span>
	</li>
	<li>
		<span>Lateral Moment Arm - length of the rotational moment arm for lateral forces at the tire contact patches.  this lets us fake the lean of the vehicle when turning without having to adjust the W3D model.</span>
	</li>
	<li>
		<span>TractiveMoment Arm - length of the rotational moment arm for tractive forces at the tire contact patches.  This lets us control how much the vehicle "dives" when it brakes and how much it leans back when accelerating.</span>
	</li>
	<li>
		<span>EngineFlameLength - if the vehicle has an "EngineFlame" bone, this controls how far that bone will translate.  Since this parameter is available to all vehicles (not just the Orca), we could create things like Recon Bikes and cars that have a flame emitting out of their engine.</span>
	</li>
</ul>

<h2>
	<span class="classich3">Parameters specific to ground vehicles</span>
</h2>

<ul type="disc">
	<li>
		<span>MaxEngineTorque - this is the torque that the engine can output.  For tracked vehicles we don't have a sophisticated engine simulation; this torque is simply divided between the wheels and applied (also scaled by user input)</span>
	</li>
	<li>
		<span>EngineTorqueCurveFilename - this is the engine torque curve (relates torque to engine RPM).  These curves are created with the "SimpleGraph" tool</span>
	</li>
	<li>
		<span>Gear Count - number of gears in the transimission</span>
	</li>
	<li>
		<span>GearRatio[0-6] - transmission gear ratios</span>
	</li>
	<li>
		<span>FinalDriveGearRaio - gear ratio in the differential</span>
	</li>
	<li>
		<span>DriveTrainInertia - inertia in the drive train components</span>
	</li>
	<li>
		<span>ShiftUpRpms - point at which the code shifts into a higher gear</span>
	</li>
	<li>
		<span>ShiftDownRpms - point at which the code shifts down to a lower gear</span>
	</li>
	<li>
		<span>MaxSteeringAngle - maximum angle of the steering tires</span>
	</li>
	<li>
		<span>LeanK0 - internal torsional spring constant for motorcycle "balancing"</span>
	</li>
	<li>
		<span>LeanK1 - internal torsional damping constant for motorcycle "balancing"</span>
	</li>
</ul>

<h2>
	<span class="classich3">Parameters specific to VTOL (Vertical Take-Off and Landing) vehicles</span>
</h2>

<ul type="disc">
	<li>
		<span>MaxHorizontalAcceleration - acceleration of the vehicle in the X-Y plane</span>
	</li>
	<li>
		<span>MaxVerticalAcceleration - acceleration of the vehicle along the Z axis</span>
	</li>
	<li>
		<span>MaxFuselagePitch - angle that the vehicle pitches when acclerating forward</span>
	</li>
	<li>
		<span>MaxFuselageRoll - angle that the vehicle rolls when strafing or turning</span>
	</li>
	<li>
		<span>PitchControllerGain - spring constant for the pitch controller</span>
	</li>
	<li>
		<span>PitchControllerDamping - damping constant for the pitch controller</span>
	</li>
	<li>
		<span>RollControllerGain - spring constant for the roll controller</span>
	</li>
	<li>
		<span>RollControllerDamping - damping constant for the roll controller</span>
	</li>
	<li>
		<span>MaxYawVelocity - how fast the vehicle can spin</span>
	</li>
	<li>
		<span>YawControllerGain - how fast the vehicle reaches its MaxYawVelocity</span>
	</li>
	<li>
		<span>RotorSpeed - how fast the 'ROTOR' bones should spin</span>
	</li>
	<li>
		<span>RotorAcceleration - acceleration of the 'ROTOR' bones</span>
	</li>
	<li>
		<span>RotorDeceleration - deceleration of the 'ROTOR' bones</span>
	</li>
	<li>
		<span>RotorBlurThreshold - determines the angular velocity at which RotorA/B bones are swapped. </span>
	</li>
</ul>

<p>
	 
</p>

<p>
	<span class="classich3">Parameters specific to Aircraft</span>
</p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: none; width: 808px;" width="46%">
	<tbody>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p align="center" style="text-align:center">
					<b><span>Parameter</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 106px;">
				<p align="center" style="text-align:center">
					<b><span>Default</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 533px;">
				<p align="center" style="text-align:center">
					<b><span>Short Description</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">MaxEngineThrust</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Maximum thrust produced by the engine</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">MaxReverseThrust</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Maximum reverse thrust, used for reversing on the runway (not realistic, but necessary)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">ThrustGain</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the throttle response speed, i.e how quickly we can throttle from 0 to 100% and back</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">MaxCruisingSpeed</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets an upper limit on the maximum speed of the aircraft</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">ElevatorGain</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the rotation intensity for pitch</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">ElevatorDamping</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets rotation damping for pitch, limits maximum pitching speed</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">AileronGain</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the rotation intensity for roll</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">AileronDamping</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the rotation damping for roll, limits maximum rolling speed</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RudderGain</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the rotation intensity for yaw</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RudderDamping</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the rotation damping for yaw, limits maximum yaw speed</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">LiftCoeff</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Lift coefficient, higher value means aircraft can achieve the same lift at a lower speed (i.e stay in the air while moving slower)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">BrakingAction</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the strength of the brakes, helps stop faster on the runway</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">LandingGearMaxSpeed</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the maximum speed at which the aircraft can move when the landing gear is deployed</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">DihedralWings</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>If set to "true", aircraft's wings are assumed to be dihedral, which means they automatically try to level out the plane if its wings are not parallel with the ground</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RStabilization</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>0.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the intensity of roll stabilization (see: DihedralWings)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">MaxSteeringAngle</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>30.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets the maximum angle that the aircraft's flaps can be rotated to (should be kept between 0 and 45 degrees)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">MaxEngineRotation</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>25.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets maximum engine rotation (for visual effects only)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RotorSpeed</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>360.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets maximum rotor speed (for visual effects only)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RotorAcceleration</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>180.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets rotor acceleration (for visual effects only)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 166px;">
				<p>
					<code><span style="font-size:10.0pt">RotorDeceleration</span></code>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 106px;">
				<p>
					<span>180.0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 533px;">
				<p>
					<span>Sets rotor deceleration (for visual effects only)</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>
]]></description><guid isPermaLink="false">8</guid><pubDate>Mon, 17 Jan 2022 21:03:27 +0000</pubDate></item><item><title><![CDATA[Mammoth Controls & Hotkeys]]></title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/mammoth/mammoth-controls-hotkeys-r10/</link><description><![CDATA[<h1>
	<span>Controls &amp; Hotkeys</span>
</h1>

<h1 id="Controls&amp;Hotkeys-Menuoptions">
	<span><span>Menu options</span></span>
</h1>

<h2 id="Controls&amp;Hotkeys-File">
	<span><span>File</span></span>
</h2>

<p>
	 
</p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<h2 id="Controls&amp;Hotkeys-Control">
					<span>Control</span>
				</h2>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<h2 id="Controls&amp;Hotkeys-Description">
					<span>Description</span>
				</h2>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>New/Ctrl+N</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Start a new level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Open/Ctrl+O</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Open a level. You can also drag-and-drop a .lvl file onto the Mammoth window to open that level in Mammoth.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save/Ctrl+S</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save the current level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save As</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save the current level under a new name.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export to Mix/Ctrl+E</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the current level to a mix file for playing it in-game.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export Always</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export any existing folders named Always/Always2/Always3 to always.dat/always2.dat/always3.dat.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export Objects</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the current preset list as objects.ddb to the game Data folder. This does not save objects.ddb, so the preset modifications will only be saved into the Data folder. Good for playing around with values.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Run Game</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the current level to a mix file then run the game and start that level in skirmish mode.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Recent Files</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The last 10 files opened in this copy of Mammoth.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Exit/Alt+F4</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Exit Mammoth.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Edit">
	<span><span style="color:white">Edit</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Undo/Ctrl+Z</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Undo the last thing you did (moving the currently selected object(s) by dragging it, deleting an object by pressing the delete key or deleting an object by pressing the delete button on the instances tab are the only things that get recorded for undo purposes at this point)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Redo/Ctrl+Y</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Redo the thing you just undid.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Cut/Ctrl+X</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Cut the selected objects.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Copy/Ctrl+C</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Copy the selected objects</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Paste/Ctrl+V</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Paste the objects you cut or copied.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Include Files</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Add files to the list of files required for this level (this is where you can add things like various per-map/per-level ini files, custom loadscreen w3d files/textures etc).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Reparition Culling Systems</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Repartition the culling systems.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Verify Culling Systems</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Verify the culling systems.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Terrain Selectable</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Allows you to select terrain objects and move them.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Music Settings</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Set the background music for the level (only the server host player will hear it in multiplayer).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sky Settings</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Set the sky settings for the level (time of day, sun/moon, moon type and clouds).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Weather Settings</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Set the weather settings for the level (fog, precipitation, lightning and wind).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Level Settings</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Set the Level settings for the level (start script, re-spawn script, map settings).</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Sound">
	<span><span style="color:white">Sound</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Toggle Sound</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Turn sounds on or off</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Objects">
	<span><span style="color:white">Objects</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Drop to Ground/Ctrl+D</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sets whether an object you are dragging should drop to the ground or not.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Lock to X Axis/Alt+X</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Locks object movement (with the mouse or arrow keys) to the X axis.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Lock to Y Axis/Alt+Y</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Locks object movement (with the mouse or arrow keys) to the Y axis.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Lock to Z Axis/Alt+Z</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Locks object movement (with the mouse or arrow keys) to the Z axis.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Lock Objects/Enter</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Locks the currently selected objects so they wont move.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unlock Objects/Ctrl+U</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unlocks the currently selected objects so they can move again.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Replace Selection/Ctrl+H</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Replaces the currently selected objects with a different preset.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Add Point/Ctrl+P</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Adds a car marker object for building controllers, a spawn point object for spawners or a waypoint object for waypaths.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Goto Object</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Moves the camera to look at a specific object.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Check IDs</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Checks for ID collisions in the level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Fix ID Collisions</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Fixes any ID collisions in the level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Remap Unimportant IDs</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Remaps the IDs of any objects who's ID doesn't matter.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Remap IDs</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Remaps the IDs of the currently selected objects.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export All Tiles</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Exports all the tiles in the level as proxies to a w3d file. (good if you want to have those objects proxied in rather than being placed in LE).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export Placed Tiles</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Exports all the tiles that aren't proxied in as proxies to a w3d file.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-View">
	<span><span style="color:white">View</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Show Static Anim Objects/Ctrl+Shift+T</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Shows/hides all the StaticAnimPhys objects (including doors and elevators).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Show Editor Objects</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Shows/hides all the editor only objects.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Enable Fog</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Enables/disables the rendering of fog in the level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Depth -50/Alt+Minus</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Adjusts the camera depth by -50.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Depth +50/Alt+Plus</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Adjusts the camera depth by +50.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Goto Location/Ctrl+G</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Moves the camera to a specific location.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Front/Ctrl+F</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the front.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Back/Ctrl+B</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the back.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Left/Ctrl+L</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the left.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Right/Ctrl+R</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the right.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Top/Ctrl+T</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the top.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Bottom/Ctrl+M</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Points the camera at the bottom.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Pathfinding">
	<span><span style="color:white">Pathfinding</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Generate</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Generates pathfinding for the level.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Discard Data</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Discard pathfind data.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Display Sectors</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Show Pathfind sectors.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Display Portals</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Show pathfind portals.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Display Web</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Show pathfind path web.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Lighting">
	<span><span style="color:white">Lighting</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Rebuild Static Vertex Lighting</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Build the lighting for the level. (this is the same as the Vertex Solve option in the Westwood Level Editor)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Edit Sunlight</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Change the sunlight settings.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Edit Ambient Light</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Edit the ambient light settings.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Count Lit Objects</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Display the number of objects that can be lightsolved in the level.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Tools">
	<span><span style="color:white">Tools</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Build Shader Cache</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Build a shader cache file.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export Level Asset Report</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export a file listing the assets this level references/requires.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Presets">
	<span><span style="color:white">Presets</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the presets to a Javascript file.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export Temps</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the temp presets to a Javascript file.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save Presets</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save the current presets.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save Temps</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Save the current temp presets.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export To Text</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export the presets to a tab delimited text file.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2>
	 
</h2>

<h2 id="Controls&amp;Hotkeys-Strings">
	<span><span style="color:white">Strings</span></span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Export IDs</span>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Generate a string_ids.h file for the current strings.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Edit Strings</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Open a new dialog to edit the string table in the game. This contains all the translatable text in the game, from menu items to unit names.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h1 id="Controls&amp;Hotkeys-Objectmanipulation">
	<span><span style="color:white">Object manipulation</span></span>
</h1>

<h2 id="Controls&amp;Hotkeys-Selection">
	<span><span>Selection</span></span>
</h2>

<ul>
	<li>
		Clicking on an object in the window with the left mouse button will select that object and deselect any currently selected objects.
	</li>
	<li>
		Ctrl+click will add that object to the currently selected objects or remove it if its already selected.
	</li>
	<li>
		Alt+Click will create a clone/duplicate of the currently selected object(s) at the position of the original(s) (the mouse has to be above one of the selected object(s). If nothing was selected, the object the mouse is above will be cloned.
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-Edit.1">
	<span><span>Edit</span></span>
</h2>

<ul>
	<li>
		Pressing the delete key will delete the currently selected objects.
	</li>
	<li>
		Double clicking on an object in the window with the left mouse button will open the object edit dialog for that object.
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-Move">
	<span><span>Move</span></span>
</h2>

<ul>
	<li>
		Moving the mouse while holding down the left mouse button will move the currently selected objects. If you hold down the Shift key it will move in the Z axis otherwise it moves in the X and Y axis. If the Lock To Axis menu options are enabled, movement is restricted to that axis.
	</li>
	<li>
		Pressing the left, right, up or down arrow keys will move the currently selected object(s) in the x and y axis. Holding Shift will make the up and down arrow keys move the object in the z axis. These movement keys are not affected by the "lock to axis" menu options.
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-Rotate">
	<span><span>Rotate</span></span>
</h2>

<ul>
	<li>
		Holding Ctrl and pressing the 8 and 2 keys on the keypad will rotate the currently selected objects around the x axis. Holding the 0 key on the keypad will increase the speed (but note that the speed set by the + and - keys has no effect on the speed used in this case).
	</li>
	<li>
		Holding Ctrl and pressing the 9 and 7 keys on the keypad will rotate the currently selected objects around the y axis. Holding the 0 key on the keypad will increase the speed (but note that the speed set by the + and - keys has no effect on the speed used in this case).
	</li>
	<li>
		Holding Ctrl and pressing the 6 and 4 keys on the keypad will rotate the currently selected objects around the z axis. Holding the 0 key on the keypad will increase the speed (but note that the speed set by the + and - keys has no effect on the speed used in this case).
	</li>
	<li>
		Holding Ctrl and pressing the 5 key on the keypad will reset the rotation of the currently selected objects.
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-Scriptzonesizing">
	<span><span>Script zone sizing</span></span>
</h2>

<ul>
	<li>
		If a Script Zone or Damage Zone object is selected, holding Ctrl and pressing the left, right, up or down arrow keys will resize the zone in the x and y axis. Holding Shift will make the up and down arrow keys resize the zone in the z axis. Holding the 0 key on the keypad will increase the speed (but note that the speed set by the + and - keys has no effect on the speed used in this case).
	</li>
</ul>

<h1 id="Controls&amp;Hotkeys-Cameramovement">
	<span><span>Camera movement</span></span>
</h1>

<h2 id="Controls&amp;Hotkeys-Mouse">
	<span><span>Mouse</span></span>
</h2>

<ul>
	<li>
		Pressing the middle mouse button (normally the mouse wheel on a wheel mouse) and moving the mouse will pan the level left/right/up/down.
	</li>
	<li>
		Pressing the right mouse button and moving the mouse will rotate the level up/down/left/right about the current camera position.
	</li>
	<li>
		Scrolling the mouse wheel will move the camera into and out of the level.
	</li>
	<li>
		Special mouses: using your mouse button 4/5 will rotate around an object/terrain in the center of the screen. Using the alternative ALT key before clicking will center around an object. If no object is found, it will rotate around a point 40 units in front of the camera.
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-Numpad">
	<span><span>Numpad</span></span>
</h2>

<ul>
	<li>
		Holding 0 on the keypad will increase the movement speed of the camera and object movement keys mentioned below. Holding Ctrl and pressing the + or - keys on the keypad will increase or decrease the speed used for this feature.
	</li>
	<li>
		Pressing 8 or 2 on the keypad will move the camera into and out of the level.
	</li>
	<li>
		Turning on the Caps Lock and pressing 8 or 2 on the keypad will move the camera forward and back along the xy plane.
	</li>
	<li>
		Pressing 9 or 3 on the keypad will rotate the camera up and down.
	</li>
	<li>
		Pressing 4 or 6 on the keypad will rotate the camera left and right.
	</li>
	<li>
		Holding alt and pressing 4 or 6 on the keypad will pan the camera left and right.
	</li>
	<li>
		Pressing 7 or 1 on the keypad will pan the camera up and down.
	</li>
	<li>
		Pressing 5 on the keypad will centre the camera
	</li>
</ul>

<h2 id="Controls&amp;Hotkeys-WASDkeys">
	<span><span>WASD keys</span></span>
</h2>

<ul>
	<li>
		Holding SHIFT on the keypad will increase the movement speed of the camera when using WASD keys.
	</li>
	<li>
		Pressing A or D will pan the camera left and right
	</li>
	<li>
		Pressing W or S will move the camera into and out of the level.
	</li>
	<li>
		Turning on the Caps Lock and pressing W or S on the keypad will move the camera forward and back along the xy plane.
	</li>
</ul>

<p>
	 
</p>
]]></description><guid isPermaLink="false">10</guid><pubDate>Wed, 26 Jan 2022 19:57:23 +0000</pubDate></item><item><title>Human / Phys3</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/phys-types/human-phys3-r11/</link><description><![CDATA[<h2>
	<span>Ground Movement</span>
</h2>

<p>
	TBD
</p>

<p>
	 
</p>

<h2 id="Human/Phys3-Swimming">
	<span>Swimming</span>
</h2>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none">
	<colgroup>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Parameter</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Description</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Swimming Model</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If the Infantry changes model when swimming, it is configured here. i.e. An infantry that gains a scuba suit when swimming.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Water Color</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The colour of the water overlay</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterOpacity</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The opacity of the screen when underwater.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Submerged Fog Effect</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What effect to use when submerged. Usually a simple object.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Water Fog Colour</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The colour of the distance fog when underwater.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterFogStart</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The distance the fog starts at when the player is submerged.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterFogEnd</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The distance the fog ends at when the player is submerged.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DrownTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>When diving, how it takes for the player to begin drowning. Measured in seconds</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>StartDrownSequence</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>When diving, this is the time that the warning effects begin to kick in to tell the player that they are drowning. Measured in seconds. Should ideally be less than DrownTime.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DrownDamage</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Damage that the player takes per tick when they are drowning.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DrownDamageTickTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How often the player is damaged when they are drowning. Measured in seconds.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CatchBreathFactor</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How quickly it takes a player to catch their breath after they surface from diving.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterDamageDelayTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long it takes before the player takes damage when they are swimming.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterDamageDelayTimeRecover</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Cooldown time of water damage if the player quickly leaves the water and returns. Measured in seconds. e.g. If set to 2 seconds, if a player leaves the water when taking damage and re-enters within 2 seconds, they will begin taking damage again much sooner.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterDamageAmount</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Damage that the player takes per tick when they are swimming.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterDamageTickTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How often the player is damaged when they are swimming. Measured in seconds.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>WaterDamageWarhead</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The warhead that the damage dealt via water uses.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Swimming Skin</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The infantry skin that this character should use whilst swimming. e.g. Use this is you want infantry to take less damage when in water. Values defined in armor.ini</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Swimming Armor</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The infantry armour/shield that this character should use whilst swimming. e.g. Use this is you want infantry to take less damage when in water. Values defined in armor.ini</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	<span> </span>
</p>
]]></description><guid isPermaLink="false">11</guid><pubDate>Wed, 26 Jan 2022 20:02:03 +0000</pubDate></item><item><title>Weapon Parameters</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/weapons/weapon-parameters-r12/</link><description><![CDATA[<h1>
	<span>Weapons</span>
</h1>

<p>
	Weapons are one of the key parts of the engine. Without weapons you can't shoot things. Weapons here aren't just limited to infantry carried weapons, vehicles also use these too.
</p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none" width="78%">
	<colgroup>
		<col>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Parameter</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Default</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Description</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Style</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>---</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The weapon's holding style in third person. More details can be found below.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Model</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The weapon's third person model. Usually this is in the form of w_&lt;weap&gt;.w3d</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IdleAnim</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>???</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FireAnim</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>???</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BackModel</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The model used for when the weapon is on the third person model's back. Usually this is in the form of w_&lt;weap&gt;_b.w3d</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SwitchTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long it takes to swap to and from this weapon, in seconds.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ReloadTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How long it takes to reload the weapon, in seconds.
				</p>

				<p>
					PerBulletReload note: if this option is enabled,then this is how long it takes to do one reload cycle)
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>KeyNumber</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What number key is used to select the weapon.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CanSnipe</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does this weapon have a sniper scope?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Rating</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EjectVelocity</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>2.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The velocity of the ejected bullet casing</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EjectRandomness</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How random the ejected casing velocity is, plus or minus this number.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EjectTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long after firing is a casing ejected</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EjectPhysDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Opens a window that allows you to define the casing model and such. More details are found below.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">EjectIsShotgunShell</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">When the casing is ejected, will it make shotgun shell sounds (defined in SurfaceEffects.ini under &lt;surface&gt;_Shell Shotgun) when it hits the ground?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MuzzleFlashPhysDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Allows you to define a model for the muzzle flash.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FirstPersonModel</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The model used for the first person view. NOTE: This must be named in the format F_GM_&lt;WEAP&gt;, and there are further dependencies. See &lt;tbd&gt; for more information on view models.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FirstPersonOffset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000,0.000,0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The 3d offset of the first person view model.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilImpulse</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much force will this weapon impart on the user when it fires.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>HUDIconTextureName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ReloadSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					What sound is played when the weapon is reloaded
				</p>

				<p>
					PerBulletReload note: if this is enabled, the reload sound will be played every reload cycle
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EmptySoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What sound is played when the player tries to fire, but the weapon has no bullets (and can't reload).</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SelectSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What sound is played when the player selects this weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DeselectSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What sound is played when the player deselects this weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>PrimaryAmmoDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What does the weapon fire on a left click. Links to an Ammo definition. Required.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SecondaryAmmoDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What does the weapon fire on a right click. Links to an Ammo definition. This isn't required.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>PrimaryFireMuzzleSetEditor</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>A</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Which set of barrels does the primary fire come out of? (E.g MuzzleA, MuzzleB, etc. Put the letter of the muzzle set in)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SecondaryFireMuzzleSetEditor</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>B</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Which set of barrels does the secondary fire come out of? (E.g MuzzleA, MuzzleB, etc. Put the letter of the muzzle set in)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BypassSameAmmoMuzzleSelectLogic</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If a weapon has the same ammo set for both primary and secondary, then by default the code will automatically default to ignoring the secondary muzzle set. Set this to make the code instead use both sets of muzzles based on primary/secondary fire, rather than just using the same muzzle.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ClipSize</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How many bullets does the weapon hold in one clip? -1 means the weapon can shoot infinitely with no reloading.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MaxInventoryRounds</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>100</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How many bullets can the weapon hold to reload with. -1 means infinite reloads.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long will the gun's visual recoil take? For this, the muzzle on vehicles will recoil, and the character's arms and such will recoil.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilScale</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How far will the gun recoil? For this, the muzzle on vehicles will recoil, and the character's arms and such will recoil.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AGiveWeaponsWeapon</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Will this weapon be granted to the player if the function SoldierGameObj::Give_All_Weapons is called?
				</p>

				<p>
					If the Allweapons console command is used and this is ticked, then this weapon will be given to the client the command points to.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconNameID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What string is displayed in the hud in the weapon's information area?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconTextureName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What icon is the weapon using.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconTextureUV</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Where on the IconTextureName texture is the icon? X1 is left, X2 is right, Y1 is top, Y2 is bottom.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconOffset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How far is the icon offset from it's default position?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>HumanFiringAnimation</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What animation does the character use when they are firing this weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ScopeTexture</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					If the weapon has a scope, what texture is used for the scope?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>UniformScope</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Will the scope texture be stretched to match the aspect ratio?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MaxZoom</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How far in can the scope zoom?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MinZoom</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What's the most zoomed out the scope can be?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GlobalFireSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This sound will be played across the map when the weapon is fired.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AreaEffectWeapon</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does this weapon do AOE damage instead of firing a bullet?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AreaEffectWeaponAffectOwner</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the AOE damage effect the owner?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AreaEffectWeaponAffectFriendly</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the AOE damage effect friendlies?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AreaEffectWeaponAffectEnemy</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the AOE damage effect enemies?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AreaEffectWeaponAffectNeutral</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the AOE damage effect neutral objects?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAddWalking</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much spray does jumping add to the weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAddWounded</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much spray does being wounded add to the weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAddWalking</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much spray does walking add to the weapon? (Note, this isn't running.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAddCrouching</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much spray does being crouched add to the weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAddSprinting</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much spray does sprinting add to the weapon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Accuracy Recovery Rate <span style="color:black">(Movement) </span>(deg/sec)</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.573</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much does the spray reduce each second?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">Accuracy Recovery Rate (Weapon) (deg/sec)</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-57.296</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much does the weapon's spray bloom get reduced by each second?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsSuperweaponBeacon</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Always true.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>PerBulletReload</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Each reload adds a single bullet to the magazine.
				</p>

				<p>
					<span style="color:black">If this is ticked, the weapon will reload to full, reloading one bullet (or more) at a time. Read the end of the document to find out how exactly this works, as there's a lot to it.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">BulletsPerPBReload</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How many bullets are added to the magazine per reload cycle, if PerBulletReload is enabled.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">PBReloadStartTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much extra time is added to the reload if this is the start of the reload?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">PBReloadEndTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much time does the end of the reload (after the magazine is filled with bullets) take?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">PBReloadLoopFrame</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What frame of the first person animation does the first person reload animation loop to?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">PBReloadEndSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What sound does the weapon play at the end of the reload, while it's finishing.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FirstPersonAnim</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This tells the first person view model to use another weapon's animations. Must be entered in the form of F_GM_XXXX.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoTiltWhileReloading</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the third person model tilt down while reloading?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AllowEmptyShots</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Can this weapon fire when the ammo is empty?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>HideWhenEmpty</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Can this weapon be selected if it's got no ammo?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsCooldownAbility</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Is this a weapon that goes on cooldown instead of reloading? (Uses Reload Time as Cooldown Time)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsQuickCastAbility</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span title=""><span>Is this a weapon that fires upon being switched to and then switch back to the last held weapon?</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AutoSwitchOnFire</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span title=""><span>Does the Cooldown Ability weapon switch to the last held weapon after firing?</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AutoSwitchDelay</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.2</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span title=""><span>If the Cooldown Ability weapon auto switches after firing, how long should this switch be delayed by?</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DelayedChargeFire</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span title=""><span>Can the charge bar or Cooldown Weapon be held with the fire key, to be fired upon releasing the fire key?</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CannotFireWithoutLock</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This weapon cannot fire without a lockon</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RequireCrouch</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>When this weapon is equipped, the owner is forced to crouch</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>PostSprintSwitchTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The time between coming out of a sprint and being able to fire the weapon</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">RecoilPattern</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Arc</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">What pattern does the recoil use? </span>
				</p>

				<p>
					<span style="color:black">Circle - Will go in a 360 direction around the aim point.</span>
				</p>

				<p>
					<span style="color:black">Arc - Will go in a slice, with the direction in the RecoilBias direction.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilSize</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">How big is the recoil?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilBias</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0,0.</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">What direction is the recoil? This is an X,Y axis.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilRandProb</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span style="color:black">How often will the recoil go in a truly random direction instead of the RecoilPhysBias direction?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilArcSize</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How wide the arc of the "Arc" recoil pattern is, in degrees.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilResist</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How well can the recoil be "resisted" by the weapon. This reduces the effect of recoil, but doesn't reset the weapon when done firing.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilResistMulJumping</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td rowspan="4" style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Modifies the recoil resistance. Values greater than one make it worse, less than 1 make it better.</span><br>
					 
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilResistMulInjuring</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilResistMulCrouching</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilResistMulScoped</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilRecovery</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This controls how quickly the weapon will return to it's original aim point.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilFirstShotMultiplier</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much is the recoil strength multiplied on the first shot?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilAimpointStatic</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If this is enabled, then when the recoil hits the edge of the recoil range, then it will not travel any further. If disabled, this will continue to move the weapon up and shift the original aimpoint up as well.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>UseGattlingLogic</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					If enabled, the weapon will spin up/down when firing, like a minigun. There are bones associated with this. (Check in Vehicle/Weapon rigging pages)
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GattlingWarmUpTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long does the weapon take to spin up?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GattlingWarmDownMultiplier</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This controls how long it takes the weapon to spin back down after stopping. If Warm up time is 1.0 and the Warm down multiplier is 0.5, then the weapon will take 2 seconds to spin down. If it is 2.0, then the weapon will take half a second to spin down.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GatlingMinimumContSoundPitch</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What is the pitch of the ContinuousMotorSound when the gun is starting to spin?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GatlingMaximumContSoundPitch</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What is the pitch of the ContinuousMotorSound when the gun is at full speed?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GatlingCannotFireWhileWarmingUp</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Can the weapon fire while it's still spinning up to max RPM? (A Yuri's Revengesque Gatling weapon would be set to false, while a generic gatling from most other games would be set to true.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GatlingSpinningStopsDuringReload</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the weapon spin down during the reload process?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GatlingContinuousMotorSoundID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Controls what sound is playing when the gatling motor is spinning. This plays even if the weapon is not firing.
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	<span> </span>
</p>
]]></description><guid isPermaLink="false">12</guid><pubDate>Wed, 26 Jan 2022 20:19:58 +0000</pubDate></item><item><title>Ammo Parameters</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/weapons/ammo-parameters-r13/</link><description><![CDATA[<p>
	A weapon cannot fire without an ammo type.
</p>

<p>
	 
</p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse; border:none" width="63%">
	<colgroup>
		<col>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<b><span>Parameter</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<b><span>Default</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<b><span>Description</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Ammo Type</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Normal</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This determines if the ammo is just a regular bullet, or a type of C4 explosive.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ModelFilename</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What is the W3D model that this projectile fires</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ShouldPrelight</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the bullet have dynamic lighting applied to it, or is it full bright?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Warhead</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>(can vary)</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					What warhead (from armor.ini) does the ammo have?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Damage</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much damage does the weapon do per shot?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DamageAfterFalloff</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					After the weapon has gone beyond DamageFalloffRangeEnd meters, how much damage does it do? This is interpolated between the full damage and this damage in between DamageFalloffRangeStart and DamageFalloffRangeEnd.
				</p>

				<p>
					(Eg. A shot with Damage=10, DamageAfterFalloff=1, DamageFalloffRangeStart=25, DamageFalloffRangeEnd=75 will do 10 damage up to 25 meters, 5 damage at 50 meters and 1 damage at 75 meters and beyond.)
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Range</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>10</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How far (in meters) can this projectile go? The weapon actually goes about 20% further than this, however, if it uses a projectile. Hitscan weapons will stop exactly at this distance.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DamageFalloffRangeStart</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Where does the damage falloff start, in meters. If set to -1, then the weapon does not use falloff.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DamageFalloffRangeEnd</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Where does the damage falloff end, in meters. If set to -1, then the weapon does not use falloff.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>EffectiveRange</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>10</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What is the optimum range to use this weapon at? This is primarily used for AI bots.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TargettingRange</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					At what range does the targeting box turn up? This is traditionally set 20% higher than the weapon's range, to make that match the ACTUAL range.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Velocity</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How fast in m/s does the projectile go? Note: If a projectile is over a certain velocity (set in HitscanVelocityThreshold, in General under Global Settings&gt;General in Mammoth, usually it's 1000m/s) then the projectile will be hitscan, and hit instantly.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ProjectileExtent</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000, 0.000, 0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How big is the projectile? If it's all set to 0, then the projectile will be a point. Length, width, height.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsDamageZone</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If this is set, then the weapon that uses it will just "project" damage, in a ProjectileExtent zone in front of the muzzle. This damage will always hit.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Gravity</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much gravity does the projectile have, simulating a ballistic curve.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Elasticity</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How "bouncy" is the projectile?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Rate of Fire</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How fast does the weapon fire. This is in Rounds per Second, to convert to RPM, divide the RPM by 60.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAngle</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How wide is the weapon's cone of fire in degrees.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayAngleIncreasePerShot</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much does the spray angle increase after every shot?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MaxSprayAngle</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What's the biggest the increased spray can be?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IgnoreSprayAngleIncrease</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Does the gun ignore the increased spray angle?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayCount</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How many shots per shot does the weapon fire? (A rifle will most likely fire 1 shot, a shotgun would fire multiple.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SprayBulletCost</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How many bullets out of the weapon's clip does this ammo use up per shot?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AquireTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BurstDelayTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					If the weapon fires a burst, how long does it take between bursts? (A weapon could have a higher ROF with a longer burst, and a normal full auto mode with a normal ROF.)
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BurstMax</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How many shots constitute a burst? The gun will fire this many shots before stopping. (If the weapon is out of ammo during the burst, the gun won't fire after reloading.)
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsSemiAutomatic</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IF set to true, then you will have to re-click every time you want to fire a shot.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>SoftPierceLimit</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If set up right, then a shot from this weapon will penetrate this many objects?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TurnRate</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If the projectile is tracking, then it will turn this many degrees per second to try and hit it's target.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TimeActivate</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If set to true, then the weapon will explode at the end of it's lifespan.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TerrainActivated</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If set to true, then the weapon will explode when it hits the terrain.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ExplosionDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>When the projectile explodes (if it reaches the end of it's travel or if it hits the terrain and the appropriate flags are set), this explosion will be spawned.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RandomTrackingScale</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How far off the target will this projectile track to, roughly?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DisplayLaser</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Creates a debug box between the the muzzle and the point the weapon would hit.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ChargeTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long does this ammo take to fire? Charge flags might need to be set.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ContinuousSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This sound will play continuously while the weapon fires.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FireSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This sound will play every time it fires.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>FirstFireSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>This sound will play on the first shot of the burst.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ContinuousEmitterName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					This emitter will be emitted from the muzzle continuously while the weapon fires.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>MaxBounces</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How many times will this projectile bounce off the terrain?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IgnoreCollisionWithParentOfOwner</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Will the shots hit an object that is the parent of the firer? Useful for multi-turreted vehicles.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerTime1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td rowspan="9" style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>I honestly don't know what these do.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerTime2</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerTime3</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerRange1</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerRange2</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TriggerRange3</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TimingSound1ID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TimingSound2ID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TimingSound3ID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4DisallowSoldierAttach</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Can this C4 be attached to soldiers?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4IsMCTOnly</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Can this C4 be attached only to MCT objects?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4TransferDamageToAttachedObject</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>When another player shoots this object, does the damage pass through to the object that it is attached to?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4PersonalLimit</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The limit of C4s that one player can have in the world at one time. 0 = infinite.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>C4DoTTickRate</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>4</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>The tick rate for damage over time C4 Objects. i.e. 4 = once every 4 seconds. Damage is set in the regular Damage field of the ammo preset.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AliasedSpeed</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If a weapon's tracer or bullet projectile is clipping into the gun when firing, tweak this setting to offset the tracer object forwards to prevent clipping.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>HitterType</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Bullet</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What surface effect does this bullet generate when it hits something?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeaconObject</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What beacon object does this ammo spawn when fired, if the weapon is a beacon?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamEnabled</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does this weapon have a bullet beam effect? (This is most useful on hitscan weapons.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamColor</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000, 1.000, 1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>An RGB triplet for the beam colour, in 0-1 space. (To convert from regular RGB, divide the values by 255.)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.300</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long does the beam last for?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamWidth</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.250</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How wide is the beam, in meters?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamEndCaps</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the beam taper off and finish at the ends of the beam?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamTexture</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>What texture does the beam have?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamSubdivisionEnabled</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the beam subdivide and jink about? This is useful for electrical weapons, such as tesla weaponry.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamSubdivisionFrozen</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Does the subdivision stay as is when it is generated? If true, what the beam starts as is how it stays, false and the beam will dynamically animate around.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>BeamSubdivisionScale</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>1.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How big is the subdivision? How much does it jink about?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconNameID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Used in the HUD for displaying the weapon's current firing mode.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconTextureName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconTextureUV</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IconOffset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Unused</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>GrenadeSafetyTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If a projectile explodes, how long does it have to have been flying through the air before it will actually explode?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ProjectileAnimation</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					If the ammo's model has an animation, if this is ticked, it will be played as the projectile flies through the air.
				</p>

				<p>
					Useful for C4 with a timer animation on them.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Thrown C4 Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If this is C4, what is the C4 Preset that it uses to represent it?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DisableHitscan</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If the ammo's velocity is above the hitscan threshold, having this ticked will ignore that threshold and instead create it as a physically simulated bullet as normal.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AutoAdjustMuzzlesOnEnemyTarget</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If enabled, the muzzles of the weapon will point towards an enemy target, if that target is under the aiming reticule.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CanShatterMeshes</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>true</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If disabled, this projectile will not shatter meshes that are set to "Shatter" in 3DS Max.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsTracking</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					Does this ammo track (it will attempt to fly to the point under the reticule or the target under the reticule)?
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TrackingIgnoreTarget</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>If set, the ammo won't track targets, it will only attempt to fly to the point under the reticule at fire time.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>TrackingLockTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					How long does it take the weapon to lock? This is most useful with an appropriate texture set for a locking indicator in hud.ini.
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>UntrackTime</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How long does a weapon stay locked, once locked? This is useful for fast movers that can't maintain a lock on for very long, and yet need to be locked on to a target.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>RecoilStrength</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0.000</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>How much recoil strength does this ammo type impart to the gun. See the recoil page for more details.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CanLockOnto...</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>All ticked</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					These tickboxes determine the type of vehicles that this ammo type can lock onto. This is based on the Type field in a vehicle object. There are 9 types:
				</p>

				<ul type="disc">
					<li>
						<span>Car</span>
					</li>
					<li>
						<span>Tank</span>
					</li>
					<li>
						<span>Bike</span>
					</li>
					<li>
						<span>Aircraft_VTOL</span>
					</li>
					<li>
						<span>Turret</span>
					</li>
					<li>
						<span>Boat</span>
					</li>
					<li>
						<span>Sub</span>
					</li>
					<li>
						<span>Hover</span>
					</li>
					<li>
						<span>Aircraft_CTOL</span>
					</li>
				</ul>

				<p>
					These are all fairly arbitrary, and need to be set up correctly in the vehicles to make sense. This is useful for something like a stinger missile, where it should only lock onto aircraft. (Combined with the CannotFireWithoutLock flag in the weapon, this can feel really nice.)
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	<span> </span>
</p>
]]></description><guid isPermaLink="false">13</guid><pubDate>Wed, 26 Jan 2022 20:21:07 +0000</pubDate></item><item><title>Elevator Phys</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/phys-types/elevator-phys-r14/</link><description><![CDATA[<p>
	The ElevatorPhys type is used to create tiles that act as elevators from one floor to another. These elevators are very simple, 2 floor elevators, and can only move vertically.
</p>

<p>
	 
</p>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border: none; width: 758px;" width="52%">
	<colgroup>
		<col>
		<col>
		<col>
		<col>
	</colgroup>
	<tbody>
		<tr>
			<td style="border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Setting Name</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Type</span></b>
				</p>
			</td>
			<td style="border-left:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p align="center" style="text-align:center">
					<b><span>Default Value</span></b>
				</p>
			</td>
			<td style="border: 1pt solid windowtext; padding: 3.75pt; width: 588px;">
				<p align="center" style="text-align:center">
					<b><span>Description</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ModelName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>W3D filename</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>NULL</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What W3D file is used for this elevator?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsNonOccluder</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>bool</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>false</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>Does this object not block VIS? (Unsure)</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Collision Group</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Collision Group</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Terrain</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What collision group does this object belong to? This controls what objects can collide into this.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Visibility Mode</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				 
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsLightPassthrough</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				 
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>IsCosmetic</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				 
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoesCollideInPathfind</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				 
			</td>
		</tr>
		<tr>
			<td colspan="4" style="border: 1pt solid windowtext; padding: 3.75pt; width: 757px;">
				 
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CollisionMode</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td rowspan="3" style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>Ignore these settings, the elevator code controls all animations. AnimationName could potentially be used to have a different animation than the elevator's default, however.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AnimationMode</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>AnimationName</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
		</tr>
		<tr>
			<td colspan="4" style="border: 1pt solid windowtext; padding: 3.75pt; width: 757px;">
				<p align="center" style="text-align:center">
					<b><span>Texture Projector Settings - Ignore; they don't work.</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td colspan="4" style="border: 1pt solid windowtext; padding: 3.75pt; width: 757px;">
				<p align="center" style="text-align:center">
					<b><span>Shadow Settings - Unsure on what they do</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>LockCode</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>integer</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>0</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>This controls what keycard unlocks this elevator. It is the same as the DoorPhys lock codes.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>CloseDelay</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>float</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>2.000</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>Unused</span>
				</p>
			</td>
		</tr>
		<tr>
			<td colspan="4" style="border: 1pt solid windowtext; padding: 3.75pt; width: 757px;">
				<p align="center" style="text-align:center">
					<b><span>Frame Numbers</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorClosedTop_FrameNum</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>float</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>On what frame of the animation are the doors fully closed, when the elevator is at the top.</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorOpeningBottom_FrameNum</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>float</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>On what frame of the animation do the doors start opening, when the elevator is at the bottom?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ElevatorStartTop_FrameNum</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>float</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>On what frame of the animation does the elevator start moving from the top to the bottom?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ElevatorStoppedBottom_FrameNum</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>float</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>-1.000</span>
				</p>
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>On what frame of the animation does the elevator stop moving when it reaches the bottom?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td colspan="4" style="border: 1pt solid windowtext; padding: 3.75pt; width: 757px;">
				<p align="center" style="text-align:center">
					<b><span>Sounds</span></b>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorOpenSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sound Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What sound do the elevator doors make when they open?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorCloseSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sound Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What sound do the elevator doors make when they close?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorUnlockSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sound Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What sound do the elevator doors make when you unlock them (if the door is locked)?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>DoorAccessDeniedSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sound Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What sound do the elevator doors make when you try to open them (if the door is locked and you don't have the right keycard)?</span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-top:none; border:solid windowtext 1.0pt; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>ElevatorMovingSoundDefID</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				<p>
					<span>Sound Preset</span>
				</p>
			</td>
			<td style="border-bottom:solid windowtext 1.0pt; border-left:none; border-right:solid windowtext 1.0pt; border-top:none; padding:3.75pt 3.75pt 3.75pt 3.75pt">
				 
			</td>
			<td style="border-bottom: 1pt solid windowtext; border-left: none; border-right: 1pt solid windowtext; border-top: none; padding: 3.75pt; width: 588px;">
				<p>
					<span>What sound does the elevator make as it moves? Note: This requires a bone in the elevator W3D called </span><code><span style="font-size:10.0pt">ELESOUND</span></code><span> for the sound to play.</span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	<span> </span>
</p>
]]></description><guid isPermaLink="false">14</guid><pubDate>Wed, 26 Jan 2022 20:27:31 +0000</pubDate></item></channel></rss>
