annotate spe/chara_state602.cc @ 49:f4140672ef9f

fix.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Fri, 21 Jan 2011 22:18:28 +0900
parents c330ded6d728
children cfd42ee2ad28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
1 #include "task_base.h"
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
2 #include "task_object.h"
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
4 SchedDefineTask1(State602, state602);
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 static int
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
7 state602(SchedTask *smanager, void *rbuf, void *wbuf)
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 {
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
9 int rand = (int)smanager->get_param(0);
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
10
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
13 int length = 1;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
14 smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1));
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
15 smanager->setup_outputData();
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
16
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
17 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1);
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
18 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
19 sprite->length = length;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
20
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 p->dt2++;
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 Putenemy(24, p->x + 14, p->y + 14,
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
23 (rand % 5 + 0.5) * (rand % 2 == 1 ? -1 : 1),
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
24 (rand % 5 + 0.5) * (rand % 2 == 1 ? -1 : 1),
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
25 STATE29, &sprite->data[0]);
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 if (p->dt2 > 1024) {
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 p->task = STATE600;
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 p->dt2 = 0;
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
49
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
30 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
31
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
32 *q = *p;
18
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 return 0;
c330ded6d728 add task file.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }