annotate ppe/chara_state40.cc @ 70:cee55c8365e9 default tip

fix
author Kazuma
date Thu, 19 May 2016 18:52:26 +0900
parents 21ac9f57a6d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include "task_base.h"
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "task_object.h"
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 SchedDefineTask1(State40, state40);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 static int
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 state40(SchedTask *smanager, void *rbuf, void *wbuf)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 {
67
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
9 long enemy_part1_f = (long)smanager->get_param(0);
35
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 int length;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 int rinkf1 = *(int*)smanager->get_input(rbuf, 3);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 if (enemy_part1_f == FALSE)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 // Bom(p->x, p->y);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 p->f = FALSE;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 p->task = DELETE_CHARA;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 *q = *p;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 return 0;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 if ((rinkf1 == 8) && (p->dt1 % 3 == 1))
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 if ((p->dt2 < 16))
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 length = 1;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1));
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 smanager->setup_outputData();
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 sprite->flag = true;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 sprite->length = length;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 p->dt2++;
36
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
37 DefSprite(76, 16, p->dt2, 480, &sprite->data[0]);
35
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 else
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 //rinkf1=9;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 *q = *p;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 return 0;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 if (rinkf1 == 9)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 if (p->dt1 % 15 == 1)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 length = 1;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1));
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 smanager->setup_outputData();
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 sprite->flag = true;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 sprite->length = length;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 Puttama(8, p->x, p->y, &sprite->data[0]);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 if (rinkf1 == 10)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 if (p->dt2 != 0)
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 length = 1;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1));
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 smanager->setup_outputData();
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 sprite->flag = true;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 sprite->length = length;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 p->dt2--;
36
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
73 DefSprite(76, 16, p->dt2, 480, &sprite->data[0]);
35
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 else
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 {
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 //rinkf1=11;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 p->f = FALSE;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 p->task = DELETE_CHARA;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 }
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 p->dt1++;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 *q = *p;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 return 0;
c122e3d2302e add all state task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 }