# HG changeset patch # User koba # Date 1294550924 -32400 # Node ID c122e3d2302e807efb8857ea41101dd86fccbefd # Parent 7aaaaf5dde40f9825f595cb50b07428f8c8f039b add all state task. diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/Atari.cc --- a/ppe/Atari.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/Atari.cc Sun Jan 09 14:28:44 2011 +0900 @@ -84,7 +84,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -110,7 +109,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -140,7 +138,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -169,7 +166,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -196,7 +192,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -223,7 +218,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -248,7 +242,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -273,7 +266,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -304,7 +296,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -333,7 +324,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; @@ -363,7 +353,6 @@ *enemycount += (p->score * ((infg->stg / 128) + *infg_level + 1)); p->task = DELETE_CHARA; -// p->collision = noaction; p->f = FALSE; property->bomend = *bomend; diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/Sprite.cc --- a/ppe/Sprite.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/Sprite.cc Sun Jan 09 14:28:44 2011 +0900 @@ -1,3 +1,4 @@ +#include #include "task_object.h" #include "../ObjectType.h" @@ -6,6 +7,7 @@ { obj->type = Def; obj->number = number; + strcpy(obj->name, name); obj->w = w; obj->h = h; obj->color = color; diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state28.cc --- a/ppe/chara_state28.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/chara_state28.cc Sun Jan 09 14:28:44 2011 +0900 @@ -18,7 +18,6 @@ int *w_count = (int*)smanager->get_output(wbuf, 1); ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); sprite->flag = true; - sprite->length = length; if (p->dt1 <= 360) { @@ -40,8 +39,12 @@ 1 ? -1 : 1), (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), STATE29, &sprite->data[1]); + } else { + length = 1; } p->dt1 += 3; + + sprite->length = length; *q = *p; *w_count = count; return 0; diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state29.cc --- a/ppe/chara_state29.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/chara_state29.cc Sun Jan 09 14:28:44 2011 +0900 @@ -13,6 +13,7 @@ p->y += p->vy; if(p->dt1 % 18 == 1) { + length = 1; smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); ObjContainerPtr tama = (ObjContainerPtr)smanager->get_output(wbuf, 1); diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state31.cc --- a/ppe/chara_state31.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/chara_state31.cc Sun Jan 09 14:28:44 2011 +0900 @@ -6,7 +6,7 @@ static int state31(SchedTask *smanager, void *rbuf, void *wbuf) { - int part3_f = (int)smanager->get_param(0); + int part3_f = (int)smanager->get_param(2); int length; CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); @@ -20,7 +20,6 @@ // Bom(p->x, p->y); p->f = FALSE; p->task = DELETE_CHARA; -// p->collision = noaction; *q = *p; return 0; @@ -35,9 +34,9 @@ if(rinkf1 == 5) { length = 1; - smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); sprite->flag = true; sprite->length = length; @@ -49,13 +48,6 @@ } if(rinkf1 == 6) { - length = 1; - smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); - smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); - sprite->flag = true; - sprite->length = length; - if(p->y < 240 - 40) { p->y += 6; @@ -66,18 +58,25 @@ *q = *p; return 0; } + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + count++; - + PutSprite(count, p->x - 4, p->y - 20, 90 + p->dt2 % 4, &sprite->data[0]); p->dt2++; } if(rinkf1 == 7) { length = 1; - smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); sprite->flag = true; sprite->length = length; @@ -87,13 +86,6 @@ } if(rinkf1 == 11) { - length = 1; - smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); - smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); - sprite->flag = true; - sprite->length = length; - if(p->y + 20 != p->y) { p->y--; @@ -104,6 +96,13 @@ *q = *p; return 0; } + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + count++; PutSprite(count, p->x + 8, p->y + 44, 58 + p->dt2 % 4, &sprite->data[0]); p->dt2++; diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state32.cc --- a/ppe/chara_state32.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/chara_state32.cc Sun Jan 09 14:28:44 2011 +0900 @@ -6,9 +6,9 @@ static int state32(SchedTask *smanager, void *rbuf, void *wbuf) { - int part4_f = (int)smanager->get_param(1); - int enemystate_14 = (int)smanager->get_param(2); - int enemystate_20 = (int)smanager->get_param(3); + int part4_f = (int)smanager->get_param(3); + int enemystate_14 = (int)smanager->get_param(4); + int enemystate_20 = (int)smanager->get_param(5); int length; CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); @@ -42,10 +42,10 @@ if (rinkf1 == 7) { length = 1; - smanager->set_outputSize(4, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); sprite->flag = true; sprite->length = length; diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state33.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state33.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,40 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State33, state33); + +static int +state33(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int enemystate_11 = (int)smanager->get_param(4); + int enemystate_19 = (int)smanager->get_param(5); + + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); + int rinkf1 = *(int*)smanager->get_input(rbuf, 3); + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + if (kyeenemyno->f == FALSE) + { +// Bom(p->x, p->y); + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + p->x = kyeenemyno->x + 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->x = kyeenemyno->x + 32 - 4; + p->y = kyeenemyno->y; + p->charano = enemystate_19; + } + if (rinkf1 == 6) + { + p->charano = enemystate_11; + } + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state34.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state34.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,38 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State34, state34); + +static int +state34(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int enemystate_12 = (int)smanager->get_param(4); + int enemystate_21 = (int)smanager->get_param(5); + + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); + int rinkf1 = *(int*)smanager->get_input(rbuf, 3); + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + if (kyeenemyno->f == FALSE) + { +// Bom(p->x, p->y); + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + p->x = kyeenemyno->x - 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->charano = enemystate_21; + } + if (rinkf1 == 6) + { + p->charano = enemystate_12; + } + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state35.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state35.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,90 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State35, state35); + +static int +state35(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int enemystate_15 = (int)smanager->get_param(4); + int enemystate_16 = (int)smanager->get_param(5); + + int length; + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); + int count = *(int*)smanager->get_input(rbuf, 2); + int rinkf1 = *(int*)smanager->get_input(rbuf, 3); + + if (kyeenemyno->f == FALSE) + { + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); +// Bom(p->x, p->y); + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + p->x = kyeenemyno->x; + p->y = kyeenemyno->y + 32; + if (rinkf1 == 1) + { + p->charano = enemystate_16; + } + if (rinkf1 == 2) + { + length = 2; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4, &sprite->data[0]); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4, &sprite->data[1]); + p->dt2++; + } + if (rinkf1 == 3) + { + length = 4; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4, &sprite->data[0]); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4, &sprite->data[1]); + if (p->dt2 % 20 == 1) + { + Puttama(7, p->x, p->y + 16, &sprite->data[2]); + Puttama(7, p->x + 20, + p->y + 16, &sprite->data[3]); + } else { + length = 2; + } + sprite->length = length; + p->dt2++; + } + if (rinkf1 == 4) { + p->charano = enemystate_15; + p->dt2 = 0; + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + int *w_count = (int*)smanager->get_output(wbuf, 1); + + *w_count = count; + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state40.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state40.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,88 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State40, state40); + +static int +state40(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int enemy_part1_f = (int)smanager->get_param(0); + + int length; + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + int rinkf1 = *(int*)smanager->get_input(rbuf, 3); + + if (enemy_part1_f == FALSE) + { + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); +// Bom(p->x, p->y); + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + p->dt2++; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, &sprite->data[0]); + } + else + { + //rinkf1=9; + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + *q = *p; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + Puttama(8, p->x, p->y, &sprite->data[0]); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + p->dt2--; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, &sprite->data[0]); + } + else + { + //rinkf1=11; + p->f = FALSE; + p->task = DELETE_CHARA; + } + } + + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + p->dt1++; + + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state41.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state41.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,95 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State41, state41); + +static int +state41(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int enemy_part2_f = (int)smanager->get_param(1); + + int length; + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + CHARACTER *kyeenemyno = (CHARACTER*)smanager->get_input(rbuf, 1); + int rinkf1 = *(int*)smanager->get_input(rbuf, 3); + + if (enemy_part2_f == FALSE) + { + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); +// Bom(p->x, p->y); + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + p->x = kyeenemyno->x - 20 - 7; + p->y = kyeenemyno->y + 28 + 15; + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + p->dt2++; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, &sprite->data[0]); /*左腕アップアーム砲 */ + } + else + { + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + rinkf1 = 9; + *q = *p; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + Puttama(9 + rand() % 2, p->x, p->y, &sprite->data[0]); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + length = 1; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = length; + + p->dt2--; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, &sprite->data[0]); + } + else + { + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + p->f = FALSE; + p->task = DELETE_CHARA; + + *q = *p; + return 0; + } + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + p->dt1++; + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state411.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state411.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,76 @@ +#include "task_base.h" +#include "task_object.h" +#include "Sankaku.h" + +SchedDefineTask1(State411, state411); + +static int +state411(SchedTask *smanager, void *rbuf, void *wbuf) +{ + int length; + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + player *jiki = (player*)smanager->get_input(rbuf, 1); + + if (p->dt2 > 356) + { + p->vx = -1; + } + if (p->dt2 < -398) + { + p->vx = 1; + } + if ((p->dt1) % 62 == 0) { + length = 1; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + Putenemy(41, + p->x, + p->y, + (int) -Mycos(p->dt1 / 16) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 16) * 4 / + SANKAKU, STATE7, &sprite->data[0]); + } + if ((p->dt1) % 13 == 0) { + length = 1; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + Puttama(11, p->x + 32, + p->y + 32, &sprite->data[0]); + } + p->dt2 += p->vx; + p->dt1 += p->dt2 / 4; + + p->x = jiki->x - 16 + + Mycos(p->dt1 / 16) * 128 / SANKAKU; + p->y = jiki->y - 16 + + Mysin(p->dt1 / 16) * 128 / SANKAKU; + if (p->x < 0) + { + p->x = 0; + } + if (p->x > 260) + { + p->x = 260; + } + if (p->y < 0) + { + p->y = 0; + } + if (p->y > 232) + { + p->y = 232; + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state500.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state500.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,56 @@ +#include "task_base.h" +#include "task_object.h" +#include "Sankaku.h" + +SchedDefineTask1(State500, state500); + +static int +state500(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + int count = *(int*)smanager->get_input(rbuf, 1); + + int length = 4; + smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + sprite->flag = true; + sprite->length = 2; + + p->s = 0; + + p->dt2++; + p->dt2 %= 512; + p->dt1++; + count++; + DefSpriteEx(100, 16, 16, &sprite->data[0]); + PutSpriteEx(100, p->x + 16, p->y + 16, 2, 2, p->dt1, &sprite->data[1]); + + if (p->dt1 % (5 + p->dt2 / 8) == 1) { + sprite->length = 3; + + if (rand() % 2 == 1) + Putenemy(24, p->x, p->y, + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), STATE501, &sprite->data[2]); + else + Putenemy(rand() % 2 + 1, p->x, + p->y, + (int) Mycos(p->dt1 / 4) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 4) * 4 / + SANKAKU, STATE501, &sprite->data[2]); + } + if (p->dt1 == 50) { + /*Putenemy(44,0,0,1,1,411); */ + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + int *w_count = (int*)smanager->get_output(wbuf, 1); + + *q = *p; + *w_count = count; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state501.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state501.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,30 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State501, state501); + +static int +state501(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 % 32 == 1) + { + length = 1; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + Puttama(11, p->x, p->y, &sprite->data[0]); + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + p->dt1++; + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state600.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state600.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,44 @@ +#include "task_base.h" +#include "task_object.h" +#include "Sankaku.h" + +SchedDefineTask1(State600, state600); + +static int +state600(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + int length = 3; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + p->dt1 += 30; + p->dt2++; + p->dt1 %= 360; + p->x += Mycos(p->dt1) * 4 / SANKAKU; + p->y += Mysin(p->dt1) * 4 / SANKAKU; + + Puttama(11, p->x + 16, p->y + 16, &sprite->data[0]); + Puttama(11, p->x + 32, p->y + 48, &sprite->data[1]); + Puttama(11, p->x + 48, p->y + 16, &sprite->data[2]); + if (p->dt2 > 240) + p->task = STATE601; + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state601.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state601.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,43 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State601, state601); + +static int +state601(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + player *jiki = (player*)smanager->get_input(rbuf, 1); + + int length = 1; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + p->dt2++; + if (p->x < jiki->x) + p->vx++; + if (p->x > jiki->x) + p->vx--; + p->x += p->vx; + Putenemy(6, p->x + 16 + rand() % 32, + p->y, 0, rand() % 4, STATE400, &sprite->data[0]); + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + if (p->dt2 > 800) { + p->task = STATE602; + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/chara_state602.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ppe/chara_state602.cc Sun Jan 09 14:28:44 2011 +0900 @@ -0,0 +1,32 @@ +#include "task_base.h" +#include "task_object.h" + +SchedDefineTask1(State602, state602); + +static int +state602(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + int length = 1; + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->setup_outputData(); + + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = true; + sprite->length = length; + + p->dt2++; + Putenemy(24, p->x + 14, p->y + 14, + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + STATE29, &sprite->data[0]); + if (p->dt2 > 1024) { + p->task = STATE600; + p->dt2 = 0; + } + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + *q = *p; + return 0; +} diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/task_init.cc --- a/ppe/task_init.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/task_init.cc Sun Jan 09 14:28:44 2011 +0900 @@ -30,11 +30,26 @@ SchedExternTask(State30); SchedExternTask(State31); SchedExternTask(State32); +SchedExternTask(State33); +SchedExternTask(State34); +SchedExternTask(State35); + +SchedExternTask(State40); +SchedExternTask(State41); SchedExternTask(State400); SchedExternTask(State401); SchedExternTask(State402); +SchedExternTask(State411); + +SchedExternTask(State500); +SchedExternTask(State501); + +SchedExternTask(State600); +SchedExternTask(State601); +SchedExternTask(State602); + SchedExternTask(Asteroid); /** @@ -73,10 +88,25 @@ SchedRegisterTask(STATE30, State30); SchedRegisterTask(STATE31, State31); SchedRegisterTask(STATE32, State32); + SchedRegisterTask(STATE33, State33); + SchedRegisterTask(STATE34, State34); + SchedRegisterTask(STATE35, State35); + + SchedRegisterTask(STATE40, State40); + SchedRegisterTask(STATE41, State41); SchedRegisterTask(STATE400, State400); SchedRegisterTask(STATE401, State401); SchedRegisterTask(STATE402, State402); + SchedRegisterTask(STATE411, State411); + + SchedRegisterTask(STATE500, State500); + SchedRegisterTask(STATE501, State501); + + SchedRegisterTask(STATE600, State600); + SchedRegisterTask(STATE601, State601); + SchedRegisterTask(STATE602, State602); + SchedRegisterTask(ASTEROID_TASK, Asteroid); } diff -r 7aaaaf5dde40 -r c122e3d2302e ppe/task_object.h --- a/ppe/task_object.h Fri Jan 07 23:19:05 2011 +0900 +++ b/ppe/task_object.h Sun Jan 09 14:28:44 2011 +0900 @@ -121,6 +121,7 @@ typedef struct ObjData { int type; + char name[20]; int tama_type; int charano; int task; diff -r 7aaaaf5dde40 -r c122e3d2302e property.h --- a/property.h Fri Jan 07 23:19:05 2011 +0900 +++ b/property.h Sun Jan 09 14:28:44 2011 +0900 @@ -29,6 +29,7 @@ typedef struct ObjData { int type; + char name[20]; int tama_type; int charano; int task; diff -r 7aaaaf5dde40 -r c122e3d2302e schedule3.c --- a/schedule3.c Fri Jan 07 23:19:05 2011 +0900 +++ b/schedule3.c Sun Jan 09 14:28:44 2011 +0900 @@ -419,7 +419,7 @@ /* Puttama(6,100,0); */ Putenemy(13, 688, 28, 0, 0, chara_state31); -#if 0 + Putenemy(14, 368, 28, 0, 0, chara_state32); Putenemy(11, 656, 0, 0, 0, chara_state33); @@ -427,10 +427,10 @@ Putenemy(15, 528, 32, 0, 0, chara_state35); break; -#endif + } ////////////////////// -#if 0 + if (filpcount > FRAME_RATE * 64) { if (kyeenemyno->f == FALSE) { Superbom(kyeenemyno->x, kyeenemyno->y); @@ -440,9 +440,8 @@ clear_result[1] = infg_level; } } -#endif } -#if 0 + if (stage == 2) { switch (filpcount) { case 1: @@ -658,6 +657,7 @@ Putenemy(44, 0, 0, 1, 1, chara_state410); break; } + if (filpcount > FRAME_RATE * 85) { if (kyeenemyno->f == FALSE) { Superbom(kyeenemyno->x, kyeenemyno->y); @@ -724,5 +724,4 @@ if (filpcount > 4000) filpcount = 4000; } -#endif } diff -r 7aaaaf5dde40 -r c122e3d2302e state_task.cc --- a/state_task.cc Fri Jan 07 23:19:05 2011 +0900 +++ b/state_task.cc Sun Jan 09 14:28:44 2011 +0900 @@ -88,25 +88,25 @@ SetTaskState(STATE30, chara_state30); SetTaskState(STATE31, chara_state31); SetTaskState(STATE32, chara_state32); -#if 0 SetTaskState(STATE33, chara_state33); SetTaskState(STATE34, chara_state34); SetTaskState(STATE35, chara_state35); SetTaskState(STATE40, chara_state40); SetTaskState(STATE41, chara_state41); -#endif + SetTaskState(STATE400, chara_state400); SetTaskState(STATE401, chara_state401); SetTaskState(STATE402, chara_state402); -#if 0 + SetTaskState(STATE410, chara_state410); SetTaskState(STATE411, chara_state411); + SetTaskState(STATE500, chara_state500); SetTaskState(STATE501, chara_state501); + SetTaskState(STATE600, chara_state600); SetTaskState(STATE601, chara_state601); SetTaskState(STATE602, chara_state602); -#endif } void @@ -495,7 +495,7 @@ CHARACTER* -Boss2Task2(CHARACTER *p) +Boss2Task2(CHARACTER *p, int num1, int num2) { int task_num = p->task; int obj_size = sizeof(ObjContainer)+sizeof(ObjData)*DATA_LENGTH; @@ -504,10 +504,12 @@ obj->flag = false; obj->length = 0; - state_task->set_param(0, (memaddr)enemy_part3->f); - state_task->set_param(1, (memaddr)enemy_part4->f); - state_task->set_param(2, (memaddr)enemystate[14].charano); - state_task->set_param(3, (memaddr)enemystate[20].charano); + state_task->set_param(0, (memaddr)enemy_part1->f); + state_task->set_param(1, (memaddr)enemy_part2->f); + state_task->set_param(2, (memaddr)enemy_part3->f); + state_task->set_param(3, (memaddr)enemy_part4->f); + state_task->set_param(4, (memaddr)enemystate[num1].charano); + state_task->set_param(5, (memaddr)enemystate[num2].charano); state_task->set_inData(0, p, sizeof(CHARACTER)); state_task->set_inData(1, kyeenemyno, sizeof(CHARACTER)); @@ -517,9 +519,34 @@ state_task->set_outData(0, p, sizeof(CHARACTER)); state_task->set_outData(1, &count, sizeof(int)); - state_task->set_outData(2, &rinkx, sizeof(int)); - state_task->set_outData(3, &rinkf1, sizeof(int)); - state_task->set_outData(4, obj, 0); + state_task->set_outData(2, obj, 0); + + state_task->set_post(checkContainer, (void*)p, (void*)obj); + state_task->set_cpu(SPE_ANY); + state_task->spawn(); + + return p; +} + + +CHARACTER* +Boss4Task(CHARACTER *p) +{ + kyeenemyno = p; + + int task_num = p->task; + int obj_size = sizeof(ObjContainer)+sizeof(ObjData)*DATA_LENGTH; + HTaskPtr state_task = tmanager->create_task(task_num); + ObjContainerPtr obj = (ObjContainerPtr)tmanager->allocate(obj_size); + obj->flag = false; + obj->length = 0; + + state_task->set_inData(0, p, sizeof(CHARACTER)); + state_task->set_inData(1, &count, sizeof(int)); + + state_task->set_outData(0, p, sizeof(CHARACTER)); + state_task->set_outData(1, &count, sizeof(int)); + state_task->set_outData(2, obj, 0); state_task->set_post(checkContainer, (void*)p, (void*)obj); state_task->set_cpu(SPE_ANY); @@ -532,7 +559,6 @@ CHARACTER* noaction(CHARACTER *p) { - p->state = noaction; return p; } @@ -767,7 +793,7 @@ chara_state31(CHARACTER *p) //right hand { p->task = STATE31; - return Boss2Task2(p); + return Boss2Task2(p, 0, 0); } @@ -775,216 +801,50 @@ chara_state32(CHARACTER *p) //left hand { p->task = STATE32; - return Boss2Task2(p); + return Boss2Task2(p, 14, 20); } -#if 0 -CHARACTER * chara_state33(CHARACTER *p) // right shoulder + +CHARACTER* +chara_state33(CHARACTER *p) // right shoulder { - if (kyeenemyno->f == FALSE) - { - Bom(p->x, p->y); - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - } - p->x = kyeenemyno->x + 32; - p->y = kyeenemyno->y; - if (rinkf1 == 5) - { - p->x = kyeenemyno->x + 32 - 4; - p->y = kyeenemyno->y; - p->charano = enemystate[19].charano; - } - if (rinkf1 == 6) - { - p->charano = enemystate[11].charano; - } - return p; + p->task = STATE33; + return Boss2Task2(p, 11, 19); +} + + +CHARACTER* +chara_state34(CHARACTER *p) //left shoulder +{ + p->task = STATE34; + return Boss2Task2(p, 12, 21); } -CHARACTER * chara_state34(CHARACTER *p) //left shoulder -{ - if (kyeenemyno->f == FALSE) - { - Bom(p->x, p->y); - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - } - p->x = kyeenemyno->x - 32; - p->y = kyeenemyno->y; - if (rinkf1 == 5) - { - p->charano = enemystate[21].charano; - } - if (rinkf1 == 6) - { - p->charano = enemystate[12].charano; - } - return p; -} - -CHARACTER * chara_state35(CHARACTER *p) // bust +CHARACTER* +chara_state35(CHARACTER *p) // bust { - if (kyeenemyno->f == FALSE) - { - Bom(p->x, p->y); - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - } - p->x = kyeenemyno->x; - p->y = kyeenemyno->y + 32; - if (rinkf1 == 1) - { - p->charano = enemystate[16].charano; - } - if (rinkf1 == 2) - { - count++; - PutSprite(count, p->x - 10, - p->y + 16, - 58 + p->dt2 % 4); - count++; - PutSprite(count, p->x + 10, - p->y + 16, - 58 + p->dt2 % 4); - p->dt2++; - } - if (rinkf1 == 3) - { - count++; - PutSprite(count, p->x - 10, - p->y + 16, - 58 + p->dt2 % 4); - count++; - PutSprite(count, p->x + 10, - p->y + 16, - 58 + p->dt2 % 4); - if (p->dt2 % 20 == 1) - { - Puttama(7, p->x, p->y + 16); - Puttama(7, p->x + 20, - p->y + 16); - } - p->dt2++; - } - if (rinkf1 == 4) { - p->charano = enemystate[15].charano; - p->dt2 = 0; - } - return p; + p->task = STATE35; + return Boss2Task2(p, 15, 16); } -CHARACTER * chara_state40(CHARACTER *p) //arm vulkan + +CHARACTER* +chara_state40(CHARACTER *p) //arm vulkan { - if (enemy_part1->f == FALSE) - { - Bom(p->x, p->y); - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - } - if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) - { - if ((p->dt2 < 16)) - { - p->dt2++; - DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); - } - else - { - // rinkf1=9; - return p; - } - } - if (rinkf1 == 9) - { - if (p->dt1 % 15 == 1) - { - Puttama(8, p->x, p->y); - } - } - if (rinkf1 == 10) - { - if (p->dt2 != 0) - { - p->dt2--; - DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); - } - else - { - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - // rinkf1=11; - } - } - p->dt1++; - return p; + p->task = STATE40; + return Boss2Task2(p, 0, 0); } -CHARACTER * chara_state41(CHARACTER *p) //left arm up arm vulkan +CHARACTER* +chara_state41(CHARACTER *p) //left arm up arm vulkan { - if (enemy_part2->f == FALSE) - { - Bom(p->x, p->y); - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - } - p->x = kyeenemyno->x - 20 - 7; - p->y = kyeenemyno->y + 28 + 15; - if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) - { - if ((p->dt2 < 16)) - { - p->dt2++; - DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); /*左腕アップアーム砲 */ - } - else - { - rinkf1 = 9; - return p; - } - } - if (rinkf1 == 9) - { - if (p->dt1 % 15 == 1) - { - Puttama(9 + rand() % 2, p->x, p->y); - } - } - if (rinkf1 == 10) - { - if (p->dt2 != 0) - { - p->dt2--; - DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); - } - else - { - p->f = FALSE; - p->state = delete_chara; - p->collision = noaction; - return p; - // rinkf1=11; - } - } - p->dt1++; - return p; + p->task = STATE41; + return Boss2Task2(p, 0, 0); } -#endif CHARACTER * chara_state400(CHARACTER *p) @@ -1010,175 +870,62 @@ } -#if 0 -CHARACTER * chara_state410(CHARACTER *p) +CHARACTER* +chara_state410(CHARACTER *p) { - kyeenemyno = p; - p->state = chara_state411; - return p; + kyeenemyno = p; + p->task = STATE411; + + int num = GetStateNum(p->task); + p->state = state_list[num]; + return p; } -CHARACTER * chara_state411(CHARACTER *p) +CHARACTER* +chara_state411(CHARACTER *p) { - if (p->dt2 > 356) - { - p->vx = -1; - } - if (p->dt2 < -398) - { - p->vx = 1; - } - if ((p->dt1) % 62 == 0) - Putenemy(41, - p->x, - p->y, - (int) -Mycos(p->dt1 / 16) * 4 / - SANKAKU, - (int) -Mysin(p->dt1 / 16) * 4 / - SANKAKU, chara_state7); - if ((p->dt1) % 13 == 0) - Puttama(11, p->x + 32, - p->y + 32); - - p->dt2 += p->vx; - p->dt1 += p->dt2 / 4; - - p->x = jiki.x - 16 + - Mycos(p->dt1 / 16) * 128 / SANKAKU; - p->y = jiki.y - 16 + - Mysin(p->dt1 / 16) * 128 / SANKAKU; - if (p->x < 0) - { - p->x = 0; - } - if (p->x > 260) - { - p->x = 260; - } - if (p->y < 0) - { - p->y = 0; - } - if (p->y > 232) - { - p->y = 232; - } - return p; + p->task = STATE411; + return JikiContainerTask(p); +} + + +CHARACTER* +chara_state500(CHARACTER *p) +{ + p->task = STATE500; + return Boss4Task(p); } -CHARACTER * chara_state500(CHARACTER *p) +CHARACTER* +chara_state501(CHARACTER *p) { - p->s = 0; - - kyeenemyno = p; - p->dt2++; - p->dt2 %= 512; - p->dt1++; - count++; - DefSpriteEx(100, 16, 16); - // PutSprite(count, enemy[tekino].x + 16, - // enemy[tekino].y + 16, 100); - PutSpriteEx(100, p->x + 16, p->y + 16, 2, 2, p->dt1); - - if (p->dt1 % (5 + p->dt2 / 8) == 1) { - if (rand() % 2 == 1) - Putenemy(24, p->x, p->y, - (rand() % 5 + 0.5) * (rand() % 2 == - 1 ? -1 : 1), - (rand() % 5 + 0.5) * (rand() % 2 == - 1 ? -1 : 1), chara_state501); - else - Putenemy(rand() % 2 + 1, p->x, - p->y, - (int) Mycos(p->dt1 / 4) * 4 / - SANKAKU, - (int) -Mysin(p->dt1 / 4) * 4 / - SANKAKU, chara_state501); - } - if (p->dt1 == 50) { - /*Putenemy(44,0,0,1,1,411); */ - } - return p; -} - - -CHARACTER * chara_state501(CHARACTER *p) -{ - p->x += p->vx; - p->y += p->vy; - if(p->dt1 % 32 == 1) - { - Puttama(11, p->x, p->y); - } - p->dt1++; - return p; + p->task = STATE501; + return sendContainerTask(p); } -CHARACTER * chara_state600(CHARACTER *p) +CHARACTER* +chara_state600(CHARACTER *p) { kyeenemyno = p; - p->dt1 += 30; - p->dt2++; - p->dt1 %= 360; - p->x += Mycos(p->dt1) * 4 / SANKAKU; - p->y += Mysin(p->dt1) * 4 / SANKAKU; - Puttama(11, p->x + 16, p->y + 16); - Puttama(11, p->x + 32, p->y + 48); - Puttama(11, p->x + 48, p->y + 16); - if (p->dt2 > 240) - p->state = chara_state601; - if (p->x < 0) - p->x = 0; - if (p->x > 260) - p->x = 260; - if (p->y < 0) - p->y = 0; - if (p->y > 232) - p->y = 232; - return p; + p->task = STATE600; + return sendContainerTask(p); } -CHARACTER * chara_state601(CHARACTER *p) +CHARACTER* +chara_state601(CHARACTER *p) { - p->dt2++; - if (p->x < jiki.x) - p->vx++; - if (p->x > jiki.x) - p->vx--; - p->x += p->vx; - Putenemy(6, p->x + 16 + rand() % 32, - p->y, 0, rand() % 4, chara_state400); - if (p->x < 0) - p->x = 0; - if (p->x > 260) - p->x = 260; - if (p->y < 0) - p->y = 0; - if (p->y > 232) - p->y = 232; - if (p->dt2 > 800) { - p->state = chara_state602; - } - return p; + p->task = STATE601; + return JikiContainerTask(p); } -CHARACTER * chara_state602(CHARACTER *p) +CHARACTER* +chara_state602(CHARACTER *p) { - p->dt2++; - Putenemy(24, p->x + 14, p->y + 14, - (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), - (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), - chara_state29); - if (p->dt2 > 1024) { - p->state = chara_state600; - p->dt2 = 0; - } - return p; + p->task = STATE602; + return sendContainerTask(p); } - -#endif