Alchemy
Loading...
Searching...
No Matches

venus_lighthouse.c File Reference

Venus Lighthouse, in six scenes: floor switches that slide walls aside, blocks that sink into sockets to open gates, and sparkling passages the leader steps through. More...

Go to the source code of this file.

Data Structures

struct  DirXZ
 The way a drifting floor carries the party: -1, 0 or 1 on x and on z. More...
struct  Vec
 Position record used by the shared radial-effect source below. More...

Macros

#define NULL   ((void *)0)
#define FLAG_VENUS_LIGHTHOUSE_WALL_MOVED   0x300
#define FLAG_VENUS_LIGHTHOUSE_WEST_WALL_MOVED   0x306
#define FLAG_VENUS_LIGHTHOUSE_EAST_WALL_MOVED   0x307
#define FLAG_VENUS_LIGHTHOUSE_GATE_OPEN   0x301
#define FLAG_VENUS_LIGHTHOUSE_SOCKETS_A   0x302
#define FLAG_VENUS_LIGHTHOUSE_SOCKETS_B   0x303
#define FLAG_VENUS_LIGHTHOUSE_THREE_BLOCK_GATE_OPEN   0x304
#define FLAG_VENUS_LIGHTHOUSE_PILLAR_GATE_OPEN   0x308
#define VENUS_LIGHTHOUSE_FIXED_OFFSET(value, bits)
#define VENUS_LIGHTHOUSE_RUN_OPENING_SEQUENCE   ((s32 (*)(void))VenusLighthouse_ArriveThroughSparkPassage)
#define VENUS_DESCENT_COLLISION_X   34
#define VENUS_DESCENT_COLLISION_WIDTH   5
#define DIRECTION_STEP(dx, dz)

Enumerations

enum  {
  ACTOR_ENTRANCE_MAN = 8 , ACTOR_ENTRANCE_SCHOLAR = 11 , ACTOR_DOOR_SCHOLAR = 10 , ACTOR_WALL_BLOCK = 12 ,
  ACTOR_SWITCH_BLOCK = 13
}
 Actors the events name, by room. More...

Functions

static void VenusLighthouse_StepActorWithDust (struct DirXZ *direction)
 Follows the selected actor through the passage, adjusting for walls and drops.
static void VenusLighthouse_AnimatePairedTileWaves (void)
 Animates the two tile waves before taking the linked passage exit.
static void VenusLighthouse_EmitWestPassageParticles (void)
static void VenusLighthouse_EmitEastPassageParticles (void)
static void VenusLighthouse_AnimateWestTileWave (void)
 Animates the western tile wave and starts its lingering particle task.
static void VenusLighthouse_AnimateEastTileWave (void)
 Animates the eastern tile wave and starts its lingering particle task.
static void VenusLighthouse_RaiseLeaderWithSpray (void)
 Lands the leader on the spray, then raises both toward the exit.
static __inline__ void SetFlagBits (u8 *flags, u8 bits)
static void VenusLighthouse_ConfigurePassageEffect (struct FieldActor *object, s32 childValue)
 Sets up a passage effect's motion, collision and child value.
static struct FieldActor * VenusLighthouse_CreateBlendedPassageEffect (s32 x, s32 y, s32 z, s32 type)
 Creates a blended passage effect behind the actors.
static struct FieldActor * VenusLighthouse_CreateOccludingPassageEffect (s32 x, s32 y, s32 z, s32 type)
 Creates a passage effect that preserves the overlapping actors' draw order.
static void VenusLighthouse_PushAdjacentBlock (void)
 Pushes the adjacent block only when its destination and overhead space are clear.
static UNUSED s32 StagedActor_FillGridAttributeRectangle (u32 layerIndex, s32 x, s32 z, u32 width, u32 height, s32 collisionCode)
 Fills collision codes in a rectangular area of the requested map layer.
static void VenusLighthouse_RestoreScriptedChildValues (void)
 Restores child values encoded in the placed actors' script timers.
static s32 VenusLighthouse_UpdateChildFromTimer (struct ScriptInterpreter *interpreter)
 Applies the current script timer's child value and advances the script.
static s32 VenusLighthouse_PulseChildEffect (union FieldObject *fieldObject)
static s32 VenusLighthouse_EmitRisingParticles (union FieldObject *fieldObject)
static s32 VenusLighthouse_ClearScriptedSpriteFlags (struct ScriptInterpreter *interpreter)
 Clears the scripted actor's sprite flags and advances its script.
static s32 VenusLighthouse_EmitPassageSparkTrail (union FieldObject *fieldObject)
static void Event_EnterSparklingPassage (void)
 Walking north into a sparkling passage: the leader dissolves in sparks and comes out at the passage's exit.
static void VenusLighthouse_ArriveThroughSparkPassage (void)
 Brings the leader out of a sparkling passage on a fresh entrance.
static void Event_SetLeaderAsEffectTarget (void)
 Stepping onto this spot makes the leader the actor the room's effect follows.
static void Event_ClearEffectTarget (void)
 Stepping onto this spot: the room's effect follows no one.
static void VenusLighthouse_LandWithRadialDust (void)
 Drops the leader onto the floor and emits the radial landing dust.
static s32 VenusLighthouse_EmitGateParticles (union FieldObject *fieldObject)
static struct FieldActor * VenusLighthouse_CreateScriptedGateEffect (s32 x, s32 z, const s32 *script)
 Creates a scripted gate effect at the supplied pixel coordinates.
static s32 Event_JumpAcrossGap (void)
 Walking into a one-tile gap: the leader jumps it if the far side is clear.
const struct SceneEntrance * Scene_GetEntrances (void)
const struct SceneRegion * SceneData_ReturnZero (void)
 These scenes supply no exit regions.
const u32 * SceneData_GetPrimaryTable (void)
 Returns the packed exits shared by the lighthouse scenes.
const struct ScenePlacement * Scene_GetPlacements (void)
 Selects and clips the placement rows using the original scene dispatch.
static void Event_SearchLockedDoor (void)
 Searching a locked door. "The door is tightly locked.".
static void Event_HearOfTheAttack (void)
 Talking to the man at the entrance (or reading his mind): he flickers away.
static void Event_TalkToWaitingScholar (void)
 Talking to the scholar who has waited to see inside Venus Lighthouse.
static void Event_CarryBlockPastWall (void)
 Carry on the block Move could not push past the wall: once it is set down beyond, it stays there (FLAG_VENUS_LIGHTHOUSE_BLOCK_CARRIED).
static void Event_ReadRelief (void)
 Searching a relief shows its words; each relief has its own message, except in English, which keeps one.
static void Event_HidePath (void)
 Reveal fading: the hidden path disappears again.
static void Event_RevealPath (void)
 Reveal: the hidden path appears and can be walked on.
static void Event_JumpDown (void)
 Walking off the ledge before the floor switch is held down: the leader jumps down to the floor below and shakes his head.
static void Event_SearchStatue (void)
 Searching the statue: the room flashes and the path it opens changes, and the camera shows it.
static void Event_MoveBlockTowardWall (void)
 Move on the block by the wall: once it reaches the wall, the first time only, Garet comes out.
static void Event_PushBlockTowardWall (void)
 Pushing the block by the wall: as Move, with Garet's remark at the wall.
static void Event_MoveBlockOntoSwitch (void)
 Move on the block by the floor switch: on the switch it sinks in and holds it down.
static void Event_StepOnFloorSwitch (void)
 Standing on the floor switch presses it; stepping off releases it.
static void Event_TalkToScholarByDoor (void)
 Talking to the scholar by the door: he explored once it opened, until Kraden and the others appeared; the camera looks at the door.
static void Event_FallThroughFloor (void)
 Stepping onto the hole in the floor: the leader looks down, falls through and lands in the room below.
static void Event_MoveDepthBlock (void)
 Move on one of the three blocks in a row: the floor under each block is solid again and the nearer block draws in front.
static void Event_PushDepthBlock (void)
 Pushing one of the three blocks in a row.
static void Event_LiftCarryBlock (void)
 Move or Carry starting on one of the two blocks by the gap: their tiles are marked before they move.
static void Event_MoveCarryBlock (void)
 Move on one of the two blocks by the gap: blocks still above the floor are solid again.
static void Event_JumpOrPushCarryBlock (void)
 Walking into a gap or a block by it: jump the gap, else push the block.
static void VenusLighthouse_FixBlockAtDestination (struct FieldActor *block)
 Fixes a block at its destination and restores the cell beneath it.
static void VenusLighthouse_ReleaseFallenCarryBlock (struct FieldActor *block)
 Removes a fallen Carry block, or restores collision under the remaining blocks.
static void Event_CarryBlockAcrossGap (void)
 Carry on one of the two blocks: set down in its place it stays fixed; dropped into the gap it falls through the floor.
static void Event_StepOnWallSwitch (void)
 Stepping on the floor switch: the wall slides aside in a cloud of dust, the first time only, and the party goes on through the next exit.
static void Event_MoveGateBlock (void)
 Move on the block before the gate: in its socket it sinks in and the gate opens, the first time only.
static void Event_JumpOrPushGateBlock (void)
 Walking into the gap or the block before the gate: jump the gap, else push the block, which may sink into its socket.
static void Event_MoveSwitchBlock (void)
 Move on one of the three blocks: a block on a free socket sinks in, and with all three sunk the gate opens.
static void Event_JumpOrPushSwitchBlock (void)
 Walking into the gap or one of the three blocks: jump the gap, else push the block, which may sink into a socket.
static s32 VenusLighthouse_FollowSupportingBlockHeight (union FieldObject *fieldObject)
static void VenusLighthouse_LowerFloatingBlocks (s32 waitFrames)
 Moves the floating supports to the heights selected by their timers.
static void VenusLighthouse_StackFloatingBlock (s32 blockId)
 Moves a floating block atop the highest support in its map cell.
static __inline__ void FloatingBlock_Settle (struct FieldActor *block, s32 resetValue)
 Stops a floating block and resets its vertical motion and timer.
static __inline__ void Actor_CopyPosition (struct FieldActor *destination, struct FieldActor *source)
 Copies all three fixed-point position components without changing motion.
static void Event_CarryFloatingBlock (void)
 Carry on one of the four floating blocks: it settles where it is set down and the platforms under the blocks rise or sink to their weight.
static void Event_PushPuzzleBlock (void)
 Pushing a block in the pillar room.
static void Event_StepOnWestWallSwitch (void)
 Stepping on the west floor switch: the west wall slides aside, the first time only, and the party goes on through the next exit.
static void Event_StepOnEastWallSwitch (void)
 Stepping on the east floor switch: the east wall slides aside, the first time only, and the party goes on through the next exit.
static void Event_MovePillarSwitchBlock (void)
 Move on one of the four blocks in the pillar room: on a free socket it sinks in, and with all four sunk the gate opens.
static void Event_JumpOrPushPillarBlock (void)
 Walking into the gap or a pillar-room block: jump the gap, else push the block, which may sink into a socket.
static void Event_EnterRisingPassage (void)
 Walking south into the passage: the leader rises out of the room to the floor above.
const struct SceneEvent * Scene_GetEvents (void)
 Selects the puzzle interactions and dialogue for the current lighthouse scene.
static void VenusLighthouse_PrepareStandingActor (s32 actorId)
 Prepares a stationary actor with the room's initial collision and draw state.
static void VenusLighthouse_VisitPillarActors (void)
 Visits the four pillar actors through the object lookup service.
s32 Scene_RunEntrySetup (void)
 Restores puzzle progress, actors and entrance effects for all six scenes.
static void Event_DriftNorth (void)
 Standing on this floor carries the party north in a trail of dust; at a ledge they drop down.
static void Event_DriftSouth (void)
 As Event_DriftNorth, south.
static void Event_DriftWest (void)
 As Event_DriftNorth, west.
static void Event_DriftEast (void)
 As Event_DriftNorth, east.
static __inline__ void Rubble_SetScaleAndSpin (struct EffectOptions *options)
 Chooses the particle scales and spin used by the tile-wave animations.
static void VenusLighthouse_SpawnRandomParticles (s32 x, s32 z)
 Emits the scheduled particles at the supplied passage coordinates.
static s32 VenusLighthouse_UpdateRisingSpray (union FieldObject *fieldObject)
static s32 VenusLighthouse_DispatchPushScript (struct ScriptInterpreter *interpreter)
 Selects the block's push script from its direction, support animation and socket.

Variables

s32 gEffectScript0 []
s32 gEffectScript1 []
s32 gEffectScript2 []
u32 gStagedActor_DirectionSteps []
 Pixel step by direction: X in the upper halfword, Z in the lower.
struct SwitchCell gVenusSwitchCells []
u32 gVenusBlockHeights []
struct SwitchCell gVenusPillarCells []
u8 gVenusShapesPushedLeft []
u8 gVenusShapesPushedRight []
u8 gVenusShapesPushedUp []
u8 gVenusShapesPushedDown []
u8 gVenusSwitchShape0 []
u8 gVenusSwitchShape1 []
u8 gVenusSwitchShape2 []
u8 gVenusSwitchShape3 []
u8 gVenusPillarShape0 []
u8 gVenusPillarShape1 []
u8 gVenusPillarShape2 []
u8 gVenusPillarShape3 []
u8 gVenusPillarShape4 []
u8 gVenusPillarShape5 []
u8 gVenusPillarShape6 []
const s32 * gEffectScripts []
s32 gVenusLighthousePlacements2_0 []
s32 gVenusLighthousePlacements3_Data []
s32 gVenusLeaderApproachScript []
s32 gVenusLighthousePlacements2_1 []
s32 gVenusSprayScript []
s32 gVenusLighthousePlacements4_1 []
s32 gVenusLighthousePlacements5_3 []
s32 gVenusLighthousePlacements6_4 []
s32 gVenusLighthousePlacements5_2 []
s32 gVenusLighthousePlacements5_1 []
s32 gVenusLighthousePlacements6_3 []
s32 gVenusPushScript []
s32 gVenusSettleScriptA []
s32 gVenusSettleScriptB []
s32 gVenusRefusedPushScript []
s32 gVenusSwitchPushScript0_0 []
s32 gVenusSwitchPushScript0_1 []
s32 gVenusSwitchPushScript1_0 []
s32 gVenusSwitchPushScript1_1 []
s32 gVenusSwitchPushScript2_1 []
s32 gVenusSwitchPushScript2_0 []
s32 gVenusSwitchPushScript3_1 []
s32 gVenusSwitchPushScript3_0 []
s32 gVenusFirstGateScript []
s32 gVenusFirstGateOpenScript []
s32 gVenusPillarPushScript7_0 []
s32 gVenusPillarPushScript5_1 []
s32 gVenusPillarPushScript5_0 []
s32 gVenusPillarPushScript2_0 []
s32 gVenusPillarPushScript3_0 []
s32 gVenusSecondGateScript []
s32 gVenusPillarPushScript6_0 []
s32 gVenusPillarPushScript4_0 []
s32 gVenusPillarPushScript0_0 []
u16 gVenusPushCells []
u16 gVenusSettleCells []
u16 gVenusGateCells []
struct SceneEntrance gVenusLighthouseEntrances1 []
struct SceneEntrance gVenusLighthouseEntrancesOther []
struct SceneEntrance gVenusLighthouseEntrances3 []
struct SceneEntrance gVenusLighthouseEntrances4 []
struct SceneEntrance gVenusLighthouseEntrances5 []
struct SceneEntrance gVenusLighthouseEntrances6 []
u32 gVenusLighthousePrimaryTable []
struct ScenePlacement gVenusLighthousePlacementsOther []
struct ScenePlacement gVenusLighthousePlacements1 []
struct ScenePlacement gVenusLighthousePlacements2 []
struct ScenePlacement gVenusLighthousePlacements3 []
struct ScenePlacement gVenusLighthousePlacements4 []
struct ScenePlacement gVenusLighthousePlacements5 []
struct ScenePlacement gVenusLighthousePlacements6 []
struct SceneEvent gVenusLighthouseEvents1 []
struct SceneEvent gVenusLighthouseEvents2 []
struct SceneEvent gVenusLighthouseEvents3 []
struct SceneEvent gVenusLighthouseEvents4 []
struct SceneEvent gVenusLighthouseEvents5 []
struct SceneEvent gVenusLighthouseEvents6 []
const u8 * gVenusSwitchShapes []
s32 * gVenusSwitchPushScript0 []
s32 * gVenusSwitchPushScript1 []
s32 * gVenusSwitchPushScript2 []
s32 * gVenusSwitchPushScript3 []
s32 ** gVenusSwitchPushScripts []
const u8 * gVenusPillarShapes []
s32 * gVenusPillarPushScript0 []
s32 * gVenusPillarPushScript1 []
s32 * gVenusPillarPushScript2 []
s32 * gVenusPillarPushScript3 []
s32 * gVenusPillarPushScript4 []
s32 * gVenusPillarPushScript5 []
s32 * gVenusPillarPushScript6 []
s32 * gVenusPillarPushScript7 []
s32 ** gVenusPillarPushScripts []

Detailed Description

Venus Lighthouse, in six scenes: floor switches that slide walls aside, blocks that sink into sockets to open gates, and sparkling passages the leader steps through.

Definition in file venus_lighthouse.c.

Macro Definition Documentation

◆ NULL

#define NULL   ((void *)0)

Definition at line 19 of file venus_lighthouse.c.

◆ FLAG_VENUS_LIGHTHOUSE_WALL_MOVED

#define FLAG_VENUS_LIGHTHOUSE_WALL_MOVED   0x300

Definition at line 55 of file venus_lighthouse.c.

Referenced by Event_StepOnWallSwitch(), and Scene_RunEntrySetup().

◆ FLAG_VENUS_LIGHTHOUSE_WEST_WALL_MOVED

#define FLAG_VENUS_LIGHTHOUSE_WEST_WALL_MOVED   0x306

◆ FLAG_VENUS_LIGHTHOUSE_EAST_WALL_MOVED

#define FLAG_VENUS_LIGHTHOUSE_EAST_WALL_MOVED   0x307

◆ FLAG_VENUS_LIGHTHOUSE_GATE_OPEN

#define FLAG_VENUS_LIGHTHOUSE_GATE_OPEN   0x301

Definition at line 60 of file venus_lighthouse.c.

Referenced by Event_MoveGateBlock(), and Scene_RunEntrySetup().

◆ FLAG_VENUS_LIGHTHOUSE_SOCKETS_A

#define FLAG_VENUS_LIGHTHOUSE_SOCKETS_A   0x302

Definition at line 61 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock(), and Scene_RunEntrySetup().

◆ FLAG_VENUS_LIGHTHOUSE_SOCKETS_B

#define FLAG_VENUS_LIGHTHOUSE_SOCKETS_B   0x303

Definition at line 62 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock().

◆ FLAG_VENUS_LIGHTHOUSE_THREE_BLOCK_GATE_OPEN

#define FLAG_VENUS_LIGHTHOUSE_THREE_BLOCK_GATE_OPEN   0x304

Definition at line 63 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock(), and Scene_RunEntrySetup().

◆ FLAG_VENUS_LIGHTHOUSE_PILLAR_GATE_OPEN

#define FLAG_VENUS_LIGHTHOUSE_PILLAR_GATE_OPEN   0x308

Definition at line 64 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock(), and Scene_RunEntrySetup().

◆ VENUS_LIGHTHOUSE_FIXED_OFFSET

#define VENUS_LIGHTHOUSE_FIXED_OFFSET ( value,
bits )

◆ VENUS_LIGHTHOUSE_RUN_OPENING_SEQUENCE

#define VENUS_LIGHTHOUSE_RUN_OPENING_SEQUENCE   ((s32 (*)(void))VenusLighthouse_ArriveThroughSparkPassage)

Definition at line 78 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup().

◆ VENUS_DESCENT_COLLISION_X

#define VENUS_DESCENT_COLLISION_X   34

Definition at line 86 of file venus_lighthouse.c.

Referenced by Event_FallThroughFloor().

◆ VENUS_DESCENT_COLLISION_WIDTH

#define VENUS_DESCENT_COLLISION_WIDTH   5

Definition at line 87 of file venus_lighthouse.c.

Referenced by Event_FallThroughFloor().

◆ DIRECTION_STEP

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

Definition at line 3314 of file venus_lighthouse.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Actors the events name, by room.

Outside the entrance: the man who tells of the attack and the scholar waiting to go in. In the room with the floor switch: the scholar by the door, the block Move pushes to the wall and the block that holds the switch down.

Enumerator
ACTOR_ENTRANCE_MAN 
ACTOR_ENTRANCE_SCHOLAR 
ACTOR_DOOR_SCHOLAR 
ACTOR_WALL_BLOCK 
ACTOR_SWITCH_BLOCK 

Definition at line 109 of file venus_lighthouse.c.

Function Documentation

◆ VenusLighthouse_StepActorWithDust()

void VenusLighthouse_StepActorWithDust ( struct DirXZ * direction)
static

Follows the selected actor through the passage, adjusting for walls and drops.

Definition at line 2788 of file venus_lighthouse.c.

Referenced by Event_DriftEast(), Event_DriftNorth(), Event_DriftSouth(), Event_DriftWest(), and VenusLighthouse_StepActorWithDust().

◆ VenusLighthouse_AnimatePairedTileWaves()

