Babi Lighthouse, the lighthouse Babi is building on old ruins near Lalivero. More...
Go to the source code of this file.
Macros | |
| #define | FIELD_STAGED_ACTOR_IMPORTS |
| #define | SEARCH_CHEST_FACING(facing) |
| A chest searched while facing the given way. | |
| #define | DIRECTION_STEP(dx, dz) |
| Pixel step by direction: X in the upper halfword, Z in the lower. | |
Enumerations | |
| enum | { ACTOR_LEFT_DOOR = 8 , ACTOR_RIGHT_DOOR = 9 , ACTOR_IODEM = 10 , ACTOR_WITNESS = 11 , ACTOR_FIRST_ONLOOKER = 12 , ACTOR_SECOND_ONLOOKER = 13 , ACTOR_FARAN = 14 } |
| Room 1, before the stone door: the door's two halves, Iodem, the man who saw the kidnappers go through, two more onlookers and Faran. More... | |
| enum | { ACTOR_DJINNI = 8 } |
| Room 2's Djinni. More... | |
| enum | { ACTOR_LEFT_BLOCK = 8 , ACTOR_RIGHT_BLOCK = 9 , ACTOR_SPROUT = 10 , ACTOR_FIRST_FALLEN_MAN = 11 } |
| Room 3: the two blocks on the ledges, the sprout for Growth and the four men the kidnappers knocked down on their way in. More... | |
| enum | { ACTOR_SITE_BLOCK = 12 } |
| The building site outside: four workers and the block for Move and Carry. More... | |
| enum | { FLAG_GROWTH_PASSAGE_OPEN = 0x300 , FLAG_BEYOND_DOOR = 0x301 } |
| The lighthouse keeps two flags in the area flags from 0x300. More... | |
Functions | |
| static void | BabiLighthouse_CloseTruthDoor (void) |
| Walking through the open door: it slides shut behind the party, now on its other side. | |
| static void | BabiLighthouse_RefreshMovableBlockTiles (void) |
| Redraws room 3's ledge cells, then blocks the cells under its two blocks. | |
| static __inline__ s32 UNUSED | Entrance_Divide (s32 dividend, s32 divisor) |
| Unused: a signed division nothing calls. | |
| static void | BabiLighthouse_StartDjinnBattle (void) |
| Talking to the Djinni in room 2 starts the battle for Djinni 66. | |
| static void | BabiLighthouse_LandWithParticles (void) |
| Arriving by falling from the floor above: the leader drops in, lands with a thud that shakes the screen and throws up a ring of dust, and is startled. | |
| static void | BabiLighthouse_FallToExit (s32 exit) |
| Arriving at one of room 2's drop entrances: the leader drops in and falls on, out through the given exit. | |
| const struct SceneEntrance * | Scene_GetEntrances (void) |
| const struct SceneRegion * | Scene_GetRegions (void) |
| Only room 3 has regions. | |
| const u32 * | BabiLighthouse_GetExits (void) |
| The four scenes share one exit table. | |
| const struct ScenePlacement * | Scene_GetPlacements (void) |
| static void | BabiLighthouse_JumpFromLedge (void) |
| After Move on one of room 3's blocks, or a push: a leader left standing on a block's ledge cell jumps off it, and the blocks' cells are redrawn. | |
| static void | BabiLighthouse_AdvancePairAndJump (void) |
| Walking into one of room 3's blocks pushes it. | |
| static void | BabiLighthouse_ClimbDownOrAdvancePair (void) |
| Walking south off room 3's ledge: pushes the block below on the leader's side if it stands at the ledge's foot, and otherwise climbs down. | |
| static void | BabiLighthouse_RiseAndCloseScreen (void) |
| Raises the leader, then closes the screen before a room transition. | |
| static void | BabiLighthouse_RiseToExit (void) |
| Raises the leader and takes exit 11 without preparing an extra effect. | |
| static void | BabiLighthouse_RisePastSingleEffect (void) |
| Prepares one effect, raises the leader, then takes exit 12. | |
| static void | BabiLighthouse_RisePastPairedEffects (void) |
| Prepares two effects, raises the leader, then takes exit 13. | |
| static void | BabiLighthouse_RiseToAlternateExit (void) |
| Raises the leader and takes exit 15 without preparing an extra effect. | |
| static void | BabiLighthouse_InspectLockedDoor (void) |
| Searching room 2's door. "It seems to be locked.". | |
| static void | BabiLighthouse_RegroupPartyMember (s32 actorId) |
| A companion walks back to the leader and rejoins the party. | |
| static void | BabiLighthouse_DiscussPursuit (void) |
| Walking up to room 1's stone door the first time: Faran asks whether the kidnappers really went through it; the onlookers argue, and Iodem, arriving with the party, tells who they are, and Faran, doubting them, asks them to prove they can follow by opening the door. | |
| static void | BabiLighthouse_ExplainTruthDoor (void) |
| The door opens before Iodem and Faran the first time: everyone marvels, the door closes again, and the party says those without Psynergy cannot follow; Iodem and Faran leave Sheba's rescue to them. | |
| static void | BabiLighthouse_RefreshTruthDoorTiles (void) |
| Reveal shows the door's switch, flipped one way or the other as the door stands. | |
| static void | BabiLighthouse_HideTruthDoorSwitch (void) |
| Reveal's light ends and the switch is hidden again. | |
| static void | BabiLighthouse_OpenTruthDoor (void) |
| The stone door's halves slide open (SE_GATE_MOVE); the first time, Iodem and Faran see it. | |
| static void | BabiLighthouse_InspectTruthDoorSwitch (void) |
| Searching the door's switch: under Reveal's light it is flipped and the door opens; otherwise it reads an inscription. | |
| static struct FieldActor * | BabiLighthouse_FindActorAhead (struct FieldActor *actor) |
| Finds the staged actor one direction-table step ahead, including terrain height. | |
| static void | BabiLighthouse_EnableChildOption (void) |
| Carry's first phase on the building site's block sets the effect's childOption; what that changes is not known. | |
| static void | BabiLighthouse_UpdateMovedBlock (void) |
| After Move or Carry on the building site's block: in its cell at (20, 12) it settles at a height of 48 pixels. | |
| static void | BabiLighthouse_AdvanceNearbyPair (void) |
| Advances the staged pair only when the actor ahead is less than eight pixels away vertically. | |
| static void | BabiLighthouse_ClimbOrAdvancePair (void) |
| Tries vertical climbing first, then advances the staged pair when appropriate. | |
| const struct SceneEvent * | Scene_GetEvents (void) |
| static void | BabiLighthouse_OpenGrowthPassage (void) |
| Growth on room 3's sprout: it grows into a vine the party can climb. | |
| s32 | BabiLighthouse_SetupScene (void) |
| Sets up the scene being entered: Retreat leads back to room 3; the site's block, room 3's blocks, vine and fallen men, room 2's arrivals by falling, and room 1's door and onlookers are restored. | |
Babi Lighthouse, the lighthouse Babi is building on old ruins near Lalivero.
Four scenes share this overlay:
Definition in file babi_lighthouse.c.
| #define FIELD_STAGED_ACTOR_IMPORTS |
Definition at line 24 of file babi_lighthouse.c.
| #define SEARCH_CHEST_FACING | ( | facing | ) |
A chest searched while facing the given way.
Definition at line 90 of file babi_lighthouse.c.
| #define DIRECTION_STEP | ( | dx, | |
| dz ) |
Pixel step by direction: X in the upper halfword, Z in the lower.
Definition at line 1336 of file babi_lighthouse.c.
| anonymous enum |
Room 1, before the stone door: the door's two halves, Iodem, the man who saw the kidnappers go through, two more onlookers and Faran.
| Enumerator | |
|---|---|
| ACTOR_LEFT_DOOR | |
| ACTOR_RIGHT_DOOR | |
| ACTOR_IODEM | |
| ACTOR_WITNESS | |
| ACTOR_FIRST_ONLOOKER | |
| ACTOR_SECOND_ONLOOKER | |
| ACTOR_FARAN | |
Definition at line 56 of file babi_lighthouse.c.
| anonymous enum |
| anonymous enum |
Room 3: the two blocks on the ledges, the sprout for Growth and the four men the kidnappers knocked down on their way in.
| Enumerator | |
|---|---|
| ACTOR_LEFT_BLOCK | |
| ACTOR_RIGHT_BLOCK | |
| ACTOR_SPROUT | |
| ACTOR_FIRST_FALLEN_MAN | |
Definition at line 71 of file babi_lighthouse.c.
| anonymous enum |
The building site outside: four workers and the block for Move and Carry.
| Enumerator | |
|---|---|
| ACTOR_SITE_BLOCK | |
Definition at line 79 of file babi_lighthouse.c.
| anonymous enum |
The lighthouse keeps two flags in the area flags from 0x300.
| Enumerator | |
|---|---|
| FLAG_GROWTH_PASSAGE_OPEN | Growth has grown room 3's sprout into a vine. |
| FLAG_BEYOND_DOOR | The party is on the far side of room 1's stone door. |
Definition at line 82 of file babi_lighthouse.c.
|
static |
Walking through the open door: it slides shut behind the party, now on its other side.
Definition at line 934 of file babi_lighthouse.c.
Referenced by BabiLighthouse_CloseTruthDoor(), and BabiLighthouse_ExplainTruthDoor().
|
static |
Redraws room 3's ledge cells, then blocks the cells under its two blocks.
Definition at line 1106 of file babi_lighthouse.c.
Referenced by BabiLighthouse_JumpFromLedge(), BabiLighthouse_RefreshMovableBlockTiles(), and BabiLighthouse_SetupScene().
Unused: a signed division nothing calls.
Definition at line 97 of file babi_lighthouse.c.
Referenced by Entrance_Divide().
|
static |
Talking to the Djinni in room 2 starts the battle for Djinni 66.
Definition at line 107 of file babi_lighthouse.c.
Referenced by BabiLighthouse_StartDjinnBattle().
|
static |
Arriving by falling from the floor above: the leader drops in, lands with a thud that shakes the screen and throws up a ring of dust, and is startled.
Definition at line 116 of file babi_lighthouse.c.
Referenced by BabiLighthouse_LandWithParticles(), and BabiLighthouse_SetupScene().
|
static |
Arriving at one of room 2's drop entrances: the leader drops in and falls on, out through the given exit.
Definition at line 167 of file babi_lighthouse.c.
Referenced by BabiLighthouse_FallToExit(), and BabiLighthouse_SetupScene().
| const struct SceneEntrance * Scene_GetEntrances | ( | void | ) |
Definition at line 196 of file babi_lighthouse.c.
| const struct SceneRegion * Scene_GetRegions | ( | void | ) |
Only room 3 has regions.
Definition at line 212 of file babi_lighthouse.c.
| const u32 * BabiLighthouse_GetExits | ( | void | ) |
The four scenes share one exit table.
Definition at line 220 of file babi_lighthouse.c.
Referenced by BabiLighthouse_GetExits().
| const struct ScenePlacement * Scene_GetPlacements | ( | void | ) |
Definition at line 222 of file babi_lighthouse.c.
|
static |
After Move on one of room 3's blocks, or a push: a leader left standing on a block's ledge cell jumps off it, and the blocks' cells are redrawn.
Definition at line 239 of file babi_lighthouse.c.
Referenced by BabiLighthouse_AdvancePairAndJump(), and BabiLighthouse_JumpFromLedge().
|
static |
Walking into one of room 3's blocks pushes it.
Definition at line 270 of file babi_lighthouse.c.
Referenced by BabiLighthouse_AdvancePairAndJump(), and BabiLighthouse_ClimbDownOrAdvancePair().
|
static |
Walking south off room 3's ledge: pushes the block below on the leader's side if it stands at the ledge's foot, and otherwise climbs down.
Definition at line 279 of file babi_lighthouse.c.
Referenced by BabiLighthouse_ClimbDownOrAdvancePair().
|
static |
Raises the leader, then closes the screen before a room transition.
Definition at line 302 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RiseAndCloseScreen(), BabiLighthouse_RisePastPairedEffects(), BabiLighthouse_RisePastSingleEffect(), BabiLighthouse_RiseToAlternateExit(), and BabiLighthouse_RiseToExit().
|
static |
Raises the leader and takes exit 11 without preparing an extra effect.
Definition at line 310 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RiseToExit().
|
static |
Prepares one effect, raises the leader, then takes exit 12.
Definition at line 318 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RisePastSingleEffect().
|
static |
Prepares two effects, raises the leader, then takes exit 13.
Definition at line 327 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RisePastPairedEffects().
|
static |
Raises the leader and takes exit 15 without preparing an extra effect.
Definition at line 337 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RiseToAlternateExit().
|
static |
Searching room 2's door. "It seems to be locked.".
Definition at line 345 of file babi_lighthouse.c.
Referenced by BabiLighthouse_InspectLockedDoor().
|
inlinestatic |
A companion walks back to the leader and rejoins the party.
Definition at line 353 of file babi_lighthouse.c.
Referenced by BabiLighthouse_DiscussPursuit(), BabiLighthouse_ExplainTruthDoor(), and BabiLighthouse_RegroupPartyMember().
|
static |
Walking up to room 1's stone door the first time: Faran asks whether the kidnappers really went through it; the onlookers argue, and Iodem, arriving with the party, tells who they are, and Faran, doubting them, asks them to prove they can follow by opening the door.
Definition at line 369 of file babi_lighthouse.c.
Referenced by BabiLighthouse_DiscussPursuit().
|
static |
The door opens before Iodem and Faran the first time: everyone marvels, the door closes again, and the party says those without Psynergy cannot follow; Iodem and Faran leave Sheba's rescue to them.
Definition at line 630 of file babi_lighthouse.c.
Referenced by BabiLighthouse_ExplainTruthDoor(), and BabiLighthouse_OpenTruthDoor().
|
static |
Reveal shows the door's switch, flipped one way or the other as the door stands.
Definition at line 900 of file babi_lighthouse.c.
Referenced by BabiLighthouse_RefreshTruthDoorTiles().
|
static |
Reveal's light ends and the switch is hidden again.
Definition at line 909 of file babi_lighthouse.c.
Referenced by BabiLighthouse_HideTruthDoorSwitch().
|
static |
The stone door's halves slide open (SE_GATE_MOVE); the first time, Iodem and Faran see it.
Definition at line 915 of file babi_lighthouse.c.
Referenced by BabiLighthouse_InspectTruthDoorSwitch(), and BabiLighthouse_OpenTruthDoor().
|
static |
Searching the door's switch: under Reveal's light it is flipped and the door opens; otherwise it reads an inscription.
"The truth of this door is open to those seeing with their true heart."
Definition at line 956 of file babi_lighthouse.c.
Referenced by BabiLighthouse_InspectTruthDoorSwitch().
|
static |
Finds the staged actor one direction-table step ahead, including terrain height.
Definition at line 983 of file babi_lighthouse.c.
Referenced by BabiLighthouse_AdvanceNearbyPair(), BabiLighthouse_ClimbOrAdvancePair(), and BabiLighthouse_FindActorAhead().
|
static |
Carry's first phase on the building site's block sets the effect's childOption; what that changes is not known.
Definition at line 1003 of file babi_lighthouse.c.
Referenced by BabiLighthouse_EnableChildOption().
|
static |
After Move or Carry on the building site's block: in its cell at (20, 12) it settles at a height of 48 pixels.
Definition at line 1009 of file babi_lighthouse.c.
Referenced by BabiLighthouse_UpdateMovedBlock().
|
static |
Advances the staged pair only when the actor ahead is less than eight pixels away vertically.
Definition at line 1031 of file babi_lighthouse.c.
Referenced by BabiLighthouse_AdvanceNearbyPair(), and BabiLighthouse_ClimbOrAdvancePair().
|
static |
Tries vertical climbing first, then advances the staged pair when appropriate.
Definition at line 1060 of file babi_lighthouse.c.
Referenced by BabiLighthouse_ClimbOrAdvancePair().
| const struct SceneEvent * Scene_GetEvents | ( | void | ) |
Definition at line 1082 of file babi_lighthouse.c.
|
static |
Growth on room 3's sprout: it grows into a vine the party can climb.
Definition at line 1098 of file babi_lighthouse.c.
Referenced by BabiLighthouse_OpenGrowthPassage(), and BabiLighthouse_SetupScene().
| s32 BabiLighthouse_SetupScene | ( | void | ) |
Sets up the scene being entered: Retreat leads back to room 3; the site's block, room 3's blocks, vine and fallen men, room 2's arrivals by falling, and room 1's door and onlookers are restored.
Returns 0.
Definition at line 1161 of file babi_lighthouse.c.
Referenced by BabiLighthouse_SetupScene().
| s32 gStagedActor_DirectionSteps[] |
Pixel step by direction: X in the upper halfword, Z in the lower.
Definition at line 1338 of file babi_lighthouse.c.
| u32 gStagedActor_FootprintKinds[] |
Definition at line 1347 of file babi_lighthouse.c.
| s32 gStagedActor_FootprintBounds[] |
Definition at line 1351 of file babi_lighthouse.c.
| s32 gEffectScript0[] |
Definition at line 1356 of file babi_lighthouse.c.
| s32 gEffectScript1[] |
| s32 gEffectScript2[] |
| const s32* gEffectScripts[] |
Definition at line 1371 of file babi_lighthouse.c.
| s32 gBabiLighthouse_TrembleScript[] |
Definition at line 1377 of file babi_lighthouse.c.
| struct SceneEntrance gBabiLighthouse_Entrances3[] |
Definition at line 1409 of file babi_lighthouse.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gBabiLighthouse_Entrances2[] |
Definition at line 1420 of file babi_lighthouse.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gBabiLighthouse_Entrances1[] |
Definition at line 1442 of file babi_lighthouse.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gBabiLighthouse_EntrancesOther[] |
Definition at line 1449 of file babi_lighthouse.c.
Referenced by Scene_GetEntrances().
| struct SceneRegion gBabiLighthouse_Regions3[] |
Definition at line 1456 of file babi_lighthouse.c.
Referenced by Scene_GetRegions().
| u32 gBabiLighthouse_Exits[] |
Definition at line 1463 of file babi_lighthouse.c.
Referenced by BabiLighthouse_GetExits().
| struct ScenePlacement gBabiLighthouse_NoPlacements[] |
Definition at line 1477 of file babi_lighthouse.c.
| struct ScenePlacement gBabiLighthouse_Placements3[] |
Definition at line 1481 of file babi_lighthouse.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gBabiLighthouse_Placements2[] |
Definition at line 1499 of file babi_lighthouse.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gBabiLighthouse_Placements1[] |
Definition at line 1506 of file babi_lighthouse.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gBabiLighthouse_PlacementsOther[] |
Definition at line 1528 of file babi_lighthouse.c.
Referenced by Scene_GetPlacements().
| struct SceneEvent gBabiLighthouse_Events3[] |
Definition at line 1542 of file babi_lighthouse.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gBabiLighthouse_Events2[] |
Definition at line 1566 of file babi_lighthouse.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gBabiLighthouse_Events1[] |
Definition at line 1587 of file babi_lighthouse.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gBabiLighthouse_EventsOther[] |
Definition at line 1630 of file babi_lighthouse.c.
Referenced by Scene_GetEvents().