Model entity/Generic Keyvalues, Inputs and Outputs/Keyvalues: Difference between revisions
(Further research needed for shadow cast distance.) |
(k, CBaseAnimating seems to be ready to use now, good to put it into the test of time now (Although I'd still not put the template in pages like Template:BasicCSGOWeapon, but just take a few bits here and put it there)) |
||
Line 2: | Line 2: | ||
This template is our holder for all [[keyvalues]] that are assigned through {{ent|CBaseAnimating}}. The template has a very specific syntax that you must follow to apply properly, because new games have added new features throughout the years. See [[Help:Templates]] for more info on named parameters. | This template is our holder for all [[keyvalues]] that are assigned through {{ent|CBaseAnimating}}. The template has a very specific syntax that you must follow to apply properly, because new games have added new features throughout the years. See [[Help:Templates]] for more info on named parameters. | ||
'''No parameters:''' display only keyvalues available for ALL games. | |||
<pre>{{KV BaseAnimating}}</pre> | <pre>{{KV BaseAnimating}}</pre> | ||
''' | '''Base:''' display keyvalues in a fashion that assumes the entity's orgin game's engine is older than {{l4d}}. | ||
<pre>{{KV BaseAnimating|base=1}}</pre> | <pre>{{KV BaseAnimating|base=1}}</pre> | ||
''' | '''Game as a parameter:''' display the keyvalues that <code>base</code> displays, AND keyvalues that were added to the class, by the specified game. You can specify as many games as needed. You must specify ALL the games you want to include (e.g. <code>l4d2</code> will not automatically include <code>l4d</code> keyvalues as well). This is because there are situations like in Portal 2, where the output <code>OnKilled</code> is not available through {{ent|CBaseEntity}}, despite being a far descendant of the L4D branch which added it. | ||
<pre>{{KV BaseAnimating|portal2=1}}</pre> | <pre>{{KV BaseAnimating|portal2=1}}</pre> | ||
All parameters for this template: | All parameters for this template: | ||
*<code>base</code> | *<code>base</code> - Assumes the entity's game belongs to an engine older than the {{l4d}} branch (E.g. {{portal}}, {{tf2}}, {{hl2}}), then hides notes about games past it. | ||
*<code>l4d</code> | *<code>portal</code>and<code>src13</code> - Both will cross strike out certain keys that don't exist in their own games. (Specifically the {{not|{{portal}}}} and {{not|{{src13}}}}) | ||
*<code>l4d2</code> | *<code>l4d</code> - Show {{l4d}} only key quirks. and display keys added since {{l4d}}. | ||
*<code>as</code> | *<code>l4d2</code> - Show {{l4d2}} only key quirks, and display keys present since {{l4d2}}. | ||
*<code>portal2</code> | *<code>as</code> - Display keys present since {{as}}. | ||
*<code>portal2</code> - Display keys present since {{portal2}}. | |||
{{note|If you want to edit something on this template, please make sure you edit it in both places. ''Per-game'' keyvalues are duplicated, for complex technical reasons.}} | {{note|If you want to edit something on this template, please make sure you edit it in both places. ''Per-game'' keyvalues are duplicated, for complex technical reasons.}} | ||
For full documentation on this family of templates, see [[FGD Template Prototype]]. Still confused on something? '''Ask for help''' before editing this template. | For full documentation on this family of templates, see [[FGD Template Prototype]]. Still confused on something? '''Ask for help''' before editing this template. | ||
{{note|Some keyvalues in this template are actually defined by <code>CBaseEntity</code>. We have listed them here instead because those specific keyvalues were rather un-universal (for example <code>renderfx</code>, which would not have any practical use on point entities that are never seen, or on triggers), and putting them on every entity page would only cause confusion and clutter, the exact opposite goal in mind with this series of templates.}} | {{note|Some keyvalues in this template are actually defined by <code>CBaseEntity</code>. We have listed them here instead because those specific keyvalues were rather un-universal (for example <code>renderfx</code>, which would not have any practical use on point entities that are never seen, or on triggers), and putting them on every entity page would only cause confusion and clutter, the exact opposite goal in mind with this series of templates.}} | ||
__TOC__ | |||
[[Category:Keyvalue Templates|Global]] | [[Category:Keyvalue Templates|Global]] | ||
</noinclude>{{minititle|Model}} | {{KV BaseAnimating}} | ||
</noinclude><includeonly>{{minititle|Model}} | |||
{{KV|World Model|intn=model|string|The [[model]] this entity should appear as. 128-character limit.}} | {{KV|World Model|intn=model|string|The [[model]] this entity should appear as. 128-character limit.}} | ||
{{KV|[[Skin]]|intn=skin or ModelSkin {{as}}|int|Some models have multiple skins. This value selects from the index, starting with 0.}} | {{KV|[[Skin]]|intn=skin or ModelSkin {{as}}|int|Some models have multiple skins. This value selects from the index, starting with 0.}} | ||
{{KV|Collisions|intn=solid|choices|Method of collision for this entity. | {{KV|Collisions|intn=solid|choices|Method of collision for this entity. | ||
:*0: None | :*0: None | ||
:*1: BSP ([[QPhysics]]) {{not in FGD}} {{bug|In {{game link|Portal 2}}, if an entity using QPhysics collisions is hit by [[Gel]], the game will crash!}} | :*1: BSP ([[QPhysics]]) {{not in FGD}} {{#if:{{{base|}}}||{{bug|In {{game link|Portal 2}}, if an entity using QPhysics collisions is hit by [[Gel]], the game will crash!}} {{confirm|Does this apply to brush entities?}}}} | ||
:*2: [[Bounding box|Bounding Box]] | :*2: [[Bounding box|Bounding Box]] | ||
:*3: [[Bounding box|Oriented Bounding Box]] {{not in FGD}} | :*3: [[Bounding box|Oriented Bounding Box]] {{not in FGD}} | ||
Line 31: | Line 33: | ||
:*5: Custom/Test {{not in FGD}} | :*5: Custom/Test {{not in FGD}} | ||
:*6: [[VPhysics]] | :*6: [[VPhysics]] | ||
}} | |||
{{KV|[[Hitbox]] Set|intn=hitboxset|string|Sets the [[$hboxset]] to use.|nofgd=1}} | |||
{{KV|Body Group|intn=body or SetBodyGroup|int|Sets the the active [[$bodygroup]].|nofgd=1}} | {{KV|Body Group|intn=body or SetBodyGroup|int|Sets the the active [[$bodygroup]].|nofgd=1}} | ||
{{KV| | {{KV|Model Index|intn=modelindex|short|Changes the entity's model to a precached model on the map.|nofgd=1}} | ||
:{{warning|Using an invalid value will instantly crash the game, this includes 0 and 1.}} | |||
<!-- | |||
++ Model Scale ++ | |||
--> | |||
<!-- IF: L4D or L4D2 -->{{#if:{{{portal|}}}{{{l4d|}}}{{{l4d2|}}}{{{src13|}}}| | |||
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|deprecated=1|not={{portal}} {{l4ds}} {{src13}}|}} | |||
|<!-- ELSE IF: BASE -->{{#if:{{{base|}}}| | |||
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|not={{portal}}{{l4d}}}} | |||
|<!-- ELSE: --> | |||
{{KV|Model Scale|intn=modelscale|float|A multiplier for the size of the model. Negative values are accepted. Does not alter the physics collisions in most cases, however.|nofgd=1|since=EP2|not={{portal}}{{l4ds}}{{src13}}|}} | |||
}}}} | |||
:{{warning|Negative or extremely high values can cause crashes!}} | |||
<h4>Animating</h4> | |||
{{KV|Sequence|intn=sequence|int|Default animation sequence for the model to be playing after spawning.|nofgd=1}} | {{KV|Sequence|intn=sequence|int|Default animation sequence for the model to be playing after spawning.|nofgd=1}} | ||
{{KV|Playback Rate|intn=playbackrate|float|A multiplier of the [[framerate]] at which animations are played, negative values are accepted. Default is 1.0|nofgd=1}} | {{KV|Playback Rate|intn=playbackrate|float|A multiplier of the [[framerate]] at which animations are played, negative values are accepted. Default is 1.0|nofgd=1}} | ||
{{KV|Cycle|intn=cycle|float|The current frame of the currently playing animation, on a range from 0-1.|nofgd=1}} | {{KV|Cycle|intn=cycle|float|The current frame of the currently playing animation, on a range from 0-1.|nofgd=1}} | ||
{{KV| | {{KV|Texture Frame|intn=texframeindex|int|The frame number for any animated textures on this entity.|nofgd=1}} | ||
<!-- {{KV|Damage Filter Name|intn=damagefilter|targetname|When this entity receives damage, it will [[filter]] by this entity.}} doesn't belong here --> | |||
{{KV|Damage Filter Name|intn=damagefilter|targetname|When this entity receives damage, it will [[filter]] by this entity.}} | <h3>Effects - Render</h3>{{style|border-bottom:1px solid #3A3937;display:block|}} | ||
{{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If | {{KV|Start Fade Distance|intn=fademindist|float|Distance at which the entity starts fading. If 0 or less, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a [[3D Skybox]].}} | ||
{{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If | {{KV|End Fade Distance|intn=fademaxdist|float|Distance at which the entity ends fading. If 0 or less, the entity won't disappear at all. The value will scale appropriately if the entity is in a [[3D Skybox]].}} | ||
{{KV|Fade Scale|intn=fadescale|float|If specified in the {{ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{ent|$noforcedfade}}.}} | {{KV|Fade Scale|intn=fadescale|float|If specified in the {{ent|worldspawn}}, or if the engine is running below DirectX 8, entities will fade out even if the fade distances above aren't specified. This value gives more control over when this happens: numbers smaller than 1 cause the entity to fade out at further distances, and greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also {{ent|$noforcedfade}}.}} | ||
{{KV|[[Render Mode]]|intn=rendermode|choices|Set a non-standard rendering mode on this entity.}} | {{KV|[[Render Mode]]|intn=rendermode|choices|Set a non-standard rendering mode on this entity.}} | ||
{{ExpandBox| | |||
:*0: Normal | :*'''0''': Normal | ||
:*1: Color | :*'''1''': Color | ||
:*2: Texture | :*'''2''': Texture | ||
:*3: Glow | :*'''3''': Glow | ||
:*4: Solid/Alphatest | :*'''4''': Solid/Alphatest | ||
:*5: Additive | :*'''5''': Additive | ||
:*6: Removed, does nothing | :*'''6''': Removed, does nothing | ||
:*7: Additive Fractional Frame | :*'''7''': Additive Fractional Frame | ||
:*8: Alpha Add | :*'''8''': Alpha Add | ||
:*9: World Space Glow | :*'''9''': World Space Glow | ||
:*10: Don't Render}} | :*'''10''': Don't Render}} | ||
{{KV|Render FX / Transparency (0 - 255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}} | {{KV|Render FX / Transparency (0 - 255)|intn=renderamt|int|Transparency amount, requires a Render Mode other than '''Normal'''. 0 is invisible, 255 is fully visible.}} | ||
{{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}} | {{KV|Render Color (R G B)|intn=rendercolor|color255|Color tint.}} | ||
Line 80: | Line 97: | ||
:*'''23:''' Cull By Distance | :*'''23:''' Cull By Distance | ||
:*'''24:''' Fade Wider Pulse | :*'''24:''' Fade Wider Pulse | ||
:*'''26:''' Fade Near | :*'''26:''' Fade Near | ||
:{{todo|18-21, 25}} | :{{todo|18-21, 25}}}} | ||
<h3>Effects - Environment</h3>{{style|border-bottom:1px solid #3A3937;display:block|}} | |||
{{ | |||
{{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}} | {{KV|Disable Shadows|intn=disableshadows|boolean|Prevent the entity from creating cheap render-to-texture shadows. Does not affect [[shadow mapping]].}} | ||
{{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}} | {{KV|Disable Receiving Shadows|intn=disablereceiveshadows|boolean|Prevent the entity from receiving shadows on itself.}} | ||
{{KV| | {{KV|Shadow Cast Distance|intn=shadowcastdist|int|Sets how far the entity casts dynamic shadows. 0 means default distance from the [[shadow_control]] entity.}} | ||
:{{ | :{{note|Further research needed for this key, as inconsistencies like unavailability for [[prop_dynamic]] in {{src13}} exists.}} | ||
{{KV| | {{KV|Lighting Origin|intn=LightingOrigin|targetname|Select an entity (not{{ent|info_lighting}}entity!) from which to sample lighting instead of the entity's [[origin]].}} | ||
{{KV| | <!-- | ||
++ LightingOriginHack ++ | |||
-->{{#if:{{{ | --> | ||
<!-- IF: L4D or L4D2 -->{{#if:{{{l4d|}}}{{{l4d2|}}}| | |||
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4ds}}|deprecated=1|nofgd=1}} | |||
|<!-- ELSE IF: BASE -->{{#if:{{{base|}}}| | |||
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4d}}|nofgd=1}} | |||
|<!-- ELSE: --> | |||
{{KV|Lighting Origin Offset|intn=LightingOriginHack|targetname|The{{ent|info_lighting_relative}}from which to sample lighting instead of the entity's origin.|not={{l4ds}}|nofgd=1}} | |||
}}}} | |||
<!-- IF: PORTAL2 -->{{#if:{{{portal2|}}}| | |||
{{KV|Disable Flashlight|intn=disableflashlight|boolean|Used to disable [[env_projectedtexture|projected texture]] lighting and shadows on this entity.|since=P2}} | |||
{{KV|Disable ShadowDepth|intn=disableshadowdepth|boolean|Makes this entity not cast a shadow from{{ent|env_projectedtexture}}entities.|since=P2}} | |||
{{KV|Projected Texture Cache|intn=shadowdepthnocache|choices|Used to hint [[env_projectedtexture|projected texture system]] whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.|since=P2}} | |||
:*0: Default | :*0: Default | ||
:*1: No cache - render every frame | |||
:*2: Cache it - render only once | |||
| }} | |||
<!-- | |||
++ Misc - SystemLevelChoice ++ | |||
--> | |||
<!-- IF: L4D -->{{#if:{{{l4d|}}}{{{l4d2|}}}{{{as|}}}{{{portal2|}}}| | |||
<h3>Miscellaneous</h3> | |||
{{minititle|SystemLevelChoice}} | |||
{{KV|Minimum Effect Details Level|intn=mincpulevel|choices|Effect Details levels (or<code>cpu_level</code>command) lower than this will not render this entity.|since=L4D}} | |||
{{KV|Maximum Effect Details Level|intn=maxcpulevel|choices|Effect Details levels (or<code>cpu_level</code>command) higher than this will not render this entity.|since=L4D}} | |||
:*0: Default ("Low" for<code>mincpulevel</code>, "High" for<code>maxcpulevel</code>) | |||
:*1: Low | :*1: Low | ||
:*2: Medium | :*2: Medium | ||
:*3: High | :*3: High | ||
{{KV|Minimum Shader Details Level|intn=mingpulevel|choices|Shader Details levels (or<code>gpu_level</code>command) lower than this will not render this object.|since=L4D}} | |||
{{KV|Maximum Shader Details Level|intn=maxgpulevel|choices|Shader Details levels (or<code>gpu_level</code>command) higher than this will not render this object.|since=L4D}} | |||
:*0: Default ("Low" for<code>mingpulevel</code>, "Very High" for<code>maxgpulevel</code>) | |||
:*0: Default | |||
:*1: Low | :*1: Low | ||
:*2: Medium | :*2: Medium | ||
:*3: High | :*3: High | ||
:*4: Very High | |||
| }} | |||
<!-- | |||
++ Misc - Game Specific Niches ++ | |||
--> | |||
<!-- IF: L4D2 OR AS OR PORTAL2 -->{{#if:{{{l4d2|}}}{{{as|}}}{{{portal2|}}}| | |||
{{KV|Glow Backface Multiple|intn=glowbackfacemult|float|nofgd=1|If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.|since=L4D2}} | {{KV|Glow Backface Multiple|intn=glowbackfacemult|float|nofgd=1|If this object has a glow effect, multiply the effect by this much on the sides of the object that are facing away from the viewer.|since=L4D2}} | ||
{{KV|Move Type|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior. | | }}<!-- IF: AS -->{{#if:{{{as|}}}| | ||
{{KV|Move Type|intn=MoveType|choices|Sets a movetype for this entity, which changes its movement behavior. | |||
:*0: None, don't move | {{ExpandBox| | ||
:*1: Isometric | :*'''0''': None, don't move | ||
:*2: Walk, player only, moving on ground | :*'''1''': Isometric | ||
:*3: NPC, movement | :*'''2''': Walk, player only, moving on ground | ||
:*4: Fly, no gravity | :*'''3''': NPC, movement | ||
:*5: Fly, with gravity | :*'''4''': Fly, no gravity | ||
:*6: Physics | :*'''5''': Fly, with gravity | ||
:*7: Push | :*'''6''': Physics | ||
:*8: [[Noclip]] | :*'''7''': Push | ||
:*9: Ladder, for players on ladders | :*'''8''': [[Noclip]] | ||
:*10: Spectator | :*'''9''': Ladder, for players on ladders | ||
:*11: Custom}} | :*'''10''': Spectator | ||
{{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior. | :*'''11''': Custom | ||
}} | |||
:*0: None | |since=AS|nofgd=1}} | ||
:*1: Debris, collides only with the world and static props | {{KV|Collision Group|intn=CollisionGroup|choices|Sets a collision group for this entity, which changes its collision behavior. | ||
:*2: Debris, with trigger interaction | {{ExpandBox| | ||
:* | :*'''0''': None | ||
:*4: Interactive, collides with everything except debris | :*'''1''': Debris, collides only with the world and static props | ||
:*5: Player | :*'''2''': Debris, with trigger interaction | ||
:*6: Breakable Glass | :*'''''': Interactive Debris, doesn't collide with other debris | ||
:*7: Vehicle | :*'''4''': Interactive, collides with everything except debris | ||
:*8: Player Movement | :*'''5''': Player | ||
:*9: In-Vehicle | :*'''6''': Breakable Glass | ||
:*10: Weapon | :*'''7''': Vehicle | ||
:*11: Vehicle Clip | :*'''8''': Player Movement | ||
:*12: Projectile | :*'''9''': In-Vehicle | ||
:*13: Door blocker, not permitted to go near doors | :*'''10''': Weapon | ||
:* | :*'''11''': Vehicle Clip | ||
:*15: Dissolving | :*'''12''': Projectile | ||
:*16: Pushaway | :*'''13''': Door blocker, not permitted to go near doors | ||
:*17: NPC Actor, | :*'''1''': Passable Door | ||
:*18: NPC Scripted, NPCs do not collide with each other}} | :*'''15''': Dissolving | ||
:*'''16''': Pushaway | |||
:*'''17''': NPC Actor, NPCs ignore the player | |||
:*'''18''': NPC Scripted, NPCs do not collide with each other | |||
}} | |||
|since=AS|nofgd=1}} | |||
| }}<!-- IF: PORTAL2 -->{{#if:{{{portal2|}}}| | |||
{{KV|No Animation Sounds|intn=SuppressAnimSounds|boolean|Silences sounds linked to animations.|since=P2|nofgd=1}} | {{KV|No Animation Sounds|intn=SuppressAnimSounds|boolean|Silences sounds linked to animations.|since=P2|nofgd=1}} | ||
| }}</includeonly> | |||
Revision as of 03:22, 17 April 2021
This template is our holder for all keyvalues that are assigned through CBaseAnimating. The template has a very specific syntax that you must follow to apply properly, because new games have added new features throughout the years. See Help:Templates for more info on named parameters. No parameters: display only keyvalues available for ALL games.
{{KV BaseAnimating}}
Base: display keyvalues in a fashion that assumes the entity's orgin game's engine is older than .
{{KV BaseAnimating|base=1}}
Game as a parameter: display the keyvalues that base
displays, AND keyvalues that were added to the class, by the specified game. You can specify as many games as needed. You must specify ALL the games you want to include (e.g. l4d2
will not automatically include l4d
keyvalues as well). This is because there are situations like in Portal 2, where the output OnKilled
is not available through CBaseEntity, despite being a far descendant of the L4D branch which added it.
{{KV BaseAnimating|portal2=1}}
All parameters for this template:
base
- Assumes the entity's game belongs to an engine older than thebranch (E.g.
,
,
), then hides notes about games past it.
portal
andsrc13
- Both will cross strike out certain keys that don't exist in their own games. (Specifically the (not in) and (not in
))
l4d
- Showonly key quirks. and display keys added since
.
l4d2
- Showonly key quirks, and display keys present since
.
as
- Display keys present since.
portal2
- Display keys present since.

For full documentation on this family of templates, see FGD Template Prototype. Still confused on something? Ask for help before editing this template.

CBaseEntity
. We have listed them here instead because those specific keyvalues were rather un-universal (for example renderfx
, which would not have any practical use on point entities that are never seen, or on triggers), and putting them on every entity page would only cause confusion and clutter, the exact opposite goal in mind with this series of templates.