<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://codresearch.dev/index.php?action=history&amp;feed=atom&amp;title=Weapon_Asset_%28MW2%29</id>
	<title>Weapon Asset (MW2) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://codresearch.dev/index.php?action=history&amp;feed=atom&amp;title=Weapon_Asset_%28MW2%29"/>
	<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;action=history"/>
	<updated>2026-07-28T16:02:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=528&amp;oldid=prev</id>
		<title>Aerosoul94 at 22:49, 14 September 2014</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=528&amp;oldid=prev"/>
		<updated>2014-09-14T22:49:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:49, 14 September 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l232&quot;&gt;Line 232:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 232:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    const char * * szXAnimsL;        //Count = 37&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    const char * * szXAnimsL;        //Count = 37&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szModeName;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szModeName;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*noteTrackSoundMap[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0x10&lt;/del&gt;])[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&gt;];&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*noteTrackSoundMap[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&gt;])[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0x10&lt;/ins&gt;];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*noteTrackRumbleMap[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0x10&lt;/del&gt;])[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&gt;];&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*noteTrackRumbleMap[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&gt;])[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0x10&lt;/ins&gt;];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    playerAnimType_t playerAnimType;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    playerAnimType_t playerAnimType;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    weapType_t weaponType;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    weapType_t weaponType;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l653&quot;&gt;Line 653:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 653:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    WeaponDef * WeaponDef;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    WeaponDef * WeaponDef;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szDisplayName;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szDisplayName;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*hideTags[0x20]&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    ScriptString (*hideTags&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;[0x20];&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    const char * * szXAnims;        //Count = 37&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    const char * * szXAnims;        //Count = 37&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    float fAdsZoomFov;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    float fAdsZoomFov;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Aerosoul94</name></author>
	</entry>
	<entry>
		<id>https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=114&amp;oldid=prev</id>
		<title>Aerosoul94 at 22:23, 2 January 2014</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=114&amp;oldid=prev"/>
		<updated>2014-01-02T22:23:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:23, 2 January 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Assets]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Assets]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MW2]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MW2]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 introduces a new concept, the &quot;WeaponVariantDef&quot;. Where in previous CoDs the WeaponDef was the asset header, now the WeaponVariantDef is the asset header which contains a pointer to a WeaponDef. On Xbox 360 the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarieatDef &lt;/del&gt;is 0x74 bytes, while the WeaponDef is 0x684.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 introduces a new concept, the &quot;WeaponVariantDef&quot;. Where in previous CoDs the WeaponDef was the asset header, now the WeaponVariantDef is the asset header which contains a pointer to a WeaponDef. On Xbox 360 the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVariantDef &lt;/ins&gt;is 0x74 bytes, while the WeaponDef is 0x684.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  enum weapFireType_t : int&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  enum weapFireType_t : int&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Aerosoul94</name></author>
	</entry>
	<entry>
		<id>https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=113&amp;oldid=prev</id>
		<title>Aerosoul94 at 22:22, 2 January 2014</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=113&amp;oldid=prev"/>
		<updated>2014-01-02T22:22:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:22, 2 January 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Assets]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Assets]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MW2]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MW2]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 introduces a new concept, the &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarientDef&lt;/del&gt;&quot;. Where in previous CoDs the WeaponDef was the asset header, now the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarientDef &lt;/del&gt;is the asset header which contains a pointer to a WeaponDef. On Xbox 360 the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarientDef &lt;/del&gt;is 0x74 bytes, while the WeaponDef is 0x684.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 introduces a new concept, the &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVariantDef&lt;/ins&gt;&quot;. Where in previous CoDs the WeaponDef was the asset header, now the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVariantDef &lt;/ins&gt;is the asset header which contains a pointer to a WeaponDef. On Xbox 360 the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarieatDef &lt;/ins&gt;is 0x74 bytes, while the WeaponDef is 0x684.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  enum weapFireType_t : int&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  enum weapFireType_t : int&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Aerosoul94</name></author>
	</entry>
	<entry>
		<id>https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=112&amp;oldid=prev</id>
		<title>CraigChrist8239 at 20:16, 2 January 2014</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=112&amp;oldid=prev"/>
		<updated>2014-01-02T20:16:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:16, 2 January 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l648&quot;&gt;Line 648:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 648:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  };&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  };&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  struct &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVarientDef&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  struct &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponVariantDef&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szInternalName;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    char * szInternalName;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CraigChrist8239</name></author>
	</entry>
	<entry>
		<id>https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=111&amp;oldid=prev</id>
		<title>CraigChrist8239: Created page with &quot;__NOTOC__ Category:Assets Category:MW2 The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 in...&quot;</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Weapon_Asset_(MW2)&amp;diff=111&amp;oldid=prev"/>
		<updated>2014-01-02T20:14:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ &lt;a href=&quot;/index.php/Category:Assets&quot; title=&quot;Category:Assets&quot;&gt;Category:Assets&lt;/a&gt; &lt;a href=&quot;/index.php/Category:MW2&quot; title=&quot;Category:MW2&quot;&gt;Category:MW2&lt;/a&gt; The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 in...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Assets]]&lt;br /&gt;
