Mercury Lighthouse's entrance: Mia's doorway scene, the Ply mechanism, and the rising pillars used to cross the interior pools. More...
Go to the source code of this file.
Macros | |
| #define | NULL ((void *)0) |
| #define | DIRECTION_STEP(dx, dz) |
| Pixel step by direction: X in the upper halfword, Z in the lower. | |
Enumerations | |
| enum | MercuryLighthouseEntranceActor { ACTOR_LIZARD_MAN = ACTOR_FIRST_PLACED , ACTOR_PLY_TARGET = ACTOR_FIRST_PLACED + 8 } |
| The entrance's actors. More... | |
| enum | MercuryLighthouseEntranceEntrance { ENTRANCE_DROP_FROM_ABOVE = 6 , ENTRANCE_RISE_FROM_CHANNELS = 25 , ENTRANCE_BEFORE_LIZARD_MAN = 30 , ENTRANCE_AFTER_LIZARD_MAN = 31 } |
| Entrances with a scene of their own. More... | |
| enum | MercuryLighthouseEntranceExit { EXIT_TO_LIZARD_MAN = 20 , EXIT_AFTER_RISING = 50 , EXIT_TO_DOORWAY = 63 } |
| Exits the events take: the doorway scenes at entrances 30 and 31, and on to Mercury Lighthouse after rising from the channels. More... | |
| enum | { FLAG_MIA_GOES_IN_SEEN = FLAG_SCENE_TEMP_50 , FLAG_DROP_FROM_ABOVE_SEEN = FLAG_SCENE_TEMP_00 + 0x51 , FLAG_LIZARD_MAN_STEPPED_ASIDE = FLAG_SCENE_TEMP_05 } |
| Scene flags, kept while the party stays here. More... | |
| enum | { FLAG_CHEST_ITEM_4C = 0xf65 , FLAG_CHEST_EF0 = 0xef0 } |
| The chests: an unnamed item (0x4c) and a chest whose find kind is 5. More... | |
Functions | |
| static void | MercuryLighthouseEntrance_LizardManBlocksMia (void) |
| Entrance 30, unless resuming: Mia tries to get past the Lizard Man in the doorway, who steps across to block her each time; then she waits, watching the leader come up. | |
| static void | MercuryLighthouseEntrance_MiaEntersLighthouse (void) |
| Entrance 31, back from the Lizard Man battle and once only: Mia nods to the leader and goes on into the lighthouse. | |
| static s32 | MercuryLighthouseEntrance_PlayStepSound (struct ScriptInterpreter *interpreter) |
| The sound of the Lizard Man's sidestep, played by all three step scripts as he lands. | |
| static s32 | MercuryLighthouseEntrance_MiaWatchesLeader (union FieldObject *fieldObject) |
| static void | MercuryLighthouseEntrance_SpawnTimedRiseEffect (void) |
| Touching trigger 21 once Ply has worked: rising sparks keep appearing while the leader stands on the pillar. | |
| static void | MercuryLighthouseEntrance_ReleaseRaisedPillar (void) |
| Touching trigger 31 once Ply has worked: the raised pillar is let go. | |
| static void | MercuryLighthouseEntrance_TryPillarStep (void) |
| Walking into trigger 11, 21 or 31 once Ply has worked: one step across the water pillars in the pressed direction. | |
| static void | MercuryLighthouseEntrance_RaiseTouchedPillar (void) |
| Touching trigger 11 once Ply has worked: the pillar underfoot rises to its full height. | |
| const struct SceneEntrance * | MercuryLighthouseEntrance_GetEntrances (void) |
| const struct SceneRegion * | MercuryLighthouseEntrance_GetRegions (void) |
| const u32 * | MercuryLighthouseEntrance_GetExits (void) |
| const struct ScenePlacement * | MercuryLighthouseEntrance_GetPlacements (void) |
| Mia, the Lizard Man, the actors at the doorway and the Ply target. | |
| static void | MercuryLighthouseEntrance_ReadHeartInscription (void) |
| Searching the inscription (trigger 1). | |
| static void | MercuryLighthouseEntrance_RiseToSouthernLanding (void) |
| Walking north into trigger 67: the leader rises to the southern landing. | |
| static void | MercuryLighthouseEntrance_RiseToNorthernLanding (void) |
| Walking north into trigger 68: the leader rises to the northern landing. | |
| static void | MercuryLighthouseEntrance_RiseToMiddleLanding (void) |
| Walking north into trigger 69: the leader rises to the middle landing. | |
| const struct SceneEvent * | MercuryLighthouseEntrance_GetEvents (void) |
| The touch, search, talk and Psynergy events. | |
| static void | MercuryLighthouseEntrance_ActivateWithPly (void) |
| Ply on the Ply target, from cell (12, 32) only: the room dims, fifteen sparks rise from the pool, the lights start to cycle and the pillar triggers come into play. | |
| static void | MercuryLighthouseEntrance_ReturnToDoorway (void) |
| Touching trigger 10 by the doorway: the scene starts again at the doorway, where Mia goes in if she has not yet. | |
| static void | MercuryLighthouseEntrance_LizardManReturnsToCentre (void) |
| Touching trigger 40 or 42 while the Lizard Man stands aside: he steps back in front of the doorway. | |
| static void | MercuryLighthouseEntrance_LizardManBlocksLeader (void) |
| Touching trigger 41 while he stands in the doorway: the Lizard Man steps into the leader's way, west from column 7 and east otherwise. | |
| static void | MercuryLighthouseEntrance_FightLizardMan (void) |
| Talking to the Lizard Man, Mind Read on him, or walking north into trigger 40 or 41: he stirs and the battle begins. | |
| s32 | MercuryLighthouseEntrance_Initialize (void) |
| On entering: the lights, the Retreat point and the pillar routes Ply has opened, then the scene of the entrance taken. | |
| static void | OverlayObject_SpawnKind24AtObject (struct FieldActor *source) |
| Spawns the short-lived rising effect at an actor's position. | |
Mercury Lighthouse's entrance: Mia's doorway scene, the Ply mechanism, and the rising pillars used to cross the interior pools.
Definition in file mercury_lighthouse_entrance.c.
| #define NULL ((void *)0) |
Definition at line 25 of file mercury_lighthouse_entrance.c.
| #define DIRECTION_STEP | ( | dx, | |
| dz ) |
Pixel step by direction: X in the upper halfword, Z in the lower.
Definition at line 633 of file mercury_lighthouse_entrance.c.
The entrance's actors.
Mia stands in her own party slot; the Lizard Man is the monster she cannot get past (encounter table 36 fights him as "Lizard Man"); the Ply target is the invisible actor Ply is cast on.
| Enumerator | |
|---|---|
| ACTOR_LIZARD_MAN | |
| ACTOR_PLY_TARGET | |
Definition at line 59 of file mercury_lighthouse_entrance.c.
Entrances with a scene of their own.
| Enumerator | |
|---|---|
| ENTRANCE_DROP_FROM_ABOVE | the leader drops in from above |
| ENTRANCE_RISE_FROM_CHANNELS | |
| ENTRANCE_BEFORE_LIZARD_MAN | |
| ENTRANCE_AFTER_LIZARD_MAN | the return from the Lizard Man battle |
Definition at line 65 of file mercury_lighthouse_entrance.c.
Exits the events take: the doorway scenes at entrances 30 and 31, and on to Mercury Lighthouse after rising from the channels.
| Enumerator | |
|---|---|
| EXIT_TO_LIZARD_MAN | |
| EXIT_AFTER_RISING | |
| EXIT_TO_DOORWAY | |
Definition at line 74 of file mercury_lighthouse_entrance.c.
| anonymous enum |
Scene flags, kept while the party stays here.
| Enumerator | |
|---|---|
| FLAG_MIA_GOES_IN_SEEN | |
| FLAG_DROP_FROM_ABOVE_SEEN | |
| FLAG_LIZARD_MAN_STEPPED_ASIDE | The Lizard Man has stepped into the leader's column. |
Definition at line 81 of file mercury_lighthouse_entrance.c.
| anonymous enum |
The chests: an unnamed item (0x4c) and a chest whose find kind is 5.
| Enumerator | |
|---|---|
| FLAG_CHEST_ITEM_4C | |
| FLAG_CHEST_EF0 | |
Definition at line 89 of file mercury_lighthouse_entrance.c.
|
static |
Entrance 30, unless resuming: Mia tries to get past the Lizard Man in the doorway, who steps across to block her each time; then she waits, watching the leader come up.
Definition at line 480 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_Initialize(), and MercuryLighthouseEntrance_LizardManBlocksMia().
|
static |
Entrance 31, back from the Lizard Man battle and once only: Mia nods to the leader and goes on into the lighthouse.
Definition at line 561 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_Initialize(), and MercuryLighthouseEntrance_MiaEntersLighthouse().
|
static |
The sound of the Lizard Man's sidestep, played by all three step scripts as he lands.
Definition at line 103 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_PlayStepSound().
|
static |
Definition at line 118 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManBlocksMia(), and MercuryLighthouseEntrance_MiaWatchesLeader().
|
static |
Touching trigger 21 once Ply has worked: rising sparks keep appearing while the leader stands on the pillar.
Definition at line 138 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_SpawnTimedRiseEffect().
|
static |
Touching trigger 31 once Ply has worked: the raised pillar is let go.
Definition at line 143 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_ReleaseRaisedPillar().
|
static |
Walking into trigger 11, 21 or 31 once Ply has worked: one step across the water pillars in the pressed direction.
Definition at line 149 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_TryPillarStep().
|
static |
Touching trigger 11 once Ply has worked: the pillar underfoot rises to its full height.
Definition at line 155 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_RaiseTouchedPillar().
| const struct SceneEntrance * MercuryLighthouseEntrance_GetEntrances | ( | void | ) |
Definition at line 159 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetEntrances().
| const struct SceneRegion * MercuryLighthouseEntrance_GetRegions | ( | void | ) |
Definition at line 163 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetRegions().
| const u32 * MercuryLighthouseEntrance_GetExits | ( | void | ) |
Definition at line 167 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetExits().
| const struct ScenePlacement * MercuryLighthouseEntrance_GetPlacements | ( | void | ) |
Mia, the Lizard Man, the actors at the doorway and the Ply target.
Definition at line 172 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetPlacements().
|
static |
Searching the inscription (trigger 1).
"He who honors the heart of the goddess..."
Definition at line 178 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_ReadHeartInscription().
|
static |
Walking north into trigger 67: the leader rises to the southern landing.
Definition at line 188 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_RiseToSouthernLanding().
|
static |
Walking north into trigger 68: the leader rises to the northern landing.
Definition at line 193 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_RiseToNorthernLanding().
|
static |
Walking north into trigger 69: the leader rises to the middle landing.
Definition at line 198 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_RiseToMiddleLanding().
| const struct SceneEvent * MercuryLighthouseEntrance_GetEvents | ( | void | ) |
The touch, search, talk and Psynergy events.
Definition at line 203 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetEvents().
|
static |
Ply on the Ply target, from cell (12, 32) only: the room dims, fifteen sparks rise from the pool, the lights start to cycle and the pillar triggers come into play.
Definition at line 210 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_ActivateWithPly().
|
static |
Touching trigger 10 by the doorway: the scene starts again at the doorway, where Mia goes in if she has not yet.
Definition at line 273 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_ReturnToDoorway().
|
static |
Touching trigger 40 or 42 while the Lizard Man stands aside: he steps back in front of the doorway.
Definition at line 279 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManReturnsToCentre().
|
static |
Touching trigger 41 while he stands in the doorway: the Lizard Man steps into the leader's way, west from column 7 and east otherwise.
Definition at line 287 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManBlocksLeader().
|
static |
Talking to the Lizard Man, Mind Read on him, or walking north into trigger 40 or 41: he stirs and the battle begins.
The party returns to the doorway afterwards.
Definition at line 308 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_FightLizardMan().
| s32 MercuryLighthouseEntrance_Initialize | ( | void | ) |
On entering: the lights, the Retreat point and the pillar routes Ply has opened, then the scene of the entrance taken.
Definition at line 325 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_Initialize().
|
static |
Spawns the short-lived rising effect at an actor's position.
Definition at line 596 of file mercury_lighthouse_entrance.c.
| s32 gEffectScript0[] |
Definition at line 617 of file mercury_lighthouse_entrance.c.
| s32 gEffectScript1[] |
| s32 gEffectScript2[] |
| s32 gStagedActor_DirectionSteps[] |
Pixel step by direction: X in the upper halfword, Z in the lower.
Definition at line 635 of file mercury_lighthouse_entrance.c.
| u32 gStagedActor_FootprintKinds[] |
Definition at line 645 of file mercury_lighthouse_entrance.c.
| s32 gStagedActor_FootprintBounds[] |
Definition at line 649 of file mercury_lighthouse_entrance.c.
| s32 gMercuryLighthouseEntrance_RiseScript[] |
Definition at line 658 of file mercury_lighthouse_entrance.c.
Referenced by OverlayObject_SpawnKind24AtObject().
| s32 gMercuryLighthouse_SparkScript[] |
Definition at line 663 of file mercury_lighthouse_entrance.c.
| s32 gMercuryLighthouse_RampScript[] |
Definition at line 668 of file mercury_lighthouse_entrance.c.
| s32 gMercuryLighthouse_ScaleCounterScript[] |
Definition at line 673 of file mercury_lighthouse_entrance.c.
| s32 gMercuryLighthouse_PillarScript[] |
Definition at line 678 of file mercury_lighthouse_entrance.c.
| u16 gMercuryLighthouse_MoveAngles[] |
Definition at line 683 of file mercury_lighthouse_entrance.c.
| const s32* gEffectScripts[] |
Definition at line 688 of file mercury_lighthouse_entrance.c.
| s32 gMercuryLighthouseEntrance_LizardManStepCentre[] |
Definition at line 694 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManBlocksMia(), and MercuryLighthouseEntrance_LizardManReturnsToCentre().
| s32 gMercuryLighthouseEntrance_LizardManStepWest[] |
Definition at line 706 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManBlocksLeader(), and MercuryLighthouseEntrance_LizardManBlocksMia().
| s32 gMercuryLighthouseEntrance_LizardManStepEast[] |
Definition at line 718 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_LizardManBlocksLeader(), and MercuryLighthouseEntrance_LizardManBlocksMia().
| s32 gPaletteCycleRed = 0 |
Definition at line 730 of file mercury_lighthouse_entrance.c.
| s32 gPaletteCycleGreen = 0 |
Definition at line 732 of file mercury_lighthouse_entrance.c.
| s32 gPaletteCycleBlue = 0 |
Definition at line 734 of file mercury_lighthouse_entrance.c.
| struct SceneEntrance gMercuryLighthouseEntrance_Entrances[] |
Definition at line 736 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetEntrances().
| u32 gMercuryLighthouseEntrance_Exits[] |
Definition at line 769 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetExits().
| struct ScenePlacement gMercuryLighthouseEntrance_Placements[] |
Definition at line 796 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetPlacements().
| struct SceneEvent gMercuryLighthouseEntrance_Events[] |
Definition at line 820 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_GetEvents().
| s32 gMercuryLighthouseEntrance_SparkBurstScript[] |
Each spark pulses in size four times, then is released.
Definition at line 865 of file mercury_lighthouse_entrance.c.
Referenced by MercuryLighthouseEntrance_ActivateWithPly().