Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
wstag936.c
Go to the documentation of this file.
1/*
2 * WSTAG936: Water Tunnel, Amaterasu City, in the extra chapter. The European
3 * version's: in its extra chapter (STORY_EXTRA), mode 641 starts it instead of
4 * WSTAG276.
5 */
6
7#include "common.h"
8#include "field/stage.h"
9
12
13const CVECTOR stageColor = { 0x54, 0x67, 0x96, 0x00 };
14#if VERSION_EU
15#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_08)
16#define STAGE_FILE 0x8FF
17#define STAGE_FILE_8 0x1B0
18#elif VERSION_JP
19#define STAGE_TEXT 0x89A
20#define STAGE_FILE 0x8C5
21#define STAGE_FILE_8 0x1A2
22#endif
23/* Sets the stage up: its map and actors, playing the ambience ENV_0004 */
42
44 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
45 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
46 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
47 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
48 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
49 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
50 { 0, 0, 0, 0, 0, 0, 0, 0 },
51};
57 FLAG(0, 0), 1,
58 FLAG(0, 1), 0,
60};
64 FLAG(0, 0), 1,
65 FLAG(0, 1), 1,
66 FLAG(0, 2), 0,
68};
72 FLAG(0, 0), 1,
73 FLAG(0, 1), 1,
74 FLAG(0, 2), 1,
75 FLAG(0, 3), 0,
77};
81 FLAG(0, 0), 1,
82 FLAG(0, 1), 1,
83 FLAG(0, 2), 1,
84 FLAG(0, 4), 0,
85 FLAG(0, 3), 1,
87};
91 FLAG(0, 0), 1,
92 FLAG(0, 1), 1,
93 FLAG(0, 2), 1,
94 FLAG(0, 3), 1,
95 FLAG(0, 4), 1,
97};
114FieldActorEntry actor0 = { NULL, actor0Talks, 0x3F, 4, 175, 408, 1 };
116 &actor0,
117 NULL,
118};
120 { 1, 0, 0x9F, 2, 0x37, 1, 0x37, 0x39, 6, 0, 450, 296, 0, 0 },
121 { 1, 0, 0xBE, 2, 0x3A, 1, 0x3A, 0x3C, 6, 0, 560, 270, 0, 0 },
122 { 1, 0, 0x8F, 2, 0x1D, 1, 0x1D, 0x31, 8, 0, 584, 352, 0, 0 },
123 { 1, 0, 0xB6, 2, 6, 1, 6, 0x1C, 8, 0, 471, 277, 0, 0 },
124 { 1, 0, 0xB6, 2, 6, 1, 6, 0x1C, 8, 0, 535, 294, 0, 0 },
125 { 1, 0, 0x70, 2, 4, 0, 0, 0, 0, 0, 374, 310, 0, 0 },
126 { 1, 0, 0xD0, 2, 5, 0, 0, 0, 0, 0, 438, 232, 0, 0 },
127 { 1, 0, 0x40, 6, 0x32, 2, 0, 1, 4, 0, 609, 253, 0, 0 },
128 { 1, 0, 0x40, 6, 0x33, 2, 0, 1, 4, 0, 633, 246, 0, 0 },
129 { 1, 0, 0x40, 6, 0x34, 2, 0, 1, 4, 0, 640, 242, 0, 0 },
130 { 1, 0, 0x40, 6, 0x35, 2, 0, 1, 4, 0, 652, 281, 0, 0 },
131 { 1, 0, 0x9F, 6, 0x37, 1, 0x37, 0x39, 6, 0, 366, 170, 0, 0 },
132 { 1, 0, 0x67, 6, 0x3D, 1, 0x3D, 0x52, 8, 0, 507, 185, 0, 0 },
133 { 1, 0, 0xB6, 6, 6, 1, 6, 0x1C, 8, 0, 421, 106, 0, 0 },
134 { 1, 0x64, 0x40, 6, 2, 0, 0, 0, 0, 0, 91, 362, 0, 0 },
135 { 1, 0x65, 0x40, 6, 3, 0, 0, 0, 0, 0, 770, 115, 0, 0 },
136 { 1, 0, 0x90, 4, 0, 0, 0, 0, 0, 0, 0, 256, 410, 0 },
137 { 1, 0, 0xB0, 4, 1, 0, 0, 0, 0, 0, 768, 0, 165, 0 },
138 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
139};
141 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x282, 0x13A, 0x144, 3, 0x64, 0, 0 },
142 { { { CODES_END, 0 }, { CODES_END, 0 } }, SLOT_EXIT, 0x27F, 0xE8, 0x1A2, 5, 0x65, 0, 0 },
143 { { { CODES_END, 0 }, { CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
144};
145void (*stageFuncs[])(void) = {
147};
#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 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 MUSIC_WATER_TUNNEL
ENV_0004: the Water Tunnel.
Definition sound.h:120
#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 SPECIAL_SHOW_ITEM_GET_ICON
an action: the player's icon plays its animation 3 with SOUND_ITEM_GET (FIELD_COMMAND_ICON3); the tal...
Definition story.h:1982
#define FLAG_PLATINUM_CARD_FOUND
wstag936 Water Tunnel (extra chapter): the player finds a Platinum Members Card in a crack (item 0x25...
Definition story.h:1001
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
CVECTOR spriteColor
the field's sprites' color, unless cd is 0
Definition field_map.h:458
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
FieldActorEntry actor0
Definition wstag936.c:114
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
Definition wstag936.c:145
u16 actor0Talk0Conditions[]
Definition wstag936.c:52
u16 actor0Talk1Conditions[]
Definition wstag936.c:53
u16 actor0Talk6Actions[]
Definition wstag936.c:98
const CVECTOR stageColor
the color the setup copies to FIELDSTG_state.spriteColor
Definition wstag936.c:13
#define STAGE_FILE_8
Definition wstag936.c:17
u16 actor0Talk3Conditions[]
Definition wstag936.c:62
FieldActorEntry * stageActors[]
Definition wstag936.c:115
u16 actor0Talk1Actions[]
Definition wstag936.c:54
FieldTalk actor0Talks[]
Definition wstag936.c:104
u16 actor0Talk4Conditions[]
Definition wstag936.c:70
ActorImage stageImages[]
Definition wstag936.c:43
void setupStage(void)
Sets the stage up: its map and actors, playing the ambience ENV_0004.
Definition wstag936.c:24
u16 actor0Talk4Actions[]
Definition wstag936.c:78
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
Definition wstag936.c:119
u16 actor0Talk2Actions[]
Definition wstag936.c:61
u16 actor0Talk5Conditions[]
Definition wstag936.c:79
u16 actor0Talk2Conditions[]
Definition wstag936.c:55
u16 actor0Talk5Actions[]
Definition wstag936.c:88
StageSlot stageSlots[]
Definition wstag936.c:140
u16 actor0Talk6Conditions[]
Definition wstag936.c:89
#define STAGE_FILE
Definition wstag936.c:16
#define STAGE_TEXT
Definition wstag936.c:15
u16 actor0Talk3Actions[]
Definition wstag936.c:69