Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag256.c
Go to the documentation of this file.
1/*
2 * WSTAG256: Lamb Chop, Amaterasu City. On the Amaterasu server; its Asuka
3 * server twin is WSTAG255.
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 0x282
15#define STAGE_ARCHIVE 0x3C1
16#elif VERSION_EU
17#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_03)
18#define STAGE_FILE 0x291
19#define STAGE_ARCHIVE 0x3D1
20#endif
21/* Sets the stage up: its map and actors, playing SHOP2BGM */
39
41 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
42 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
43 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
44 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
45 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
46 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
47 { 0x140, 0x100, 0x16A, 0x162, 0xA8, 0x62, 0x150, 0x1FF },
48 { 0x140, 0x100, 0x140, 0x15A, 0, 0x5A, 0x160, 0x1FF },
49 { 0x140, 0x100, 0x154, 0x172, 0x50, 0x72, 0x170, 0x1FF },
50 { 0x140, 0x100, 0x15C, 0x180, 0x70, 0x80, 0x150, 0x1FE },
51 { 0x140, 0x100, 0x140, 0x182, 0, 0x82, 0x160, 0x1FE },
52 { 0x140, 0x100, 0x164, 0x18A, 0x90, 0x8A, 0x170, 0x1FE },
53 { 0x140, 0x100, 0x148, 0x193, 0x20, 0x93, 0x150, 0x1FD },
54 { 0x140, 0x100, 0x172, 0x160, 0xC8, 0x60, 0x160, 0x1FD },
55 { 0x140, 0x100, 0x150, 0x19A, 0x40, 0x9A, 0x170, 0x1FD },
56 { 0x140, 0x100, 0x158, 0x1A8, 0x60, 0xA8, 0x140, 0x1FC },
57 { 0x140, 0x100, 0x140, 0x1AA, 0, 0xAA, 0x150, 0x1FC },
58 { 0x140, 0x100, 0x160, 0x1AA, 0x80, 0xAA, 0x160, 0x1FC },
59 { 0x140, 0x100, 0x168, 0x1AA, 0xA0, 0xAA, 0x170, 0x1FC },
60 { 0x140, 0x100, 0x170, 0x1AA, 0xC0, 0xAA, 0x140, 0x1FB },
61 { 0, 0, 0, 0, 0, 0, 0, 0 },
62 { 0, 0, 0, 0, 0, 0, 0, 0 },
63};
65 { NULL, NULL, 0x78 },
66 { NULL, NULL, 0 },
67};
69 { NULL, NULL, 0x7A },
70 { NULL, NULL, 0 },
71};
73 { NULL, NULL, 0x7C },
74 { NULL, NULL, 0 },
75};
77 { NULL, NULL, 0x7E },
78 { NULL, NULL, 0 },
79};
81 { NULL, NULL, 0x84 },
82 { NULL, NULL, 0 },
83};
85 { NULL, NULL, 0x80 },
86 { NULL, NULL, 0 },
87};
89 { NULL, NULL, 0x82 },
90 { NULL, NULL, 0 },
91};
93 { NULL, NULL, 0x87 },
94 { NULL, NULL, 0 },
95};
97 { NULL, NULL, 0x8A },
98 { NULL, NULL, 0 },
99};
101 { NULL, NULL, 0x89 },
102 { NULL, NULL, 0 },
103};
105 { NULL, NULL, 0x77 },
106 { NULL, NULL, 0 },
107};
109 { NULL, NULL, 0x79 },
110 { NULL, NULL, 0 },
111};
113 { NULL, NULL, 0x7B },
114 { NULL, NULL, 0 },
115};
117 { NULL, NULL, 0x7D },
118 { NULL, NULL, 0 },
119};
121 { NULL, NULL, 0x86 },
122 { NULL, NULL, 0 },
123};
125 { NULL, NULL, 0x88 },
126 { NULL, NULL, 0 },
127};
129 { NULL, NULL, 0x83 },
130 { NULL, NULL, 0 },
131};
133 { NULL, NULL, 0x85 },
134 { NULL, NULL, 0 },
135};
137 { NULL, NULL, 0x7F },
138 { NULL, NULL, 0 },
139};
141 { NULL, NULL, 0x81 },
142 { NULL, NULL, 0 },
143};
237FieldActorEntry actor9 = { actor9Conditions, actor9Talks, 0x3A, 0xA, 133, 187, 1 };
238FieldActorEntry actor10 = { actor10Conditions, NULL, 0x44, 0xB, 307, 240, 5 };
239FieldActorEntry actor11 = { actor11Conditions, NULL, 0x44, 0xB, 307, 240, 5 };
244FieldActorEntry actor16 = { actor16Conditions, NULL, 0x9F, 0xE, 307, 240, 5 };
245FieldActorEntry actor17 = { actor17Conditions, NULL, 0x9F, 0xE, 307, 240, 5 };
252FieldActorEntry actor24 = { actor24Conditions, NULL, 0xE0, 0x12, 267, 266, 1 };
253FieldActorEntry actor25 = { actor25Conditions, NULL, 0xE0, 0x12, 267, 266, 1 };
254FieldActorEntry actor26 = { actor26Conditions, NULL, 0x10E, 0x13, 267, 266, 1 };
255FieldActorEntry actor27 = { actor27Conditions, NULL, 0x10E, 0x13, 267, 266, 1 };
257 &actor0,
258 &actor1,
259 &actor2,
260 &actor3,
261 &actor4,
262 &actor5,
263 &actor6,
264 &actor7,
265 &actor8,
266 &actor9,
267 &actor10,
268 &actor11,
269 &actor12,
270 &actor13,
271 &actor14,
272 &actor15,
273 &actor16,
274 &actor17,
275 &actor18,
276 &actor19,
277 &actor20,
278 &actor21,
279 &actor22,
280 &actor23,
281 &actor24,
282 &actor25,
283 &actor26,
284 &actor27,
285 NULL,
286};
288 { 1, 0, 0x40, 2, 0xC, 0, 0, 0, 0, 0, 115, 131, 0, 0 },
289 { 1, 0, 0x40, 2, 0xC, 0, 0, 0, 0, 0, 163, 107, 0, 0 },
290 { 1, 0, 0x40, 2, 0xC, 0, 0, 0, 0, 0, 227, 75, 0, 0 },
291 { 1, 0, 0x40, 2, 0xD, 0, 0, 0, 0, 0, 280, 73, 0, 0 },
292 { 1, 0, 0x40, 2, 0xD, 0, 0, 0, 0, 0, 328, 97, 0, 0 },
293 { 1, 0, 0x40, 2, 0xD, 0, 0, 0, 0, 0, 376, 121, 0, 0 },
294 { 1, 0, 0x40, 2, 0xA, 2, 0, 2, 4, 0, 117, 147, 0, 0 },
295 { 1, 0, 0x40, 2, 0xA, 2, 0, 2, 4, 0, 165, 124, 0, 0 },
296 { 1, 0, 0x40, 2, 0xA, 2, 0, 2, 4, 0, 229, 92, 0, 0 },
297 { 1, 0, 0x40, 2, 0xB, 2, 0, 2, 4, 0, 259, 90, 0, 0 },
298 { 1, 0, 0x40, 2, 0xB, 2, 0, 2, 4, 0, 307, 115, 0, 0 },
299 { 1, 0, 0x40, 2, 0xB, 2, 0, 2, 4, 0, 355, 139, 0, 0 },
300 { 1, 0x64, 0x40, 6, 0xF, 0, 0, 0, 0, 0, 350, 125, 0, 0 },
301 { 1, 0, 0x40, 4, 0, 0, 0, 0, 0, 0, 192, 271, 301, 0 },
302 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 184, 263, 288, 0 },
303 { 1, 0, 0x40, 4, 2, 0, 0, 0, 0, 0, 178, 254, 277, 0 },
304 { 1, 0, 0x40, 4, 0xE, 0, 0, 0, 0, 0, 152, 216, 233, 0 },
305 { 1, 0, 0x40, 4, 3, 0, 0, 0, 0, 0, 280, 256, 280, 0 },
306 { 1, 0, 0x40, 4, 4, 0, 0, 0, 0, 0, 264, 248, 271, 0 },
307 { 1, 0, 0x40, 4, 5, 0, 0, 0, 0, 0, 248, 240, 264, 0 },
308 { 1, 0, 0x40, 4, 6, 0, 0, 0, 0, 0, 232, 232, 256, 0 },
309 { 1, 0, 0x40, 4, 7, 0, 0, 0, 0, 0, 217, 222, 248, 0 },
310 { 1, 0, 0x40, 4, 8, 0, 0, 0, 0, 0, 312, 231, 263, 0 },
311 { 1, 0, 0x40, 4, 9, 0, 0, 0, 0, 0, 332, 222, 253, 0 },
312 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
313};
315 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x270, 0x112, 0x220, 1, 0, 0, 0 },
316 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x279, 0x68, 0x15A, 5, 0x64, 0, 0 },
317 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
318};
319void (*stageFuncs[])(void) = {
321};
#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 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
#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 wstag256.c:149
u16 actor26Conditions[]
Definition wstag256.c:222
FieldActorEntry actor0
Definition wstag256.c:228
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag256.c:319
FieldActorEntry actor6
Definition wstag256.c:234
u16 actor11Conditions[]
Definition wstag256.c:179
FieldTalk actor2Talks[]
Definition wstag256.c:72
u16 actor10Conditions[]
Definition wstag256.c:174
FieldActorEntry actor25
Definition wstag256.c:253
FieldActorEntry actor24
Definition wstag256.c:252
u16 actor18Conditions[]
Definition wstag256.c:198
FieldActorEntry actor17
Definition wstag256.c:245
FieldTalk actor14Talks[]
Definition wstag256.c:112
u16 actor24Conditions[]
Definition wstag256.c:216
FieldActorEntry actor18
Definition wstag256.c:246
FieldTalk actor5Talks[]
Definition wstag256.c:84
FieldActorEntry actor5
Definition wstag256.c:233
u16 actor22Conditions[]
Definition wstag256.c:210
FieldActorEntry actor2
Definition wstag256.c:230
FieldActorEntry actor23
Definition wstag256.c:251
FieldActorEntry actor19
Definition wstag256.c:247
u16 actor9Conditions[]
Definition wstag256.c:173
FieldActorEntry * stageActors[]
Definition wstag256.c:256
u16 actor23Conditions[]
Definition wstag256.c:215
FieldActorEntry actor22
Definition wstag256.c:250
FieldTalk actor1Talks[]
Definition wstag256.c:68
u16 actor13Conditions[]
Definition wstag256.c:185
FieldTalk actor0Talks[]
Definition wstag256.c:64
#define STAGE_ARCHIVE
Definition wstag256.c:19
FieldTalk actor21Talks[]
Definition wstag256.c:132
FieldActorEntry actor27
Definition wstag256.c:255
FieldTalk actor20Talks[]
Definition wstag256.c:128
FieldActorEntry actor10
Definition wstag256.c:238
u16 actor19Conditions[]
Definition wstag256.c:203
FieldTalk actor4Talks[]
Definition wstag256.c:80
u16 actor4Conditions[]
Definition wstag256.c:156
FieldActorEntry actor4
Definition wstag256.c:232
u16 actor3Conditions[]
Definition wstag256.c:155
FieldActorEntry actor8
Definition wstag256.c:236
ActorImage stageImages[]
Definition wstag256.c:40
FieldTalk actor6Talks[]
Definition wstag256.c:88
void setupStage(void)
Sets the stage up: its map and actors, playing SHOP2BGM.
Definition wstag256.c:22
FieldTalk actor19Talks[]
Definition wstag256.c:124
FieldTalk actor23Talks[]
Definition wstag256.c:140
u16 actor16Conditions[]
Definition wstag256.c:192
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag256.c:287
FieldActorEntry actor9
Definition wstag256.c:237
u16 actor8Conditions[]
Definition wstag256.c:172
FieldActorEntry actor20
Definition wstag256.c:248
u16 actor5Conditions[]
Definition wstag256.c:161
FieldTalk actor3Talks[]
Definition wstag256.c:76
FieldTalk actor9Talks[]
Definition wstag256.c:100
FieldTalk actor15Talks[]
Definition wstag256.c:116
FieldActorEntry actor15
Definition wstag256.c:243
FieldActorEntry actor12
Definition wstag256.c:240
u16 actor27Conditions[]
Definition wstag256.c:223
FieldActorEntry actor16
Definition wstag256.c:244
u16 actor15Conditions[]
Definition wstag256.c:191
u16 actor6Conditions[]
Definition wstag256.c:166
u16 actor14Conditions[]
Definition wstag256.c:186
FieldActorEntry actor7
Definition wstag256.c:235
StageSlot stageSlots[]
Definition wstag256.c:314
FieldActorEntry actor13
Definition wstag256.c:241
FieldActorEntry actor11
Definition wstag256.c:239
u16 actor25Conditions[]
Definition wstag256.c:221
FieldActorEntry actor1
Definition wstag256.c:229
FieldActorEntry actor21
Definition wstag256.c:249
FieldTalk actor13Talks[]
Definition wstag256.c:108
#define STAGE_FILE
Definition wstag256.c:18
u16 actor7Conditions[]
Definition wstag256.c:167
u16 actor2Conditions[]
Definition wstag256.c:150
FieldTalk actor18Talks[]
Definition wstag256.c:120
FieldTalk actor7Talks[]
Definition wstag256.c:92
u16 actor20Conditions[]
Definition wstag256.c:204
#define STAGE_TEXT
Definition wstag256.c:17
FieldTalk actor8Talks[]
Definition wstag256.c:96
FieldTalk actor12Talks[]
Definition wstag256.c:104
u16 actor21Conditions[]
Definition wstag256.c:209
u16 actor17Conditions[]
Definition wstag256.c:197
FieldActorEntry actor3
Definition wstag256.c:231
FieldActorEntry actor26
Definition wstag256.c:254
FieldActorEntry actor14
Definition wstag256.c:242
u16 actor12Conditions[]
Definition wstag256.c:180
FieldTalk actor22Talks[]
Definition wstag256.c:136
u16 actor0Conditions[]
Definition wstag256.c:144