nyuuzyou/wikis huggingface dataset:
Alien Swarm/Authoring Tools

The , also known as , is a set of software utilities that allow you to create your own missions, weapons, aliens and other gameplay elements. They include versions of Source SDK tools that have been updated to work with the Alien Swarm version of the Source Engine. Unlike other branches and Authoring Tools starting from up to , Alien Swarm Authoring Tools also ships with the game's source code for free.
== Availability ==
The are freely available on Steam to all owners of the PC version of Alien Swarm.
== Downloading and installation ==
To install or run the SDK/Authoring Tools, either or:
# Open the Steam window. 
# Go to the Library.
# Click on the drop down filter box under the home button (usually displayed as Games or All by default).
# Check Tools, then search for Alien Swarm - SDK or find it manually by scrolling down the list.
# Double-click on the Alien Swarm - SDK entry, or click on Alien Swarm - SDK, then click Install.
# The Alien Swarm - SDK will download to your computer via Steam. 
# Once it has been fully installed, you will be able to launch it in the same way you installed it (from the Library tab, with Tools enabled on the Library filter).
You can also create a desktop shortcut by right-clicking on the Alien Swarm Authoring Tools entry and clicking Create desktop shortcut from the context menu. 
== What's included? ==
The package includes: 
* Hammer, the Source level editor (4.1 Build 8678)
* Suite of command line compiling utilities, such as studiomdl and map compiling tools 
* Updated Particle editor 
* Updated Faceposer 
* Example campaign 
* Tutorial maps
* C++ source code to the Alien Swarm client and server dlls.
== Where do I go from here? ==
* To learn how to make a custom campaign addon go here: Swarm Campaign Add-on Tutorial 
* The Swarm Mapping basics is a good place to go if you are familiar with Source mapping already. If not, you will need to master the basics of Source level design first (Level Design). 
* Another good way to start creating your own levels is using the SketchUp Source Tools. 
* If you want to learn about how to create content for the Source Engine in general, the main page of the Source SDK documentation is a good place to start.
== Bugs and issues ==
* Post all issues and bugs in the GitHub issues page.
* See the Source SDK FAQ for answers to general SDK questions. 
* For level design and Hammer editor issues, see the Level Design FAQ.
= See also =
* Alien Swarm: Reactive Drop SDK - for the Reactive Drop version.
* Swarm SDK Create a Mod 
* Swarm Mod wizard complete
Alien Swarm: Reactive Drop/Authoring Tools

The , also known as , is a set of software utilities that allow you to create your own missions, weapons, aliens and other gameplay elements.
== Availability ==
The , like the original, are freely available on Steam to all owners of the PC version of . 
== Downloading and installation ==
 
To install or run the SDK/Authoring Tools, either or:
# Open the Steam window. 
# Go to the Library.
# Click on the drop down filter box under the home button (usually displayed as Games or All by default).
# Check Tools, then search for Alien Swarm: Reactive Drop - SDK or find it manually by scrolling down the list.
# Double-click on the Alien Swarm: Reactive Drop - SDK entry, or click on Alien Swarm: Reactive Drop - SDK, then click Install.
# The Alien Swarm: Reactive Drop - SDK will download to your computer via Steam. 
# Once it has been fully installed, you will be able to launch it in the same way you installed it (from the Library tab, with Tools enabled on the Library filter).
You can also create a desktop shortcut by right-clicking on the Alien Swarm Authoring Tools entry and clicking Create desktop shortcut from the context menu. 
== What's included? ==
The package includes: 
* Hammer, the Source level editor (4.1 Build 7397)
* Suite of command line compiling utilities, such as studiomdl and map compiling tools 
* Updated Particle editor 
* Updated Faceposer 
* Example campaign 
* Tutorial maps
* SketchUp plugins
== Where do I go from here? ==
* To learn how to make a custom campaign addon go here: Swarm Campaign Add-on Tutorial 
* The Swarm Mapping basics is a good place to go if you are familiar with Source mapping already. If not, you will need to master the basics of Source level design first (Level Design). 
* Another good way to start creating your own levels is using the SketchUp Source Tools. 
* If you want to learn about how to create content for the Source Engine in general, the main page of the Source SDK documentation is a good place to start.
== Bugs and issues ==
* Post all issues and bugs in the Steam Community - Discussions. 
* See the Source SDK FAQ for answers to general SDK questions. 
* For level design and Hammer editor issues, see the Level Design FAQ.
= See also =
* Swarm SDK Create a Mod 
* Swarm Mod wizard complete
Alien Swarm Dedicated Server

== Running the Dedicated Server from Steam ==
* Go to the Tools tab in Steam and double click the "Alien Swarm Dedicated Server" 
* A window will pop up with some server settings: 
** Type in a Server Name. 
** Type in an RCON password of your choosing. 
** Click Start Server.
Some useful settings to customize once the server is running: 
* Under the "Configure" tab, you can set the Default Campaign. When no players are on the server, it will default to this campaign. 
* In the "Console" tab you can enter "sv_steamgroup <n>" where N is the ID of your chosen Steam Group. Players belonging to this group will see your dedicated server from the main menu. You can find your ID number by visiting your Steam Group admin page on Steam Community.
== Running the Dedicated Server with the HLDSUpdatetool for Windows==
NOTE: These steps are for advanced server operators. For more details visit the Source Dedicated Server community site 
* Download and install the tool from here: HLDSUpdatetool 
* Open a command prompt in the directory where you installed the tool. 
* Run hldsupdatetool to ensure you have the lastest version and for a list of commands. 
* Create a directory for your server files such as c:\myswarmserver 
* Run this command to update the game files (this may take several hours depending on your internet connection):
 hldsupdatetool -command update -game alienswarm -dir "c:\myswarmserver"
* Create c:\myswarmserver\swarm\cfg\server.cfg for configuring server settings. 
* Open a command prompt in your server directory. 
* Run this command to start your server (NOTE: You must start in the lobby map to properly start the Campaign mode):
 srcds.exe -console -game swarm +map lobby -maxplayers 4 -autoupdate
== There is no Linux version of the Dedicated Server available ==
If you download the dedicated server files with hldsupdatetool in Linux, it will only give you the Windows version.
== Steam library errors ==
There's currently a couple of files missing from the Steam depot, which can cause this error:
 Unable to load Steam support library.
 This server will operate in LAN mode only.
A fix is in the works, but a temporary workaround is to copy these files to the gameserver root: d vstdlib_s.dll, tier0_s.dll, steamclient.dll, and Steam.dll
Moving the .dll's does not always give a sollution. Instead dont copy any files and just install the steam client (the one you have on your game pc too) once thats installed (you dont need to be logged into it) the dedicated server works fine too. And will also be visible in steamgroups. For some reason it still depends on the stemaclient.
Category:Alien Swarm
Category:Dedicated Server
Alien Swarm Deferred

__NOTOC__
 was released in 2012. It's a third-party mod created by Kristjan Skutta a.k.a. Biohazard90. This fork of has support for deferred lighting and shadows (similar to ). It's among very few games that have dynamic shadows not based on projected textures, while still having its source code available to the public. Performance-wise, it is extremely impressive as the mod can support hundreds of dynamic shadows with very little performance impact.
==Features==
New since :
; CSM
: Real time deferred shadows and lighting from and entities.
; Light cookies
: Now is capable of projecting textures with cookies.
; 
: New reflections on Phong materials, somewhat similar to specular from .
; Volumetric lighting
: is capable of enabling volumetrics that react to the environment in real time.
; Source shader editor
: Make and edit shader graphs in real-time, in-engine.
; Light editor
: Edit your map's light entities dynamically.
==Media==
		