void VenusLighthouse_AnimatePairedTileWaves ( void )
static

Animates the two tile waves before taking the linked passage exit.

Definition at line 2884 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_AnimatePairedTileWaves().

◆ VenusLighthouse_EmitWestPassageParticles()

void VenusLighthouse_EmitWestPassageParticles ( void )
static

◆ VenusLighthouse_EmitEastPassageParticles()

void VenusLighthouse_EmitEastPassageParticles ( void )
static

◆ VenusLighthouse_AnimateWestTileWave()

void VenusLighthouse_AnimateWestTileWave ( void )
static

Animates the western tile wave and starts its lingering particle task.

Definition at line 2967 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_AnimateWestTileWave().

◆ VenusLighthouse_AnimateEastTileWave()

void VenusLighthouse_AnimateEastTileWave ( void )
static

Animates the eastern tile wave and starts its lingering particle task.

Definition at line 3027 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_AnimateEastTileWave().

◆ VenusLighthouse_RaiseLeaderWithSpray()

void VenusLighthouse_RaiseLeaderWithSpray ( void )
static

Lands the leader on the spray, then raises both toward the exit.

Definition at line 3124 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_RaiseLeaderWithSpray().

◆ SetFlagBits()

__inline__ void SetFlagBits ( u8 * flags,
u8 bits )
static

Definition at line 131 of file venus_lighthouse.c.

Referenced by Event_JumpDown(), and SetFlagBits().

◆ VenusLighthouse_ConfigurePassageEffect()

void VenusLighthouse_ConfigurePassageEffect ( struct FieldActor * object,
s32 childValue )
static

Sets up a passage effect's motion, collision and child value.

Definition at line 134 of file venus_lighthouse.c.

Referenced by VenusLighthouse_ConfigurePassageEffect(), VenusLighthouse_CreateBlendedPassageEffect(), and VenusLighthouse_CreateOccludingPassageEffect().

◆ VenusLighthouse_CreateBlendedPassageEffect()

struct FieldActor * VenusLighthouse_CreateBlendedPassageEffect ( s32 x,
s32 y,
s32 z,
s32 type )
static

◆ VenusLighthouse_CreateOccludingPassageEffect()

struct FieldActor * VenusLighthouse_CreateOccludingPassageEffect ( s32 x,
s32 y,
s32 z,
s32 type )
static

Creates a passage effect that preserves the overlapping actors' draw order.

Definition at line 159 of file venus_lighthouse.c.

Referenced by Event_MoveGateBlock(), Event_MovePillarSwitchBlock(), Event_MoveSwitchBlock(), and VenusLighthouse_CreateOccludingPassageEffect().

◆ VenusLighthouse_PushAdjacentBlock()

void VenusLighthouse_PushAdjacentBlock ( void )
static

◆ StagedActor_FillGridAttributeRectangle()

UNUSED s32 StagedActor_FillGridAttributeRectangle ( u32 layerIndex,
s32 x,
s32 z,
u32 width,
u32 height,
s32 collisionCode )
static

Fills collision codes in a rectangular area of the requested map layer.

Definition at line 261 of file venus_lighthouse.c.

◆ VenusLighthouse_RestoreScriptedChildValues()

void VenusLighthouse_RestoreScriptedChildValues ( void )
static

Restores child values encoded in the placed actors' script timers.

Definition at line 290 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_RestoreScriptedChildValues().

◆ VenusLighthouse_UpdateChildFromTimer()

s32 VenusLighthouse_UpdateChildFromTimer ( struct ScriptInterpreter * interpreter)
static

Applies the current script timer's child value and advances the script.

Definition at line 304 of file venus_lighthouse.c.

Referenced by VenusLighthouse_UpdateChildFromTimer().

◆ VenusLighthouse_PulseChildEffect()

s32 VenusLighthouse_PulseChildEffect ( union FieldObject * fieldObject)
static

Definition at line 317 of file venus_lighthouse.c.

Referenced by VenusLighthouse_PulseChildEffect().

◆ VenusLighthouse_EmitRisingParticles()

s32 VenusLighthouse_EmitRisingParticles ( union FieldObject * fieldObject)
static

Definition at line 342 of file venus_lighthouse.c.

Referenced by Event_JumpDown(), and VenusLighthouse_EmitRisingParticles().

◆ VenusLighthouse_ClearScriptedSpriteFlags()

s32 VenusLighthouse_ClearScriptedSpriteFlags ( struct ScriptInterpreter * interpreter)
static

Clears the scripted actor's sprite flags and advances its script.

Definition at line 370 of file venus_lighthouse.c.

Referenced by VenusLighthouse_ClearScriptedSpriteFlags().

◆ VenusLighthouse_EmitPassageSparkTrail()

s32 VenusLighthouse_EmitPassageSparkTrail ( union FieldObject * fieldObject)
static

◆ Event_EnterSparklingPassage()

void Event_EnterSparklingPassage ( void )
static

Walking north into a sparkling passage: the leader dissolves in sparks and comes out at the passage's exit.

Definition at line 424 of file venus_lighthouse.c.

Referenced by Event_EnterSparklingPassage().

◆ VenusLighthouse_ArriveThroughSparkPassage()

void VenusLighthouse_ArriveThroughSparkPassage ( void )
static

Brings the leader out of a sparkling passage on a fresh entrance.

Definition at line 453 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_ArriveThroughSparkPassage().

◆ Event_SetLeaderAsEffectTarget()

void Event_SetLeaderAsEffectTarget ( void )
static

Stepping onto this spot makes the leader the actor the room's effect follows.

Definition at line 488 of file venus_lighthouse.c.

Referenced by Event_SetLeaderAsEffectTarget().

◆ Event_ClearEffectTarget()

void Event_ClearEffectTarget ( void )
static

Stepping onto this spot: the room's effect follows no one.

Definition at line 493 of file venus_lighthouse.c.

Referenced by Event_ClearEffectTarget().

◆ VenusLighthouse_LandWithRadialDust()

void VenusLighthouse_LandWithRadialDust ( void )
static

Drops the leader onto the floor and emits the radial landing dust.

Definition at line 500 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_LandWithRadialDust().

◆ VenusLighthouse_EmitGateParticles()

s32 VenusLighthouse_EmitGateParticles ( union FieldObject * fieldObject)
static

◆ VenusLighthouse_CreateScriptedGateEffect()

struct FieldActor * VenusLighthouse_CreateScriptedGateEffect ( s32 x,
s32 z,
const s32 * script )
static

Creates a scripted gate effect at the supplied pixel coordinates.

Definition at line 599 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock(), Event_MoveSwitchBlock(), and VenusLighthouse_CreateScriptedGateEffect().

◆ Event_JumpAcrossGap()

s32 Event_JumpAcrossGap ( void )
static

Walking into a one-tile gap: the leader jumps it if the far side is clear.

Returns 1 after a jump, 0 when there was none.

Definition at line 631 of file venus_lighthouse.c.

Referenced by Event_JumpAcrossGap(), Event_JumpOrPushCarryBlock(), Event_JumpOrPushGateBlock(), Event_JumpOrPushPillarBlock(), and Event_JumpOrPushSwitchBlock().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 699 of file venus_lighthouse.c.

◆ SceneData_ReturnZero()

const struct SceneRegion * SceneData_ReturnZero ( void )

These scenes supply no exit regions.

Definition at line 721 of file venus_lighthouse.c.

◆ SceneData_GetPrimaryTable()

const u32 * SceneData_GetPrimaryTable ( void )

Returns the packed exits shared by the lighthouse scenes.

Definition at line 724 of file venus_lighthouse.c.

Referenced by SceneData_GetPrimaryTable().

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Selects and clips the placement rows using the original scene dispatch.

Definition at line 729 of file venus_lighthouse.c.

◆ Event_SearchLockedDoor()

void Event_SearchLockedDoor ( void )
static

Searching a locked door. "The door is tightly locked.".

Definition at line 766 of file venus_lighthouse.c.

◆ Event_HearOfTheAttack()

void Event_HearOfTheAttack ( void )
static

Talking to the man at the entrance (or reading his mind): he flickers away.

"Venus Lighthouse was attacked by strange wanderers..."

Definition at line 774 of file venus_lighthouse.c.

Referenced by Event_HearOfTheAttack().

◆ Event_TalkToWaitingScholar()

void Event_TalkToWaitingScholar ( void )
static

Talking to the scholar who has waited to see inside Venus Lighthouse.

Definition at line 801 of file venus_lighthouse.c.

Referenced by Event_TalkToWaitingScholar().

◆ Event_CarryBlockPastWall()

void Event_CarryBlockPastWall ( void )
static

Carry on the block Move could not push past the wall: once it is set down beyond, it stays there (FLAG_VENUS_LIGHTHOUSE_BLOCK_CARRIED).

Definition at line 812 of file venus_lighthouse.c.

Referenced by Event_CarryBlockPastWall().

◆ Event_ReadRelief()

void Event_ReadRelief ( void )
static

Searching a relief shows its words; each relief has its own message, except in English, which keeps one.

"There are words carved into the relief..."

Definition at line 825 of file venus_lighthouse.c.

Referenced by Event_ReadRelief().

◆ Event_HidePath()

void Event_HidePath ( void )
static

Reveal fading: the hidden path disappears again.

Definition at line 843 of file venus_lighthouse.c.

Referenced by Event_HidePath().

◆ Event_RevealPath()

void Event_RevealPath ( void )
static

Reveal: the hidden path appears and can be walked on.

Definition at line 863 of file venus_lighthouse.c.

Referenced by Event_RevealPath().

◆ Event_JumpDown()

void Event_JumpDown ( void )
static

Walking off the ledge before the floor switch is held down: the leader jumps down to the floor below and shakes his head.

Definition at line 884 of file venus_lighthouse.c.

Referenced by Event_JumpDown().

◆ Event_SearchStatue()

void Event_SearchStatue ( void )
static

Searching the statue: the room flashes and the path it opens changes, and the camera shows it.

"The statue speaks to Isaac's soul..."

Definition at line 924 of file venus_lighthouse.c.

Referenced by Event_SearchStatue().

◆ Event_MoveBlockTowardWall()

void Event_MoveBlockTowardWall ( void )
static

Move on the block by the wall: once it reaches the wall, the first time only, Garet comes out.

"Hmmm. We can't push the block farther than this."

Definition at line 999 of file venus_lighthouse.c.

Referenced by Event_MoveBlockTowardWall(), and Event_PushBlockTowardWall().

◆ Event_PushBlockTowardWall()

void Event_PushBlockTowardWall ( void )
static

Pushing the block by the wall: as Move, with Garet's remark at the wall.

Definition at line 1058 of file venus_lighthouse.c.

