Alchemy

west_lunpa_cave.c

West Lunpa Cave: a gate puzzle of switches and puddles that Frost freezes into pillars, and Bunza, whose wagon carries the party out of Lunpa.

games/tbs/src/scene/west_lunpa_cave.c on GitHub

West Lunpa Cave: a gate puzzle of switches and puddles that Frost freezes into pillars, and Bunza, whose wagon carries the party out of Lunpa.

Functions

Scene_GetExits

const u32 *Scene_GetExits(void)

Both passages and the wagon departure return through this exit table.

Line 40

Scene_GetPlacements

const struct ScenePlacement *Scene_GetPlacements(void)

Only the cave scene places puddles, Hammet, Bunza and the party members.

Line 43

Scene_GetEvents

const struct SceneEvent *Scene_GetEvents(void)

Routes switches, Frost targets and the reunion trigger to their handlers.

Line 51

Event_FreezeHiddenPuddle

static void Event_FreezeHiddenPuddle(void)

Frost on the hidden puddle: it freezes, and no flag remembers it.

Used by gCaveEvents.

Line 54

Event_FreezeSouthPuddle

static void Event_FreezeSouthPuddle(void)

Frost on the south puddle: it rises as an ice pillar the party can climb.

Used by gCaveEvents.

Line 64

Gate_DrawPropped

static void Gate_DrawPropped(void)

Animates the raised gate resting on the frozen pillar, then opens collision.

Used by Event_FreezeGatePuddle, Scene_Initialize.

Line 77

Event_FreezeGatePuddle

static void Event_FreezeGatePuddle(void)

Frost on the puddle under the gate: its pillar props the gate open, and if the gate was down the player sees it rise and hears the puzzle solved.

Used by gCaveEvents.

Line 102

Event_FreezeNorthPuddle

static void Event_FreezeNorthPuddle(void)

Frost on the north puddle: its pillar stays frozen when the party returns.

Used by gCaveEvents.

Line 120

Gate_Lower

static void Gate_Lower(void)

Lowers the gate in four-frame steps and restores the blocked cell attributes.

Used by Event_FlipLoweringSwitch, Scene_Initialize.

Line 126

Event_FlipLoweringSwitch

static void Event_FlipLoweringSwitch(void)

Searching the lowering switch: the hero flips it and the gate comes down, unless it is down already or a frozen pillar props it open. "flipped the switch."

Used by gCaveEvents.

Line 152

Gate_Raise

static void Gate_Raise(void)

Raises the unpropped gate and restores its passable cell attributes.

Used by Event_FlipRaisingSwitch, Scene_Initialize.

Line 165

Event_FlipRaisingSwitch

static void Event_FlipRaisingSwitch(void)

Searching the raising switch: the hero flips it and the gate goes up, unless it is up already or propped open. "flipped the switch."

Used by gCaveEvents.

Line 181

Event_HammetFindsBunza

static void Event_HammetFindsBunza(void)

Walking past Bunza's hiding place once Lunpa's trade has reopened: Bunza steps out, Hammet knows his voice, and the reunion and the wagon talk follow.

Used by gCaveEvents.

Line 196

Reunion_Converse

static void Reunion_Converse(void)

Explains Bunza's arrival and offers his wagon as a way out of Lunpa.

Used by Event_HammetFindsBunza.

Line 316

WagonChoice_Run

static void WagonChoice_Run(void)

Reconciles the party's answers until they either ride or stay behind.

Used by Reunion_Converse.

Line 611

Leader_AnswersYes

static u8 Leader_AnswersYes(void)

The scene menu encodes Yes as zero; expose it as a Boolean to the dialogue.

Used by WagonChoice_Run.

Line 673

Garet_AsksIfNotRiding

static u8 Garet_AsksIfNotRiding(void)

Asks whether the party really intends to refuse the ride.

Used by WagonChoice_Run.

Line 678

Garet_AsksAboutUnfinishedBusiness

static u8 Garet_AsksAboutUnfinishedBusiness(void)

Asks whether unfinished business explains the refusal to ride.

Used by WagonChoice_Run.

Line 685

Party_ConfirmsStaying

static u8 Party_ConfirmsStaying(void)

Reserved confirmation step; it always succeeds and displays no message.

Used by WagonChoice_Run.

Line 692

Bunza_AsksAboutUnfinishedBusiness

static u8 Bunza_AsksAboutUnfinishedBusiness(void)

Lets Bunza check whether the party has unfinished business before leaving.

Used by WagonChoice_Run.

Line 695

Garet_ChecksNothingLeftToDo

static u8 Garet_ChecksNothingLeftToDo(void)

Opens Garet's confirmation prompt; WagonChoice_Run collects the answer.

Used by WagonChoice_Run.

Line 702

Mia_AsksIfRidingAfterAll

static u8 Mia_AsksIfRidingAfterAll(void)

Asks whether the party has changed its mind about taking the wagon.

Used by WagonChoice_Run.

Line 709

Bunza_CannotWait

static u8 Bunza_CannotWait(void)

Explains that Bunza cannot wait and asks again about the party's business.

Used by WagonChoice_Run.

Line 716

Garet_AsksAboutThingsToDo

static u8 Garet_AsksAboutThingsToDo(void)

Asks the leader to confirm that something still needs doing here.

Used by WagonChoice_Run.

Line 736

Party_StaysBehind

static void Party_StaysBehind(void)

Sends Hammet and Bunza ahead, then returns the companions to the leader.

Used by WagonChoice_Run.

Line 743

Party_RidesWagon

static void Party_RidesWagon(void)

Leads everyone down the passage and requests the wagon departure exit.

Used by WagonChoice_Run.

Line 851

Scene_Initialize

s32 Scene_Initialize(void)

Restores the gate and frozen puddles from the persistent puzzle flags.

Line 942

Also, functions without a comment: Scene_GetEntrances, Scene_GetRegions.

Globals, without a comment: gCaveEntrances, gCaveExits, gCaveNoPlacements, gCavePlacements, gCaveNoEvents, gCaveEvents.

On this page