Alchemy

crossbone_isle.c

Crossbone Isle: the first room's plants, ivy and Nut, the sliding-block room, the nine guarded rooms with their Move puzzles, and the last guards.

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

Crossbone Isle: the first room's plants, ivy and Nut, the sliding-block room, the nine guarded rooms with their Move puzzles, and the last guards.

Functions

CrossboneIsle_SpawnBlockMovedBurst

static void CrossboneIsle_SpawnBlockMovedBurst(s32 objectId)

Emits a ring of effects around a moved block.

Used by Event_MoveBlock.

Line 98

Event_FightFinalGuards

static void Event_FightFinalGuards(void)

Stepping on trigger 10 in the fifth room: the last guards attack, and the party comes back to this room's entrance 5.

Line 125

Event_CatchNut

static void Event_CatchNut(void)

Catch on the Nut circling in the first room: the party gets it.

Line 156

Scene_Initialize

s32 Scene_Initialize(void)

Restores puzzle changes and handles returning from a guard battle.

Line 166

CrossboneIsle_RestoreMovedRoomBlock

static void CrossboneIsle_RestoreMovedRoomBlock(void)

In a guarded room whose Move puzzle is solved, the block stays sunk in its place.

Used by Scene_Initialize.

Line 268

Event_MoveBlock

static void Event_MoveBlock(void)

Move on a guarded room's block, and after each push: once it reaches column 40 it sinks into the floor in a ring of dust, and the way on is open.

Used by Event_PushBlock.

Line 291

Event_PushBlock

static void Event_PushBlock(void)

Walking into a guarded room's block (trigger 20): push it a step.

Used by gBilibinEvents1, gBilibinEvents2, gBilibinEvents3, gSolSanctumEntranceEvents1Entrances11To13, gSolSanctumEntranceEvents1Entrances14To16.

Line 341

Event_OpenWestDoor

static void Event_OpenWestDoor(void)

Walking north into the western door (trigger 4): it opens, and the party goes through.

Line 350

Event_EnterGuardedRoom

static void Event_EnterGuardedRoom(void)

Walking north into a guarded room's door (trigger 3): the first time, the room's guards attack; once they are beaten, the door opens.

Line 358

CrossboneIsle_LeaveClearedRoom

static void CrossboneIsle_LeaveClearedRoom(void)

Back from beating a room's guards: the door opens, and the party walks through.

Used by Scene_Initialize.

Line 405

Event_GrowPlant11

static void Event_GrowPlant11(s32 actorId)

Growth on the first plant (actor 11): it grows, and its cell can be crossed.

Line 420

Event_GrowPlant12

static void Event_GrowPlant12(s32 actorId)

Growth on the second plant (actor 12).

Line 434

Event_GrowPlant13

static void Event_GrowPlant13(s32 actorId)

Growth on the third plant (actor 13).

Line 448

Event_GrowPlant14

static void Event_GrowPlant14(s32 actorId)

Growth on the fourth plant (actor 14), which opens two cells.

Line 462

Event_BlowAwayIvy15

static void Event_BlowAwayIvy15(void)

Whirlwind on the first ivy (actor 15): it is blown away for good.

Line 479

Event_BlowAwayIvy16

static void Event_BlowAwayIvy16(void)

Whirlwind on the second ivy (actor 16).

Line 488

Event_BlowAwayIvy17

static void Event_BlowAwayIvy17(void)

Whirlwind on the third ivy (actor 17).

Line 493

Event_BlowAwayIvy18

static void Event_BlowAwayIvy18(void)

Whirlwind on actor 18, a fourth ivy.

Line 498

CrossboneIsle_RestoreIvy

static void CrossboneIsle_RestoreIvy(void)

Ivy blown away stays gone; the rest stands tall.

Used by Scene_Initialize.

Line 503

Event_PushFirstRoomBlock

static void Event_PushFirstRoomBlock(void)

Walking into one of the first room's blocks: push it if the cell beyond is clear.

Line 535

CrossboneIsle_MoveSelectedActorAndBlock

static void CrossboneIsle_MoveSelectedActorAndBlock(s32 actorId, s32 xOffset, s32 zOffset)

Moves the selected actor and puzzle block by the same pixel offset.

Line 546

CrossboneIsle_DrawHorizontalBlockFootprint

static void CrossboneIsle_DrawHorizontalBlockFootprint(s32 actorId, s32 sourceColumn, s32 sourceRow, s32 unused)

Draws the three-cell horizontal footprint centered on this block.

Used by CrossboneIsle_DrawBlockPuzzleFootprints.

Line 592

CrossboneIsle_DrawVerticalBlockFootprint

static void CrossboneIsle_DrawVerticalBlockFootprint(s32 actorId, s32 sourceColumn, s32 sourceRow, s32 unused)

Draws the three-cell vertical footprint centered on this block.

Used by CrossboneIsle_DrawBlockPuzzleFootprints.

Line 615

CrossboneIsle_AnimateTouchedBlock

static void CrossboneIsle_AnimateTouchedBlock(int actorId)

Runs the two animation changes used when touching a puzzle block.

Used by Event_StepOnBlock10, Event_StepOnBlock11, Event_StepOnBlock12, Event_StepOnBlock13, Event_StepOnBlock14, Event_StepOnBlock15, Event_StepOnBlock16, Event_StepOnBlock17, Event_StepOnBlock18, Event_StepOnBlock19, Event_StepOnBlock8, Event_StepOnBlock9.

Line 638

CrossboneIsle_DrawBlockPuzzleFootprints

static void CrossboneIsle_DrawBlockPuzzleFootprints(void)

Draws all twelve block footprints in the sliding-block room.

Used by Scene_Initialize.

Line 644

Event_StepOnBlock8

static void Event_StepOnBlock8(void)

Stepping onto block 8: its animation plays from the start.

Line 660

Event_StepOnBlock10

static void Event_StepOnBlock10(void)

Stepping onto block 10: its animation plays from the start.

Line 663

Event_StepOnBlock11

static void Event_StepOnBlock11(void)

Stepping onto block 11: its animation plays from the start.

Line 666

Event_StepOnBlock12

static void Event_StepOnBlock12(void)

Stepping onto block 12: its animation plays from the start.

Line 669

Event_StepOnBlock13

static void Event_StepOnBlock13(void)

Stepping onto block 13: its animation plays from the start.

Line 672

Event_StepOnBlock15

static void Event_StepOnBlock15(void)

Stepping onto block 15: its animation plays from the start.

Line 675

Event_StepOnBlock17

static void Event_StepOnBlock17(void)

Stepping onto block 17: its animation plays from the start.

Line 678

Event_StepOnBlock18

static void Event_StepOnBlock18(void)

Stepping onto block 18: its animation plays from the start.

Line 681

Event_StepOnBlock9

static void Event_StepOnBlock9(void)

Stepping onto block 9: its animation plays from the start.

Line 684

Event_StepOnBlock19

static void Event_StepOnBlock19(void)

Stepping onto block 19: its animation plays from the start.

Line 687

Event_StepOnBlock14

static void Event_StepOnBlock14(void)

Stepping onto block 14: its animation plays from the start.

Line 690

Event_StepOnBlock16

static void Event_StepOnBlock16(void)

Stepping onto block 16: its animation plays from the start.

Line 693

Also, functions without a comment: CrossboneIsle_UnusedCallback, Scene_GetEntrances, Scene_GetRegions, Scene_GetExits, Scene_GetPlacements, Scene_GetEvents.

On this page