UFO: Alien Invasion
Loading...
Searching...
No Matches
r_mesh_anim.cpp File Reference

animation parsing and playing More...

#include "r_local.h"
#include "r_mesh.h"
#include "r_mesh_anim.h"
Include dependency graph for r_mesh_anim.cpp:

Go to the source code of this file.

Macros

#define LOOPNEXT(x)
#define R_AnimGetAliasAnim(mod, as)
 Get the mAliasAnim_t for the given animation state.

Functions

static void R_AnimAdd (animState_t *as, const model_t *mod, const mAliasAnim_t *anim)
 Adds the given animation to the animation state.
static const mAliasAnim_tR_AnimGet (const model_t *mod, const char *name)
 Searches a given animation id in the given model data.
void R_AnimAppend (animState_t *as, const model_t *mod, const char *name)
 Appends a new animation to the current running one.
void R_AnimChange (animState_t *as, const model_t *mod, const char *name)
 Changes the animation for md2 models.
void R_AnimRun (animState_t *as, const model_t *mod, int msec)
 Run the animation of the given model.
const char * R_AnimGetName (const animState_t *as, const model_t *mod)
 Get the current running animation for a model.

Detailed Description

animation parsing and playing

Definition in file r_mesh_anim.cpp.

Macro Definition Documentation

◆ LOOPNEXT

#define LOOPNEXT ( x)
Value:
((x + 1 < MAX_ANIMLIST) ? x + 1 : 0)
#define MAX_ANIMLIST
Definition r_entity.h:27

Definition at line 30 of file r_mesh_anim.cpp.

Referenced by R_AnimAdd(), R_AnimChange(), and R_AnimRun().

◆ R_AnimGetAliasAnim

#define R_AnimGetAliasAnim ( mod,
as )
Value:
((mod)->alias.animdata + (as)->list[(as)->lcur])

Get the mAliasAnim_t for the given animation state.

Definition at line 47 of file r_mesh_anim.cpp.

Referenced by R_AnimChange(), R_AnimGetName(), and R_AnimRun().

Function Documentation

◆ R_AnimAdd()

void R_AnimAdd ( animState_t * as,
const model_t * mod,
const mAliasAnim_t * anim )
inlinestatic

Adds the given animation to the animation state.

Definition at line 35 of file r_mesh_anim.cpp.

References model_t::alias, mAliasModel_t::animdata, animState_t::ladd, animState_t::list, and LOOPNEXT.

Referenced by R_AnimAppend(), and R_AnimChange().

◆ R_AnimAppend()

void R_AnimAppend ( animState_t * as,
const model_t * mod,
const char * name )

Appends a new animation to the current running one.

See also
R_AnimGet
R_AnimChange
R_AnimRun
R_AnimGetName
Parameters
[in,out]asThe animation state to append the new animation to
[in]modThe model to append the animation for
[in]nameThe animation name (from the *.anm file) to append

Definition at line 84 of file r_mesh_anim.cpp.

References model_t::alias, animState_t::backlerp, animState_t::change, Com_Printf(), animState_t::dt, animState_t::frame, mAliasAnim_t::from, animState_t::ladd, animState_t::lcur, model_t::name, name, mAliasModel_t::num_anims, animState_t::oldframe, R_AnimAdd(), R_AnimGet(), animState_t::time, mAliasAnim_t::time, and mAliasAnim_t::to.

Referenced by CL_ActorDie(), and CL_ActorDoShoot().

◆ R_AnimChange()

◆ R_AnimGet()

const mAliasAnim_t * R_AnimGet ( const model_t * mod,
const char * name )
static

Searches a given animation id in the given model data.

See also
R_AnimChange
R_AnimAppend
R_AnimRun
R_AnimGetName
Parameters
[in]modThe model to search the given animation id in
[in]nameThe animation name (from the *.anm file) to search
Returns
nullptr if not found, otherwise the animation data

Definition at line 59 of file r_mesh_anim.cpp.

References model_t::alias, mAliasModel_t::animdata, i, mAliasAnim_t::name, name, mAliasModel_t::num_anims, and Q_streq.

Referenced by R_AnimAppend(), and R_AnimChange().

◆ R_AnimGetName()

const char * R_AnimGetName ( const animState_t * as,
const model_t * mod )

Get the current running animation for a model.

See also
R_AnimGet
R_AnimAppend
R_AnimRun
R_AnimChange
Parameters
[in]asThe animation state to check
[in]modThe model to check
Returns
nullptr if no animation is set or running or the name of the current running animation otherwise.

Definition at line 242 of file r_mesh_anim.cpp.

References model_t::alias, animState_t::ladd, animState_t::lcur, MAX_ANIMLIST, mAliasAnim_t::name, mAliasModel_t::num_anims, and R_AnimGetAliasAnim.

Referenced by HUD_UpdateActorCvar(), UI_DrawModelNode(), and UI_DrawModelNodeWithUIModel().

◆ R_AnimRun()

void R_AnimRun ( animState_t * as,
const model_t * mod,
int msec )

Run the animation of the given model.

See also
R_AnimGet
R_AnimAppend
R_AnimChange
R_AnimGetName
Parameters
[in,out]asThe animation state to run
[in]modThe model to run the animation for
[in]msecThe milliseconds since this was called last

Definition at line 192 of file r_mesh_anim.cpp.

References model_t::alias, animState_t::backlerp, animState_t::change, animState_t::dt, animState_t::frame, mAliasAnim_t::from, animState_t::ladd, animState_t::lcur, LOOPNEXT, MAX_ANIMLIST, mAliasModel_t::num_anims, animState_t::oldframe, R_AnimGetAliasAnim, animState_t::time, mAliasAnim_t::time, and mAliasAnim_t::to.

Referenced by LE_Think(), LM_AddToSceneOrder(), SEQ_Render3D(), UI_DrawModelNode(), and UI_DrawModelNodeWithUIModel().