Alchemy
Loading...
Searching...
No Matches

venus_lighthouse_aerie.c File Reference

Venus Lighthouse's aerie: the pillars the leader jumps between, the Shaman's Rod handed over for Sheba, and the battle with Saturos and Menardi, who fuse. More...

Go to the source code of this file.

Macros

#define NULL   ((void *)0)
#define FLAG_SHAMANS_ROD_OWNER   0x345
 Plus the party member (0 to 3) who carried the Shaman's Rod when it was handed over before the aerie's first battle; a defeat gives it back.

Functions

static void Event_SteadyPillars (void)
 Stepping back onto the floor, and before each jump: the leader walks and falls normally again and the six pillars stand still.
static void VenusLighthouseAerie_EnterAndConfrontAntagonists (void)
 Brings the party onto the aerie and reveals the argument over Sheba.
static void VenusLighthouseAerie_ShowPartyMember (s32 actorId, s32 shown)
 Shows or hides one companion, setting its movement speed when shown.
static void VenusLighthouseAerie_FlashActorPalette (struct FieldActor *actor)
 Flashes an actor palette and emits paired effects every fifteenth frame.
static void VenusLighthouseAerie_SpawnLinkedPairEffects (struct FieldActor *parent)
 Spawns two vertical effects using the parent position and shared cached tiles.
static void VenusLighthouseAerie_UpdateShebaPalette (void)
static void VenusLighthouseAerie_CombineSaturosAndMenardi (void)
 Shows the Venus Star lighting the beacon and the antagonists combining.
static void VenusLighthouseAerie_FlashScreen (void)
 Flashes the object palette white, then restores the transformation colour.
static void VenusLighthouseAerie_SpawnUpperOrbitParticles (void)
 Emits rising particles around the upper beam at the current beacon stage.
static void VenusLighthouseAerie_UpdateBeamActors (void)
 Pulses and slides Saturos and Menardi while their beam flags are active.
static void VenusLighthouseAerie_FinishSaturosAndMenardiBattle (void)
 Plays the antagonists' defeat, the party discussion and the beacon eruption.
static void VenusLighthouseAerie_ShowShebaInDanger (void)
 A look back from the world map: Felix cries out as Sheba clings to the broken aerie, then the world map returns with its music still playing.
static void VenusLighthouseAerie_StageShebasFall (void)
 Stages the broken aerie for the fall sequence and the party escape.
static void VenusLighthouseAerie_ShowSaturosAndMenardiFall (void)
 Shows Saturos and Menardi falling into the beacon after their final defeat.
static void VenusLighthouseAerie_DiscussSaturosAndMenardiDefeat (void)
 Lets the party discuss the battle while Felix and Sheba remain on the aerie.
static void VenusLighthouseAerie_EruptBeacon (void)
 Raises the beacon effects and splits the aerie beneath the group.
static void VenusLighthouseAerie_RestorePartyOnBrokenAerie (void)
 Places the party on the broken platform and resumes its falling effects.
static void VenusLighthouseAerie_TryToPreventFall (void)
 Shows Felix urging Sheba to hold on at the edge of the platform.
static void VenusLighthouseAerie_PlayShebasFall (void)
 Shows Sheba falling, Felix jumping after her and the party escaping.
static void VenusLighthouseAerie_StopActorMotion (struct FieldActor *actor)
 Clears all movement targets and velocities and resets the actor timer.
static void VenusLighthouseAerie_UpdateBeaconRise (void)
 Advances the beacon rise sequence, its flashes and orbiting particles.
static void VenusLighthouseAerie_AdvanceActorRise (struct FieldActor *actor)
 Raises an enabled actor according to its gated rise counter.
static void VenusLighthouseAerie_SpawnSideOrbitParticles (void)
 Emits particles beside the lower beam and links each to its source actor.
static void VenusLighthouseAerie_UpdateOrbitingEffect (union FieldObject *object)
 Moves a linked particle along its horizontal ellipse and preserves its target.
static s32 VenusLighthouseAerie_PulseActorScale (struct ScriptInterpreter *interpreter)
 Pulses the actor scale around the countdown, then chooses its next pause.
