Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag246.c
Go to the documentation of this file.
1/*
2 * WSTAG246: Wedge's Shop, Amaterasu City. On the Amaterasu server; its Asuka
3 * server twin is WSTAG245.
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 0x4D7
15#elif VERSION_EU
16#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_03)
17#define STAGE_FILE 0x4E7
18#endif
19/* Sets the stage up: its map and actors, playing SHOP1BGM */
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 { 0x180, 0x100, 0x1B0, 0x16E, 0x1C0, 0x6E, 0x150, 0x1FF },
46 { 0x180, 0x100, 0x1B0, 0x196, 0x1C0, 0x96, 0x160, 0x1FF },
47 { 0x180, 0x100, 0x1B0, 0x1DE, 0x1C0, 0xDE, 0x170, 0x1FF },
48 { 0x180, 0x100, 0x1B0, 0x1B6, 0x1C0, 0xB6, 0x150, 0x1FE },
49 { 0x1C0, 0x100, 0x1F2, 0x100, 0x2C8, 0, 0x160, 0x1FE },
50 { 0x1C0, 0x100, 0x1F2, 0x120, 0x2C8, 0x20, 0x170, 0x1FE },
51 { 0x1C0, 0x100, 0x1E2, 0x13F, 0x288, 0x3F, 0x150, 0x1FD },
52 { 0x180, 0x100, 0x1A0, 0x1C4, 0x180, 0xC4, 0x160, 0x1FD },
53 { 0x1C0, 0x100, 0x1EA, 0x13F, 0x2A8, 0x3F, 0x170, 0x1FD },
54};
55u16 actor0Talk0Actions[] = { 0x7A11, 1, CODES_END };
56u16 actor1Talk0Actions[] = { 0x7A0F, 1, CODES_END };
57u16 actor9Talk0Actions[] = { 0x7A10, 1, CODES_END };
59 { NULL, actor0Talk0Actions, 0x1A8 },
60 { NULL, NULL, 0 },
61};
63 { NULL, actor1Talk0Actions, 0x1A4 },
64 { NULL, NULL, 0 },
65};
67 { NULL, NULL, 0x6F },
68 { NULL, NULL, 0 },
69};
71 { NULL, NULL, 0x6D },
72 { NULL, NULL, 0 },
73};
75 { NULL, NULL, 0x71 },
76 { NULL, NULL, 0 },
77};
79 { NULL, NULL, 0x70 },
80 { NULL, NULL, 0 },
81};
83 { NULL, NULL, 0x72 },
84 { NULL, NULL, 0 },
85};
87 { NULL, NULL, 0x6C },
88 { NULL, NULL, 0 },
89};
91 { NULL, NULL, 0x6E },
92 { NULL, NULL, 0 },
93};
95 { NULL, actor9Talk0Actions, 0x1A6 },
96 { NULL, NULL, 0 },
97};
99 { NULL, NULL, 0x1BB },
100 { NULL, NULL, 0 },
101};
103 { NULL, NULL, 0x69 },
104 { NULL, NULL, 0 },
105};
107 { NULL, NULL, 0x6B },
108 { NULL, NULL, 0 },
109};
111 { NULL, NULL, 0x1BA },
112 { NULL, NULL, 0 },
113};
115 { NULL, NULL, 0x68 },
116 { NULL, NULL, 0 },
117};
119 { NULL, NULL, 0x6A },
120 { NULL, NULL, 0 },
121};
165FieldActorEntry actor0 = { NULL, actor0Talks, 0x16, 4, 449, 281, 7 };
166FieldActorEntry actor1 = { NULL, actor1Talks, 0x17, 5, 304, 369, 7 };
174FieldActorEntry actor9 = { NULL, actor9Talks, 0xB7, 0xA, 359, 308, 7 };
182 &actor0,
183 &actor1,
184 &actor2,
185 &actor3,
186 &actor4,
187 &actor5,
188 &actor6,
189 &actor7,
190 &actor8,
191 &actor9,
192 &actor10,
193 &actor11,
194 &actor12,
195 &actor13,
196 &actor14,
197 &actor15,
198 NULL,
199};
201 { 1, 0, 0x40, 2, 0x11, 2, 0, 1, 4, 0, 384, 79, 0, 0 },
202 { 1, 0, 0x40, 2, 0x11, 2, 0, 1, 4, 0, 492, 137, 0, 0 },
203 { 1, 0, 0x40, 2, 0x11, 2, 0, 1, 4, 0, 548, 165, 0, 0 },
204 { 1, 0x64, 0x40, 6, 5, 0, 0, 0, 0, 0, 304, 99, 0, 0 },
205 { 1, 0x65, 0x40, 6, 6, 0, 0, 0, 0, 0, 64, 285, 0, 0 },
206 { 1, 0, 0x40, 6, 7, 0, 0, 0, 0, 0, 485, 145, 0, 0 },
207 { 1, 0, 0x40, 6, 7, 0, 0, 0, 0, 0, 541, 173, 0, 0 },
208 { 1, 0, 0xA0, 4, 0, 0, 0, 0, 0, 0, 144, 257, 380, 0 },
209 { 1, 0, 0x78, 4, 1, 0, 0, 0, 0, 0, 256, 257, 337, 0 },
210 { 1, 0, 0x40, 4, 2, 0, 0, 0, 0, 0, 384, 262, 287, 0 },
211 { 1, 0, 0x64, 4, 3, 0, 0, 0, 0, 0, 240, 73, 150, 0 },
212 { 1, 0, 0x64, 4, 4, 0, 0, 0, 0, 0, 0, 255, 335, 0 },
213 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
214};
216 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x270, 0x1E0, 0x1DA, 7, 0, 0, 0 },
217 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x270, 0x240, 0x1AA, 7, 0, 0, 0 },
218 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x27D, 0x218, 0xE4, 3, 0x64, 0, 0 },
219 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x27D, 0x128, 0x19C, 3, 0x65, 0, 0 },
220 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_DOWN, 4, 0x11F, 0xBA, 0, 0, 0, 0 },
221 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_CLIMB_UP, 4, 0x110, 0xFE, 0, 0, 0, 0 },
222 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
223};
224void (*stageFuncs[])(void) = {
226};
#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 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 MUSIC_SHOP_1
SHOP1BGM: the inns, shops and towers.
Definition sound.h:81
#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 actor0Talk0Actions[]
Definition wstag246.c:55
FieldActorEntry actor0
Definition wstag246.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 wstag246.c:224
FieldActorEntry actor6
Definition wstag246.c:171
u16 actor11Conditions[]
Definition wstag246.c:146
FieldTalk actor2Talks[]
Definition wstag246.c:66
u16 actor10Conditions[]
Definition wstag246.c:145
FieldTalk actor14Talks[]
Definition wstag246.c:114
FieldTalk actor5Talks[]
Definition wstag246.c:78
FieldActorEntry actor5
Definition wstag246.c:170
FieldActorEntry actor2
Definition wstag246.c:167
FieldActorEntry * stageActors[]
Definition wstag246.c:181
FieldTalk actor1Talks[]
Definition wstag246.c:62
u16 actor13Conditions[]
Definition wstag246.c:153
FieldTalk actor0Talks[]
Definition wstag246.c:58
FieldActorEntry actor10
Definition wstag246.c:175
FieldTalk actor4Talks[]
Definition wstag246.c:74
u16 actor4Conditions[]
Definition wstag246.c:128
FieldActorEntry actor4
Definition wstag246.c:169
u16 actor3Conditions[]
Definition wstag246.c:123
FieldTalk actor11Talks[]
Definition wstag246.c:102
FieldActorEntry actor8
Definition wstag246.c:173
ActorImage stageImages[]
Definition wstag246.c:38
FieldTalk actor6Talks[]
Definition wstag246.c:82
void setupStage(void)
Sets the stage up: its map and actors, playing SHOP1BGM.
Definition wstag246.c:20
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag246.c:200
FieldActorEntry actor9
Definition wstag246.c:174
u16 actor8Conditions[]
Definition wstag246.c:144
u16 actor5Conditions[]
Definition wstag246.c:133
FieldTalk actor10Talks[]
Definition wstag246.c:98
FieldTalk actor3Talks[]
Definition wstag246.c:70
FieldTalk actor9Talks[]
Definition wstag246.c:94
FieldTalk actor15Talks[]
Definition wstag246.c:118
FieldActorEntry actor15
Definition wstag246.c:180
FieldActorEntry actor12
Definition wstag246.c:177
u16 actor15Conditions[]
Definition wstag246.c:164
u16 actor6Conditions[]
Definition wstag246.c:138
u16 actor14Conditions[]
Definition wstag246.c:159
FieldActorEntry actor7
Definition wstag246.c:172
StageSlot stageSlots[]
Definition wstag246.c:215
u16 actor1Talk0Actions[]
Definition wstag246.c:56
FieldActorEntry actor13
Definition wstag246.c:178
FieldActorEntry actor11
Definition wstag246.c:176
FieldActorEntry actor1
Definition wstag246.c:166
u16 actor9Talk0Actions[]
Definition wstag246.c:57
FieldTalk actor13Talks[]
Definition wstag246.c:110
#define STAGE_FILE
Definition wstag246.c:17
u16 actor7Conditions[]
Definition wstag246.c:139
u16 actor2Conditions[]
Definition wstag246.c:122
FieldTalk actor7Talks[]
Definition wstag246.c:86
#define STAGE_TEXT
Definition wstag246.c:16
FieldTalk actor8Talks[]
Definition wstag246.c:90
FieldTalk actor12Talks[]
Definition wstag246.c:106
FieldActorEntry actor3
Definition wstag246.c:168
FieldActorEntry actor14
Definition wstag246.c:179
u16 actor12Conditions[]
Definition wstag246.c:152