X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fanimdecide.qc;h=23f43b9e94a74535614eb5919480d1a2db41236c;hb=1c2df0de21db15a1f28a79e62529a0ab547e3239;hp=8a624aa2aa98d2c6dc1e966d9fc088dbaa1e07e7;hpb=b557753cb5b1d9c92ef9ab17cb03d74bcbb75485;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/animdecide.qc b/qcsrc/common/animdecide.qc index 8a624aa2a..23f43b9e9 100644 --- a/qcsrc/common/animdecide.qc +++ b/qcsrc/common/animdecide.qc @@ -1,18 +1,15 @@ -#if defined(CSQC) - #include "../dpdefs/csprogsdefs.qh" - #include "animdecide.qh" -#elif defined(MENUQC) -#elif defined(SVQC) - #include "../dpdefs/progsdefs.qh" - #include "../dpdefs/dpextensions.qh" +#include "animdecide.qh" + +#include "monsters/all.qh" + +#if defined(SVQC) #include "util.qh" - #include "animdecide.qh" #include "../server/defs.qh" #endif bool monsters_animoverride(entity e) { - int monster_id = 0; + Monster monster_id = NULL; for(int i = MON_FIRST; i <= MON_LAST; ++i) { entity mon = get_monsterinfo(i); @@ -20,14 +17,14 @@ bool monsters_animoverride(entity e) //if(substring(e.model, 0, strlen(mon.model) - 4) == substring(mon.model, 0, strlen(mon.model) - 4)) if(e.model == mon.model) { - monster_id = i; + monster_id = mon; break; } } if(!monster_id) { return false; } - MON_ACTION(monster_id, MR_ANIM); + monster_id.mr_anim(monster_id); vector none = '0 0 0'; e.anim_duckwalk = e.anim_walk; @@ -158,6 +155,8 @@ vector animdecide_getupperanim(entity e) vector animdecide_getloweranim(entity e) { // death etc. + if(e.anim_state & ANIMSTATE_FOLLOW) + return vec3(((e.anim_state & ANIMSTATE_DUCK) ? e.anim_duckidle_x : e.anim_idle_x), e.anim_time, ANIMPRIO_DEAD); // dead priority so it's above all if(e.anim_state & ANIMSTATE_FROZEN) return vec3(e.anim_idle.x, e.anim_time, ANIMPRIO_DEAD); if(e.anim_state & ANIMSTATE_DEAD1)