ref: c0f37dd92b13f2463a38b17e51f5cf26a4a041c0
dir: /sim.idle.c/
#include <u.h> #include <libc.h> #include <draw.h> #include "dat.h" #include "fns.h" static void freezefrm(Mobj *mo, int oldstate) { Pics *old, *new; old = mo->o->pics[oldstate]; new = mo->o->pics[OSidle]; if(!new->freeze || !old->shared){ mo->freezefrm = 0; return; } mo->freezefrm = tc % old[PTbase].nf; if(mo->freezefrm > new[PTbase].nf) sysfatal("idle:freezefrm obj %s: invalid frame number %d > %d", mo->o->name, mo->freezefrm, new[PTbase].nf); } void idlestate(Mobj *mo) { freezefrm(mo, mo->state); mo->state = OSidle; }