Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag385.c
Go to the documentation of this file.
1/*
2 * WSTAG385: Duel Island, East Sector.
3 */
4
5#include "common.h"
6#include "field/stage.h"
7const CVECTOR stageColor = { 0x54, 0x67, 0x96, 0x00 };
8
9/* Back from the battle after event 1275, starts event 1276, with Armormon, unless it has played */
10void updateStage(StageTask *task, void **children) {
11 switch (task->state) {
12 case TASK_INIT:
13 default:
14 task->nextState(task);
16 children[0] = FIELDSTG_startEvent(0x4FC);
17 }
18 break;
19 case TASK_RUN:
20 case TASK_DONE:
21 case TASK_KILL:
22 break;
23 }
24}
25
26#define STAGE_CHILDREN_SIZE 4
28
29/* After event 1275, with Armormon: lets event 1276 start and starts the stage's event battle 0 */
34
35/*
36 * After event 1276, with Armormon: gives the player the Monmon DDNA and
37 * keeps it from playing again
38 */
43
44#if VERSION_US || VERSION_JP
45#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_06)
46#define EVENT_TEXT_FILE (TEXT_EVENTS_300 - 1)
47#define STAGE_FILE 0x4E8
48#define STAGE_FILE_8 0x503
49#elif VERSION_EU
50#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_06)
51#define EVENT_TEXT_FILE (TEXT_EVENTS_300 - 1)
52#define STAGE_FILE 0x4F8
53#define STAGE_FILE_8 0x513
54#endif
55/* Sets the stage up: its map, actors, battles and events, playing BGM_0008 */
76
78 SCRIPT_FOLLOW(1, 2),
79 SCRIPT_WALK(2, 0xBB, 0x406, 1),
80 SCRIPT_PLACE(0x64, 0x9B, 0x416),
81 SCRIPT_POSE(0x64, 1, 5),
84 SCRIPT_POSE(2, 1, 1),
85 SCRIPT_WAIT(6),
86 SCRIPT_WAIT(0x1E),
87 SCRIPT_TALK(0, 1, 2, 0),
88 SCRIPT_POSE(2, 7, 1),
90 SCRIPT_POSE(2, 1, 1),
91 SCRIPT_WAIT(0x1E),
92 SCRIPT_TALK(0, 2, 0x64, 3),
94 SCRIPT_WAIT(0x1E),
96};
98 SCRIPT_FOLLOW(1, 2),
99 SCRIPT_PLACE(2, 0xBB, 0x406),
100 SCRIPT_POSE(2, 1, 1),
101 SCRIPT_PLACE(0x64, 0x9B, 0x416),
102 SCRIPT_POSE(0x64, 1, 5),
103 SCRIPT_WAIT(0x78),
104 SCRIPT_TALK(0, 1, 2, 0),
105 SCRIPT_POSE(2, 7, 1),
107 SCRIPT_POSE(2, 1, 1),
108 SCRIPT_WAIT(0x1E),
109 SCRIPT_TALK(0, 2, 0x64, 3),
112 SCRIPT_WAIT(0x1E),
113 SCRIPT_TALK(0, 3, 2, 0),
114 SCRIPT_POSE(2, 7, 1),
116 SCRIPT_POSE(2, 1, 1),
117 SCRIPT_WAIT(0x3C),
119};
121 SCRIPT_WALK(2, 0x1F7, 0x214, 3),
122 SCRIPT_PLACE(0x142, 0x1E0, 0x209),
123 SCRIPT_POSE(0x142, 1, 7),
126 SCRIPT_POSE(2, 1, 3),
127 SCRIPT_WAIT(0x1E),
128 SCRIPT_POSE(0x142, 1, 3),
129 SCRIPT_WAIT(0x1E),
130 SCRIPT_WALK(0x142, 0x1D5, 0x202, 3),
131 SCRIPT_WAIT_WALK(0x142),
132 SCRIPT_POSE(0x142, 1, 3),
133 SCRIPT_WAIT(0x1E),
134 SCRIPT_POSE(0x142, 1, 5),
135 SCRIPT_WAIT(0x1E),
136 SCRIPT_WALK(0x142, 0x1F8, 0x1F0, 5),
137 SCRIPT_WAIT_WALK(0x142),
138 SCRIPT_POSE(0x142, 1, 5),
139 SCRIPT_WAIT(0x1E),
140 SCRIPT_POSE(0x142, 1, 1),
141 SCRIPT_WAIT(0x1E),
142 SCRIPT_TALK(0, 1, 0x142, 0),
144 SCRIPT_WAIT(0x1E),
146};
148 SCRIPT_WALK(2, 0x191, 0x1E1, 1),
149 SCRIPT_PLACE(0x141, 0x177, 0x1ED),
150 SCRIPT_POSE(0x141, 1, 5),
153 SCRIPT_POSE(2, 1, 1),
154 SCRIPT_WAIT(0x1E),
155 SCRIPT_POSE(0x141, 1, 1),
156 SCRIPT_WAIT(0x1E),
157 SCRIPT_WALK(0x141, 0x165, 0x1F5, 1),
158 SCRIPT_WAIT_WALK(0x141),
159 SCRIPT_POSE(0x141, 1, 1),
160 SCRIPT_WAIT(0x1E),
161 SCRIPT_POSE(0x141, 1, 3),
162 SCRIPT_WAIT(0x1E),
163 SCRIPT_WALK(0x141, 0x141, 0x1E5, 3),
164 SCRIPT_WAIT_WALK(0x141),
165 SCRIPT_POSE(0x141, 1, 3),
166 SCRIPT_POSE(0x141, 1, 3),
167 SCRIPT_WAIT(0x1E),
168 SCRIPT_POSE(0x141, 1, 7),
169 SCRIPT_WAIT(0x1E),
170 SCRIPT_TALK(0, 1, 0x141, 3),
172 SCRIPT_WAIT(0x1E),
174};
176 SCRIPT_WALK(2, 0x128, 0x1FC, 3),
177 SCRIPT_PLACE(0x140, 0x110, 0x1F1),
178 SCRIPT_POSE(0x140, 1, 7),
181 SCRIPT_POSE(2, 1, 3),
182 SCRIPT_WAIT(0x1E),
183 SCRIPT_POSE(0x140, 1, 3),
184 SCRIPT_WAIT(0x1E),
185 SCRIPT_WALK(0x140, 0xCC, 0x1CE, 3),
186 SCRIPT_WAIT_WALK(0x140),
187 SCRIPT_POSE(0x140, 1, 3),
188 SCRIPT_WAIT(0x1E),
189 SCRIPT_POSE(0x140, 1, 7),
190 SCRIPT_WAIT(0x1E),
191 SCRIPT_TALK(0, 1, 0x140, 3),
193 SCRIPT_WAIT(0x1E),
195};
197 SCRIPT_WALK(2, 0x140, 0x180, 3),
198 SCRIPT_PLACE(0x128, 0x129, 0x175),
199 SCRIPT_POSE(0x128, 1, 7),
202 SCRIPT_POSE(2, 1, 3),
203 SCRIPT_WAIT(0x1E),
204 SCRIPT_POSE(0x128, 1, 5),
205 SCRIPT_WAIT(0x1E),
206 SCRIPT_WALK(0x128, 0x155, 0x15D, 5),
207 SCRIPT_WAIT_WALK(0x128),
208 SCRIPT_POSE(0x128, 1, 5),
209 SCRIPT_WAIT(0x1E),
210 SCRIPT_POSE(0x128, 1, 1),
211 SCRIPT_WAIT(0x1E),
212 SCRIPT_TALK(0, 1, 0x128, 3),
214 SCRIPT_WAIT(0x1E),
216};
218 SCRIPT_WALK(2, 0xF0, 0x118, 3),
219 SCRIPT_PLACE(0x127, 0xD8, 0x10D),
220 SCRIPT_POSE(0x127, 1, 7),
223 SCRIPT_POSE(2, 1, 3),
224 SCRIPT_WAIT(0x1E),
225 SCRIPT_POSE(0x127, 1, 5),
226 SCRIPT_WAIT(0x1E),
227 SCRIPT_WALK(0x127, 0x104, 0xF7, 5),
228 SCRIPT_WAIT_WALK(0x127),
229 SCRIPT_POSE(0x127, 1, 5),
230 SCRIPT_WAIT(0x1E),
231 SCRIPT_POSE(0x127, 1, 1),
232 SCRIPT_WAIT(0x1E),
233 SCRIPT_TALK(0, 1, 0x127, 0),
235 SCRIPT_WAIT(0x1E),
237};
239 SCRIPT_WALK(2, 0xB7, 0xBD, 3),
240 SCRIPT_PLACE(0x63, 0x9F, 0xB1),
241 SCRIPT_POSE(0x63, 1, 7),
244 SCRIPT_WAIT(0x1E),
245 SCRIPT_TALK(0, 1, 0x63, 2),
248 SCRIPT_WAIT(0x1E),
249 SCRIPT_TALK(0, 2, 2, 1),
250 SCRIPT_POSE(2, 7, 3),
252 SCRIPT_POSE(2, 1, 3),
253 SCRIPT_WAIT(0x1E),
254 SCRIPT_TALK(0, 3, 0x63, 2),
256 SCRIPT_WAIT(0x1E),
257 SCRIPT_TALK(0, 4, 2, 1),
258 SCRIPT_POSE(2, 7, 3),
260 SCRIPT_POSE(2, 1, 3),
261 SCRIPT_WAIT(0x1E),
262 SCRIPT_TALK(0, 5, 0x63, 2),
264 SCRIPT_WAIT(0x1E),
265 SCRIPT_TALK(0, 6, 2, 1),
266 SCRIPT_POSE(2, 7, 3),
268 SCRIPT_POSE(2, 1, 3),
269 SCRIPT_WAIT(0x1E),
270 SCRIPT_WALK(2, 0xBF, 0xC1, 7),
272 SCRIPT_LEAVE(0x228, 0x250, 0x278, 7),
274};
275AreaBattle area0Battle0 = { 0, 0, MUSIC(1, 0) };
276AreaBattle area0Battle1 = { 0, 0, MUSIC(1, 0) };
277AreaBattle area0Battle2 = { 0, 0, MUSIC(1, 0) };
278AreaBattle area0Battle3 = { 0, 0, MUSIC(1, 0) };
279AreaBattle area0Battle4 = { 0, 0, MUSIC(1, 0) };
280AreaBattle area0Battle5 = { 0, 0, MUSIC(1, 0) };
281AreaBattle area0Battle6 = { 0, 0, MUSIC(1, 0) };
282AreaBattle area0Battle7 = { 0, 0, MUSIC(1, 0) };
288AreaBattle area1Battle0 = { 0, 0, MUSIC(1, 0) };
289AreaBattle area1Battle1 = { 0, 0, MUSIC(1, 0) };
290AreaBattle area1Battle2 = { 0, 0, MUSIC(1, 0) };
291AreaBattle area1Battle3 = { 0, 0, MUSIC(1, 0) };
292AreaBattle area1Battle4 = { 0, 0, MUSIC(1, 0) };
293AreaBattle area1Battle5 = { 0, 0, MUSIC(1, 0) };
294AreaBattle area1Battle6 = { 0, 0, MUSIC(1, 0) };
295AreaBattle area1Battle7 = { 0, 0, MUSIC(1, 0) };
301AreaBattle area2Battle0 = { 0, 0, MUSIC(1, 0) };
302AreaBattle area2Battle1 = { 0, 0, MUSIC(1, 0) };
303AreaBattle area2Battle2 = { 0, 0, MUSIC(1, 0) };
304AreaBattle area2Battle3 = { 0, 0, MUSIC(1, 0) };
305AreaBattle area2Battle4 = { 0, 0, MUSIC(1, 0) };
306AreaBattle area2Battle5 = { 0, 0, MUSIC(1, 0) };
307AreaBattle area2Battle6 = { 0, 0, MUSIC(1, 0) };
308AreaBattle area2Battle7 = { 0, 0, MUSIC(1, 0) };
315AreaBattle area3Battle1 = { 0, 0, MUSIC(1, 0) };
316AreaBattle area3Battle2 = { 0, 0, MUSIC(1, 0) };
317AreaBattle area3Battle3 = { 0, 0, MUSIC(1, 0) };
318AreaBattle area3Battle4 = { 0, 0, MUSIC(1, 0) };
319AreaBattle area3Battle5 = { 0, 0, MUSIC(1, 0) };
320AreaBattle area3Battle6 = { 0, 0, MUSIC(1, 0) };
321AreaBattle area3Battle7 = { 0, 0, MUSIC(1, 0) };
331 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
332 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
333 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
334 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
335 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
336 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
337 { 0x180, 0x100, 0x1AC, 0x100, 0x1B0, 0, 0x170, 0x1F8 },
338 { 0x180, 0x100, 0x1AC, 0x130, 0x1B0, 0x30, 0x140, 0x1F7 },
339 { 0x180, 0x100, 0x1AC, 0x160, 0x1B0, 0x60, 0x150, 0x1F7 },
340 { 0x180, 0x100, 0x180, 0x178, 0x100, 0x78, 0x170, 0x1F7 },
341 { 0x180, 0x100, 0x18A, 0x178, 0x128, 0x78, 0x140, 0x1F6 },
342 { 0x180, 0x100, 0x194, 0x178, 0x150, 0x78, 0x150, 0x1F6 },
343 { 0x180, 0x100, 0x19E, 0x178, 0x178, 0x78, 0x170, 0x1F6 },
344 { 0x140, 0x100, 0x16A, 0x1C5, 0xA8, 0xC5, 0x140, 0x1F5 },
345 { 0x180, 0x100, 0x1B6, 0x100, 0x1D8, 0, 0x150, 0x1F5 },
346 { 0x180, 0x100, 0x1B2, 0x1C0, 0x1C8, 0xC0, 0x170, 0x1F5 },
347 { 0x140, 0x100, 0x172, 0x1B3, 0xC8, 0xB3, 0x140, 0x1F4 },
348 { 0x180, 0x100, 0x1A8, 0x190, 0x1A0, 0x90, 0x150, 0x1F4 },
349 { 0x180, 0x100, 0x1B2, 0x190, 0x1C8, 0x90, 0x170, 0x1F4 },
350 { 0x180, 0x100, 0x180, 0x1A8, 0x100, 0xA8, 0x140, 0x1F3 },
351 { 0x180, 0x100, 0x18A, 0x1A8, 0x128, 0xA8, 0x150, 0x1F3 },
352 { 0x180, 0x100, 0x194, 0x1A8, 0x150, 0xA8, 0x160, 0x1F3 },
353 { 0x180, 0x100, 0x19E, 0x1A8, 0x178, 0xA8, 0x170, 0x1F3 },
354 { 0x180, 0x100, 0x1A8, 0x1C0, 0x1A0, 0xC0, 0x140, 0x1F2 },
355};
413 ITEM(0, 0x12), 1,
415 FLAG(0x1A, 0x3B), 0,
416 FLAG(0x1A, 0x3A), 0,
417 FLAG(0x1A, 0x39), 0,
418 FLAG(0x1A, 0x38), 0,
419 FLAG(0x1A, 0x37), 0,
420 START_EVENT(0x6B), 1,
421 CODES_END,
422};
430 FLAG(0x1A, 0x3B), 0,
433 CODES_END,
434};
439 FLAG(0x1A, 0x3B), 0,
440 CODES_END,
441};
445 START_EVENT(0x54), 1,
446 FLAG(0x1A, 0x3B), 1,
447 CODES_END,
448};
455 FLAG(0x1A, 0x3B), 0,
456 CODES_END,
457};
462 FLAG(0x1A, 0x3B), 0,
463 CODES_END,
464};
468 START_EVENT(0x54), 1,
469 FLAG(0x1A, 0x3B), 1,
470 CODES_END,
471};
478 FLAG(0x1A, 0x3A), 0,
479 CODES_END,
480};
485 FLAG(0x1A, 0x3A), 0,
486 CODES_END,
487};
491 START_EVENT(0x53), 1,
492 FLAG(0x1A, 0x3A), 1,
493 CODES_END,
494};
501 FLAG(0x1A, 0x3A), 0,
502 CODES_END,
503};
508 FLAG(0x1A, 0x3A), 0,
509 CODES_END,
510};
514 START_EVENT(0x53), 1,
515 FLAG(0x1A, 0x3A), 1,
516 CODES_END,
517};
524 FLAG(0x1A, 0x39), 0,
525 CODES_END,
526};
530 FLAG(0x1A, 0x39), 0,
532 CODES_END,
533};
537 START_EVENT(0x52), 1,
538 FLAG(0x1A, 0x39), 1,
539 CODES_END,
540};
547 FLAG(0x1A, 0x39), 0,
548 CODES_END,
549};
554 FLAG(0x1A, 0x39), 0,
555 CODES_END,
556};
560 START_EVENT(0x52), 1,
561 FLAG(0x1A, 0x39), 1,
562 CODES_END,
563};
570 FLAG(0x1A, 0x38), 0,
571 CODES_END,
572};
576 FLAG(0x1A, 0x38), 0,
578 CODES_END,
579};
582 START_EVENT(0x51), 1,
583 FLAG(0x1A, 0x38), 1,
585 CODES_END,
586};
593 FLAG(0x1A, 0x38), 0,
594 CODES_END,
595};
600 FLAG(0x1A, 0x38), 0,
601 CODES_END,
602};
606 START_EVENT(0x51), 1,
607 FLAG(0x1A, 0x38), 1,
608 CODES_END,
609};
616 FLAG(0x1A, 0x37), 0,
617 CODES_END,
618};
623 FLAG(0x1A, 0x37), 0,
624 CODES_END,
625};
629 START_EVENT(0x50), 1,
630 FLAG(0x1A, 0x37), 1,
631 CODES_END,
632};
639 FLAG(0x1A, 0x37), 0,
640 CODES_END,
641};
646 FLAG(0x1A, 0x37), 0,
647 CODES_END,
648};
652 START_EVENT(0x50), 1,
653 FLAG(0x1A, 0x37), 1,
654 CODES_END,
655};
657 { NULL, NULL, 0x316 },
658 { NULL, NULL, 0 },
659};
661 { NULL, NULL, 0x316 },
662 { NULL, NULL, 0 },
663};
665 { NULL, NULL, 0x316 },
666 { NULL, NULL, 0 },
667};
669 { NULL, NULL, 0x316 },
670 { NULL, NULL, 0 },
671};
673 { NULL, NULL, 0x316 },
674 { NULL, NULL, 0 },
675};
677 { NULL, NULL, 0x238 },
678 { NULL, NULL, 0 },
679};
681 { NULL, NULL, 0x1DD },
682 { NULL, NULL, 0 },
683};
685 { NULL, NULL, 0x231 },
686 { NULL, NULL, 0 },
687};
704 { actor11Talk1Conditions, NULL, 0x2C8 },
705 { NULL, NULL, 0 },
706};
778 { NULL, NULL, 0x33C },
779 { NULL, NULL, 0 },
780};
782 { NULL, NULL, 0x33C },
783 { NULL, NULL, 0 },
784};
786u16 actor1Conditions[] = { FLAG(0x1A, 0x3B), 1, CODES_END };
787u16 actor2Conditions[] = { FLAG(0x1A, 0x3A), 1, CODES_END };
788u16 actor3Conditions[] = { FLAG(0x1A, 0x39), 1, CODES_END };
789u16 actor4Conditions[] = { FLAG(0x1A, 0x38), 1, CODES_END };
790u16 actor5Conditions[] = { FLAG(0x1A, 0x37), 1, CODES_END };
794u16 actor9Conditions[] = { ITEM(0, 0x12), 1, CODES_END };
795u16 actor10Conditions[] = { ITEM(0, 0x12), 0, CODES_END };
797u16 actor12Conditions[] = { FLAG(0x1A, 0x3B), 0, ITEM(0, 0x12), 0, CODES_END };
798u16 actor13Conditions[] = { FLAG(0x1A, 0x3B), 0, ITEM(0, 0x12), 1, CODES_END };
799u16 actor14Conditions[] = { FLAG(0x1A, 0x3A), 0, ITEM(0, 0x12), 0, CODES_END };
800u16 actor15Conditions[] = { FLAG(0x1A, 0x3A), 0, ITEM(0, 0x12), 1, CODES_END };
801u16 actor16Conditions[] = { FLAG(0x1A, 0x39), 0, ITEM(0, 0x12), 0, CODES_END };
802u16 actor17Conditions[] = { FLAG(0x1A, 0x39), 0, ITEM(0, 0x12), 1, CODES_END };
803u16 actor18Conditions[] = { FLAG(0x1A, 0x38), 0, ITEM(0, 0x12), 0, CODES_END };
804u16 actor19Conditions[] = { FLAG(0x1A, 0x38), 0, ITEM(0, 0x12), 1, CODES_END };
805u16 actor20Conditions[] = { FLAG(0x1A, 0x37), 0, ITEM(0, 0x12), 0, CODES_END };
806u16 actor21Conditions[] = { FLAG(0x1A, 0x37), 0, ITEM(0, 0x12), 1, CODES_END };
807u16 actor22Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
808u16 actor23Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
809FieldActorEntry actor0 = { actor0Conditions, NULL, 0x4B, 4, 588, 1083, 1 };
815FieldActorEntry actor6 = { actor6Conditions, actor6Talks, 0x60, 0xA, 993, 913, 1 };
816FieldActorEntry actor7 = { actor7Conditions, actor7Talks, 0x61, 0xB, 769, 209, 1 };
817FieldActorEntry actor8 = { actor8Conditions, actor8Talks, 0x62, 0xC, 929, 417, 1 };
818FieldActorEntry actor9 = { actor9Conditions, actor9Talks, 0x63, 0xD, 159, 177, 7 };
823FieldActorEntry actor14 = { actor14Conditions, actor14Talks, 0x128, 0x10, 297, 373, 7 };
824FieldActorEntry actor15 = { actor15Conditions, actor15Talks, 0x128, 0x10, 297, 373, 7 };
825FieldActorEntry actor16 = { actor16Conditions, actor16Talks, 0x140, 0x11, 272, 497, 7 };
826FieldActorEntry actor17 = { actor17Conditions, actor17Talks, 0x140, 0x11, 272, 497, 7 };
827FieldActorEntry actor18 = { actor18Conditions, actor18Talks, 0x141, 0x12, 375, 493, 7 };
828FieldActorEntry actor19 = { actor19Conditions, actor19Talks, 0x141, 0x12, 375, 493, 7 };
829FieldActorEntry actor20 = { actor20Conditions, actor20Talks, 0x142, 0x13, 480, 521, 7 };
830FieldActorEntry actor21 = { actor21Conditions, actor21Talks, 0x142, 0x13, 480, 521, 7 };
831FieldActorEntry actor22 = { actor22Conditions, actor22Talks, 0x169, 0x14, 501, 549, 7 };
832FieldActorEntry actor23 = { actor23Conditions, actor23Talks, 0x16A, 0x15, 522, 538, 7 };
834 &actor0,
835 &actor1,
836 &actor2,
837 &actor3,
838 &actor4,
839 &actor5,
840 &actor6,
841 &actor7,
842 &actor8,
843 &actor9,
844 &actor10,
845 &actor11,
846 &actor12,
847 &actor13,
848 &actor14,
849 &actor15,
850 &actor16,
851 &actor17,
852 &actor18,
853 &actor19,
854 &actor20,
855 &actor21,
856 &actor22,
857 &actor23,
858 NULL,
859};
861 { 1, 0, 0x40, 2, 0x47, 2, 0, 5, 8, 0, 85, 81, 0, 0 },
862 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 83, 117, 0, 0 },
863 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 83, 135, 0, 0 },
864 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 91, 113, 0, 0 },
865 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 91, 131, 0, 0 },
866 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 99, 109, 0, 0 },
867 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 99, 127, 0, 0 },
868 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 107, 105, 0, 0 },
869 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 107, 123, 0, 0 },
870 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 115, 101, 0, 0 },
871 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 115, 119, 0, 0 },
872 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 123, 97, 0, 0 },
873 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 123, 115, 0, 0 },
874 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 131, 93, 0, 0 },
875 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 131, 111, 0, 0 },
876 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 139, 89, 0, 0 },
877 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 139, 107, 0, 0 },
878 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 147, 85, 0, 0 },
879 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 147, 103, 0, 0 },
880 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 155, 81, 0, 0 },
881 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 155, 99, 0, 0 },
882 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 163, 77, 0, 0 },
883 { 1, 0, 0x40, 2, 0x48, 2, 0, 5, 8, 0, 163, 95, 0, 0 },
884 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 87, 115, 0, 0 },
885 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 87, 133, 0, 0 },
886 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 95, 111, 0, 0 },
887 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 95, 129, 0, 0 },
888 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 103, 107, 0, 0 },
889 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 103, 125, 0, 0 },
890 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 111, 103, 0, 0 },
891 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 111, 121, 0, 0 },
892 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 119, 99, 0, 0 },
893 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 119, 117, 0, 0 },
894 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 127, 95, 0, 0 },
895 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 127, 113, 0, 0 },
896 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 135, 91, 0, 0 },
897 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 135, 109, 0, 0 },
898 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 143, 87, 0, 0 },
899 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 143, 105, 0, 0 },
900 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 151, 83, 0, 0 },
901 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 151, 101, 0, 0 },
902 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 159, 79, 0, 0 },
903 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 159, 97, 0, 0 },
904 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 167, 75, 0, 0 },
905 { 1, 0, 0x40, 2, 0x49, 2, 0, 5, 8, 0, 167, 93, 0, 0 },
906 { 1, 0, 0x40, 2, 0x4A, 2, 0, 7, 4, 0, 103, 201, 0, 0 },
907 { 1, 0, 0x40, 2, 0x4B, 2, 0, 7, 4, 0, 105, 205, 0, 0 },
908 { 1, 0, 0x80, 2, 1, 0, 0, 0, 0, 0, 768, 128, 0, 0 },
909 { 1, 0, 0x45, 2, 2, 0, 0, 0, 0, 0, 880, 156, 0, 0 },
910 { 1, 0, 0x78, 2, 3, 0, 0, 0, 0, 0, 896, 256, 0, 0 },
911 { 1, 0, 0x55, 2, 4, 0, 0, 0, 0, 0, 984, 299, 0, 0 },
912 { 1, 0, 0x33, 2, 5, 0, 0, 0, 0, 0, 278, 813, 0, 0 },
913 { 1, 0, 0x1E, 2, 6, 0, 0, 0, 0, 0, 323, 829, 0, 0 },
914 { 1, 0, 0x40, 6, 0x4A, 2, 0, 7, 4, 0, 220, 180, 0, 0 },
915 { 1, 0, 0x40, 6, 0x4A, 2, 0, 7, 4, 0, 232, 138, 0, 0 },
916 { 1, 0, 0x40, 6, 0x4A, 2, 0, 7, 4, 0, 297, 268, 0, 0 },
917 { 1, 0, 0x40, 6, 0x4A, 2, 0, 7, 4, 0, 300, 284, 0, 0 },
918 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 168, 143, 0, 0 },
919 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 220, 184, 0, 0 },
920 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 234, 143, 0, 0 },
921 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 235, 299, 0, 0 },
922 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 280, 241, 0, 0 },
923 { 1, 0, 0x40, 6, 0x4B, 2, 0, 7, 4, 0, 300, 270, 0, 0 },
924 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 203, 909, 0, 0 },
925 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 236, 1022, 0, 0 },
926 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 237, 973, 0, 0 },
927 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 238, 733, 0, 0 },
928 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 273, 861, 0, 0 },
929 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 309, 635, 0, 0 },
930 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 320, 858, 0, 0 },
931 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 396, 960, 0, 0 },
932 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 575, 884, 0, 0 },
933 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 630, 1071, 0, 0 },
934 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 769, 568, 0, 0 },
935 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x34, 0xA, 0, 1138, 909, 0, 0 },
936 { 1, 0, 0x40, 6, 0x35, 1, 0x35, 0x37, 0xA, 0, 281, 1085, 0, 0 },
937 { 1, 0, 0x40, 6, 0x35, 1, 0x35, 0x37, 0xA, 0, 320, 983, 0, 0 },
938 { 1, 0, 0x40, 6, 0x35, 1, 0x35, 0x37, 0xA, 0, 359, 980, 0, 0 },
939 { 1, 0, 0x40, 6, 0x35, 1, 0x35, 0x37, 0xA, 0, 503, 793, 0, 0 },
940 { 1, 0, 0x40, 6, 0x35, 1, 0x35, 0x37, 0xA, 0, 657, 718, 0, 0 },
941 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 95, 790, 0, 0 },
942 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 117, 1016, 0, 0 },
943 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 145, 858, 0, 0 },
944 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 178, 1068, 0, 0 },
945 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 185, 1000, 0, 0 },
946 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 212, 747, 0, 0 },
947 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 288, 998, 0, 0 },
948 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 302, 1076, 0, 0 },
949 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 391, 819, 0, 0 },
950 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 541, 902, 0, 0 },
951 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 773, 705, 0, 0 },
952 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 800, 486, 0, 0 },
953 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 850, 469, 0, 0 },
954 { 1, 0, 0x40, 6, 0x38, 1, 0x38, 0x3A, 0xA, 0, 967, 574, 0, 0 },
955 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 101, 951, 0, 0 },
956 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 275, 890, 0, 0 },
957 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 461, 890, 0, 0 },
958 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 509, 339, 0, 0 },
959 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 534, 794, 0, 0 },
960 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 600, 441, 0, 0 },
961 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 683, 709, 0, 0 },
962 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 715, 508, 0, 0 },
963 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 874, 539, 0, 0 },
964 { 1, 0, 0x40, 6, 0x3B, 1, 0x3B, 0x3D, 0xA, 0, 917, 557, 0, 0 },
965 { 1, 0, 0x40, 6, 0x3E, 1, 0x3E, 0x40, 0xA, 0, 131, 1058, 0, 0 },
966 { 1, 0, 0x40, 6, 0x3E, 1, 0x3E, 0x40, 0xA, 0, 273, 953, 0, 0 },
967 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 19, 963, 0, 0 },
968 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 106, 1043, 0, 0 },
969 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 122, 952, 0, 0 },
970 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 249, 923, 0, 0 },
971 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 367, 919, 0, 0 },
972 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 545, 804, 0, 0 },
973 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 582, 430, 0, 0 },
974 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 742, 512, 0, 0 },
975 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 931, 568, 0, 0 },
976 { 1, 0, 0x40, 6, 0x41, 1, 0x41, 0x43, 0xA, 0, 1086, 533, 0, 0 },
977 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 56, 960, 0, 0 },
978 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 117, 787, 0, 0 },
979 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 158, 846, 0, 0 },
980 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 171, 949, 0, 0 },
981 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 216, 834, 0, 0 },
982 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 221, 1050, 0, 0 },
983 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 227, 1041, 0, 0 },
984 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 235, 750, 0, 0 },
985 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 280, 713, 0, 0 },
986 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 286, 1071, 0, 0 },
987 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 287, 1094, 0, 0 },
988 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 305, 665, 0, 0 },
989 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 332, 909, 0, 0 },
990 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 333, 845, 0, 0 },
991 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 363, 326, 0, 0 },
992 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 378, 309, 0, 0 },
993 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 380, 320, 0, 0 },
994 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 390, 431, 0, 0 },
995 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 391, 981, 0, 0 },
996 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 398, 440, 0, 0 },
997 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 412, 434, 0, 0 },
998 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 430, 770, 0, 0 },
999 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 470, 562, 0, 0 },
1000 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 474, 567, 0, 0 },
1001 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 499, 344, 0, 0 },
1002 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 515, 599, 0, 0 },
1003 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 517, 802, 0, 0 },
1004 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 526, 345, 0, 0 },
1005 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 534, 910, 0, 0 },
1006 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 546, 377, 0, 0 },
1007 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 591, 852, 0, 0 },
1008 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 616, 1076, 0, 0 },
1009 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 622, 1085, 0, 0 },
1010 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 633, 1077, 0, 0 },
1011 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 694, 498, 0, 0 },
1012 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 706, 727, 0, 0 },
1013 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 775, 559, 0, 0 },
1014 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 785, 551, 0, 0 },
1015 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 793, 661, 0, 0 },
1016 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 797, 555, 0, 0 },
1017 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 798, 492, 0, 0 },
1018 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 838, 485, 0, 0 },
1019 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 916, 780, 0, 0 },
1020 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 922, 772, 0, 0 },
1021 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 929, 778, 0, 0 },
1022 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1026, 1107, 0, 0 },
1023 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1032, 1114, 0, 0 },
1024 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1039, 1107, 0, 0 },
1025 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1047, 546, 0, 0 },
1026 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1066, 898, 0, 0 },
1027 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1149, 890, 0, 0 },
1028 { 1, 0, 0x40, 6, 0x44, 1, 0x44, 0x46, 0xA, 0, 1161, 892, 0, 0 },
1029 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 477, 577, 626, 0 },
1030 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
1031};
1033 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0xC0, 0xC2, 0, 0, 0, 0 },
1034 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0xCF, 0x106, 0, 0, 0, 0 },
1035 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x110, 0x12B, 0, 0, 0, 0 },
1036 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0x11F, 0x16E, 0, 0, 0, 0 },
1037 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x100, 0x192, 0, 0, 0, 0 },
1038 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0xF1, 0x1D6, 0, 0, 0, 0 },
1039 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x330, 0xEA, 0, 0, 0, 0 },
1040 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0x33F, 0x12E, 0, 0, 0, 0 },
1041 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x2DE, 0x141, 0, 0, 0, 0 },
1042 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0x2CE, 0x186, 0, 0, 0, 0 },
1043 { { { SPECIAL_STORY_SINCE_DE_SINCERITY, 1 }, { CODES_END, 0 } }, SLOT_WARP0, 0x2E0, 0x240, 0xD8, 1, 0, 8, 1 },
1044 { { { SPECIAL_STORY_SINCE_DE_SINCERITY, 1 }, { CODES_END, 0 } }, SLOT_WARP0, 0x2E0, 0x240, 0xD8, 1, 0, 8, 1 },
1045 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
1046};
1047void (*stageFuncs[])(void) = {
1048 setupStage,
1049};
1051 { 1275, script1275, EVENT_TEXT(0x1E), NULL, endEvent1275 },
1052 { 1276, script1276, EVENT_TEXT(0x1F), NULL, endEvent1276 },
1053 { 1421, script1421, EVENT_TEXT(0x27), NULL, NULL },
1054 { 1423, script1423, EVENT_TEXT(0x28), NULL, NULL },
1055 { 1425, script1425, EVENT_TEXT(0x29), NULL, NULL },
1056 { 1427, script1427, EVENT_TEXT(0x2A), NULL, NULL },
1057 { 1429, script1429, EVENT_TEXT(0x2B), NULL, NULL },
1058 { 1431, script1431, EVENT_TEXT(0x31), NULL, NULL },
1059 { -1, NULL, 0, NULL, NULL },
1060};
#define NULL
Definition common.h:17
signed short s16
Definition common.h:9
unsigned short u16
Definition common.h:10
GameFlags FLAGS_00
The flag bitset FLAGS_00 and the event functions.
Definition events.c:701
#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
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 EVENT_TEXT(n)
An entry of the stage's events' text file, for FieldEvent.text.
Definition stage.h:732
void updateStage()
The names every stage defines, each its own (config/<version>/stages/<stage>.txt).
#define SLOT_CLIMB_UP
Definition field_map.h:256
#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 SCRIPT_LEAVE(mode, x, y, dir)
FIELDSTG_leaveField; ends the event.
Definition field_map.h:170
#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 SCRIPT_FOLLOW(snap, id)
FIELDSTG_followWithCamera.
Definition field_map.h:171
#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 FIELD_COMMAND_ICON3
its substate 3, with ITEM_GET
Definition field_map.h:44
#define SLOT_CLIMB_DOWN
Definition field_map.h:257
#define SCRIPT_WALK(id, x, y, dir)
Actor.setGoal: walks to (x, y), then faces dir.
Definition field_map.h:162
#define SCRIPT_WAIT_BOX
until box 0 closes
Definition field_map.h:167
#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 SLOT_WARP0
the same with effect and cutscene 0
Definition field_map.h:264
#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
#define START_EVENT(index)
action: FIELDSTG_startListedEvent
Definition game_state.h:81
#define EVENT_BATTLE(id)
action: FIELDSTG_battleFuncs.startEventBattle
Definition game_state.h:72
#define CODES_END
Definition game_state.h:83
#define ITEM(kind, id)
an item, in the bag or equipped; kind (bits 9-11) isn't read, and the scripts set it after the item's...
Definition game_state.h:80
#define FLAG(group, id)
The codes of the (code, value) pairs that FLAGS_00 checks as conditions and applies as actions (event...
Definition game_state.h:68
#define CARD_BATTLE(opponent, kind)
action: startCardBattle
Definition game_state.h:73
#define MUSIC_DUEL_ISLAND
BGM_0008: Duel Island.
Definition sound.h:84
#define MUSIC_BOSS
BOSS_000: the sectors' boss battles.
Definition sound.h:108
#define MUSIC(bank, n)
A field's or a battle's music (FieldState.music, Battle.music): track (SEP) n of the first sequence o...
Definition sound.h:70
#define MUSIC_BANK(music)
The sound bank of a music, which a stage loads for it (FieldState.soundBank)
Definition sound.h:148
FIELDSTG's start of the stage (StageEntry.init in FIELDSTG_stages): the stage's task,...
#define FLAG_BK_WARGREYMON_CHALLENGE_SEEN
wstag385 event 1276: the player accepts BK WarGreymon's battle; set at its end, tested 0 to start it
Definition story.h:1390
#define FLAG_MONMON_DDNA_REQUESTED
wstag635: DRI Yang asks for Monmon DDNA from Armormon; tested at Armormon in wstag385 with the DDNA n...
Definition story.h:603
#define FLAG_KING_DIVERMON_BEATEN
wstag385 Duel Island: KingDivermon loses ("I lost... I must train more..."), gives item 0x12 and rese...
Definition story.h:1278
#define FLAG_ARMORMON_DDNA_FOUGHT
wstag385 Duel Island: set when talking to Armormon starts his Monmon DDNA challenge event; later "I l...
Definition story.h:1176
#define FLAG_CARD_BATTLE_WON
set by updateModeFlags on the way back from a card battle: 1 if the player won it (FLAGS_00....
Definition story.h:166
#define FLAG_KING_DIVERMON_REMATCH_BEATEN
wstag385 Duel Island: after the trophy, KingDivermon's "ultimate folder" rematch is won ("You defeate...
Definition story.h:1284
#define FLAG_CARD_BATTLE_ENDED
set by updateModeFlags on the way back from a card battle; the talks that follow one test it and clea...
Definition story.h:169
#define FLAG_ARMORMON_WIN_SEEN
wstag385 event 1275: Armormon loses and gives the Monmon DDNA; set at its end, tested 1 to start even...
Definition story.h:1387
#define SPECIAL_STORY_SINCE_DE_SINCERITY
GAME.progress is STORY_DE_SINCERITY or later (PROGRESS_RANGES[0xC], to 0x63)
Definition story.h:1899
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
Definition field_map.h:114
A battle of an area's BattleList, which can start on the field (see FIELDSTG_startEncounter); FIGHTST...
Definition field_map.h:402
The battles of an area of the map (its cells' value at FieldMap.files[4]), one picked at random.
Definition field_map.h:411
A character of the field (FieldState.actors, a list of pointers up to NULL), which FIELDSTG_updateFie...
Definition field_map.h:194
The battles of a place (FieldState.battles), by area of the map: the fourth area's are also the ones ...
Definition field_map.h:422
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
FieldBattles * battles
Definition field_map.h:450
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(* applyAction)(s32 code, s32 value)
Definition game_state.h:52
s32(* checkCondition)(u16 code, u16 value)
Definition game_state.h:53
What the player can trigger on a map (FIELDSTG_updateTriggers): a record of the table at FieldState....
Definition field_map.h:276
The task a stage starts (startStage), updated by its updateStage.
Definition stage.h:26
void(* nextState)(struct StageTask *task)
Definition stage.h:27
s32 state
Definition stage.h:27
An object of a map, which FIELDSTG draws: a record of the table at FieldState.objects,...
Definition field_map.h:208
Definition gfx.h:352
u16 actor1Conditions[]
Definition wstag385.c:786
AreaBattle area2Battle7
Definition wstag385.c:308
s16 script1431[]
Definition wstag385.c:238
u16 actor10Talk2Conditions[]
Definition wstag385.c:397
FieldActorEntry actor0
Definition wstag385.c:809
u16 actor19Talk3Actions[]
Definition wstag385.c:603
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag385.c:1047
FieldActorEntry actor6
Definition wstag385.c:815
u16 actor9Talk1Actions[]
Definition wstag385.c:366
u16 actor11Conditions[]
Definition wstag385.c:796
u16 actor10Talk1Actions[]
Definition wstag385.c:396
FieldTalk actor2Talks[]
Definition wstag385.c:660
AreaBattle area2Battle6
Definition wstag385.c:307
u16 actor19Talk1Actions[]
Definition wstag385.c:589
u16 actor13Talk3Actions[]
Definition wstag385.c:465
u16 actor16Talk1Actions[]
Definition wstag385.c:520
u16 actor17Talk3Actions[]
Definition wstag385.c:557
void endEvent1275(void)
After event 1275, with Armormon: lets event 1276 start and starts the stage's event battle 0.
Definition wstag385.c:30
u16 actor10Conditions[]
Definition wstag385.c:795
s16 script1427[]
Definition wstag385.c:196
u16 actor18Conditions[]
Definition wstag385.c:803
u16 actor13Talk2Conditions[]
Definition wstag385.c:452
FieldActorEntry actor17
Definition wstag385.c:826
u16 actor21Talk0Conditions[]
Definition wstag385.c:633
u16 actor20Talk1Conditions[]
Definition wstag385.c:611
u16 actor19Talk2Actions[]
Definition wstag385.c:596
u16 actor10Talk3Actions[]
Definition wstag385.c:410
u16 actor12Talk2Conditions[]
Definition wstag385.c:429
u16 actor18Talk2Actions[]
Definition wstag385.c:573
u16 actor10Talk2Actions[]
Definition wstag385.c:403
FieldTalk actor14Talks[]
Definition wstag385.c:721
FieldActorEntry actor18
Definition wstag385.c:827
FieldTalk actor5Talks[]
Definition wstag385.c:672
AreaBattle area1Battle6
Definition wstag385.c:294
u16 actor16Talk2Conditions[]
Definition wstag385.c:521
u16 actor11Talk1Conditions[]
Definition wstag385.c:425
u16 actor15Talk1Actions[]
Definition wstag385.c:497
s16 script1423[]
Definition wstag385.c:147
FieldActorEntry actor5
Definition wstag385.c:814
u16 actor22Conditions[]
Definition wstag385.c:807
AreaBattle area0Battle7
Definition wstag385.c:282
FieldActorEntry actor2
Definition wstag385.c:811
u16 actor13Talk1Actions[]
Definition wstag385.c:451
const CVECTOR stageColor
the color the setup copies to FIELDSTG_state.spriteColor
Definition wstag385.c:7
u16 actor9Talk0Conditions[]
Definition wstag385.c:356
u16 actor19Talk2Conditions[]
Definition wstag385.c:590
u16 actor9Talk2Actions[]
Definition wstag385.c:373
#define STAGE_FILE_8
Definition wstag385.c:53
u16 actor18Talk1Actions[]
Definition wstag385.c:566
AreaBattle area3Battle4
Definition wstag385.c:318
AreaBattle area3Battle3
Definition wstag385.c:317
AreaBattle area0Battle1
Definition wstag385.c:276
u16 actor15Talk2Conditions[]
Definition wstag385.c:498
FieldActorEntry actor23
Definition wstag385.c:832
u16 actor15Talk3Conditions[]
Definition wstag385.c:505
FieldActorEntry actor19
Definition wstag385.c:828
AreaBattle area2Battle0
Definition wstag385.c:301
u16 actor12Talk2Actions[]
Definition wstag385.c:435
u16 actor9Conditions[]
Definition wstag385.c:794
FieldActorEntry * stageActors[]
Definition wstag385.c:833
u16 actor19Talk0Conditions[]
Definition wstag385.c:587
AreaBattle area1Battle2
Definition wstag385.c:290
u16 actor14Talk3Actions[]
Definition wstag385.c:488
u16 actor23Conditions[]
Definition wstag385.c:808
u16 actor17Talk2Conditions[]
Definition wstag385.c:544
AreaBattle area3Battle0
Definition wstag385.c:314
u16 actor10Talk1Conditions[]
Definition wstag385.c:391
u16 actor17Talk1Conditions[]
Definition wstag385.c:542
u16 actor21Talk2Conditions[]
Definition wstag385.c:636
u16 actor17Talk2Actions[]
Definition wstag385.c:550
u16 actor11Talk0Conditions[]
Definition wstag385.c:423
u16 actor14Talk3Conditions[]
Definition wstag385.c:482
u16 actor16Talk3Conditions[]
Definition wstag385.c:528
FieldActorEntry actor22
Definition wstag385.c:831
AreaBattle area0Battle6
Definition wstag385.c:281
u16 actor18Talk1Conditions[]
Definition wstag385.c:565
u16 actor10Talk0Conditions[]
Definition wstag385.c:386
FieldTalk actor1Talks[]
Definition wstag385.c:656
u16 actor13Conditions[]
Definition wstag385.c:798
u16 actor21Talk3Conditions[]
Definition wstag385.c:643
AreaBattle area3Battle2
Definition wstag385.c:316
u16 actor19Talk3Conditions[]
Definition wstag385.c:597
u16 actor17Talk0Conditions[]
Definition wstag385.c:541
u16 actor13Talk0Conditions[]
Definition wstag385.c:449
u16 actor14Talk1Actions[]
Definition wstag385.c:474
AreaBattle area3Battle1
Definition wstag385.c:315
FieldTalk actor21Talks[]
Definition wstag385.c:770
AreaBattle area0Battle3
Definition wstag385.c:278
FieldTalk actor20Talks[]
Definition wstag385.c:763
FieldActorEntry actor10
Definition wstag385.c:819
u16 actor21Talk3Actions[]
Definition wstag385.c:649
u16 actor20Talk2Actions[]
Definition wstag385.c:619
u16 actor19Conditions[]
Definition wstag385.c:804
FieldTalk actor4Talks[]
Definition wstag385.c:668
u16 actor4Conditions[]
Definition wstag385.c:789
FieldActorEntry actor4
Definition wstag385.c:813
s16 script1421[]
Definition wstag385.c:120
u16 actor3Conditions[]
Definition wstag385.c:788
AreaBattle area3Battle6
Definition wstag385.c:320
FieldTalk actor17Talks[]
Definition wstag385.c:742
FieldTalk actor11Talks[]
Definition wstag385.c:702
FieldActorEntry actor8
Definition wstag385.c:817
u16 actor21Talk1Conditions[]
Definition wstag385.c:634
u16 actor15Talk1Conditions[]
Definition wstag385.c:496
ActorImage stageImages[]
Definition wstag385.c:330
u16 actor14Talk1Conditions[]
Definition wstag385.c:473
FieldTalk actor6Talks[]
Definition wstag385.c:676
void setupStage(void)
Sets the stage up: its map, actors, battles and events, playing BGM_0008.
Definition wstag385.c:56
u16 actor20Talk2Conditions[]
Definition wstag385.c:613
u16 actor12Talk0Conditions[]
Definition wstag385.c:426
FieldTalk actor19Talks[]
Definition wstag385.c:756
AreaBattle area2Battle4
Definition wstag385.c:305
u16 actor17Talk3Conditions[]
Definition wstag385.c:551
u16 actor13Talk3Conditions[]
Definition wstag385.c:459
FieldTalk actor23Talks[]
Definition wstag385.c:781
u16 actor16Conditions[]
Definition wstag385.c:801
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag385.c:860
u16 actor16Talk1Conditions[]
Definition wstag385.c:519
FieldActorEntry actor9
Definition wstag385.c:818
u16 actor8Conditions[]
Definition wstag385.c:793
FieldActorEntry actor20
Definition wstag385.c:829
u16 actor12Talk3Conditions[]
Definition wstag385.c:436
u16 actor9Talk1Conditions[]
Definition wstag385.c:361
u16 actor5Conditions[]
Definition wstag385.c:790
FieldTalk actor10Talks[]
Definition wstag385.c:695
FieldTalk actor3Talks[]
Definition wstag385.c:664
FieldTalk actor9Talks[]
Definition wstag385.c:688
u16 actor15Talk2Actions[]
Definition wstag385.c:504
BattleList area3Battles
Definition wstag385.c:322
AreaBattle area3Battle5
Definition wstag385.c:319
AreaBattle area0Battle5
Definition wstag385.c:280
BattleList area1Battles
Definition wstag385.c:296
FieldTalk actor15Talks[]
Definition wstag385.c:728
BattleList area2Battles
Definition wstag385.c:309
u16 actor15Talk3Actions[]
Definition wstag385.c:511
FieldActorEntry actor15
Definition wstag385.c:824
FieldActorEntry actor12
Definition wstag385.c:821
FieldActorEntry actor16
Definition wstag385.c:825
u16 actor15Conditions[]
Definition wstag385.c:800
AreaBattle area1Battle4
Definition wstag385.c:292
u16 actor6Conditions[]
Definition wstag385.c:791
AreaBattle area2Battle2
Definition wstag385.c:303
s16 script1276[]
Definition wstag385.c:97
u16 actor12Talk1Conditions[]
Definition wstag385.c:427
u16 actor12Talk1Actions[]
Definition wstag385.c:428
AreaBattle area1Battle5
Definition wstag385.c:293
s16 script1275[]
Definition wstag385.c:77
u16 actor14Conditions[]
Definition wstag385.c:799
u16 actor9Talk3Actions[]
Definition wstag385.c:380
u16 actor18Talk3Conditions[]
Definition wstag385.c:574
FieldActorEntry actor7
Definition wstag385.c:816
u16 actor17Talk1Actions[]
Definition wstag385.c:543
StageSlot stageSlots[]
Definition wstag385.c:1032
AreaBattle area2Battle1
Definition wstag385.c:302
FieldActorEntry actor13
Definition wstag385.c:822
AreaBattle area1Battle3
Definition wstag385.c:291
u16 actor16Talk2Actions[]
Definition wstag385.c:527
u16 actor16Talk3Actions[]
Definition wstag385.c:534
AreaBattle area1Battle0
Definition wstag385.c:288
u16 actor14Talk2Actions[]
Definition wstag385.c:481
FieldActorEntry actor11
Definition wstag385.c:820
u16 actor16Talk0Conditions[]
Definition wstag385.c:518
FieldActorEntry actor1
Definition wstag385.c:810
FieldActorEntry actor21
Definition wstag385.c:830
u16 actor18Talk3Actions[]
Definition wstag385.c:580
u16 actor10Talk3Conditions[]
Definition wstag385.c:404
AreaBattle area0Battle0
Definition wstag385.c:275
AreaBattle area0Battle2
Definition wstag385.c:277
FieldTalk actor13Talks[]
Definition wstag385.c:714
#define STAGE_FILE
Definition wstag385.c:52
AreaBattle area2Battle5
Definition wstag385.c:306
u16 actor19Talk1Conditions[]
Definition wstag385.c:588
u16 actor18Talk2Conditions[]
Definition wstag385.c:567
u16 actor20Talk3Actions[]
Definition wstag385.c:626
AreaBattle area1Battle1
Definition wstag385.c:289
u16 actor11Talk0Actions[]
Definition wstag385.c:424
u16 actor7Conditions[]
Definition wstag385.c:792
AreaBattle area2Battle3
Definition wstag385.c:304
s16 script1429[]
Definition wstag385.c:217
u16 actor2Conditions[]
Definition wstag385.c:787
u16 actor13Talk1Conditions[]
Definition wstag385.c:450
FieldTalk actor18Talks[]
Definition wstag385.c:749
u16 actor20Talk0Conditions[]
Definition wstag385.c:610
u16 actor21Talk2Actions[]
Definition wstag385.c:642
u16 actor12Talk3Actions[]
Definition wstag385.c:442
FieldTalk actor7Talks[]
Definition wstag385.c:680
u16 actor21Talk1Actions[]
Definition wstag385.c:635
u16 actor9Talk2Conditions[]
Definition wstag385.c:367
u16 actor20Conditions[]
Definition wstag385.c:805
u16 actor14Talk2Conditions[]
Definition wstag385.c:475
AreaBattle area0Battle4
Definition wstag385.c:279
u16 actor9Talk3Conditions[]
Definition wstag385.c:374
u16 actor15Talk0Conditions[]
Definition wstag385.c:495
void endEvent1276(void)
After event 1276, with Armormon: gives the player the Monmon DDNA and keeps it from playing again.
Definition wstag385.c:39
u16 actor20Talk1Actions[]
Definition wstag385.c:612
#define STAGE_TEXT
Definition wstag385.c:50
FieldTalk actor8Talks[]
Definition wstag385.c:684
u16 actor18Talk0Conditions[]
Definition wstag385.c:564
FieldTalk actor12Talks[]
Definition wstag385.c:707
AreaBattle area3Battle7
Definition wstag385.c:321
u16 actor21Conditions[]
Definition wstag385.c:806
BattleList area0Battles
Definition wstag385.c:283
AreaBattle area1Battle7
Definition wstag385.c:295
s16 script1425[]
Definition wstag385.c:175
u16 actor20Talk3Conditions[]
Definition wstag385.c:620
FieldTalk actor16Talks[]
Definition wstag385.c:735
u16 actor17Conditions[]
Definition wstag385.c:802
FieldActorEntry actor3
Definition wstag385.c:812
FieldBattles stageBattles[]
Definition wstag385.c:327
u16 actor13Talk2Actions[]
Definition wstag385.c:458
FieldActorEntry actor14
Definition wstag385.c:823
FieldEvent stageEvents[]
Definition wstag385.c:1050
u16 actor12Conditions[]
Definition wstag385.c:797
FieldTalk actor22Talks[]
Definition wstag385.c:777
u16 actor14Talk0Conditions[]
Definition wstag385.c:472
u16 actor0Conditions[]
Definition wstag385.c:785