static void VenusLighthouseAerie_UpdateDriftingParticle (union FieldObject *object)
 Moves a particle, damps its horizontal velocity and updates its scale and spin.
static void VenusLighthouseAerie_StepSpriteRotation (union FieldObject *fieldObject)
 Turns the falling actor sprite until its rotation leaves the negative half-turn.
const struct SceneEntrance * VenusLighthouseAerie_GetEntrances (void)
const struct SceneRegion * VenusLighthouseAerie_GetRegions (void)
const u32 * VenusLighthouseAerie_GetExits (void)
const struct ScenePlacement * VenusLighthouseAerie_GetPlacements (void)
 Returns the platforms, antagonists, companions and beacon effects.
static void Event_JumpToNextPillar (void)
 Walking off the edge of a pillar: if the ground two tiles ahead is clear, the leader jumps across to it.
static void Event_LandOnPillar (void)
 Landing on a pillar: it dips under the leader and springs back up.
const struct SceneEvent * VenusLighthouseAerie_GetEvents (void)
 Returns the pillar and confrontation triggers.
s32 VenusLighthouseAerie_Initialize (void)
 Restores the platforms and runs the scene selected by the arrival.
static void VenusLighthouseAerie_ShowMessage (s32 speaker)
static void VenusLighthouseAerie_FaceActor (s32 actor, s32 facing)
 Turns one actor and waits ten frames.
static void Event_ConfrontSaturosAndMenardi (void)
 Walking up to Saturos and Menardi: they promise not to harm Sheba for the Shaman's Rod, Felix carries it over, they will not let her go, and the battle begins.
static void VenusLighthouseAerie_CycleActorPalette (struct FieldActor *actor)
 Cycles the actor palette and emits paired effects every fifteenth frame.
static void VenusLighthouseAerie_AimBurst (s32 velocity[3], s32 angle)
 Builds the horizontal velocity for an elliptical radial particle burst.
static void VenusLighthouseAerie_ShowGroupEmote (s32 emote, s32 waitFrames)
 Gives Felix, Sheba and the party the same reaction, then waits after Mia.
static void VenusLighthouseAerie_UpdateUpperOrbit (union FieldObject *fieldObject)
 Orbits a particle around the upper beam and keeps its target at that position.
static void VenusLighthouseAerie_UpdateRisingOrbit (union FieldObject *fieldObject)
 Orbits a particle around the rising beam using its rise counter as a radius.
static __inline__ s32 Actor_IsParked (struct FieldActor *actor)
 Tests whether all three movement targets are unset.

Variables

static s32 sTransitionTimer
static s32 sTransitionStep
s32 gEffectScript0 []
s32 gEffectScript1 []
s32 gEffectScript2 []
const s32 * gEffectScripts []
s32 gVenusLighthouseAerie_PairActionScript []
s32 gSceneAction_EntryGroup []
s32 gSceneAction_EntryPair []
s32 gVenusLighthouseAerie_ScaleStepAction []
s32 gVenusLighthouseAerie_BeamOpenAction []
s32 gVenusLighthouseAerie_BeamNarrowAction []
s32 gVenusLighthouseAerie_BeamRiseAction []
s32 gVenusLighthouseAerie_BeamCloseAction []
s32 gVenusLighthouseAerie_BeamEndAction []
s32 gVenusLighthouseAerie_OrbitParticleScript []
s32 gVenusLighthouseAerie_RiseParticleScript []
s32 gVenusLighthouseAerie_WalkOutAction []
s32 gVenusLighthouseAerie_RiseActionScript []
s32 gVenusLighthouseAerie_StepBackAction []
s32 gVenusLighthouseAerie_LeapAction []
s32 gVenusLighthouseAerie_PartyExitAction []
s32 gVenusLighthouseAerie_PartyHeadingAction []
struct SceneEntrance gVenusLighthouseAerieEntrances []
u32 gVenusLighthouseAerieExits []
struct ScenePlacement gVenusLighthouseAeriePlacements []
s32 gVenusLighthouseAerie_NearestActor = 0
struct SceneEvent gVenusLighthouseAerieEvents []
s32 gVenusLighthouseAerie_BesideParticleScript []

Detailed Description

