mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 13:47:58 +03:00
Add Anim_AngularDelta
This commit is contained in:
parent
b8cc3313b1
commit
c2291e92c4
4 changed files with 58 additions and 0 deletions
|
@ -238,7 +238,10 @@ typedef struct gameImport_s {
|
|||
void (*Error)(int level, const char *format, ...);
|
||||
int (*Milliseconds)();
|
||||
const char *(*LV_ConvertString)(const char *string);
|
||||
|
||||
// Added in 2.0
|
||||
const char *(*CL_LV_ConvertString)(const char *string);
|
||||
|
||||
void *(*Malloc)(size_t size);
|
||||
void (*Free)(void *ptr);
|
||||
cvar_t *(*Cvar_Get)(const char *varName, const char *varValue, int varFlags);
|
||||
|
@ -267,7 +270,10 @@ typedef struct gameImport_s {
|
|||
void (*FS_FreeFileList)(char **list);
|
||||
const char *(*GetArchiveFileName)(const char *fileName, const char *extension);
|
||||
void (*SendConsoleCommand)(const char *text);
|
||||
|
||||
// Added in 2.0
|
||||
void (*ExecuteConsoleCommand)(int exec_when, const char *text);
|
||||
|
||||
void (*DebugGraph)(float value);
|
||||
void (*SendServerCommand)(int client, const char *format, ...);
|
||||
void (*DropClient)(int client, const char *reason);
|
||||
|
@ -325,7 +331,10 @@ typedef struct gameImport_s {
|
|||
qboolean cylinder,
|
||||
qboolean traceDeep
|
||||
);
|
||||
|
||||
// Added in 2.0
|
||||
float (*CM_VisualObfuscation)(const vec3_t start, const vec3_t end);
|
||||
|
||||
baseshader_t *(*GetShader)(int shaderNum);
|
||||
int (*pointcontents)(const vec3_t p, int passEntityNum);
|
||||
int (*PointBrushnum)(const vec3_t p, clipHandle_t model);
|
||||
|
@ -345,7 +354,10 @@ typedef struct gameImport_s {
|
|||
int entityNum,
|
||||
int contentMask
|
||||
);
|
||||
|
||||
// Added in 2.0
|
||||
qboolean (*HitEntity)(gentity_t *pEnt, gentity_t *pOther);
|
||||
|
||||
int (*imageindex)(const char *name);
|
||||
int (*itemindex)(const char *name);
|
||||
int (*soundindex)(const char *name, int streamed);
|
||||
|
@ -369,9 +381,16 @@ typedef struct gameImport_s {
|
|||
float (*Anim_Frametime)(dtiki_t *tiki, int animNum);
|
||||
float (*Anim_CrossTime)(dtiki_t *tiki, int animNum);
|
||||
void (*Anim_Delta)(dtiki_t *tiki, int animNum, float *delta);
|
||||
|
||||
// Added in 2.0
|
||||
void (*Anim_AngularDelta)(dtiki_t *tiki, int animNum, float *delta);
|
||||
|
||||
qboolean (*Anim_HasDelta)(dtiki_t *tiki, int animNum);
|
||||
void (*Anim_DeltaOverTime)(dtiki_t *tiki, int animNum, float time1, float time2, float *delta);
|
||||
|
||||
// Added in 2.0
|
||||
void (*Anim_AngularDeltaOverTime)(dtiki_t *tiki, int animNum, float time1, float time2, float *delta);
|
||||
|
||||
int (*Anim_Flags)(dtiki_t *tiki, int animNum);
|
||||
int (*Anim_FlagsSkel)(dtiki_t *tiki, int animNum);
|
||||
qboolean (*Anim_HasCommands)(dtiki_t *tiki, int animNum);
|
||||
|
|
|
@ -777,6 +777,20 @@ void PF_Anim_Delta( dtiki_t *tiki, int animnum, vec3_t delta )
|
|||
TIKI_Anim_Delta( tiki, animnum, delta );
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
PF_Anim_AngularDelta
|
||||
===============
|
||||
*/
|
||||
void PF_Anim_AngularDelta(dtiki_t* tiki, int animnum, vec3_t delta)
|
||||
{
|
||||
if (!tiki) {
|
||||
return;
|
||||
}
|
||||
|
||||
TIKI_Anim_AngularDelta(tiki, animnum, delta);
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
PF_Anim_HasDelta
|
||||
|
@ -1806,6 +1820,7 @@ void SV_InitGameProgs( void ) {
|
|||
import.Anim_Frametime = PF_Anim_Frametime;
|
||||
import.Anim_CrossTime = PF_Cross_Time;
|
||||
import.Anim_Delta = PF_Anim_Delta;
|
||||
import.Anim_AngularDelta = PF_Anim_AngularDelta;
|
||||
import.Anim_HasDelta = PF_Anim_HasDelta;
|
||||
import.Anim_DeltaOverTime = PF_Anim_DeltaOverTime;
|
||||
import.Anim_AngularDeltaOverTime = PF_Anim_AngularDeltaOverTime;
|
||||
|
|
|
@ -319,6 +319,29 @@ void TIKI_Anim_Delta(dtiki_t *pmdl, int animnum, float *delta)
|
|||
VectorScale(animData->totalDelta, pmdl->load_scale, delta);
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
TIKI_Anim_AngularDelta
|
||||
|
||||
Added in 2.0
|
||||
===============
|
||||
*/
|
||||
void TIKI_Anim_AngularDelta(dtiki_t *pmdl, int animnum, float *delta)
|
||||
{
|
||||
if (!pmdl) {
|
||||
*delta = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!pmdl->a || animnum < 0 || animnum >= pmdl->a->num_anims) {
|
||||
*delta = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
skelAnimDataGameHeader_t *animData = SkeletorCacheGetData(pmdl->a->m_aliases[animnum]);
|
||||
*delta = animData->totalAngleDelta;
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
TIKI_Anim_HasDelta
|
||||
|
|
|
@ -36,6 +36,7 @@ extern "C" {
|
|||
float TIKI_Anim_Time(dtiki_t *pmdl, int animnum);
|
||||
float TIKI_Anim_Frametime(dtiki_t *pmdl, int animnum);
|
||||
void TIKI_Anim_Delta(dtiki_t *pmdl, int animnum, float *delta);
|
||||
void TIKI_Anim_AngularDelta(dtiki_t *pmdl, int animnum, float *delta);
|
||||
qboolean TIKI_Anim_HasDelta(dtiki_t *pmdl, int animnum);
|
||||
void TIKI_Anim_DeltaOverTime(dtiki_t *pTiki, int iAnimnum, float fTime1, float fTime2, vec3_t vDelta);
|
||||
void TIKI_Anim_AngularDeltaOverTime(dtiki_t *pTiki, int iAnimnum, float fTime1, float fTime2, float *fDelta);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue