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