Difference between revisions of "Source Feature Requests"

From Valve Developer Community
Jump to: navigation, search
(Vista Debug Build Bug)
(Camera Views)
Line 57: Line 57:
*A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entitys and possible errors.
*A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entitys and possible errors.
*A button that crudely compiles lights in hammer's 3d view; simple vertex-lighting or lightmap lighting.

Revision as of 18:17, 30 June 2007

This page is about things happening in-game.

For bugs (only) concerning things occurring while using the SDK, see Source SDK Bugs.

For things happening while using the Hammer editor, see Hammer bugs and Hammer Feature Requests.

If you think something is not intended to function like it does, post it in the Bug Reports section.

If you think something is intended to function like it does, but you are still not satisfied with it, post it in the Feature Requests section.


Feature Requests



sv_autosave should disable map-specific autosaves too.

Progress bar

Better progress bar for bzip2ed fast map downloads.

Addition Add a percentage complete display? Also do not make the progress bar wrap many times (make 100% the end).

Linux client

If you've gotten Source to work on the PS3, there's really no reason you can't have the full engine (client included) run on Linux. If you haven't made an OpenGL renderer yet, I believe winelib supports DirectX.

Seeing the current decline on Windows, especially with the backwards-incompatibilities of Vista, it would probably be a good time to hedge bets.


Dynamic shadows handling

Better handling of dynamic shadows to prevent shadows in indoor spaces being cast in inappropriate directions for lighting conditions. Either enable dynamic shadows to be cast by light sources other than light_environment, or institute 'fallback' diffuse shadow directly under object if not directly lit from sky light. This would require a trace along the vector of the light_environment angle to see if it hits a skybox texture, but would at least prevent the situations we get where indoor shadows are falling in completely the wrong direction.

Other possible 'cheap' solution would be to enable multiple shadow_control entities in a map, one per area separated by area portals. In this way, a map with strong directional daylight in outdoor areas could use straight down shadow controllers in indoor areas to reduce the jarring appearance of indoor shadows.

Already in progress! --TomEdwards 12:31, 7 Jun 2006 (PDT)
Lovely—ts2do 12:37, 7 Jun 2006 (PDT)
Ah finnaly thats gonna add a little amount though to the overall performance.--Gear 04:57, 31 Oct 2006 (PST)

Addition Allow your own player shadow to be visible to you. At the moment you cannot see where the shadow is cast, however your enemy can in multiplayer games- big advantage in some cases.


Adding parallax mapping or relief mapping to the source engine would be nice. Or an explanation why it hasn't been implemented.


The ability to make materials that reflect the world, instead of using cubemap reflection. Exactly like water.

More Skybox control

The ability to change the settings of a 3D Skybox (namely its texture) would be benificial. I'm unsure of the best way to achive this. Changing the sv_skyname in the console does not actually change the sky texture even after trying mat_reloadtextures or mat_reloadmaterial.

OpenGL renderer

Adding an OpenGL renderer would be a good idea, like Half-Life had. Although a I think you had to in order to port it to the PS3.


Camera Views

  • A possible newer camera view to show how far a light entity will cast it's light as well as the shadows it will create. Also the camera view can be special, it can be toggled like others and even show other events within the map and maybe incorrectly placed entitys and possible errors.
  • A button that crudely compiles lights in hammer's 3d view; simple vertex-lighting or lightmap lighting.


Better music support

Better support for music, including:

  • Ability to mark a sound as music regardless of the format.
  • OnFinishedPlaying output to cleanly loop a sound.
  • Fade in and fade out effects (in a map entity).

Soundscape creation tool

Soundscape creation tool with realtime preview.

Sound sample previews

First of all, it would be good if you could preview button sounds instead of choosing them from a list and testing them each in-game.

Second of all, I'd like to be able to play looping sounds using the loop, so that I know which ones are looped and which are not, and how they sound looped. You could add a Stop button to prevent a loop going on forever.

More sound formats, particularly Ogg Vorbis (not difficult to implement) or FLAC.


Improved chapter system

Improved chapter system, ideally with only one file (plus any images) to worry about!

GCF priority for HL2:SP

I'd like to have custom content have priority over the Half-Life 2 GCF files. For example I'd like to be able to add custom sentences to a custom hl2/scripts/sentences.txt file without having to create my own mod for that. The GCF overriding custom material is apparently unique to HL2:SP. Even Lost Coast lets custom content have priority over the GCF. --Andreasen 05:40, 3 Apr 2006 (PDT)

Annoying as that is, it's pretty easy to create your own mod for HL2:SP - have a look at MINERVA as an example, and feel more than welcome to rip it apart and convert into something new with a search-and-replace on the word 'MINERVA'. It makes the final mod much easier to distribute, install and remove as well, as it's a single folder in SourceMods rather than many files scattered through HL2's directories... —Cargo Cult (info, talk) 07:14, 3 Apr 2006 (PDT)

Entity and brush behavior

An Entity/Command for reading variables

We have a method of modifying server variables (incrementVar), but no way of reading back what we set. Can we have either a client/server command for reading variables, or an entity that can do it?

The super gravity gun

I don't know what exactly is causing this, but while working on the npc_citizen_fleeing prefab, I noticed that shooting/punting/pulling the citizen with the Super gravity gun won't kill him, but just rip away ragdoll duplicates from his body. He won't die. I'm posting this under feature requests because I'm thinking that the scripting isn't written for citizens (or perhaps other NPCs too) interacting with the super gravity gun.

Also, if the super gravity gun global state is turned on, the bodies of zombies killed with another weapon simply vanishes, instead of turning into ragdolls. (The headcrab can detach as a ragdoll if the zombie is blown up though.)


The current trigger_teleport isn't teleporting thrown grenades or weapons, it is even (to my understanding) impossible to set a filter to allow hegrenade_projectile, weapon_hegrenade, or weapon_glock entities, The filter or trigger_teleport ignores these entities.

Multiple Fog Controllers

It would be helpful to have more than one env_fog_controller allowed in a map. The current work around is the use of triggers in conjunction with a point_clientcommand that changes the values of many settings; fog_color, fog_colorskybox, fog_enableskybox, fog_end, fog_endskybox, fog_override, fog_start, fog_startskybox. I propose an enable/disable function (plus 'start disabled' flag) added to env_fog_controller to allow triggering between each.


There does not seem to be a simple way to adjust internal unit scale and physics in the source code in a similar way to HL1 (hull.txt). Changing the values in vphysics_interface.h do not seem to have a visible effect in game. Without this models adjusted for 0.16 scale will not have accurate physics.

Poison Damage

Getting bitten by a black headcrab isn't dangerous even if you're not wearing a HEV suit. The damage is mysteriously healed anyway. I would like it if poison damage is only healed/non-lethal if the player is wearing a HEV suit.

Improved chapter unlock entity

Entity to trigger chapter unlock without re-locking later ones.

This can be done using the incrementvar command, as demostrated here.- RodeoClown 05:01, 26 Apr 2006 (PDT)


See Hammer Feature Requests for tool enhancements.

Give us Steam VGUI

It'd be a great advancement in modding if the Steam vgui2 interface was made public as well as overriding the vgui2 dll.


Add the ability to use displacements on triangular faces.

Bug Reports

Users experience a slight delay with clientside interpolation and lag correction

This issue has been reiterated since the early beta stages. And is somewhat documented in the forums. However it has never been officially refuted or commented on afaik. Some sources to the bug. Counterstrike source netcode - The final quirks Net-Code-FIX for COMPETITIVE gaming!!!. You have to view these threads as very biased bug reports, but the extent of people who have experienced them should encourage you to take the matter seriously! --oc 13:37, 31. Oct 2006 (CET)

Entity and brush behavior

prop_door_rotating custom hinges

Moving the hinge (by altering the axis keyvalue) of a non-standard prop_door_rotating (like a models/props_wasteland/interior_fence001g.mdl fence door) has no effect. The door will open in the middle. --Andreasen 11:11, 20 Mar 2006 (PST)

func_door wont stop looping

If the Loop Moving Sound? keyvalue for a func_door is set for a sample with an already built in loop, the sample will not stop looping. Further attempts to open or close the door will only add another looping sample to the noise. --Andreasen 07:50, 16 Mar 2006 (PST)

func_details are disappearing

Surfaces on thin func_details (about 2 units thick) is disappearing in-game, even at close distances. This can be especially annoying when it comes to signs. --Andreasen 07:50, 16 Mar 2006 (PST)

npc_snipers and info_snipertargets

  • When an npc_sniper is shooting at an info_snipertarget that is parented to something else, the dot will land on target but the bullet fired will always travel backwards at a fixed direction, no matter where the target is. (This direction might change slightly between compiles.) --Andreasen 19:43, 12 Feb 2006 (PST)
  • When an npc_sniper is issued the SweepGroupRandomly input, the sniper will continue firing at these targets until an NPC interrupts him. Is it supposed to work like that? --Andreasen 19:43, 12 Feb 2006 (PST)
  • If the info_snipertarget entity doesn't have its Shoot Me flag set, Source crashes with the "memory could not be 'read'" error when a sniper is told to sweep it and has landed its beam on the target. This bug is reproduceable for me. --Andreasen 00:22, 12 Feb 2006 (PST)

Block LOS not working

  • The Block LOS tool texture (tools/toolsblock_los) doesn't work anymore for me. In my HL2SP map combine soldiers can see right through a brush with this texture, and this brush also blocks light (but at least it is invisible). --Andreasen 19:49, 10 Feb 2006 (PST)
    • It is happening to me also Davlevels 06:11, 26 Mar 2006 (PST)


