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.
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.
Event_CatchNut
static void Event_CatchNut(void)
Catch on the Nut circling in the first room: the party gets it.
Scene_Initialize
s32 Scene_Initialize(void)
Restores puzzle changes and handles returning from a guard battle.
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.
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.
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.
Event_OpenWestDoor
static void Event_OpenWestDoor(void)
Walking north into the western door (trigger 4): it opens, and the party goes through.
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.
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.
Event_GrowPlant11
static void Event_GrowPlant11(s32 actorId)
Growth on the first plant (actor 11): it grows, and its cell can be crossed.
Event_GrowPlant12
static void Event_GrowPlant12(s32 actorId)
Growth on the second plant (actor 12).
Event_GrowPlant13
static void Event_GrowPlant13(s32 actorId)
Growth on the third plant (actor 13).
Event_GrowPlant14
static void Event_GrowPlant14(s32 actorId)
Growth on the fourth plant (actor 14), which opens two cells.
Event_BlowAwayIvy15
static void Event_BlowAwayIvy15(void)
Whirlwind on the first ivy (actor 15): it is blown away for good.
Event_BlowAwayIvy16
static void Event_BlowAwayIvy16(void)
Whirlwind on the second ivy (actor 16).
Event_BlowAwayIvy17
static void Event_BlowAwayIvy17(void)
Whirlwind on the third ivy (actor 17).
Event_BlowAwayIvy18
static void Event_BlowAwayIvy18(void)
Whirlwind on actor 18, a fourth ivy.
CrossboneIsle_RestoreIvy
static void CrossboneIsle_RestoreIvy(void)
Ivy blown away stays gone; the rest stands tall.
Used by Scene_Initialize.
Event_PushFirstRoomBlock
static void Event_PushFirstRoomBlock(void)
Walking into one of the first room's blocks: push it if the cell beyond is clear.
CrossboneIsle_MoveSelectedActorAndBlock
static void CrossboneIsle_MoveSelectedActorAndBlock(s32 actorId, s32 xOffset, s32 zOffset)
Moves the selected actor and puzzle block by the same pixel offset.
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.
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.
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.
CrossboneIsle_DrawBlockPuzzleFootprints
static void CrossboneIsle_DrawBlockPuzzleFootprints(void)
Draws all twelve block footprints in the sliding-block room.
Used by Scene_Initialize.
Event_StepOnBlock8
static void Event_StepOnBlock8(void)
Stepping onto block 8: its animation plays from the start.
Event_StepOnBlock10
static void Event_StepOnBlock10(void)
Stepping onto block 10: its animation plays from the start.
Event_StepOnBlock11
static void Event_StepOnBlock11(void)
Stepping onto block 11: its animation plays from the start.
Event_StepOnBlock12
static void Event_StepOnBlock12(void)
Stepping onto block 12: its animation plays from the start.
Event_StepOnBlock13
static void Event_StepOnBlock13(void)
Stepping onto block 13: its animation plays from the start.
Event_StepOnBlock15
static void Event_StepOnBlock15(void)
Stepping onto block 15: its animation plays from the start.
Event_StepOnBlock17
static void Event_StepOnBlock17(void)
Stepping onto block 17: its animation plays from the start.
Event_StepOnBlock18
static void Event_StepOnBlock18(void)
Stepping onto block 18: its animation plays from the start.
Event_StepOnBlock9
static void Event_StepOnBlock9(void)
Stepping onto block 9: its animation plays from the start.
Event_StepOnBlock19
static void Event_StepOnBlock19(void)
Stepping onto block 19: its animation plays from the start.
Event_StepOnBlock14
static void Event_StepOnBlock14(void)
Stepping onto block 14: its animation plays from the start.
Event_StepOnBlock16
static void Event_StepOnBlock16(void)
Stepping onto block 16: its animation plays from the start.
Also, functions without a comment: CrossboneIsle_UnusedCallback, Scene_GetEntrances, Scene_GetRegions, Scene_GetExits, Scene_GetPlacements, Scene_GetEvents.