Mercurial > hg > Members > koba > t_dandy
annotate spe/chara_state41.cc @ 60:cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
author | yutaka@localhost.localdomain |
---|---|
date | Sun, 06 Feb 2011 17:16:43 +0900 |
parents | f4140672ef9f |
children |
rev | line source |
---|---|
49 | 1 #include "task_base.h" |
2 #include "task_object.h" | |
18 | 3 |
49 | 4 SchedDefineTask1(State41, state41); |
18 | 5 |
6 static int | |
49 | 7 state41(SchedTask *smanager, void *rbuf, void *wbuf) |
18 | 8 { |
49 | 9 int enemy_part2_f = (int)smanager->get_param(1); |
10 int rand = (int)smanager->get_param(6); | |
11 | |
12 int length; | |
18 | 13 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); |
49 | 14 CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
15 int rinkf1 = *(int*)smanager->get_input(rbuf, 2); |
18 | 16 |
49 | 17 if (enemy_part2_f == FALSE) |
18 | 18 { |
49 | 19 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
20 // Bom(p->x, p->y); | |
18 | 21 p->f = FALSE; |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
22 p->collision_task = true; |
49 | 23 |
24 *q = *p; | |
18 | 25 return 0; |
26 } | |
27 p->x = kyeenemyno->x - 20 - 7; | |
28 p->y = kyeenemyno->y + 28 + 15; | |
29 if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) | |
30 { | |
31 if ((p->dt2 < 16)) | |
32 { | |
49 | 33 length = 1; |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
34 smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
49 | 35 smanager->setup_outputData(); |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
36 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); |
49 | 37 sprite->flag = true; |
38 sprite->length = length; | |
39 | |
18 | 40 p->dt2++; |
49 | 41 DefSprite(77, p->dt2, 16, 480, &sprite->data[0]); /*左腕アップアーム砲 */ |
18 | 42 } |
43 else | |
44 { | |
49 | 45 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
46 | |
18 | 47 rinkf1 = 9; |
49 | 48 *q = *p; |
18 | 49 return 0; |
50 } | |
51 } | |
52 if (rinkf1 == 9) | |
53 { | |
54 if (p->dt1 % 15 == 1) | |
55 { | |
49 | 56 length = 1; |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
57 smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
49 | 58 smanager->setup_outputData(); |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
59 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); |
49 | 60 sprite->flag = true; |
61 sprite->length = length; | |
62 | |
63 Puttama(9 + rand % 2, p->x, p->y, &sprite->data[0]); | |
18 | 64 } |
65 } | |
66 if (rinkf1 == 10) | |
67 { | |
68 if (p->dt2 != 0) | |
69 { | |
49 | 70 length = 1; |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
71 smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
49 | 72 smanager->setup_outputData(); |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
73 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); |
49 | 74 sprite->flag = true; |
75 sprite->length = length; | |
76 | |
18 | 77 p->dt2--; |
49 | 78 DefSprite(77, p->dt2, 16, 480, &sprite->data[0]); |
18 | 79 } |
80 else | |
81 { | |
49 | 82 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
83 | |
18 | 84 p->f = FALSE; |
60
cfd42ee2ad28
change makefile, spe/task. adjust scale api. worked on ps3-ppe.
yutaka@localhost.localdomain
parents:
49
diff
changeset
|
85 p->collision_task = true; |
49 | 86 |
87 *q = *p; | |
18 | 88 return 0; |
89 } | |
90 } | |
49 | 91 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
92 | |
18 | 93 p->dt1++; |
49 | 94 *q = *p; |
18 | 95 return 0; |
96 } |