Damage of env_beams is acting really strange when emitted from a solid func_brush. When the Life of the beam is set higher than 1, the starting point and "collision" area of the func_brush is never updated between map compiles. This area doesn't affect the player or item collision, but it does affect the beams area of damage. If the Life is set above zero, then the area of damage becomes even more irregular, and will only hurt the player and prop_physics (and probably other stuff) sometimes. The func_brushs first "collision" area will also interfere with other env_beams. This bug is easily reproducable. --Andreasen 19:37, 5 Feb 2006 (PST)

Ragdolls & Door Props

  • Expected: prop_door_rotating entities do not interfere with clientside ragdolls collisions.
  • Observed: Clientside ragdolls seem to be clipped to the closed position of prop_door_rotating entities. This applies to any position doors are opened to.
  • ts2do


  • env_smokestack some time after they start releasing smoke the smoke stops to be released. Also, when you look away from the smoke it stops to release the smoke and starts again to release it when you look at it. Davlevels 06:16, 26 Mar 2006 (PST)

Volume inputs

I apologize if I'm mistaken, but the more I experiment with ambient_generic, the more I suspect that the sound actually playing on Volume inputs is a bug, mostly because this type of play doesn't register as playing, so a StopSound input won't be able to stop a sound started through the Volume input, but also because the Volume input isn't affected by the Is NOT Looped flag. The Volume input was probably meant to adjust the sound volume without playing the sound.

Static Prop Decals

Decals on static props do not render as wireframes when mat_wireframe is enabled—ts2do 20:17, 22 May 2006 (PDT)


status command

  • Observed: The spacing between the version and the colon for the status string is offset from the other lines:
hostname:  Half-Life 2
version   : 2651 insecure 
map     :  d3_c17_01 at: -6857 x, -1414 y, 64 z
players :  1 (1 max)

# userid name uniqueid connected ping loss state adr
#  1 "name" UNKNOWN 03:04 71 0 active loopback

Compiler bugs

Vista Debug Build Bug

Windows Vista seems to have a problem with the Debug Builds of my mod DLLs. For other reasons (a certain map crashes after triggering a certain action), I can currently not build the Release versions. Gives me the Module c:\program files\steamapps\sourcemods\mymod\bin\server.dll is a debug build Error (see image) Len 08:19, 22 May 2007 (PDT) SteamError.png

Did you launch HL2 using the -allowdebug parameter?—ts2do 09:13, 22 May 2007 (PDT)
Yes, today it somehow worked, when I loaded the game within steam, but that was because it was not using my dlls. So, I wrote a little batch file and placed it in my mod folder, it just executes Source SDK Base with ..\..\..\Steam.exe -applaunch 215 -allowdebug -console -sw -novideo -game "C:\Program Files\Steam\steamapps\SourceMods\mymod" +map mymod, but then it crashed again. When I debug it in Visual Studio, it throws an "unhandled exception at 0x0022b413 in hl2.exe: OxC0000005: Access violation reading location 0x00000024"... Any ideas?

Vista Codedump:

 Problem signature:
 Problem Event Name:	APPCRASH
 Application Name:	hl2.exe
 Application Version:
 Application Timestamp:	4445c334
 Fault Module Name:	datacache.dll
 Fault Module Version:
 Fault Module Timestamp:	44721f59
 Exception Code:	c0000005
 Exception Offset:	0000b413
 OS Version:	6.0.6000.
 Locale ID:	2057
 Additional Information 1:	74eb
 Additional Information 2:	4339e7c276c842753a6e52c0d99d559e
 Additional Information 3:	ed07
 Additional Information 4:	74499040e66d612e91b71183d0eede97

Scaling flexes

It seems that compiling models with flexes applied to them cannot be scaled using the QC without recreating the VTA file.

