Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag270.c
Go to the documentation of this file.
1/*
2 * WSTAG270: Yellow Cruiser, 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_270)
12#elif VERSION_EU
13#define MENU_TEXT (TEXT_EVENTS_270 - 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, 0x5)), j + 2);
48 }
49 children->cursor->setVisible(children->cursor, 1);
50 children->title->setString(children->title, FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x5)), 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 ? 0x3B : 0x5EF);
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 1518, which asks whether to listen to the basic card rules:
125 * yes starts event 59, no event 1519
126 */
127void *startEvent1518(void) {
128 return createTask(updateEvent1518, 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, 0x6)), j + 2);
163 }
164 children->cursor->setVisible(children->cursor, 1);
165 children->title->setString(children->title, FILE_CACHE.getEntry(TEXT_ENTRY(MENU_TEXT, 0x6)), 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 ? 0x41 : 0x5F1);
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 1520, which asks whether to listen to the card rules: yes
240 * starts event 65, no event 1521
241 */
242void *startEvent1520(void) {
243 return createTask(updateEvent1520, sizeof(StageMenu), sizeof(ChoiceChildren));
244}
245
247
249
250/*
251 * After event 1415, with Divermon, Tamer Nacky, Tamer Steve, Tamer Gloria
252 * and Tamer Wong: gives the player the Folder Bag and sets flags 0x1A1C
253 * (which decides what actor 30 says and what actor 15 in WSTAG425 says) and
254 * 0x40A1
255 */
256void endEvent1415(void) {
257 FLAGS_00.applyAction(ITEM(0, 0x192), 1);
259 FLAGS_00.applyAction(FLAG(0x40, 0xA1), 1);
260}
261
262#if VERSION_US || VERSION_JP
263#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_00)
264#define EVENT_TEXT_FILE (TEXT_EVENTS_270 - 1)
265#define STAGE_FILE 0x1A1
266#define STAGE_ARCHIVE 0x3C2
267#elif VERSION_EU
268#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_00)
269#define EVENT_TEXT_FILE (TEXT_EVENTS_270 - 1)
270#define STAGE_FILE 0x1AF
271#define STAGE_ARCHIVE 0x3D2
272#endif
273/* Sets the stage up: its map, actors and events, playing SHOP2BGM */
292
295
297 SCRIPT_WAIT(0x1E),
298 SCRIPT_WAIT(0x1E),
299 SCRIPT_TALK(0, 1, 0x33, 2),
301 SCRIPT_WAIT(0x1E),
303 SCRIPT_WAIT(0x1E),
304 SCRIPT_TALK(0, 2, 2, 4),
306 SCRIPT_WAIT(0x1E),
307 SCRIPT_TALK(0, 3, 0x33, 4),
309 SCRIPT_WAIT(0x1E),
310 SCRIPT_TALK(0, 4, 2, 4),
312 SCRIPT_WAIT(0x1E),
313 SCRIPT_TALK(0, 5, 2, 4),
315 SCRIPT_WAIT(0x1E),
316 SCRIPT_TALK(0, 6, 2, 4),
318 SCRIPT_WAIT(0x1E),
319 SCRIPT_TALK(0, 7, 2, 4),
321 SCRIPT_WAIT(0x1E),
323 SCRIPT_WAIT(0x1E),
324 SCRIPT_WAIT(0x1E),
325 SCRIPT_TALK(0, 8, 0x33, 2),
327 SCRIPT_WAIT(0x1E),
329 /* after the end, the original's padding up to a word, which isn't zeros */
330#if VERSION_US
331 0x4644,
332#elif VERSION_EU
333 0x104,
334#endif
335};
337 SCRIPT_WALK(2, 0x117, 0xBD, 3),
338 SCRIPT_POSE(0x2D, 1, 7),
340 SCRIPT_WAIT(0x1E),
341 SCRIPT_WAIT(0x1E),
342 SCRIPT_TALK(0, 1, 0x2D, 2),
344 SCRIPT_WAIT(0x1E),
346 SCRIPT_WAIT(0x1E),
347 SCRIPT_TALK(0, 2, 2, 4),
349 SCRIPT_WAIT(0x1E),
350 SCRIPT_TALK(0, 3, 0x2D, 4),
352 SCRIPT_WAIT(0x1E),
353 SCRIPT_TALK(0, 4, 2, 4),
355 SCRIPT_WAIT(0x1E),
357 SCRIPT_WAIT(0x1E),
358 SCRIPT_WAIT(0x1E),
359 SCRIPT_TALK(0, 5, 0x2D, 2),
361 SCRIPT_POSE(2, 1, 7),
362 SCRIPT_WAIT(0x1E),
363 SCRIPT_WAIT(0x1E),
365};
367 SCRIPT_WALK(2, 0x19B, 0xA3, 3),
368 SCRIPT_POSE(0x2F, 1, 7),
369 SCRIPT_POSE(0x32, 1, 7),
370 SCRIPT_POSE(0x34, 1, 3),
371 SCRIPT_POSE(0x37, 1, 3),
372 SCRIPT_POSE(0xCE, 1, 7),
375 SCRIPT_TALK(0, 1, 0xCE, 2),
377 SCRIPT_WAIT(0x1E),
378 SCRIPT_TALK(0, 2, 2, 1),
379 SCRIPT_POSE(2, 7, 3),
381 SCRIPT_POSE(2, 1, 3),
382 SCRIPT_WAIT(0x1E),
383 SCRIPT_TALK(0, 3, 0xCE, 2),
385 SCRIPT_WAIT(0x1E),
386 SCRIPT_TALK(0, 4, 2, 1),
387 SCRIPT_POSE(2, 7, 3),
389 SCRIPT_POSE(2, 1, 3),
390 SCRIPT_WAIT(0x1E),
391 SCRIPT_COMMAND(0x323, 0x325, 0xCE),
392 SCRIPT_WAIT(0x5A),
393 SCRIPT_COMMAND(0x323, 0x326, 0xCE),
394 SCRIPT_WAIT(0x1E),
395 SCRIPT_TALK(0, 5, 0xCE, 2),
397 SCRIPT_WAIT(0x1E),
398 SCRIPT_LOOK_AT(0, 0xD0, 0xE1),
399 SCRIPT_WAIT(0x96),
400 SCRIPT_WAIT(0x1E),
401 SCRIPT_COMMAND(0x323, 0x325, 0x34),
402 SCRIPT_WAIT(0x5A),
403 SCRIPT_COMMAND(0x323, 0x326, 0x34),
404 SCRIPT_WAIT(0x1E),
405 SCRIPT_TALK(0, 6, 0x34, 1),
407 SCRIPT_WAIT(0x1E),
408 SCRIPT_TALK(0, 7, 0x34, 1),
410 SCRIPT_WAIT(0x1E),
411 SCRIPT_TALK(0, 8, 0x2F, 2),
413 SCRIPT_WAIT(0x1E),
414 SCRIPT_TALK(0, 9, 0x34, 1),
416 SCRIPT_WAIT(0x1E),
417 SCRIPT_TALK(0, 0xA, 0x2F, 2),
419 SCRIPT_WAIT(0x1E),
420 SCRIPT_TALK(1, 0xC, 0x2F, 2),
421 SCRIPT_TALK(0, 0xB, 0x34, 1),
423 SCRIPT_COMMAND(0x323, 0x325, 0x34),
424 SCRIPT_WAIT(0x5A),
425 SCRIPT_COMMAND(0x323, 0x326, 0x34),
426 SCRIPT_WAIT(0x1E),
427 SCRIPT_TALK(0, 0xD, 0x34, 1),
429 SCRIPT_WAIT(0x1E),
430 SCRIPT_TALK(0, 0xE, 0x2F, 2),
432 SCRIPT_WAIT(0x1E),
433 SCRIPT_COMMAND(0x323, 0x327, 0x34),
434 SCRIPT_WAIT(0xB4),
435 SCRIPT_TALK(0, 0xF, 0x32, 0),
437 SCRIPT_COMMAND(0x323, 0x326, 0x34),
438 SCRIPT_COMMAND(0x324, 0x325, 0x37),
439 SCRIPT_WAIT(0x5A),
440 SCRIPT_COMMAND(0x324, 0x326, 0x37),
441 SCRIPT_WAIT(0x1E),
442 SCRIPT_TALK(0, 0x10, 0x37, 2),
444 SCRIPT_WAIT(0x1E),
445 SCRIPT_TALK(0, 0x11, 0x32, 0),
447 SCRIPT_WAIT(0x1E),
448 SCRIPT_TALK(0, 0x12, 0x37, 2),
450 SCRIPT_COMMAND(0x323, 0x327, 0x37),
451 SCRIPT_WAIT(0x1E),
452 SCRIPT_TALK(0, 0x13, 0x32, 0),
454 SCRIPT_WAIT(0x3C),
455 SCRIPT_COMMAND(0x323, 0x326, 0x37),
456 SCRIPT_WAIT(0x1E),
457 SCRIPT_TALK(0, 0x14, 0x37, 2),
459 SCRIPT_WAIT(0x1E),
460 SCRIPT_TALK(0, 0x15, 0x32, 0),
462 SCRIPT_FOLLOW(0, 2),
463 SCRIPT_WAIT(0x5A),
464 SCRIPT_TALK(0, 0x16, 0xCE, 2),
467 SCRIPT_WAIT(0x1E),
468 SCRIPT_TALK(0, 0x17, 2, 1),
469 SCRIPT_POSE(2, 7, 3),
471 SCRIPT_POSE(2, 1, 3),
472 SCRIPT_WAIT(0x1E),
473 SCRIPT_TALK(0, 0x18, 0xCE, 2),
475 SCRIPT_WAIT(0x1E),
476 SCRIPT_TALK(0, 0x19, 2, 1),
477 SCRIPT_POSE(2, 7, 3),
479 SCRIPT_POSE(2, 1, 3),
480 SCRIPT_WAIT(0x1E),
481 SCRIPT_TALK(0, 0x1A, 0xCE, 2),
483 SCRIPT_WAIT(0x1E),
484 SCRIPT_POSE(2, 1, 7),
485 SCRIPT_WAIT(0x1E),
487};
489 SCRIPT_WAIT(0x3C),
490 SCRIPT_TALK(0, 1, 0x33, 2),
492 SCRIPT_WAIT(0x1E),
494};
496 SCRIPT_WALK(2, 0x117, 0xBD, 3),
497 SCRIPT_POSE(0x2D, 1, 7),
499 SCRIPT_WAIT(0x1E),
500 SCRIPT_WAIT(0x1E),
501 SCRIPT_TALK(0, 1, 0x2D, 2),
503 SCRIPT_POSE(2, 1, 7),
504 SCRIPT_WAIT(0x1E),
505 SCRIPT_WAIT(0x1E),
507};
509 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
510 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
511 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
512 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
513 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
514 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
515 { 0x180, 0x100, 0x1B8, 0x159, 0x1E0, 0x59, 0x160, 0x1FB },
516 { 0x180, 0x100, 0x1B0, 0x159, 0x1C0, 0x59, 0x170, 0x1FB },
517 { 0x180, 0x100, 0x1A0, 0x15D, 0x180, 0x5D, 0x150, 0x1FA },
518 { 0x180, 0x100, 0x1A8, 0x15D, 0x1A0, 0x5D, 0x160, 0x1FA },
519 { 0x180, 0x100, 0x190, 0x171, 0x140, 0x71, 0x170, 0x1FA },
520 { 0x180, 0x100, 0x198, 0x171, 0x160, 0x71, 0x140, 0x1F9 },
521 { 0x140, 0x100, 0x140, 0x1D8, 0, 0xD8, 0x150, 0x1F9 },
522 { 0x180, 0x100, 0x180, 0x172, 0x100, 0x72, 0x160, 0x1F9 },
523 { 0x180, 0x100, 0x188, 0x172, 0x120, 0x72, 0x170, 0x1F9 },
524 { 0x180, 0x100, 0x1B0, 0x181, 0x1C0, 0x81, 0x140, 0x1F8 },
525 { 0x180, 0x100, 0x1A0, 0x185, 0x180, 0x85, 0x150, 0x1F8 },
526 { 0x180, 0x100, 0x1A8, 0x185, 0x1A0, 0x85, 0x160, 0x1F8 },
527 { 0x180, 0x100, 0x1B4, 0x100, 0x1D0, 0, 0x170, 0x1F8 },
528 { 0, 0, 0, 0, 0, 0, 0, 0 },
529 { 0, 0, 0, 0, 0, 0, 0, 0 },
530 { 0, 0, 0, 0, 0, 0, 0, 0 },
531};
536 ITEM(0, 0x192), 1,
539 CODES_END,
540};
543 ITEM(0, 0x192), 1,
546 CODES_END,
547};
550 FLAG(0, 2), 0,
551 ITEM(0, 0x192), 1,
553 CODES_END,
554};
557 FLAG(0, 2), 1,
558 PARTY_STAT(0), 0,
559 ITEM(0, 0x192), 1,
561 CODES_END,
562};
564 PARTY_STAT(4), 0,
565 PARTY_STAT(0), 1,
566 FLAG(0, 2), 1,
567 ITEM(0, 0x192), 1,
569 CODES_END,
570};
573 FLAG(0, 2), 1,
574 PARTY_STAT(0), 1,
575 PARTY_STAT(4), 1,
576 ITEM(0, 0x192), 1,
578 CODES_END,
579};
602 ITEM(0, 0x192), 1,
605 CODES_END,
606};
609 ITEM(0, 0x192), 1,
612 CODES_END,
613};
616 FLAG(0, 3), 0,
617 ITEM(0, 0x192), 1,
619 CODES_END,
620};
623 FLAG(0, 3), 1,
624 PARTY_STAT(0), 0,
625 ITEM(0, 0x192), 1,
627 CODES_END,
628};
630 FLAG(0, 3), 1,
631 PARTY_STAT(0), 1,
632 PARTY_STAT(4), 0,
633 ITEM(0, 0x192), 1,
635 CODES_END,
636};
639 FLAG(0, 3), 1,
640 PARTY_STAT(0), 1,
641 PARTY_STAT(4), 1,
642 ITEM(0, 0x192), 1,
644 CODES_END,
645};
670 ITEM(0, 0x192), 1,
673 CODES_END,
674};
677 ITEM(0, 0x192), 1,
680 CODES_END,
681};
684 FLAG(0, 0), 0,
685 ITEM(0, 0x192), 1,
687 CODES_END,
688};
691 FLAG(0, 0), 1,
692 PARTY_STAT(0), 0,
693 ITEM(0, 0x192), 1,
695 CODES_END,
696};
698 FLAG(0, 0), 1,
699 PARTY_STAT(4), 0,
700 PARTY_STAT(0), 1,
701 ITEM(0, 0x192), 1,
703 CODES_END,
704};
707 PARTY_STAT(0), 1,
708 FLAG(0, 0), 1,
709 PARTY_STAT(4), 1,
710 ITEM(0, 0x192), 1,
712 CODES_END,
713};
736 ITEM(0, 0x192), 1,
739 CODES_END,
740};
743 ITEM(0, 0x192), 1,
746 CODES_END,
747};
750 FLAG(0, 1), 0,
751 ITEM(0, 0x192), 1,
753 CODES_END,
754};
757 FLAG(0, 1), 1,
758 PARTY_STAT(0), 0,
759 ITEM(0, 0x192), 1,
761 CODES_END,
762};
764 FLAG(0, 1), 1,
765 PARTY_STAT(0), 1,
766 PARTY_STAT(4), 0,
767 ITEM(0, 0x192), 1,
769 CODES_END,
770};
773 FLAG(0, 1), 1,
774 PARTY_STAT(0), 1,
775 PARTY_STAT(4), 1,
776 ITEM(0, 0x192), 1,
778 CODES_END,
779};
863u16 actor31Talk0Actions[] = { FLAG(0x1C, 0x48), 1, START_EVENT(0x5C), 1, CODES_END };
866 { NULL, actor0Talk0Actions, 0x248 },
867 { NULL, NULL, 0 },
868};
870 { NULL, actor1Talk0Actions, 0x31 },
871 { NULL, NULL, 0 },
872};
904 { NULL, NULL, 0x41D },
905 { NULL, NULL, 0 },
906};
938 { NULL, NULL, 0x41E },
939 { NULL, NULL, 0 },
940};
942 { NULL, actor12Talk0Actions, 0x30 },
943 { NULL, NULL, 0 },
944};
946 { NULL, actor13Talk0Actions, 0x30 },
947 { NULL, NULL, 0 },
948};
980 { NULL, NULL, 0x41B },
981 { NULL, NULL, 0 },
982};
1014 { NULL, NULL, 0x41C },
1015 { NULL, NULL, 0 },
1016};
1018 { NULL, NULL, 0x251 },
1019 { NULL, NULL, 0 },
1020};
1050 { NULL, NULL, 0x247 },
1051 { NULL, NULL, 0 },
1052};
1068 { actor31Talk1Conditions, NULL, 0x64 },
1069 { NULL, NULL, 0 },
1070};
1072 { NULL, NULL, 0x4A2 },
1073 { NULL, NULL, 0 },
1074};
1152FieldActorEntry actor33 = { NULL, NULL, 0xDC, 0x11, 379, 163, 7 };
1153FieldActorEntry actor34 = { actor34Conditions, NULL, 0xE1, 0x12, 347, 158, 1 };
1154FieldActorEntry actor35 = { actor35Conditions, NULL, 0x10E, 0x13, 347, 158, 1 };
1156 &actor0,
1157 &actor1,
1158 &actor2,
1159 &actor3,
1160 &actor4,
1161 &actor5,
1162 &actor6,
1163 &actor7,
1164 &actor8,
1165 &actor9,
1166 &actor10,
1167 &actor11,
1168 &actor12,
1169 &actor13,
1170 &actor14,
1171 &actor15,
1172 &actor16,
1173 &actor17,
1174 &actor18,
1175 &actor19,
1176 &actor20,
1177 &actor21,
1178 &actor22,
1179 &actor23,
1180 &actor24,
1181 &actor25,
1182 &actor26,
1183 &actor27,
1184 &actor28,
1185 &actor29,
1186 &actor30,
1187 &actor31,
1188 &actor32,
1189 &actor33,
1190 &actor34,
1191 &actor35,
1192 NULL,
1193};
1195 { 1, 0, 0x40, 6, 0x3B, 2, 0, 5, 8, 0, 428, 75, 0, 0 },
1196 { 1, 0, 0x40, 6, 0x3D, 2, 0, 3, 8, 0, 65, 176, 0, 0 },
1197 { 1, 0, 0x40, 6, 0x3A, 2, 0, 3, 8, 0, 425, 67, 0, 0 },
1198 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x39, 8, 0, 428, 75, 0, 0 },
1199 { 1, 0, 0x40, 4, 0x3C, 2, 0, 3, 8, 0, 470, 149, 176, 0 },
1200 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 86, 239, 258, 0 },
1201 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 160, 220, 248, 0 },
1202 { 1, 0, 0x40, 4, 2, 0, 0, 0, 0, 0, 192, 204, 232, 0 },
1203 { 1, 0, 0x40, 4, 3, 0, 0, 0, 0, 0, 320, 201, 231, 0 },
1204 { 1, 0, 0x40, 4, 4, 0, 0, 0, 0, 0, 291, 185, 209, 0 },
1205 { 1, 0, 0x40, 4, 5, 0, 0, 0, 0, 0, 352, 147, 168, 0 },
1206 { 1, 0, 0x40, 4, 6, 0, 0, 0, 0, 0, 371, 140, 160, 0 },
1207 { 1, 0, 0x40, 4, 7, 0, 0, 0, 0, 0, 336, 139, 160, 0 },
1208 { 1, 0, 0x40, 4, 8, 0, 0, 0, 0, 0, 385, 131, 153, 0 },
1209 { 1, 0, 0x40, 4, 9, 0, 0, 0, 0, 0, 320, 131, 153, 0 },
1210 { 1, 0, 0x40, 4, 0xA, 0, 0, 0, 0, 0, 401, 123, 144, 0 },
1211 { 1, 0, 0x40, 4, 0xB, 0, 0, 0, 0, 0, 304, 117, 144, 0 },
1212 { 1, 0, 0x40, 4, 0xC, 0, 0, 0, 0, 0, 464, 149, 176, 0 },
1213 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
1214};
1216 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x201, 0x1F0, 0xA0, 7, 0, 0, 0 },
1217 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
1218};
1221 { 59, script59, EVENT_TEXT(0), NULL, NULL },
1222 { 65, script65, EVENT_TEXT(1), NULL, NULL },
1223 { 1415, script1415, EVENT_TEXT(2), NULL, endEvent1415 },
1224 { 1518, NULL, EVENT_TEXT(5), startEvent1518, NULL },
1225 { 1519, script1519, EVENT_TEXT(3), NULL, NULL },
1226 { 1520, NULL, EVENT_TEXT(6), startEvent1520, NULL },
1227 { 1521, script1521, EVENT_TEXT(4), NULL, NULL },
1228 { -1, NULL, 0, NULL, NULL },
1229};
#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
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
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 SCRIPT_LOOK_AT(snap, x, y)
FIELDSTG_pointCamera.
Definition field_map.h:172
#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 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 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_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 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 PROGRESS(n)
GAME.progress is n.
Definition game_state.h:69
#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 PARTY_STAT(id)
checkPartyStat
Definition game_state.h:71
#define CARD_BATTLE(opponent, kind)
action: startCardBattle
Definition game_state.h:73
#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 SOUND_SELECT
Sounds the overlays share, with SOUNDTST's names.
Definition sound.h:38
#define MUSIC_SHOP_2
SHOP2BGM: Lamb Chop, the Yellow Cruiser and El Dorado.
Definition sound.h:82
#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_NETWORK_OFFLINE
GAME.progress is from STORY_JUNGLE_SOUND to STORY_NETWORK_OFFLINE (PROGRESS_RANGES[0x19])
Definition story.h:1938
@ STORY_PRESIDENT_ARRESTED
WSTAG226 (Login Room, Amaterasu City), event 935, after the President of MAGAMI gives himself up (WST...
Definition story.h:136
@ 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_MOVIE_BATTLES
WSTAG820, event 1080, with Snatchmon: each encounter plays MODE_BATTLE_MOVIE first.
Definition story.h:146
#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 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_LOOKING_FOR_TEDDY_TO_CONTROL_ROOM
GAME.progress is from STORY_LOOKING_FOR_TEDDY to STORY_CONTROL_ROOM (PROGRESS_RANGES[0x20])
Definition story.h:1959
#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_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 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 FLAG_BOOSTER_DIVERMON_TALKED
wstag270/425: Divermon says they handle Booster Packs once (also set after event 1415 with the Folder...
Definition story.h:1076
#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_STORY_WAY_TO_AMATERASU_TO_PRESIDENT_ARRESTED
GAME.progress is from STORY_WAY_TO_AMATERASU to STORY_PRESIDENT_ARRESTED (PROGRESS_RANGES[0x16])
Definition story.h:1929
#define SPECIAL_STORY_SINCE_GENJI_BEATEN
GAME.progress is STORY_GENJI_BEATEN or later (PROGRESS_RANGES[6], to 0x63)
Definition story.h:1881
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
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
void(* applyAction)(s32 code, s32 value)
Definition game_state.h:52
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.
u16 actor1Conditions[]
Definition wstag270.c:1076
u16 actor28Talk0Conditions[]
Definition wstag270.c:818
u16 actor26Conditions[]
Definition wstag270.c:1101
u16 actor0Talk0Actions[]
Definition wstag270.c:532
u16 actor10Talk2Conditions[]
Definition wstag270.c:662
FieldActorEntry actor0
Definition wstag270.c:1119
u16 actor19Talk3Actions[]
Definition wstag270.c:755
s16 script1415[]
Definition wstag270.c:366
FieldActorEntry actor6
Definition wstag270.c:1125
s16 script59[]
Definition wstag270.c:296
u16 actor7Talk1Conditions[]
Definition wstag270.c:601
u16 actor28Talk2Actions[]
Definition wstag270.c:821
u16 actor22Talk2Actions[]
Definition wstag270.c:799
u16 actor11Conditions[]
Definition wstag270.c:1086
u16 actor30Talk7Actions[]
Definition wstag270.c:854
u16 actor5Talk3Conditions[]
Definition wstag270.c:598
u16 actor7Talk4Conditions[]
Definition wstag270.c:622
FieldTalk actor31Talks[]
Definition wstag270.c:1066
FieldTalk actor2Talks[]
Definition wstag270.c:873
u16 actor8Talk1Conditions[]
Definition wstag270.c:648
void * startEvent1520(void)
Starts event 1520, which asks whether to listen to the card rules: yes starts event 65,...
Definition wstag270.c:242
u16 actor5Talk2Actions[]
Definition wstag270.c:597
u16 actor30Talk2Actions[]
Definition wstag270.c:837
u16 actor19Talk1Actions[]
Definition wstag270.c:741
void * startEvent1518(void)
Starts event 1518, which asks whether to listen to the basic card rules: yes starts event 59,...
Definition wstag270.c:127
u16 actor2Talk1Conditions[]
Definition wstag270.c:535
u16 actor30Talk5Actions[]
Definition wstag270.c:846
u16 actor4Talk3Conditions[]
Definition wstag270.c:591
u16 actor19Talk6Actions[]
Definition wstag270.c:780
u16 actor2Talk5Actions[]
Definition wstag270.c:571
u16 actor17Talk3Actions[]
Definition wstag270.c:733
u16 actor30Talk6Conditions[]
Definition wstag270.c:847
u16 actor30Talk8Actions[]
Definition wstag270.c:859
u16 actor10Conditions[]
Definition wstag270.c:1085
FieldActorEntry actor25
Definition wstag270.c:1144
FieldActorEntry actor24
Definition wstag270.c:1143
u16 actor25Talk3Conditions[]
Definition wstag270.c:804
u16 actor18Conditions[]
Definition wstag270.c:1093
u16 actor30Talk2Conditions[]
Definition wstag270.c:836
u16 actor4Talk2Actions[]
Definition wstag270.c:590
FieldActorEntry actor17
Definition wstag270.c:1136
u16 actor21Talk0Conditions[]
Definition wstag270.c:788
u16 actor20Talk1Conditions[]
Definition wstag270.c:783
s16 script1519[]
Definition wstag270.c:488
u16 actor19Talk2Actions[]
Definition wstag270.c:748
u16 actor7Talk5Conditions[]
Definition wstag270.c:629
u16 actor7Talk2Conditions[]
Definition wstag270.c:608
u16 actor26Talk0Conditions[]
Definition wstag270.c:806
u16 actor10Talk3Actions[]
Definition wstag270.c:665
u16 actor34Conditions[]
Definition wstag270.c:1117
u16 actor5Talk0Conditions[]
Definition wstag270.c:593
u16 actor10Talk2Actions[]
Definition wstag270.c:663
FieldActorEntry actor33
Definition wstag270.c:1152
FieldTalk actor14Talks[]
Definition wstag270.c:949
u16 actor30Talk3Actions[]
Definition wstag270.c:839
u16 actor24Conditions[]
Definition wstag270.c:1099
FieldActorEntry actor18
Definition wstag270.c:1137
FieldTalk actor5Talks[]
Definition wstag270.c:896
u16 actor16Talk2Conditions[]
Definition wstag270.c:723
u16 actor25Talk0Conditions[]
Definition wstag270.c:800
u16 actor26Talk3Actions[]
Definition wstag270.c:811
u16 actor30Talk1Conditions[]
Definition wstag270.c:830
u16 actor27Talk1Conditions[]
Definition wstag270.c:813
u16 actor15Talk1Actions[]
Definition wstag270.c:717
FieldActorEntry actor5
Definition wstag270.c:1124
u16 actor26Talk3Conditions[]
Definition wstag270.c:810
u16 actor27Talk2Actions[]
Definition wstag270.c:815
u16 actor26Talk2Conditions[]
Definition wstag270.c:808
s16 script65[]
Definition wstag270.c:336
u16 actor14Talk5Actions[]
Definition wstag270.c:705
u16 actor35Conditions[]
Definition wstag270.c:1118
void updateEvent1520(StageMenu *task, ChoiceChildren *children)
A two-option menu: creates the event object of the chosen option.
Definition wstag270.c:132
u16 actor22Conditions[]
Definition wstag270.c:1097
FieldActorEntry actor2
Definition wstag270.c:1121
u16 actor8Talk2Conditions[]
Definition wstag270.c:650
FieldActorEntry actor31
Definition wstag270.c:1150
u16 actor9Talk0Conditions[]
Definition wstag270.c:652
u16 actor19Talk2Conditions[]
Definition wstag270.c:742
u16 actor3Talk0Conditions[]
Definition wstag270.c:581
u16 actor14Talk6Conditions[]
Definition wstag270.c:706
u16 actor9Talk2Actions[]
Definition wstag270.c:656
u16 actor15Talk2Conditions[]
Definition wstag270.c:718
FieldActorEntry actor23
Definition wstag270.c:1142
FieldActorEntry actor19
Definition wstag270.c:1138
u16 actor25Talk3Actions[]
Definition wstag270.c:805
u16 actor9Conditions[]
Definition wstag270.c:1084
u16 actor7Talk0Conditions[]
Definition wstag270.c:600
u16 actor5Talk3Actions[]
Definition wstag270.c:599
FieldActorEntry * stageActors[]
Definition wstag270.c:1155
u16 actor19Talk0Conditions[]
Definition wstag270.c:734
FieldActorEntry actor28
Definition wstag270.c:1147
u16 actor2Talk3Conditions[]
Definition wstag270.c:549
u16 actor14Talk3Actions[]
Definition wstag270.c:689
u16 actor23Conditions[]
Definition wstag270.c:1098
u16 actor32Conditions[]
Definition wstag270.c:1112
u16 actor17Talk2Conditions[]
Definition wstag270.c:730
u16 actor10Talk1Conditions[]
Definition wstag270.c:661
u16 actor17Talk1Conditions[]
Definition wstag270.c:729
u16 actor25Talk2Conditions[]
Definition wstag270.c:802
u16 actor7Talk6Conditions[]
Definition wstag270.c:638
u16 actor29Conditions[]
Definition wstag270.c:1104
#define MENU_TEXT
The text file of the menus, which the versions number differently.
Definition wstag270.c:13
u16 actor21Talk2Conditions[]
Definition wstag270.c:791
u16 actor28Talk3Conditions[]
Definition wstag270.c:822
u16 actor17Talk2Actions[]
Definition wstag270.c:731
u16 actor4Talk1Conditions[]
Definition wstag270.c:588
u16 actor30Talk8Conditions[]
Definition wstag270.c:855
u16 actor14Talk3Conditions[]
Definition wstag270.c:683
u16 actor12Talk0Actions[]
Definition wstag270.c:666
u16 actor7Talk1Actions[]
Definition wstag270.c:607
u16 actor25Talk2Actions[]
Definition wstag270.c:803
u16 actor30Conditions[]
Definition wstag270.c:1105
u16 actor16Talk3Conditions[]
Definition wstag270.c:725
FieldActorEntry actor22
Definition wstag270.c:1141
u16 actor7Talk6Actions[]
Definition wstag270.c:646
u16 actor16Talk0Actions[]
Definition wstag270.c:721
u16 actor10Talk0Conditions[]
Definition wstag270.c:659
FieldTalk actor1Talks[]
Definition wstag270.c:869
u16 actor13Conditions[]
Definition wstag270.c:1088
u16 actor22Talk1Conditions[]
Definition wstag270.c:796
u16 actor27Talk3Actions[]
Definition wstag270.c:817
u16 actor21Talk3Conditions[]
Definition wstag270.c:793
u16 actor19Talk3Conditions[]
Definition wstag270.c:749
u16 actor30Talk3Conditions[]
Definition wstag270.c:838
u16 actor17Talk0Conditions[]
Definition wstag270.c:727
FieldActorEntry actor29
Definition wstag270.c:1148
u16 actor2Talk1Actions[]
Definition wstag270.c:541
u16 actor14Talk1Actions[]
Definition wstag270.c:675
FieldTalk actor0Talks[]
Definition wstag270.c:865
#define STAGE_ARCHIVE
Definition wstag270.c:271
u16 actor25Talk1Conditions[]
Definition wstag270.c:801
u16 actor28Talk1Conditions[]
Definition wstag270.c:819
FieldTalk actor21Talks[]
Definition wstag270.c:1000
FieldActorEntry actor27
Definition wstag270.c:1146
FieldTalk actor20Talks[]
Definition wstag270.c:993
u16 actor3Talk2Conditions[]
Definition wstag270.c:584
FieldActorEntry actor10
Definition wstag270.c:1129
u16 actor21Talk3Actions[]
Definition wstag270.c:794
u16 actor3Talk1Conditions[]
Definition wstag270.c:582
u16 actor31Conditions[]
Definition wstag270.c:1106
u16 actor20Talk2Actions[]
Definition wstag270.c:785
u16 actor19Conditions[]
Definition wstag270.c:1094
FieldTalk actor4Talks[]
Definition wstag270.c:889
u16 actor4Conditions[]
Definition wstag270.c:1079
FieldTalk actor27Talks[]
Definition wstag270.c:1035
u16 actor20Talk0Actions[]
Definition wstag270.c:782
FieldActorEntry actor4
Definition wstag270.c:1123
u16 actor3Conditions[]
Definition wstag270.c:1078
u16 actor2Talk2Conditions[]
Definition wstag270.c:542
u16 actor26Talk1Conditions[]
Definition wstag270.c:807
u16 actor26Talk2Actions[]
Definition wstag270.c:809
u16 actor31Talk0Conditions[]
Definition wstag270.c:862
FieldTalk actor17Talks[]
Definition wstag270.c:972
FieldActorEntry actor35
Definition wstag270.c:1154
FieldTalk actor11Talks[]
Definition wstag270.c:937
FieldActorEntry actor32
Definition wstag270.c:1151
FieldActorEntry actor8
Definition wstag270.c:1127
u16 actor21Talk1Conditions[]
Definition wstag270.c:790
u16 actor19Talk5Conditions[]
Definition wstag270.c:763
u16 actor30Talk7Conditions[]
Definition wstag270.c:853
u16 actor30Talk1Actions[]
Definition wstag270.c:835
u16 actor2Talk3Actions[]
Definition wstag270.c:555
u16 actor15Talk1Conditions[]
Definition wstag270.c:716
ActorImage stageImages[]
Definition wstag270.c:508
u16 actor14Talk1Conditions[]
Definition wstag270.c:669
u16 actor21Talk0Actions[]
Definition wstag270.c:789
u16 actor30Talk6Actions[]
Definition wstag270.c:852
FieldTalk actor28Talks[]
Definition wstag270.c:1042
u16 actor14Talk6Actions[]
Definition wstag270.c:714
FieldTalk actor6Talks[]
Definition wstag270.c:903
void setupStage(void)
Sets the stage up: its map, actors and events, playing SHOP2BGM.
Definition wstag270.c:274
u16 actor20Talk2Conditions[]
Definition wstag270.c:784
FieldTalk actor25Talks[]
Definition wstag270.c:1021
u16 actor13Talk0Actions[]
Definition wstag270.c:667
u16 actor30Talk4Actions[]
Definition wstag270.c:844
FieldTalk actor19Talks[]
Definition wstag270.c:983
u16 actor10Talk0Actions[]
Definition wstag270.c:660
u16 actor4Talk0Conditions[]
Definition wstag270.c:586
u16 actor17Talk3Conditions[]
Definition wstag270.c:732
FieldTalk actor23Talks[]
Definition wstag270.c:1013
u16 actor8Talk1Actions[]
Definition wstag270.c:649
u16 actor16Conditions[]
Definition wstag270.c:1091
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag270.c:1194
u16 actor16Talk1Conditions[]
Definition wstag270.c:722
u16 actor19Talk6Conditions[]
Definition wstag270.c:772
FieldActorEntry actor9
Definition wstag270.c:1128
u16 actor8Conditions[]
Definition wstag270.c:1083
u16 actor30Talk0Actions[]
Definition wstag270.c:829
FieldActorEntry actor20
Definition wstag270.c:1139
FieldTalk actor26Talks[]
Definition wstag270.c:1028
u16 actor9Talk1Conditions[]
Definition wstag270.c:654
u16 actor5Conditions[]
Definition wstag270.c:1080
FieldTalk actor10Talks[]
Definition wstag270.c:930
u16 actor22Talk0Conditions[]
Definition wstag270.c:795
FieldTalk actor3Talks[]
Definition wstag270.c:883
u16 actor2Talk6Actions[]
Definition wstag270.c:580
u16 actor31Talk1Conditions[]
Definition wstag270.c:864
u16 actor3Talk1Actions[]
Definition wstag270.c:583
FieldTalk actor9Talks[]
Definition wstag270.c:923
u16 actor15Talk2Actions[]
Definition wstag270.c:719
u16 actor2Talk5Conditions[]
Definition wstag270.c:563
u16 actor8Talk2Actions[]
Definition wstag270.c:651
u16 actor14Talk4Conditions[]
Definition wstag270.c:690
u16 actor3Talk2Actions[]
Definition wstag270.c:585
u16 actor31Talk0Actions[]
Definition wstag270.c:863
FieldTalk actor32Talks[]
Definition wstag270.c:1071
FieldTalk actor15Talks[]
Definition wstag270.c:959
u16 actor5Talk0Actions[]
Definition wstag270.c:594
u16 actor2Talk0Conditions[]
Definition wstag270.c:534
FieldActorEntry actor15
Definition wstag270.c:1134
FieldActorEntry actor12
Definition wstag270.c:1131
u16 actor27Conditions[]
Definition wstag270.c:1102
FieldActorEntry actor16
Definition wstag270.c:1135
u16 actor15Conditions[]
Definition wstag270.c:1090
u16 actor28Talk2Conditions[]
Definition wstag270.c:820
u16 actor2Talk2Actions[]
Definition wstag270.c:548
u16 actor6Conditions[]
Definition wstag270.c:1081
u16 actor7Talk5Actions[]
Definition wstag270.c:637
u16 actor14Talk5Conditions[]
Definition wstag270.c:697
u16 actor14Conditions[]
Definition wstag270.c:1089
FieldActorEntry actor30
Definition wstag270.c:1149
u16 actor9Talk3Actions[]
Definition wstag270.c:658
FieldActorEntry actor7
Definition wstag270.c:1126
u16 actor2Talk6Conditions[]
Definition wstag270.c:572
u16 actor19Talk5Actions[]
Definition wstag270.c:771
StageSlot stageSlots[]
Definition wstag270.c:1215
u16 actor1Talk0Actions[]
Definition wstag270.c:533
s16 script1521[]
Definition wstag270.c:495
u16 actor5Talk1Conditions[]
Definition wstag270.c:595
FieldActorEntry actor13
Definition wstag270.c:1132
FieldTalk actor24Talks[]
Definition wstag270.c:1017
u16 actor16Talk2Actions[]
Definition wstag270.c:724
u16 actor16Talk3Actions[]
Definition wstag270.c:726
u16 actor14Talk2Actions[]
Definition wstag270.c:682
u16 actor5Talk2Conditions[]
Definition wstag270.c:596
FieldActorEntry actor11
Definition wstag270.c:1130
u16 actor25Conditions[]
Definition wstag270.c:1100
u16 actor16Talk0Conditions[]
Definition wstag270.c:720
FieldActorEntry actor1
Definition wstag270.c:1120
FieldActorEntry actor21
Definition wstag270.c:1140
u16 actor17Talk0Actions[]
Definition wstag270.c:728
u16 actor10Talk3Conditions[]
Definition wstag270.c:664
u16 actor28Talk3Actions[]
Definition wstag270.c:823
u16 actor27Talk3Conditions[]
Definition wstag270.c:816
u16 actor9Talk0Actions[]
Definition wstag270.c:653
FieldTalk actor13Talks[]
Definition wstag270.c:945
#define STAGE_FILE
Definition wstag270.c:270
u16 actor4Talk0Actions[]
Definition wstag270.c:587
u16 actor19Talk1Conditions[]
Definition wstag270.c:735
u16 actor20Talk3Actions[]
Definition wstag270.c:787
u16 actor7Conditions[]
Definition wstag270.c:1082
u16 actor2Conditions[]
Definition wstag270.c:1077
u16 actor30Talk0Conditions[]
Definition wstag270.c:824
FieldTalk actor18Talks[]
Definition wstag270.c:979
u16 actor20Talk0Conditions[]
Definition wstag270.c:781
u16 actor7Talk3Conditions[]
Definition wstag270.c:615
u16 actor21Talk2Actions[]
Definition wstag270.c:792
u16 actor30Talk9Actions[]
Definition wstag270.c:861
FieldTalk actor7Talks[]
Definition wstag270.c:907
u16 actor9Talk2Conditions[]
Definition wstag270.c:655
u16 actor20Conditions[]
Definition wstag270.c:1095
u16 actor14Talk2Conditions[]
Definition wstag270.c:676
u16 actor4Talk3Actions[]
Definition wstag270.c:592
u16 actor9Talk3Conditions[]
Definition wstag270.c:657
u16 actor15Talk0Conditions[]
Definition wstag270.c:715
u16 actor27Talk2Conditions[]
Definition wstag270.c:814
FieldActorEntry actor34
Definition wstag270.c:1153
#define STAGE_TEXT
Definition wstag270.c:268
u16 actor2Talk4Conditions[]
Definition wstag270.c:556
FieldTalk actor8Talks[]
Definition wstag270.c:917
u16 actor7Talk3Actions[]
Definition wstag270.c:621
FieldTalk actor30Talks[]
Definition wstag270.c:1053
FieldTalk actor12Talks[]
Definition wstag270.c:941
u16 actor21Conditions[]
Definition wstag270.c:1096
u16 actor8Talk0Conditions[]
Definition wstag270.c:647
u16 actor4Talk2Conditions[]
Definition wstag270.c:589
u16 actor28Conditions[]
Definition wstag270.c:1103
u16 actor20Talk3Conditions[]
Definition wstag270.c:786
FieldTalk actor16Talks[]
Definition wstag270.c:965
u16 actor30Talk9Conditions[]
Definition wstag270.c:860
void updateEvent1518(StageMenu *task, ChoiceChildren *children)
A two-option menu: creates the event object of the chosen option.
Definition wstag270.c:17
u16 actor30Talk5Conditions[]
Definition wstag270.c:845
u16 actor17Conditions[]
Definition wstag270.c:1092
FieldTalk actor29Talks[]
Definition wstag270.c:1049
void endEvent1415(void)
After event 1415, with Divermon, Tamer Nacky, Tamer Steve, Tamer Gloria and Tamer Wong: gives the pla...
Definition wstag270.c:256
u16 actor30Talk4Conditions[]
Definition wstag270.c:840
FieldActorEntry actor3
Definition wstag270.c:1122
FieldActorEntry actor26
Definition wstag270.c:1145
u16 actor22Talk2Conditions[]
Definition wstag270.c:798
u16 actor27Talk0Conditions[]
Definition wstag270.c:812
FieldActorEntry actor14
Definition wstag270.c:1133
FieldEvent stageEvents[]
Definition wstag270.c:1220
u16 actor19Talk4Conditions[]
Definition wstag270.c:756
u16 actor12Conditions[]
Definition wstag270.c:1087
u16 actor22Talk1Actions[]
Definition wstag270.c:797
FieldTalk actor22Talks[]
Definition wstag270.c:1007
u16 actor14Talk0Conditions[]
Definition wstag270.c:668
StageFuncs stageFuncs
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag270.c:1219
u16 actor0Conditions[]
Definition wstag270.c:1075
u16 actor7Talk2Actions[]
Definition wstag270.c:614