16#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_09)
17#define STAGE_FILE 0x93D
18#define STAGE_FILE_8 0x6F4
20#define STAGE_TEXT 0x89B
21#define STAGE_FILE 0x91B
22#define STAGE_FILE_8 0x6E4
56 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
57 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
58 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
59 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
60 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
61 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
62 { 0x140, 0x100, 0x16E, 0x15F, 0xB8, 0x5F, 0x150, 0x1FF },
63 { 0x140, 0x100, 0x160, 0x160, 0x80, 0x60, 0x160, 0x1FF },
105 { 1, 0, 0x8F, 2, 0x37, 1, 0x37, 0x4B, 0xA, 0, 360, 185, 0, 0 },
106 { 1, 0, 0x8F, 2, 0x37, 1, 0x37, 0x4B, 0xA, 0, 589, 120, 0, 0 },
107 { 1, 0, 0xB6, 2, 0x4C, 1, 0x4C, 0x62, 0xA, 0, 268, 192, 0, 0 },
108 { 1, 0, 0xB6, 2, 0x4C, 1, 0x4C, 0x62, 0xA, 0, 512, 122, 0, 0 },
109 { 1, 0, 0x8F, 6, 0x37, 1, 0x37, 0x4B, 0xA, 0, 110, 120, 0, 0 },
110 { 1, 0, 0x68, 6, 0x34, 1, 0x34, 0x36, 0xA, 0, 412, 114, 0, 0 },
111 { 1, 0, 0x4A, 4, 0, 0, 0, 0, 0, 0, 416, 215, 288, 0 },
112 { 1, 0, 0x61, 4, 1, 0, 0, 0, 0, 0, 384, 198, 288, 0 },
113 { 1, 0, 0x5F, 4, 2, 0, 0, 0, 0, 0, 365, 191, 281, 0 },
114 { 1, 0, 0x4F, 4, 3, 0, 0, 0, 0, 0, 592, 173, 251, 0 },
115 { 1, 0, 0x63, 4, 4, 0, 0, 0, 0, 0, 560, 157, 247, 0 },
116 { 1, 0, 0x60, 4, 5, 0, 0, 0, 0, 0, 541, 150, 240, 0 },
117 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
120 { { {
CODES_END, 0 }, {
CODES_END, 0 } },
SLOT_EXIT, 0x2E7, 0x250, 0xE8, 5, 0, 0, 0 },
121 { { {
CODES_END, 0 }, {
CODES_END, 0 } }, 0, 0, 0, 0, 0, 0, 0, 0 },
GameState GAME
The save data, the game mode and the methods.
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,...
#define SLOT_EXIT
The kinds of StageSlot (type).
#define FIELD_MAP_AREAS
a cell's value: its battle area (FieldBattles), or 0
#define FIELD_MAP_TRIGGERS
a cell's value: a direction (3 bits) and a StageSlot (5)
FieldState FIELDSTG_state
#define PLACE(n)
the place and its argument the last exit or warp set (checkWarpArg): the numbers of the stage's Stage...
#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...
#define PLACE_ARG(n)
GAME.placeArg is n.
#define MUSIC_BATTLE
BATL0000: the maps' random battles (AreaBattle, nearly all of them)
#define MUSIC_SEABED
BGM_0027: the Seabed tunnels.
#define MUSIC(bank, n)
A field's or a battle's music (FieldState.music, Battle.music): track (SEP) n of the first sequence o...
#define MUSIC_BANK(music)
The sound bank of a music, which a stage loads for it (FieldState.soundBank)
FIELDSTG's start of the stage (StageEntry.init in FIELDSTG_stages): the stage's task,...
#define FLAG_SEABED_SABER_FANG_FOUND
wstag967 (extra chapter): chest that gives the Saber Fang, "I got" text; its conditions test it 0
#define FLAG_SEABED_ONIMARU_FOUND
wstag967 (extra chapter): chest that gives the Onimaru, "I got" text; its conditions test it 0
#define FLAG_SEABED_KAISER_FIST_FOUND
wstag967 (extra chapter): chest that gives the Kaiser Fist, "I got" text; its conditions test it 0
Where an actor's frames go in VRAM: one of the records after the FieldImage (Actor....
A battle of an area's BattleList, which can start on the field (see FIELDSTG_startEncounter); FIGHTST...
The battles of an area of the map (its cells' value at FieldMap.files[4]), one picked at random.
A character of the field (FieldState.actors, a list of pointers up to NULL), which FIELDSTG_updateFie...
The battles of a place (FieldState.battles), by area of the map: the fourth area's are also the ones ...
void(* setFile)(s32 index, s32 file)
FIELDSTG_setMapFile.
void(* setFirstMap)(s32 index)
FIELDSTG_setFirstMap: the map the player starts on (GAME.mapIndex), when the mode is new.
FieldBattles *(* findBattles)(FieldBattles *list, s32 id)
the place of the list with that id
s32 sheetEntry
the stage's sprite sheet, loaded before the field starts, or 0
s32 soundBank
SOUND.loadBank's, or 0.
StageTile * objects
the map objects, up to the first margin 0
s32 imageFile
or an image archive file, or 0
Vec2 start
where the player starts
StageSlot * slots
up to the first type 0
ActorImage * actors
then the actors', from actors[2]
s32 mapFile
the file of the map's tiles (FIELDSTG_createMapStreamer)
s32 startDir
and its direction
CVECTOR spriteColor
the field's sprites' color, unless cd is 0
s32 textFile
the stage's text file, for the talks
union FieldState::@12 images
s32 music
SOUND.playSound's, or 0.
What a character says (FIELDSTG_runActorAction): the first whose conditions hold, or the last,...
u16 place
where the last warp or trigger put the player (FieldBattles.id)
Where an exit (StageSlot) leads: copyPlacePoints copies a place's points to the stage's first slots,...
The points of a place (GAME.place and GAME.placeArg, which the exit the player came through set)
What the player can trigger on a map (FIELDSTG_updateTriggers): a record of the table at FieldState....
An object of a map, which FIELDSTG draws: a record of the table at FieldState.objects,...
AreaBattle place3Area3Battle1
AreaBattle place3Area3Battle2
StagePoint placePoints4_1Point0
AreaBattle place3Area0Battle5
AreaBattle place5Area2Battle4
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
AreaBattle place5Area1Battle2
AreaBattle place3Area0Battle3
AreaBattle place5Area3Battle5
AreaBattle place4Area0Battle2
AreaBattle place5Area0Battle6
AreaBattle place4Area1Battle4
AreaBattle place4Area2Battle6
AreaBattle place5Area0Battle4
BattleList place4Area2Battles
AreaBattle place4Area0Battle5
AreaBattle place3Area2Battle3
BattleList place3Area0Battles
AreaBattle place4Area1Battle1
BattleList place3Area1Battles
AreaBattle place3Area1Battle6
AreaBattle place3Area3Battle3
AreaBattle place5Area2Battle3
AreaBattle place4Area2Battle5
AreaBattle place3Area0Battle7
AreaBattle place3Area1Battle3
AreaBattle place4Area0Battle4
AreaBattle place3Area0Battle0
StagePoint placePoints3_1Point0
const CVECTOR stageColor
the color the setup copies to FIELDSTG_state.spriteColor
BattleList place5Area1Battles
AreaBattle place5Area3Battle3
AreaBattle place5Area1Battle0
FieldActorEntry * stageActors[]
AreaBattle place5Area0Battle1
AreaBattle place4Area1Battle6
AreaBattle place4Area0Battle6
AreaBattle place5Area1Battle3
AreaBattle place5Area1Battle4
AreaBattle place4Area0Battle7
AreaBattle place5Area2Battle7
BattleList place3Area2Battles
AreaBattle place3Area2Battle5
AreaBattle place4Area3Battle7
AreaBattle place5Area0Battle3
AreaBattle place4Area0Battle1
AreaBattle place5Area0Battle0
AreaBattle place5Area2Battle6
AreaBattle place4Area0Battle3
AreaBattle place4Area1Battle0
AreaBattle place3Area1Battle5
AreaBattle place3Area0Battle4
AreaBattle place4Area2Battle4
AreaBattle place5Area1Battle6
AreaBattle place5Area0Battle2
AreaBattle place3Area2Battle0
AreaBattle place3Area2Battle2
AreaBattle place3Area2Battle7
AreaBattle place5Area3Battle4
BattleList place4Area3Battles
AreaBattle place4Area1Battle2
AreaBattle place5Area0Battle7
BattleList place4Area0Battles
AreaBattle place3Area1Battle1
void setupStage(void)
Sets the stage up: its map, actors and battles, playing BGM_0027.
AreaBattle place5Area1Battle7
StagePoints * placePoints[]
Names some stages define.
AreaBattle place3Area3Battle6
AreaBattle place3Area3Battle5
AreaBattle place3Area1Battle4
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
AreaBattle place5Area3Battle7
AreaBattle place4Area0Battle0
AreaBattle place4Area1Battle7
AreaBattle place5Area2Battle2
AreaBattle place3Area3Battle0
AreaBattle place4Area2Battle2
AreaBattle place3Area3Battle4
AreaBattle place3Area2Battle1
AreaBattle place4Area2Battle3
AreaBattle place5Area0Battle5
AreaBattle place5Area3Battle6
AreaBattle place3Area0Battle1
AreaBattle place5Area2Battle5
BattleList place5Area2Battles
AreaBattle place5Area1Battle1
AreaBattle place4Area3Battle3
BattleList place4Area1Battles
AreaBattle place5Area3Battle2
BattleList place3Area3Battles
AreaBattle place4Area3Battle0
AreaBattle place3Area2Battle6
AreaBattle place3Area1Battle0
AreaBattle place4Area2Battle1
AreaBattle place5Area2Battle1
AreaBattle place3Area2Battle4
StagePoint placePoints5_1Point0
BattleList place5Area3Battles
AreaBattle place3Area1Battle2
AreaBattle place4Area2Battle0
AreaBattle place4Area1Battle3
AreaBattle place3Area1Battle7
AreaBattle place4Area3Battle1
AreaBattle place3Area0Battle2
AreaBattle place3Area0Battle6
AreaBattle place4Area3Battle5
StagePoints placePoints3_1
StagePoints placePoints5_1
AreaBattle place4Area1Battle5
AreaBattle place5Area3Battle0
AreaBattle place3Area3Battle7
AreaBattle place5Area2Battle0
StagePoints placePoints4_1
AreaBattle place4Area2Battle7
AreaBattle place4Area3Battle4
FieldBattles stageBattles[]
AreaBattle place5Area3Battle1
AreaBattle place4Area3Battle2
BattleList place5Area0Battles
AreaBattle place5Area1Battle5
AreaBattle place4Area3Battle6