Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag281.c
Go to the documentation of this file.
1/*
2 * WSTAG281: El Dorado, Amaterasu City. On the Amaterasu server; its Asuka
3 * server twin is WSTAG280.
4 */
5
6#include "common.h"
7#include "field/stage.h"
8
11
12#if VERSION_US || VERSION_JP
13#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_03)
14#define STAGE_FILE 0x507
15#elif VERSION_EU
16#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_03)
17#define STAGE_FILE 0x517
18#endif
19/* Sets the stage up: its map and actors, playing SHOP2BGM */
37
39 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
40 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
41 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
42 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
43 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
44 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
45 { 0x140, 0x100, 0x160, 0x1AA, 0x80, 0xAA, 0x170, 0x1FF },
46 { 0x140, 0x100, 0x166, 0x182, 0x98, 0x82, 0x160, 0x1FE },
47 { 0x140, 0x100, 0x16E, 0x182, 0xB8, 0x82, 0x170, 0x1FE },
48 { 0x140, 0x100, 0x176, 0x182, 0xD8, 0x82, 0x140, 0x1FD },
49 { 0x140, 0x100, 0x150, 0x189, 0x40, 0x89, 0x160, 0x1FD },
50 { 0x140, 0x100, 0x168, 0x1AA, 0xA0, 0xAA, 0x170, 0x1FD },
51 { 0x140, 0x100, 0x170, 0x1AA, 0xC0, 0xAA, 0x140, 0x1FC },
52 { 0x140, 0x100, 0x148, 0x1B1, 0x20, 0xB1, 0x150, 0x1FC },
53 { 0x140, 0x100, 0x150, 0x1B1, 0x40, 0xB1, 0x160, 0x1FC },
54 { 0x140, 0x100, 0x158, 0x1CA, 0x60, 0xCA, 0x170, 0x1FC },
55 { 0x140, 0x100, 0x160, 0x1CA, 0x80, 0xCA, 0x140, 0x1FB },
56 { 0x140, 0x100, 0x158, 0x1A2, 0x60, 0xA2, 0x160, 0x1FB },
57 { 0, 0, 0, 0, 0, 0, 0, 0 },
58 { 0x140, 0x100, 0x170, 0x1CA, 0xC0, 0xCA, 0x170, 0x1FB },
59 { 0x140, 0x100, 0x140, 0x1A9, 0, 0xA9, 0x140, 0x1FA },
60};
62 { NULL, NULL, 0x8F },
63 { NULL, NULL, 0 },
64};
66 { NULL, NULL, 0x91 },
67 { NULL, NULL, 0 },
68};
70 { NULL, NULL, 0x93 },
71 { NULL, NULL, 0 },
72};
74 { NULL, NULL, 0x9F },
75 { NULL, NULL, 0 },
76};
78 { NULL, NULL, 0xA0 },
79 { NULL, NULL, 0 },
80};
82 { NULL, NULL, 0x97 },
83 { NULL, NULL, 0 },
84};
86 { NULL, NULL, 0xA1 },
87 { NULL, NULL, 0 },
88};
90 { NULL, NULL, 0x9A },
91 { NULL, NULL, 0 },
92};
94 { NULL, NULL, 0x8E },
95 { NULL, NULL, 0 },
96};
98 { NULL, NULL, 0x90 },
99 { NULL, NULL, 0 },
100};
102 { NULL, NULL, 0x99 },
103 { NULL, NULL, 0 },
104};
106 { NULL, NULL, 0x9B },
107 { NULL, NULL, 0 },
108};
110 { NULL, NULL, 0x92 },
111 { NULL, NULL, 0 },
112};
114 { NULL, NULL, 0x94 },
115 { NULL, NULL, 0 },
116};
118 { NULL, NULL, 0x96 },
119 { NULL, NULL, 0 },
120};
122 { NULL, NULL, 0x98 },
123 { NULL, NULL, 0 },
124};
126 { NULL, NULL, 0x1F6 },
127 { NULL, NULL, 0 },
128};
130 { NULL, NULL, 0x9C },
131 { NULL, NULL, 0 },
132};
134 { NULL, NULL, 0x9E },
135 { NULL, NULL, 0 },
136};
138 { NULL, NULL, 0x9D },
139 { NULL, NULL, 0 },
140};
142 { NULL, NULL, 0x95 },
143 { NULL, NULL, 0 },
144};
212FieldActorEntry actor7 = { actor7Conditions, actor7Talks, 0x3A, 0xA, 352, 296, 5 };
213FieldActorEntry actor8 = { actor8Conditions, actor8Talks, 0x9D, 0xB, 471, 245, 5 };
214FieldActorEntry actor9 = { actor9Conditions, actor9Talks, 0x9D, 0xB, 471, 245, 5 };
221FieldActorEntry actor16 = { NULL, actor16Talks, 0x10B, 0xF, 353, 160, 7 };
222FieldActorEntry actor17 = { NULL, NULL, 0x10C, 0x10, 360, 172, 7 };
223FieldActorEntry actor18 = { actor18Conditions, actor18Talks, 0x119, 0x11, 305, 193, 7 };
224FieldActorEntry actor19 = { actor19Conditions, actor19Talks, 0x119, 0x11, 305, 193, 7 };
225FieldActorEntry actor20 = { actor20Conditions, actor20Talks, 0x125, 0x12, 368, 224, 3 };
226FieldActorEntry actor21 = { actor21Conditions, actor21Talks, 0x125, 0x12, 305, 193, 7 };
228 &actor0,
229 &actor1,
230 &actor2,
231 &actor3,
232 &actor4,
233 &actor5,
234 &actor6,
235 &actor7,
236 &actor8,
237 &actor9,
238 &actor10,
239 &actor11,
240 &actor12,
241 &actor13,
242 &actor14,
243 &actor15,
244 &actor16,
245 &actor17,
246 &actor18,
247 &actor19,
248 &actor20,
249 &actor21,
250 NULL,
251};
253 { 1, 0, 0x40, 2, 9, 0, 0, 0, 0, 0, 427, 90, 0, 0 },
254 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 84, 130, 0, 0 },
255 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 116, 114, 0, 0 },
256 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 148, 98, 0, 0 },
257 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 272, 44, 0, 0 },
258 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 368, 36, 0, 0 },
259 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 417, 91, 0, 0 },
260 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 453, 113, 0, 0 },
261 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 473, 112, 0, 0 },
262 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 493, 134, 0, 0 },
263 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 497, 124, 0, 0 },
264 { 1, 0, 0x40, 6, 0x33, 2, 0, 1, 4, 0, 292, 104, 0, 0 },
265 { 1, 0, 0x40, 6, 0xA, 0, 0, 0, 0, 0, 400, 59, 0, 0 },
266 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 224, 68, 0, 0 },
267 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 392, 48, 0, 0 },
268 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 416, 60, 0, 0 },
269 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 208, 263, 288, 0 },
270 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 384, 191, 217, 0 },
271 { 1, 0, 0x40, 4, 2, 0, 0, 0, 0, 0, 320, 169, 184, 0 },
272 { 1, 0, 0x40, 4, 3, 0, 0, 0, 0, 0, 304, 161, 174, 0 },
273 { 1, 0, 0x40, 4, 4, 0, 0, 0, 0, 0, 336, 161, 174, 0 },
274 { 1, 0, 0x40, 4, 5, 0, 0, 0, 0, 0, 288, 153, 166, 0 },
275 { 1, 0, 0x40, 4, 6, 0, 0, 0, 0, 0, 352, 153, 166, 0 },
276 { 1, 0, 0x40, 4, 7, 0, 0, 0, 0, 0, 272, 144, 158, 0 },
277 { 1, 0, 0x40, 4, 8, 0, 0, 0, 0, 0, 368, 145, 158, 0 },
278 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
279};
281 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x271, 0x180, 0xD8, 7, 0, 0, 0 },
282 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x281, 0x92, 0x1A2, 7, 0, 0, 0 },
283 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 3, 0x110, 0xB8, 0, 0, 0, 0 },
284 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 3, 0x100, 0xF0, 0, 0, 0, 0 },
285 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
286};
287void (*stageFuncs[])(void) = {
289};
#define NULL
Definition common.h:17
unsigned short u16
Definition common.h:10
The stage overlays (AAA/PRO/WSTAG###.PRO), loaded at 0x800A4CA4 on top of FIELDSTG.
#define SLOT_CLIMB_UP
Definition field_map.h:256
#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_CLIMB_DOWN
Definition field_map.h:257
#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
#define CODES_END
Definition game_state.h:83
#define PROGRESS(n)
GAME.progress is n.
Definition game_state.h:69
#define MUSIC_SHOP_2
SHOP2BGM: Lamb Chop, the Yellow Cruiser and El Dorado.
Definition sound.h:82
#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_OINKMON_CITIZENS_RESTORED
wstag435 Gale Tower: Airdramon spins the windmill and turns everyone back from Oinkmon; tested in 62 ...
Definition story.h:1031
@ STORY_PRESIDENT_ARRESTED
WSTAG226 (Login Room, Amaterasu City), event 935, after the President of MAGAMI gives himself up (WST...
Definition story.h:136
@ 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_AMATERASU_BRIDGE_TO_PRESIDENT_ARRESTED
GAME.progress is from STORY_AMATERASU_BRIDGE to STORY_PRESIDENT_ARRESTED (PROGRESS_RANGES[0x14])
Definition story.h:1923
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
Definition field_map.h:114
A character of the field (FieldState.actors, a list of pointers up to NULL), which FIELDSTG_updateFie...
Definition field_map.h:194
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
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
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
Definition gfx.h:352
u16 actor1Conditions[]
Definition wstag281.c:150
FieldActorEntry actor0
Definition wstag281.c:205
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag281.c:287
FieldActorEntry actor6
Definition wstag281.c:211
u16 actor11Conditions[]
Definition wstag281.c:180
FieldTalk actor2Talks[]
Definition wstag281.c:69
u16 actor10Conditions[]
Definition wstag281.c:175
u16 actor18Conditions[]
Definition wstag281.c:193
FieldActorEntry actor17
Definition wstag281.c:222
FieldTalk actor14Talks[]
Definition wstag281.c:117
FieldActorEntry actor18
Definition wstag281.c:223
FieldTalk actor5Talks[]
Definition wstag281.c:81
FieldActorEntry actor5
Definition wstag281.c:210
FieldActorEntry actor2
Definition wstag281.c:207
FieldActorEntry actor19
Definition wstag281.c:224
u16 actor9Conditions[]
Definition wstag281.c:174
FieldActorEntry * stageActors[]
Definition wstag281.c:227
FieldTalk actor1Talks[]
Definition wstag281.c:65
u16 actor13Conditions[]
Definition wstag281.c:186
FieldTalk actor0Talks[]
Definition wstag281.c:61
FieldTalk actor21Talks[]
Definition wstag281.c:141
FieldTalk actor20Talks[]
Definition wstag281.c:137
FieldActorEntry actor10
Definition wstag281.c:215
u16 actor19Conditions[]
Definition wstag281.c:198
FieldTalk actor4Talks[]
Definition wstag281.c:77
u16 actor4Conditions[]
Definition wstag281.c:157
FieldActorEntry actor4
Definition wstag281.c:209
u16 actor3Conditions[]
Definition wstag281.c:156
FieldTalk actor11Talks[]
Definition wstag281.c:105
FieldActorEntry actor8
Definition wstag281.c:213
ActorImage stageImages[]
Definition wstag281.c:38
FieldTalk actor6Talks[]
Definition wstag281.c:85
void setupStage(void)
Sets the stage up: its map and actors, playing SHOP2BGM.
Definition wstag281.c:20
FieldTalk actor19Talks[]
Definition wstag281.c:133
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag281.c:252
FieldActorEntry actor9
Definition wstag281.c:214
u16 actor8Conditions[]
Definition wstag281.c:169
FieldActorEntry actor20
Definition wstag281.c:225
u16 actor5Conditions[]
Definition wstag281.c:158
FieldTalk actor10Talks[]
Definition wstag281.c:101
FieldTalk actor3Talks[]
Definition wstag281.c:73
FieldTalk actor9Talks[]
Definition wstag281.c:97
FieldTalk actor15Talks[]
Definition wstag281.c:121
FieldActorEntry actor15
Definition wstag281.c:220
FieldActorEntry actor12
Definition wstag281.c:217
FieldActorEntry actor16
Definition wstag281.c:221
u16 actor15Conditions[]
Definition wstag281.c:192
u16 actor6Conditions[]
Definition wstag281.c:163
u16 actor14Conditions[]
Definition wstag281.c:187
FieldActorEntry actor7
Definition wstag281.c:212
StageSlot stageSlots[]
Definition wstag281.c:280
FieldActorEntry actor13
Definition wstag281.c:218
FieldActorEntry actor11
Definition wstag281.c:216
FieldActorEntry actor1
Definition wstag281.c:206
FieldActorEntry actor21
Definition wstag281.c:226
FieldTalk actor13Talks[]
Definition wstag281.c:113
#define STAGE_FILE
Definition wstag281.c:17
u16 actor7Conditions[]
Definition wstag281.c:164
u16 actor2Conditions[]
Definition wstag281.c:151
FieldTalk actor18Talks[]
Definition wstag281.c:129
FieldTalk actor7Talks[]
Definition wstag281.c:89
u16 actor20Conditions[]
Definition wstag281.c:199
#define STAGE_TEXT
Definition wstag281.c:16
FieldTalk actor8Talks[]
Definition wstag281.c:93
FieldTalk actor12Talks[]
Definition wstag281.c:109
u16 actor21Conditions[]
Definition wstag281.c:204
FieldTalk actor16Talks[]
Definition wstag281.c:125
FieldActorEntry actor3
Definition wstag281.c:208
FieldActorEntry actor14
Definition wstag281.c:219
u16 actor12Conditions[]
Definition wstag281.c:181
u16 actor0Conditions[]
Definition wstag281.c:145