# HG changeset patch # User yutaka@localhost.localdomain # Date 1296980203 -32400 # Node ID cfd42ee2ad2801d4c6da09e4fb2a259ad197fabd # Parent cd05eee90279c56d57b8f5f47dbdd498771d40c8 change makefile, spe/task. adjust scale api. worked on ps3-ppe. diff -r cd05eee90279 -r cfd42ee2ad28 Character.c --- a/Character.c Mon Feb 07 03:31:18 2011 +0900 +++ b/Character.c Sun Feb 06 17:16:43 2011 +0900 @@ -134,13 +134,11 @@ q->s = 0; q->f = TRUE; - /* if (q->tama == FALSE) { printf("F%d: CREATE [NAME]%s_%d [COORD]x= %f y= %f vx= %f vy= %f\n", filpcount, dtable[number].name, q->chara_id, q->x, q->y, q->vx, q->vy); } - */ } void state_update() diff -r cd05eee90279 -r cfd42ee2ad28 Character_state.c --- a/Character_state.c Mon Feb 07 03:31:18 2011 +0900 +++ b/Character_state.c Sun Feb 06 17:16:43 2011 +0900 @@ -45,7 +45,6 @@ CHARACTER * delete_chara(CHARACTER *p) { - /* if (p->tama == FALSE) { printf("F%d: DELETE [NAME]%s_%d [COORD]x= %f y= %f vx= %f vy= %f\n", filpcount, dtable[p->charano].name, p->chara_id, @@ -53,7 +52,6 @@ printf(" [BULLET]tlv1 = %d, tlv2 = %d llv1 = %d\n", tama_lv1_end+1, tama_lv2_end+1, laser_lv1_end+1); } - */ CHARACTER *parent = p; p->f = FALSE; diff -r cd05eee90279 -r cfd42ee2ad28 Makefile.ps3 --- a/Makefile.ps3 Mon Feb 07 03:31:18 2011 +0900 +++ b/Makefile.ps3 Sun Feb 06 17:16:43 2011 +0900 @@ -14,7 +14,7 @@ TASK_OBJS = $(TASK_SRCS:.cc=.o) TARGET = dandy spe-main -OBJS = Character.o Bom.o tokuten.o collision.o count2.o Character_state.o schedule3.o tama2.o syokika.o Ss.o sound.o profile.o debug.o trace.o LoadSprite.o xml.o b64_de.o tree_controll.o object.o sys.o +OBJS = StateList.o Cheat.o Character.o Bom.o tokuten.o count2.o schedule3.o tama2.o syokika.o Ss.o sound.o profile.o debug.o trace.o LoadSprite.o xml.o b64_de.o tree_controll.o object.o sys.o #collision.o state_task.o all: $(TARGET) @@ -33,13 +33,15 @@ test: ./demo -test -demo: $(OBJS) sgoex.o main.o collision.o +demo: $(OBJS) sgoex.o main.o collision.o Character_state.o $(CC) $(ABI) -o $@ $? $(LIBS) -dandy: $(OBJS) Dandy.o collision.o +dandy: $(OBJS) Dandy.o collision.o Character_state.o $(CC) $(ABI) -o $@ $? $(LIBS) -t_dandy: $(OBJS) $(TASK_OBJS) TaskDandy.o collision_task.o +cell-dandy: t_dandy spe-main + +t_dandy: $(OBJS) $(TASK_OBJS) TaskDandy.o collision_task.o state_task.o $(CC) $(ABI) -o $@ $? $(LIBS) clean: diff -r cd05eee90279 -r cfd42ee2ad28 TaskDandy.cc --- a/TaskDandy.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/TaskDandy.cc Sun Feb 06 17:16:43 2011 +0900 @@ -314,10 +314,13 @@ root->xyz[1] = 0; root->xyz[2] = 30.0f; + float scale[] = {1,1,1}; + /*親の回転、座標から、子の回転、座標を算出*/ - get_matrix(root->matrix, root->angle, root->xyz, root->scale, camera->matrix); + get_matrix(root->matrix, root->angle, root->xyz, camera->matrix); + scale_matrix(root->matrix, scale, root->c_xyz); /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ - get_matrix(root->real_matrix, root->angle, root->xyz, root->scale, camera->real_matrix); + get_matrix(root->real_matrix, root->angle, root->xyz, camera->real_matrix); sgroot->setSceneData(root); } @@ -424,7 +427,7 @@ tlv3[i].y = -1; } filpcount = 0; - stage = 1; + stage = 0; //for (i = 0; i < 300; i++) //enemy[i].f = FALSE; jiki.zanki = 3; @@ -651,9 +654,10 @@ float scale[] = {my_scale,my_scale,1}; /*親の回転、座標から、子の回転、座標を算出*/ - get_matrix(object->matrix, object->angle, object->xyz, scale, root->matrix); + get_matrix(object->matrix, object->angle, object->xyz, root->matrix); + scale_matrix(object->matrix, scale, object->c_xyz); /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ - get_matrix(object->real_matrix, object->angle, object->xyz, scale, root->real_matrix); + get_matrix(object->real_matrix, object->angle, object->xyz, root->real_matrix); } @@ -677,9 +681,10 @@ float scale[] = {5*scalex,5*scaley,1}; /*親の回転、座標から、子の回転、座標を算出*/ - get_matrix(object->matrix, object->angle, object->xyz, scale, root->matrix); + get_matrix(object->matrix, object->angle, object->xyz, root->matrix); + scale_matrix(object->matrix, scale, object->c_xyz); /*法線用の行列。Cameraの行列を抜いている(Cameraのコンストラクタで、単位行列にしている)*/ - get_matrix(object->real_matrix, object->angle, object->xyz, scale, root->real_matrix); + get_matrix(object->real_matrix, object->angle, object->xyz, root->real_matrix); } struct SGO_PAD pad[2]; diff -r cd05eee90279 -r cfd42ee2ad28 collision_task.cc --- a/collision_task.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/collision_task.cc Sun Feb 06 17:16:43 2011 +0900 @@ -31,7 +31,6 @@ if (p->collision_task == true) { //debug -/* if (p->tama == FALSE) { printf("F%d: DELETE [NAME]%s_%d [COORD]x= %f y= %f vx= %f vy= %f\n", filpcount, dtable[p->charano].name, p->chara_id, @@ -39,7 +38,6 @@ printf(" [BULLET]tlv1 = %d, tlv2 = %d llv1 = %d\n", tama_lv1_end+1, tama_lv2_end+1, laser_lv1_end+1); } -*/ p->state_task = DELETE_CHARA; p->state = delete_chara; diff -r cd05eee90279 -r cfd42ee2ad28 spe/Atari.cc --- a/spe/Atari.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/Atari.cc Sun Feb 06 17:16:43 2011 +0900 @@ -1,59 +1,72 @@ -#include "Atari.h" -#include "tobject.h" +#include "task_base.h" +#include "task_object.h" +#include "../ObjectType.h" -SchedDefineTask(Atari); +SchedDefineTask1(Atari, atari); static int -run(SchedTask *smanager, void *rbuf, void *wbuf) +atari(SchedTask *smanager, void *rbuf, void *wbuf) { int w = (int)smanager->get_param(0); int h = (int)smanager->get_param(1); - int enemycount = (int)smanager->get_param(2); - int bomend = (int)smanager->get_param(3); - int tama_lv1_end = (int)smanager->get_param(4); - int tama_lv2_end = (int)smanager->get_param(5); - int laser_lv1_end = (int)smanager->get_param(6); + long load_id = (long)smanager->get_param(2); + + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + CollisionPropertyPtr property = + (CollisionPropertyPtr)smanager->global_get(load_id); + + int *p_infg_level = &property->infg_level; + int infg_level = *p_infg_level; - CollisionPropertyPtr property - = (CollisionPropertyPtr)smanager->get_input(rbuf, 0); + int tama_lv1_end = property->tama_lv1_end; + int tama_lv2_end = property->tama_lv2_end; + int laser_lv1_end = property->laser_lv1_end; - int infg_level = property->infg_level; + int *enemycount = &property->enemycount; + player *jiki = &property->jiki; - CHARACTER *p = &property->p; - tama1 *tlv3 = &property->tlv3; - stge lg = property->lg; - stge infg = property->infg; + + stge *lg = &property->lg; + stge *infg = &property->infg; tama1 *tama_lv1 = property->tama_lv1; tama2 *tama_lv2 = property->tama_lv2; + tama1 *tlv3 = &property->tlv3; laser *laser_lv1 = property->laser_lv1; - laser *laser_lv2 = property->laser_lv2; + laser *laser_lv2 = &property->laser_lv2; laser *laser_lv3 = property->laser_lv3; - bomchar *bchar = property->bchar; int i1, ex, ey; int n; ex = p->x; ey = p->y; + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); + sprite->flag = false; + sprite->length = 1; + //自機やられ #ifndef INVISIBLE_MODE if ((ex < jiki->x + 128 / 2) && (ex + w > jiki->x + 128 / 2) && (ey < jiki->y + 128 / 2) && (ey + h > jiki->y + 128 / 2) && jiki->muteki == 0) { - Bom(jiki->x + 16, jiki->y + 16, bomend, bchar); + + sprite->flag = true; + Bom(jiki->x + 16, jiki->y + 16, &sprite->data[0]); + jiki->bf = FALSE; jiki->zanki--; - jiki->muteki = 120; + jiki->muteki = 120; + property->jiki = *jiki; - infg.stg = 0; + infg->stg = 0; infg_level--; if (infg_level < 0) infg_level = 0; - property->infg_level = infg_level; - property->infg = infg; - smanager->swap(); + *p_infg_level = infg_level; + *q = *p; return 0; } #endif @@ -66,40 +79,40 @@ && (ex + w > tama_lv1[i1].x + 16) && (tama_lv1[i1].y + 128 > ey) && (tama_lv1[i1].y < ey + h) && (tama_lv1[i1].r != -1)) { + tama_lv1[i1].r = -1; p->vit -= TAMALV1P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } if ((tama_lv1[i1].x + 64 > ex) && (ex + w > tama_lv1[i1].x) && (tama_lv1[i1].y + 128 > ey) && (tama_lv1[i1].y < ey + h) && (tama_lv1[i1].l != -1)) { + tama_lv1[i1].l = -1; p->vit -= TAMALV1P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } @@ -110,20 +123,20 @@ && (ex + w > tama_lv2[i1].x + 128) && (tama_lv2[i1].y + 192 > ey) && (tama_lv2[i1].y < ey + h) && (tama_lv2[i1].rr != -1)) { + tama_lv2[i1].rr = -1; p->vit -= TAMALV2P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } @@ -133,20 +146,20 @@ && (tama_lv2[i1].y - 32 + 192 > ey) && (tama_lv2[i1].y - 32 < ey + h) && (tama_lv2[i1].sr != -1)) { + tama_lv2[i1].sr = -1; p->vit -= TAMALV2P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } @@ -154,20 +167,20 @@ && (tama_lv2[i1].y - 32 + 192 > ey) && (tama_lv2[i1].y - 32 < ey + h) && (tama_lv2[i1].sl != -1)) { + tama_lv2[i1].sl = -1; p->vit -= TAMALV2P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } @@ -175,58 +188,58 @@ && (ex + w > tama_lv2[i1].x - 64) && (tama_lv2[i1].y + 192 > ey) && (tama_lv2[i1].y < ey + h) && (tama_lv2[i1].ll != -1)) { + tama_lv2[i1].ll = -1; p->vit -= TAMALV2P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } } - if ((tlv3[0].r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex) + if ((tlv3->r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex) && (jiki->y > ey + h)) { + p->vit -= TAMALV3P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } - jumping: - if ((tlv3[0].r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex) +jumping: + if ((tlv3->r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex) && (jiki->y + 128 > ey) && (jiki->y < ey + h)) { + p->vit -= TAMALV3P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } @@ -237,75 +250,77 @@ if ((laser_lv1[i1].x + n > ex) && (ex + w > laser_lv1[i1].x) && (laser_lv1[i1].y + n > ey) && (laser_lv1[i1].y < ey + h) && (laser_lv1[i1].r != -1)) { + laser_lv1[i1].r = -1; laser_lv1[i1].y = -1; p->vit -= LASERLV1P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } } /*shield(laser lv2) */ - if ((p->tama == TRUE) && (lg.stg > 0) && + if ((p->tama == TRUE) && (lg->stg > 0) && (laser_lv2[0].x + 128 > ex) && (ex + w > laser_lv2[0].x - 128) && (laser_lv2[0].y + 128 > ey) && (laser_lv2[0].y - 128 < ey + h) && (laser_lv2[0].r != 0)) { + p->vit -= LASERLV2P; - lg.stg -= 26; - infg.stg++; + lg->stg -= 26; + + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + property->infg = *infg; + + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - - property->lg = lg; - property->infg = infg; - smanager->swap(); + + *q = *p; return 0; } } /*bomber(laser lv3) */ if (laser_lv3[0].r < 62) { - for (i1 = 1; i1 < 128; i1++) { + for (i1 = 1; i1 < 64; i1++) { if ((laser_lv3[i1].x + 128 > ex) && (ex + w > laser_lv3[i1].x) && (laser_lv3[i1].y + 128 > ey) && (laser_lv3[i1].y < ey + h) && (laser_lv3[i1].r > 0)) { + tama_lv2[i1].rr = -1; p->vit -= LASERLV3P; - infg.stg++; + infg->stg++; if (p->vit <= 0) { - infg.stg += 4; - Bom(p->x, p->y, bomend, bchar); - enemycount += (p->score * - ((infg.stg / 128) + infg_level + 1)); - //p->state = delete_chara; - //p->collision = noaction; + infg->stg += 4; + sprite->flag = true; + Bom(p->x, p->y, &sprite->data[0]); + *enemycount += (p->score * + ((infg->stg / 128) + infg_level + 1)); + p->collision_task = true; p->f = FALSE; - property->infg = infg; - smanager->swap(); + *q = *p; return 0; } } } } - property->infg = infg; - smanager->swap(); + + *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/Bom.cc --- a/spe/Bom.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/Bom.cc Sun Feb 06 17:16:43 2011 +0900 @@ -1,19 +1,12 @@ -#include "tobject.h" +#include "task_object.h" +#include "../ObjectType.h" void -Bom(int x, int y, int bomend, bomchar *bchar) +Bom(int x, int y, ObjDataPtr obj) { - int i; - bomend++; - if (bomend > 49) { - bomend = 49; - return; - } + obj->type = Boms; + obj->x = x; + obj->y = y; - i = bomend; - bchar[i].x = x; - bchar[i].y = y; - bchar[i].no = 0; - bchar[i].f = 0; return; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/CollDataReflect.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/CollDataReflect.cc Sun Feb 06 17:16:43 2011 +0900 @@ -0,0 +1,20 @@ +#include +#include "task_base.h" +#include "task_object.h" + + +SchedDefineTask1(CollDataReflect, coll_reflect); + +static int +coll_reflect(SchedTask *smanager, void *rbuf, void *wbuf) +{ + long load_id = (long)smanager->get_param(0); + + void* odata = smanager->get_output(wbuf, 0); + long size = (long)smanager->get_outputSize(0); + + void *global_data = (void*)smanager->global_get(load_id); + memcpy(odata, global_data, size); + + return 0; +} diff -r cd05eee90279 -r cfd42ee2ad28 spe/Player.cc --- a/spe/Player.cc Mon Feb 07 03:31:18 2011 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -#include "task_base.h" - -extern void Player(int playerno); -extern void tokuten(); -extern void Putbom(); - -SchedDefineTask1(Player, Player); - -static int -Player(SchedTask *smanager, void *rbuf, void *wbuf) -{ - int playerno = (int)smanager->get_param(0); - - Player(playerno); - - tokuten(); - Putbom(); - - return 0; -} diff -r cd05eee90279 -r cfd42ee2ad28 spe/asteroid.cc --- a/spe/asteroid.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/asteroid.cc Sun Feb 06 17:16:43 2011 +0900 @@ -1,31 +1,33 @@ -#include "asteroid.h" -#include "tobject.h" +#include "task_base.h" +#include "task_object.h" -SchedDefineTask(ASTEROID); +SchedDefineTask1(Asteroid, asteroid_task); static int -run(SchedTask *smanager, void *rbuf, void *wbuf) +asteroid_task(SchedTask *smanager, void *rbuf, void *wbuf) { + int asteroidi = (int)smanager->get_param(0); + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); - int i; - asteroiddt[asteroidi] = p; - // if(asteroidi==0) - // { p->x += p->vx; p->y += p->vy; - // } + if (asteroidi > 0) { - for (i = 0; i < asteroidi; i++) { - if ((asteroiddt[i]->x + 32 > p->x) - && (p->x + 32 > asteroiddt[i]->x) - && (asteroiddt[i]->y + 32 > p->y) - && (asteroiddt[i]->y < p->y + 32)) { + CHARACTER* asteroiddt = (CHARACTER*)smanager->get_input(rbuf, 1); + + for (int i = 0; i < asteroidi; i++) { + if ((asteroiddt[i].x + 32 > p->x) + && (p->x + 32 > asteroiddt[i].x) + && (asteroiddt[i].y + 32 > p->y) + && (asteroiddt[i].y < p->y + 32)) { p->vx *= -1; p->vy *= -1; } } } - asteroidi++; + CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); + + *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state0.cc --- a/spe/chara_state0.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state0.cc Sun Feb 06 17:16:43 2011 +0900 @@ -11,7 +11,7 @@ p->x += p->vx; p->y += p->vy; - p->task = STATE0; + p->state_task = STATE0; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state1.cc --- a/spe/chara_state1.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state1.cc Sun Feb 06 17:16:43 2011 +0900 @@ -11,7 +11,7 @@ p->x -= p->vx; p->y -= p->vy; - p->task = STATE1; + p->state_task = STATE1; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state10.cc --- a/spe/chara_state10.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state10.cc Sun Feb 06 17:16:43 2011 +0900 @@ -18,7 +18,7 @@ p->y += p->vy; p->dt1++; - p->task = STATE10; + p->state_task = STATE10; *q = *p; return 0; } @@ -28,7 +28,7 @@ p->dt1 = rinkx; p->dt2 = rinky; - p->task = STATE13; + p->state_task = STATE13; *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state11.cc --- a/spe/chara_state11.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state11.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ DefSpriteEx(54, 16, 32, &sprite->data[0]); PutSpriteEx(54, p->x, p->y, p->s, p->s, 1, &sprite->data[1]); - p->task = STATE11; + p->state_task = STATE11; *w_count = count; *q = *p; return 0; @@ -37,7 +37,7 @@ p->dt1 = 0; p->dt2 = 0; - p->task = STATE12; + p->state_task = STATE12; *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state12.cc --- a/spe/chara_state12.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state12.cc Sun Feb 06 17:16:43 2011 +0900 @@ -22,14 +22,14 @@ smanager->setup_outputData(); CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); - int *w_count = (int*)smanager->get_output(wbuf, 3); + int *w_count = (int*)smanager->get_output(wbuf, 1); int *w_rinky = (int*)smanager->get_output(wbuf, 4); ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 6); sprite->flag = true; sprite->length = length; if (p->y > 240+32) { - p->task = DELETE_CHARA; + p->state_task = DELETE_CHARA; } p->y += 3; rinky += 3; @@ -38,7 +38,7 @@ DefSpriteEx(54, 16, 32, &sprite->data[index_count]); index_count++; PutSpriteEx(54, p->x, p->y, 2, 2, 1, &sprite->data[index_count]); - p->task = STATE12; + p->state_task = STATE12; *w_rinky = rinky; *w_count = count; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state13.cc --- a/spe/chara_state13.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state13.cc Sun Feb 06 17:16:43 2011 +0900 @@ -29,7 +29,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->state_task = DELETE_CHARA; *w_count = count; *q = *p; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state2.cc --- a/spe/chara_state2.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state2.cc Sun Feb 06 17:16:43 2011 +0900 @@ -11,7 +11,7 @@ p->vy -= 0.25; p->y += p->vy; - p->task = STATE2; + p->state_task = STATE2; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state20.cc --- a/spe/chara_state20.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state20.cc Sun Feb 06 17:16:43 2011 +0900 @@ -13,7 +13,7 @@ p->vy -= 0.5; p->vy += 0.4; - p->task = STATE20; + p->state_task = STATE20; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state21.cc --- a/spe/chara_state21.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state21.cc Sun Feb 06 17:16:43 2011 +0900 @@ -13,7 +13,7 @@ p->vx += 0.5; p->vy += 0.4; - p->task = STATE21; + p->state_task = STATE21; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state22.cc --- a/spe/chara_state22.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state22.cc Sun Feb 06 17:16:43 2011 +0900 @@ -6,34 +6,37 @@ static int state22(SchedTask *smanager, void *rbuf, void *wbuf) { - int rand = (int)smanager->get_param(0); + int rand1 = (int)smanager->get_param(0); + int rand2 = (int)smanager->get_param(1); + int rand3 = (int)smanager->get_param(2); + int rand4 = (int)smanager->get_param(3); CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); - int sf = rand % 4; + int sf = rand1 % 4; if((sf == 0) || (sf == 1)) { p->x = -35; - p->y = rand % (120 - 35); - p->vx = (rand % 4 + 1); - p->vy = rand % 3 + 1; - p->task = STATE23; + p->y = rand2 % (120 - 35); + p->vx = (rand3 % 4 + 1); + p->vy = rand4 % 3 + 1; + p->state_task = STATE23; } if((sf == 2)) { - p->x = rand % 290; + p->x = rand2 % 290; p->y = -30; - p->vx = rand % 3 - 1; - p->vy = (rand % 4 + 1); - p->task = STATE23; + p->vx = rand3 % 3 - 1; + p->vy = (rand4 % 4 + 1); + p->state_task = STATE23; } if(sf == 3) { p->x = 320; - p->y = rand % (120 - 35); - p->vx = (rand % 4 + 1) * -1; - p->vy = rand % 3 -1; - p->task = STATE23; + p->y = rand2 % (120 - 35); + p->vx = (rand3 % 4 + 1) * -1; + p->vy = rand4 % 3 -1; + p->state_task = STATE23; } smanager->swap(); diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state25.cc --- a/spe/chara_state25.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state25.cc Sun Feb 06 17:16:43 2011 +0900 @@ -44,12 +44,12 @@ amari = rand % 160; if((amari == 1) && (part5_f == TRUE)) { - p->task = STATE26; + p->state_task = STATE26; *rinkf1 = 1; } if((amari == 2) && (part1_f == TRUE)) { - p->task = STATE27; + p->state_task = STATE27; *rinkf1 = 5; *rinkx = 0; @@ -58,7 +58,7 @@ } if((part5_f == TRUE) && (part1_f != TRUE)) { - p->task = STATE28; + p->state_task = STATE28; } p->dt1 += 3; if(p->dt1 == 720) diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state26.cc --- a/spe/chara_state26.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state26.cc Sun Feb 06 17:16:43 2011 +0900 @@ -40,7 +40,7 @@ p->dt2 = 0; *rinkf1 = 0; - p->task = STATE25; + p->state_task = STATE25; *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state27.cc --- a/spe/chara_state27.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state27.cc Sun Feb 06 17:16:43 2011 +0900 @@ -71,7 +71,7 @@ rinkf1 = 0; rinkx = 0; - p->task = STATE25; + p->state_task = STATE25; *q = *p; *w_count = count; *w_rinkx = rinkx; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state28.cc --- a/spe/chara_state28.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state28.cc Sun Feb 06 17:16:43 2011 +0900 @@ -7,18 +7,18 @@ static int state28(SchedTask *smanager, void *rbuf, void *wbuf) { - int rand = (int)smanager->get_param(2); + int rand = (int)smanager->get_param(0); int length = 2; CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); int count = *(int*)smanager->get_input(rbuf, 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); int *w_count = (int*)smanager->get_output(wbuf, 1); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 4); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); sprite->flag = true; if (p->dt1 <= 360) diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state3.cc --- a/spe/chara_state3.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state3.cc Sun Feb 06 17:16:43 2011 +0900 @@ -28,7 +28,7 @@ CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); p->dt1++; - p->task = STATE3; + p->state_task = STATE3; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state30.cc --- a/spe/chara_state30.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state30.cc Sun Feb 06 17:16:43 2011 +0900 @@ -11,7 +11,7 @@ p->x = p->x - 32; p->y = p->y; - p->task = STATE30; + p->state_task = STATE30; smanager->swap(); return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state31.cc --- a/spe/chara_state31.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state31.cc Sun Feb 06 17:16:43 2011 +0900 @@ -26,7 +26,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state32.cc --- a/spe/chara_state32.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state32.cc Sun Feb 06 17:16:43 2011 +0900 @@ -28,7 +28,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state33.cc --- a/spe/chara_state33.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state33.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state34.cc --- a/spe/chara_state34.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state34.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state35.cc --- a/spe/chara_state35.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state35.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ Bom(p->x, p->y, &sprite->data[0]); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state4.cc --- a/spe/chara_state4.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state4.cc Sun Feb 06 17:16:43 2011 +0900 @@ -12,14 +12,13 @@ p->y += p->vy; p->x += p->vx; - if(p->y < jiki->y && p->y + 16 > jiki->y) - { + if ((p->y < jiki->y) && (p->y + 16 > jiki->y)) { p->vy = -2; p->vx = ((jiki->x > p->x) ? 4 : -4); - p->task = STATE7; + p->state_task = STATE7; + } else { + p->state_task = STATE4; } - else p->task = STATE4; - *q = *p; return 0; } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state40.cc --- a/spe/chara_state40.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state40.cc Sun Feb 06 17:16:43 2011 +0900 @@ -17,7 +17,7 @@ CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); // Bom(p->x, p->y); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; @@ -76,7 +76,7 @@ { //rinkf1=11; p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; } } diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state400.cc --- a/spe/chara_state400.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state400.cc Sun Feb 06 17:16:43 2011 +0900 @@ -10,7 +10,7 @@ p->vy++; p->y += p->vy / 4; - p->task = STATE400; + p->state_task = STATE400; smanager->swap(); return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state41.cc --- a/spe/chara_state41.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state41.cc Sun Feb 06 17:16:43 2011 +0900 @@ -12,14 +12,14 @@ 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); + int rinkf1 = *(int*)smanager->get_input(rbuf, 2); 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; + p->collision_task = true; *q = *p; return 0; @@ -31,9 +31,9 @@ if ((p->dt2 < 16)) { length = 1; - smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); sprite->flag = true; sprite->length = length; @@ -54,9 +54,9 @@ if (p->dt1 % 15 == 1) { length = 1; - smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); sprite->flag = true; sprite->length = length; @@ -68,9 +68,9 @@ if (p->dt2 != 0) { length = 1; - smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); + smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); smanager->setup_outputData(); - ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2); + ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 1); sprite->flag = true; sprite->length = length; @@ -82,7 +82,7 @@ CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); p->f = FALSE; - p->task = DELETE_CHARA; + p->collision_task = true; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state5.cc --- a/spe/chara_state5.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state5.cc Sun Feb 06 17:16:43 2011 +0900 @@ -17,9 +17,9 @@ { p->vy = -2; p->vx = ((jiki->x > p->x) ? 4 : -4); - p->task = STATE0; + p->state_task = STATE0; } - else p->task = STATE5; + else p->state_task = STATE5; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state500.cc --- a/spe/chara_state500.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state500.cc Sun Feb 06 17:16:43 2011 +0900 @@ -29,29 +29,32 @@ 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); */ + int num = 5 + p->dt2 / 8; + if (num != 0) { + if (p->dt1 % num == 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 cd05eee90279 -r cfd42ee2ad28 spe/chara_state6.cc --- a/spe/chara_state6.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state6.cc Sun Feb 06 17:16:43 2011 +0900 @@ -17,9 +17,9 @@ { p->vy = 2; p->vx = ((jiki->x > p->x) ? 4 : -4); - p->task = STATE0; + p->state_task = STATE0; } - else p->task = STATE6; + else p->state_task = STATE6; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state600.cc --- a/spe/chara_state600.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state600.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ 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; + p->state_task = STATE601; if (p->x < 0) p->x = 0; if (p->x > 260) diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state601.cc --- a/spe/chara_state601.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state601.cc Sun Feb 06 17:16:43 2011 +0900 @@ -6,7 +6,8 @@ static int state601(SchedTask *smanager, void *rbuf, void *wbuf) { - int rand = (int)smanager->get_param(0); + int rand1 = (int)smanager->get_param(0); + int rand2 = (int)smanager->get_param(1); CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); player *jiki = (player*)smanager->get_input(rbuf, 1); @@ -25,8 +26,8 @@ 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]); + Putenemy(6, p->x + 16 + rand1 % 32, + p->y, 0, rand2 % 4, STATE400, &sprite->data[0]); if (p->x < 0) p->x = 0; if (p->x > 260) @@ -36,7 +37,7 @@ if (p->y > 232) p->y = 232; if (p->dt2 > 800) { - p->task = STATE602; + p->state_task = STATE602; } CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state602.cc --- a/spe/chara_state602.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state602.cc Sun Feb 06 17:16:43 2011 +0900 @@ -6,7 +6,10 @@ static int state602(SchedTask *smanager, void *rbuf, void *wbuf) { - int rand = (int)smanager->get_param(0); + int rand1 = (int)smanager->get_param(0); + int rand2 = (int)smanager->get_param(1); + int rand3 = (int)smanager->get_param(2); + int rand4 = (int)smanager->get_param(3); CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); @@ -20,11 +23,11 @@ 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), + (rand1 % 5 + 0.5) * (rand2 % 2 == 1 ? -1 : 1), + (rand3 % 5 + 0.5) * (rand4 % 2 == 1 ? -1 : 1), STATE29, &sprite->data[0]); if (p->dt2 > 1024) { - p->task = STATE600; + p->state_task = STATE600; p->dt2 = 0; } CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state7.cc --- a/spe/chara_state7.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state7.cc Sun Feb 06 17:16:43 2011 +0900 @@ -27,7 +27,7 @@ CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); p->dt1++; - p->task = STATE7; + p->state_task = STATE7; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state8.cc --- a/spe/chara_state8.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state8.cc Sun Feb 06 17:16:43 2011 +0900 @@ -30,7 +30,7 @@ p->dt1 = 512; p->s = 0.125; - p->task = STATE8; + p->state_task = STATE8; *w_count = count; *q = *p; @@ -38,7 +38,7 @@ } CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); - p->task = STATE9; + p->state_task = STATE9; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/chara_state9.cc --- a/spe/chara_state9.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/chara_state9.cc Sun Feb 06 17:16:43 2011 +0900 @@ -31,7 +31,7 @@ DefSpriteEx(54, 16*4, 32*4, &sprite->data[0]); PutSpriteEx(54, (p->x * 4), (p->y * 4), p->s, p->s, 1, &sprite->data[1]); - p->task = STATE9; + p->state_task = STATE9; *q = *p; return 0; } @@ -57,7 +57,7 @@ Putenemy(5, *w_rinkx - 16, *w_rinky - 16, -1, 0, STATE10, &sprite->data[3]); p->dt1 = 8192; - p->task = STATE11; + p->state_task = STATE11; *q = *p; return 0; diff -r cd05eee90279 -r cfd42ee2ad28 spe/spe-main.cc --- a/spe/spe-main.cc Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/spe-main.cc Sun Feb 06 17:16:43 2011 +0900 @@ -4,6 +4,8 @@ /* 必ずこの位置に書いて */ SchedExternTask(Atari); +SchedExternTask(CollDataReflect); + SchedExternTask(State0); SchedExternTask(State1); SchedExternTask(State2); @@ -62,6 +64,8 @@ { SchedRegisterTask(ATARI, Atari); + SchedRegisterTask(COLLDATA_REFLECT, CollDataReflect); + SchedRegisterTask(STATE0, State0); SchedRegisterTask(STATE1, State1); SchedRegisterTask(STATE2, State2); diff -r cd05eee90279 -r cfd42ee2ad28 spe/task_object.h --- a/spe/task_object.h Mon Feb 07 03:31:18 2011 +0900 +++ b/spe/task_object.h Sun Feb 06 17:16:43 2011 +0900 @@ -90,7 +90,8 @@ float s; int chara_id; - int task; + int state_task; + bool collision_task; struct CHARACTER * (*state)(struct CHARACTER *p); struct CHARACTER * (*collision)(struct CHARACTER *p); @@ -102,19 +103,25 @@ typedef struct CollisionProperty { int infg_level; - int enemycount; + + int tama_lv1_end; + int tama_lv2_end; + int laser_lv1_end; - CHARACTER p; + int enemycount; + player jiki; + stge lg; stge infg; - + tama1 tama_lv1[20]; tama2 tama_lv2[20]; tama1 tlv3; laser laser_lv1[20]; laser laser_lv2; - laser laser_lv3[128]; + laser laser_lv3[64]; + } CollisionProperty, *CollisionPropertyPtr;