Venus Lighthouse's aerie: the pillars the leader jumps between, the Shaman's Rod handed over for Sheba, and the battle with Saturos and Menardi, who fuse.

Definition in file venus_lighthouse_aerie.c.

Macro Definition Documentation

◆ NULL

#define NULL   ((void *)0)

Definition at line 23 of file venus_lighthouse_aerie.c.

◆ FLAG_SHAMANS_ROD_OWNER

#define FLAG_SHAMANS_ROD_OWNER   0x345

Plus the party member (0 to 3) who carried the Shaman's Rod when it was handed over before the aerie's first battle; a defeat gives it back.

Definition at line 71 of file venus_lighthouse_aerie.c.

Referenced by Event_ConfrontSaturosAndMenardi(), and VenusLighthouseAerie_Initialize().

Function Documentation

◆ Event_SteadyPillars()

void Event_SteadyPillars ( void )
static

Stepping back onto the floor, and before each jump: the leader walks and falls normally again and the six pillars stand still.

Definition at line 278 of file venus_lighthouse_aerie.c.

Referenced by Event_JumpToNextPillar(), and Event_SteadyPillars().

◆ VenusLighthouseAerie_EnterAndConfrontAntagonists()

void VenusLighthouseAerie_EnterAndConfrontAntagonists ( void )
static

Brings the party onto the aerie and reveals the argument over Sheba.

Definition at line 386 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EnterAndConfrontAntagonists(), and VenusLighthouseAerie_Initialize().

◆ VenusLighthouseAerie_ShowPartyMember()

void VenusLighthouseAerie_ShowPartyMember ( s32 actor,
s32 shown )
static

Shows or hides one companion, setting its movement speed when shown.

Definition at line 671 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EnterAndConfrontAntagonists(), and VenusLighthouseAerie_ShowPartyMember().

◆ VenusLighthouseAerie_FlashActorPalette()

void VenusLighthouseAerie_FlashActorPalette ( struct FieldActor * actor)
static

Flashes an actor palette and emits paired effects every fifteenth frame.

Definition at line 1101 of file venus_lighthouse_aerie.c.

Referenced by Event_ConfrontSaturosAndMenardi(), and VenusLighthouseAerie_FlashActorPalette().

◆ VenusLighthouseAerie_SpawnLinkedPairEffects()

void VenusLighthouseAerie_SpawnLinkedPairEffects ( struct FieldActor * parent)
static

Spawns two vertical effects using the parent position and shared cached tiles.

Definition at line 1128 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CycleActorPalette(), VenusLighthouseAerie_FlashActorPalette(), and VenusLighthouseAerie_SpawnLinkedPairEffects().

◆ VenusLighthouseAerie_UpdateShebaPalette()

void VenusLighthouseAerie_UpdateShebaPalette ( void )
static

◆ VenusLighthouseAerie_CombineSaturosAndMenardi()

void VenusLighthouseAerie_CombineSaturosAndMenardi ( void )
static

Shows the Venus Star lighting the beacon and the antagonists combining.

Definition at line 1211 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_Initialize().

◆ VenusLighthouseAerie_FlashScreen()

void VenusLighthouseAerie_FlashScreen ( void )
static

Flashes the object palette white, then restores the transformation colour.

Definition at line 1748 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_FlashScreen().

◆ VenusLighthouseAerie_SpawnUpperOrbitParticles()

void VenusLighthouseAerie_SpawnUpperOrbitParticles ( void )
static

◆ VenusLighthouseAerie_UpdateBeamActors()

void VenusLighthouseAerie_UpdateBeamActors ( void )
static

Pulses and slides Saturos and Menardi while their beam flags are active.

Definition at line 1852 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_UpdateBeamActors().

◆ VenusLighthouseAerie_FinishSaturosAndMenardiBattle()

void VenusLighthouseAerie_FinishSaturosAndMenardiBattle ( void )
static

Plays the antagonists' defeat, the party discussion and the beacon eruption.

Definition at line 1897 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_FinishSaturosAndMenardiBattle(), and VenusLighthouseAerie_Initialize().

◆ VenusLighthouseAerie_ShowShebaInDanger()

void VenusLighthouseAerie_ShowShebaInDanger ( void )
static

A look back from the world map: Felix cries out as Sheba clings to the broken aerie, then the world map returns with its music still playing.

Definition at line 1907 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_Initialize(), and VenusLighthouseAerie_ShowShebaInDanger().

◆ VenusLighthouseAerie_StageShebasFall()

void VenusLighthouseAerie_StageShebasFall ( void )
static

Stages the broken aerie for the fall sequence and the party escape.

Definition at line 1923 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_Initialize(), and VenusLighthouseAerie_StageShebasFall().

◆ VenusLighthouseAerie_ShowSaturosAndMenardiFall()

void VenusLighthouseAerie_ShowSaturosAndMenardiFall ( void )
static

Shows Saturos and Menardi falling into the beacon after their final defeat.

Definition at line 2009 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_FinishSaturosAndMenardiBattle(), and VenusLighthouseAerie_ShowSaturosAndMenardiFall().

◆ VenusLighthouseAerie_DiscussSaturosAndMenardiDefeat()

void VenusLighthouseAerie_DiscussSaturosAndMenardiDefeat ( void )
static

Lets the party discuss the battle while Felix and Sheba remain on the aerie.

Definition at line 2112 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_DiscussSaturosAndMenardiDefeat(), and VenusLighthouseAerie_FinishSaturosAndMenardiBattle().

◆ VenusLighthouseAerie_EruptBeacon()

void VenusLighthouseAerie_EruptBeacon ( void )
static

Raises the beacon effects and splits the aerie beneath the group.

Definition at line 2227 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon(), and VenusLighthouseAerie_FinishSaturosAndMenardiBattle().

◆ VenusLighthouseAerie_RestorePartyOnBrokenAerie()

void VenusLighthouseAerie_RestorePartyOnBrokenAerie ( void )
static

Places the party on the broken platform and resumes its falling effects.

Definition at line 2435 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_RestorePartyOnBrokenAerie(), and VenusLighthouseAerie_ShowShebaInDanger().

◆ VenusLighthouseAerie_TryToPreventFall()

void VenusLighthouseAerie_TryToPreventFall ( void )
static

Shows Felix urging Sheba to hold on at the edge of the platform.

Definition at line 2510 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_ShowShebaInDanger(), and VenusLighthouseAerie_TryToPreventFall().

◆ VenusLighthouseAerie_PlayShebasFall()

void VenusLighthouseAerie_PlayShebasFall ( void )
static

Shows Sheba falling, Felix jumping after her and the party escaping.

Definition at line 2534 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall(), and VenusLighthouseAerie_StageShebasFall().

◆ VenusLighthouseAerie_StopActorMotion()

◆ VenusLighthouseAerie_UpdateBeaconRise()

void VenusLighthouseAerie_UpdateBeaconRise ( void )
static

Advances the beacon rise sequence, its flashes and orbiting particles.

Definition at line 2855 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon(), and VenusLighthouseAerie_UpdateBeaconRise().

◆ VenusLighthouseAerie_AdvanceActorRise()

void VenusLighthouseAerie_AdvanceActorRise ( struct FieldActor * actor)
static

Raises an enabled actor according to its gated rise counter.

Definition at line 2974 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_AdvanceActorRise(), and VenusLighthouseAerie_UpdateBeaconRise().

◆ VenusLighthouseAerie_SpawnSideOrbitParticles()

void VenusLighthouseAerie_SpawnSideOrbitParticles ( void )
static

Emits particles beside the lower beam and links each to its source actor.

Definition at line 2991 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_RestorePartyOnBrokenAerie(), VenusLighthouseAerie_SpawnSideOrbitParticles(), and VenusLighthouseAerie_StageShebasFall().

◆ VenusLighthouseAerie_UpdateOrbitingEffect()

void VenusLighthouseAerie_UpdateOrbitingEffect ( union FieldObject * object)
static

Moves a linked particle along its horizontal ellipse and preserves its target.

Definition at line 3045 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_SpawnSideOrbitParticles(), and VenusLighthouseAerie_UpdateOrbitingEffect().

◆ VenusLighthouseAerie_PulseActorScale()

