Alchemy

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.

Line 95

MercuryLighthouseAerie_GetPlacements

const struct ScenePlacement *MercuryLighthouseAerie_GetPlacements(void)

The actors; only the first arrival places Jenna, Kraden, Felix and Menardi.

Line 100

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.

Line 115

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.

Line 189

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.

Line 288

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.

Line 322

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.

Line 361

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.

Line 376

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.

Line 810

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.

Line 1354

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.

Line 1384

MercuryLighthouseAerie_SaturosAndAlexWarpOut

static void MercuryLighthouseAerie_SaturosAndAlexWarpOut(void)

Saturos and Alex warp out in a column of sparkles and vanish.

Used by MercuryLighthouseAerie_AlexAppears.

Line 1398

MercuryLighthouseAerie_SaturosAndAlexWarpIn

static void MercuryLighthouseAerie_SaturosAndAlexWarpIn(void)

Saturos and Alex warp in where they have been placed.

Used by MercuryLighthouseAerie_AlexAppears.

Line 1455

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.

Line 1517

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.

Line 1538

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.

Line 1579

MercuryLighthouseAerie_AlexCastsPly

UNUSED static void MercuryLighthouseAerie_AlexCastsPly(void)

Alex casts Ply on the statue; nothing calls it.

Line 1620

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.

Line 1632

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.

Line 1649

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_FLAMEACTOR_FIRST_PLACEDflickers and sheds sparks
ACTOR_LIFT_STATUE
ACTOR_FIRST_PLATFORMACTOR_FIRST_PLACED + 6six, sprite 0xf2
ACTOR_LIFT_PLATFORM_1ACTOR_FIRST_PLATFORM + 3The two platforms that stand on the lift and go up and down with it.
ACTOR_LIFT_PLATFORM_2
ACTOR_KRADENACTOR_FIRST_PLACED + 12
ACTOR_FELIX
ACTOR_SATUROS
ACTOR_MENARDI
ACTOR_ALEX

Line 46

Macros, without a comment: NULL.

Globals, without a comment: gEffectScript0, gEffectScript1, gEffectScript2, gEffectScripts, gMercuryLighthouseAerieEntrances, gMercuryLighthouseAerieExits, gMercuryLighthouseAeriePlacements, gMercuryLighthouseAerieEvents, gMercuryLighthouseAerie_PlatformUnderfoot, gMercuryLighthouseAerie_SparkScript.

On this page