CBaseAnimating: Difference between revisions
| Gameplayer (talk | contribs)  (Some kvs and inputs belong to CBaseEntity, moved them there.) | SirYodaJedi (talk | contribs)   (Not an input, though) Tag: Undo | ||
| (24 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
| {{LanguageBar}} | {{LanguageBar}} | ||
| {{ | {{stub}} | ||
| {{CD|CBaseAnimating|base=CBaseEntity|file1=[https://github.com/ValveSoftware/source-sdk-2013/blob/master | {{TabsBar|main=gs|base=CBaseAnimating}} | ||
| {{CD|CBaseAnimating|base=CBaseEntity|file1=[https://github.com/ValveSoftware/source-sdk-2013/blob/master/src/game/server/baseanimating.cpp baseanimating.cpp]}} | |||
| {{seealso|[[:Category:CBaseAnimating]]}} | {{seealso|[[:Category:CBaseAnimating]]}} | ||
| Line 7: | Line 8: | ||
| {{important|Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overwritten by game code.}} | {{important|Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overwritten by game code.}} | ||
| {{toc-right}} | |||
| {{Seealso|[[Model entity/Generic Keyvalues, Inputs and Outputs|More mapping friendly listing for generic KIO of all model entities]]}} | |||
| == Keyvalues == | == Keyvalues == | ||
| === KeyValue method === | |||
| Doesn't override [[CBaseEntity#::KeyValue_method|CBaseEntity]]'s KeyValue method so no special keys are present.  | |||
| {{↓|Keyfields}}, {{↓|Input keys}}, {{↓|Outputs}} | |||
| : | |||
| {{ | |||
| }} | |||
| {{ | === Keyfields === | ||
| {{ | {{DEFINE_KEYFIELD|m_nBody|FIELD_INTEGER|body|the active [[$bodygroup]]}} | ||
| {{DEFINE_KEYFIELD|m_nHitboxSet|FIELD_INTEGER|hitboxset|the active [[$hboxset]] {{confirm}}{{elaborate}}}} | |||
| {{ | {{DEFINE_KEYFIELD|m_nSequence|FIELD_INTEGER|sequence}} | ||
| {{DEFINE_KEYFIELD|m_flPlaybackRate|FIELD_FLOAT|playbackrate}} | |||
| {{DEFINE_KEYFIELD|m_flCycle|FIELD_FLOAT|cycle}} | |||
| {{DEFINE_KEYFIELD|m_iszLightingOrigin|FIELD_STRING|LightingOrigin}} | |||
| {{DEFINE_KEYFIELD|m_iszLightingOriginRelative|FIELD_STRING|LightingOriginHack|game={{not|{{l4ds}}}}}} | |||
| {{ | |||
| {{ | |||
| {{ | |||
| {{ | {{DEFINE_KEYFIELD|m_bSuppressAnimSounds|FIELD_BOOLEAN|SuppressAnimSounds|game={{Portal 2|in}}}} | ||
| {{ | |||
| < | {{DEFINE_KEYFIELD|m_flModelScale|FIELD_FLOAT|modelscale|game={{since|{{l4d2}}{{src13}}}}}} | ||
| :{{Note|No key is linked to this field in {{l4d2}}, <code>modelscale</code> is in {{src13}}-based branches and <code>ModelScale</code> since {{as}}}} | |||
| :{{confirm|Verify somehow whether it exists in {{src09}} or {{srcmp}}. It doesn't exist in {{src07}} or earlier.}} | |||
| {{ | |||
| {{ | {{DEFINE_KEYFIELD|m_flFadeScale|FIELD_FLOAT|fadescale|game={{l4d|removed}}}} | ||
| :{{Note|m_flFadeScale along with m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entities}} | |||
| {{ | == Inputs == | ||
| === Input keys === | |||
| {{DEFINE_INPUT|m_nSkin|FIELD_INTEGER|skin|The active [[skin]]}} | |||
| {{DEFINE_INPUT|m_nBody|FIELD_INTEGER|SetBodyGroup|{{↑|m_nBody}}}} | |||
| {{Note|m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entities}} | |||
| {{DEFINE_INPUT|m_fadeMinDist|FIELD_FLOAT|fademindist|game={{l4d|removed}}}} | |||
| {{DEFINE_INPUT|m_fadeMaxDist|FIELD_FLOAT|fademaxdist|game={{l4d|removed}}}} | |||
| === Input functions === | |||
| {{DEFINE_INPUTFUNC|FIELD_VOID|Ignite|InputIgnite}} | |||
| {{DEFINE_INPUTFUNC|FIELD_FLOAT|IgniteLifetime|InputIgniteLifetime}} | |||
| {{DEFINE_INPUTFUNC|FIELD_INTEGER|IgniteNumHitboxFires|InputIgniteNumHitboxFires|game={{l4d2|removed}}}} | |||
| {{DEFINE_INPUTFUNC|FIELD_FLOAT|IgniteHitboxFireScale|InputIgniteHitboxFireScale|game={{l4d2|removed}}}} | |||
| {{note|Since {{l4d2}} following two inputs call the same function that <code>Ignite</code> input calls }} | |||
| {{DEFINE_INPUTFUNC|FIELD_INTEGER|IgniteNumHitboxFires|InputIgnite|game={{l4d2|since}}}} | |||
| {{DEFINE_INPUTFUNC|FIELD_FLOAT|IgniteHitboxFireScale|InputIgnite|game={{l4d2|since}}}} | |||
| {{DEFINE_INPUTFUNC|FIELD_VOID|BecomeRagdoll|InputBecomeRagdoll}} | |||
| {{DEFINE_INPUTFUNC|FIELD_STRING|SetModel|InputSetModel|game={{tf2|only}}}} | |||
| {{DEFINE_INPUTFUNC|FIELD_FLOAT|SetCycle|InputSetCycle|game={{tf2|only}}}} | |||
| {{DEFINE_INPUTFUNC|FIELD_FLOAT|SetPlaybackRate|InputSetPlaybackRate|game={{tf2|only}}}} | |||
| {{ | {{DEFINE_INPUTFUNC|FIELD_STRING|SetLightingOriginHack|InputSetLightingOriginRelative|game={{l4ds|not}}}} | ||
| {{ | {{DEFINE_INPUTFUNC|FIELD_VECTOR|SetModelScale|InputSetModelScale|game={{l4d|removed}}}} | ||
| {{DEFINE_INPUTFUNC|FIELD_STRING|SetLightingOrigin|InputSetLightingOrigin}} | |||
| {{ | |||
| == Outputs == | == Outputs == | ||
| {{ | {{DEFINE_OUTPUT|m_OnIgnite|OnIgnite|COutputEvent}} | ||
| {{ | {{DEFINE_OUTPUT|m_OnFizzled|OnFizzled|COutputEvent|game={{Portal 2|in}}}} | ||
| }} | |||
| == Other fields == | |||
| === Keyless fields === | |||
| {{DEFINE_FIELD|m_flGroundSpeed|FIELD_FLOAT}} | |||
| {{DEFINE_FIELD|m_flLastEventCheck|FIELD_TIME}} | |||
| {{DEFINE_FIELD|m_bSequenceFinished|FIELD_BOOLEAN}} | |||
| {{DEFINE_FIELD|m_bSequenceLoops|FIELD_BOOLEAN}} | |||
| {{DEFINE_FIELD|m_iIKCounter|FIELD_INTEGER}} | |||
| {{DEFINE_FIELD|m_bClientSideAnimation|FIELD_BOOLEAN}} | |||
| {{DEFINE_FIELD|m_bClientSideFrameReset|FIELD_BOOLEAN}} | |||
| {{DEFINE_FIELD|m_nNewSequenceParity|FIELD_INTEGER}} | |||
| {{DEFINE_FIELD|m_nResetEventsParity|FIELD_INTEGER}} | |||
| {{DEFINE_FIELD|m_nMuzzleFlashParity|FIELD_CHARACTER}} | |||
| {{DEFINE_FIELD|m_hLightingOrigin|FIELD_EHANDLE}} | |||
| {{DEFINE_FIELD|m_flDissolveStartTime|FIELD_TIME}} | |||
| {{DEFINE_FIELD|m_fBoneCacheFlags|FIELD_SHORT}} | |||
| {{DEFINE_FIELD|m_flFrozen|FIELD_FLOAT|game={{l4d2|since}}}} | |||
| {{DEFINE_FIELD|m_flFrozenThawRate|FIELD_FLOAT|game={{l4d2|since}}}} | |||
| {{DEFINE_FIELD|m_flFrozenMax|FIELD_FLOAT|game={{l4d2|since}}}} | |||
| {{DEFINE_FIELD|m_hLightingOriginRelative|FIELD_EHANDLE|game={{l4ds|not}}}} | |||
| {{DEFINE_FIELD|m_flModelWidthScale|FIELD_FLOAT|game={{l4d|only}}}} | |||
| === Array fields === | |||
| {{DEFINE_ARRAY|m_flPoseParameter|FIELD_FLOAT|24}} | |||
| {{DEFINE_ARRAY|m_flEncodedController|FIELD_FLOAT|4}} | |||
| === Custom fields === | |||
| {{DEFINE_FIELD|m_pIk|FIELD_CUSTOM}} <!-- DEFINE_CUSTOM_FIELD --> | |||
| == Entity debugging == | |||
| {{Seealso|[[CBaseEntity#Entity debugging]]}} | |||
| === {{cmd|ent_text}} === | === {{cmd|ent_text}} === | ||
| Additional information added to ent_text overlay by this class | Additional information added to ent_text overlay by this class | ||
Latest revision as of 08:52, 31 October 2025

 
|  Class hierarchy | 
|---|
| CBaseAnimating | 
|  baseanimating.cpp | 
CBaseAnimating is the C++ class from which all entities with models inherit, even if they don't actually move.
 Important:Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overwritten by game code.
Important:Following Keyvalues / Inputs / Outputs are available for all entities that inherit this class, but may be overwritten by game code.Keyvalues
KeyValue method
Doesn't override CBaseEntity's KeyValue method so no special keys are present. Keyfields ↓, Input keys ↓, Outputs ↓
Keyfields
m_nBody <FIELD_INTEGER> (body)
- the active $bodygroup
m_nHitboxSet <FIELD_INTEGER> (hitboxset)
- the active $hboxset [confirm][Elaborate?]
m_nSequence <FIELD_INTEGER> (sequence)
m_flPlaybackRate <FIELD_FLOAT> (playbackrate)
m_flCycle <FIELD_FLOAT> (cycle)
m_iszLightingOrigin <FIELD_STRING> (LightingOrigin)
m_iszLightingOriginRelative (not in 
 )<FIELD_STRING>
)<FIELD_STRING> (LightingOriginHack)
m_bSuppressAnimSounds (in  )<FIELD_BOOLEAN>
)<FIELD_BOOLEAN> (SuppressAnimSounds)
m_flModelScale (in all games since 
 )<FIELD_FLOAT>
)<FIELD_FLOAT> (modelscale)
m_flFadeScale (removed since  )<FIELD_FLOAT>
)<FIELD_FLOAT> (fadescale)
 Note:m_flFadeScale along with m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entities Note:m_flFadeScale along with m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entities
Inputs
Input keys
m_nSkin <FIELD_INTEGER> (skin)
- The active skin
m_nBody <FIELD_INTEGER> (SetBodyGroup)
 Note:m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entities
Note:m_fadeMinDist/m_fadeMaxDist were removed from CBaseAnimating and moved to CBaseEntity class so they are available to all entitiesm_fadeMinDist (removed since  )<FIELD_FLOAT>
)<FIELD_FLOAT> (fademindist)
m_fadeMaxDist (removed since  )<FIELD_FLOAT>
)<FIELD_FLOAT> (fademaxdist)
Input functions
Ignite <FIELD_VOID> linked function: InputIgnite
- description todo
IgniteLifetime <FIELD_FLOAT> linked function: InputIgniteLifetime
- description todo
IgniteNumHitboxFires (removed since  )<FIELD_INTEGER> linked function: InputIgniteNumHitboxFires
)<FIELD_INTEGER> linked function: InputIgniteNumHitboxFires
- description todo
IgniteHitboxFireScale (removed since  )<FIELD_FLOAT> linked function: InputIgniteHitboxFireScale
)<FIELD_FLOAT> linked function: InputIgniteHitboxFireScale
- description todo
IgniteNumHitboxFires (in all games since  )<FIELD_INTEGER> linked function: InputIgnite
)<FIELD_INTEGER> linked function: InputIgnite
- description todo
IgniteHitboxFireScale (in all games since  )<FIELD_FLOAT> linked function: InputIgnite
)<FIELD_FLOAT> linked function: InputIgnite
- description todo
BecomeRagdoll <FIELD_VOID> linked function: InputBecomeRagdoll
- description todo
SetModel (only in  )<FIELD_STRING> linked function: InputSetModel
)<FIELD_STRING> linked function: InputSetModel
- description todo
SetCycle (only in  )<FIELD_FLOAT> linked function: InputSetCycle
)<FIELD_FLOAT> linked function: InputSetCycle
- description todo
SetPlaybackRate (only in  )<FIELD_FLOAT> linked function: InputSetPlaybackRate
)<FIELD_FLOAT> linked function: InputSetPlaybackRate
- description todo
SetLightingOriginHack (not in 
 )<FIELD_STRING> linked function: InputSetLightingOriginRelative
)<FIELD_STRING> linked function: InputSetLightingOriginRelative
- description todo
SetModelScale (removed since  )<FIELD_VECTOR> linked function: InputSetModelScale
)<FIELD_VECTOR> linked function: InputSetModelScale
- description todo
SetLightingOrigin <FIELD_STRING> linked function: InputSetLightingOrigin
- description todo
Outputs
m_OnIgnite <COutputEvent> (OnIgnite)
m_OnFizzled (in  )<COutputEvent>
)<COutputEvent> (OnFizzled)
Other fields
Keyless fields
m_flGroundSpeed <FIELD_FLOAT>
m_flLastEventCheck <FIELD_TIME>
m_bSequenceFinished <FIELD_BOOLEAN>
m_bSequenceLoops <FIELD_BOOLEAN>
m_iIKCounter <FIELD_INTEGER>
m_bClientSideAnimation <FIELD_BOOLEAN>
m_bClientSideFrameReset <FIELD_BOOLEAN>
m_nNewSequenceParity <FIELD_INTEGER>
m_nResetEventsParity <FIELD_INTEGER>
m_nMuzzleFlashParity <FIELD_CHARACTER>
m_hLightingOrigin <FIELD_EHANDLE>
m_flDissolveStartTime <FIELD_TIME>
m_fBoneCacheFlags <FIELD_SHORT>
m_flFrozen (in all games since  )<FIELD_FLOAT>
)<FIELD_FLOAT>
m_flFrozenThawRate (in all games since  )<FIELD_FLOAT>
)<FIELD_FLOAT>
m_flFrozenMax (in all games since  )<FIELD_FLOAT>
)<FIELD_FLOAT>
m_hLightingOriginRelative (not in 
 )<FIELD_EHANDLE>
)<FIELD_EHANDLE>
m_flModelWidthScale (only in  )<FIELD_FLOAT>
)<FIELD_FLOAT>
Array fields
m_flPoseParameter[24] <FIELD_FLOAT>
m_flEncodedController[4] <FIELD_FLOAT>
Custom fields
m_pIk <FIELD_CUSTOM>
Entity debugging
ent_text
Additional information added to ent_text overlay by this class
- Sequence: (<sequence number>) <sequence name>
- Activity: <activity name> (only if there is one)
- Cycle: <cycle> (<animation time>)
exact format:
"Sequence: (%3d) %s",GetSequence(), GetSequenceName( GetSequence() ) "Activity %s", GetSequenceActivityName(GetSequence()) (only if there is one) "Cycle: %.5f (%.5f)", (float)GetCycle(), m_flAnimTime.Get()

























 Confirm:
 Confirm:

