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