Mercurial > hg > Members > koba > t_dandy
diff ppe/chara_state29.cc @ 34:7aaaaf5dde40
add new task.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 07 Jan 2011 23:19:05 +0900 |
parents | |
children | c122e3d2302e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state29.cc Fri Jan 07 23:19:05 2011 +0900 @@ -0,0 +1,30 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State29, state29); + +static int +state29(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int length; + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + if(p->dt1 % 18 == 1) + { + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr tama = (ObjContainerPtr)smanager->get_output(wbuf, 1); + tama->flag = true; + tama->length = length; + + Puttama(0, p->x, p->y, &tama->data[0]); + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + p->dt1++; + + *q = *p; + return 0; +}