Referenced by Event_PushBlockTowardWall().

◆ Event_MoveBlockOntoSwitch()

void Event_MoveBlockOntoSwitch ( void )
static

Move on the block by the floor switch: on the switch it sinks in and holds it down.

Definition at line 1069 of file venus_lighthouse.c.

Referenced by Event_MoveBlockOntoSwitch().

◆ Event_StepOnFloorSwitch()

void Event_StepOnFloorSwitch ( void )
static

Standing on the floor switch presses it; stepping off releases it.

Definition at line 1089 of file venus_lighthouse.c.

Referenced by Event_StepOnFloorSwitch().

◆ Event_TalkToScholarByDoor()

void Event_TalkToScholarByDoor ( void )
static

Talking to the scholar by the door: he explored once it opened, until Kraden and the others appeared; the camera looks at the door.

Definition at line 1117 of file venus_lighthouse.c.

Referenced by Event_TalkToScholarByDoor().

◆ Event_FallThroughFloor()

void Event_FallThroughFloor ( void )
static

Stepping onto the hole in the floor: the leader looks down, falls through and lands in the room below.

Definition at line 1138 of file venus_lighthouse.c.

Referenced by Event_FallThroughFloor().

◆ Event_MoveDepthBlock()

void Event_MoveDepthBlock ( void )
static

Move on one of the three blocks in a row: the floor under each block is solid again and the nearer block draws in front.

Definition at line 1204 of file venus_lighthouse.c.

Referenced by Event_MoveDepthBlock(), Event_PushDepthBlock(), and Scene_RunEntrySetup().

◆ Event_PushDepthBlock()

void Event_PushDepthBlock ( void )
static

Pushing one of the three blocks in a row.

Definition at line 1234 of file venus_lighthouse.c.

Referenced by Event_PushDepthBlock().

◆ Event_LiftCarryBlock()

void Event_LiftCarryBlock ( void )
static

Move or Carry starting on one of the two blocks by the gap: their tiles are marked before they move.

Definition at line 1245 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushCarryBlock(), and Event_LiftCarryBlock().

◆ Event_MoveCarryBlock()

void Event_MoveCarryBlock ( void )
static

Move on one of the two blocks by the gap: blocks still above the floor are solid again.

Definition at line 1259 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushCarryBlock(), Event_MoveCarryBlock(), Scene_RunEntrySetup(), and VenusLighthouse_ReleaseFallenCarryBlock().

◆ Event_JumpOrPushCarryBlock()

void Event_JumpOrPushCarryBlock ( void )
static

Walking into a gap or a block by it: jump the gap, else push the block.

Definition at line 1274 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushCarryBlock().

◆ VenusLighthouse_FixBlockAtDestination()

void VenusLighthouse_FixBlockAtDestination ( struct FieldActor * block)
static

Fixes a block at its destination and restores the cell beneath it.

Definition at line 1286 of file venus_lighthouse.c.

Referenced by Event_CarryBlockAcrossGap(), Scene_RunEntrySetup(), and VenusLighthouse_FixBlockAtDestination().

◆ VenusLighthouse_ReleaseFallenCarryBlock()

void VenusLighthouse_ReleaseFallenCarryBlock ( struct FieldActor * block)
static

Removes a fallen Carry block, or restores collision under the remaining blocks.

Definition at line 1299 of file venus_lighthouse.c.

Referenced by Event_CarryBlockAcrossGap(), and VenusLighthouse_ReleaseFallenCarryBlock().

◆ Event_CarryBlockAcrossGap()

void Event_CarryBlockAcrossGap ( void )
static

Carry on one of the two blocks: set down in its place it stays fixed; dropped into the gap it falls through the floor.

Definition at line 1322 of file venus_lighthouse.c.

Referenced by Event_CarryBlockAcrossGap().

◆ Event_StepOnWallSwitch()

void Event_StepOnWallSwitch ( void )
static

Stepping on the floor switch: the wall slides aside in a cloud of dust, the first time only, and the party goes on through the next exit.

Definition at line 1345 of file venus_lighthouse.c.

Referenced by Event_StepOnWallSwitch().

◆ Event_MoveGateBlock()

void Event_MoveGateBlock ( void )
static

Move on the block before the gate: in its socket it sinks in and the gate opens, the first time only.

Definition at line 1419 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushGateBlock(), Event_MoveGateBlock(), and Scene_RunEntrySetup().

◆ Event_JumpOrPushGateBlock()

void Event_JumpOrPushGateBlock ( void )
static

Walking into the gap or the block before the gate: jump the gap, else push the block, which may sink into its socket.

Definition at line 1498 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushGateBlock().

◆ Event_MoveSwitchBlock()

void Event_MoveSwitchBlock ( void )
static

Move on one of the three blocks: a block on a free socket sinks in, and with all three sunk the gate opens.

Definition at line 1511 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushSwitchBlock(), Event_MoveSwitchBlock(), and Scene_RunEntrySetup().

◆ Event_JumpOrPushSwitchBlock()

void Event_JumpOrPushSwitchBlock ( void )
static

Walking into the gap or one of the three blocks: jump the gap, else push the block, which may sink into a socket.

Definition at line 1636 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushSwitchBlock().

◆ VenusLighthouse_FollowSupportingBlockHeight()

s32 VenusLighthouse_FollowSupportingBlockHeight ( union FieldObject * fieldObject)
static

◆ VenusLighthouse_LowerFloatingBlocks()

void VenusLighthouse_LowerFloatingBlocks ( s32 waitFrames)
static

Moves the floating supports to the heights selected by their timers.

Definition at line 1670 of file venus_lighthouse.c.

Referenced by Event_CarryFloatingBlock(), Scene_RunEntrySetup(), and VenusLighthouse_LowerFloatingBlocks().

◆ VenusLighthouse_StackFloatingBlock()

void VenusLighthouse_StackFloatingBlock ( s32 blockId)
static

Moves a floating block atop the highest support in its map cell.

Definition at line 1705 of file venus_lighthouse.c.

Referenced by Event_CarryFloatingBlock(), and VenusLighthouse_StackFloatingBlock().

◆ FloatingBlock_Settle()

__inline__ void FloatingBlock_Settle ( struct FieldActor * block,
s32 resetValue )
static

Stops a floating block and resets its vertical motion and timer.

Definition at line 1745 of file venus_lighthouse.c.

Referenced by Event_CarryFloatingBlock(), and FloatingBlock_Settle().

◆ Actor_CopyPosition()

__inline__ void Actor_CopyPosition ( struct FieldActor * destination,
struct FieldActor * source )
static

Copies all three fixed-point position components without changing motion.

Definition at line 1755 of file venus_lighthouse.c.

Referenced by Actor_CopyPosition(), and Event_CarryFloatingBlock().

◆ Event_CarryFloatingBlock()

void Event_CarryFloatingBlock ( void )
static

Carry on one of the four floating blocks: it settles where it is set down and the platforms under the blocks rise or sink to their weight.

Definition at line 1764 of file venus_lighthouse.c.

Referenced by Event_CarryFloatingBlock().

◆ Event_PushPuzzleBlock()

void Event_PushPuzzleBlock ( void )
static

Pushing a block in the pillar room.

Definition at line 1863 of file venus_lighthouse.c.

Referenced by Event_PushPuzzleBlock().

◆ Event_StepOnWestWallSwitch()

void Event_StepOnWestWallSwitch ( void )
static

Stepping on the west floor switch: the west wall slides aside, the first time only, and the party goes on through the next exit.

Definition at line 1872 of file venus_lighthouse.c.

Referenced by Event_StepOnWestWallSwitch().

◆ Event_StepOnEastWallSwitch()

void Event_StepOnEastWallSwitch ( void )
static

Stepping on the east floor switch: the east wall slides aside, the first time only, and the party goes on through the next exit.

Definition at line 1938 of file venus_lighthouse.c.

Referenced by Event_StepOnEastWallSwitch().

◆ Event_MovePillarSwitchBlock()

void Event_MovePillarSwitchBlock ( void )
static

Move on one of the four blocks in the pillar room: on a free socket it sinks in, and with all four sunk the gate opens.

Definition at line 2003 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushPillarBlock(), Event_MovePillarSwitchBlock(), and Scene_RunEntrySetup().

◆ Event_JumpOrPushPillarBlock()

void Event_JumpOrPushPillarBlock ( void )
static

Walking into the gap or a pillar-room block: jump the gap, else push the block, which may sink into a socket.

Definition at line 2151 of file venus_lighthouse.c.

Referenced by Event_JumpOrPushPillarBlock().

◆ Event_EnterRisingPassage()

void Event_EnterRisingPassage ( void )
static

Walking south into the passage: the leader rises out of the room to the floor above.

Definition at line 2169 of file venus_lighthouse.c.

Referenced by Event_EnterRisingPassage().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Selects the puzzle interactions and dialogue for the current lighthouse scene.

Definition at line 2184 of file venus_lighthouse.c.

◆ VenusLighthouse_PrepareStandingActor()

void VenusLighthouse_PrepareStandingActor ( s32 actorId)
static

Prepares a stationary actor with the room's initial collision and draw state.

Definition at line 2210 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_PrepareStandingActor().

◆ VenusLighthouse_VisitPillarActors()

void VenusLighthouse_VisitPillarActors ( void )
static

Visits the four pillar actors through the object lookup service.

Definition at line 2230 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup(), and VenusLighthouse_VisitPillarActors().

◆ Scene_RunEntrySetup()

s32 Scene_RunEntrySetup ( void )

Restores puzzle progress, actors and entrance effects for all six scenes.

Definition at line 2241 of file venus_lighthouse.c.

Referenced by Scene_RunEntrySetup().

◆ Event_DriftNorth()

void Event_DriftNorth ( void )
static

Standing on this floor carries the party north in a trail of dust; at a ledge they drop down.

Definition at line 2751 of file venus_lighthouse.c.

Referenced by Event_DriftNorth().

◆ Event_DriftSouth()

void Event_DriftSouth ( void )
static

As Event_DriftNorth, south.

Definition at line 2760 of file venus_lighthouse.c.

Referenced by Event_DriftSouth().

◆ Event_DriftWest()

void Event_DriftWest ( void )
static

As Event_DriftNorth, west.

Definition at line 2769 of file venus_lighthouse.c.

Referenced by Event_DriftWest().

◆ Event_DriftEast()

void Event_DriftEast ( void )
static

As Event_DriftNorth, east.

Definition at line 2778 of file venus_lighthouse.c.

Referenced by Event_DriftEast().

◆ Rubble_SetScaleAndSpin()

__inline__ void Rubble_SetScaleAndSpin ( struct EffectOptions * options)
static

Chooses the particle scales and spin used by the tile-wave animations.