$model "studio" "model.smd" {

  flexfile "flex.vta"
  flex "action"  frame 10
   flexcontroller "phoneme" "action" "range" 0 1
  %action = action

While this QC file compiles fine and the model works putting a command like $scale 2.0 before the $model instruction does in fact do scale the model as well as its physbox correctly however, the flex isn't scaled and therefore doesn't work anymore.

  • Link Mar 12th, 07:33 MET



On blended materials, it seems that "$basetexturetransform" scale affects both "$basetexture" and "$basetexture2", while "$basetexturetransform2" scale doesn't do anything.

Blend Test by X^18


Window Docking

  • Observed: Windows in Source dock to hidden panels if docking is enabled in SourceScheme.res.
  • ts2do

Text Boxes

  • If one uses IME (Input Method Editor) in the console but doesn't turn off IME before returning to the game, the console continues recording keystrokes. The fix is to use ImmSetOpenStatus to close IME when no text boxes have focus. --Kateye 22:55, 7 Oct 2006 (PDT)

Official Mods

Day of Defeat: Source


  • Observed: game_text does not show up in-game
  • El Capitan

Clip textures

  • Observed: Clip textures make metal footsteps sound when walked over!
  • El Capitan

Counter-Strike: Source

Credit goes to cloud1337 and his contributors from Steam Forums.

Barrel Physics

  • Barrels and other prop_physics forcefully push players who interact with them.
  • Suggestion: Create an alternative to sv_turbophysics with the players +use function disabled.

Defuse Kit over Bomb Plant

  • Defuse kits and other props around the bomb randomly disable a player defusing.
  • Suggestion: Make the defuse action only begin when the bomb is directly in the players cross-hair, eliminate any other detection methods that cause unwanted interactions.

Defuse through Walls

  • Players can defuse through Walls and other objects.
  • Suggestion: See Above.
  • Example: [1]

Stuck Defusing

  • When a player attempts to stop defusing and fire there is a delay between the original -use command and when the server recognises the player has stopped defusing, causing the player to be stuck and the bomb to continue defusing (even though the players cross-hair is no longer located near the bomb) for a short period of time.
  • Suggestion: Unsure of the reasons behind this bug. Possibly a glitch where +attack works (temporarily) as a defuse mechanism?
  • Example: [2]

Forced Point of View

  • When a player is 'forced' lower than he is meant to crouch his point of view also drops, this happens when another player is stacked on their head or when they crouch under certain trains. SourceTV also does not record the players 'forced' point of view, it records what he should be seeing if he wasn't forced.
  • Suggestion: Find out why SourceTV doesn't get 'forced' a point of view and implement that on a client / server side. Also fix the train props on de_train to coincide with the POV fix.
  • Example: [3]

Fake bomb Plant

  • When a player begins to plant while crouched and then aborts while moving the planting animation continues and all other players view them as a non-threat.
  • Suggestion: Kill the plant animation when a player moves if it isn't already.
  • Example1: [4]
  • Example2: [5]

Guns and Tickrate

  • Changing the tick-rate of a server also seems to affect the firing mechanisms and reactions of certain guns. This mainly happens with the AK47 and MP5 on low tick-rate servers (33).
  • Suggestion: Analyse the difference between the AK47 and MP5 on 33 tick and 100 tick servers. Find out what data isn't being sent or requested on the 33 tick server and fix it.

Shadows appearing through props

  • Shadows are commonly visible through doors, small walls, and props.
  • Suggestion: Implement the same method that core walls use to distort shadows on props and smaller walls.
  • Example: [6]

Both Teams receive Defuse / Explosion Points

  • On the right timing a player can receive 3 points for defusing (only when they defuse action is almost complete) even when the bomb explodes and Terrorists win the round. The bomb planter still (also) receives 3 points.
  • Suggestion: Make bomb explosions and bomb defuses individual and exclusive events if they already aren't.

Grenade Physics

  • Grenades can be used to block players from moving and also forcefully push them in some circumstances. Flashes and Smoke grenades can also be used to stop a player from defusing.
  • Suggestion: Make the grenades react to the players movement and not the other way round.

Slow Door movement

  • On 100 Tick servers (online) doors tend to open slowly with a very choppy animation and are very sensitive to player movement.
  • Suggestion: Find out why it happens for 100 tick servers online, and why it doesn't happen for 66 tick servers online or 100 tick servers at LAN.
  • Example: [7]

Stuck within a Door

  • Players can get stuck within doors.
  • Suggestion: Make doors only react to the +use function and not player movement.
  • Example: [8]

Rapid Firing Model Animation

  • When an enemy fires a gun while strafing (at the right speed) and moving the animation that other players see is a rapid movement of the enemies gun going from left to right (and possibly vice versa).

First Person footstep noises

  • When running up or down an incline footstep noises can sometimes become inaudible however other players can still hear them.

Nade animations

  • Randomly when a player becomes visible (ie. running around a corner) a nade throwing animation is played. This is regardless of what weapon the player is holding or in possession of.

Change Teams crash

  • When a relatively large amount of players change sides (~4-6 minimum) most players on the server crash.

Ambient reloading and knife sounds

  • Randomly players can hear reloading or knife sounds where no-one exists or is reloading / knifing.

Dead Shadows

  • After a player dies his shadow remains in an animated loop.

Wall Flashes

  • Players sometimes get flashed even when standing behind a solid object or wall.

Flashes not recorded on SourceTV

  • Players are not blinded by flashes when viewing a SourceTV demo.


Model Shadows


  • Shadows cast from models always cast the shadow of the first skin. This means, if varying translucency is introduce into a skin set, only the first skin's shadow will be rendered.
  • ts2do


HL2MP Mod localization

  • The ability to add a third-person view in single player mods easily.