15#define STAGE_TEXT TEXT_FILE(TEXT_TALKS_09)
16#define STAGE_FILE 0x943
17#define STAGE_FILE_8 0x68B
19#define STAGE_TEXT 0x89B
20#define STAGE_FILE 0x929
21#define STAGE_FILE_8 0x67B
81 { 0x200, 0x100, 0x21C, 0x1A6, 0x70, 0xA6, 0x230, 0x1FE },
82 { 0x200, 0x100, 0x200, 0x100, 0, 0, 0x220, 0x1FE },
83 { 0x200, 0x100, 0x216, 0x138, 0x58, 0x38, 0x200, 0x1FD },
84 { 0x200, 0x100, 0x208, 0x1BC, 0x20, 0xBC, 0x210, 0x1FD },
85 { 0x200, 0x100, 0x210, 0x1BC, 0x40, 0xBC, 0x220, 0x1FD },
86 { 0x200, 0x100, 0x200, 0x1BC, 0, 0xBC, 0x230, 0x1FD },
87 { 0x140, 0x100, 0x148, 0x180, 0x20, 0x80, 0x140, 0x1FF },
88 { 0x140, 0x100, 0x140, 0x140, 0, 0x40, 0x150, 0x1FF },
89 { 0x140, 0x100, 0x150, 0x140, 0x40, 0x40, 0x160, 0x1FF },
90 { 0x140, 0x100, 0x160, 0x140, 0x80, 0x40, 0x170, 0x1FF },
91 { 0x140, 0x100, 0x160, 0x170, 0x80, 0x70, 0x140, 0x1FE },
92 { 0x140, 0x100, 0x16A, 0x170, 0xA8, 0x70, 0x150, 0x1FE },
93 { 0x140, 0x100, 0x174, 0x170, 0xD0, 0x70, 0x160, 0x1FE },
94 { 0x140, 0x100, 0x140, 0x180, 0, 0x80, 0x170, 0x1FE },
95 { 0x140, 0x100, 0x170, 0x140, 0xC0, 0x40, 0x140, 0x1FD },
96 { 0x140, 0x100, 0x140, 0x100, 0, 0, 0x150, 0x1FD },
97 { 0x140, 0x100, 0x154, 0x100, 0x50, 0, 0x160, 0x1FD },
98 { 0x140, 0x100, 0x168, 0x100, 0xA0, 0, 0x170, 0x1FD },
486 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
489 { { {
CODES_END, 0 }, {
CODES_END, 0 } },
SLOT_EXIT, 0x2EA, 0xE0, 0x200, 1, 0, 0, 0 },
490 { { {
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 EVENT_BATTLE(id)
action: FIELDSTG_battleFuncs.startEventBattle
#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 FLAG(group, id)
The codes of the (code, value) pairs that FLAGS_00 checks as conditions and applies as actions (event...
#define PLACE_ARG(n)
GAME.placeArg is n.
#define MUSIC_BATTLE
BATL0000: the maps' random battles (AreaBattle, nearly all of them)
#define MUSIC_CIRCUIT_BOARD
BGM_0028: the Circuit Board tunnels.
#define MUSIC_BOSS
BOSS_000: the sectors' boss battles.
#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 SPECIAL_UNLOCK_PATAMON
an action: unlocks PARTNER_PATAMON; the talks that take or give its DDNA apply it
#define SPECIAL_UNLOCK_VEEMON
an action: unlocks PARTNER_VEEMON; the talks that take or give its DDNA apply it
#define FLAG_KYUKIMON_FOUGHT
wstag970 Circuit Board (extra chapter): Kyukimon ("If you fight well... a gift") starts a battle; set...
#define SPECIAL_UNLOCK_KUMAMON
an action: unlocks PARTNER_KUMAMON; the talks that take or give its DDNA apply it
#define FLAG_CIRCUIT_BOARD_TENJINMARU_FOUND
wstag970 (extra chapter): chest that gives the Tenjinmaru, "I got" text; its conditions test it 0
#define SPECIAL_ALL_PARTNERS_UNLOCKED
the European and Japanese versions: all eight partners are unlocked
#define SPECIAL_PATAMON_UNLOCKED
PARTNER_PATAMON is unlocked.
#define SPECIAL_KUMAMON_UNLOCKED
PARTNER_KUMAMON is unlocked.
#define SPECIAL_UNLOCK_KOTEMON
an action: unlocks PARTNER_KOTEMON; the talks that take or give its DDNA apply it
#define FLAG_PILEDRIMON_FOUGHT
wstag970 Circuit Board (extra chapter): Piledrimon ("If you win, I'll give you a valuable item") star...
#define SPECIAL_ALL_PARTNERS_LEVEL_45
the European and Japanese versions: every unlocked partner is at level 45 or more
#define SPECIAL_KOTEMON_UNLOCKED
PARTNER_KOTEMON is unlocked.
#define SPECIAL_VEEMON_UNLOCKED
PARTNER_VEEMON is unlocked.
#define FLAG_GRAPLEOMON_FOUGHT
wstag970 Circuit Board (extra chapter): GrapLeomon ("here I come!") starts a battle and gives an item...
#define FLAG_CIRCUIT_BOARD_PLATINUM_ID_FOUND
wstag970 (extra chapter): chest that gives the Platinum ID, "I got" text; its conditions test it 0
#define FLAG_HOLYANGEMON_FOUGHT
wstag970 Circuit Board (extra chapter): HolyAngemon ("let's begin the battle") starts a battle; set w...
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
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 place1Area2Battle4
AreaBattle place3Area3Battle1
StagePoints placePoints6_1
AreaBattle place3Area3Battle2
u16 actor10Talk2Conditions[]
AreaBattle place6Area0Battle3
AreaBattle place1Area1Battle2
AreaBattle place2Area3Battle5
AreaBattle place6Area1Battle1
StagePoint placePoints4_1Point0
AreaBattle place3Area0Battle5
AreaBattle place1Area0Battle3
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 place6Area2Battle4
AreaBattle place2Area2Battle6
u16 actor7Talk1Conditions[]
AreaBattle place1Area1Battle5
AreaBattle place5Area3Battle5
StagePoint placePoints6_1Point0
u16 actor5Talk3Conditions[]
AreaBattle place4Area0Battle2
StagePoint placePoints5_2Point0
AreaBattle place2Area1Battle1
AreaBattle place2Area2Battle5
AreaBattle place5Area0Battle6
StagePoint placePoints1_1Point0
AreaBattle place4Area1Battle4
u16 actor11Talk3Conditions[]
AreaBattle place6Area1Battle5
u16 actor10Talk1Actions[]
AreaBattle place4Area2Battle6
u16 actor8Talk1Conditions[]
u16 actor3Talk3Conditions[]
AreaBattle place2Area2Battle2
u16 actor2Talk1Conditions[]
u16 actor4Talk3Conditions[]
StagePoints placePoints5_2
AreaBattle place6Area0Battle4
AreaBattle place6Area3Battle5
AreaBattle place5Area0Battle4
u16 actor8Talk3Conditions[]
BattleList place4Area2Battles
AreaBattle place4Area0Battle5
AreaBattle place3Area2Battle3
BattleList place6Area2Battles
StagePoints placePoints1_2
AreaBattle place1Area0Battle6
AreaBattle place1Area0Battle1
AreaBattle place1Area2Battle7
AreaBattle place1Area3Battle3
BattleList place3Area0Battles
AreaBattle place4Area1Battle1
BattleList place3Area1Battles
AreaBattle place3Area1Battle6
u16 actor7Talk2Conditions[]
BattleList place6Area0Battles
u16 actor10Talk3Actions[]
u16 actor5Talk0Conditions[]
AreaBattle place2Area0Battle0
u16 actor3Talk4Conditions[]
AreaBattle place6Area2Battle0
StagePoint placePoints5_3Point0
BattleList place1Area1Battles
AreaBattle place6Area2Battle1
AreaBattle place1Area1Battle7
AreaBattle place2Area2Battle4
AreaBattle place3Area3Battle3
u16 actor11Talk1Conditions[]
StagePoint placePoints2_2Point0
StagePoints placePoints2_5
AreaBattle place1Area3Battle5
AreaBattle place2Area3Battle0
AreaBattle place2Area0Battle1
AreaBattle place1Area3Battle7
u16 actor4Talk4Conditions[]
AreaBattle place6Area1Battle3
AreaBattle place5Area2Battle3
AreaBattle place2Area3Battle2
AreaBattle place2Area0Battle3
BattleList place6Area1Battles
AreaBattle place4Area2Battle5
AreaBattle place3Area0Battle7
AreaBattle place3Area1Battle3
AreaBattle place1Area1Battle4
AreaBattle place4Area0Battle4
u16 actor8Talk2Conditions[]
AreaBattle place3Area0Battle0
StagePoint placePoints3_1Point0
BattleList place5Area1Battles
AreaBattle place2Area0Battle5
u16 actor9Talk0Conditions[]
u16 actor6Talk1Conditions[]
u16 actor3Talk0Conditions[]
StagePoints placePoints2_1
u16 actor11Talk3Actions[]
StagePoint placePoints1_3Point0
BattleList place2Area1Battles
StagePoint placePoints1_2Point0
AreaBattle place5Area3Battle3
AreaBattle place6Area3Battle1
StagePoints placePoints2_2
u16 actor7Talk0Conditions[]
AreaBattle place5Area1Battle0
FieldActorEntry * stageActors[]
AreaBattle place5Area0Battle1
AreaBattle place6Area2Battle6
u16 actor2Talk3Conditions[]
StagePoints placePoints2_3
AreaBattle place6Area0Battle2
AreaBattle place6Area2Battle2
AreaBattle place2Area1Battle2
AreaBattle place2Area0Battle4
StagePoint placePoints2_3Point0
AreaBattle place2Area2Battle3
AreaBattle place4Area1Battle6
AreaBattle place4Area0Battle6
AreaBattle place5Area1Battle3
AreaBattle place5Area1Battle4
AreaBattle place6Area0Battle0
AreaBattle place2Area1Battle4
u16 actor10Talk1Conditions[]
AreaBattle place4Area0Battle7
u16 actor11Talk0Conditions[]
u16 actor4Talk1Conditions[]
AreaBattle place5Area2Battle7
BattleList place3Area2Battles
AreaBattle place3Area2Battle5
u16 actor6Talk2Conditions[]
AreaBattle place4Area3Battle7
AreaBattle place5Area0Battle3
AreaBattle place4Area0Battle1
AreaBattle place1Area2Battle0
AreaBattle place5Area0Battle0
BattleList place1Area0Battles
u16 actor10Talk0Conditions[]
AreaBattle place6Area0Battle6
AreaBattle place2Area3Battle4
StagePoint placePoints2_6Point0
AreaBattle place5Area2Battle6
AreaBattle place4Area0Battle3
AreaBattle place4Area1Battle0
AreaBattle place2Area0Battle2
AreaBattle place3Area1Battle5
AreaBattle place3Area0Battle4
AreaBattle place4Area2Battle4
AreaBattle place2Area3Battle1
AreaBattle place5Area1Battle6
AreaBattle place1Area2Battle2
AreaBattle place5Area0Battle2
u16 actor3Talk2Conditions[]
AreaBattle place3Area2Battle0
AreaBattle place6Area3Battle6
AreaBattle place3Area2Battle2
u16 actor3Talk1Conditions[]
AreaBattle place3Area2Battle7
AreaBattle place1Area3Battle2
AreaBattle place6Area0Battle7
AreaBattle place6Area1Battle0
u16 actor2Talk2Conditions[]
AreaBattle place5Area3Battle4
AreaBattle place6Area3Battle7
StagePoints placePoints1_1
BattleList place4Area3Battles
AreaBattle place1Area3Battle0
AreaBattle place4Area1Battle2
AreaBattle place2Area1Battle0
AreaBattle place5Area0Battle7
BattleList place4Area0Battles
AreaBattle place3Area1Battle1
void setupStage(void)
Sets the stage up: its map, actors and battles, playing BGM_0028.
AreaBattle place5Area1Battle7
AreaBattle place6Area0Battle1
AreaBattle place6Area1Battle6
StagePoints * placePoints[]
Names some stages define.
AreaBattle place6Area1Battle7
u16 actor4Talk0Conditions[]
AreaBattle place3Area3Battle6
AreaBattle place3Area3Battle5
AreaBattle place3Area1Battle4
StageTile stageObjects[]
The tables and color setupStage gives FIELDSTG_state (FieldState)
AreaBattle place5Area3Battle7
AreaBattle place4Area0Battle0
AreaBattle place2Area1Battle6
u16 actor9Talk1Conditions[]
u16 actor11Talk1Actions[]
AreaBattle place6Area1Battle4
u16 actor6Talk3Conditions[]
AreaBattle place1Area1Battle1
BattleList place1Area2Battles
AreaBattle place4Area1Battle7
u16 actor2Talk0Conditions[]
AreaBattle place5Area2Battle2
AreaBattle place1Area2Battle3
AreaBattle place3Area3Battle0
AreaBattle place4Area2Battle2
AreaBattle place3Area3Battle4
AreaBattle place3Area2Battle1
AreaBattle place4Area2Battle3
StagePoints placePoints2_6
AreaBattle place1Area1Battle3
AreaBattle place6Area1Battle2
AreaBattle place5Area0Battle5
u16 actor6Talk0Conditions[]
AreaBattle place5Area3Battle6
AreaBattle place3Area0Battle1
AreaBattle place5Area2Battle5
BattleList place5Area2Battles
AreaBattle place5Area1Battle1
AreaBattle place4Area3Battle3
AreaBattle place1Area2Battle1
BattleList place4Area1Battles
AreaBattle place5Area3Battle2
BattleList place1Area3Battles
BattleList place3Area3Battles
AreaBattle place1Area2Battle5
u16 actor5Talk1Conditions[]
AreaBattle place2Area0Battle7
AreaBattle place2Area3Battle6
AreaBattle place4Area3Battle0
AreaBattle place1Area1Battle6
AreaBattle place3Area2Battle6
AreaBattle place1Area0Battle2
AreaBattle place3Area1Battle0
AreaBattle place4Area2Battle1
AreaBattle place1Area3Battle6
AreaBattle place5Area2Battle1
AreaBattle place6Area3Battle3
u16 actor5Talk2Conditions[]
AreaBattle place3Area2Battle4
StagePoint placePoints5_1Point0
AreaBattle place2Area1Battle3
StagePoint placePoints2_1Point0
AreaBattle place1Area0Battle0
u16 actor10Talk3Conditions[]
BattleList place5Area3Battles
StagePoints placePoints2_4
AreaBattle place6Area0Battle5
AreaBattle place1Area3Battle1
AreaBattle place3Area1Battle2
StagePoints placePoints5_3
AreaBattle place1Area1Battle0
AreaBattle place4Area2Battle0
AreaBattle place4Area1Battle3
AreaBattle place2Area3Battle7
AreaBattle place2Area1Battle5
AreaBattle place3Area1Battle7
AreaBattle place2Area1Battle7
AreaBattle place1Area0Battle5
u16 actor7Talk3Conditions[]
AreaBattle place4Area3Battle1
AreaBattle place6Area2Battle7
AreaBattle place1Area2Battle6
AreaBattle place1Area0Battle7
u16 actor9Talk2Conditions[]
AreaBattle place3Area0Battle2
AreaBattle place3Area0Battle6
AreaBattle place2Area2Battle7
AreaBattle place4Area3Battle5
StagePoints placePoints3_1
AreaBattle place2Area3Battle3
BattleList place2Area3Battles
u16 actor9Talk3Conditions[]
AreaBattle place6Area2Battle3
StagePoints placePoints5_1
AreaBattle place1Area0Battle4
AreaBattle place6Area3Battle4
BattleList place2Area0Battles
u16 actor2Talk4Conditions[]
StagePoint placePoints2_5Point0
AreaBattle place4Area1Battle5
StagePoint placePoints2_4Point0
AreaBattle place5Area3Battle0
AreaBattle place6Area3Battle2
AreaBattle place2Area2Battle0
u16 actor11Talk2Conditions[]
AreaBattle place3Area3Battle7
u16 actor8Talk0Conditions[]
AreaBattle place5Area2Battle0
u16 actor4Talk2Conditions[]
AreaBattle place6Area2Battle5
StagePoints placePoints4_1
StagePoints placePoints1_3
BattleList place2Area2Battles
BattleList place6Area3Battles
u16 actor5Talk4Conditions[]
AreaBattle place4Area2Battle7
AreaBattle place4Area3Battle4
FieldBattles stageBattles[]
AreaBattle place5Area3Battle1
AreaBattle place4Area3Battle2
BattleList place5Area0Battles
AreaBattle place1Area3Battle4
AreaBattle place2Area0Battle6
AreaBattle place5Area1Battle5
AreaBattle place4Area3Battle6
AreaBattle place6Area3Battle0
AreaBattle place2Area2Battle1