Definition at line 2875 of file venus_lighthouse.c.

Referenced by Rubble_SetScaleAndSpin(), VenusLighthouse_AnimateEastTileWave(), VenusLighthouse_AnimatePairedTileWaves(), and VenusLighthouse_AnimateWestTileWave().

◆ VenusLighthouse_SpawnRandomParticles()

void VenusLighthouse_SpawnRandomParticles ( s32 x,
s32 z )
static

Emits the scheduled particles at the supplied passage coordinates.

Definition at line 2938 of file venus_lighthouse.c.

Referenced by VenusLighthouse_EmitEastPassageParticles(), VenusLighthouse_EmitWestPassageParticles(), and VenusLighthouse_SpawnRandomParticles().

◆ VenusLighthouse_UpdateRisingSpray()

s32 VenusLighthouse_UpdateRisingSpray ( union FieldObject * fieldObject)
static

◆ VenusLighthouse_DispatchPushScript()

s32 VenusLighthouse_DispatchPushScript ( struct ScriptInterpreter * interpreter)
static

Selects the block's push script from its direction, support animation and socket.

Definition at line 3198 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

Variable Documentation

◆ 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 3294 of file venus_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 3299 of file venus_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 3304 of file venus_lighthouse.c.

◆ gStagedActor_DirectionSteps

u32 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 3317 of file venus_lighthouse.c.

◆ gVenusSwitchCells

struct SwitchCell gVenusSwitchCells[]
Initial value:
= {
{48, 41},
{52, 41},
{48, 43},
{52, 43},
}

Definition at line 3326 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock(), and VenusLighthouse_DispatchPushScript().

◆ gVenusBlockHeights

u32 gVenusBlockHeights[]
Initial value:
= {
0xfff00000, 0xfff00000, 0xffe00000, 0xffd00000, 0xffc00000, 0xffb00000, 0xffb00000,
}

Definition at line 3334 of file venus_lighthouse.c.

Referenced by VenusLighthouse_LowerFloatingBlocks().

◆ gVenusPillarCells

struct SwitchCell gVenusPillarCells[]
Initial value:
= {
{ 11, 39 },
{ 14, 39 },
{ 11, 41 },
{ 16, 42 },
{ 10, 43 },
{ 14, 43 },
{ 10, 46 },
{ 16, 46 },
}

Definition at line 3338 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock(), and VenusLighthouse_DispatchPushScript().

◆ gVenusShapesPushedLeft

u8 gVenusShapesPushedLeft[]
Initial value:
= {
5, 6, 7, 0,
}

Definition at line 3349 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusShapesPushedRight

u8 gVenusShapesPushedRight[]
Initial value:
= {
4, 6, 8, 0,
}

Definition at line 3353 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusShapesPushedUp

u8 gVenusShapesPushedUp[]
Initial value:
= {
3, 7, 8, 0,
}

Definition at line 3357 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusShapesPushedDown

u8 gVenusShapesPushedDown[]
Initial value:
= {
3, 4, 5, 0,
}

Definition at line 3361 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusSwitchShape0

u8 gVenusSwitchShape0[]
Initial value:
= {
6, 7, 8, 0,
}

Definition at line 3365 of file venus_lighthouse.c.

◆ gVenusSwitchShape1

u8 gVenusSwitchShape1[]
Initial value:
= {
6, 7, 8, 0,
}

Definition at line 3369 of file venus_lighthouse.c.

◆ gVenusSwitchShape2

u8 gVenusSwitchShape2[]
Initial value:
= {
4, 5, 6, 0,
}

Definition at line 3373 of file venus_lighthouse.c.

◆ gVenusSwitchShape3

u8 gVenusSwitchShape3[]
Initial value:
= {
4, 5, 6, 0,
}

Definition at line 3377 of file venus_lighthouse.c.

◆ gVenusPillarShape0

u8 gVenusPillarShape0[]
Initial value:
= {
7, 0,
}

Definition at line 3381 of file venus_lighthouse.c.

◆ gVenusPillarShape1

u8 gVenusPillarShape1[]
Initial value:
= {
0, 5,
}

Definition at line 3385 of file venus_lighthouse.c.

◆ gVenusPillarShape2

u8 gVenusPillarShape2[]
Initial value:
= {
0, 8,
}

Definition at line 3389 of file venus_lighthouse.c.

◆ gVenusPillarShape3

u8 gVenusPillarShape3[]
Initial value:
= {
0, 5,
}

Definition at line 3393 of file venus_lighthouse.c.

◆ gVenusPillarShape4

u8 gVenusPillarShape4[]
Initial value:
= {
0, 7, 8, 0,
}

Definition at line 3397 of file venus_lighthouse.c.

◆ gVenusPillarShape5

u8 gVenusPillarShape5[]
Initial value:
= {
3, 0,
}

Definition at line 3401 of file venus_lighthouse.c.

◆ gVenusPillarShape6

u8 gVenusPillarShape6[]
Initial value:
= {
3, 0,
}

Definition at line 3405 of file venus_lighthouse.c.

◆ gEffectScripts

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

Definition at line 3409 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements2_0

s32 gVenusLighthousePlacements2_0[]
Initial value:
= {
SC_SET(0x23, 0x2126),
SC_SET(0x27, 1),
}
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
#define SC_END
Return to the main script.
Definition objcmd.h:32
#define SC_CALL(fn)
Definition objcmd.h:50
static s32 VenusLighthouse_UpdateChildFromTimer(struct ScriptInterpreter *interpreter)
Applies the current script timer's child value and advances the script.

Definition at line 3415 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements3_Data

s32 gVenusLighthousePlacements3_Data[]
Initial value:

Definition at line 3422 of file venus_lighthouse.c.

◆ gVenusLeaderApproachScript

s32 gVenusLeaderApproachScript[]
Initial value:
= {
SC_ARG(12),
SC_SET(SW_SCALE_X, 0x11999),
SC_SET(SW_SCALE_Y, 0x11999),
SC_WAIT(2),
SC_SET(SW_SCALE_X, 0xe666),
SC_SET(SW_SCALE_Y, 0xe666),
SC_WAIT(2),
SC_LOOP(10, SC_TO(1)),
SC_SET(SW_SCALE_X, 0x10000),
SC_SET(SW_SCALE_Y, 0x10000),
}
#define SC_LABEL(n)
Branch destination.
Definition objcmd.h:11
#define SC_TO(n)
Definition objcmd.h:12
#define SC_ARG(v)
Definition objcmd.h:44
@ SW_SCALE_Y
Definition objcmd.h:63
@ SW_SCALE_X
Definition objcmd.h:62
@ SW_HOOK
Definition objcmd.h:84
signed int s32
Definition types.h:14
static s32 VenusLighthouse_PulseChildEffect(union FieldObject *fieldObject)

Definition at line 3428 of file venus_lighthouse.c.

Referenced by Event_JumpDown().

◆ gVenusLighthousePlacements2_1

s32 gVenusLighthousePlacements2_1[]
Initial value:
= {
SC_SET(SW_SCALE_X, 0x9999),
SC_SET(SW_SCALE_Y, 0x9999),
}
@ SW_COLLISION
Definition objcmd.h:79
static s32 VenusLighthouse_ClearScriptedSpriteFlags(struct ScriptInterpreter *interpreter)
Clears the scripted actor's sprite flags and advances its script.

Definition at line 3444 of file venus_lighthouse.c.

◆ gVenusSprayScript

s32 gVenusSprayScript[]
Initial value:
= {
SC_SET(SW_SCALE_Y, 0x10000),
SC_SET(SW_SCALE_X, 0x10000),
SC_WAIT(6),
SC_SET(SW_SCALE_Y, 0xa000),
SC_SET(SW_SCALE_X, 0xa000),
SC_WAIT(6),
SC_SET(SW_SCALE_Y, 0x4000),
SC_SET(SW_SCALE_X, 0x4000),
SC_WAIT(6),
SC_SET(SW_SCALE_Y, 0xa000),
SC_SET(SW_SCALE_X, 0xa000),
SC_WAIT(6),
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

Definition at line 3452 of file venus_lighthouse.c.

Referenced by VenusLighthouse_UpdateRisingSpray().

◆ gVenusLighthousePlacements4_1

s32 gVenusLighthousePlacements4_1[]
Initial value:
= {
SC_ARG(3),
}

Definition at line 3472 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements5_3

s32 gVenusLighthousePlacements5_3[]
Initial value:
= {
SC_ARG(4),
}

Definition at line 3477 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements6_4

s32 gVenusLighthousePlacements6_4[]
Initial value:
= {
SC_ARG(5),
}

Definition at line 3482 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements5_2

s32 gVenusLighthousePlacements5_2[]
Initial value:
= {
SC_ARG(6),
}

Definition at line 3487 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements5_1

s32 gVenusLighthousePlacements5_1[]
Initial value:
= {
SC_ARG(7),
}

Definition at line 3492 of file venus_lighthouse.c.

◆ gVenusLighthousePlacements6_3

s32 gVenusLighthousePlacements6_3[]
Initial value:
= {
SC_ARG(8),
}

Definition at line 3497 of file venus_lighthouse.c.

◆ gVenusPushScript

s32 gVenusPushScript[]
Initial value:
= {
SC_ARG(7),
SC_SET(SW_SPEED, 0x10000),
SC_MOVE(PIXELS(760), 0, PIXELS(728)),
SC_POS(PIXELS(760), 0, PIXELS(728)),
SC_MOVE(PIXELS(760), 0, PIXELS(744)),
SC_POS(PIXELS(760), 0, PIXELS(744)),
SC_MOVE(PIXELS(744), 0, PIXELS(744)),
SC_POS(PIXELS(743), 0, PIXELS(744)),
SC_MOVE(PIXELS(744), 0, PIXELS(696)),
SC_POS(PIXELS(743), 0, PIXELS(696)),
SC_WAIT(1),
}
#define PIXELS(value)
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19
@ SW_SPEED
Definition objcmd.h:67
static s32 VenusLighthouse_EmitGateParticles(union FieldObject *fieldObject)

Definition at line 3502 of file venus_lighthouse.c.

Referenced by Event_MoveGateBlock().

◆ gVenusSettleScriptA

s32 gVenusSettleScriptA[]
Initial value:
= {
SC_MOVE(PIXELS(872), 0, PIXELS(680)),
SC_POS(PIXELS(872), 0, PIXELS(680)),
SC_MOVE(PIXELS(872), 0, PIXELS(664)),
SC_POS(PIXELS(872), 0, PIXELS(664)),
SC_MOVE(PIXELS(840), 0, PIXELS(664)),
SC_SET(SW_X, PIXELS(840)),
SC_SET(SW_Z, PIXELS(664)),
}
@ SW_Z
Definition objcmd.h:60
@ SW_X
Definition objcmd.h:58
static s32 VenusLighthouse_DispatchPushScript(struct ScriptInterpreter *interpreter)
Selects the block's push script from its direction, support animation and socket.

Definition at line 3523 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock().

◆ gVenusSettleScriptB

s32 gVenusSettleScriptB[]
Initial value:

Definition at line 3538 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock().

◆ gVenusRefusedPushScript

s32 gVenusRefusedPushScript[]
Initial value:
= {
SC_WAIT(10),
}

Definition at line 3550 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusSwitchPushScript0_0

s32 gVenusSwitchPushScript0_0[]
Initial value:
= {
SC_MOVE(PIXELS(728), 0, PIXELS(664)),
SC_POS(PIXELS(728), 0, PIXELS(664)),
SC_MOVE(PIXELS(728), 0, PIXELS(632)),
SC_POS(PIXELS(728), 0, PIXELS(632)),
SC_SET(0x28, 1),
}

Definition at line 3556 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript0_1

s32 gVenusSwitchPushScript0_1[]
Initial value:

Definition at line 3567 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript1_0

s32 gVenusSwitchPushScript1_0[]
Initial value:

Definition at line 3576 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript1_1

s32 gVenusSwitchPushScript1_1[]
Initial value:

Definition at line 3585 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript2_1

s32 gVenusSwitchPushScript2_1[]
Initial value:

Definition at line 3594 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript2_0

s32 gVenusSwitchPushScript2_0[]
Initial value:
= {
SC_MOVE(PIXELS(728), 0, PIXELS(696)),
SC_POS(PIXELS(728), 0, PIXELS(696)),
SC_MOVE(PIXELS(728), 0, PIXELS(632)),
SC_POS(PIXELS(728), 0, PIXELS(632)),
SC_SET(0x28, 1),
}

Definition at line 3603 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript3_1

s32 gVenusSwitchPushScript3_1[]
Initial value:

Definition at line 3614 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript3_0

s32 gVenusSwitchPushScript3_0[]
Initial value:

Definition at line 3623 of file venus_lighthouse.c.

◆ gVenusFirstGateScript

s32 gVenusFirstGateScript[]
Initial value:
= {
SC_MOVE(PIXELS(216), 0, PIXELS(776)),
SC_POS(PIXELS(216), 0, PIXELS(776)),
SC_MOVE(PIXELS(216), 0, PIXELS(760)),
SC_POS(PIXELS(216), 0, PIXELS(760)),
}

Definition at line 3632 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock().

◆ gVenusFirstGateOpenScript

s32 gVenusFirstGateOpenScript[]
Initial value:

Definition at line 3642 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock().

◆ gVenusPillarPushScript7_0

s32 gVenusPillarPushScript7_0[]
Initial value:
= {
SC_MOVE(PIXELS(264), 0, PIXELS(728)),
SC_POS(PIXELS(264), 0, PIXELS(728)),
SC_MOVE(PIXELS(232), 0, PIXELS(728)),
SC_POS(PIXELS(232), 0, PIXELS(728)),
SC_MOVE(PIXELS(232), 0, PIXELS(696)),
SC_SET(SW_X, PIXELS(232)),
SC_SET(SW_Z, PIXELS(696)),
}

Definition at line 3654 of file venus_lighthouse.c.

◆ gVenusPillarPushScript5_1

s32 gVenusPillarPushScript5_1[]
Initial value:
= {
SC_MOVE(PIXELS(216), 0, PIXELS(696)),
SC_POS(PIXELS(216), 0, PIXELS(696)),
SC_MOVE(PIXELS(216), 0, PIXELS(664)),
SC_POS(PIXELS(216), 0, PIXELS(664)),
SC_MOVE(PIXELS(184), 0, PIXELS(664)),
SC_SET(SW_X, PIXELS(184)),
SC_SET(SW_Z, PIXELS(664)),
}

Definition at line 3669 of file venus_lighthouse.c.

◆ gVenusPillarPushScript5_0

s32 gVenusPillarPushScript5_0[]
Initial value:

Definition at line 3684 of file venus_lighthouse.c.

◆ gVenusPillarPushScript2_0

s32 gVenusPillarPushScript2_0[]
Initial value:

Definition at line 3696 of file venus_lighthouse.c.

◆ gVenusPillarPushScript3_0

s32 gVenusPillarPushScript3_0[]
Initial value:
= {
SC_MOVE(PIXELS(248), 0, PIXELS(680)),
SC_POS(PIXELS(248), 0, PIXELS(680)),
SC_MOVE(PIXELS(248), 0, PIXELS(664)),
SC_POS(PIXELS(248), 0, PIXELS(664)),
SC_MOVE(PIXELS(264), 0, PIXELS(664)),
SC_POS(PIXELS(264), 0, PIXELS(664)),
SC_MOVE(PIXELS(264), 0, PIXELS(648)),
SC_POS(PIXELS(264), 0, PIXELS(648)),
SC_MOVE(PIXELS(248), 0, PIXELS(648)),
SC_POS(PIXELS(248), 0, PIXELS(648)),
SC_MOVE(PIXELS(248), 0, PIXELS(632)),
SC_POS(PIXELS(248), 0, PIXELS(632)),
SC_MOVE(PIXELS(232), 0, PIXELS(632)),
SC_SET(SW_X, PIXELS(232)),
SC_SET(SW_Z, PIXELS(632)),
}

Definition at line 3705 of file venus_lighthouse.c.

◆ gVenusSecondGateScript

s32 gVenusSecondGateScript[]
Initial value:
= {
SC_MOVE(PIXELS(216), 0, PIXELS(744)),
SC_POS(PIXELS(216), 0, PIXELS(744)),
SC_MOVE(PIXELS(184), 0, PIXELS(744)),
SC_POS(PIXELS(184), 0, PIXELS(744)),
SC_MOVE(PIXELS(184), 0, PIXELS(760)),
SC_POS(PIXELS(184), 0, PIXELS(760)),
SC_MOVE(PIXELS(168), 0, PIXELS(760)),
SC_POS(PIXELS(168), 0, PIXELS(760)),
SC_MOVE(PIXELS(168), 0, PIXELS(744)),
SC_SET(SW_X, PIXELS(168)),
SC_SET(SW_Z, PIXELS(744)),
}

Definition at line 3732 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock().

◆ gVenusPillarPushScript6_0

s32 gVenusPillarPushScript6_0[]
Initial value:
= {
SC_MOVE(PIXELS(168), 0, PIXELS(728)),
SC_POS(PIXELS(168), 0, PIXELS(728)),
SC_MOVE(PIXELS(184), 0, PIXELS(728)),
SC_POS(PIXELS(184), 0, PIXELS(728)),
SC_MOVE(PIXELS(184), 0, PIXELS(696)),
SC_POS(PIXELS(184), 0, PIXELS(696)),
SC_MOVE(PIXELS(168), 0, PIXELS(696)),
SC_SET(SW_X, PIXELS(168)),
SC_SET(SW_Z, PIXELS(696)),
}

Definition at line 3753 of file venus_lighthouse.c.

◆ gVenusPillarPushScript4_0

s32 gVenusPillarPushScript4_0[]
Initial value:

Definition at line 3771 of file venus_lighthouse.c.

◆ gVenusPillarPushScript0_0

s32 gVenusPillarPushScript0_0[]
Initial value:
= {
SC_MOVE(PIXELS(216), 0, PIXELS(632)),
SC_POS(PIXELS(216), 0, PIXELS(632)),
SC_MOVE(PIXELS(216), 0, PIXELS(600)),
SC_POS(PIXELS(216), 0, PIXELS(600)),
SC_SET(0x28, 1),
}

Definition at line 3783 of file venus_lighthouse.c.

◆ gVenusPushCells

u16 gVenusPushCells[]
Initial value:
= {
MAP_CELL_STEP(124, 50, 1, 2, 6), MAP_CELL_STEP(124, 47, 1, 2, 6), MAP_CELL_STEP(124, 44, 1, 2, 6), MAP_CELL_STEP(124, 41, 1, 2, 6), MAP_CELL_STEPS_END,
}
#define MAP_CELL_STEP(srcX, srcY, width, height, frames)
Definition field_event.h:59
#define MAP_CELL_STEPS_END
Definition field_event.h:61

Definition at line 3794 of file venus_lighthouse.c.

Referenced by Event_MoveGateBlock().

◆ gVenusSettleCells

u16 gVenusSettleCells[]
Initial value:
= {
MAP_CELL_STEP(117, 59, 1, 2, 6), MAP_CELL_STEP(115, 59, 1, 2, 6), MAP_CELL_STEP(113, 59, 1, 2, 6), MAP_CELL_STEP(111, 59, 1, 2, 6), MAP_CELL_STEPS_END,
}

Definition at line 3798 of file venus_lighthouse.c.

Referenced by Event_MoveSwitchBlock().

◆ gVenusGateCells

u16 gVenusGateCells[]
Initial value:
= {
MAP_CELL_STEP(96, 58, 1, 2, 6), MAP_CELL_STEP(95, 58, 1, 2, 6), MAP_CELL_STEP(96, 56, 1, 2, 6), MAP_CELL_STEP(95, 56, 1, 2, 6), MAP_CELL_STEPS_END,
}

Definition at line 3802 of file venus_lighthouse.c.

Referenced by Event_MovePillarSwitchBlock().

◆ gVenusLighthouseEntrances1

struct SceneEntrance gVenusLighthouseEntrances1[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 40, 0, 264, FACING_EAST, 0, 0, 0, 512, 544, 0 },
{ 2, CONDITION_ALWAYS, 376, 0, 88, FACING_SOUTH, 0, 0, 0, 512, 544, 0 },
{ 3, CONDITION_ALWAYS, 488, 0, 424, FACING_WEST, 0, 0, 0, 512, 544, 0 },
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_EAST
Definition field_scene.h:26
@ FACING_SOUTH
Definition field_scene.h:28
@ FACING_WEST
Definition field_scene.h:30

Definition at line 3806 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthouseEntrancesOther

struct SceneEntrance gVenusLighthouseEntrancesOther[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 120, 0, 200, FACING_NORTH, 0, 0, 56, 240, 216, 0 },
{ 2, CONDITION_ALWAYS, 120, 0, 104, FACING_SOUTH, 0, 0, 56, 240, 216, 0 },
{ 3, CONDITION_ALWAYS, 344, 0, 232, FACING_NORTH, 0, 256, 48, 512, 248, 0 },
{ 4, CONDITION_ALWAYS, 472, 0, 184, FACING_SOUTH, 0, 256, 48, 512, 248, 0 },
{ 5, CONDITION_ALWAYS, 376, 0, 184, FACING_SOUTH, 0, 256, 48, 512, 248, 0 },
{ 6, CONDITION_ALWAYS, 344, 0, 104, FACING_SOUTH, 0, 256, 48, 512, 248, 0 },
{ 7, CONDITION_ALWAYS, 840, 0, 248, FACING_NORTH, 0, 672, 32, 1008, 256, 0 },
{ 8, CONDITION_ALWAYS, 968, 0, 168, FACING_SOUTH, 0, 672, 32, 1008, 256, 0 },
{ 9, CONDITION_ALWAYS, 856, 0, 88, FACING_SOUTH, 0, 672, 32, 1008, 256, 0 },
{ 10, CONDITION_ALWAYS, 808, 0, 88, FACING_SOUTH, 0, 672, 32, 1008, 256, 0 },
{ 11, CONDITION_ALWAYS, 712, 0, 168, FACING_SOUTH, 0, 672, 32, 1008, 256, 0 },
{ 12, CONDITION_ALWAYS, 200, 0, 408, FACING_NORTH, 0, 16, 288, 256, 520, 0 },
{ 13, CONDITION_ALWAYS, 104, 0, 504, FACING_NORTH, 0, 16, 288, 256, 520, 0 },
{ 14, CONDITION_ALWAYS, 104, 0, 472, FACING_SOUTH, 0, 16, 288, 256, 520, 0 },
{ 20, CONDITION_ALWAYS, 520, 0, 696, FACING_SOUTH, 0, 304, 344, 576, 728, 0 },
{ 21, CONDITION_ALWAYS, 344, 0, 568, FACING_SOUTH, 0, 304, 344, 576, 728, 0 },
{ 22, CONDITION_ALWAYS, 728, 0, 936, FACING_SOUTH, 0, 600, 736, 840, 952, 0 },
{ 23, CONDITION_ALWAYS, 744, 0, 792, FACING_SOUTH, 0, 600, 736, 840, 952, 0 },
{ 24, CONDITION_ALWAYS, 392, 0, 952, FACING_SOUTH, 0, 272, 808, 512, 984, 0 },
{ 25, CONDITION_ALWAYS, 392, 0, 856, FACING_SOUTH, 0, 272, 808, 512, 984, 0 },
{ 26, CONDITION_ALWAYS, 760, 0, 936, FACING_SOUTH, 0, 600, 736, 840, 952, 0 },
{ 30, CONDITION_ALWAYS, 88, 0, 872, FACING_SOUTH, 0, 16, 600, 256, 920, 0 },
{ 31, CONDITION_ALWAYS, 184, 0, 872, FACING_SOUTH, 0, 16, 600, 256, 920, 0 },
{ 32, CONDITION_ALWAYS, 184, 0, 648, FACING_SOUTH, 0, 16, 600, 256, 920, 0 },
}
@ FACING_NORTH
Definition field_scene.h:32

