Mercurial > hg > Members > koba > t_dandy
comparison ppe/chara_state31.cc @ 35:c122e3d2302e
add all state task.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 09 Jan 2011 14:28:44 +0900 |
parents | 7aaaaf5dde40 |
children | 6989f8cb0259 |
comparison
equal
deleted
inserted
replaced
34:7aaaaf5dde40 | 35:c122e3d2302e |
---|---|
4 SchedDefineTask1(State31, state31); | 4 SchedDefineTask1(State31, state31); |
5 | 5 |
6 static int | 6 static int |
7 state31(SchedTask *smanager, void *rbuf, void *wbuf) | 7 state31(SchedTask *smanager, void *rbuf, void *wbuf) |
8 { | 8 { |
9 int part3_f = (int)smanager->get_param(0); | 9 int part3_f = (int)smanager->get_param(2); |
10 | 10 |
11 int length; | 11 int length; |
12 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); | 12 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); |
13 CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); | 13 CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); |
14 int count = *(int*)smanager->get_input(rbuf, 2); | 14 int count = *(int*)smanager->get_input(rbuf, 2); |
18 { | 18 { |
19 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | 19 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
20 // Bom(p->x, p->y); | 20 // Bom(p->x, p->y); |
21 p->f = FALSE; | 21 p->f = FALSE; |
22 p->task = DELETE_CHARA; | 22 p->task = DELETE_CHARA; |
23 // p->collision = noaction; | |
24 | 23 |
25 *q = *p; | 24 *q = *p; |
26 return 0; | 25 return 0; |
27 } | 26 } |
28 | 27 |
33 p->dt2 = 0; | 32 p->dt2 = 0; |
34 } | 33 } |
35 if(rinkf1 == 5) | 34 if(rinkf1 == 5) |
36 { | 35 { |
37 length = 1; | 36 length = 1; |
38 smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | 37 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
39 smanager->setup_outputData(); | 38 smanager->setup_outputData(); |
40 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); | 39 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); |
41 sprite->flag = true; | 40 sprite->flag = true; |
42 sprite->length = length; | 41 sprite->length = length; |
43 | 42 |
44 p->x = kyeenemyno->x + 52; | 43 p->x = kyeenemyno->x + 52; |
45 p->y = kyeenemyno->y; | 44 p->y = kyeenemyno->y; |
47 PutSprite(count, p->x - 4, p->y - 20, 80 + p->dt2 % 4, &sprite->data[0]); | 46 PutSprite(count, p->x - 4, p->y - 20, 80 + p->dt2 % 4, &sprite->data[0]); |
48 p->dt2++; | 47 p->dt2++; |
49 } | 48 } |
50 if(rinkf1 == 6) | 49 if(rinkf1 == 6) |
51 { | 50 { |
52 length = 1; | |
53 smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | |
54 smanager->setup_outputData(); | |
55 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); | |
56 sprite->flag = true; | |
57 sprite->length = length; | |
58 | |
59 if(p->y < 240 - 40) | 51 if(p->y < 240 - 40) |
60 { | 52 { |
61 p->y += 6; | 53 p->y += 6; |
62 } | 54 } |
63 else | 55 else |
64 { | 56 { |
65 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | 57 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
66 *q = *p; | 58 *q = *p; |
67 return 0; | 59 return 0; |
68 } | 60 } |
61 length = 1; | |
62 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | |
63 smanager->setup_outputData(); | |
64 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); | |
65 sprite->flag = true; | |
66 sprite->length = length; | |
67 | |
69 count++; | 68 count++; |
70 | 69 |
71 PutSprite(count, p->x - 4, p->y - 20, 90 + p->dt2 % 4, &sprite->data[0]); | 70 PutSprite(count, p->x - 4, p->y - 20, 90 + p->dt2 % 4, &sprite->data[0]); |
72 p->dt2++; | 71 p->dt2++; |
73 } | 72 } |
74 if(rinkf1 == 7) | 73 if(rinkf1 == 7) |
75 { | 74 { |
76 length = 1; | 75 length = 1; |
77 smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | 76 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
78 smanager->setup_outputData(); | 77 smanager->setup_outputData(); |
79 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | 78 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
80 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); | 79 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); |
81 sprite->flag = true; | 80 sprite->flag = true; |
82 sprite->length = length; | 81 sprite->length = length; |
83 | 82 |
84 Putenemy(22, p->x + 14, p->y + 14, 0, 0, STATE40, &sprite->data[0]); | 83 Putenemy(22, p->x + 14, p->y + 14, 0, 0, STATE40, &sprite->data[0]); |
85 *q = *p; | 84 *q = *p; |
86 return 0; | 85 return 0; |
87 } | 86 } |
88 if(rinkf1 == 11) | 87 if(rinkf1 == 11) |
89 { | 88 { |
90 length = 1; | |
91 smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | |
92 smanager->setup_outputData(); | |
93 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); | |
94 sprite->flag = true; | |
95 sprite->length = length; | |
96 | |
97 if(p->y + 20 != p->y) | 89 if(p->y + 20 != p->y) |
98 { | 90 { |
99 p->y--; | 91 p->y--; |
100 } | 92 } |
101 else | 93 else |
102 { | 94 { |
103 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | 95 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
104 *q = *p; | 96 *q = *p; |
105 return 0; | 97 return 0; |
106 } | 98 } |
99 length = 1; | |
100 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); | |
101 smanager->setup_outputData(); | |
102 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); | |
103 sprite->flag = true; | |
104 sprite->length = length; | |
105 | |
107 count++; | 106 count++; |
108 PutSprite(count, p->x + 8, p->y + 44, 58 + p->dt2 % 4, &sprite->data[0]); | 107 PutSprite(count, p->x + 8, p->y + 44, 58 + p->dt2 % 4, &sprite->data[0]); |
109 p->dt2++; | 108 p->dt2++; |
110 } | 109 } |
111 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | 110 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |