Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag935.c
Go to the documentation of this file.
1/*
2 * WSTAG935: Yellow Cruiser, Amaterasu City, in the extra chapter. The European
3 * version's: in its extra chapter (STORY_EXTRA), mode 640 starts it instead of
4 * WSTAG271.
5 */
6
7#include "common.h"
8#define STAGE_TWEEN /* stageFuncs is a StageFuncs (stage.h) */
9#include "field/stage.h"
10/* Defined below, after the code that uses them */
13
14/* The text file of the menus */
15#define MENU_TEXT EXTRA_TEXT
16
18
20
21#if VERSION_EU
22#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_08)
23#define STAGE_FILE 0x8FD
24#define STAGE_FILE_8 0x1AE
25#elif VERSION_JP
26#define STAGE_TEXT 0x89A
27#define STAGE_FILE 0x8C2
28#define STAGE_FILE_8 0x1A0
29#endif
30/* Sets the stage up: its map, actors and events, playing SHOP2BGM */
49
52
54
55/* A list of up to eight options that each open a message */
57 SpriteDrawer drawer;
58 s32 prev;
59
60 switch (task->state) {
61 case TASK_INIT:
62 default:
63 createListMenu(task, children);
64 break;
65 case TASK_RUN:
66 switch (task->substate) {
67 case 0:
68 default:
69 stageFuncs.start(&task->tweens[0], 1);
70 task->substate++;
71 break;
72 case 1:
73 if (stageFuncs.update(&task->tweens[0])) {
74 showListMenuOptions(task, children, 0x8);
75 task->substate++;
76 }
77 break;
78 case 2:
79 prev = task->cursor;
81 if (prev != task->cursor) {
83 children->cursor->setPos(children->cursor, 0xAF, task->cursor * 14 + 0x21);
84 break;
85 }
88 if (task->cursor == task->count - 1) {
89 task->substate = 10;
90 } else {
91 task->substate++;
92 }
93 } else if (PAD_PRESSED(PAD_TRIANGLE)) {
95 task->substate = 10;
96 }
97 break;
98 case 3:
99 children->cursor->setStill(children->cursor, 1);
100 children->cursor->setPalette(children->cursor, PALETTE_GREY);
101 stageFuncs.start(&task->tweens[1], 1);
102 task->substate++;
103 break;
104 case 4:
105 if (stageFuncs.update(&task->tweens[1])) {
106 openListMenuMessage(task, children, 0x8);
107 task->substate++;
108 }
109 break;
110 case 5:
111 readListMenuMessage(task, children);
112 break;
113 case 6:
114 stageFuncs.start(&task->tweens[1], 0);
115 children->message->setVisible(children->message, 0);
116 task->substate++;
117 break;
118 case 7:
119 if (stageFuncs.update(&task->tweens[1])) {
120 children->cursor->setStill(children->cursor, 0);
121 children->cursor->setPalette(children->cursor, PALETTE_WHITE);
122 task->substate = 2;
123 }
124 break;
125 case 10:
126 closeListMenu(task, children);
127 break;
128 case 11:
129 if (stageFuncs.update(&task->tweens[0])) {
130 task->state = TASK_KILL;
131 }
132 break;
133 }
134 initSpriteDrawer(&drawer);
135 drawer.setLayerId(FIELD_LAYER_MAP, 2);
136 drawer.setTexture(0x140, 0);
137 drawer.setFollowScroll(0);
138 if (task->showArrow) {
139 if (GFX.funcs.getTime() - task->arrowTime >= 4) {
140 task->arrowTime = GFX.funcs.getTime();
141 if (++task->arrowFrame >= 5) {
142 task->arrowFrame = 0;
143 }
144 }
145 drawer.setClutRow(task->arrowFrame);
146 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0xA, 0x124, 0xCD);
147 drawer.setClutRow(0);
148 }
149 if (task->tweens[0].level != 0) {
150 if (task->tweens[0].level != 0x1000) {
151 drawer.setScale(task->tweens[0].level, 0x1000, 0x1000);
152 drawer.setPivot(0x140, 0x56);
153 }
154 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), event1616WindowFrames[task->count - 5], 0xA8, 0x18);
155 }
156 if (task->tweens[1].level != 0) {
157 if (task->tweens[1].level != 0x1000) {
158 drawer.setScale(task->tweens[1].level, 0x1000, 0x1000);
159 drawer.setPivot(0x140, 0x56);
160 }
161 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0x45, 0, 0xAC);
162 }
163 break;
164 case TASK_DONE:
165 case TASK_KILL:
166 break;
167 }
168}
169
170/*
171 * Starts event 1616, the card battle rules: a list of topics (Card Battles,
172 * Card Battle Flow, Phases 1 to 5) that each open a message
173 */
174void *startEvent1616(void) {
176}
177
178/* A list of up to eight options that each open a message */
180 SpriteDrawer drawer;
181 s32 prev;
182
183 switch (task->state) {
184 case TASK_INIT:
185 default:
186 createListMenu(task, children);
187 break;
188 case TASK_RUN:
189 switch (task->substate) {
190 case 0:
191 default:
192 stageFuncs.start(&task->tweens[0], 1);
193 task->substate++;
194 break;
195 case 1:
196 if (stageFuncs.update(&task->tweens[0])) {
197 showListMenuOptions(task, children, 0x9);
198 task->substate++;
199 }
200 break;
201 case 2:
202 prev = task->cursor;
203 moveListMenuCursor(task);
204 if (prev != task->cursor) {
206 children->cursor->setPos(children->cursor, 0xAF, task->cursor * 14 + 0x21);
207 break;
208 }
209 if (PAD_PRESSED(PAD_CROSS)) {
211 if (task->cursor == task->count - 1) {
212 task->substate = 10;
213 } else {
214 task->substate++;
215 }
216 } else if (PAD_PRESSED(PAD_TRIANGLE)) {
218 task->substate = 10;
219 }
220 break;
221 case 3:
222 children->cursor->setStill(children->cursor, 1);
223 children->cursor->setPalette(children->cursor, PALETTE_GREY);
224 stageFuncs.start(&task->tweens[1], 1);
225 task->substate++;
226 break;
227 case 4:
228 if (stageFuncs.update(&task->tweens[1])) {
229 openListMenuMessage(task, children, 0x9);
230 task->substate++;
231 }
232 break;
233 case 5:
234 readListMenuMessage(task, children);
235 break;
236 case 6:
237 stageFuncs.start(&task->tweens[1], 0);
238 children->message->setVisible(children->message, 0);
239 task->substate++;
240 break;
241 case 7:
242 if (stageFuncs.update(&task->tweens[1])) {
243 children->cursor->setStill(children->cursor, 0);
244 children->cursor->setPalette(children->cursor, PALETTE_WHITE);
245 task->substate = 2;
246 }
247 break;
248 case 10:
249 closeListMenu(task, children);
250 break;
251 case 11:
252 if (stageFuncs.update(&task->tweens[0])) {
253 task->state = TASK_KILL;
254 }
255 break;
256 }
257 initSpriteDrawer(&drawer);
258 drawer.setLayerId(FIELD_LAYER_MAP, 2);
259 drawer.setTexture(0x140, 0);
260 drawer.setFollowScroll(0);
261 if (task->showArrow) {
262 if (GFX.funcs.getTime() - task->arrowTime >= 4) {
263 task->arrowTime = GFX.funcs.getTime();
264 if (++task->arrowFrame >= 5) {
265 task->arrowFrame = 0;
266 }
267 }
268 drawer.setClutRow(task->arrowFrame);
269 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0xA, 0x124, 0xCD);
270 drawer.setClutRow(0);
271 }
272 if (task->tweens[0].level != 0) {
273 if (task->tweens[0].level != 0x1000) {
274 drawer.setScale(task->tweens[0].level, 0x1000, 0x1000);
275 drawer.setPivot(0x140, 0x56);
276 }
277 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), event1618WindowFrames[task->count - 5], 0xA8, 0x18);
278 }
279 if (task->tweens[1].level != 0) {
280 if (task->tweens[1].level != 0x1000) {
281 drawer.setScale(task->tweens[1].level, 0x1000, 0x1000);
282 drawer.setPivot(0x140, 0x56);
283 }
284 drawer.draw(FILE_CACHE.getEntry(MENU_SPRITES), 0x45, 0, 0xAC);
285 }
286 break;
287 case TASK_DONE:
288 stageFuncs.start(&task->tweens[0], 1);
289 stageFuncs.update(&task->tweens[0]);
290 break;
291 case TASK_KILL:
292 break;
293 }
294}
295
296/*
297 * Starts event 1618, the cards: a list of topics (Create Folder, Digi Cards,
298 * Program Card, Card Colors, D-Energy, Combos, booster pack) that each open
299 * a message
300 */
301void *startEvent1618(void) {
303}
304
306 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
307 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
308 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
309 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
310 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
311 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
312 { 0x140, 0x100, 0x140, 0x1D8, 0, 0xD8, 0x160, 0x1FB },
313 { 0x180, 0x100, 0x1B0, 0x159, 0x1C0, 0x59, 0x170, 0x1FB },
314 { 0x180, 0x100, 0x1A0, 0x15D, 0x180, 0x5D, 0x150, 0x1FA },
315 { 0x180, 0x100, 0x1A8, 0x15D, 0x1A0, 0x5D, 0x160, 0x1FA },
316 { 0x180, 0x100, 0x190, 0x171, 0x140, 0x71, 0x170, 0x1FA },
317 { 0x180, 0x100, 0x198, 0x171, 0x160, 0x71, 0x140, 0x1F9 },
318 { 0x180, 0x100, 0x1B4, 0x100, 0x1D0, 0, 0x150, 0x1F9 },
319 { 0, 0, 0, 0, 0, 0, 0, 0 },
320 { 0, 0, 0, 0, 0, 0, 0, 0 },
321};
378 { NULL, actor0Talk0Actions, 0x43 },
379 { NULL, NULL, 0 },
380};
382 { NULL, NULL, 0x51 },
383 { NULL, NULL, 0 },
384};
393 { NULL, NULL, 0x49 },
394 { NULL, NULL, 0 },
395};
404 { NULL, NULL, 0x4D },
405 { NULL, NULL, 0 },
406};
415 { NULL, actor7Talk0Actions, 0x44 },
416 { NULL, NULL, 0 },
417};
419 { NULL, NULL, 0x45 },
420 { NULL, NULL, 0 },
421};
430 { NULL, actor10Talk0Actions, 0x42 },
431 { NULL, NULL, 0 },
432};
434 { NULL, NULL, 0x89 },
435 { NULL, NULL, 0 },
436};
437u16 actor1Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
438u16 actor2Conditions[] = { ITEM(0, 0x192), 1, CODES_END };
439u16 actor3Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
440u16 actor4Conditions[] = { ITEM(0, 0x192), 1, CODES_END };
441u16 actor5Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
442u16 actor6Conditions[] = { ITEM(0, 0x192), 1, CODES_END };
443u16 actor8Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
444u16 actor9Conditions[] = { ITEM(0, 0x192), 1, CODES_END };
445u16 actor10Conditions[] = { ITEM(0, 0x192), 1, CODES_END };
446u16 actor11Conditions[] = { ITEM(0, 0x192), 0, CODES_END };
447FieldActorEntry actor0 = { NULL, actor0Talks, 0x2E, 4, 255, 176, 3 };
454FieldActorEntry actor7 = { NULL, actor7Talks, 0x33, 8, 348, 147, 1 };
459FieldActorEntry actor12 = { NULL, NULL, 0xDC, 0xB, 379, 163, 7 };
460FieldActorEntry actor13 = { NULL, NULL, 0xE1, 0xC, 347, 158, 3 };
462 &actor0,
463 &actor1,
464 &actor2,
465 &actor3,
466 &actor4,
467 &actor5,
468 &actor6,
469 &actor7,
470 &actor8,
471 &actor9,
472 &actor10,
473 &actor11,
474 &actor12,
475 &actor13,
476 NULL,
477};
479 { 1, 0, 0x40, 6, 0x3B, 2, 0, 5, 8, 0, 428, 75, 0, 0 },
480 { 1, 0, 0x40, 6, 0x3D, 2, 0, 3, 8, 0, 65, 176, 0, 0 },
481 { 1, 0, 0x40, 6, 0x3A, 2, 0, 3, 8, 0, 425, 67, 0, 0 },
482 { 1, 0, 0x40, 6, 0x32, 1, 0x32, 0x39, 8, 0, 428, 75, 0, 0 },
483 { 1, 0, 0x40, 4, 0x3C, 2, 0, 3, 8, 0, 470, 149, 176, 0 },
484 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 86, 239, 258, 0 },
485 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 160, 220, 248, 0 },
486 { 1, 0, 0x40, 4, 2, 0, 0, 0, 0, 0, 192, 204, 232, 0 },
487 { 1, 0, 0x40, 4, 3, 0, 0, 0, 0, 0, 320, 201, 231, 0 },
488 { 1, 0, 0x40, 4, 4, 0, 0, 0, 0, 0, 291, 185, 209, 0 },
489 { 1, 0, 0x40, 4, 5, 0, 0, 0, 0, 0, 352, 147, 168, 0 },
490 { 1, 0, 0x40, 4, 6, 0, 0, 0, 0, 0, 371, 140, 160, 0 },
491 { 1, 0, 0x40, 4, 7, 0, 0, 0, 0, 0, 336, 139, 160, 0 },
492 { 1, 0, 0x40, 4, 8, 0, 0, 0, 0, 0, 385, 131, 153, 0 },
493 { 1, 0, 0x40, 4, 9, 0, 0, 0, 0, 0, 320, 131, 153, 0 },
494 { 1, 0, 0x40, 4, 0xA, 0, 0, 0, 0, 0, 401, 123, 144, 0 },
495 { 1, 0, 0x40, 4, 0xB, 0, 0, 0, 0, 0, 304, 117, 144, 0 },
496 { 1, 0, 0x40, 4, 0xC, 0, 0, 0, 0, 0, 464, 149, 176, 0 },
497 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
498};
500 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x271, 0x1F0, 0xA0, 7, 0, 0, 0 },
501 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
502};
504#define EVENT_TEXT_FILE EXTRA_TEXT
506 { 1616, NULL, EVENT_TEXT(8), startEvent1616, NULL },
507 { 1618, NULL, EVENT_TEXT(9), startEvent1618, NULL },
508 { -1, NULL, 0, NULL, NULL },
509};
510/* MENU_SPRITES' frame of the list's window, by the number of options (5 to 8) */
512 28, 27, 25, 36,
513};
514/* MENU_SPRITES' frame of the list's window, by the number of options (5 to 8) */
516 28, 27, 25, 36,
517};
#define NULL
Definition common.h:17
signed int s32
Definition common.h:11
unsigned short u16
Definition common.h:10
GfxState GFX
GFX: the graphics state and its methods.
Definition display.c:209
#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
The stage overlays (AAA/PRO/WSTAG###.PRO), loaded at 0x800A4CA4 on top of FIELDSTG.
#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 FIELD_LAYER_MAP
the map, its objects and characters, and the menus
Definition field_map.h:20
#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 SLOT_EXIT
The kinds of StageSlot (type).
Definition field_map.h:255
#define FIELD_MAP_TRIGGERS
a cell's value: a direction (3 bits) and a StageSlot (5)
Definition field_map.h:88
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 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
The parts of a list menu (StageListMenu), up to eight options that each open a message: WSTAG210's gu...
static void closeListMenu(StageListMenu *task, StageListMenuChildren *children)
Hides the options and the cursor and starts closing the list's window.
static void readListMenuMessage(StageListMenu *task, StageListMenuChildren *children)
Pages through the option's message with X, the arrow blinking while a page waits for it,...
static void moveListMenuCursor(StageListMenu *task)
Moves the cursor up or down the list, held buttons repeating, without leaving it.
static void showListMenuOptions(StageListMenu *task, StageListMenuChildren *children, s32 n)
Writes the options, lines 1 on of the menus' text entry n (each option's message is a line from 9 on)...
static void openListMenuMessage(StageListMenu *task, StageListMenuChildren *children, s32 n)
Starts typing the message of the option under the cursor, from the menus' text entry n.
static void createListMenu(StageListMenu *task, StageListMenuChildren *children)
Creates the menu's eight option lines, its hidden cursor and its message box.
#define PAD_CROSS
Definition pad.h:31
#define PAD_TRIANGLE
Definition pad.h:32
#define PAD_PRESSED(button)
One button of pad 1: newly pressed, auto-repeated while held, or held.
Definition pad.h:140
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 SOUND_MENU_CANCEL
SYSTEM01.
Definition sound.h:39
#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 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
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
Definition field_map.h:114
void(* setPalette)()
Definition text.h:35
void(* setPos)()
(cursor, x, y)
Definition text.h:34
void(* setStill)()
Definition text.h:38
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
s32(* getTime)(void)
Definition gfx.h:31
GfxFuncs funcs
Definition gfx.h:77
s32 level
Definition menu.h:21
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(* setClutRow)()
(row)
Definition gfx.h:247
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
TextWindow * message
Definition stage.h:688
A list menu whose entries show a message.
Definition stage.h:675
s32 arrowFrame
Definition stage.h:680
PanelAnim tweens[2]
list, message box
Definition stage.h:682
s32 substate
Definition stage.h:676
s32 showArrow
Definition stage.h:679
s32 arrowTime
Definition stage.h:681
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(* 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
#define PALETTE_WHITE
The text windows' palettes (TextWindow.palette, setPalette): rows of the font's CLUTs,...
Definition text.h:112
#define PALETTE_GREY
what is unavailable
Definition text.h:119
s32 updateTween(PanelAnim *tween)
Steps the tween (stageFuncs.update): whether it has ended.
u16 actor1Conditions[]
Definition wstag935.c:437
u16 actor0Talk0Actions[]
Definition wstag935.c:322
u16 actor6Talk0Actions[]
Definition wstag935.c:350
FieldActorEntry actor0
Definition wstag935.c:447
s32 event1618WindowFrames[]
MENU_SPRITES' frame of the list's window, by the number of options (5 to 8)
Definition wstag935.c:515
FieldActorEntry actor6
Definition wstag935.c:453
u16 actor9Talk1Actions[]
Definition wstag935.c:366
u16 actor11Conditions[]
Definition wstag935.c:446
FieldTalk actor2Talks[]
Definition wstag935.c:385
u16 actor2Talk1Conditions[]
Definition wstag935.c:325
u16 actor4Talk3Conditions[]
Definition wstag935.c:347
u16 actor4Talk1Actions[]
Definition wstag935.c:339
u16 actor10Conditions[]
Definition wstag935.c:445
u16 actor4Talk2Actions[]
Definition wstag935.c:346
FieldTalk actor5Talks[]
Definition wstag935.c:403
FieldActorEntry actor5
Definition wstag935.c:452
FieldActorEntry actor2
Definition wstag935.c:449
u16 actor9Talk0Conditions[]
Definition wstag935.c:363
u16 actor6Talk1Conditions[]
Definition wstag935.c:351
u16 actor9Talk2Actions[]
Definition wstag935.c:373
#define STAGE_FILE_8
Definition wstag935.c:24
u16 actor9Conditions[]
Definition wstag935.c:444
FieldActorEntry * stageActors[]
Definition wstag935.c:461
u16 actor2Talk3Conditions[]
Definition wstag935.c:334
u16 actor7Talk0Actions[]
Definition wstag935.c:362
u16 actor4Talk1Conditions[]
Definition wstag935.c:338
u16 actor6Talk2Conditions[]
Definition wstag935.c:358
FieldTalk actor1Talks[]
Definition wstag935.c:381
u16 actor2Talk1Actions[]
Definition wstag935.c:326
FieldTalk actor0Talks[]
Definition wstag935.c:377
u16 actor6Talk2Actions[]
Definition wstag935.c:359
FieldActorEntry actor10
Definition wstag935.c:457
u16 actor2Talk0Actions[]
Definition wstag935.c:324
FieldTalk actor4Talks[]
Definition wstag935.c:396
u16 actor4Conditions[]
Definition wstag935.c:440
FieldActorEntry actor4
Definition wstag935.c:451
u16 actor3Conditions[]
Definition wstag935.c:439
u16 actor2Talk2Conditions[]
Definition wstag935.c:332
FieldTalk actor11Talks[]
Definition wstag935.c:433
FieldActorEntry actor8
Definition wstag935.c:455
u16 actor6Talk3Actions[]
Definition wstag935.c:361
u16 actor2Talk3Actions[]
Definition wstag935.c:335
ActorImage stageImages[]
Definition wstag935.c:305
FieldTalk actor6Talks[]
Definition wstag935.c:407
void setupStage(void)
Sets the stage up: its map, actors and events, playing SHOP2BGM.
Definition wstag935.c:31
u16 actor10Talk0Actions[]
Definition wstag935.c:376
u16 actor4Talk0Conditions[]
Definition wstag935.c:336
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag935.c:478
FieldActorEntry actor9
Definition wstag935.c:456
u16 actor8Conditions[]
Definition wstag935.c:443
u16 actor9Talk1Conditions[]
Definition wstag935.c:365
u16 actor5Conditions[]
Definition wstag935.c:441
FieldTalk actor10Talks[]
Definition wstag935.c:429
FieldTalk actor3Talks[]
Definition wstag935.c:392
FieldTalk actor9Talks[]
Definition wstag935.c:422
u16 actor6Talk3Conditions[]
Definition wstag935.c:360
void * startEvent1616(void)
Starts event 1616, the card battle rules: a list of topics (Card Battles, Card Battle Flow,...
Definition wstag935.c:174
u16 actor2Talk0Conditions[]
Definition wstag935.c:323
FieldActorEntry actor12
Definition wstag935.c:459
u16 actor2Talk2Actions[]
Definition wstag935.c:333
u16 actor6Talk0Conditions[]
Definition wstag935.c:349
u16 actor6Conditions[]
Definition wstag935.c:442
u16 actor9Talk3Actions[]
Definition wstag935.c:375
FieldActorEntry actor7
Definition wstag935.c:454
StageSlot stageSlots[]
Definition wstag935.c:499
FieldActorEntry actor13
Definition wstag935.c:460
void updateEvent1618(StageListMenu *task, StageListMenuChildren *children)
A list of up to eight options that each open a message.
Definition wstag935.c:179
FieldActorEntry actor11
Definition wstag935.c:458
s32 event1616WindowFrames[]
Defined below, after the code that uses them.
Definition wstag935.c:511
FieldActorEntry actor1
Definition wstag935.c:448
u16 actor9Talk0Actions[]
Definition wstag935.c:364
#define STAGE_FILE
Definition wstag935.c:23
u16 actor4Talk0Actions[]
Definition wstag935.c:337
u16 actor6Talk1Actions[]
Definition wstag935.c:352
u16 actor2Conditions[]
Definition wstag935.c:438
FieldTalk actor7Talks[]
Definition wstag935.c:414
u16 actor9Talk2Conditions[]
Definition wstag935.c:372
u16 actor4Talk3Actions[]
Definition wstag935.c:348
u16 actor9Talk3Conditions[]
Definition wstag935.c:374
#define STAGE_TEXT
Definition wstag935.c:22
FieldTalk actor8Talks[]
Definition wstag935.c:418
u16 actor4Talk2Conditions[]
Definition wstag935.c:345
FieldActorEntry actor3
Definition wstag935.c:450
FieldEvent stageEvents[]
Definition wstag935.c:505
void updateEvent1616(StageListMenu *task, StageListMenuChildren *children)
A list of up to eight options that each open a message.
Definition wstag935.c:56
void * startEvent1618(void)
Starts event 1618, the cards: a list of topics (Create Folder, Digi Cards, Program Card,...
Definition wstag935.c:301
StageFuncs stageFuncs
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag935.c:503