Definition at line 3813 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthouseEntrances3

struct SceneEntrance gVenusLighthouseEntrances3[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 456, 0, 552, FACING_SOUTH, 0, 376, 344, 736, 624, 0 },
{ 2, CONDITION_ALWAYS, 456, 0, 592, FACING_NORTH, 0, 376, 344, 736, 624, 0 },
{ 3, CONDITION_ALWAYS, 696, 0, 472, FACING_SOUTH, 0, 376, 344, 736, 624, 0 },
{ 4, CONDITION_ALWAYS, 696, 0, 512, FACING_NORTH, 0, 376, 344, 736, 624, 0 },
{ 5, CONDITION_ALWAYS, 424, 0, 136, FACING_SOUTH, 0, 344, 48, 592, 216, 0 },
{ 6, CONDITION_ALWAYS, 520, 0, 176, FACING_NORTH, 0, 344, 48, 592, 216, 0 },
{ 7, CONDITION_ALWAYS, 104, 0, 752, FACING_NORTH, 0, 56, 584, 304, 880, 0 },
{ 8, CONDITION_ALWAYS, 200, 0, 680, FACING_SOUTH, 0, 56, 584, 304, 880, 0 },
{ 9, CONDITION_ALWAYS, 88, 0, 344, FACING_SOUTH, 0, 40, 280, 288, 496, 0 },
{ 10, CONDITION_ALWAYS, 248, 0, 432, FACING_NORTH, 0, 40, 280, 288, 496, 0 },
{ 11, CONDITION_ALWAYS, 664, 0, 264, FACING_SOUTH, 0, 616, 40, 1000, 360, 0 },
{ 12, CONDITION_ALWAYS, 728, 0, 136, FACING_SOUTH, 0, 616, 40, 1000, 360, 0 },
{ 13, CONDITION_ALWAYS, 840, 0, 136, FACING_SOUTH, 0, 616, 40, 1000, 360, 0 },
{ 14, CONDITION_ALWAYS, 952, 0, 136, FACING_SOUTH, 0, 616, 40, 1000, 360, 0 },
{ 15, CONDITION_ALWAYS, 840, 0, 360, FACING_NORTH, 0, 616, 40, 1000, 360, 0 },
{ 16, CONDITION_ALWAYS, 88, 0, 152, FACING_SOUTH, 0, 40, 40, 328, 208, 0 },
{ 17, CONDITION_ALWAYS, 184, 0, 104, FACING_SOUTH, 0, 40, 40, 328, 208, 0 },
{ 18, CONDITION_ALWAYS, 280, 0, 152, FACING_SOUTH, 0, 40, 40, 328, 208, 0 },
{ 19, CONDITION_ALWAYS, 472, 0, 776, FACING_SOUTH, 0, 424, 688, 672, 848, 0 },
{ 20, CONDITION_ALWAYS, 600, 0, 776, FACING_SOUTH, 0, 424, 688, 672, 848, 0 },
{ 21, CONDITION_ALWAYS, 840, 0, 136, FACING_SOUTH, 0, 616, 40, 1000, 360, 0 },
}

Definition at line 3841 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthouseEntrances4

struct SceneEntrance gVenusLighthouseEntrances4[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 104, 0, 120, FACING_SOUTH, 0, 56, 56, 368, 272, 0 },
{ 2, CONDITION_ALWAYS, 312, 0, 200, FACING_SOUTH, 0, 56, 56, 368, 272, 0 },
{ 3, CONDITION_ALWAYS, 600, 0, 216, FACING_NORTH, 0, 552, 88, 848, 544, 0 },
{ 4, CONDITION_ALWAYS, 696, 0, 312, FACING_SOUTH, 0, 552, 88, 848, 544, 0 },
{ 5, CONDITION_ALWAYS, 648, 0, 536, FACING_NORTH, 0, 552, 88, 848, 544, 0 },
{ 6, CONDITION_ALWAYS, 776, 0, 536, FACING_SOUTH, 0, 552, 88, 848, 544, 0 },
{ 7, CONDITION_ALWAYS, 104, 0, 520, FACING_SOUTH, 0, 56, 392, 352, 608, 0 },
{ 8, CONDITION_ALWAYS, 312, 0, 584, FACING_NORTH, 0, 56, 392, 352, 608, 0 },
{ 9, CONDITION_ALWAYS, 744, 0, 696, FACING_SOUTH, 0, 648, 632, 896, 800, 0 },
{ 10, CONDITION_ALWAYS, 808, 0, 696, FACING_SOUTH, 0, 648, 632, 896, 800, 0 },
{ 11, CONDITION_ALWAYS, 312, 0, 536, FACING_SOUTH, 0, 56, 392, 352, 608, 0 },
}

Definition at line 3866 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthouseEntrances5

struct SceneEntrance gVenusLighthouseEntrances5[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 136, 0, 136, FACING_SOUTH, 0, 8, 56, 256, 224, 0 },
{ 2, CONDITION_ALWAYS, 136, 0, 184, FACING_NORTH, 0, 8, 56, 256, 224, 0 },
{ 3, CONDITION_ALWAYS, 136, 0, 392, FACING_NORTH, 0, 8, 264, 256, 432, 0 },
{ 4, CONDITION_ALWAYS, 312, 0, 680, FACING_SOUTH, 0, 248, 600, 512, 768, 0 },
{ 5, CONDITION_ALWAYS, 392, 0, 680, FACING_SOUTH, 0, 248, 600, 512, 768, 0 },
{ 6, CONDITION_ALWAYS, 472, 0, 680, FACING_SOUTH, 0, 248, 600, 512, 768, 0 },
{ 7, CONDITION_ALWAYS, 136, 0, 792, FACING_SOUTH, 0, 8, 728, 256, 928, 0 },
{ 8, CONDITION_ALWAYS, 136, 0, 904, FACING_NORTH, 0, 8, 728, 256, 928, 0 },
{ 9, CONDITION_ALWAYS, 312, 0, 232, FACING_NORTH, 0, 264, 56, 720, 480, 0 },
{ 10, CONDITION_ALWAYS, 376, 0, 184, FACING_SOUTH, 0, 264, 56, 720, 480, 0 },
{ 11, CONDITION_ALWAYS, 504, 0, 248, FACING_SOUTH, 0, 264, 56, 720, 480, 0 },
{ 12, CONDITION_ALWAYS, 680, 0, 120, FACING_SOUTH, 0, 264, 56, 720, 480, 0 },
{ 13, CONDITION_ALWAYS, 312, 0, 440, FACING_SOUTH, 0, 264, 56, 720, 480, 0 },
{ 14, CONDITION_ALWAYS, 632, 0, 392, FACING_NORTH, 0, 264, 56, 720, 480, 0 },
{ 15, CONDITION_ALWAYS, 728, 0, 632, FACING_SOUTH, 0, 680, 568, 928, 768, 0 },
{ 16, CONDITION_ALWAYS, 888, 0, 632, FACING_SOUTH, 0, 680, 568, 928, 768, 0 },
{ 17, CONDITION_ALWAYS, 136, 0, 568, FACING_SOUTH, 0, 8, 480, 256, 648, 0 },
{ 18, CONDITION_ALWAYS, 136, 0, 600, FACING_NORTH, 0, 8, 480, 256, 648, 0 },
{ 19, CONDITION_ALWAYS, 440, 0, 264, FACING_NORTH, 0, 264, 56, 720, 480, 0 },
{ 20, CONDITION_ALWAYS, 568, 0, 264, FACING_NORTH, 0, 264, 56, 720, 480, 0 },
}

Definition at line 3881 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthouseEntrances6

