Alchemy
Loading...
Searching...
No Matches

babi_lighthouse.c File Reference

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.

Variables

s32 gStagedActor_DirectionSteps []
 Pixel step by direction: X in the upper halfword, Z in the lower.
u32 gStagedActor_FootprintKinds []
s32 gStagedActor_FootprintBounds []
s32 gEffectScript0 []
s32 gEffectScript1 []
s32 gEffectScript2 []
const s32 * gEffectScripts []
s32 gBabiLighthouse_TrembleScript []
struct SceneEntrance gBabiLighthouse_Entrances3 []
struct SceneEntrance gBabiLighthouse_Entrances2 []
struct SceneEntrance gBabiLighthouse_Entrances1 []
struct SceneEntrance gBabiLighthouse_EntrancesOther []
struct SceneRegion gBabiLighthouse_Regions3 []
u32 gBabiLighthouse_Exits []
struct ScenePlacement gBabiLighthouse_NoPlacements []
struct ScenePlacement gBabiLighthouse_Placements3 []
struct ScenePlacement gBabiLighthouse_Placements2 []
struct ScenePlacement gBabiLighthouse_Placements1 []
struct ScenePlacement gBabiLighthouse_PlacementsOther []
struct SceneEvent gBabiLighthouse_Events3 []
struct SceneEvent gBabiLighthouse_Events2 []
struct SceneEvent gBabiLighthouse_Events1 []
struct SceneEvent gBabiLighthouse_EventsOther []

Detailed Description

Babi Lighthouse, the lighthouse Babi is building on old ruins near Lalivero.

Four scenes share this overlay:

  • room 1, the stone door Sheba's kidnappers went through, where Iodem and Faran ask the party to follow them; a switch only Reveal shows opens it;
  • room 2, inside, where the party drops between floors, with a Djinni;
  • room 3, where the kidnappers knocked down four men on their way, with two blocks on ledges and a sprout for Growth;
  • the building site outside, with its workers and a block to move.

Definition in file babi_lighthouse.c.

Macro Definition Documentation

◆ FIELD_STAGED_ACTOR_IMPORTS

#define FIELD_STAGED_ACTOR_IMPORTS

Definition at line 24 of file babi_lighthouse.c.

◆ SEARCH_CHEST_FACING

#define SEARCH_CHEST_FACING ( facing)
Value:
#define EVENT_TOUCH_FACING
#define SEARCH(target)
@ SEARCH_CHEST

A chest searched while facing the given way.

Definition at line 90 of file babi_lighthouse.c.

◆ DIRECTION_STEP

#define DIRECTION_STEP ( dx,
dz )
Value:
(((dx) << 16) | ((dz) & 0xffff))

Pixel step by direction: X in the upper halfword, Z in the lower.

Definition at line 1336 of file babi_lighthouse.c.

Enumeration Type Documentation

◆ anonymous enum

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 2's Djinni.

Enumerator
ACTOR_DJINNI 

Definition at line 67 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

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

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.

Function Documentation

◆ BabiLighthouse_CloseTruthDoor()

void BabiLighthouse_CloseTruthDoor ( void )
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().

◆ BabiLighthouse_RefreshMovableBlockTiles()

void BabiLighthouse_RefreshMovableBlockTiles ( void )
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().

◆ Entrance_Divide()

__inline__ s32 UNUSED Entrance_Divide ( s32 dividend,
s32 divisor )
static

Unused: a signed division nothing calls.

Definition at line 97 of file babi_lighthouse.c.

Referenced by Entrance_Divide().

◆ BabiLighthouse_StartDjinnBattle()

void BabiLighthouse_StartDjinnBattle ( void )
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().

◆ BabiLighthouse_LandWithParticles()

void BabiLighthouse_LandWithParticles ( void )
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().

◆ BabiLighthouse_FallToExit()

void BabiLighthouse_FallToExit ( s32 exit)
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().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 196 of file babi_lighthouse.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Only room 3 has regions.

Definition at line 212 of file babi_lighthouse.c.

◆ BabiLighthouse_GetExits()

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().

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Definition at line 222 of file babi_lighthouse.c.

◆ BabiLighthouse_JumpFromLedge()

