Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag220.c
Go to the documentation of this file.
1/*
2 * WSTAG220: Digimon Lab, Asuka City.
3 */
4
5#include "common.h"
6#define STAGE_TWEEN /* stageFuncs is a StageFuncs (stage.h) */
7#include "field/stage.h"
8
9/* The text file of the menus, which the versions number differently */
10#if VERSION_US || VERSION_JP
11#define MENU_TEXT TEXT_FILE(TEXT_EVENTS_200)
12#elif VERSION_EU
13#define MENU_TEXT (TEXT_EVENTS_200 - 1)
14#endif
15
16/* A two-option menu: creates the event object of the chosen option */
18 SpriteDrawer drawer;
19 s32 prev;
20 s32 i;
21 s32 j;
22 s32 k;
23
24 switch (task->state) {
25 case TASK_INIT:
26 default:
27 task->nextState(task);
28 task->tween.duration = 10;
29 for (i = 0; i < 2; i++) {
30 children->options[i] = createTextWindow(FIELD_LAYER_MAP, 1, 0x1C, 0xBE + i * 14);
31 children->options[i]->setDepth(children->options[i], 1);
32 }
33 children->cursor = createCursor(FIELD_LAYER_MAP, 1, 0x12, 0xBE);
34 children->cursor->setVisible(children->cursor, 0);
35 children->title = createTextWindow(FIELD_LAYER_MAP, 1, 0x12, 0xB0);
36 break;
37 case TASK_RUN:
38 switch (task->substate) {
39 case 0:
40 default:
41 stageFuncs.start(&task->tween, 1);
42 task->substate++;
43 break;
44 case 1:
45 if (stageFuncs.update(&task->tween)) {
46 for (j = 0; j < 2; j++) {
47 children->options[j]->setString(children->options[j], FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x36)), j + 2);
48 }
49 children->cursor->setVisible(children->cursor, 1);
50 children->title->setString(children->title, FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x36)), 1);
51 task->substate++;
52 }
53 break;
54 case 2:
55 prev = task->cursor;
57 if (--task->cursor < 0) {
58 task->cursor = 0;
59 }
60 } else if (PAD_PRESSED(PAD_DOWN) || PAD_REPEATED(PAD_DOWN)) {
61 task->cursor++;
62 if (task->cursor > 1) {
63 task->cursor = 1;
64 }
65 }
66 if (prev != task->cursor) {
68 children->cursor->setPos(children->cursor, 0x12, task->cursor * 14 + 0xBE);
69 break;
70 }
73 task->substate = 10;
74 task->step = 1;
75 }
76 break;
77 case 3:
78 children->event = FIELDSTG_startEvent(task->cursor == 0 ? 0x35 : 0x5E9);
79 task->substate++;
80 break;
81 case 4:
82 if (children->event == NULL) {
83 task->state = TASK_KILL;
84 }
85 break;
86 case 10:
87 for (k = 0; k < 2; k++) {
88 children->options[k]->setVisible(children->options[k], 0);
89 }
90 children->cursor->setVisible(children->cursor, 0);
91 children->title->setVisible(children->title, 0);
92 stageFuncs.start(&task->tween, 0);
93 task->substate++;
94 break;
95 case 11:
96 if (stageFuncs.update(&task->tween)) {
97 if (task->step == 1) {
98 task->substate = 3;
99 } else {
100 task->state = TASK_KILL;
101 }
102 }
103 break;
104 }
105 initSpriteDrawer(&drawer);
106 drawer.setLayerId(FIELD_LAYER_MAP, 2);
107 drawer.setTexture(0x140, 0);
108 drawer.setFollowScroll(0);
109 if (task->tween.level != 0) {
110 if (task->tween.level != 0x1000) {
111 drawer.setScale(task->tween.level, 0x1000, 0x1000);
112 drawer.setPivot(0, 0xC3);
113 }
114 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0x45, 0, 0xAC);
115 }
116 break;
117 case TASK_DONE:
118 case TASK_KILL:
119 break;
120 }
121}
122
123/*
124 * Starts event 1512, which asks whether to listen to partner Digimon
125 * information: yes starts event 53, no event 1513
126 */
127void *startEvent1512(void) {
128 return createTask(updateEvent1512, sizeof(StageMenu), sizeof(ChoiceChildren));
129}
130
131/* A two-option menu: creates the event object of the chosen option */
133 SpriteDrawer drawer;
134 s32 prev;
135 s32 i;
136 s32 j;
137 s32 k;
138
139 switch (task->state) {
140 case TASK_INIT:
141 default:
142 task->nextState(task);
143 task->tween.duration = 10;
144 for (i = 0; i < 2; i++) {
145 children->options[i] = createTextWindow(FIELD_LAYER_MAP, 1, 0x1C, 0xBE + i * 14);
146 children->options[i]->setDepth(children->options[i], 1);
147 }
148 children->cursor = createCursor(FIELD_LAYER_MAP, 1, 0x12, 0xBE);
149 children->cursor->setVisible(children->cursor, 0);
150 children->title = createTextWindow(FIELD_LAYER_MAP, 1, 0x12, 0xB0);
151 break;
152 case TASK_RUN:
153 switch (task->substate) {
154 case 0:
155 default:
156 stageFuncs.start(&task->tween, 1);
157 task->substate++;
158 break;
159 case 1:
160 if (stageFuncs.update(&task->tween)) {
161 for (j = 0; j < 2; j++) {
162 children->options[j]->setString(children->options[j], FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x37)), j + 2);
163 }
164 children->cursor->setVisible(children->cursor, 1);
165 children->title->setString(children->title, FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x37)), 1);
166 task->substate++;
167 }
168 break;
169 case 2:
170 prev = task->cursor;
172 if (--task->cursor < 0) {
173 task->cursor = 0;
174 }
175 } else if (PAD_PRESSED(PAD_DOWN) || PAD_REPEATED(PAD_DOWN)) {
176 task->cursor++;
177 if (task->cursor > 1) {
178 task->cursor = 1;
179 }
180 }
181 if (prev != task->cursor) {
183 children->cursor->setPos(children->cursor, 0x12, task->cursor * 14 + 0xBE);
184 break;
185 }
186 if (PAD_PRESSED(PAD_CROSS)) {
188 task->substate = 10;
189 task->step = 1;
190 }
191 break;
192 case 3:
193 children->event = FIELDSTG_startEvent(task->cursor == 0 ? 0x37 : 0x5EB);
194 task->substate++;
195 break;
196 case 4:
197 if (children->event == NULL) {
198 task->state = TASK_KILL;
199 }
200 break;
201 case 10:
202 for (k = 0; k < 2; k++) {
203 children->options[k]->setVisible(children->options[k], 0);
204 }
205 children->cursor->setVisible(children->cursor, 0);
206 children->title->setVisible(children->title, 0);
207 stageFuncs.start(&task->tween, 0);
208 task->substate++;
209 break;
210 case 11:
211 if (stageFuncs.update(&task->tween)) {
212 if (task->step == 1) {
213 task->substate = 3;
214 } else {
215 task->state = TASK_KILL;
216 }
217 }
218 break;
219 }
220 initSpriteDrawer(&drawer);
221 drawer.setLayerId(FIELD_LAYER_MAP, 2);
222 drawer.setTexture(0x140, 0);
223 drawer.setFollowScroll(0);
224 if (task->tween.level != 0) {
225 if (task->tween.level != 0x1000) {
226 drawer.setScale(task->tween.level, 0x1000, 0x1000);
227 drawer.setPivot(0, 0xC3);
228 }
229 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0x45, 0, 0xAC);
230 }
231 break;
232 case TASK_DONE:
233 case TASK_KILL:
234 break;
235 }
236}
237
238/*
239 * Starts event 1514, which asks whether to listen to digivolve information:
240 * yes starts event 55, no event 1515
241 */
242void *startEvent1514(void) {
243 return createTask(updateEvent1514, sizeof(StageMenu), sizeof(ChoiceChildren));
244}
245
246/* A two-option menu: creates the event object of the chosen option */
248 SpriteDrawer drawer;
249 s32 prev;
250 s32 i;
251 s32 j;
252 s32 k;
253
254 switch (task->state) {
255 case TASK_INIT:
256 default:
257 task->nextState(task);
258 task->tween.duration = 10;
259 for (i = 0; i < 2; i++) {
260 children->options[i] = createTextWindow(FIELD_LAYER_MAP, 1, 0x1C, 0xBE + i * 14);
261 children->options[i]->setDepth(children->options[i], 1);
262 }
263 children->cursor = createCursor(FIELD_LAYER_MAP, 1, 0x12, 0xBE);
264 children->cursor->setVisible(children->cursor, 0);
265 children->title = createTextWindow(FIELD_LAYER_MAP, 1, 0x12, 0xB0);
266 break;
267 case TASK_RUN:
268 switch (task->substate) {
269 case 0:
270 default:
271 stageFuncs.start(&task->tween, 1);
272 task->substate++;
273 break;
274 case 1:
275 if (stageFuncs.update(&task->tween)) {
276 for (j = 0; j < 2; j++) {
277 children->options[j]->setString(children->options[j], FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x38)), j + 2);
278 }
279 children->cursor->setVisible(children->cursor, 1);
280 children->title->setString(children->title, FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x38)), 1);
281 task->substate++;
282 }
283 break;
284 case 2:
285 prev = task->cursor;
287 if (--task->cursor < 0) {
288 task->cursor = 0;
289 }
290 } else if (PAD_PRESSED(PAD_DOWN) || PAD_REPEATED(PAD_DOWN)) {
291 task->cursor++;
292 if (task->cursor > 1) {
293 task->cursor = 1;
294 }
295 }
296 if (prev != task->cursor) {
298 children->cursor->setPos(children->cursor, 0x12, task->cursor * 14 + 0xBE);
299 break;
300 }
301 if (PAD_PRESSED(PAD_CROSS)) {
303 task->substate = 10;
304 task->step = 1;
305 }
306 break;
307 case 3:
308 children->event = FIELDSTG_startEvent(task->cursor == 0 ? 0x38 : 0x5ED);
309 task->substate++;
310 break;
311 case 4:
312 if (children->event == NULL) {
313 task->state = TASK_KILL;
314 }
315 break;
316 case 10:
317 for (k = 0; k < 2; k++) {
318 children->options[k]->setVisible(children->options[k], 0);
319 }
320 children->cursor->setVisible(children->cursor, 0);
321 children->title->setVisible(children->title, 0);
322 stageFuncs.start(&task->tween, 0);
323 task->substate++;
324 break;
325 case 11:
326 if (stageFuncs.update(&task->tween)) {
327 if (task->step == 1) {
328 task->substate = 3;
329 } else {
330 task->state = TASK_KILL;
331 }
332 }
333 break;
334 }
335 initSpriteDrawer(&drawer);
336 drawer.setLayerId(FIELD_LAYER_MAP, 2);
337 drawer.setTexture(0x140, 0);
338 drawer.setFollowScroll(0);
339 if (task->tween.level != 0) {
340 if (task->tween.level != 0x1000) {
341 drawer.setScale(task->tween.level, 0x1000, 0x1000);
342 drawer.setPivot(0, 0xC3);
343 }
344 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0x45, 0, 0xAC);
345 }
346 break;
347 case TASK_DONE:
348 case TASK_KILL:
349 break;
350 }
351}
352
353/*
354 * Starts event 1516, which asks whether to listen to digivolve information:
355 * yes starts event 56, no event 1517
356 */
357void *startEvent1516(void) {
358 return createTask(updateEvent1516, sizeof(StageMenu), sizeof(ChoiceChildren));
359}
360
362
364
365/* the color the setup copies to FIELDSTG_state.spriteColor */
366const CVECTOR stageColor = { 0x54, 0x67, 0x96, 0 };
367
368#if VERSION_US || VERSION_JP
369#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_05)
370#define EVENT_TEXT_FILE (TEXT_EVENTS_200 - 1)
371#define STAGE_FILE 0x18F
372#define STAGE_ARCHIVE 0x2C7
373#elif VERSION_EU
374#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_05)
375#define EVENT_TEXT_FILE (TEXT_EVENTS_200 - 1)
376#define STAGE_FILE 0x19D
377#define STAGE_ARCHIVE 0x2D6
378#endif
379/*
380 * Sets the stage up: its map, actors and events, playing the ambience
381 * ENV_0011; BGM_0029 instead at story steps 0x14 to 0x17 and 0x27 to 0x28
382 */
410
413
415 SCRIPT_WAIT(0x1E),
416 SCRIPT_WAIT(0x1E),
417 SCRIPT_TALK(0, 1, 0x24, 2),
419 SCRIPT_WAIT(0x1E),
421 SCRIPT_WAIT(0x1E),
422 SCRIPT_TALK(0, 2, 2, 4),
424 SCRIPT_WAIT(0x1E),
425 SCRIPT_TALK(0, 3, 2, 4),
427 SCRIPT_WAIT(0x1E),
428 SCRIPT_TALK(0, 4, 0x20, 4),
430 SCRIPT_WAIT(0x1E),
431 SCRIPT_TALK(0, 5, 2, 4),
433 SCRIPT_WAIT(0x1E),
435 SCRIPT_WAIT(0x1E),
436 SCRIPT_WAIT(0x1E),
437 SCRIPT_TALK(0, 7, 0x24, 2),
439 SCRIPT_WAIT(0x1E),
441 /* after the end, the original's padding up to a word, which isn't zeros */
442#if VERSION_US
443 0x3E0,
444#elif VERSION_JP
445 0x8FB0,
446#endif
447};
449 SCRIPT_WALK(2, 0xBA, 0xF8, 5),
450 SCRIPT_PLACE(0x20, 0xDC, 0xE8),
451 SCRIPT_POSE(0x20, 1, 1),
454 SCRIPT_POSE(2, 1, 5),
455 SCRIPT_WAIT(0x1E),
456 SCRIPT_TALK(0, 1, 0x20, 2),
458 SCRIPT_WAIT(0x1E),
460 SCRIPT_WAIT(0x1E),
461 SCRIPT_TALK(0, 2, 0x32D, 4),
463 SCRIPT_WAIT(0x1E),
465 SCRIPT_WAIT(0x1E),
466 SCRIPT_WAIT(0x1E),
467 SCRIPT_TALK(0, 3, 0x20, 2),
469 SCRIPT_WAIT(0x1E),
471};
473 SCRIPT_WAIT(0x1E),
474 SCRIPT_WAIT(0x1E),
475 SCRIPT_TALK(0, 1, 0x20, 2),
477 SCRIPT_WAIT(0x1E),
479 SCRIPT_WAIT(0x1E),
480 SCRIPT_TALK(0, 2, 2, 4),
482 SCRIPT_WAIT(0x1E),
483 SCRIPT_TALK(0, 3, 0x20, 4),
485 SCRIPT_WAIT(0x1E),
486 SCRIPT_TALK(0, 4, 2, 4),
488 SCRIPT_WAIT(0x1E),
490 SCRIPT_WAIT(0x1E),
491 SCRIPT_WAIT(0x1E),
492 SCRIPT_TALK(0, 5, 0x20, 2),
494 SCRIPT_WAIT(0x1E),
496};
498 SCRIPT_WAIT(0x1E),
499 SCRIPT_WAIT(0x1E),
500 SCRIPT_TALK(0, 1, 0x20, 2),
502 SCRIPT_WAIT(0x1E),
504 SCRIPT_WAIT(0x1E),
505 SCRIPT_TALK(0, 2, 2, 4),
507 SCRIPT_WAIT(0x1E),
508 SCRIPT_TALK(0, 3, 0x20, 4),
510 SCRIPT_WAIT(0x1E),
511 SCRIPT_TALK(0, 4, 2, 4),
513 SCRIPT_WAIT(0x1E),
514 SCRIPT_TALK(0, 5, 2, 4),
516 SCRIPT_WAIT(0x1E),
518 SCRIPT_WAIT(0x1E),
519 SCRIPT_WAIT(0x1E),
520 SCRIPT_TALK(0, 6, 0x20, 2),
522 SCRIPT_WAIT(0x1E),
524};
526 SCRIPT_WAIT(0x3C),
527 SCRIPT_TALK(0, 1, 0x24, 2),
529 SCRIPT_WAIT(0x1E),
531};
533 SCRIPT_WAIT(0x3C),
534 SCRIPT_TALK(0, 1, 0x20, 2),
536 SCRIPT_WAIT(0x1E),
538};
540 SCRIPT_WAIT(0x3C),
541 SCRIPT_TALK(0, 1, 0x20, 2),
543 SCRIPT_WAIT(0x1E),
545};
547 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
548 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
549 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
550 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
551 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
552 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
553 { 0x140, 0x100, 0x16E, 0x178, 0xB8, 0x78, 0x150, 0x1F7 },
554 { 0x140, 0x100, 0x176, 0x178, 0xD8, 0x78, 0x160, 0x1F7 },
555 { 0x140, 0x100, 0x140, 0x17E, 0, 0x7E, 0x170, 0x1F7 },
556 { 0x140, 0x100, 0x160, 0x180, 0x80, 0x80, 0x150, 0x1F6 },
557 { 0x140, 0x100, 0x148, 0x17E, 0x20, 0x7E, 0x160, 0x1F6 },
558 { 0, 0, 0, 0, 0, 0, 0, 0 },
559 { 0, 0, 0, 0, 0, 0, 0, 0 },
560 { 0x140, 0x100, 0x150, 0x19E, 0x40, 0x9E, 0x170, 0x1F6 },
561 { 0x140, 0x100, 0x158, 0x1A0, 0x60, 0xA0, 0x140, 0x1F5 },
562 { 0x140, 0x100, 0x166, 0x1A0, 0x98, 0xA0, 0x150, 0x1F5 },
563 { 0x140, 0x100, 0x16E, 0x1A0, 0xB8, 0xA0, 0x160, 0x1F5 },
564 { 0x140, 0x100, 0x176, 0x1A0, 0xD8, 0xA0, 0x170, 0x1F5 },
565 { 0, 0, 0, 0, 0, 0, 0, 0 },
566 { 0, 0, 0, 0, 0, 0, 0, 0 },
567};
625 { NULL, actor4Talk0Actions, 0x425 },
626 { NULL, NULL, 0 },
627};
630 { NULL, NULL, 0 },
631};
633 { NULL, NULL, 1 },
634 { NULL, NULL, 0 },
635};
637 { NULL, NULL, 0x198 },
638 { NULL, NULL, 0 },
639};
641 { NULL, NULL, 0x18F },
642 { NULL, NULL, 0 },
643};
645 { NULL, NULL, 0x190 },
646 { NULL, NULL, 0 },
647};
649 { NULL, NULL, 0x191 },
650 { NULL, NULL, 0 },
651};
653 { NULL, NULL, 0x192 },
654 { NULL, NULL, 0 },
655};
657 { NULL, NULL, 0x193 },
658 { NULL, NULL, 0 },
659};
661 { NULL, NULL, 0x194 },
662 { NULL, NULL, 0 },
663};
665 { NULL, NULL, 0x195 },
666 { NULL, NULL, 0 },
667};
669 { NULL, NULL, 0x196 },
670 { NULL, NULL, 0 },
671};
678 { NULL, actor17Talk0Actions, 0x426 },
679 { NULL, NULL, 0 },
680};
682 { NULL, NULL, 0x421 },
683 { NULL, NULL, 0 },
684};
686 { NULL, NULL, 0x422 },
687 { NULL, NULL, 0 },
688};
690 { NULL, actor26Talk0Actions, 0x423 },
691 { NULL, NULL, 0 },
692};
694 { NULL, NULL, 0x197 },
695 { NULL, NULL, 0 },
696};
758FieldActorEntry actor18 = { actor18Conditions, NULL, 0x59, 8, 300, 217, 5 };
759FieldActorEntry actor19 = { actor19Conditions, NULL, 0x59, 8, 300, 217, 5 };
760FieldActorEntry actor20 = { actor20Conditions, NULL, 0x70, 9, 169, 224, 0 };
761FieldActorEntry actor21 = { actor21Conditions, NULL, 0x70, 9, 169, 224, 0 };
762FieldActorEntry actor22 = { actor22Conditions, NULL, 0x71, 0xA, 202, 241, 0 };
763FieldActorEntry actor23 = { actor23Conditions, NULL, 0x71, 0xA, 202, 241, 0 };
767FieldActorEntry actor27 = { actor27Conditions, NULL, 0xA0, 0xE, 300, 217, 5 };
769FieldActorEntry actor29 = { actor29Conditions, NULL, 0x10E, 0x10, 169, 224, 0 };
770FieldActorEntry actor30 = { actor30Conditions, NULL, 0x10F, 0x11, 202, 241, 0 };
772 &actor0,
773 &actor1,
774 &actor2,
775 &actor3,
776 &actor4,
777 &actor5,
778 &actor6,
779 &actor7,
780 &actor8,
781 &actor9,
782 &actor10,
783 &actor11,
784 &actor12,
785 &actor13,
786 &actor14,
787 &actor15,
788 &actor16,
789 &actor17,
790 &actor18,
791 &actor19,
792 &actor20,
793 &actor21,
794 &actor22,
795 &actor23,
796 &actor24,
797 &actor25,
798 &actor26,
799 &actor27,
800 &actor28,
801 &actor29,
802 &actor30,
803 NULL,
804};
806 { 1, 0, 0x40, 2, 0x45, 2, 0, 2, 0xA, 0, 376, 237, 0, 0 },
807 { 1, 0, 0x40, 2, 5, 0, 0, 0, 0, 0, 368, 277, 0, 0 },
808 { 1, 0, 0x40, 2, 6, 0, 0, 0, 0, 0, 0, 204, 0, 0 },
809 { 1, 0, 0x40, 2, 0x46, 2, 0, 1, 4, 0, 38, 197, 0, 0 },
810 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 110, 341, 0, 0 },
811 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 198, 149, 0, 0 },
812 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 221, 148, 0, 0 },
813 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 235, 149, 0, 0 },
814 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 249, 297, 0, 0 },
815 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 271, 168, 0, 0 },
816 { 1, 0, 0x40, 6, 0x1F, 1, 0x1F, 0x24, 8, 0, 398, 350, 0, 0 },
817 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 102, 333, 0, 0 },
818 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 200, 134, 0, 0 },
819 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 213, 145, 0, 0 },
820 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 242, 167, 0, 0 },
821 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 248, 230, 0, 0 },
822 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 254, 280, 0, 0 },
823 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 265, 153, 0, 0 },
824 { 1, 0, 0x40, 6, 0x25, 1, 0x25, 0x2A, 8, 0, 391, 343, 0, 0 },
825 { 1, 0, 0x40, 6, 0x2B, 0, 0, 0, 0, 0, 213, 151, 0, 0 },
826 { 1, 0, 0x40, 6, 0x2B, 0, 0, 0, 0, 0, 248, 286, 0, 0 },
827 { 1, 0, 0x40, 6, 0x2C, 0, 0, 0, 0, 0, 104, 328, 0, 0 },
828 { 1, 0, 0x40, 6, 0x2C, 0, 0, 0, 0, 0, 197, 141, 0, 0 },
829 { 1, 0, 0x40, 6, 0x2C, 0, 0, 0, 0, 0, 264, 158, 0, 0 },
830 { 1, 0, 0x40, 6, 0x2D, 0, 0, 0, 0, 0, 236, 159, 0, 0 },
831 { 1, 0, 0x40, 6, 0x2D, 0, 0, 0, 0, 0, 391, 343, 0, 0 },
832 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x39, 0xE, 0, 318, 172, 0, 0 },
833 { 1, 0, 0x40, 6, 0x2F, 1, 0x2F, 0x31, 4, 0, 305, 193, 0, 0 },
834 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3F, 8, 0, 354, 209, 0, 0 },
835 { 1, 0, 0x40, 6, 0x40, 2, 0, 9, 8, 0, 336, 217, 0, 0 },
836 { 1, 0, 0x40, 6, 0x41, 2, 0, 2, 0x10, 0, 328, 232, 0, 0 },
837 { 1, 0x64, 0x40, 6, 2, 0, 0, 0, 0, 0, 79, 186, 0, 0 },
838 { 1, 0, 0x40, 6, 0x42, 2, 0, 2, 6, 0, 136, 185, 0, 0 },
839 { 1, 0, 0x40, 6, 0x43, 2, 0, 2, 0x10, 0, 306, 231, 0, 0 },
840 { 1, 0, 0x40, 6, 0x44, 2, 0, 2, 0xA, 0, 321, 223, 0, 0 },
841 { 1, 0, 0x40, 6, 0x47, 2, 0, 1, 4, 0, 140, 123, 0, 0 },
842 { 1, 0, 0x40, 6, 0x48, 2, 0, 1, 4, 0, 307, 122, 0, 0 },
843 { 1, 0, 0x40, 6, 0x49, 2, 0, 1, 4, 0, 346, 144, 0, 0 },
844 { 1, 0, 0x40, 0xA, 0x4A, 1, 0x4A, 0x4C, 0xA, 0, 273, 297, 0, 0 },
845 { 1, 0, 0x40, 0xA, 0x56, 1, 0x56, 0x58, 0xA, 0, 215, 300, 0, 0 },
846 { 1, 0, 0x40, 0xA, 0x56, 1, 0x56, 0x58, 0xA, 0, 368, 358, 0, 0 },
847 { 1, 0, 0x40, 0xA, 0x59, 1, 0x59, 0x5B, 0xA, 0, 92, 347, 0, 0 },
848 { 1, 0, 0x40, 0xA, 0x59, 1, 0x59, 0x5B, 0xA, 0, 135, 312, 0, 0 },
849 { 1, 0, 0x40, 0xA, 0x59, 1, 0x59, 0x5B, 0xA, 0, 150, 375, 0, 0 },
850 { 1, 0, 0x40, 0xA, 0x59, 1, 0x59, 0x5B, 0xA, 0, 418, 326, 0, 0 },
851 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 143, 287, 340, 0 },
852 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 326, 288, 340, 0 },
853 { 1, 0, 0x40, 4, 4, 0, 0, 0, 0, 0, 398, 240, 263, 0 },
854 { 1, 0, 0x40, 4, 3, 0, 0, 0, 0, 0, 33, 201, 239, 0 },
855 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
856};
858 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x203, 0x2C8, 0x24C, 3, 0x64, 0, 0 },
859 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x200, 0x410, 0x200, 1, 0, 0, 0 },
860 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
861};
864 { 53, script53, EVENT_TEXT(0xD), NULL, NULL },
865 { 54, script54, EVENT_TEXT(0xE), NULL, NULL },
866 { 55, script55, EVENT_TEXT(0xF), NULL, NULL },
867 { 56, script56, EVENT_TEXT(0x10), NULL, NULL },
868 { 1512, NULL, EVENT_TEXT(0x36), startEvent1512, NULL },
869 { 1513, script1513, EVENT_TEXT(0x31), NULL, NULL },
870 { 1514, NULL, EVENT_TEXT(0x37), startEvent1514, NULL },
871 { 1515, script1515, EVENT_TEXT(0x32), NULL, NULL },
872 { 1516, NULL, EVENT_TEXT(0x38), startEvent1516, NULL },
873 { 1517, script1517, EVENT_TEXT(0x33), NULL, NULL },
874 { -1, NULL, 0, NULL, NULL },
875};
#define NULL
Definition common.h:17
signed int s32
Definition common.h:11
signed short s16
Definition common.h:9
unsigned short u16
Definition common.h:10
GameState GAME
The save data, the game mode and the methods.
Definition state.c:64
#define TASK_RUN
Definition task.h:35
#define TASK_KILL
Definition task.h:37
#define TASK_INIT
Tasks: every game object is a task, a heap block that starts with this header and is updated once per...
Definition task.h:34
#define TASK_DONE
Definition task.h:36
Cursor * createCursor(s16 layerId, s32 depth, s16 x, s16 y)
A menu cursor on a layer at (x, y)
Definition cursor.c:92
EventTask * FIELDSTG_startEvent(s32 id)
Starts the event id of FieldState.events: its script, start and end, and its text; the player stands ...
Definition event.c:250
The stage overlays (AAA/PRO/WSTAG###.PRO), loaded at 0x800A4CA4 on top of FIELDSTG.
#define TEXT_ENTRY(file, n)
Definition stage.h:707
#define MENU_SPRITES
The menu sprite sheet, and an entry of a text file: the European version numbers the disc's files dif...
Definition stage.h:702
#define EVENT_TEXT(n)
An entry of the stage's events' text file, for FieldEvent.text.
Definition stage.h:732
#define SCRIPT_WAIT_WALK(id)
until the character gets to its goal
Definition field_map.h:168
#define FIELD_COMMAND_HALT_PARTNERS
The field commands, which an event script hands FIELD_TASK_COMMANDS as the first argument of a pose c...
Definition field_map.h:41
#define SCRIPT_END
The commands of an event script (FieldEvent.script), as FIELDSTG_runEvent reads them: a halfword kind...
Definition field_map.h:156
#define FIELD_LAYER_MAP
the map, its objects and characters, and the menus
Definition field_map.h:20
#define SCRIPT_COMMAND(id, command, arg)
the same word for a script command's id: FIELDSTG_setEventPose creates its task if none runs and hand...
Definition field_map.h:161
#define FIELD_MAP_FLOOR0
Some of FieldMap's maps (files): those of the floors the player walks on come first,...
Definition field_map.h:85
#define SCRIPT_WALK(id, x, y, dir)
Actor.setGoal: walks to (x, y), then faces dir.
Definition field_map.h:162
#define FIELD_COMMAND_ICON1
the player icon's substate 1, with ITEM_GET
Definition field_map.h:42
#define FIELD_COMMAND_ICON2
its substate 2
Definition field_map.h:43
#define SCRIPT_WAIT_BOX
until box 0 closes
Definition field_map.h:167
#define SLOT_EXIT
The kinds of StageSlot (type).
Definition field_map.h:255
#define SCRIPT_POSE(id, set, dir)
Actor.setPose: its animation set, facing dir.
Definition field_map.h:158
#define FIELD_MAP_TRIGGERS
a cell's value: a direction (3 bits) and a StageSlot (5)
Definition field_map.h:88
#define SCRIPT_WAIT(frames)
Definition field_map.h:166
#define FIELD_TASK_COMMANDS
script command 813 (FIELDSTG_startCommandTask): the field commands
Definition field_map.h:33
#define SCRIPT_PLACE(id, x, y)
puts a character at (x, y)
Definition field_map.h:157
#define SCRIPT_TALK(box, entry, id, kind)
box of the event's boxes shows the event text's entry: a talk box at the corner kind next to the char...
Definition field_map.h:165
FieldMap FIELDSTG_map
Definition fieldstg.c:3660
FieldState FIELDSTG_state
Definition fieldstg.c:2641
FileCache FILE_CACHE
The file cache.
Definition file_cache.c:7
#define START_EVENT(index)
action: FIELDSTG_startListedEvent
Definition game_state.h:81
#define CODES_END
Definition game_state.h:83
#define PROGRESS(n)
GAME.progress is n.
Definition game_state.h:69
#define PAD_CROSS
Definition pad.h:31
#define PAD_DOWN
Definition pad.h:24
#define PAD_PRESSED(button)
One button of pad 1: newly pressed, auto-repeated while held, or held.
Definition pad.h:140
#define PAD_UP
Definition pad.h:22
#define PAD_REPEATED(button)
Definition pad.h:141
SoundState SOUND
rsin and rcos (libgte) read rsin_tbl[a - 0x800] and the like: their addresses before the table fall i...
Definition sound.c:180
#define MUSIC_DIGIMON_LAB
ENV_0011: Asuka's Digimon Lab and Login Room.
Definition sound.h:127
#define MUSIC_CITY_CRISIS
BGM_0029: the cities and their streets instead of their music while the story is at a crisis (Knightm...
Definition sound.h:105
#define SOUND_SELECT
Sounds the overlays share, with SOUNDTST's names.
Definition sound.h:38
#define SOUND_CURSOR
SYSTEM02: a cursor moves.
Definition sound.h:40
#define MUSIC_BANK(music)
The sound bank of a music, which a stage loads for it (FieldState.soundBank)
Definition sound.h:148
void initSpriteDrawer(SpriteDrawer *obj)
Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and...
FIELDSTG's start of the stage (StageEntry.init in FIELDSTG_stages): the stage's task,...
void startTween(PanelAnim *tween, s32 up)
Starts the menu stage's tween (stageFuncs.start) with its sound: up, from 0 to ONE over its duration,...
#define SPECIAL_STORY_JUNGLE_SOUND_TO_AMATERASU_BRIDGE
GAME.progress is from STORY_JUNGLE_SOUND to STORY_AMATERASU_BRIDGE (PROGRESS_RANGES[0x12])
Definition story.h:1917
@ STORY_PRESIDENT_ARRESTED
WSTAG226 (Login Room, Amaterasu City), event 935, after the President of MAGAMI gives himself up (WST...
Definition story.h:136
@ STORY_BYAKKO_LEADER_FOUGHT
WSTAG620 (the rebels' hideout), event 534: the Byakko Leader takes the player for the A....
Definition story.h:85
@ STORY_CONTROL_ROOM
WSTAG325 (Control Room, Asuka City), event 560: a Soldier guards the way.
Definition story.h:90
@ STORY_GUNSLINGER
WSTAG810 (Gunslinger 1F), event 1035.
Definition story.h:143
@ STORY_GENJI_BEATEN
WSTAG200, event 52: after the first battle, won against Tamer Genji (event 50), the Digimon Navi give...
Definition story.h:36
@ STORY_KNIGHTMON_REPROGRAMMED
WSTAG210 (Main Lobby, Asuka City), event 685: the A.o.A have reprogrammed Knightmon,...
Definition story.h:97
@ STORY_TEDDY_FOUND
WSTAG212, event 352: Teddy is found; MAGAMI is part of the A.o.A, and the player sets off to beat the...
Definition story.h:67
@ STORY_LOOKING_FOR_TEDDY
WSTAG212, event 273: Kail and the player will put on the Agumon Suits to look for Teddy.
Definition story.h:61
@ STORY_MOVIE_BATTLES
WSTAG820, event 1080, with Snatchmon: each encounter plays MODE_BATTLE_MOVIE first.
Definition story.h:146
@ STORY_ASUKA_HEADQUARTERS
WSTAG310 (A.o.A Headquarters, Asuka City), event 961.
Definition story.h:138
#define SPECIAL_STORY_ASUKA_HEADQUARTERS_TO_OPERATION_SIGMA
GAME.progress is from STORY_ASUKA_HEADQUARTERS to STORY_OPERATION_SIGMA (PROGRESS_RANGES[0x13])
Definition story.h:1920
#define FLAG_DIGIVOLVE_NAVI_TALKED
wstag220 Digimon Lab: the Digivolve Navi explains its desk once; set there, later talks differ
Definition story.h:1019
#define SPECIAL_STORY_GENJI_BEATEN_TO_PRESIDENT_ARRESTED
GAME.progress is from STORY_GENJI_BEATEN to STORY_PRESIDENT_ARRESTED (PROGRESS_RANGES[0x1A])
Definition story.h:1941
#define SPECIAL_STORY_DE_SINCERITY_TO_LISA_SAVED
GAME.progress is from STORY_DE_SINCERITY to STORY_LISA_SAVED (PROGRESS_RANGES[0xF])
Definition story.h:1908
#define FLAG_DIGIMON_NAVI_TALKED
wstag220 Digimon Lab: the Digimon Navi explains its desk once; set there, later talks differ
Definition story.h:1022
#define SPECIAL_STORY_SEIRYU_BADGE_TO_ZANBAMON_DRIVEN_OFF
GAME.progress is from STORY_SEIRYU_BADGE to STORY_ZANBAMON_DRIVEN_OFF (PROGRESS_RANGES[0xE])
Definition story.h:1905
#define SPECIAL_STORY_JUNGLE_SOUND_TO_PRESIDENT_ARRESTED
GAME.progress is from STORY_JUNGLE_SOUND to STORY_PRESIDENT_ARRESTED (PROGRESS_RANGES[0x17])
Definition story.h:1932
#define SPECIAL_STORY_KNIGHTMON_REPROGRAMMED_TO_BULBMON_FOUND
GAME.progress is from STORY_KNIGHTMON_REPROGRAMMED to STORY_BULBMON_FOUND (PROGRESS_RANGES[0x11])
Definition story.h:1914
#define SPECIAL_VEEMON_UNLOCKED
PARTNER_VEEMON is unlocked.
Definition story.h:1701
#define FLAG_KADOMATSU_TALKED
wstag220 Digimon Lab: Dr.
Definition story.h:1013
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
Definition field_map.h:114
The children of a yes/no question at the bottom of the screen: FIELDSTG's ChoiceTask and the stages' ...
Definition field_map.h:483
TextWindow * options[2]
Definition field_map.h:485
Cursor * cursor
Definition field_map.h:486
TextWindow * title
Definition field_map.h:484
struct EventTask * event
the answer's (FIELDSTG_startEvent)
Definition field_map.h:487
void(* setPos)()
(cursor, x, y)
Definition text.h:34
void(* setVisible)()
(cursor, visible)
Definition text.h:33
A character of the field (FieldState.actors, a list of pointers up to NULL), which FIELDSTG_updateFie...
Definition field_map.h:194
An event of the table FieldState.events, up to the first id -1, which FIELDSTG_startEvent starts.
Definition field_map.h:141
void(* setFile)(s32 index, s32 file)
FIELDSTG_setMapFile.
Definition field_map.h:100
void(* setFirstMap)(s32 index)
FIELDSTG_setFirstMap: the map the player starts on (GAME.mapIndex), when the mode is new.
Definition field_map.h:104
s32 sheetEntry
the stage's sprite sheet, loaded before the field starts, or 0
Definition field_map.h:445
FieldEvent * events
up to the first id -1
Definition field_map.h:451
s32 soundBank
SOUND.loadBank's, or 0.
Definition field_map.h:459
StageTile * objects
the map objects, up to the first margin 0
Definition field_map.h:446
s32 imageFile
or an image archive file, or 0
Definition field_map.h:449
Vec2 start
where the player starts
Definition field_map.h:456
StageSlot * slots
up to the first type 0
Definition field_map.h:447
ActorImage * actors
then the actors', from actors[2]
Definition field_map.h:454
s32 mapFile
the file of the map's tiles (FIELDSTG_createMapStreamer)
Definition field_map.h:444
s32 startDir
and its direction
Definition field_map.h:457
CVECTOR spriteColor
the field's sprites' color, unless cd is 0
Definition field_map.h:458
s32 textFile
the stage's text file, for the talks
Definition field_map.h:461
union FieldState::@12 images
s32 music
SOUND.playSound's, or 0.
Definition field_map.h:460
What a character says (FIELDSTG_runActorAction): the first whose conditions hold, or the last,...
Definition field_map.h:176
void *(* getEntry)(u32 fileAndIndex)
Definition file.h:96
s32 level
Definition menu.h:21
s32 duration
Definition menu.h:19
short(* playSound)(s32 id)
returns the voice of a key-on
Definition sound.h:187
Draws sprites from a sprite sheet (such as file 0x277, the menu graphics): a sheet has a table of fra...
Definition gfx.h:223
void(* setPivot)()
(x, y)
Definition gfx.h:250
void(* setScale)()
(x, y, z), ONE = 1.0
Definition gfx.h:248
void(* setLayerId)()
(id, depth)
Definition gfx.h:244
void(* setFollowScroll)()
(on)
Definition gfx.h:251
void(* draw)()
(sheet, frame, x, y)
Definition gfx.h:246
void(* setTexture)()
(x, y)
Definition gfx.h:242
The table of a stage's functions: its setup, then the menu stages' tween (startTween and updateTween)...
Definition stage.h:95
void(* start)(PanelAnim *tween, s32 up)
Definition stage.h:97
s32(* update)(PanelAnim *tween)
whether it has ended
Definition stage.h:98
A yes/no menu at the bottom of the screen, a copy of FIELDSTG's ChoiceTask (FIELDSTG_runChoice) witho...
Definition stage.h:667
s32 step
Definition stage.h:668
void(* nextState)(struct StageMenu *task)
Definition stage.h:668
s32 state
Definition stage.h:668
s32 substate
Definition stage.h:668
PanelAnim tween
Definition stage.h:670
s32 cursor
Definition stage.h:669
What the player can trigger on a map (FIELDSTG_updateTriggers): a record of the table at FieldState....
Definition field_map.h:276
An object of a map, which FIELDSTG draws: a record of the table at FieldState.objects,...
Definition field_map.h:208
void(* setDepth)()
Definition text.h:183
void(* setString)()
Definition text.h:165
void(* setVisible)(struct TextWindow *obj, u8 arg)
Definition text.h:177
Definition gfx.h:352
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find
Definition task.c:105
TextWindow * createTextWindow(s16 layerId, s16 style, s16 x, s16 y)
A text window on a layer, in a font style, at (x, y)
s32 updateTween(PanelAnim *tween)
Steps the tween (stageFuncs.update): whether it has ended.
void updateEvent1512(StageMenu *task, ChoiceChildren *children)
A two-option menu: creates the event object of the chosen option.
Definition wstag220.c:17
u16 actor1Conditions[]
Definition wstag220.c:702
u16 actor26Conditions[]
Definition wstag220.c:735
u16 actor0Talk0Actions[]
Definition wstag220.c:569
FieldActorEntry actor0
Definition wstag220.c:740
FieldActorEntry actor6
Definition wstag220.c:746
u16 actor11Conditions[]
Definition wstag220.c:716
u16 actor0Talk0Conditions[]
Definition wstag220.c:568
void * startEvent1516(void)
Starts event 1516, which asks whether to listen to digivolve information: yes starts event 56,...
Definition wstag220.c:357
FieldTalk actor2Talks[]
Definition wstag220.c:614
u16 actor26Talk0Actions[]
Definition wstag220.c:602
void updateEvent1516(StageMenu *task, ChoiceChildren *children)
A two-option menu: creates the event object of the chosen option.
Definition wstag220.c:247
u16 actor0Talk1Conditions[]
Definition wstag220.c:570
u16 actor2Talk1Conditions[]
Definition wstag220.c:588
u16 actor16Talk1Actions[]
Definition wstag220.c:600
void * startEvent1512(void)
Starts event 1512, which asks whether to listen to partner Digimon information: yes starts event 53,...
Definition wstag220.c:127
u16 actor10Conditions[]
Definition wstag220.c:715
FieldActorEntry actor25
Definition wstag220.c:765
FieldActorEntry actor24
Definition wstag220.c:764
u16 actor18Conditions[]
Definition wstag220.c:727
FieldActorEntry actor17
Definition wstag220.c:757
u16 actor5Talk0Conditions[]
Definition wstag220.c:595
FieldTalk actor14Talks[]
Definition wstag220.c:664
u16 actor24Conditions[]
Definition wstag220.c:733
FieldActorEntry actor18
Definition wstag220.c:758
FieldTalk actor5Talks[]
Definition wstag220.c:628
FieldActorEntry actor5
Definition wstag220.c:745
s16 script56[]
Definition wstag220.c:497
u16 actor1Talk1Conditions[]
Definition wstag220.c:584
u16 actor22Conditions[]
Definition wstag220.c:731
FieldActorEntry actor2
Definition wstag220.c:742
const CVECTOR stageColor
the color the setup copies to FIELDSTG_state.spriteColor
Definition wstag220.c:366
u16 actor3Talk0Conditions[]
Definition wstag220.c:590
FieldActorEntry actor23
Definition wstag220.c:763
FieldActorEntry actor19
Definition wstag220.c:759
u16 actor9Conditions[]
Definition wstag220.c:714
FieldActorEntry * stageActors[]
Definition wstag220.c:771
FieldActorEntry actor28
Definition wstag220.c:768
u16 actor0Talk1Actions[]
Definition wstag220.c:575
u16 actor23Conditions[]
Definition wstag220.c:732
u16 actor29Conditions[]
Definition wstag220.c:738
#define MENU_TEXT
The text file of the menus, which the versions number differently.
Definition wstag220.c:13
u16 actor30Conditions[]
Definition wstag220.c:739
FieldActorEntry actor22
Definition wstag220.c:762
u16 actor16Talk0Actions[]
Definition wstag220.c:598
FieldTalk actor1Talks[]
Definition wstag220.c:609
u16 actor13Conditions[]
Definition wstag220.c:718
FieldActorEntry actor29
Definition wstag220.c:769
u16 actor2Talk1Actions[]
Definition wstag220.c:589
u16 actor1Talk0Conditions[]
Definition wstag220.c:582
FieldTalk actor0Talks[]
Definition wstag220.c:603
#define STAGE_ARCHIVE
Definition wstag220.c:377
FieldActorEntry actor27
Definition wstag220.c:767
FieldActorEntry actor10
Definition wstag220.c:750
u16 actor3Talk1Conditions[]
Definition wstag220.c:592
u16 actor2Talk0Actions[]
Definition wstag220.c:587
u16 actor19Conditions[]
Definition wstag220.c:728
FieldTalk actor4Talks[]
Definition wstag220.c:624
u16 actor4Conditions[]
Definition wstag220.c:709
FieldActorEntry actor4
Definition wstag220.c:744
u16 actor3Conditions[]
Definition wstag220.c:704
FieldTalk actor17Talks[]
Definition wstag220.c:677
FieldTalk actor11Talks[]
Definition wstag220.c:652
FieldActorEntry actor8
Definition wstag220.c:748
s16 script1517[]
Definition wstag220.c:539
ActorImage stageImages[]
Definition wstag220.c:546
void updateEvent1514(StageMenu *task, ChoiceChildren *children)
A two-option menu: creates the event object of the chosen option.
Definition wstag220.c:132
u16 actor1Talk1Actions[]
Definition wstag220.c:585
s16 script1513[]
Definition wstag220.c:525
FieldTalk actor28Talks[]
Definition wstag220.c:693
FieldTalk actor6Talks[]
Definition wstag220.c:632
void setupStage(void)
Sets the stage up: its map, actors and events, playing the ambience ENV_0011; BGM_0029 instead at sto...
Definition wstag220.c:383
FieldTalk actor25Talks[]
Definition wstag220.c:685
u16 actor16Conditions[]
Definition wstag220.c:721
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag220.c:805
s16 script55[]
Definition wstag220.c:472
u16 actor16Talk1Conditions[]
Definition wstag220.c:599
FieldActorEntry actor9
Definition wstag220.c:749
u16 actor8Conditions[]
Definition wstag220.c:713
FieldActorEntry actor20
Definition wstag220.c:760
FieldTalk actor26Talks[]
Definition wstag220.c:689
u16 actor5Conditions[]
Definition wstag220.c:710
FieldTalk actor10Talks[]
Definition wstag220.c:648
FieldTalk actor3Talks[]
Definition wstag220.c:619
u16 actor3Talk1Actions[]
Definition wstag220.c:593
FieldTalk actor9Talks[]
Definition wstag220.c:644
FieldTalk actor15Talks[]
Definition wstag220.c:668
u16 actor5Talk0Actions[]
Definition wstag220.c:596
u16 actor0Talk2Actions[]
Definition wstag220.c:581
s16 script53[]
Definition wstag220.c:414
u16 actor2Talk0Conditions[]
Definition wstag220.c:586
FieldActorEntry actor15
Definition wstag220.c:755
FieldActorEntry actor12
Definition wstag220.c:752
u16 actor27Conditions[]
Definition wstag220.c:736
FieldActorEntry actor16
Definition wstag220.c:756
u16 actor15Conditions[]
Definition wstag220.c:720
u16 actor6Conditions[]
Definition wstag220.c:711
u16 actor0Talk2Conditions[]
Definition wstag220.c:576
u16 actor14Conditions[]
Definition wstag220.c:719
FieldActorEntry actor30
Definition wstag220.c:770
FieldActorEntry actor7
Definition wstag220.c:747
StageSlot stageSlots[]
Definition wstag220.c:857
u16 actor1Talk0Actions[]
Definition wstag220.c:583
FieldActorEntry actor13
Definition wstag220.c:753
FieldTalk actor24Talks[]
Definition wstag220.c:681
s16 script54[]
Definition wstag220.c:448
FieldActorEntry actor11
Definition wstag220.c:751
u16 actor25Conditions[]
Definition wstag220.c:734
u16 actor16Talk0Conditions[]
Definition wstag220.c:597
FieldActorEntry actor1
Definition wstag220.c:741
FieldActorEntry actor21
Definition wstag220.c:761
u16 actor17Talk0Actions[]
Definition wstag220.c:601
FieldTalk actor13Talks[]
Definition wstag220.c:660
#define STAGE_FILE
Definition wstag220.c:376
u16 actor4Talk0Actions[]
Definition wstag220.c:594
u16 actor7Conditions[]
Definition wstag220.c:712
u16 actor2Conditions[]
Definition wstag220.c:703
FieldTalk actor7Talks[]
Definition wstag220.c:636
u16 actor20Conditions[]
Definition wstag220.c:729
#define STAGE_TEXT
Definition wstag220.c:374
u16 actor3Talk0Actions[]
Definition wstag220.c:591
FieldTalk actor8Talks[]
Definition wstag220.c:640
FieldTalk actor12Talks[]
Definition wstag220.c:656
void * startEvent1514(void)
Starts event 1514, which asks whether to listen to digivolve information: yes starts event 55,...
Definition wstag220.c:242
u16 actor21Conditions[]
Definition wstag220.c:730
u16 actor28Conditions[]
Definition wstag220.c:737
s16 script1515[]
Definition wstag220.c:532
FieldTalk actor16Talks[]
Definition wstag220.c:672
u16 actor17Conditions[]
Definition wstag220.c:726
FieldActorEntry actor3
Definition wstag220.c:743
FieldActorEntry actor26
Definition wstag220.c:766
FieldActorEntry actor14
Definition wstag220.c:754
FieldEvent stageEvents[]
Definition wstag220.c:863
u16 actor12Conditions[]
Definition wstag220.c:717
StageFuncs stageFuncs
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag220.c:862
u16 actor0Conditions[]
Definition wstag220.c:697