struct SceneEntrance gVenusLighthouseEntrances6[]
Initial value:
= {
{ 1, CONDITION_ALWAYS, 120, 0, 248, FACING_SOUTH, 0, 72, 56, 320, 416, 0 },
{ 2, CONDITION_ALWAYS, 280, 0, 280, FACING_NORTH, 0, 72, 56, 320, 416, 0 },
{ 3, CONDITION_ALWAYS, 472, 0, 328, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 4, CONDITION_ALWAYS, 536, 0, 216, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 5, CONDITION_ALWAYS, 664, 0, 88, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 6, CONDITION_ALWAYS, 744, 0, 152, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 7, CONDITION_ALWAYS, 840, 0, 152, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 8, CONDITION_ALWAYS, 936, 0, 280, FACING_NORTH, 0, 424, 24, 992, 560, 0 },
{ 9, CONDITION_ALWAYS, 472, 0, 472, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 10, CONDITION_ALWAYS, 616, 0, 456, FACING_NORTH, 0, 424, 24, 992, 560, 0 },
{ 11, CONDITION_ALWAYS, 728, 0, 456, FACING_NORTH, 0, 424, 24, 992, 560, 0 },
{ 12, CONDITION_ALWAYS, 824, 0, 456, FACING_NORTH, 0, 424, 24, 992, 560, 0 },
{ 13, CONDITION_ALWAYS, 792, 0, 648, FACING_SOUTH, 0, 712, 584, 976, 864, 0 },
{ 14, CONDITION_ALWAYS, 904, 0, 648, FACING_SOUTH, 0, 712, 584, 976, 864, 0 },
{ 15, CONDITION_ALWAYS, 104, 0, 776, FACING_SOUTH, 0, 56, 536, 304, 848, 0 },
{ 16, CONDITION_ALWAYS, 216, 0, 600, FACING_SOUTH, 0, 56, 536, 304, 848, 0 },
{ 17, CONDITION_ALWAYS, 600, 0, 744, FACING_SOUTH, 0, 392, 648, 640, 832, 0 },
{ 18, CONDITION_ALWAYS, 536, 0, 328, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 19, CONDITION_ALWAYS, 792, 0, 328, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
{ 20, CONDITION_ALWAYS, 664, 0, 136, FACING_SOUTH, 0, 424, 24, 992, 560, 0 },
}

Definition at line 3905 of file venus_lighthouse.c.

Referenced by Scene_GetEntrances().

◆ gVenusLighthousePrimaryTable

u32 gVenusLighthousePrimaryTable[]

Definition at line 3929 of file venus_lighthouse.c.

Referenced by SceneData_GetPrimaryTable().

◆ gVenusLighthousePlacementsOther

struct ScenePlacement gVenusLighthousePlacementsOther[]
Initial value:
= {
}

Definition at line 4039 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthousePlacements1

struct ScenePlacement gVenusLighthousePlacements1[]
Initial value:
= {
}
@ TALK_KEEP_FACING
@ ACTOR_STAND
#define FLAG_VENUS_LIGHTHOUSE_ATTACK_TOLD
The man at the entrance has told of the attack and is gone.
Definition flags.h:696

Definition at line 4043 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthousePlacements2

struct ScenePlacement gVenusLighthousePlacements2[]

Definition at line 4061 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthousePlacements3

struct ScenePlacement gVenusLighthousePlacements3[]

◆ gVenusLighthousePlacements4

struct ScenePlacement gVenusLighthousePlacements4[]
Initial value:
= {
{ 0x11c, CONDITION_ALWAYS, 7,
}
s32 gVenusLighthousePlacements2_0[]
s32 gVenusLighthousePlacements4_1[]

Definition at line 4113 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthousePlacements5

struct ScenePlacement gVenusLighthousePlacements5[]
Initial value:
= {
}
s32 gVenusLighthousePlacements5_3[]
s32 gVenusLighthousePlacements5_2[]
s32 gVenusLighthousePlacements5_1[]

Definition at line 4123 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthousePlacements6

struct ScenePlacement gVenusLighthousePlacements6[]
Initial value:
= {
{ 0x101, 0x0, 7,
{ 0x101, 0x0, 7,
{ 0x100, 0x0, ACTOR_STAND,
{ 0x100, 0x0, ACTOR_STAND,
{ 0x100, 0x0, ACTOR_STAND,
{ 0x100, 0x0, ACTOR_STAND,
{ 0xf2, 0x0, 7,
}
s32 gVenusLighthousePlacements6_3[]
s32 gVenusLighthousePlacements6_4[]

Definition at line 4137 of file venus_lighthouse.c.

Referenced by Scene_GetPlacements().

◆ gVenusLighthouseEvents1

struct SceneEvent gVenusLighthouseEvents1[]
Initial value:
= {
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseIodemBeHappyTheEntranceTo) },
{ EVENT_TALK, 10, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseOhhhHowCouldTheyAttackMere) },
{ EVENT_TALK, 12, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseHowHowDidTheyOpenThe) },
{ EVENT_TALK, 13, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseTheyAreAlreadyHeadedForBabi) },
{ EVENT_TALK, 14, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseBabisSoldiersAreAllColossoVictors) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseUhnnnIfOnlyICouldMove) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseTheirPowersWereSoStrangeWho) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 11, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseIMustGetInsideVenusLighthouse) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 12, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseTheYoungBoySeemedToGlow) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 13, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseTheyWerentInVenusLighthouseVery) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 14, CONDITION_ALWAYS, MSGNO(MsgVenusLighthouseIThoughtIRecognizedOneOf) },
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
#define SCENE_EVENTS_END
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
static void Event_HearOfTheAttack(void)
Talking to the man at the entrance (or reading his mind): he flickers away.
static void Event_TalkToWaitingScholar(void)
Talking to the scholar who has waited to see inside Venus Lighthouse.

Definition at line 4167 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusLighthouseEvents2

struct SceneEvent gVenusLighthouseEvents2[]

Definition at line 4188 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusLighthouseEvents3

struct SceneEvent gVenusLighthouseEvents3[]

Definition at line 4243 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusLighthouseEvents4

struct SceneEvent gVenusLighthouseEvents4[]
Initial value:
= {
{ 0x31, 1, CONDITION_ALWAYS, 1 },
{ 0x31, 4, CONDITION_ALWAYS, 4 },
{ 0x21, 6, CONDITION_ALWAYS, 6 },
{ 0x31, 7, CONDITION_ALWAYS, 7 },
}
@ ABILITY_MOVE
Definition ability_ids.h:15
@ EVENT_TOUCH
#define EVENT_TOUCH_WALKING
#define SEARCH(target)
#define TOUCH_WALKING_INTO(facing)
@ SEARCH_UNNAMED
static void Event_SearchLockedDoor(void)
Searching a cell door without the Cell Key: it stays shut.
static void Event_EnterSparklingPassage(void)
Walking north into a sparkling passage: the leader dissolves in sparks and comes out at the passage's...
static void Event_StepOnWallSwitch(void)
Stepping on the floor switch: the wall slides aside in a cloud of dust, the first time only,...
static void Event_JumpOrPushGateBlock(void)
Walking into the gap or the block before the gate: jump the gap, else push the block,...
#define FLAG_VENUS_LIGHTHOUSE_GATE_OPEN
static void Event_MoveGateBlock(void)
Move on the block before the gate: in its socket it sinks in and the gate opens, the first time only.

Definition at line 4286 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusLighthouseEvents5

struct SceneEvent gVenusLighthouseEvents5[]
Initial value:
= {
{ 0x21, 1, CONDITION_ALWAYS, 1 },
{ 0x21, 7, CONDITION_ALWAYS, 7 },
{ 0x21, 10, CONDITION_ALWAYS, 10 },
{ 0x21, 12, CONDITION_ALWAYS, 12 },
{ 0x21, 13, CONDITION_ALWAYS, 13 },
{ 0x31, 17, CONDITION_ALWAYS, 17 },
}
#define FIND_ITEM(item)
@ SEARCH_CHEST
@ ITEM_DRAGON_SCALES
Definition item_ids.h:22
static void Event_DriftSouth(void)
As Event_DriftNorth, south.
static void Event_MoveSwitchBlock(void)
Move on one of the three blocks: a block on a free socket sinks in, and with all three sunk the gate ...
static void Event_JumpOrPushSwitchBlock(void)
Walking into the gap or one of the three blocks: jump the gap, else push the block,...

Definition at line 4304 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusLighthouseEvents6

struct SceneEvent gVenusLighthouseEvents6[]

Definition at line 4334 of file venus_lighthouse.c.

Referenced by Scene_GetEvents().

◆ gVenusSwitchShapes

const u8* gVenusSwitchShapes[]
Initial value:

Definition at line 4385 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusSwitchPushScript0

s32* gVenusSwitchPushScript0[]
Initial value:

Definition at line 4392 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript1

s32* gVenusSwitchPushScript1[]
Initial value:

Definition at line 4399 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript2

s32* gVenusSwitchPushScript2[]
Initial value:

Definition at line 4406 of file venus_lighthouse.c.

◆ gVenusSwitchPushScript3

s32* gVenusSwitchPushScript3[]
Initial value:

Definition at line 4413 of file venus_lighthouse.c.

◆ gVenusSwitchPushScripts

s32** gVenusSwitchPushScripts[]
Initial value:
= {
}
s32 * gVenusSwitchPushScript0[]
s32 * gVenusSwitchPushScript3[]
s32 * gVenusSwitchPushScript2[]
s32 * gVenusSwitchPushScript1[]

Definition at line 4420 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusPillarShapes

const u8* gVenusPillarShapes[]
Initial value:

Definition at line 4427 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().

◆ gVenusPillarPushScript0

s32* gVenusPillarPushScript0[]
Initial value:

Definition at line 4433 of file venus_lighthouse.c.

◆ gVenusPillarPushScript1

s32* gVenusPillarPushScript1[]
Initial value:

Definition at line 4438 of file venus_lighthouse.c.

◆ gVenusPillarPushScript2

s32* gVenusPillarPushScript2[]
Initial value:

Definition at line 4442 of file venus_lighthouse.c.

◆ gVenusPillarPushScript3

s32* gVenusPillarPushScript3[]
Initial value:

Definition at line 4447 of file venus_lighthouse.c.

◆ gVenusPillarPushScript4

s32* gVenusPillarPushScript4[]
Initial value:

Definition at line 4452 of file venus_lighthouse.c.

◆ gVenusPillarPushScript5

s32* gVenusPillarPushScript5[]
Initial value:

Definition at line 4457 of file venus_lighthouse.c.

◆ gVenusPillarPushScript6

s32* gVenusPillarPushScript6[]
Initial value:

Definition at line 4463 of file venus_lighthouse.c.

◆ gVenusPillarPushScript7

s32* gVenusPillarPushScript7[]
Initial value:

Definition at line 4468 of file venus_lighthouse.c.

◆ gVenusPillarPushScripts

s32** gVenusPillarPushScripts[]
Initial value:

Definition at line 4473 of file venus_lighthouse.c.

Referenced by VenusLighthouse_DispatchPushScript().