s32 VenusLighthouseAerie_PulseActorScale ( struct ScriptInterpreter * interpreter)
static

Pulses the actor scale around the countdown, then chooses its next pause.

Definition at line 112 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PulseActorScale().

◆ VenusLighthouseAerie_UpdateDriftingParticle()

void VenusLighthouseAerie_UpdateDriftingParticle ( union FieldObject * object)
static

Moves a particle, damps its horizontal velocity and updates its scale and spin.

Definition at line 146 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_UpdateDriftingParticle().

◆ VenusLighthouseAerie_StepSpriteRotation()

void VenusLighthouseAerie_StepSpriteRotation ( union FieldObject * fieldObject)
static

Turns the falling actor sprite until its rotation leaves the negative half-turn.

Definition at line 164 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall(), and VenusLighthouseAerie_StepSpriteRotation().

◆ VenusLighthouseAerie_GetEntrances()

const struct SceneEntrance * VenusLighthouseAerie_GetEntrances ( void )

Definition at line 179 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetEntrances().

◆ VenusLighthouseAerie_GetRegions()

const struct SceneRegion * VenusLighthouseAerie_GetRegions ( void )

Definition at line 183 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetRegions().

◆ VenusLighthouseAerie_GetExits()

const u32 * VenusLighthouseAerie_GetExits ( void )

Definition at line 185 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetExits().

◆ VenusLighthouseAerie_GetPlacements()

const struct ScenePlacement * VenusLighthouseAerie_GetPlacements ( void )

Returns the platforms, antagonists, companions and beacon effects.

Definition at line 190 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetPlacements().

◆ Event_JumpToNextPillar()

void Event_JumpToNextPillar ( void )
static

Walking off the edge of a pillar: if the ground two tiles ahead is clear, the leader jumps across to it.

Definition at line 199 of file venus_lighthouse_aerie.c.

Referenced by Event_JumpToNextPillar().

◆ Event_LandOnPillar()

void Event_LandOnPillar ( void )
static

Landing on a pillar: it dips under the leader and springs back up.

FLAG_SCENE_TEMP_50 is set while the leader stands on a pillar, so this runs once per landing.

Definition at line 238 of file venus_lighthouse_aerie.c.

Referenced by Event_LandOnPillar().

◆ VenusLighthouseAerie_GetEvents()

const struct SceneEvent * VenusLighthouseAerie_GetEvents ( void )

Returns the pillar and confrontation triggers.

Definition at line 293 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetEvents().

◆ VenusLighthouseAerie_Initialize()

s32 VenusLighthouseAerie_Initialize ( void )

Restores the platforms and runs the scene selected by the arrival.

Definition at line 298 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_Initialize().

◆ VenusLighthouseAerie_ShowMessage()

◆ VenusLighthouseAerie_FaceActor()

◆ Event_ConfrontSaturosAndMenardi()

void Event_ConfrontSaturosAndMenardi ( void )
static

Walking up to Saturos and Menardi: they promise not to harm Sheba for the Shaman's Rod, Felix carries it over, they will not let her go, and the battle begins.

Definition at line 689 of file venus_lighthouse_aerie.c.

Referenced by Event_ConfrontSaturosAndMenardi().

◆ VenusLighthouseAerie_CycleActorPalette()

void VenusLighthouseAerie_CycleActorPalette ( struct FieldActor * actor)
static

Cycles the actor palette and emits paired effects every fifteenth frame.

Definition at line 1113 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CycleActorPalette(), and VenusLighthouseAerie_UpdateShebaPalette().

◆ VenusLighthouseAerie_AimBurst()

void VenusLighthouseAerie_AimBurst ( s32 velocity[3],
s32 angle )
inlinestatic

Builds the horizontal velocity for an elliptical radial particle burst.

Definition at line 1185 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_AimBurst(), and VenusLighthouseAerie_CombineSaturosAndMenardi().

◆ VenusLighthouseAerie_ShowGroupEmote()

void VenusLighthouseAerie_ShowGroupEmote ( s32 emote,
s32 waitFrames )
inlinestatic

Gives Felix, Sheba and the party the same reaction, then waits after Mia.