void BabiLighthouse_JumpFromLedge ( void )
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().

◆ BabiLighthouse_AdvancePairAndJump()

void BabiLighthouse_AdvancePairAndJump ( void )
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().

◆ BabiLighthouse_ClimbDownOrAdvancePair()

void BabiLighthouse_ClimbDownOrAdvancePair ( void )
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().

◆ BabiLighthouse_RiseAndCloseScreen()

void BabiLighthouse_RiseAndCloseScreen ( void )
static

◆ BabiLighthouse_RiseToExit()

void BabiLighthouse_RiseToExit ( void )
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().

◆ BabiLighthouse_RisePastSingleEffect()

void BabiLighthouse_RisePastSingleEffect ( void )
static

Prepares one effect, raises the leader, then takes exit 12.

Definition at line 318 of file babi_lighthouse.c.

Referenced by BabiLighthouse_RisePastSingleEffect().

◆ BabiLighthouse_RisePastPairedEffects()

void BabiLighthouse_RisePastPairedEffects ( void )
static

Prepares two effects, raises the leader, then takes exit 13.

Definition at line 327 of file babi_lighthouse.c.

Referenced by BabiLighthouse_RisePastPairedEffects().

◆ BabiLighthouse_RiseToAlternateExit()

void BabiLighthouse_RiseToAlternateExit ( void )
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().

◆ BabiLighthouse_InspectLockedDoor()

void BabiLighthouse_InspectLockedDoor ( void )
static

Searching room 2's door. "It seems to be locked.".

Definition at line 345 of file babi_lighthouse.c.

Referenced by BabiLighthouse_InspectLockedDoor().

◆ BabiLighthouse_RegroupPartyMember()

void BabiLighthouse_RegroupPartyMember ( s32 actorId)
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().

◆ BabiLighthouse_DiscussPursuit()

void BabiLighthouse_DiscussPursuit ( void )
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().

◆ BabiLighthouse_ExplainTruthDoor()

void BabiLighthouse_ExplainTruthDoor ( void )
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().

◆ BabiLighthouse_RefreshTruthDoorTiles()

void BabiLighthouse_RefreshTruthDoorTiles ( void )
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().

◆ BabiLighthouse_HideTruthDoorSwitch()

void BabiLighthouse_HideTruthDoorSwitch ( void )
static

Reveal's light ends and the switch is hidden again.

Definition at line 909 of file babi_lighthouse.c.

Referenced by BabiLighthouse_HideTruthDoorSwitch().

◆ BabiLighthouse_OpenTruthDoor()

void BabiLighthouse_OpenTruthDoor ( void )
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().

◆ BabiLighthouse_InspectTruthDoorSwitch()

void BabiLighthouse_InspectTruthDoorSwitch ( void )
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().

◆ BabiLighthouse_FindActorAhead()

struct FieldActor * BabiLighthouse_FindActorAhead ( struct FieldActor * actor)
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().

◆ BabiLighthouse_EnableChildOption()

void BabiLighthouse_EnableChildOption ( void )
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().

◆ BabiLighthouse_UpdateMovedBlock()

void BabiLighthouse_UpdateMovedBlock ( void )
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().

◆ BabiLighthouse_AdvanceNearbyPair()

void BabiLighthouse_AdvanceNearbyPair ( void )
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().

◆ BabiLighthouse_ClimbOrAdvancePair()

void BabiLighthouse_ClimbOrAdvancePair ( void )
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().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Definition at line 1082 of file babi_lighthouse.c.

◆ BabiLighthouse_OpenGrowthPassage()

void BabiLighthouse_OpenGrowthPassage ( void )
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().

◆ 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().

Variable Documentation

◆ gStagedActor_DirectionSteps

s32 gStagedActor_DirectionSteps[]
Initial value:
= {
DIRECTION_STEP(0, 16), DIRECTION_STEP(-16, 0), DIRECTION_STEP(-16, 0),
DIRECTION_STEP(-16, 0), DIRECTION_STEP(-16, 0), DIRECTION_STEP(0, -16),
DIRECTION_STEP(0, -16), DIRECTION_STEP(0, -16), DIRECTION_STEP(0, -16),
}
#define DIRECTION_STEP(dx, dz)
Pixel step by direction: X in the upper halfword, Z in the lower.

