15#if VERSION_US || VERSION_JP
16#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_04)
17#define STAGE_FILE 0x690
19#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_04)
20#define STAGE_FILE 0x6A0
501 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
502 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
503 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
504 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
505 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
506 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
507 { 0x180, 0x100, 0x1B0, 0x15D, 0x1C0, 0x5D, 0x160, 0x1FF },
515 { 1, 0, 0x8F, 2, 0x37, 1, 0x37, 0x4B, 0xA, 0, 346, 191, 0, 0 },
516 { 1, 0, 0x8F, 2, 0x37, 1, 0x37, 0x4B, 0xA, 0, 653, 112, 0, 0 },
517 { 1, 0, 0xB6, 2, 0x4C, 1, 0x4C, 0x62, 0xA, 0, 179, 218, 0, 0 },
518 { 1, 0, 0xB6, 2, 0x4C, 1, 0x4C, 0x62, 0xA, 0, 563, 120, 0, 0 },
519 { 1, 0, 0xA0, 2, 0xB, 0, 0, 0, 0, 0, 448, 198, 0, 0 },
520 { 1, 0, 0x95, 2, 0xC, 0, 0, 0, 0, 0, 480, 210, 0, 0 },
521 { 1, 0, 0x68, 6, 0x34, 1, 0x34, 0x36, 0xA, 0, 266, 189, 0, 0 },
522 { 1, 0, 0xFF, 4, 0x32, 2, 0, 7, 0x18, 0, 540, -12, 244, 0 },
523 { 1, 0, 0x58, 4, 0, 0, 0, 0, 0, 0, 240, 273, 351, 0 },
524 { 1, 0, 0x68, 4, 1, 0, 0, 0, 0, 0, 208, 259, 345, 0 },
525 { 1, 0, 0x58, 4, 2, 0, 0, 0, 0, 0, 196, 254, 332, 0 },
526 { 1, 0, 0x58, 4, 3, 0, 0, 0, 0, 0, 416, 180, 305, 0 },
527 { 1, 0, 0x93, 4, 4, 0, 0, 0, 0, 0, 384, 157, 299, 0 },
528 { 1, 0, 0x79, 4, 5, 0, 0, 0, 0, 0, 352, 151, 270, 0 },
529 { 1, 0, 0x94, 4, 6, 0, 0, 0, 0, 0, 320, 131, 277, 0 },
530 { 1, 0, 0x5C, 4, 8, 0, 0, 0, 0, 0, 528, 180, 268, 0 },
531 { 1, 0, 0x63, 4, 9, 0, 0, 0, 0, 0, 496, 164, 260, 0 },
532 { 1, 0, 0x5D, 4, 0xA, 0, 0, 0, 0, 0, 485, 159, 250, 0 },
533 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
536 { { {
CODES_END, 0 }, {
CODES_END, 0 } },
SLOT_EXIT, 0x2E0, 0x240, 0xD8, 4, 0, 0, 0 },
537 { { {
CODES_END, 0 }, {
CODES_END, 0 } },
SLOT_EXIT, 0x2E0, 0xB0, 0x178, 1, 0, 0, 0 },
538 { { {
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 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,...
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.
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 place12Area0Battle5
AreaBattle place1Area2Battle4
AreaBattle place17Area3Battle6
AreaBattle place1Area1Battle2
AreaBattle place2Area3Battle5
AreaBattle place12Area1Battle2
StagePoints placePoints18_1
AreaBattle place1Area0Battle3
void(* stageFuncs[])(void)
The stage's functions (common/start_stage.inc.c calls the first): a StageFuncs in the stages with a t...
AreaBattle place2Area2Battle6
BattleList place12Area1Battles
AreaBattle place18Area1Battle0
AreaBattle place7Area0Battle3
AreaBattle place1Area1Battle5
AreaBattle place8Area0Battle0
StagePoint placePoints18_1Point1
AreaBattle place2Area1Battle1
AreaBattle place2Area2Battle5
AreaBattle place7Area2Battle7
AreaBattle place8Area3Battle0
StagePoint placePoints1_1Point0
BattleList place17Area1Battles
AreaBattle place8Area2Battle4
AreaBattle place17Area1Battle2
AreaBattle place17Area2Battle6
AreaBattle place2Area2Battle2
BattleList place8Area3Battles
BattleList place12Area2Battles
BattleList place11Area0Battles
AreaBattle place7Area2Battle5
AreaBattle place12Area3Battle6
BattleList place18Area2Battles
AreaBattle place11Area3Battle1
AreaBattle place12Area2Battle1
StagePoints placePoints12_1
AreaBattle place17Area0Battle3
AreaBattle place7Area3Battle1
AreaBattle place1Area0Battle6
AreaBattle place17Area0Battle5
AreaBattle place8Area1Battle7
AreaBattle place1Area0Battle1
AreaBattle place17Area0Battle2
AreaBattle place1Area2Battle7
AreaBattle place8Area2Battle5
AreaBattle place18Area0Battle5
AreaBattle place7Area0Battle5
AreaBattle place1Area3Battle3
BattleList place18Area1Battles
AreaBattle place7Area1Battle4
AreaBattle place7Area1Battle0
AreaBattle place17Area3Battle0
AreaBattle place8Area0Battle7
AreaBattle place7Area2Battle0
AreaBattle place2Area0Battle0
AreaBattle place11Area1Battle2
AreaBattle place17Area0Battle7
BattleList place12Area0Battles
AreaBattle place18Area1Battle7
BattleList place1Area1Battles
AreaBattle place12Area1Battle7
BattleList place7Area2Battles
AreaBattle place1Area1Battle7
AreaBattle place11Area1Battle3
AreaBattle place2Area2Battle4
StagePoint placePoints12_1Point1
AreaBattle place17Area0Battle1
AreaBattle place8Area3Battle7
AreaBattle place7Area1Battle3
AreaBattle place8Area2Battle0
AreaBattle place1Area3Battle5
AreaBattle place2Area3Battle0
AreaBattle place2Area0Battle1
AreaBattle place1Area3Battle7
StagePoint placePoints17_1Point1
AreaBattle place2Area3Battle2
AreaBattle place2Area0Battle3
AreaBattle place18Area3Battle4
AreaBattle place18Area0Battle7
AreaBattle place18Area3Battle0
AreaBattle place7Area1Battle5
AreaBattle place17Area3Battle7
AreaBattle place12Area0Battle1
AreaBattle place8Area1Battle5
AreaBattle place17Area1Battle5
AreaBattle place1Area1Battle4
AreaBattle place18Area3Battle7
StagePoint placePoints8_1Point0
AreaBattle place8Area3Battle4
const CVECTOR stageColor
the color the setup copies to FIELDSTG_state.spriteColor
AreaBattle place2Area0Battle5
AreaBattle place11Area0Battle3
AreaBattle place11Area3Battle4
AreaBattle place17Area2Battle0
StagePoints placePoints2_1
AreaBattle place18Area2Battle7
BattleList place2Area1Battles
BattleList place7Area0Battles
AreaBattle place18Area1Battle4
AreaBattle place8Area3Battle6
AreaBattle place7Area1Battle7
StagePoint placePoints8_1Point1
AreaBattle place12Area2Battle3
FieldActorEntry * stageActors[]
AreaBattle place11Area3Battle0
BattleList place17Area2Battles
AreaBattle place2Area1Battle2
AreaBattle place2Area0Battle4
AreaBattle place17Area1Battle3
BattleList place8Area0Battles
AreaBattle place18Area0Battle4
AreaBattle place2Area2Battle3
StagePoint placePoints17_1Point0
AreaBattle place18Area1Battle5
AreaBattle place2Area1Battle4
AreaBattle place8Area0Battle2
AreaBattle place11Area2Battle1
StagePoint placePoints2_1Point1
StagePoints placePoints8_1
AreaBattle place7Area3Battle4
AreaBattle place18Area2Battle3
AreaBattle place8Area0Battle3
AreaBattle place7Area3Battle7
BattleList place18Area0Battles
StagePoint placePoints11_1Point1
AreaBattle place7Area1Battle2
AreaBattle place12Area3Battle2
AreaBattle place17Area0Battle4
AreaBattle place17Area2Battle5
AreaBattle place17Area1Battle4
AreaBattle place1Area2Battle0
AreaBattle place11Area1Battle5
BattleList place1Area0Battles
AreaBattle place2Area3Battle4
AreaBattle place11Area2Battle6
StagePoint placePoints18_1Point0
AreaBattle place11Area3Battle6
AreaBattle place11Area0Battle6
AreaBattle place2Area0Battle2
AreaBattle place7Area2Battle4
AreaBattle place18Area3Battle2
AreaBattle place7Area2Battle2
AreaBattle place17Area3Battle2
AreaBattle place11Area0Battle1
BattleList place17Area3Battles
AreaBattle place17Area2Battle1
AreaBattle place2Area3Battle1
AreaBattle place7Area1Battle6
AreaBattle place11Area1Battle6
AreaBattle place1Area2Battle2
AreaBattle place8Area3Battle1
BattleList place11Area2Battles
AreaBattle place1Area3Battle2
AreaBattle place8Area1Battle2
AreaBattle place11Area2Battle5
AreaBattle place17Area1Battle6
AreaBattle place17Area3Battle1
AreaBattle place11Area0Battle7
AreaBattle place18Area1Battle2
AreaBattle place18Area2Battle0
AreaBattle place18Area2Battle4
AreaBattle place11Area2Battle4
AreaBattle place7Area0Battle0
BattleList place7Area1Battles
StagePoints placePoints1_1
StagePoint placePoints1_1Point1
AreaBattle place12Area1Battle6
AreaBattle place1Area3Battle0
AreaBattle place18Area2Battle5
BattleList place7Area3Battles
AreaBattle place2Area1Battle0
AreaBattle place18Area1Battle1
BattleList place18Area3Battles
AreaBattle place11Area1Battle4
AreaBattle place18Area2Battle1
AreaBattle place12Area2Battle5
AreaBattle place18Area1Battle6
AreaBattle place7Area3Battle0
AreaBattle place7Area3Battle2
BattleList place11Area3Battles
void setupStage(void)
Sets the stage up: its map, actors and battles, playing BGM_0027.
AreaBattle place12Area1Battle5
AreaBattle place12Area0Battle2
BattleList place12Area3Battles
StagePoints * placePoints[]
Names some stages define.
AreaBattle place17Area1Battle1
AreaBattle place7Area3Battle6
AreaBattle place8Area2Battle3
StagePoints placePoints11_1
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
StagePoint placePoints7_1Point0
AreaBattle place8Area0Battle4
AreaBattle place2Area1Battle6
AreaBattle place17Area2Battle7
AreaBattle place12Area0Battle6
AreaBattle place18Area1Battle3
AreaBattle place8Area2Battle2
AreaBattle place12Area0Battle3
StagePoint placePoints7_1Point1
AreaBattle place11Area2Battle7
AreaBattle place11Area0Battle2
AreaBattle place8Area1Battle4
AreaBattle place11Area1Battle1
AreaBattle place1Area1Battle1
BattleList place1Area2Battles
AreaBattle place12Area2Battle2
AreaBattle place8Area1Battle1
StagePoints placePoints0_0
AreaBattle place18Area0Battle0
AreaBattle place12Area1Battle1
AreaBattle place12Area3Battle7
AreaBattle place17Area2Battle2
AreaBattle place1Area2Battle3
AreaBattle place8Area2Battle6
AreaBattle place1Area1Battle3
AreaBattle place17Area0Battle0
AreaBattle place8Area3Battle3
AreaBattle place17Area3Battle4
AreaBattle place7Area2Battle6
AreaBattle place12Area3Battle4
AreaBattle place18Area0Battle1
BattleList place11Area1Battles
AreaBattle place1Area2Battle1
AreaBattle place18Area3Battle1
AreaBattle place12Area1Battle0
AreaBattle place7Area2Battle3
AreaBattle place7Area3Battle3
BattleList place1Area3Battles
AreaBattle place1Area2Battle5
AreaBattle place8Area2Battle1
StagePoints placePoints7_1
AreaBattle place12Area2Battle4
AreaBattle place18Area0Battle6
AreaBattle place11Area0Battle5
AreaBattle place2Area0Battle7
AreaBattle place2Area3Battle6
AreaBattle place17Area1Battle0
AreaBattle place1Area1Battle6
AreaBattle place1Area0Battle2
AreaBattle place7Area1Battle1
AreaBattle place8Area0Battle6
AreaBattle place11Area0Battle4
BattleList place8Area2Battles
AreaBattle place1Area3Battle6
AreaBattle place11Area3Battle5
AreaBattle place7Area0Battle6
AreaBattle place18Area2Battle2
AreaBattle place7Area2Battle1
AreaBattle place12Area1Battle4
AreaBattle place8Area3Battle2
AreaBattle place2Area1Battle3
StagePoint placePoints2_1Point0
AreaBattle place18Area2Battle6
AreaBattle place1Area0Battle0
AreaBattle place12Area0Battle4
BattleList place8Area1Battles
AreaBattle place18Area0Battle3
AreaBattle place12Area0Battle0
AreaBattle place12Area3Battle5
AreaBattle place1Area3Battle1
AreaBattle place17Area2Battle3
AreaBattle place17Area3Battle3
AreaBattle place18Area0Battle2
AreaBattle place12Area3Battle3
AreaBattle place11Area3Battle7
AreaBattle place1Area1Battle0
AreaBattle place2Area3Battle7
AreaBattle place12Area1Battle3
AreaBattle place2Area1Battle5
AreaBattle place2Area1Battle7
AreaBattle place17Area1Battle7
AreaBattle place12Area0Battle7
AreaBattle place1Area0Battle5
AreaBattle place11Area3Battle3
AreaBattle place1Area2Battle6
AreaBattle place12Area3Battle1
AreaBattle place1Area0Battle7
AreaBattle place12Area2Battle0
AreaBattle place8Area1Battle6
AreaBattle place2Area2Battle7
AreaBattle place11Area2Battle0
AreaBattle place7Area3Battle5
StagePoint placePoints12_1Point0
AreaBattle place2Area3Battle3
BattleList place2Area3Battles
AreaBattle place8Area3Battle5
AreaBattle place11Area2Battle2
AreaBattle place1Area0Battle4
BattleList place2Area0Battles
StagePoints placePoints17_1
AreaBattle place17Area3Battle5
AreaBattle place11Area1Battle7
AreaBattle place8Area0Battle1
AreaBattle place2Area2Battle0
AreaBattle place18Area3Battle6
AreaBattle place17Area2Battle4
AreaBattle place11Area0Battle0
AreaBattle place12Area3Battle0
AreaBattle place8Area1Battle3
AreaBattle place12Area2Battle6
AreaBattle place17Area0Battle6
AreaBattle place18Area3Battle5
AreaBattle place7Area0Battle2
AreaBattle place11Area2Battle3
AreaBattle place7Area0Battle7
BattleList place2Area2Battles
AreaBattle place8Area0Battle5
AreaBattle place11Area3Battle2
FieldBattles stageBattles[]
AreaBattle place8Area1Battle0
AreaBattle place7Area0Battle4
AreaBattle place7Area0Battle1
AreaBattle place12Area2Battle7
AreaBattle place11Area1Battle0
AreaBattle place8Area2Battle7
AreaBattle place1Area3Battle4
AreaBattle place2Area0Battle6
StagePoint placePoints11_1Point0
BattleList place17Area0Battles
AreaBattle place18Area3Battle3
AreaBattle place2Area2Battle1