Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag686.c
Go to the documentation of this file.
1/*
2 * WSTAG686: Underground Cave, Bai Hu City. On the Amaterasu server; its Asuka
3 * server twin is WSTAG685.
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 0x5EF
15#elif VERSION_EU
16#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_03)
17#define STAGE_FILE 0x5FF
18#endif
19/* Sets the stage up: its map and actors, playing the ambience ENV_0020 */
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, 0x16E, 0x158, 0xB8, 0x58, 0x150, 0x1FF },
46 { 0x140, 0x100, 0x176, 0x158, 0xD8, 0x58, 0x160, 0x1FF },
47 { 0x140, 0x100, 0x164, 0x180, 0x90, 0x80, 0x170, 0x1FF },
48 { 0x140, 0x100, 0x16C, 0x188, 0xB0, 0x88, 0x150, 0x1FE },
49 { 0x140, 0x100, 0x174, 0x188, 0xD0, 0x88, 0x160, 0x1FE },
50 { 0x140, 0x100, 0x14E, 0x18D, 0x38, 0x8D, 0x170, 0x1FE },
51 { 0x140, 0x100, 0x156, 0x195, 0x58, 0x95, 0x140, 0x1FD },
52 { 0x140, 0x100, 0x140, 0x1A6, 0, 0xA6, 0x150, 0x1FD },
53 { 0x140, 0x100, 0x16C, 0x1A8, 0xB0, 0xA8, 0x160, 0x1FD },
54 { 0x140, 0x100, 0x174, 0x1A8, 0xD0, 0xA8, 0x170, 0x1FD },
55};
63 { NULL, NULL, 0x165 },
64 { NULL, NULL, 0 },
65};
67 { NULL, NULL, 0x166 },
68 { NULL, NULL, 0 },
69};
71 { NULL, NULL, 0x167 },
72 { NULL, NULL, 0 },
73};
75 { actor3Talk0Conditions, NULL, 0x15B },
76 { actor3Talk1Conditions, NULL, 0x15C },
77 { actor3Talk2Conditions, NULL, 0x15D },
78 { NULL, NULL, 0 },
79};
81 { NULL, NULL, 0x15F },
82 { NULL, NULL, 0 },
83};
85 { actor5Talk0Conditions, NULL, 0x160 },
86 { actor5Talk1Conditions, NULL, 0x161 },
87 { actor5Talk2Conditions, NULL, 0x162 },
88 { NULL, NULL, 0 },
89};
91 { NULL, NULL, 0x164 },
92 { NULL, NULL, 0 },
93};
95 { NULL, NULL, 0x168 },
96 { NULL, NULL, 0 },
97};
99 { NULL, NULL, 0x168 },
100 { NULL, NULL, 0 },
101};
103 { NULL, NULL, 0x169 },
104 { NULL, NULL, 0 },
105};
107 { NULL, NULL, 0x169 },
108 { NULL, NULL, 0 },
109};
111 { NULL, NULL, 0x16A },
112 { NULL, NULL, 0 },
113};
115 { NULL, NULL, 0x16A },
116 { NULL, NULL, 0 },
117};
119 { NULL, NULL, 0x15E },
120 { NULL, NULL, 0 },
121};
123 { NULL, NULL, 0x163 },
124 { NULL, NULL, 0 },
125};
174FieldActorEntry actor9 = { actor9Conditions, actor9Talks, 0x9E, 0xA, 560, 304, 7 };
181 &actor0,
182 &actor1,
183 &actor2,
184 &actor3,
185 &actor4,
186 &actor5,
187 &actor6,
188 &actor7,
189 &actor8,
190 &actor9,
191 &actor10,
192 &actor11,
193 &actor12,
194 &actor13,
195 &actor14,
196 NULL,
197};
199 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 6, 0, 177, 76, 0, 0 },
200 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 6, 0, 244, 43, 0, 0 },
201 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 6, 0, 350, 54, 0, 0 },
202 { 1, 0, 0x80, 6, 4, 0, 0, 0, 0, 0, 390, 289, 0, 0 },
203 { 1, 0, 0x58, 4, 0, 0, 0, 0, 0, 0, 1025, 223, 307, 0 },
204 { 1, 0, 0x40, 4, 1, 0, 0, 0, 0, 0, 492, 452, 508, 0 },
205 { 1, 0, 0x42, 4, 2, 0, 0, 0, 0, 0, 625, 443, 501, 0 },
206 { 1, 0, 0x5B, 4, 3, 0, 0, 0, 0, 0, 639, 378, 454, 0 },
207 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
208};
210 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x2C7, 0x290, 0x1F0, 1, 0, 0, 0 },
211 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_DROP, 9, 0, 0, 0, 0, 0, 0 },
212 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 8, 0x1C4, 0xA0, 0, 0, 0, 0 },
213 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 8, 0x1D5, 0x12C, 0, 0, 0, 0 },
214 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x1BF, 0x150, 0, 0, 0, 0 },
215 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0x1AF, 0x198, 0, 0, 0, 0 },
216 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
217};
218void (*stageFuncs[])(void) = {
220};
#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
#define SLOT_DROP
Definition field_map.h:258
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_UNDERGROUND_CAVE
ENV_0020: the Underground Cave.
Definition sound.h:136
#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_AMATERASU_BRIDGE
WSTAG206 (Amaterasu Bridge), event 922: an Attacker holds the bridge.
Definition story.h:133
@ 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_JUNGLE_SOUND_TO_BLACK_ID_PASS
GAME.progress is from STORY_JUNGLE_SOUND to STORY_BLACK_ID_PASS (PROGRESS_RANGES[0x15])
Definition story.h:1926
#define SPECIAL_STORY_JUNGLE_SOUND_TO_PRESIDENT_ARRESTED
GAME.progress is from STORY_JUNGLE_SOUND to STORY_PRESIDENT_ARRESTED (PROGRESS_RANGES[0x17])
Definition story.h:1932
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 wstag686.c:131
FieldActorEntry actor0
Definition wstag686.c:165
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag686.c:218
FieldActorEntry actor6
Definition wstag686.c:171
u16 actor11Conditions[]
Definition wstag686.c:157
FieldTalk actor2Talks[]
Definition wstag686.c:70
u16 actor10Conditions[]
Definition wstag686.c:156
u16 actor5Talk0Conditions[]
Definition wstag686.c:59
FieldTalk actor14Talks[]
Definition wstag686.c:122
FieldTalk actor5Talks[]
Definition wstag686.c:84
FieldActorEntry actor5
Definition wstag686.c:170
FieldActorEntry actor2
Definition wstag686.c:167
u16 actor3Talk0Conditions[]
Definition wstag686.c:56
u16 actor9Conditions[]
Definition wstag686.c:151
FieldActorEntry * stageActors[]
Definition wstag686.c:180
FieldTalk actor1Talks[]
Definition wstag686.c:66
u16 actor13Conditions[]
Definition wstag686.c:163
FieldTalk actor0Talks[]
Definition wstag686.c:62
u16 actor3Talk2Conditions[]
Definition wstag686.c:58
FieldActorEntry actor10
Definition wstag686.c:175
u16 actor3Talk1Conditions[]
Definition wstag686.c:57
FieldTalk actor4Talks[]
Definition wstag686.c:80
u16 actor4Conditions[]
Definition wstag686.c:142
FieldActorEntry actor4
Definition wstag686.c:169
u16 actor3Conditions[]
Definition wstag686.c:141
FieldTalk actor11Talks[]
Definition wstag686.c:110
FieldActorEntry actor8
Definition wstag686.c:173
ActorImage stageImages[]
Definition wstag686.c:38
FieldTalk actor6Talks[]
Definition wstag686.c:90
void setupStage(void)
Sets the stage up: its map and actors, playing the ambience ENV_0020.
Definition wstag686.c:20
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag686.c:198
FieldActorEntry actor9
Definition wstag686.c:174
u16 actor8Conditions[]
Definition wstag686.c:150
u16 actor5Conditions[]
Definition wstag686.c:143
FieldTalk actor10Talks[]
Definition wstag686.c:106
FieldTalk actor3Talks[]
Definition wstag686.c:74
FieldTalk actor9Talks[]
Definition wstag686.c:102
FieldActorEntry actor12
Definition wstag686.c:177
u16 actor6Conditions[]
Definition wstag686.c:144
u16 actor14Conditions[]
Definition wstag686.c:164
FieldActorEntry actor7
Definition wstag686.c:172
StageSlot stageSlots[]
Definition wstag686.c:209
u16 actor5Talk1Conditions[]
Definition wstag686.c:60
FieldActorEntry actor13
Definition wstag686.c:178
u16 actor5Talk2Conditions[]
Definition wstag686.c:61
FieldActorEntry actor11
Definition wstag686.c:176
FieldActorEntry actor1
Definition wstag686.c:166
FieldTalk actor13Talks[]
Definition wstag686.c:118
#define STAGE_FILE
Definition wstag686.c:17
u16 actor7Conditions[]
Definition wstag686.c:145
u16 actor2Conditions[]
Definition wstag686.c:136
FieldTalk actor7Talks[]
Definition wstag686.c:94
#define STAGE_TEXT
Definition wstag686.c:16
FieldTalk actor8Talks[]
Definition wstag686.c:98
FieldTalk actor12Talks[]
Definition wstag686.c:114
FieldActorEntry actor3
Definition wstag686.c:168
FieldActorEntry actor14
Definition wstag686.c:179
u16 actor12Conditions[]
Definition wstag686.c:162
u16 actor0Conditions[]
Definition wstag686.c:126