Mercurial > hg > Members > koba > t_dandy
comparison state_task.cc @ 52:150e832193fe
fix.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Jan 2011 19:01:34 +0900 |
parents | 2e123c4bf5ca |
children | b31bed246abd |
comparison
equal
deleted
inserted
replaced
51:2e123c4bf5ca | 52:150e832193fe |
---|---|
13 #include "sankaku.h" | 13 #include "sankaku.h" |
14 #include "tama.h" | 14 #include "tama.h" |
15 #include "TaskManager.h" | 15 #include "TaskManager.h" |
16 #include "Func.h" | 16 #include "Func.h" |
17 #include "property.h" | 17 #include "property.h" |
18 #include "state_task.h" | |
19 #include "ObjectType.h" | 18 #include "ObjectType.h" |
20 #include "debug_db.h" | 19 #include "debug_db.h" |
20 #include "StateList.h" | |
21 | |
21 | 22 |
22 extern DebugDB dtable[DEFOBJ]; | 23 extern DebugDB dtable[DEFOBJ]; |
23 extern SpriteTable sptable[DEFOBJ]; | 24 extern SpriteTable sptable[DEFOBJ]; |
24 extern TaskManager *tmanager; | 25 extern TaskManager *tmanager; |
25 | 26 |
40 int enemyfaste = 0; | 41 int enemyfaste = 0; |
41 int fastebos = 0; | 42 int fastebos = 0; |
42 | 43 |
43 int counter = 0; | 44 int counter = 0; |
44 | 45 |
45 State state_list[LIST_NUM]; | |
46 | |
47 /* output 0~3 */ | 46 /* output 0~3 */ |
48 static | 47 static |
49 int get_num() | 48 int get_num() |
50 { | 49 { |
51 counter++; | 50 counter++; |
61 while ( value < input ) { | 60 while ( value < input ) { |
62 value <<= 1; | 61 value <<= 1; |
63 } | 62 } |
64 return value; | 63 return value; |
65 } | 64 } |
65 | |
66 | 66 |
67 static void | 67 static void |
68 ReDefSprite(int number, float w, float h, int color) | 68 ReDefSprite(int number, float w, float h, int color) |
69 { | 69 { |
70 SpriteTable *m = &sptable[number]; | 70 SpriteTable *m = &sptable[number]; |
75 m->my = h / 2; | 75 m->my = h / 2; |
76 m->tex_w = power_of_two(m->w); | 76 m->tex_w = power_of_two(m->w); |
77 m->tex_h = power_of_two(m->h); | 77 m->tex_h = power_of_two(m->h); |
78 } | 78 } |
79 | 79 |
80 | |
81 static int | |
82 GetStateNum(int task_num) | |
83 { | |
84 int num = task_num % LIST_NUM; | |
85 | |
86 return num; | |
87 } | |
88 | |
89 static void | |
90 SetTaskState(int task_num, CHARACTER *(state)(CHARACTER *chara)) | |
91 { | |
92 int num = GetStateNum(task_num); | |
93 | |
94 state_list[num] = state; | |
95 } | |
96 | |
97 void | |
98 initStateList() | |
99 { | |
100 SetTaskState(DELETE_CHARA, delete_chara); | |
101 SetTaskState(STATE0, chara_state0); | |
102 SetTaskState(STATE1, chara_state1); | |
103 SetTaskState(STATE2, chara_state2); | |
104 SetTaskState(STATE3, chara_state3); | |
105 SetTaskState(STATE4, chara_state4); | |
106 SetTaskState(STATE5, chara_state5); | |
107 SetTaskState(STATE6, chara_state6); | |
108 SetTaskState(STATE7, chara_state7); | |
109 SetTaskState(STATE8, chara_state8); | |
110 SetTaskState(STATE9, chara_state9); | |
111 SetTaskState(STATE10, chara_state10); | |
112 SetTaskState(STATE11, chara_state11); | |
113 SetTaskState(STATE12, chara_state12); | |
114 SetTaskState(STATE13, chara_state13); | |
115 | |
116 SetTaskState(STATE20, chara_state20); | |
117 SetTaskState(STATE21, chara_state21); | |
118 SetTaskState(STATE22, chara_state22); | |
119 SetTaskState(STATE23, chara_state23); | |
120 SetTaskState(STATE24, chara_state24); | |
121 SetTaskState(STATE25, chara_state25); | |
122 SetTaskState(STATE26, chara_state26); | |
123 SetTaskState(STATE27, chara_state27); | |
124 SetTaskState(STATE28, chara_state28); | |
125 SetTaskState(STATE29, chara_state29); | |
126 SetTaskState(STATE30, chara_state30); | |
127 SetTaskState(STATE31, chara_state31); | |
128 SetTaskState(STATE32, chara_state32); | |
129 SetTaskState(STATE33, chara_state33); | |
130 SetTaskState(STATE34, chara_state34); | |
131 SetTaskState(STATE35, chara_state35); | |
132 SetTaskState(STATE40, chara_state40); | |
133 SetTaskState(STATE41, chara_state41); | |
134 | |
135 SetTaskState(STATE400, chara_state400); | |
136 SetTaskState(STATE401, chara_state401); | |
137 SetTaskState(STATE402, chara_state402); | |
138 | |
139 SetTaskState(STATE410, chara_state410); | |
140 SetTaskState(STATE411, chara_state411); | |
141 | |
142 SetTaskState(STATE500, chara_state500); | |
143 SetTaskState(STATE501, chara_state501); | |
144 | |
145 SetTaskState(STATE600, chara_state600); | |
146 SetTaskState(STATE601, chara_state601); | |
147 SetTaskState(STATE602, chara_state602); | |
148 } | |
149 | 80 |
150 void | 81 void |
151 updateState(SchedTask *s, void *chara, void *arg) | 82 updateState(SchedTask *s, void *chara, void *arg) |
152 { | 83 { |
153 CHARACTER *p = (CHARACTER*)chara; | 84 CHARACTER *p = (CHARACTER*)chara; |
664 | 595 |
665 CHARACTER* | 596 CHARACTER* |
666 delete_chara(CHARACTER *p) | 597 delete_chara(CHARACTER *p) |
667 { | 598 { |
668 if (p->tama == FALSE) { | 599 if (p->tama == FALSE) { |
669 printf("F%d: [%s] [%d] x=%f y=%f vx=%f vy=%f DELETE\n", | 600 printf("F%d: DELETE [NAME]%s_%d [VIT]%lf [COORD]x= %f y= %f vx= %f vy= %f\n", |
670 filpcount, dtable[p->charano].name, p->chara_id, | 601 filpcount, dtable[p->charano].name, p->chara_id, p->vit, |
671 p->x, p->y, p->vx, p->vy); | 602 p->x, p->y, p->vx, p->vy); |
672 } | 603 } |
673 | 604 |
674 CHARACTER *parent = p; | 605 CHARACTER *parent = p; |
675 p->f = FALSE; | 606 p->f = FALSE; |