==Availability/Code usage==
* (Uses an enhanced version of ASD's deferred lighting implementation.)
* (Initially. Switched to .)
* (Light editor only, the rendering code for lighting has been rewritten from scratch.)
==Bugs==
*No hardware filtering support for 
==See also==
* Engine branches
*Alien Swarm engine branch
*Mapbase
*CSM
==External links==
*Google Code page
** Download is currently broken, see GitLab mirror instead.
*GitLab Repository Download Mirror
*2013MP Port GitHub Repository
*YouTube - Deferred lighting in action.
Category:Alien Swarm
Category:Open source mods and games
Category:Alien Swarm Deferred
Alien Swarm Glow

Originally, if you wanted to highlight an object in 2007, you would need to follow the L4D Glow Effect tutorial by the guys over at GoldenEye: Source. But this implementation is harder to use, and unnecessary in any Alien Swarm codebases, because Alien Swarm uses sections of the Left 4 Dead codebase, including the glow effect.
== ClientMode Update ==
If you are using a template like Sandern's SDK template, you will need to make sure your ClientMode is properly working for post processes. You can find out if it's rendering Glow effects by going to your clientmode_<mod> file (clientmode_asw, clientmode_sdk, etc.) In the case of Sandern's mod, at the bottom of clientmode_sdk.cpp, you can find an empty DoPostScreenSpaceEffects line.
First, lets make sure to include our required files:
#ifdef CLIENT_DLL
#include "glow_outline_effect.h"
#endif
Then make the DoPostScreenSpaceEffects line look like this:
void ClientModeSDK::DoPostScreenSpaceEffects( const CViewSetup *pSetup )
{
	CMatRenderContextPtr pRenderContext( materials );
	g_GlowObjectManager.RenderGlowEffects( pSetup, 0 /*GetSplitScreenPlayerSlot()*/ );
}
== Implementation ==
For this tutorial, I decided to use weapon_sdkbase, but you can do this with any entity that is linked to the client and server. First, we should add this to the top of the file:
#include "glow_outline_effect.h"
Then, we need to define our glow effect. In the header file, or the declarations, add this to a private section:
private:
#ifdef CLIENT_DLL
	CGlowObject m_GlowObject;
#endif
Also add these to the public class:
public:
#ifdef CLIENT_DLL
	virtual void ClientThink();
	virtual void OnDataChanged( DataUpdateType_t updateType );
#endif
Next, we want to modify the constructor of our entity. This will initialize our glow. You're gonna want to do this differently, so have this replace the whole first part of your constructor:
CWeaponSDKBase::CWeaponSDKBase()
#ifdef CLIENT_DLL
:m_GlowObject( this )
#else
#endif
{
#ifdef CLIENT_DLL
	m_GlowObject.SetColor( Vector( 0.3f, 0.6f, 0.1f ) );
	m_GlowObject.SetRenderFlags( false, true );
#endif
}
We will also want to execute our ClientThink, so we use OnDataChanged. Alternatively, you could use Spawn, but Swarm uses OnDataChanged more, so it seems like the better choice.
#ifdef CLIENT_DLL
void CWeaponSDKBase::OnDataChanged( DataUpdateType_t updateType )
{
	BaseClass::OnDataChanged( updateType );
	if ( updateType == DATA_UPDATE_CREATED )
	{
		SetNextClientThink( CLIENT_THINK_ALWAYS );
	}
}
#endif // CLIENT_DLL
Finally, add ClientThink to your file. This particular implementation makes it so if someone isn't holding the weapon, it will not glow:
void CWeaponSDKBase::ClientThink()
{
#ifdef CLIENT_DLL
	BaseClass::ClientThink();
	if ( !GetOwner() )
	{
		m_GlowObject.SetRenderFlags( true, true );
	}
	else
	{
		m_GlowObject.SetRenderFlags( false, false );
	}
#endif
}
Category:Alien Swarm
Category:Snippets
Category:Programming
Alien Swarm Mapper's Reference

A quick reference for the numbers and statistics that any Alien Swarm level designer should know. Most importantly, use these numbers to help make a map feel in proportion.
For relevant dimensions not listed here, see Dimensions.
==Map Grid Units: Quick Reference==
 Map Grid Imperial Metric
 
 1 = 0.75" = 0.01905 
 2 = 1.5" = 0.04
 4 = 3" = 0.08
 8 = 6" = 0.15 
 16 = 1' = 0.3 
 32 = 2' = 0.6
 64 = 4' = 1.2 
 128 = 8' = 2.4
 (160 = 10' = 3.0)
 256 = 16' = 4.9
 512 = 32' = 9.8
==Other Info==
* Horizontal player clearance: 29
* Vertical player clearance: 73
* Maximum height of walkable stair: 24
Category:Alien Swarm
Category:Level Design
Alien Swarm engine branch

The was released in 2010 with . It succeeds the and precedes the .[1] Unlike previous and later branches, this is the only Source engine branch (post-Orange Box) that has it's source code publicly available.
==Features==
New since is:
; TileGen
: A new quick-build mapping tool. Level designers create connectible rooms and corridors which can be arranged either by hand or programmatically. TileGen maps can be played in-editor, and/or can be exported to Hammer for further refinement.illuminate an entire scene.
; VTF version 7.5 and PCF version Binary 5 PCF 2
: The latest versions of Source's texture and particle formats.
; Depth of field
: A real-time depth of field shader blurs backdrop scenery.
; Vertex animation
: The ability to animate vertexes directly is now supported.
; Various entity improvements
: Numerous entities have been improved and have new features, such as and .
; Water debris flow
: Water now supports the ability to use a base texture layer that is flowed using a flow map. This implemention is less advanced than 's, however.
; Lightmap influence on cubemapped materials
: Lightmaps can now tint cubemap reflections in the shader.
; Steamworks integration
: Unclear how useful this will be, as currently Steamworks distribution is required to implement persistence, Steam Cloud, achievements, etc.
== Availability ==
Gamecode for this branch is included in the .
* 
* 
* 
* 
* 
== References ==
Alien Swarm FAQ
Category:Alien Swarm
Category:Official Engine Branches
AllocBlock:Full

==Description==
While compiling or attempting to play it, your map has exceeded the maximum lightmap size.
==Solution==
Reduce resolution and scale of used textures. Consider using Detail textures to increase the perceived quality of WAD textures, instead of using high-res WAD textures.
: 
Additional optimization options include:
* Use NULL whenever a brush entity's face is completely obscured by a world brush or another entity.
* After compiling CSG, BSP and VIS, use to add the flag to faces which should be unlit (fullbright), then recompile RAD from within NewBSPGuy.
* For brush entities which should be unlit, use VHLT's KV to strip lightmaps from the entity after RAD is compiled.
== External links ==
* 
Category:Compile errors
Alpha

:For the VMT parameter, see .
Alpha is a byte that is often included as the "fourth" byte in a RGB color format. Alpha is usually an opacity rating from 0 - 255, where 0 is completely invisible and 255 is completely visible. Alpha is sometimes also used for other things, such as a self-illumination mask.
To store an individual alpha value in each pixel, an alpha channel is used as the fourth channel of the TGA file. This allows variable opacity, for example, in a single texture, such as the lettered Petrol signs in Half-Life 2.
 is a good program for adding alpha to a texture. Be aware that a pixel with alpha set to 0 still has R, G, and B values, which may affect the texture in some cases; see alpha dilation for more information.
Category:Glossary
Category:Material System
Alyx Vance

Alyx Vance, daughter of Eli Vance is one of the main characters in Half-Life 2. Armed with a pistol and Dog, Alyx makes many appearances throughout the game and is your quasi-sidekick. Alyx is a valuable asset because she is equally skilled in both combat and hacking into the Combine systems.
===Appearances===
Unlike most of the other main characters in Half-Life 2, Alyx did not appear in Half-Life. Half-Life 2 is her first appearance in the series. Alyx appears in multiple chapters with Gordon throughout Half-Life 2. Here is a list of her appearances:
*1- Point Insertion
*2 - A Red Letter Day
*5 - Black Mesa East
*6 - "We Don't Go To Ravenholm..."
*9a - Entanglement
*10 - Anticitizen One
*11 - "Follow Freeman!"
*14 - Dark Energy
Alyx accompanies Gordon throughout Half-Life 2: Episode One and nearly all of Half-Life 2: Episode Two. She is the protagonist and the player character in Half-Life: Alyx
==See also==
* on Wikipedia.
*$ambientboost technique was first used on Alyx in .
*, the entity used to place Alyx into a map.
Category:Half-Life Continuity
Category:Characters
Ambient generic

This entity plays a sound, either once or on loop and either globally or from a location in the world (spatial).
Use it to play and control a
* soundscript sound,
* a raw WAV, MP3, OGG , or FLAC file, or
* a .
All three can be browsed with the Hammer Sound Browser, being named "Game Sounds", "Raw" and "Scenes", in this order.
== Notes/Bugs/Limitations ==
== Keyvalues ==
*0: Disabled
*1: Enabled
== Inputs ==
== Flags ==
== See also ==
* Sound and Music
* Adjust ambient_generic volume higher than 10 (Advanced Mapping Tutorial)
* - used to play many ambient/background sounds from a single entity via a script.
* - used to dynamically play music in .
* Looping a Sound - which requires modifying the actual WAV file
* Setting up ambient_generics in Counter-Strike: Source using logic_auto - a substitute for creating a proper env_soundscape.
Category:Sound System
Ambient generic: stop and toggle fix

Insert the code that is highlighted, into the CAmbientGeneric::SendSound( SoundFlags_t flags), located in src\game\server\sound.cpp (line 878) to overcome the Sound bug:
	if ( pSoundSource )
	{
		if ( flags == SND_STOP )
		{
			UTIL_EmitAmbientSound(pSoundSource->GetSoundSourceIndex(), pSoundSource->GetAbsOrigin(), szSoundFile, 
						0, SNDLVL_NONE, flags, 0);
			m_fActive = false;
		}
		else
		{
			UTIL_EmitAmbientSound(pSoundSource->GetSoundSourceIndex(), pSoundSource->GetAbsOrigin(), szSoundFile, 
				(m_dpv.vol * 0.01), m_iSoundLevel, flags, m_dpv.pitch);
			// Only mark active if this is a looping sound.
			// If not looping, each trigger will cause the sound to play.
			// If the sound is still playing from a previous trigger press, 
			// it will be shut off and then restarted.
			if ( m_fLooping )
				m_fActive = true;
		}
	}	
	else
	{
		if ( ( flags == SND_STOP ) && 
			( m_nSoundSourceEntIndex != -1 ) )
		{
			UTIL_EmitAmbientSound(m_nSoundSourceEntIndex, GetAbsOrigin(), szSoundFile, 
					0, SNDLVL_NONE, flags, 0);
			m_fActive = false;
		}
	}
This moves the job of setting m_fActive to the very top of the chain, denying any ambient_generic function wriggle room to escape it!
This opens up the use of the volume and pitch inputs, and allows you to safely start a sound with a map.
== See also ==
*ambient_generic
Category:Bug fixes
Ambient generic (GoldSrc)

== Description ==
An ambient_generic is essentially an audio player, that plays a single specified sound within a given radius inside a map. Ambient_generics are used to create sound effects throughout a map, either playing the sound once, or continually repeating the sound (looping). ambient_generic audio comes from WAV files located in the game's Sound file directory. Example: .
== Key Values ==
== Flags ==
* 1 : "Play Everywhere"
:: 
* 2 : "Small Radius"
* 4 : "Medium Radius"
* 8 : "Large Radius"
* 16 : "Start Silent"
* 32 : "Not Toggled"
:: Enable this flag for non-looping sounds.
Category:Entities
Category:GoldSrc Sound System
AmmoDef

The AmmoDef defines types of hitscan ammunition. It is accessed from the global CAmmoDef* GetAmmoDef() function, which is conventionally implemented within the shared GameRules CPP file.
== Minimum implementation ==
#include "ammodef.h"
CAmmoDef* GetAmmoDef()
{
	static CAmmoDef ammo;
	
	static bool bInitialising = true;
	if ( bInitialising )
	{
		// Call ammo.AddAmmoType(...) here
		bInitialising = false;
	}
	return &ammo;
}
There is no initialisation function for the AmmoDef in Valve's code, so they instead use static variables to initialise and return a CAmmoDef object that persists between calls.
== Registering and retrieving an ammo type ==
AddAmmoType() registers a new bullet type. It has an overload that allows the definition of player damage, NPC damage and carry amount through cvars instead of hardcoded integers.
Otherwise, these are the arguments used to set each value, followed after a slash by their accessor function (each accessor takes as its argument the ammo's index):
; char name
: The unique name of the ammo. Used in weapon scripts and sometimes in code.
; int damageType / DamageType()
: The ammo's damage type.
; int tracerType / TracerType()
: The type of tracer effect drawn when the ammo is fired. Uses the AmmoTracer_t enum.
:* TRACER_NONE
:* TRACER_LINE
:* TRACER_RAIL
:* TRACER_BEAM
:* TRACER_LINE_AND_WHIZ
; int plr_dmg / PlrDamage()
; int npc_dmg / NPCDamage()
: Absolute damage done per-bullet when the ammo is fired by a player or an NPC.
; int carry / MaxCarry()
: How much of this ammo a player can carry. NPCs normally carry an infinite supply. typedef INFINITE_AMMO = -1.
; float physicsForceImpulse / DamageForce()
: The length of the vector applied as a physics force to objects the ammo hits, prior to multiplication by the phys_pushscale convar.
:
; int nFlags / Flags()
: Generic flags with which you can define your own ammo properties. Valve's are:
:* AMMO_FORCE_DROP_IF_CARRIED - player will drop any held physics objects the ammo hits. Only set up for singleplayer in stock code.
:* AMMO_INTERPRET_PLRDAMAGE_AS_DAMAGE_TO_PLAYER - if an NPC fires the ammo, the player damage value is the damage done to players.
; int minSplashSize = 4 / MinSplashSize()
; int maxSplashSize = 8 / MaxSplashSize()
: (Optional) The minimum and maximum radius of water splashes created by the ammo. Defaults to 4 and 8.
=== Other accessors ===
To use these, you only need to #include "ammodef.h".
; Ammo_t* GetAmmoDef()->GetAmmoOfIndex(int)
: Returns an entire ammo definition in one operation.
; int GetAmmoDef()->Index(string)
: Searches the available ammo types by name. Returns the ammo's index on success or -1 on failure.
Category:Weapons programming
Ammo pack (TFC)

An ammopack is one of the most common ways to replenish ammo and health in Team Fortress Classic maps. It can be found in various places throughout the levels to help players keep going.
Its Team Fortress 2 counterpart is the item_ammopack_<size> and item_healthkit_<size>.
===Creating the ammopack===
Placing the ammopack into the level is relatively simple. Just place an info_tfgoal entity in the level where you want it to be. Set the Model Path/name.mdl to the filename of the model you want to represent the ammopack in-game. Most ammopacks in Team Fortress Classic uses models/backpack.mdl but there are other models that can be used, and you can even use custom models. Set the Play Sound Path/name.wav to a wav sound file you want to play when the player picks up this ammopack. Leave it empty for no sound.
Lastly set the Stay Active(sec) keyvalue to the time in seconds you want it to take for the ammopack to respawn. This is often between 10 and 20 seconds, depending on how much ammo there is in the pack.
===Adding ammo to the pack===
The ammopack should work in-game now, but it won't actually give you any ammo if you walk over it.
To fix this, modify the Add/Subtrack <object> and Armor Value keyvalues to give the amount of ammo you want. 0 gives no ammo/armor/health and putting a minus (-) in front of the number subtract this much from the players ammo/armor/health.
If you only want one team to be able to pick up the ammopack, set the Team Allowed To Use Goal keyvalue to that team.
Category:Team Fortress Classic
Category:Tutorials
Category: Level Design
Category: Tutorials