[[Category:MW2]]&lt;br /&gt;
The purpose of the weapon asset should be fairly obvious, but the structure not so much. The weapon asset on Modern Warfare 2 introduces a new concept, the &amp;quot;WeaponVarientDef&amp;quot;. Where in previous CoDs the WeaponDef was the asset header, now the WeaponVarientDef is the asset header which contains a pointer to a WeaponDef. On Xbox 360 the WeaponVarientDef is 0x74 bytes, while the WeaponDef is 0x684.&lt;br /&gt;
 enum weapFireType_t : int&lt;br /&gt;
 {&lt;br /&gt;
   WEAPON_FIRETYPE_FULLAUTO = 0x0,&lt;br /&gt;
   WEAPON_FIRETYPE_SINGLESHOT = 0x1,&lt;br /&gt;
   WEAPON_FIRETYPE_BURSTFIRE2 = 0x2,&lt;br /&gt;
   WEAPON_FIRETYPE_BURSTFIRE3 = 0x3,&lt;br /&gt;
   WEAPON_FIRETYPE_BURSTFIRE4 = 0x4,&lt;br /&gt;
   WEAPON_FIRETYPE_DOUBLE_BARREL = 0x5,&lt;br /&gt;
   WEAPON_FIRETYPE_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapInventoryType_t : int&lt;br /&gt;
 {&lt;br /&gt;
   WEAPINVENTORY_PRIMARY = 0,&lt;br /&gt;
   WEAPINVENTORY_OFFHAND = 1,&lt;br /&gt;
   WEAPINVENTORY_ITEM = 2,&lt;br /&gt;
   WEAPINVENTORY_ALTMODE = 3,&lt;br /&gt;
   WEAPINVENTORY_EXCLUSIVE = 4,&lt;br /&gt;
   WEAPINVENTORY_SCAVENGER = 5,&lt;br /&gt;
   WEAPINVENTORY_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum PenetrateType&lt;br /&gt;
 {&lt;br /&gt;
   PENETRATE_TYPE_NONE = 0x0,&lt;br /&gt;
   PENETRATE_TYPE_SMALL = 0x1,&lt;br /&gt;
   PENETRATE_TYPE_MEDIUM = 0x2,&lt;br /&gt;
   PENETRATE_TYPE_LARGE = 0x3,&lt;br /&gt;
   PENETRATE_TYPE_COUNT = 0x4&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum activeReticleType_t : int&lt;br /&gt;
 {&lt;br /&gt;
   VEH_ACTIVE_RETICLE_NONE = 0,&lt;br /&gt;
   VEH_ACTIVE_RETICLE_PIP_ON_A_STICK = 1,&lt;br /&gt;
   VEH_ACTIVE_RETICLE_BOUNCING_DIAMOND = 2,&lt;br /&gt;
   VEH_ACTIVE_RETICLE_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapType_t : int&lt;br /&gt;
 {&lt;br /&gt;
   WEAPTYPE_BULLET = 0,&lt;br /&gt;
   WEAPTYPE_GRENADE = 1,&lt;br /&gt;
   WEAPTYPE_PROJECTILE = 2,&lt;br /&gt;
   WEAPTYPE_RIOTSHIELD = 3,&lt;br /&gt;
   WEAPTYPE_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapClass_t : int&lt;br /&gt;
 {&lt;br /&gt;
   WEAPCLASS_RIFLE = 0,&lt;br /&gt;
   WEAPCLASS_SNIPER = 1,&lt;br /&gt;
   WEAPCLASS_MG = 2,&lt;br /&gt;
   WEAPCLASS_SMG = 3,&lt;br /&gt;
   WEAPCLASS_SPREAD = 4,&lt;br /&gt;
   WEAPCLASS_PISTOL = 5,&lt;br /&gt;
   WEAPCLASS_GRENADE = 6,&lt;br /&gt;
   WEAPCLASS_ROCKETLAUNCHER = 7,&lt;br /&gt;
   WEAPCLASS_TURRET = 8,&lt;br /&gt;
   WEAPCLASS_THROWINGKNIFE = 9,&lt;br /&gt;
   WEAPCLASS_NON_PLAYER = 10,&lt;br /&gt;
   WEAPCLASS_ITEM = 11,&lt;br /&gt;
   WEAPCLASS_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum OffhandClass : int&lt;br /&gt;
 {&lt;br /&gt;
   OFFHAND_CLASS_NONE = 0,&lt;br /&gt;
   OFFHAND_CLASS_FRAG_GRENADE = 1,&lt;br /&gt;
   OFFHAND_CLASS_SMOKE_GRENADE = 2,&lt;br /&gt;
   OFFHAND_CLASS_FLASH_GRENADE = 3,&lt;br /&gt;
   OFFHAND_CLASS_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum playerAnimType_t : int&lt;br /&gt;
 {&lt;br /&gt;
   none = 0x0,&lt;br /&gt;
   other = 0x1,&lt;br /&gt;
   pistol = 0x2,&lt;br /&gt;
   smg = 0x3,&lt;br /&gt;
   autorifle = 0x4,&lt;br /&gt;
   mg = 0x5,&lt;br /&gt;
   sniper = 0x6,&lt;br /&gt;
   rocketlauncher = 0x7,&lt;br /&gt;
   plosive = 0x8,&lt;br /&gt;
   grenade = 0x9,&lt;br /&gt;
   turret = 0xA,&lt;br /&gt;
   c4 = 0xB, &lt;br /&gt;
   m203 = 0xC, &lt;br /&gt;
   hold = 0xD,&lt;br /&gt;
   briefcase = 0xE,&lt;br /&gt;
   riotshield = 0xF,&lt;br /&gt;
   laptop = 0x10,&lt;br /&gt;
   throwingknife = 0x11&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapProjExplosion_t&lt;br /&gt;
 {&lt;br /&gt;
   WEAPPROJEXP_GRENADE = 0x0,&lt;br /&gt;
   WEAPPROJEXP_ROCKET = 0x1,&lt;br /&gt;
   WEAPPROJEXP_FLASHBANG = 0x2,&lt;br /&gt;
   WEAPPROJEXP_NONE = 0x3,&lt;br /&gt;
   WEAPPROJEXP_DUD = 0x4,&lt;br /&gt;
   WEAPPROJEXP_SMOKE = 0x5,&lt;br /&gt;
   WEAPPROJEXP_HEAVY = 0x6,&lt;br /&gt;
   WEAPPROJEXP_NUM = 0x7&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum WeapStickinessType&lt;br /&gt;
 {&lt;br /&gt;
   WEAPSTICKINESS_NONE = 0x0,&lt;br /&gt;
   WEAPSTICKINESS_ALL = 0x1,&lt;br /&gt;
   WEAPSTICKINESS_ALL_ORIENT = 0x2,&lt;br /&gt;
   WEAPSTICKINESS_GROUND = 0x3,&lt;br /&gt;
   WEAPSTICKINESS_GROUND_WITH_YAW = 0x4,&lt;br /&gt;
   WEAPSTICKINESS_KNIFE = 0x5,&lt;br /&gt;
   WEAPSTICKINESS_COUNT = 0x6&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weaponIconRatioType_t&lt;br /&gt;
 {&lt;br /&gt;
   WEAPON_ICON_RATIO_1TO1 = 0x0,&lt;br /&gt;
   WEAPON_ICON_RATIO_2TO1 = 0x1,&lt;br /&gt;
   WEAPON_ICON_RATIO_4TO1 = 0x2,&lt;br /&gt;
   WEAPON_ICON_RATIO_COUNT = 0x3&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum ammoCounterClipType_t&lt;br /&gt;
 {&lt;br /&gt;
   AMMO_COUNTER_CLIP_NONE = 0x0,&lt;br /&gt;
   AMMO_COUNTER_CLIP_MAGAZINE = 0x1,&lt;br /&gt;
   AMMO_COUNTER_CLIP_SHORTMAGAZINE = 0x2,&lt;br /&gt;
   AMMO_COUNTER_CLIP_SHOTGUN = 0x3,&lt;br /&gt;
   AMMO_COUNTER_CLIP_ROCKET = 0x4,&lt;br /&gt;
   AMMO_COUNTER_CLIP_BELTFED = 0x5,&lt;br /&gt;
   AMMO_COUNTER_CLIP_ALTWEAPON = 0x6,&lt;br /&gt;
   AMMO_COUNTER_CLIP_COUNT = 0x7&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapOverlayReticle_t&lt;br /&gt;
 {&lt;br /&gt;
   WEAPOVERLAYRETICLE_NONE = 0x0,&lt;br /&gt;
   WEAPOVERLAYRETICLE_CROSSHAIR = 0x1,&lt;br /&gt;
   WEAPOVERLAYRETICLE_NUM = 0x2&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum WeapOverlayInteface_t&lt;br /&gt;
 {&lt;br /&gt;
   WEAPOVERLAYINTERFACE_NONE = 0x0,&lt;br /&gt;
   WEAPOVERLAYINTERFACE_JAVELIN = 0x1,&lt;br /&gt;
   WEAPOVERLAYINTERFACE_TURRETSCOPE = 0x2,&lt;br /&gt;
   WEAPOVERLAYINTERFACECOUNT = 0x3&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum weapStance_t&lt;br /&gt;
 {&lt;br /&gt;
   WEAPSTANCE_STAND = 0x0,&lt;br /&gt;
   WEAPSTANCE_DUCK = 0x1,&lt;br /&gt;
   WEAPSTANCE_PRONE = 0x2,&lt;br /&gt;
   WEAPSTANCE_NUM = 0x3&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum ImpactType&lt;br /&gt;
 {&lt;br /&gt;
   IMPACT_TYPE_NONE = 0,&lt;br /&gt;
   IMPACT_TYPE_BULLET_SMALL = 1,&lt;br /&gt;
   IMPACT_TYPE_BULLET_LARGE = 2,&lt;br /&gt;
   IMPACT_TYPE_BULLET_AP = 3,&lt;br /&gt;
   IMPACT_TYPE_SHOTGUN_FMJ = 4,&lt;br /&gt;
   IMPACT_TYPE_SHOTGUN = 5,&lt;br /&gt;
   IMPACT_TYPE_GRENADE_BOUNCE = 7,&lt;br /&gt;
   IMPACT_TYPE_GRENADE_EXPLODE = 8,&lt;br /&gt;
   IMPACT_TYPE_ROCKET_EXPLODE = 9,&lt;br /&gt;
   IMPACT_TYPE_PROJECTILE_DUD = 10,&lt;br /&gt;
   IMPACT_TYPE_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum guidedMissileType_t&lt;br /&gt;
 {&lt;br /&gt;
   MISSILE_GUIDANCE_NONE = 0x0,&lt;br /&gt;
   MISSILE_GUIDANCE_SIDEWINDER = 0x1,&lt;br /&gt;
   MISSILE_GUIDANCE_HELLFIRE = 0x2,&lt;br /&gt;
   MISSILE_GUIDANCE_JAVELIN = 0x3,&lt;br /&gt;
   MISSILE_GUIDANCE_MAX&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 enum surfaceNames_t&lt;br /&gt;
 {&lt;br /&gt;
   bark,&lt;br /&gt;
   brick,&lt;br /&gt;
   carpet,&lt;br /&gt;
   cloth,&lt;br /&gt;
   concrete,&lt;br /&gt;
   dirt,&lt;br /&gt;
   flesh,&lt;br /&gt;
   foliage,&lt;br /&gt;
   glass,&lt;br /&gt;
   grass,&lt;br /&gt;
   gravel,&lt;br /&gt;
   ice,&lt;br /&gt;
   metal,&lt;br /&gt;
   mud,&lt;br /&gt;
   paper,&lt;br /&gt;
   plaster,&lt;br /&gt;
   rock,&lt;br /&gt;
   sand,&lt;br /&gt;
   snow,&lt;br /&gt;
   water,&lt;br /&gt;
   wood,&lt;br /&gt;
   asphalt,&lt;br /&gt;
   ceramic,&lt;br /&gt;
   plastic,&lt;br /&gt;
   rubber,&lt;br /&gt;
   cushion,&lt;br /&gt;
   fruit,&lt;br /&gt;
   paintedmetal,&lt;br /&gt;
   riotshield,&lt;br /&gt;
   slush,&lt;br /&gt;
   opaqueglass&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 struct WeaponDef&lt;br /&gt;
 {&lt;br /&gt;
   char * szInternalName;&lt;br /&gt;
   XModel * *gunXModel;           //Count = 16&lt;br /&gt;
   XModel * handXModel;&lt;br /&gt;
   const char * * szXAnimsR;        //Count = 37&lt;br /&gt;
   const char * * szXAnimsL;        //Count = 37&lt;br /&gt;
   char * szModeName;&lt;br /&gt;
   ScriptString (*noteTrackSoundMap[0x10])[2];&lt;br /&gt;
   ScriptString (*noteTrackRumbleMap[0x10])[2];&lt;br /&gt;
   playerAnimType_t playerAnimType;&lt;br /&gt;
   weapType_t weaponType;&lt;br /&gt;
   weapClass_t weaponClass;&lt;br /&gt;
   PenetrateType penetrateType;&lt;br /&gt;
   weapInventoryType_t inventoryType;&lt;br /&gt;
   weapFireType_t fireType;&lt;br /&gt;
   OffhandClass offhandClass;&lt;br /&gt;
   weapStance_t stance;&lt;br /&gt;
   FxEffectDef * viewFlashEffect;&lt;br /&gt;
   FxEffectDef * worldFlashEffect;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] pickUpSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] pickUpSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] ammoPickupSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] ammoPickupSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] projectileSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] pullbackSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] pullbackSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] fireSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] fireSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] fireSoundPlayerAkimbo;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] loopFireSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] loopFireSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] stopFireSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] stopFireSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] lastShotSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] lastShotSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] emptyFireSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] emptyFireSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] meleeSwipeSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] meleeSwipeSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] meleeHitSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] meleeMissSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] rechamberSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] rechamberSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadEmptySound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadEmptySoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadStartSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadStartSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadEndSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] reloadEndSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] detonateSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] detonateSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] nightVisionWearSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] nightVisionWearSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] nightVisionRemoveSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] nightVisionRemoveSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] altSwitchSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] altSwitchSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] raiseSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] raiseSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] firstRaiseSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] firstRaiseSoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] putawaySound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] putawaySoundPlayer;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] scanSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] * bounceSound;&lt;br /&gt;
   FxEffectDef * viewShellEjectEffect;&lt;br /&gt;
   FxEffectDef * worldShellEjectEffect;&lt;br /&gt;
   FxEffectDef * viewLastShotEjectEffect;&lt;br /&gt;
   FxEffectDef * worldLastShotEjectEffect;&lt;br /&gt;
   Material * reticleCenter;&lt;br /&gt;
   Material * reticleSide;&lt;br /&gt;
   int iReticleCenterSize;&lt;br /&gt;
   int iReticleSideSize;&lt;br /&gt;
   int iReticleMinOfs;&lt;br /&gt;
   activeReticleType_t activeReticleType;&lt;br /&gt;
   float vStandMove[3];&lt;br /&gt;
   float vStandRot[3];&lt;br /&gt;
   float vStrafeMove[3];&lt;br /&gt;
   float vStrafeRot[3];&lt;br /&gt;
   float vDuckedOfs[3];&lt;br /&gt;
   float vDuckedMove[3];&lt;br /&gt;
   float vDuckedRot[3];&lt;br /&gt;
   float vProneOfs[3];&lt;br /&gt;
   float vProneMove[3];&lt;br /&gt;
   float vProneRot[3];&lt;br /&gt;
   float fPosMoveRate;&lt;br /&gt;
   float fPosProneMoveRate;&lt;br /&gt;
   float fStandMoveMinSpeed;&lt;br /&gt;
   float fDuckedMoveMinSpeed;&lt;br /&gt;
   float fProneMoveMinSpeed;&lt;br /&gt;
   float fPosRotRate;&lt;br /&gt;
   float fPosProneRotRate;&lt;br /&gt;
   float fStandRotMinSpeed;&lt;br /&gt;
   float fDuckedRotMinSpeed;&lt;br /&gt;
   float fProneRotMinSpeed;&lt;br /&gt;
   XModel * * worldModel;&lt;br /&gt;
   XModel * worldClipModel;&lt;br /&gt;
   XModel * rocketModel;&lt;br /&gt;
   XModel * knifeModel;&lt;br /&gt;
   XModel * worldKnifeModel;&lt;br /&gt;
   Material * hudIcon;&lt;br /&gt;
   weaponIconRatioType_t hudIconRatio;&lt;br /&gt;
   Material * pickupIcon;&lt;br /&gt;
   weaponIconRatioType_t pickupIconRatio;&lt;br /&gt;
   Material * ammoCounterIcon;&lt;br /&gt;
   weaponIconRatioType_t ammoCounterIconRatio;&lt;br /&gt;
   ammoCounterClipType_t ammoCounterClip;&lt;br /&gt;
   int iStartAmmo;&lt;br /&gt;
   const char *szAmmoName;&lt;br /&gt;
   int iAmmoIndex;&lt;br /&gt;
   const char *szClipName;&lt;br /&gt;
   int iClipIndex;&lt;br /&gt;
   int iMaxAmmo;&lt;br /&gt;
   int shotCount;&lt;br /&gt;
   const char *szSharedAmmoCapName;&lt;br /&gt;
   int iSharedAmmoCapIndex;&lt;br /&gt;
   int iSharedAmmoCap;&lt;br /&gt;
   int damage;&lt;br /&gt;
   int playerDamage;&lt;br /&gt;
   int iMeleeDamage;&lt;br /&gt;
   int iDamageType;&lt;br /&gt;
   int iFireDelay;&lt;br /&gt;
   int iMeleeDelay;&lt;br /&gt;
   int meleeChargeDelay;&lt;br /&gt;
   int iDetonateDelay;&lt;br /&gt;
   int iRechamberTime;&lt;br /&gt;
   int iRechamberOneHanded;&lt;br /&gt;
   int iRechamberBoltTime;&lt;br /&gt;
   int iHoldFireTime;&lt;br /&gt;
   int iDetonateTime;&lt;br /&gt;
   int iMeleeTime;&lt;br /&gt;
   int meleeChargeTime;&lt;br /&gt;
   int iReloadTime;&lt;br /&gt;
   int reloadShowRocketTime;&lt;br /&gt;
   int iReloadEmptyTime;&lt;br /&gt;
   int iReloadAddTime;&lt;br /&gt;
   int iReloadStartTime;&lt;br /&gt;
   int iReloadStartAddTime;&lt;br /&gt;
   int iReloadEndTime;&lt;br /&gt;
   int iDropTime;&lt;br /&gt;
   int iRaiseTime;&lt;br /&gt;
   int iAltDropTime;&lt;br /&gt;
   int quickDropTime;&lt;br /&gt;
   int quickRaiseTime;&lt;br /&gt;
   int iFirstRaiseTime;&lt;br /&gt;
   int iEmptyRaiseTime;&lt;br /&gt;
   int iEmptyDropTime;&lt;br /&gt;
   int sprintInTime;&lt;br /&gt;
   int sprintLoopTime;&lt;br /&gt;
   int sprintOutTime;&lt;br /&gt;
   int stunnedTimeBegin;&lt;br /&gt;
   int stunnedTimeLoop;&lt;br /&gt;
   int stunnedTimeEnd;&lt;br /&gt;
   int nightVisionWearTime;&lt;br /&gt;
   int nightVisionWearTimeFadeOutEnd;&lt;br /&gt;
   int nightVisionWearTimePowerUp;&lt;br /&gt;
   int nightVisionRemoveTime;&lt;br /&gt;
   int nightVisionRemoveTimePowerDown;&lt;br /&gt;
   int nightVisionRemoveTimeFadeInStart;&lt;br /&gt;
   int fuseTime;&lt;br /&gt;
   int aifuseTime;&lt;br /&gt;
   float autoAimRange;&lt;br /&gt;
   float aimAssistRange;&lt;br /&gt;
   float aimAssistRangeAds;&lt;br /&gt;
   float aimPadding;&lt;br /&gt;
   float enemyCrosshairRange;&lt;br /&gt;
   float moveSpeedScale;&lt;br /&gt;
   float adsMoveSpeedScale;&lt;br /&gt;
   float sprintDurationScale;&lt;br /&gt;
   float adsZoomInFrac;&lt;br /&gt;
   float adsZoomOutFrac;&lt;br /&gt;
   Material * AdsOverlayShader;&lt;br /&gt;
   Material * AdsOverlayShaderLowRes;&lt;br /&gt;
   Material * AdsOverlayShaderEMP;&lt;br /&gt;
   Material * AdsOverlayShaderEMPLowRes;&lt;br /&gt;
   weapOverlayReticle_t adsOverlayReticle;&lt;br /&gt;
   weapOverlayInterface_t adsOverlayInterface;&lt;br /&gt;
   float adsOverlayWidth;&lt;br /&gt;
   float adsOverlayHeight;&lt;br /&gt;
   float adsOverlayWidthSplitscreen;&lt;br /&gt;
   float adsOverlayHeightSplitscreen;&lt;br /&gt;
   float fAdsBobFactor;&lt;br /&gt;
   float fAdsViewBobMult;&lt;br /&gt;
   float fHipSpreadStandMin;&lt;br /&gt;
   float fHipSpreadDuckedMin;&lt;br /&gt;
   float fHipSpreadProneMin;&lt;br /&gt;
   float hipSpreadStandMax;&lt;br /&gt;
   float hipSpreadDuckedMax;&lt;br /&gt;
   float hipSpreadProneMax;&lt;br /&gt;
   float fHipSpreadDecayRate;&lt;br /&gt;
   float fHipSpreadFireAdd;&lt;br /&gt;
   float fHipSpreadTurnAdd;&lt;br /&gt;
   float fHipSpreadMoveAdd;&lt;br /&gt;
   float fHipSpreadDuckedDecay;&lt;br /&gt;
   float fHipSpreadProneDecay;&lt;br /&gt;
   float fHipReticleSidePos;&lt;br /&gt;
   float fAdsIdleAmount;&lt;br /&gt;
   float fHipIdleAmount;&lt;br /&gt;
   float adsIdleSpeed;&lt;br /&gt;
   float hipIdleSpeed;&lt;br /&gt;
   float fIdleCrouchFactor;&lt;br /&gt;
   float fIdleProneFactor;&lt;br /&gt;
   float fGunMaxPitch;&lt;br /&gt;
   float fGunMaxYaw;&lt;br /&gt;
   float swayMaxAngle;&lt;br /&gt;
   float swayLerpSpeed;&lt;br /&gt;
   float swayPitchScale;&lt;br /&gt;
   float swayYawScale;&lt;br /&gt;
   float swayHorizScale;&lt;br /&gt;
   float swayVertScale;&lt;br /&gt;
   float swayShellShockScale;&lt;br /&gt;
   float adsSwayMaxAngle;&lt;br /&gt;
   float adsSwayLerpSpeed;&lt;br /&gt;
   float adsSwayPitchScale;&lt;br /&gt;
   float adsSwayYawScale;&lt;br /&gt;
   float adsSwayHorizScale;&lt;br /&gt;
   float adsSwayVertScale;&lt;br /&gt;
   float adsViewErrorMin;&lt;br /&gt;
   float adsViewErrorMax;&lt;br /&gt;
   PhysCollMap * collisions;&lt;br /&gt;
   float dualWieldViewModelOffset;&lt;br /&gt;
   weaponIconRatioType_t killIconRatio;&lt;br /&gt;
   int iReloadAmmoAdd;&lt;br /&gt;
   int iReloadStartAdd;&lt;br /&gt;
   int iDropAmmoMin;&lt;br /&gt;
   int ammoDropClipPercentMin;&lt;br /&gt;
   int ammoDropClipPercentMax;&lt;br /&gt;
   int iExplosionRadius;&lt;br /&gt;
   int iExplosionRadiusMin;&lt;br /&gt;
   int iExplosionInnerDamage;&lt;br /&gt;
   int iExplosionOuterDamage;&lt;br /&gt;
   float damageConeAngle;&lt;br /&gt;
   float bulletExplDmgMult;&lt;br /&gt;
   float bulletExplRadiusMult;&lt;br /&gt;
   int iProjectileSpeed;&lt;br /&gt;
   int iProjectileSpeedUp;&lt;br /&gt;
   int iProjectileSpeedForward;&lt;br /&gt;
   int iProjectileActivateDist;&lt;br /&gt;
   float projLifetime;&lt;br /&gt;
   float timeToAccelerate;&lt;br /&gt;
   float projectileCurvature;&lt;br /&gt;
   XModel * projectileModel;&lt;br /&gt;
   weapProjExplosion_t projExplosiveType;&lt;br /&gt;
   FxEffectDef * projExplosionEffect;&lt;br /&gt;
   FxEffectDef * projDudEffect;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] projExplosionSound;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] projDudSound;&lt;br /&gt;
   WeapStickinessType stickiness;&lt;br /&gt;
   float lowAmmoWarningThreshold;&lt;br /&gt;
   float ricochetChance;&lt;br /&gt;
   float * parallelBounce;            //Refer to surfaceNames_t&lt;br /&gt;
   float * perpendicularBounce;         //Refer to surfaceNames_t&lt;br /&gt;
   FxEffectDef * projTrailEffect;&lt;br /&gt;
   FxEffectDef * projBeaconEffect;&lt;br /&gt;
   float vProjectileColor[3];&lt;br /&gt;
   guidedMissileType_t guidedMissileType;&lt;br /&gt;
   float maxSteeringAccel;&lt;br /&gt;
   float projIgnitionDelay;&lt;br /&gt;
   FxEffectDef * projIgnitionEffect;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] projIgnitionSound;&lt;br /&gt;
   float fAdsAimPitch;&lt;br /&gt;
   float fAdsCrosshairInFrac;&lt;br /&gt;
   float fAdsCrosshairOutFrac;&lt;br /&gt;
   int adsGunKickReducedKickBullets;&lt;br /&gt;
   float adsGunKickReducedKickPercent;&lt;br /&gt;
   float fAdsGunKickPitchMin;&lt;br /&gt;
   float fAdsGunKickPitchMax;&lt;br /&gt;
   float fAdsGunKickYawMin;&lt;br /&gt;
   float fAdsGunKickYawMax;&lt;br /&gt;
   float fAdsGunKickAccel;&lt;br /&gt;
   float fAdsGunKickSpeedMax;&lt;br /&gt;
   float fAdsGunKickSpeedDecay;&lt;br /&gt;
   float fAdsGunKickStaticDecay;&lt;br /&gt;
   float fAdsViewKickPitchMin;&lt;br /&gt;
   float fAdsViewKickPitchMax;&lt;br /&gt;
   float fAdsViewKickYawMin;&lt;br /&gt;
   float fAdsViewKickYawMax;&lt;br /&gt;
   float fAdsViewScatterMin;&lt;br /&gt;
   float fAdsViewScatterMax;&lt;br /&gt;
   float fAdsSpread;&lt;br /&gt;
   int hipGunKickReducedKickBullets;&lt;br /&gt;
   float hipGunKickReducedKickPercent;&lt;br /&gt;
   float fHipGunKickPitchMin;&lt;br /&gt;
   float fHipGunKickPitchMax;&lt;br /&gt;
   float fHipGunKickYawMin;&lt;br /&gt;
   float fHipGunKickYawMax;&lt;br /&gt;
   float fHipGunKickAccel;&lt;br /&gt;
   float fHipGunKickSpeedMax;&lt;br /&gt;
   float fHipGunKickSpeedDecay;&lt;br /&gt;
   float fHipGunKickStaticDecay;&lt;br /&gt;
   float fHipViewKickPitchMin;&lt;br /&gt;
   float fHipViewKickPitchMax;&lt;br /&gt;
   float fHipViewKickYawMin;&lt;br /&gt;
   float fHipViewKickYawMax;&lt;br /&gt;
   float fHipViewScatterMin;&lt;br /&gt;
   float fHipViewScatterMax;&lt;br /&gt;
   float fightDist;&lt;br /&gt;
   float maxDist;&lt;br /&gt;
   const char *accuracyGraphName[2];&lt;br /&gt;
   [[:Vectors#vec2_t|vec2_t]] * accuracyGraphKnots;&lt;br /&gt;
   [[:Vectors#vec2_t|vec2_t]] * originalAccuracyGraphKnots;&lt;br /&gt;
   short accuracyGraphKnotCount;&lt;br /&gt;
   short originalAccuracyGraphKnotCount;&lt;br /&gt;
   int iPositionReloadTransTime;&lt;br /&gt;
   float leftArc;&lt;br /&gt;
   float rightArc;&lt;br /&gt;
   float topArc;&lt;br /&gt;
   float bottomArc;&lt;br /&gt;
   float accuracy;&lt;br /&gt;
   float aiSpread;&lt;br /&gt;
   float playerSpread;&lt;br /&gt;
   float minVertTurnSpeed;&lt;br /&gt;
   float minHorTurnSpeed;&lt;br /&gt;
   float maxVertTurnSpeed;&lt;br /&gt;
   float maxHorTurnSpeed;&lt;br /&gt;
   float pitchConvergenceTime;&lt;br /&gt;
   float yawConvergenceTime;&lt;br /&gt;
   float suppressTime;&lt;br /&gt;
   float maxRange;&lt;br /&gt;
   float fAnimHorRotateInc;&lt;br /&gt;
   float fPlayerPositionDist;&lt;br /&gt;
   const char *szUseHintString;&lt;br /&gt;
   const char *dropHintString;&lt;br /&gt;
   int iUseHintStringIndex;&lt;br /&gt;
   int dropHintStringIndex;&lt;br /&gt;
   float horizViewJitter;&lt;br /&gt;
   float vertViewJitter;&lt;br /&gt;
   float scanSpeed;&lt;br /&gt;
   float scanAccel;&lt;br /&gt;
   int scanPauseTime;&lt;br /&gt;
   const char *szScript;&lt;br /&gt;
   float fOOPosAnimLength[2];&lt;br /&gt;
   int minDamage;&lt;br /&gt;
   int minPlayerDamage;&lt;br /&gt;
   float maxDamageRange;&lt;br /&gt;
   float minDamageRange;&lt;br /&gt;
   float destabilizationRateTime;&lt;br /&gt;
   float destabilizationCurvatureMax;&lt;br /&gt;
   int destabilizeDistance;&lt;br /&gt;
   float * locationDamageMultipliers;   //1Refer to bodyParts_t&lt;br /&gt;
   const char *fireRumble;&lt;br /&gt;
   const char *meleeImpactRumble;&lt;br /&gt;
   [[:Tracer Asset|Tracer]] * tracer;&lt;br /&gt;
   int turretScopeZoomRate;&lt;br /&gt;
   int turretScopeZoomMin;&lt;br /&gt;
   int turretScopeZoomMax;&lt;br /&gt;
   int turretOverheatUpRate;&lt;br /&gt;
   int turretOverheatDownRate;&lt;br /&gt;
   int turretOverheatPenalty;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] turretOverheatSound;&lt;br /&gt;
   FxEffectDef *turretOverheatEffect;&lt;br /&gt;
   char *turretBarrelSpinRumble;&lt;br /&gt;
   int turretBarrelSpinUpTime;&lt;br /&gt;
   int turretBarrelSpinDownTime;&lt;br /&gt;
   int turretBarrelSpinSpeed;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] turretBarrelSpinMaxSnd;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] turretBarrelSpinUpSnds[4];&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] turretBarrelSpinDownSnds[4];&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] missileConeSoundAlias;&lt;br /&gt;
   [[:Category:Utilities#snd_alias_list_name|snd_alias_list_name]] missileConeSoundAliasAtBase;&lt;br /&gt;
   float missileConeSoundRadiusAtTop;&lt;br /&gt;
   float missileConeSoundRadiusAtBase;&lt;br /&gt;
   float missileConeSoundHeight;&lt;br /&gt;
   float missileConeSoundOriginOffset;&lt;br /&gt;
   float missileConeSoundVolumescaleAtCore;&lt;br /&gt;
   float missileConeSoundVolumescaleAtEdge;&lt;br /&gt;
   float missileConeSoundVolumescaleCoreSize;&lt;br /&gt;
   float missileConeSoundPitchAtTop;&lt;br /&gt;
   float missileConeSoundPitchAtBottom;&lt;br /&gt;
   float missileConeSoundPitchTopSize;&lt;br /&gt;
   float missileConeSoundPitchBottomSize;&lt;br /&gt;
   float missileConeSoundCrossfadeTopSize;&lt;br /&gt;
   float missileConeSoundCrossfadeBottomSize;&lt;br /&gt;
   bool shareAmmo;&lt;br /&gt;
   bool lockonSupported;&lt;br /&gt;
   bool requireLockonToFire;&lt;br /&gt;
   bool bigExplosion;&lt;br /&gt;
   bool noAdsWhenMagEmpty;&lt;br /&gt;
   bool avoidDropCleanup;&lt;br /&gt;
   bool inheritsPerks;&lt;br /&gt;
   bool crosshairColorChange;&lt;br /&gt;
   bool rifleBullet;&lt;br /&gt;
   bool armorPiercing;&lt;br /&gt;
   bool boltAction;&lt;br /&gt;
   bool aimDownSight;&lt;br /&gt;
   bool rechamberWhileAds;&lt;br /&gt;
   bool bBulletExplosiveDamage;&lt;br /&gt;
   bool cookOffHold;&lt;br /&gt;
   bool clipOnly;&lt;br /&gt;
   bool noAmmoPickup;&lt;br /&gt;
   bool adsFire;&lt;br /&gt;
   bool cancelAutoHolsterWhenEmpty;&lt;br /&gt;
   bool disableSwitchToWhenEmpty;&lt;br /&gt;
   bool suppressAmmoReserveDisplay;&lt;br /&gt;
   bool laserSightDuringNightvision;&lt;br /&gt;
   bool markableViewmodel;&lt;br /&gt;
   bool noDualWield;&lt;br /&gt;
   bool flipKillIcon;&lt;br /&gt;
   bool noPartialReload;&lt;br /&gt;
   bool segmentedReload;&lt;br /&gt;
   bool blocksProne;&lt;br /&gt;
   bool silenced;&lt;br /&gt;
   bool isRollingGrenade;&lt;br /&gt;
   bool projExplosionEffectForceNormalUp;&lt;br /&gt;
   bool projImpactExplode;&lt;br /&gt;
   bool stickToPlayers;&lt;br /&gt;
   bool hasDetonator;&lt;br /&gt;
   bool disableFiring;&lt;br /&gt;
   bool timedDetonation;&lt;br /&gt;
   bool rotate;&lt;br /&gt;
   bool holdButtonToThrow;&lt;br /&gt;
   bool freezeMovementWhenFiring;&lt;br /&gt;
   bool thermalScope;&lt;br /&gt;
   bool altModeSameWeapon;&lt;br /&gt;
   bool turretBarrelSpinEnabled;&lt;br /&gt;
   bool missileConeSoundEnabled;&lt;br /&gt;
   bool missileConeSoundPitchshiftEnabled;&lt;br /&gt;
   bool missileConeSoundCrossfadeEnabled;&lt;br /&gt;
   bool offhandHoldIsCancelable;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 struct WeaponVarientDef&lt;br /&gt;
 {&lt;br /&gt;
   char * szInternalName;&lt;br /&gt;
   WeaponDef * WeaponDef;&lt;br /&gt;
   char * szDisplayName;&lt;br /&gt;
   ScriptString (*hideTags[0x20]);&lt;br /&gt;
   const char * * szXAnims;        //Count = 37&lt;br /&gt;
   float fAdsZoomFov;&lt;br /&gt;
   int iAdsTransInTime;&lt;br /&gt;
   int iAdsTransOutTime;&lt;br /&gt;
   int iClipSize;&lt;br /&gt;
   ImpactType impactType;&lt;br /&gt;
   int iFireTime;&lt;br /&gt;
   weaponIconRatioType_t dpadIconRatio;&lt;br /&gt;
   float fPenetrateMultiplier;&lt;br /&gt;
   float fAdsViewKickCenterSpeed;&lt;br /&gt;
   float fHipViewKickCenterSpeed;&lt;br /&gt;
   const char * szAltWeaponName;&lt;br /&gt;
   unsigned int altWeaponIndex;&lt;br /&gt;
   int iAltRaiseTime;&lt;br /&gt;
   Material * killIcon;&lt;br /&gt;
   Material * dpadIcon;&lt;br /&gt;
              int unknown8;&lt;br /&gt;
   int iFirstRaiseTime;&lt;br /&gt;
   int iDropAmmoMax;&lt;br /&gt;
   float adsDofStart;&lt;br /&gt;
   float adsDofEnd;&lt;br /&gt;
   short accuracyGraphKnotCount;&lt;br /&gt;
   short originalAccuracyGraphKnotCount;&lt;br /&gt;
   [[:Vectors#vec2_t|vec2_t]] *accuracyGraphKnots;&lt;br /&gt;
   [[:Vectors#vec2_t|vec2_t]] *originalAccuracyGraphKnots;&lt;br /&gt;
   bool motionTracker;&lt;br /&gt;
   bool enhanced;&lt;br /&gt;
   bool dpadIconShowsAmmo;&lt;br /&gt;
 };&lt;br /&gt;
== Source Format ==&lt;br /&gt;
The weapon source files are raw text files with no extension, located at &amp;quot;raw/weapons/sp/&amp;quot; for SP weapons and &amp;quot;raw/weapons/mp/&amp;quot; for MP weapons. They use the same format as many other assets, with each setting name and value separated by a back-slash. The first setting identifies the file, and for weapons the identifier string is &amp;quot;WEAPONFILE&amp;quot;.&lt;/div&gt;</summary>
		<author><name>CraigChrist8239</name></author>
	</entry>
</feed>