7
|
1 #include "dandy.h"
|
|
2
|
|
3 static const int FRAME_RATE = 32;
|
|
4
|
|
5 void Putenemy(int charano, int x, int y, int sx, int sy, int move, int coll,
|
|
6 SceneGraphPtr node, void *sgroot_);
|
|
7
|
|
8 void
|
|
9 schedule(SceneGraphPtr node, void *sgroot_, int w, int h)
|
|
10 {
|
8
|
11 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_;
|
|
12 Pad *pad = sgroot->getController();
|
|
13 if(back_property.flag == 0){
|
|
14 if(pad->start.isPush()) {
|
|
15 back_property.flag = 1;
|
|
16 //node->children->remove();
|
|
17 sgroot->setSceneData(node);
|
|
18 }
|
|
19 }
|
|
20
|
|
21 if(back_property.flag == 1) {
|
7
|
22 switch (node->frame) {
|
|
23 case 1:
|
|
24 break;
|
8
|
25 case FRAME_RATE * 10:
|
|
26 Putenemy(1, w/2, 0, 2, 4, MOVE_00, MOVE_00, node, sgroot);
|
7
|
27 break;
|
8
|
28 case FRAME_RATE * 20:
|
|
29 Putenemy(1, w/3, 0, 0, 8, MOVE_00, MOVE_00, node, sgroot);
|
|
30 Putenemy(1, w/2, 0, 0, 8, MOVE_00, MOVE_00, node, sgroot);
|
7
|
31 break;
|
|
32 /*
|
|
33 case FRAME_RATE * 4:
|
|
34 Putenemy(1, 120, -128, 0, 4, chara_state0);
|
|
35 break;
|
|
36 case FRAME_RATE * 5:
|
|
37 Putenemy(1, 224, -128, 1, 1, chara_state0);
|
|
38 Putenemy(1, 184, -128, 1, 1, chara_state0);
|
|
39 break;
|
|
40 case FRAME_RATE * 6:
|
|
41 Putenemy(1, 120, -128, 1, 2, chara_state0);
|
|
42 break;
|
|
43 case FRAME_RATE * 7:
|
|
44 Putenemy(1, 56, -128, 0, 1, chara_state0);
|
|
45 Putenemy(1, 184, -128, 0, 1, chara_state0);
|
|
46 break;
|
|
47 case FRAME_RATE * 8:
|
|
48 Putenemy(2, 120, -128, 0, 1, chara_state0);
|
|
49 break;
|
|
50
|
|
51 case FRAME_RATE * 12:
|
|
52 Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
|
|
53 break;
|
|
54 case FRAME_RATE * 13:
|
|
55 Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
|
|
56 break;
|
|
57 case FRAME_RATE * 14:
|
|
58 Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
|
|
59 break;
|
|
60 case FRAME_RATE * 15:
|
|
61 Putenemy(2, 1280 - 128 - 120, -128, -1, 1, chara_state4);
|
|
62 break;
|
|
63 case FRAME_RATE * 16:
|
|
64 Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
|
|
65 break;
|
|
66 case FRAME_RATE * 17:
|
|
67 Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
|
|
68 break;
|
|
69 case FRAME_RATE * 18:
|
|
70 Putenemy(1, 1280 - 128 - 120, -32, 0, 1, chara_state4);
|
|
71 Putenemy(1, 1280 - 128, -128, -2, 1, chara_state4);
|
|
72 Putenemy(1, 800, -88, -1, 1, chara_state4);
|
|
73 break;
|
|
74
|
|
75 case FRAME_RATE * 24:
|
|
76 Putenemy(1, 256, -128, 0, 1, chara_state4);
|
|
77 Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
|
|
78 break;
|
|
79 case FRAME_RATE * 25:
|
|
80 Putenemy(2, 512, -128, 0, 1, chara_state4);
|
|
81 Putenemy(2, 1280 - 128, -128, 0, 1, chara_state4);
|
|
82 break;
|
|
83 case FRAME_RATE * 26:
|
|
84 Putenemy(1, 384, -128, 0, 1, chara_state4);
|
|
85 Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
|
|
86 Putenemy(1, 512, -128, 0, 3, chara_state4);
|
|
87 Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
|
|
88 break;
|
|
89 case FRAME_RATE * 27:
|
|
90 Putenemy(2, 512, -128, 0, 3, chara_state2);
|
|
91 Putenemy(2, 256 - 128, -128, 0, 2, chara_state2);
|
|
92 Putenemy(2, 768, -128, 0, 4, chara_state2);
|
|
93 Putenemy(2, 128, -128, 0, 3, chara_state2);
|
|
94 break;
|
|
95 case FRAME_RATE * 28:
|
|
96 Putenemy(1, 256, -128, 0, 1, chara_state4);
|
|
97 Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
|
|
98 break;
|
|
99 case FRAME_RATE * 29:
|
|
100 Putenemy(2, 256, -128, 0, 1, chara_state4);
|
|
101 Putenemy(2, 1280 - 256 - 128, -128, 0, 1, chara_state4);
|
|
102 break;
|
|
103 case FRAME_RATE * 30:
|
|
104 Putenemy(1, 256, -128, 0, 1, chara_state4);
|
|
105 Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
|
|
106 break;
|
|
107
|
|
108 case FRAME_RATE * 33:
|
|
109 Putenemy(1, 256, 1088, 0, -1, chara_state5);
|
|
110 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);//5/22/pm5:300
|
|
111 break;
|
|
112 case FRAME_RATE * 34:
|
|
113 Putenemy(2, 256, 1088, 0, -1, chara_state5);
|
|
114 Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
115 break;
|
|
116 case FRAME_RATE * 35:
|
|
117 Putenemy(1, 256, 1088, 0, -1, chara_state5);
|
|
118 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
119 break;
|
|
120 case FRAME_RATE * 36:
|
|
121 Putenemy(2, 256, 1088, 0, -1, chara_state5);
|
|
122 Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
123 break;
|
|
124 case FRAME_RATE * 37:
|
|
125 Putenemy(1, 256, 1088, 0, -1, chara_state5);
|
|
126 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
127 break;
|
|
128 case FRAME_RATE * 38:
|
|
129 Putenemy(2, 256, 1088, 0, -1, chara_state5);
|
|
130 Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
131 break;
|
|
132 case FRAME_RATE * 39:
|
|
133 Putenemy(1, 256, 1088, 0, -1, chara_state5);
|
|
134 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
|
|
135 break;
|
|
136
|
|
137 case FRAME_RATE * 50:
|
|
138 Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
|
|
139 break;
|
|
140 case FRAME_RATE * 46:
|
|
141 Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
|
|
142 break;
|
|
143 case FRAME_RATE * 54:
|
|
144 Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
|
|
145 break;
|
|
146
|
|
147 case FRAME_RATE * 60:
|
|
148 Putenemy(1, 256, 1088, 0, -1, chara_state6);
|
|
149 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
150 break;
|
|
151 case FRAME_RATE * 61:
|
|
152 Putenemy(1, 256, 1088, 0, -1, chara_state6);
|
|
153 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
154 break;
|
|
155 case FRAME_RATE * 62:
|
|
156 Putenemy(1, 256, 1088, 0, -1, chara_state6);
|
|
157 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
158 break;
|
|
159 case FRAME_RATE * 63:
|
|
160 Putenemy(1, 256, 1088, 0, -1, chara_state6);
|
|
161 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
162 break;
|
|
163 case FRAME_RATE * 64:
|
|
164 Putenemy(1, 256, 1088, 0, -1, chara_state6);
|
|
165 Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
166 break;
|
|
167 case FRAME_RATE * 65:
|
|
168 Putenemy(40, 256, 1088, 0, -1, chara_state6);
|
|
169 Putenemy(40, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
|
|
170 break;
|
|
171
|
|
172 case FRAME_RATE * 80:
|
|
173 Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
174 break;
|
|
175 case FRAME_RATE * 66:
|
|
176 Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
177 break;
|
|
178 case FRAME_RATE * 84:
|
|
179 Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
180 break;
|
|
181 case FRAME_RATE * 70:
|
|
182 Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
183 break;
|
|
184 case FRAME_RATE * 88:
|
|
185 Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
186 break;
|
|
187 case FRAME_RATE * 74:
|
|
188 Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
189 break;
|
|
190 case FRAME_RATE * 92:
|
|
191 Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
192 break;
|
|
193 case FRAME_RATE * 78:
|
|
194 Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
|
|
195 break;
|
|
196
|
|
197 case FRAME_RATE * 100:
|
|
198 Putenemy(41, 256, -128, 0, 1, chara_state7);
|
|
199 Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
200 break;
|
|
201 case FRAME_RATE * 81:
|
|
202 Putenemy(42, 256, -128, 0, 1, chara_state7);
|
|
203 Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
204 break;
|
|
205 case FRAME_RATE * 104:
|
|
206 Putenemy(41, 256, -128, 0, 1, chara_state7);
|
|
207 Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
208 break;
|
|
209 case FRAME_RATE * 83:
|
|
210 Putenemy(42, 256, -128, 0, 1, chara_state7);
|
|
211 Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
212 break;
|
|
213 case FRAME_RATE * 108:
|
|
214 Putenemy(41, 256, -128, 0, 1, chara_state7);
|
|
215 Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
216 break;
|
|
217 case FRAME_RATE * 85:
|
|
218 Putenemy(42, 256, -128, 0, 1, chara_state7);
|
|
219 Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
220 break;
|
|
221 case FRAME_RATE * 112:
|
|
222 Putenemy(41, 256, -128, 0, 1, chara_state7);
|
|
223 Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
|
|
224 break;
|
|
225
|
|
226 case FRAME_RATE * 130:
|
|
227 SoundStop();
|
|
228 SoundPlay(4);
|
|
229 for(p = active_chara_list;p!=NULL;p=p->next)
|
|
230 {
|
|
231 p->f = FALSE;
|
|
232 p->state = delete_chara;
|
|
233 p->collision = noaction;
|
|
234 }
|
|
235 Putenemy(4, 520, -128, 0, 1, chara_state8); // 1面ボスをPutenemy
|
|
236 }
|
|
237 */
|
|
238 }
|
8
|
239 }
|
7
|
240 }
|
|
241
|
|
242 ObjProperty enemy[300];
|
|
243 ObjPropertyPtr e;
|
|
244
|
|
245 void
|
|
246 create_enemy(SchedTask *s, void *enemy_, void *b)
|
|
247 {
|
|
248 ObjPropertyPtr e = (ObjPropertyPtr)enemy_;
|
|
249 SceneGraphPtr back1, enemy1;
|
|
250 back1 = (SceneGraphPtr)e->parent;
|
|
251 enemy1 = (SceneGraphPtr)e->root;
|
|
252
|
|
253 enemy1->xyz[0] = e->x;
|
|
254 enemy1->xyz[1] = e->y;
|
|
255
|
|
256 back1->addChild(enemy1);
|
8
|
257
|
7
|
258 }
|
|
259
|
|
260 void
|
|
261 Putenemy(int charano, int x, int y, int sx, int sy, int move, int coll,
|
|
262 SceneGraphPtr node, void *sgroot_)
|
|
263 {
|
|
264 SceneGraphRoot *sgroot = (SceneGraphRoot *)sgroot_;
|
|
265 SceneGraphPtr obj = (SceneGraphPtr)charactor[charano].root;
|
|
266
|
|
267 int ii = 0;
|
|
268 e = &enemy[0];
|
|
269 while ((e->flag) == 1) {
|
|
270 ii++;
|
|
271 if (ii == 100)
|
|
272 return;
|
|
273 e++;
|
|
274 }
|
|
275 e->x = x;
|
|
276 e->y = y;
|
|
277 e->vx = sx;
|
|
278 e->vy = sy;
|
|
279 e->root = obj;
|
|
280 e->parent = node;
|
|
281 e->flag = 1;
|
|
282 e->vital = charactor[charano].vital;
|
|
283 //e->move = move;
|
|
284 e->score = charactor[charano].score;
|
|
285 //e->dt1 = e->dt2 = 0;
|
|
286 //e->tama = tf;
|
8
|
287
|
7
|
288 obj->xyz[0] = x;
|
|
289 obj->xyz[1] = y;
|
|
290 obj->stack_xyz[0] = sx;
|
|
291 obj->stack_xyz[1] = sy;
|
|
292
|
8
|
293 int size = sizeof(ObjPropertyPtr)*16;
|
7
|
294 //obj->set_move_collision(move, coll);
|
|
295 sgroot->set_game_task(move, e, size, create_enemy);
|
|
296
|
8
|
297 //node->addChild(obj);
|
|
298 //node->setSceneData();
|
7
|
299 }
|