Definition at line 1200 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_ShowGroupEmote().

◆ VenusLighthouseAerie_UpdateUpperOrbit()

void VenusLighthouseAerie_UpdateUpperOrbit ( union FieldObject * fieldObject)
static

Orbits a particle around the upper beam and keeps its target at that position.

Definition at line 1761 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_SpawnUpperOrbitParticles(), and VenusLighthouseAerie_UpdateUpperOrbit().

◆ VenusLighthouseAerie_UpdateRisingOrbit()

void VenusLighthouseAerie_UpdateRisingOrbit ( union FieldObject * fieldObject)
static

Orbits a particle around the rising beam using its rise counter as a radius.

Definition at line 1776 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_UpdateBeaconRise(), and VenusLighthouseAerie_UpdateRisingOrbit().

◆ Actor_IsParked()

__inline__ s32 Actor_IsParked ( struct FieldActor * actor)
static

Tests whether all three movement targets are unset.

Definition at line 1843 of file venus_lighthouse_aerie.c.

Referenced by Actor_IsParked(), and VenusLighthouseAerie_UpdateBeamActors().

Variable Documentation

◆ sTransitionTimer

s32 sTransitionTimer
static

Definition at line 2223 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon().

◆ sTransitionStep

s32 sTransitionStep
static

◆ gEffectScript0

