mercury_lighthouse_aerie.c
Mercury Lighthouse's aerie: the platforms the leader jumps between, the party's arrival and the confrontation with Saturos and Menardi, the battle with Saturos, and Alex's scene after it.
games/tbs/src/scene/mercury_lighthouse_aerie.c on GitHub
Mercury Lighthouse's aerie: the platforms the leader jumps between, the party's arrival and the confrontation with Saturos and Menardi, the battle with Saturos, and Alex's scene after it.
Functions
MercuryLighthouseAerie_GetExits
const u32 *MercuryLighthouseAerie_GetExits(void)
One exit: the lift down to the lighthouse's foot.
MercuryLighthouseAerie_GetPlacements
const struct ScenePlacement *MercuryLighthouseAerie_GetPlacements(void)
The actors; only the first arrival places Jenna, Kraden, Felix and Menardi.
MercuryLighthouseAerie_Initialize
s32 MercuryLighthouseAerie_Initialize(void)
On arriving: the beacon flickers and the six platforms sit 50 pixels down; the first arrival (entrance 1) plays the party's arrival, the return from the Saturos battle (entrance 2) Alex's scene, and arriving by the lift (entrance 5) leaves the lift up.
MercuryLighthouseAerie_PartyArrives
static void MercuryLighthouseAerie_PartyArrives(void)
Entrance 1, unless resuming: the Adepts of lit elements regain their PP; the aerie shakes, the camera pans across and in a flash the party stands at the top. Isaac shakes his head and the others gather on him.
Used by MercuryLighthouseAerie_Initialize.
MercuryLighthouseAerie_JumpToPlatform
static void MercuryLighthouseAerie_JumpToPlatform(void)
Walking into trigger 10 or 11: if nothing is in the way the leader jumps two cells ahead, off any platform and onto the next.
Used by gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_StepOntoPlatform
static void MercuryLighthouseAerie_StepOntoPlatform(void)
Touching trigger 10 when not already on one: the platform underfoot dips with the leader and bobs back up.
Used by gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_SettlePlatforms
static void MercuryLighthouseAerie_SettlePlatforms(void)
Touching trigger 11: the leader walks normally again and the platforms stop following.
Used by MercuryLighthouseAerie_JumpToPlatform, gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_ConfrontSaturos
static void MercuryLighthouseAerie_ConfrontSaturos(void)
Touching trigger 5 before the confrontation: Garet sees the lighthouse is lit. "It's too late! The lighthouse has already been lit!" Mia learns the party is from Vale; Jenna calls out, and Felix, Menardi and Saturos face the party. Menardi leaves with Jenna, Kraden and Felix for the next lighthouse, and Saturos fights alone (encounter table 36, slot 2).
Used by gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_AlexAppears
static void MercuryLighthouseAerie_AlexAppears(void)
Entrance 2, back from the battle, unless resuming: Saturos is beaten, but not for long. "Isaac, we got him!" Alex appears and explains that the lighthouse bound Saturos' fire Psynergy and lent Mia endless power. Saturos stands again; the two warp over to the lift and ride it down, and the party regroups on the leader.
Used by MercuryLighthouseAerie_Initialize.
MercuryLighthouseAerie_CallLift
static void MercuryLighthouseAerie_CallLift(void)
Touching trigger 6 while the lift is down: the camera watches it rise with its statue.
Used by gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_RideLiftDown
static void MercuryLighthouseAerie_RideLiftDown(void)
Touching trigger 12: the leader steps onto the lift and rides it down to the lighthouse's foot (exit 1).
Used by gMercuryLighthouseAerieEvents.
MercuryLighthouseAerie_SaturosAndAlexWarpOut
static void MercuryLighthouseAerie_SaturosAndAlexWarpOut(void)
Saturos and Alex warp out in a column of sparkles and vanish.
Used by MercuryLighthouseAerie_AlexAppears.
MercuryLighthouseAerie_SaturosAndAlexWarpIn
static void MercuryLighthouseAerie_SaturosAndAlexWarpIn(void)
Saturos and Alex warp in where they have been placed.
Used by MercuryLighthouseAerie_AlexAppears.
MercuryLighthouseAerie_FindLiftRiders
static void MercuryLighthouseAerie_FindLiftRiders(s32 *out, s32 y)
MercuryLighthouseAerie_LowerLift passes its lift as a third argument, which this function does not take.
Used by MercuryLighthouseAerie_LowerLift, MercuryLighthouseAerie_RaiseLift.
MercuryLighthouseAerie_LowerLift
static void MercuryLighthouseAerie_LowerLift(void)
The lift sinks with everything standing on it, speeding up.
Used by MercuryLighthouseAerie_AlexAppears, MercuryLighthouseAerie_ConfrontSaturos, MercuryLighthouseAerie_RideLiftDown.
MercuryLighthouseAerie_RaiseLift
static void MercuryLighthouseAerie_RaiseLift(void)
The lift rises with everything standing on it, slowing at the top.
Used by MercuryLighthouseAerie_AlexAppears, MercuryLighthouseAerie_CallLift.
MercuryLighthouseAerie_AlexCastsPly
UNUSED static void MercuryLighthouseAerie_AlexCastsPly(void)
Alex casts Ply on the statue; nothing calls it.
SceneEffect_UpdateArcPosition
static void SceneEffect_UpdateArcPosition(union FieldObject *fieldObject)
A beacon spark's update: it swings round the flame it is linked to, its angle (its timer, in 1/65536 turns) stepping back each frame; its speed holds the swing's radius in pixels, less 28.
Used by MercuryLighthouseAerie_FlickerBeacon.
MercuryLighthouseAerie_FlickerBeacon
static void MercuryLighthouseAerie_FlickerBeacon(void)
Every frame: while the view is near the top the beacon flame flickers between two sizes, and every 16 frames it throws off a spark that swings round it.
Used by MercuryLighthouseAerie_Initialize.
Also, functions without a comment: MercuryLighthouseAerie_GetEntrances, MercuryLighthouseAerie_GetRegions, MercuryLighthouseAerie_GetEvents.
Enumerations
MercuryLighthouseAerieActor
enum MercuryLighthouseAerieActor
The aerie's actors. The party and Jenna stand in their own slots. The speakers are known from the text: Kraden ("It's all right, Jenna."), Felix ("Jenna, please... Just do as she says"), Saturos (Menardi: "Oh, Saturos..."), Menardi (Saturos: "Menardi... Wait!") and Alex (Mia: "Alex!"). Saturos is fought as encounter table 36, slot 2.
| Value | = | |
|---|---|---|
ACTOR_BEACON_FLAME | ACTOR_FIRST_PLACED | flickers and sheds sparks |
ACTOR_LIFT_STATUE | ||
ACTOR_FIRST_PLATFORM | ACTOR_FIRST_PLACED + 6 | six, sprite 0xf2 |
ACTOR_LIFT_PLATFORM_1 | ACTOR_FIRST_PLATFORM + 3 | The two platforms that stand on the lift and go up and down with it. |
ACTOR_LIFT_PLATFORM_2 | ||
ACTOR_KRADEN | ACTOR_FIRST_PLACED + 12 | |
ACTOR_FELIX | ||
ACTOR_SATUROS | ||
ACTOR_MENARDI | ||
ACTOR_ALEX |
Macros, without a comment: NULL.
Globals, without a comment: gEffectScript0, gEffectScript1, gEffectScript2, gEffectScripts, gMercuryLighthouseAerieEntrances, gMercuryLighthouseAerieExits, gMercuryLighthouseAeriePlacements, gMercuryLighthouseAerieEvents, gMercuryLighthouseAerie_PlatformUnderfoot, gMercuryLighthouseAerie_SparkScript.