<?xml version="1.0"?>
<rss version="2.0"><channel><title>Documentation: Documentation</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/misc-docs/?d=1</link><description>Documentation: Documentation</description><language>en</language><item><title>FMOD Reverb Enums</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/misc-docs/fmod-reverb-enums-r39/</link><description><![CDATA[<p>
	These are the FMOD preset reverbs. The name gives a decent enough description of what they are.
</p>

<p>
	 
</p>

<div>
	<table resolved="" role="grid">
		<thead>
			<tr role="row">
				<th aria-disabled="false" aria-label="Reverb Type: No sort applied, activate to apply an ascending sort" aria-sort="none" data-column="0" role="columnheader" scope="col" tabindex="0" unselectable="on">
					<div>
						Reverb Type
					</div>
				</th>
				<th aria-disabled="false" aria-label="Number: No sort applied, activate to apply an ascending sort" aria-sort="none" data-column="1" role="columnheader" scope="col" tabindex="0" unselectable="on">
					<div>
						Number
					</div>
				</th>
			</tr>
		</thead>
		<colgroup>
			<col>
			<col>
		</colgroup>
		<tbody aria-live="polite" aria-relevant="all">
			<tr role="row">
				<td>
					Off
				</td>
				<td>
					0
				</td>
			</tr>
			<tr role="row">
				<td>
					Generic
				</td>
				<td>
					1
				</td>
			</tr>
			<tr role="row">
				<td>
					PaddedCell
				</td>
				<td>
					2
				</td>
			</tr>
			<tr role="row">
				<td>
					Room
				</td>
				<td>
					3
				</td>
			</tr>
			<tr role="row">
				<td>
					Bathroom
				</td>
				<td>
					4
				</td>
			</tr>
			<tr role="row">
				<td>
					LivingRoom
				</td>
				<td>
					5
				</td>
			</tr>
			<tr role="row">
				<td>
					StoneRoom
				</td>
				<td>
					6
				</td>
			</tr>
			<tr role="row">
				<td>
					Auditorium
				</td>
				<td>
					7
				</td>
			</tr>
			<tr role="row">
				<td>
					ConcertHall
				</td>
				<td>
					8
				</td>
			</tr>
			<tr role="row">
				<td>
					Cave
				</td>
				<td>
					9
				</td>
			</tr>
			<tr role="row">
				<td>
					Arena
				</td>
				<td>
					10
				</td>
			</tr>
			<tr role="row">
				<td>
					Hangar
				</td>
				<td>
					11
				</td>
			</tr>
			<tr role="row">
				<td>
					CarpettedHallway
				</td>
				<td>
					12
				</td>
			</tr>
			<tr role="row">
				<td>
					Hallway
				</td>
				<td>
					13
				</td>
			</tr>
			<tr role="row">
				<td>
					StoneCorridor
				</td>
				<td>
					14
				</td>
			</tr>
			<tr role="row">
				<td>
					Alley
				</td>
				<td>
					15
				</td>
			</tr>
			<tr role="row">
				<td>
					Forest
				</td>
				<td>
					16
				</td>
			</tr>
			<tr role="row">
				<td>
					City
				</td>
				<td>
					17
				</td>
			</tr>
			<tr role="row">
				<td>
					Mountains
				</td>
				<td>
					18
				</td>
			</tr>
			<tr role="row">
				<td>
					Quarry
				</td>
				<td>
					19
				</td>
			</tr>
			<tr role="row">
				<td>
					Plain
				</td>
				<td>
					20
				</td>
			</tr>
			<tr role="row">
				<td>
					ParkingLot
				</td>
				<td>
					21
				</td>
			</tr>
			<tr role="row">
				<td>
					SewerPipe
				</td>
				<td>
					22
				</td>
			</tr>
			<tr role="row">
				<td>
					Underwater
				</td>
				<td>
					23
				</td>
			</tr>
		</tbody>
	</table>
</div>
]]></description><guid isPermaLink="false">39</guid><pubDate>Mon, 07 Feb 2022 23:28:43 +0000</pubDate></item><item><title>Spectator Controls</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/misc-docs/spectator-controls-r40/</link><description><![CDATA[<p>
	Use toggle_spectator &lt;playerid&gt; in the console (` or F8) to make somebody a spectator (use the ID command to get the player IDs).<br>
	Can usually only be used by the host. There is a boolean setting AllowClientSpectators in tt.ini that allows clients to toggle spectator for themselves. Spectators can still influence the game in some ways if they manage to kill themselves so they're not yet safe to enable for the public.
</p>

<p>
	 
</p>

<p>
	Keys for movement are the same as for soldiers or vehicles (forward/backwards/left/right/up/down).
</p>

<p>
	Special keys:
</p>

<div>
	<table resolved="" role="grid">
		<colgroup>
			<col>
			<col>
			<col>
		</colgroup>
		<thead>
			<tr role="row">
				<th aria-disabled="false" aria-label="Action: No sort applied, activate to apply an ascending sort" aria-sort="none" data-column="0" role="columnheader" scope="col" tabindex="0" unselectable="on">
					<div>
						Action
					</div>
				</th>
				<th aria-disabled="false" aria-label="Default Key (APB): No sort applied, activate to apply an ascending sort" aria-sort="none" data-column="1" role="columnheader" scope="col" tabindex="0" unselectable="on">
					<div>
						Default Key (<abbr title="Red Alert: A Path Beyond">APB</abbr>)
					</div>
				</th>
				<th aria-disabled="false" aria-label="Explanation: No sort applied, activate to apply an ascending sort" aria-sort="none" data-column="2" role="columnheader" scope="col" tabindex="0" unselectable="on">
					<div>
						Explanation
					</div>
				</th>
			</tr>
		</thead>
		<tbody aria-live="polite" aria-relevant="all">
			<tr role="row">
				<td>
					Toggle Gunner / Special Action
				</td>
				<td>
					Q
				</td>
				<td>
					Follow a random player in third person view**
				</td>
			</tr>
			<tr role="row">
				<td>
					Action / Use
				</td>
				<td>
					E
				</td>
				<td>
					Follow next player**
				</td>
			</tr>
			<tr role="row">
				<td>
					Secondary Fire
				</td>
				<td>
					Right Mouse Button
				</td>
				<td>
					Exit follow mode
				</td>
			</tr>
			<tr role="row">
				<td>
					Previous Weapon
				</td>
				<td>
					Wheel Down
				</td>
				<td>
					Decrease spectator speed*
				</td>
			</tr>
			<tr role="row">
				<td>
					Next Weapon
				</td>
				<td>
					Wheel Up
				</td>
				<td>
					Increase spectator speed*
				</td>
			</tr>
		</tbody>
	</table>

	<p>
		 
	</p>

	<p>
		 
	</p>
</div>

<p>
	* Maximum spectator speed is set per-game in the Global-&gt;General preset settings (subsection "Soldier Movement Speed Controls").<br>
	** Unfortunately the current iteration doesn't network other players correctly so you may encounter some extremely weird movement and teleporting players, especially if your follow target is far away from the position you were at in free camera mode. Current public build also crashes if your follow target dies.
</p>
]]></description><guid isPermaLink="false">40</guid><pubDate>Mon, 07 Feb 2022 23:30:51 +0000</pubDate></item><item><title>How to use the W3D Texture Baker project</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/misc-docs/how-to-use-the-w3d-texture-baker-project-r106/</link><description><![CDATA[<p>
	Step 1: make sure Unreal Engine 4 is downloaded. The project was made in UE4.24.3, but it should work in any future engine version.
</p>

<p>
	Step 2: Download the project "here". Once it's done downloading, unzip it to a directory of your choice.
</p>

<p>
	Step 3: Open the project. Press "More", then "Browse...", then find where you unzipped it, go into the W3D Texture Baker folder, then open "W3DTextureBaker.uproject".
</p>

<p>
	Step 4: Once the project is open, go into the TextureAssets folder, and create a new material (right click in the Content Browser, then select material).
</p>

<p>
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33414" data-ratio="284.94" data-unique="93srw4cnj" width="239" src="https://w3dhub.com/forum/uploads/monthly_2022_05/image.png.c2e49f244c422e1ad78aa8d1722d8baa.png">
</p>

<p>
	Give it an appropriate name, so that you'll remember it. Then, right click in the Content Browser again, and choose "Import Texture Assets".
</p>

<p>
	<img alt="image2020-5-17_12-0-28.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33415" data-ratio="296.98" data-unique="8w3qn03ya" width="232" src="https://w3dhub.com/forum/uploads/monthly_2022_05/image2020-5-17_12-0-28.png.381d4e138428bf2dcf960a5b73ea3595.png">
</p>

<p>
	Then, select all the various components for the texture. Ideally, you can just use Albedo, AO, Roughness and Normal for a non metallic texture. For metallic textures, I recommend also importing the Metalness map.
</p>

<p>
	Step 5: Set up the material. See UE4 documentation for more details.
</p>

<p>
	Step 6: Select the Plane that is in the world, then drag your new material from the Content Browser into the Element 0 box in the Materials section of the inspector. There'll 
</p>

<p>
	<img alt="image2020-5-17_12-5-3.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33416" data-ratio="122.01" data-unique="0yj99lk1t" width="586" src="https://w3dhub.com/forum/uploads/monthly_2022_05/image2020-5-17_12-5-3.png.1fc9e7bb76887b53bf366f92088eb30a.png">
</p>

<p>
	Step 7: Go up one level in the Content Browser, then right click the "Render Texture" object. o to "Asset Actions", and then "Export".
</p>

<p>
	<img alt="image2020-5-17_12-7-33.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33417" data-ratio="160.71" data-unique="6e79a9fac" width="425" src="https://w3dhub.com/forum/uploads/monthly_2022_05/image2020-5-17_12-7-33.png.7a2e6ae448e1931339c45802f7bb9084.png">
</p>

<p>
	Save it where ever. It is in HDR format, so open up Photoshop/GIMP.
</p>

<p>
	Step 8PS: Open the HDR image, then set the mode to 8 Bits per Channel. It will open up the HDR toning dialog, I usually use the Equalise Histogram method, but experiment to get the best results.
</p>

<p>
	Step 8GIMP: Open the HDR image, then set precision to 8 bits per pixel. Use perceptual gamma (sRGB).
</p>

<p>
	Step 9: It's ready now to become a DDS file that W3D can use.
</p>
]]></description><guid isPermaLink="false">106</guid><pubDate>Sat, 21 May 2022 12:49:35 +0000</pubDate></item><item><title>Sound</title><link>https://w3dhub.com/forum/documentation/w3d-engine-documentation/misc-docs/sound-r121/</link><description><![CDATA[<table align="center" border="1" cellpadding="1" cellspacing="1" style="width:685px;">
	<thead>
		<tr>
			<th scope="col" style="width:176px;">
				Setting Name
			</th>
			<th scope="col" style="width:69px;">
				Type
			</th>
			<th scope="col" style="width:92px;">
				Default
			</th>
			<th scope="col" style="width:346px;">
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="width:176px;">
				Filename
			</td>
			<td style="width:69px;">
				Sound Filename
			</td>
			<td style="width:92px;">
				N/A
			</td>
			<td style="width:346px;">
				Points to a sound filename. Valid extensions are: .WAV, .MP3, .OGG (5.1 only), .FLAC (5.1 only)
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Sound Mode (5.1 only)
			</td>
			<td style="width:69px;">
				enum
			</td>
			<td style="width:92px;">
				Compressed Sample
			</td>
			<td style="width:346px;">
				See below for details
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_VirtualChannel
			</td>
			<td style="width:69px;">
				int
			</td>
			<td style="width:92px;">
				0
			</td>
			<td style="width:346px;">
				Sets which channel this sound should occupy. 0 allows m_Priority to automatically set the virtual channel.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Drop-off Radius
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				40.00
			</td>
			<td style="width:346px;">
				With the default roll-off model, determines at what range the sound will cut-off.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Max Vol Radius
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				20.00
			</td>
			<td style="width:346px;">
				With the default roll-off model, determines at what range the maximum volume will be heard.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Is 3D Sound
			</td>
			<td style="width:69px;">
				bool
			</td>
			<td style="width:92px;">
				TRUE
			</td>
			<td style="width:346px;">
				Determines if the sound is subject to attenuation and panning.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_LoopCount
			</td>
			<td style="width:69px;">
				int
			</td>
			<td style="width:92px;">
				1
			</td>
			<td style="width:346px;">
				Determines how many times the sound should loop. 0 is "infinite loop"
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Loop Type (5.1 only)
			</td>
			<td style="width:69px;">
				enum
			</td>
			<td style="width:92px;">
				Normal
			</td>
			<td style="width:346px;">
				Determines if the loop should be a normal loop, or a bidirectional ping-pong loop.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Loop Start Point (5.1 only)
			</td>
			<td style="width:69px;">
				int
			</td>
			<td style="width:92px;">
				0
			</td>
			<td style="width:346px;">
				Determines where a sound should start looping at, in milliseconds.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Loop End Point (5.1 only)
			</td>
			<td style="width:69px;">
				int
			</td>
			<td style="width:92px;">
				0
			</td>
			<td style="width:346px;">
				Determines the end point of a loop, in milliseconds. 0 is "length of sound."
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_Volume
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				1.00
			</td>
			<td style="width:346px;">
				Sets the volume level of the sound.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_VolumeRandomizer
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				0.00
			</td>
			<td style="width:346px;">
				Determines how much randomization to apply to volume.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_Pan
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				0.50
			</td>
			<td style="width:346px;">
				Sets which speaker to pan towards. 0 is left, 1 is right.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_Priority
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				0.50
			</td>
			<td style="width:346px;">
				Determines the priority in setting channels. Lower priority channels will be muted before higher priority channels.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_Type
			</td>
			<td style="width:69px;">
				enum
			</td>
			<td style="width:92px;">
				Sound Effect
			</td>
			<td style="width:346px;">
				Determines what channel group this sound should be assigned to.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_StartOffset
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				0.00
			</td>
			<td style="width:346px;">
				[UNUSED]
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_PitchFactor
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				1.00
			</td>
			<td style="width:346px;">
				Scales playback frequency of the sound.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_PitchFactorRandomizer
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				0.00
			</td>
			<td style="width:346px;">
				Determines how much randomization to apply to pitch factor.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				m_Doppler (5.1 only)
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				1.00
			</td>
			<td style="width:346px;">
				Sets the amount by which to scale doppler.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Display Text
			</td>
			<td style="width:69px;">
				string
			</td>
			<td style="width:92px;">
				N/A
			</td>
			<td style="width:346px;">
				[UNUSED]
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Create Logical Sound
			</td>
			<td style="width:69px;">
				bool
			</td>
			<td style="width:92px;">
				FALSE
			</td>
			<td style="width:346px;">
				Determines whether the sound should be sent to the logical sound engine, for processing by AI.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Logical Drop-off Radius
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				-1.00
			</td>
			<td style="width:346px;">
				Determines the drop-off radius to use for the logical sound. -1 uses the same value as Drop-off Radius.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Logical Notif Delay
			</td>
			<td style="width:69px;">
				float
			</td>
			<td style="width:92px;">
				2.00
			</td>
			<td style="width:346px;">
				Determines how much to delay adding the sound to the logical sound engine.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Logical Type
			</td>
			<td style="width:69px;">
				enum
			</td>
			<td style="width:92px;">
				None
			</td>
			<td style="width:346px;">
				Determines what this sound will be marked as in the logical sound engine.
			</td>
		</tr>
		<tr>
			<td style="width:176px;">
				Sphere Color
			</td>
			<td style="width:69px;">
				color
			</td>
			<td style="width:92px;">
				(0, 191, 191)
			</td>
			<td style="width:346px;">
				<p>
					[UNUSED]
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h1>
	Sound Mode
</h1>

<p>
	FMOD has three ways to play a sound:
</p>

<ul>
	<li>
		Compressed Sample: The sample is kept compressed at runtime, loaded into memory, and is decompressed during playback in realtime. This uses CPU, but little memory. This should be used for most sounds, and as such is the default behavior. Only supported for MP3, IMA ADPCM WAV, and OGG files. This is not supported for uncompressed WAV, and FLAC files.
	</li>
	<li>
		Uncompressed Sample: The sample is decompressed at runtime, and loaded into memory. This avoids the overhead of the CPU, but uses more memory. It will also increase the load time of the sound, so this should be only be used for very small sounds that are played often.
	</li>
	<li>
		Stream: The sample is decompressed at runtime, playing directly from the disk. This uses no memory, but the sample can only be played once at a time. This should be used for large sounds that are unlikely to be played more than once at a time, such as music, EVA voiceovers, or long ambience. This should -never- be used for any sounds that may need to have their state change at runtime, such as engine sounds.
	</li>
</ul>
]]></description><guid isPermaLink="false">121</guid><pubDate>Fri, 02 Jun 2023 14:03:19 +0000</pubDate></item></channel></rss>