s32 gEffectScript0[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(22, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18
#define SC_FREE
Release.
Definition objcmd.h:43
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_TOP
Script start.
Definition objcmd.h:13

Definition at line 3059 of file venus_lighthouse_aerie.c.

◆ gEffectScript1

s32 gEffectScript1[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(44, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}

Definition at line 3064 of file venus_lighthouse_aerie.c.

◆ gEffectScript2

s32 gEffectScript2[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(126, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}

Definition at line 3069 of file venus_lighthouse_aerie.c.

◆ gEffectScripts

const s32* gEffectScripts[]
Initial value:
= {
}
s32 gEffectScript0[]
s32 gEffectScript1[]
s32 gEffectScript2[]

Definition at line 3074 of file venus_lighthouse_aerie.c.

◆ gVenusLighthouseAerie_PairActionScript

s32 gVenusLighthouseAerie_PairActionScript[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(492), 0, PIXELS(164)),
SC_POS(0, 0, 0), SC_WAIT(1),
}
#define PIXELS(value)
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_ARG(v)
Definition objcmd.h:44
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19
#define SC_END
Return to the main script.
Definition objcmd.h:32

Definition at line 3080 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EnterAndConfrontAntagonists().

◆ gSceneAction_EntryGroup

s32 gSceneAction_EntryGroup[]
Initial value:
= {
SC_SET(SW_ACCEL, PIXELS(1) / 10),
SC_ARG(2),
SC_MOVE_BY(-PIXELS(8), 0, 0),
}
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
#define SC_MOVE_BY(x, y, z)
Move by a relative offset.
Definition objcmd.h:20
@ SW_ACCEL
Definition objcmd.h:68
@ SW_SPEED
Definition objcmd.h:67

Definition at line 3087 of file venus_lighthouse_aerie.c.

Referenced by Event_ConfrontSaturosAndMenardi().

◆ gSceneAction_EntryPair

s32 gSceneAction_EntryPair[]
Initial value:
= {
SC_SET(SW_ACCEL, PIXELS(1) / 10),
SC_ARG(2),
SC_MOVE_BY(PIXELS(8), 0, 0),
}

Definition at line 3096 of file venus_lighthouse_aerie.c.

Referenced by Event_ConfrontSaturosAndMenardi().

◆ gVenusLighthouseAerie_ScaleStepAction

s32 gVenusLighthouseAerie_ScaleStepAction[]
Initial value:
= {
}
#define SC_FOREVER
Definition objcmd.h:14
#define SC_CALL(fn)
Definition objcmd.h:50
static s32 VenusLighthouseAerie_PulseActorScale(struct ScriptInterpreter *interpreter)
Pulses the actor scale around the countdown, then chooses its next pause.

Definition at line 3105 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_PlayShebasFall().

◆ gVenusLighthouseAerie_BeamOpenAction

s32 gVenusLighthouseAerie_BeamOpenAction[]
Initial value:
= {
SC_WAIT(1),
}
#define Q16_ONE
One in the engine's signed 16.16 fixed-point format.
Definition fixed_math.h:10
#define SC_ADD(w, v)
Definition objcmd.h:38
@ SW_SCALE_X
Definition objcmd.h:62

Definition at line 3110 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi(), and VenusLighthouseAerie_EruptBeacon().

◆ gVenusLighthouseAerie_BeamNarrowAction

s32 gVenusLighthouseAerie_BeamNarrowAction[]
Initial value:
= {
SC_WAIT(1),
SC_LOOP(140, SC_TOP),
}

Definition at line 3117 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi().

◆ gVenusLighthouseAerie_BeamRiseAction

s32 gVenusLighthouseAerie_BeamRiseAction[]
Initial value:
= {
SC_WAIT(1),
SC_LOOP(160, SC_TOP),
}

Definition at line 3124 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon().

◆ gVenusLighthouseAerie_BeamCloseAction

s32 gVenusLighthouseAerie_BeamCloseAction[]
Initial value:
= {
SC_POS(0, 0, 0), SC_WAIT(1), SC_END,
}
@ SW_Y
Definition objcmd.h:59

Definition at line 3131 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon().

◆ gVenusLighthouseAerie_BeamEndAction

s32 gVenusLighthouseAerie_BeamEndAction[]
Initial value:
= {
SC_POS(0, 0, 0), SC_WAIT(1), SC_END,
}

Definition at line 3136 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_EruptBeacon().

◆ gVenusLighthouseAerie_OrbitParticleScript

s32 gVenusLighthouseAerie_OrbitParticleScript[]
Initial value:
= {
SC_ARG(1),
SC_WAIT(1),
SC_LOOP(16, SC_TO(1)),
SC_POS(0, 0, 0),
SC_WAIT(1),
}
#define SC_LABEL(n)
Branch destination.
Definition objcmd.h:11
#define SC_TO(n)
Definition objcmd.h:12
@ SW_SCALE_Y
Definition objcmd.h:63

Definition at line 3141 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_SpawnUpperOrbitParticles().

◆ gVenusLighthouseAerie_RiseParticleScript

s32 gVenusLighthouseAerie_RiseParticleScript[]
Initial value:
= {
SC_ARG(1),
SC_WAIT(1),
SC_LOOP(16, SC_TO(1)),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

Definition at line 3154 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_UpdateBeaconRise().

◆ gVenusLighthouseAerie_WalkOutAction

s32 gVenusLighthouseAerie_WalkOutAction[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(268), 0, PIXELS(186)),
SC_SYNC, SC_MOVE(PIXELS(268), 0, PIXELS(252)),
SC_SYNC, SC_MOVE(PIXELS(232), 0, PIXELS(222)),
SC_SYNC, SC_MOVE(PIXELS(232), 0, PIXELS(136)),
SC_SYNC, SC_MOVE(PIXELS(200), 0, PIXELS(136)),
SC_SYNC, SC_MOVE(PIXELS(200), 0, PIXELS(200)),
SC_POS(0, 0, 0), SC_WAIT(1),
}

Definition at line 3167 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_CombineSaturosAndMenardi().

◆ gVenusLighthouseAerie_RiseActionScript

s32 gVenusLighthouseAerie_RiseActionScript[]
Initial value:
= {
SC_ADD(SW_SCALE_X, -1536),
SC_WAIT(1),
SC_LOOP(4, SC_TO(1)),
SC_WAIT(1),
SC_LOOP(4, SC_TO(2)),
}

Definition at line 3179 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_UpdateBeaconRise().

◆ gVenusLighthouseAerie_StepBackAction

s32 gVenusLighthouseAerie_StepBackAction[]
Initial value:
= {
SC_ADD(SW_Y, -(PIXELS(3) / 4)),
SC_WAIT(1),
SC_LOOP(120, SC_TOP),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

Definition at line 3191 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall().

◆ gVenusLighthouseAerie_LeapAction

s32 gVenusLighthouseAerie_LeapAction[]
Initial value:
= {
SC_ADD(SW_Y, -(PIXELS(9) / 2)),
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

Definition at line 3200 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall().

◆ gVenusLighthouseAerie_PartyExitAction

s32 gVenusLighthouseAerie_PartyExitAction[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(330), 0, PIXELS(173)), SC_SYNC, SC_FREE, SC_END,
}

Definition at line 3209 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall().

◆ gVenusLighthouseAerie_PartyHeadingAction

s32 gVenusLighthouseAerie_PartyHeadingAction[]
Initial value:
= {
SC_CALL(Scene_LookAboutRandomly),
}

Definition at line 3213 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_PlayShebasFall().

◆ gVenusLighthouseAerieEntrances

struct SceneEntrance gVenusLighthouseAerieEntrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 304, 0, 216, FACING_SOUTHEAST + FACING_STEP, 0, 0, 0,
600, 420, 0},
FACING_SOUTHEAST + FACING_STEP, 0, 0, 0, 600, 420, 0},
FACING_WEST, 0, 0, 0, 600, 420, 0},
FACING_WEST, 0, 0, 0, 600, 420, 0},
600, 420, 0},
}
@ FACING_STEP
Definition field_scene.h:36
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_SOUTHEAST
Definition field_scene.h:27
@ FACING_WEST
Definition field_scene.h:30
@ AERIE_ENTRANCE_AFTER_FIRST_BATTLE
Back from the battle with Saturos and Menardi, and from the one with their fused form.
@ AERIE_ENTRANCE_ARRIVAL
Up from Venus Lighthouse: the party rides a pillar up to the aerie.
@ AERIE_ENTRANCE_DEFEAT
Back from a lost battle.
@ AERIE_ENTRANCE_AFTER_SECOND_BATTLE