Pixel step by direction: X in the upper halfword, Z in the lower.

Definition at line 1338 of file babi_lighthouse.c.

◆ gStagedActor_FootprintKinds

u32 gStagedActor_FootprintKinds[]
Initial value:
= {
207, 205, 228, 229, 298, 297,
}

Definition at line 1347 of file babi_lighthouse.c.

◆ gStagedActor_FootprintBounds

s32 gStagedActor_FootprintBounds[]
Initial value:
= {
-32, -8, 32, 8, -8, -32, 8, 32, -32, -16, 32, 0,
-8, -32, 8, 32, -32, -8, 32, 8, -8, -32, 8, 32,
}

Definition at line 1351 of file babi_lighthouse.c.

◆ 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 1356 of file babi_lighthouse.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 1361 of file babi_lighthouse.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 1366 of file babi_lighthouse.c.

◆ gEffectScripts

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

Definition at line 1371 of file babi_lighthouse.c.

◆ gBabiLighthouse_TrembleScript

s32 gBabiLighthouse_TrembleScript[]

Definition at line 1377 of file babi_lighthouse.c.

◆ gBabiLighthouse_Entrances3

struct SceneEntrance gBabiLighthouse_Entrances3[]
Initial value:
= {
{0, CONDITION_ALWAYS, 136, 0, 376, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 200, 0, 424, FACING_NORTH, 0, 0, 0, 384, 448, 0},
{2, CONDITION_ALWAYS, 200, 0, 200, FACING_SOUTH, 0, 0, 0, 384, 448, 0},
{3, CONDITION_ALWAYS, 216, 0, 184, FACING_SOUTH, 0, 0, 0, 384, 448, 0},
{4, CONDITION_ALWAYS, 104, 0, 312, FACING_SOUTH, 0, 0, 0, 384, 448, 0},
{5, CONDITION_ALWAYS, 296, 0, 312, FACING_SOUTH, 0, 0, 0, 384, 448, 0},
{6, CONDITION_ALWAYS, 312, 0, 88, FACING_SOUTH, 0, 0, 0, 384, 448, 0},
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_NORTH
Definition field_scene.h:32
@ FACING_SOUTH
Definition field_scene.h:28

Definition at line 1409 of file babi_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gBabiLighthouse_Entrances2

struct SceneEntrance gBabiLighthouse_Entrances2[]
Initial value:
= {
{0, CONDITION_ALWAYS, 136, 0, 376, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 232, 0, 488, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
{2, CONDITION_ALWAYS, 280, 0, 488, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
{3, CONDITION_ALWAYS, 248, 0, 648, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
{4, CONDITION_ALWAYS, 424, 0, 120, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{5, CONDITION_ALWAYS, 456, 0, 120, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{6, CONDITION_ALWAYS, 504, 0, 120, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{7, CONDITION_ALWAYS, 472, 0, 288, FACING_NORTH, 0, 352, 64, 592, 320, 0},
{8, CONDITION_ALWAYS, 120, 0, 120, FACING_SOUTH, 0, 48, 64, 288, 320, 0},
{9, CONDITION_ALWAYS, 184, 0, 288, FACING_NORTH, 0, 48, 64, 288, 320, 0},
{10, CONDITION_ALWAYS, 728, 0, 168, FACING_SOUTH, 0, 624, 96, 864, 256, 0},
{11, CONDITION_ALWAYS, 776, 0, 184, FACING_SOUTH, 0, 624, 96, 864, 256, 0},
{12, CONDITION_ALWAYS, 488, 0, 184, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{13, CONDITION_ALWAYS, 248, 0, 584, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
{14, CONDITION_ALWAYS, 440, 0, 216, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{15, CONDITION_ALWAYS, 216, 0, 584, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
{16, CONDITION_ALWAYS, 456, 0, 168, FACING_SOUTH, 0, 352, 64, 592, 320, 0},
{17, CONDITION_ALWAYS, 232, 0, 536, FACING_SOUTH, 0, 128, 432, 368, 672, 0},
}

Definition at line 1420 of file babi_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gBabiLighthouse_Entrances1

struct SceneEntrance gBabiLighthouse_Entrances1[]
Initial value:
= {
{1, CONDITION_ALWAYS, 248, 0, 120, FACING_SOUTH, 0, 96, 48, 384, 432, 0},
{2, CONDITION_ALWAYS, 136, 0, 368, FACING_NORTH, 0, 96, 48, 384, 432, 0},
{3, CONDITION_ALWAYS, 168, 0, 344, FACING_SOUTH, 0, 96, 48, 384, 432, 0},
}

Definition at line 1442 of file babi_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gBabiLighthouse_EntrancesOther

struct SceneEntrance gBabiLighthouse_EntrancesOther[]
Initial value:
= {
{0, CONDITION_ALWAYS, 328, 0, 240, FACING_NORTH, 0, 0, 0, 464, 400, 0},
{1, CONDITION_ALWAYS, 112, 0, 360, FACING_NORTH, 0, 0, 0, 464, 400, 0},
{2, CONDITION_ALWAYS, 136, 0, 32, FACING_SOUTH, 0, 0, 0, 464, 400, 0},
}

Definition at line 1449 of file babi_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gBabiLighthouse_Regions3

struct SceneRegion gBabiLighthouse_Regions3[]
Initial value:
= {
{96, -20, 320, 112, -4, 336, CONDITION_ALWAYS, 4},
{288, -20, 320, 304, -4, 336, CONDITION_ALWAYS, 5},
{304, -20, 96, 320, -4, 112, CONDITION_ALWAYS, 6},
}

Definition at line 1456 of file babi_lighthouse.c.

Referenced by Scene_GetRegions().

◆ gBabiLighthouse_Exits

u32 gBabiLighthouse_Exits[]
Initial value:
= {
SCENE_EXITS(176), SCENE_EXIT(1, 177, 2), SCENE_EXIT(2, 175, 7),
SCENE_EXIT(3, 175, 9), SCENE_EXIT(4, 173, 1), SCENE_EXIT(5, 173, 3),
SCENE_EXIT(6, 173, 2), SCENE_EXIT(0, 175, 0), SCENE_EXIT(1, 175, 4),
SCENE_EXIT(2, 176, 3), SCENE_EXIT(3, 175, 8), SCENE_EXIT(4, 175, 1),
SCENE_EXIT(5, 175, 2), SCENE_EXIT(6, 176, 2), SCENE_EXIT(7, 175, 5),
SCENE_EXIT(8, 175, 6), SCENE_EXIT(9, 175, 11), SCENE_EXIT(10, 175, 3),
SCENE_EXIT(11, 175, 12), SCENE_EXIT(12, 175, 13), SCENE_EXIT(13, 175, 14),
SCENE_EXIT(14, 175, 15), SCENE_EXIT(15, 175, 16), SCENE_EXIT(16, 175, 17),
SCENE_EXIT(17, 174, 3), SCENE_EXIT(18, 174, 2), SCENE_EXIT(0, 174, 0),
SCENE_EXIT(1, 172, 1), SCENE_EXIT(2, 175, 10), SCENE_EXIT(0, 177, 0),
SCENE_EXIT(1, 2, 31), SCENE_EXIT(2, 176, 1), SCENE_EXITS_END,
}
#define SCENE_EXITS(scene)
Definition field_scene.h:72
#define SCENE_EXIT(exit, scene, entrance)
Definition field_scene.h:73
#define SCENE_EXITS_END
Definition field_scene.h:77

Definition at line 1463 of file babi_lighthouse.c.

Referenced by BabiLighthouse_GetExits().

◆ gBabiLighthouse_NoPlacements

struct ScenePlacement gBabiLighthouse_NoPlacements[]
Initial value:
= {
}

Definition at line 1477 of file babi_lighthouse.c.

◆ gBabiLighthouse_Placements3

struct ScenePlacement gBabiLighthouse_Placements3[]
Initial value:

Definition at line 1481 of file babi_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gBabiLighthouse_Placements2

struct ScenePlacement gBabiLighthouse_Placements2[]
Initial value:
= {
{0x5d, FLAG_DJINNI_0 + 66, ACTOR_STAND, PIXELS(472), 0, PIXELS(184),
}
@ FACING_SOUTHEAST
Definition field_scene.h:27
#define FLAG_DJINNI_0
the flag of Djinni 0, set once it is caught
Definition flags.h:15

Definition at line 1499 of file babi_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gBabiLighthouse_Placements1

struct ScenePlacement gBabiLighthouse_Placements1[]
Initial value:

Definition at line 1506 of file babi_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gBabiLighthouse_PlacementsOther

struct ScenePlacement gBabiLighthouse_PlacementsOther[]
Initial value:

Definition at line 1528 of file babi_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gBabiLighthouse_Events3

struct SceneEvent gBabiLighthouse_Events3[]
Initial value:
= {
{EVENT_TALK, ACTOR_FIRST_FALLEN_MAN, CONDITION_ALWAYS, MSGNO(MsgBabiLighthouseTheyWereTerribleWeWereAbsolutely)},
{EVENT_TALK, ACTOR_FIRST_FALLEN_MAN + 1, CONDITION_ALWAYS, MSGNO(MsgBabiLighthouseOnlyTwoOfThoseSixEver)},
{EVENT_TALK, ACTOR_FIRST_FALLEN_MAN + 2, CONDITION_ALWAYS, MSGNO(MsgBabiLighthouseTheyJustKickedUsOutOf)},
{EVENT_TALK, ACTOR_FIRST_FALLEN_MAN + 3, CONDITION_ALWAYS, MSGNO(MsgBabiLighthouseTheySetFireToEverythingThats)},
MSGNO(MsgBabiLighthouseWereTheOnesWhoAttackedBut)},
MSGNO(MsgBabiLighthouseTheOtherFourDidntSeemTo)},
MSGNO(MsgBabiLighthouseWhatCouldTheyBePlanningFor)},
MSGNO(MsgBabiLighthouseNoneOfThemHadAnyTorches)},
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
@ ABILITY_MOVE
Definition ability_ids.h:15
@ ABILITY_GROWTH
Definition ability_ids.h:10
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 led...
static void BabiLighthouse_AdvancePairAndJump(void)
Walking into one of room 3's blocks pushes it.
static void BabiLighthouse_OpenGrowthPassage(void)
Growth on room 3's sprout: it grows into a vine the party can climb.
@ ACTOR_RIGHT_BLOCK
@ ACTOR_FIRST_FALLEN_MAN
@ ACTOR_LEFT_BLOCK
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...
@ FLAG_GROWTH_PASSAGE_OPEN
Growth has grown room 3's sprout into a vine.
#define SCENE_EVENTS_END
@ EVENT_TOUCH
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define EVENT_TOUCH_WALKING
#define TOUCH_WALKING_INTO(facing)

Definition at line 1542 of file babi_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gBabiLighthouse_Events2

struct SceneEvent gBabiLighthouse_Events2[]
Initial value:
= {
{0x31, 5, CONDITION_ALWAYS, 1},
{0x21, 1, CONDITION_ALWAYS, 3},
{0x31, 2, CONDITION_ALWAYS, 4},
{0x31, 3, CONDITION_ALWAYS, 5},
{0x21, 7, CONDITION_ALWAYS, 7},
{0x21, 8, CONDITION_ALWAYS, 8},
{0x31, 9, CONDITION_ALWAYS, 9},
{0x21, 10, CONDITION_ALWAYS, 10},
}
@ ACTOR_DJINNI
Definition altin_peak.c:118
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_RiseToExit(void)
Raises the leader and takes exit 11 without preparing an extra effect.
static void BabiLighthouse_StartDjinnBattle(void)
Talking to the Djinni in room 2 starts the battle for Djinni 66.
static void BabiLighthouse_RisePastPairedEffects(void)
Prepares two effects, raises the leader, then takes exit 13.
static void BabiLighthouse_RisePastSingleEffect(void)
Prepares one effect, raises the leader, then takes exit 12.
@ SEARCH_UNNAMED

Definition at line 1566 of file babi_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gBabiLighthouse_Events1

struct SceneEvent gBabiLighthouse_Events1[]

Definition at line 1587 of file babi_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gBabiLighthouse_EventsOther

struct SceneEvent gBabiLighthouse_EventsOther[]

Definition at line 1630 of file babi_lighthouse.c.

Referenced by Scene_GetEvents().