Definition at line 3218 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetEntrances().

◆ gVenusLighthouseAerieExits

u32 gVenusLighthouseAerieExits[]
Initial value:
= {
}
#define SCENE_EXITS(scene)
Definition field_scene.h:72
@ SCENE_WORLD_MAP
Definition field_scene.h:13
#define SCENE_EXIT(exit, scene, entrance)
Definition field_scene.h:73
#define SCENE_EXITS_END
Definition field_scene.h:77
@ AERIE_EXIT_AFTER_DEFEAT
@ AERIE_EXIT_TO_WORLD_MAP
@ AERIE_EXIT_AFTER_SHEBAS_FALL
@ WORLD_MAP_ENTRANCE_FROM_AERIE

Definition at line 3232 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetExits().

◆ gVenusLighthouseAeriePlacements

struct ScenePlacement gVenusLighthouseAeriePlacements[]

Definition at line 3242 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetPlacements().

◆ gVenusLighthouseAerie_NearestActor

s32 gVenusLighthouseAerie_NearestActor = 0

Definition at line 3297 of file venus_lighthouse_aerie.c.

Referenced by Event_LandOnPillar().

◆ gVenusLighthouseAerieEvents

struct SceneEvent gVenusLighthouseAerieEvents[]
Initial value:
= {
}
#define SCENE_EVENTS_END
@ EVENT_TOUCH
#define EVENT_SCRIPT(script)
#define EVENT_TOUCH_WALKING
#define FLAG_SCENE_TEMP_50
Definition flags.h:793
static void Event_JumpToNextPillar(void)
Walking off the edge of a pillar: if the ground two tiles ahead is clear, the leader jumps across to ...
static void Event_ConfrontSaturosAndMenardi(void)
Walking up to Saturos and Menardi: they promise not to harm Sheba for the Shaman's Rod,...
static void Event_SteadyPillars(void)
Stepping back onto the floor, and before each jump: the leader walks and falls normally again and the...
static void Event_LandOnPillar(void)
Landing on a pillar: it dips under the leader and springs back up.

Definition at line 3299 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_GetEvents().

◆ gVenusLighthouseAerie_BesideParticleScript

s32 gVenusLighthouseAerie_BesideParticleScript[]
Initial value:
= {
SC_ARG(4),
SC_WAIT(30),
}

Definition at line 3311 of file venus_lighthouse_aerie.c.

Referenced by VenusLighthouseAerie_SpawnSideOrbitParticles().