The Djinni's ice room by Imil and Fuchin Falls, in seven maps: the ice room, then Fuchin Falls' four platform rooms, the room of the Ki inscription and the dragon statue's room. More...
Go to the source code of this file.
Data Structures | |
| struct | CaveEffectScripts |
| The three action scripts cave dust can run, chosen by its spawn flags. More... | |
| struct | CaveDustOptions |
| EffectOptions cut after its scales: the caller's frame holds only these 24 bytes. More... | |
Enumerations | |
| enum | ImilFuchinFallsActor { ACTOR_IMIL_DJINNI = 8 , ACTOR_FIRST_PLATFORM = 8 , ACTOR_SECOND_PLATFORM = 9 , ACTOR_THIRD_PLATFORM = 10 , ACTOR_FOURTH_PLATFORM = 11 , ACTOR_FUCHIN_DJINNI = 11 } |
| enum | { IMIL_SLIDE_ANIMATION_STEP = 3 * 16 } |
Functions | |
| static void | Fuchin_RebuildFirstRoomPlatforms (void) |
| Restores platform positions and collision cells in the first puzzle room. | |
| static void | Fuchin_RebuildSecondRoomPlatforms (void) |
| Restores platform positions and collision cells in the second puzzle room. | |
| static void | Fuchin_RebuildThirdRoomPlatforms (void) |
| Restores the interacting platform stops and collision cells in the third room. | |
| static void | Fuchin_RebuildFourthRoomPlatforms (void) |
| Restores both halves of the fourth puzzle room from its saved platform stops. | |
| static void | Imil_WalkTowardDjinni (void) |
| Shows the Imil Djinni and walks the leader toward it. | |
| static void | ImilFuchinFalls_PrepareRoom (void) |
| Restores room props and the cave light for this entrance. | |
| static void | ImilFuchinFalls_RebuildPlatformRoom (void) |
| Restores the collision templates for the current platform room. | |
| static void | ImilFuchinFalls_HopBy (s32 dx, s32 dz) |
| Jumps the leader by a pixel offset while using the hopping animations. | |
| static void | ImilFuchinFalls_PlaceDragonsEye (void) |
| Creates the collectible eye and uploads its item icon. | |
| static void | Imil_SlideActorAcrossIce (void) |
| Slides along the ice until terrain or a collision boundary ends the move. | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, priority)==offsetof(struct EffectOptions, priority)) | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, palette)==offsetof(struct EffectOptions, palette)) | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, startScaleX)==offsetof(struct EffectOptions, startScaleX)) | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, startScaleY)==offsetof(struct EffectOptions, startScaleY)) | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, targetScaleX)==offsetof(struct EffectOptions, targetScaleX)) | |
| STATIC_ASSERT (offsetof(struct CaveDustOptions, targetScaleY)==offsetof(struct EffectOptions, targetScaleY)) | |
| static void | Imil_RecruitDjinni (void) |
| Talking to the Djinni in the ice room adds it to the party. | |
| static void | Fuchin_StartDjinnBattle (void) |
| Talking to the Djinni in the second platform room starts its battle. | |
| const struct SceneEntrance * | ImilFuchinFalls_GetEntrances (void) |
| const struct SceneRegion * | ImilFuchinFalls_GetRegions (void) |
| const u32 * | ImilFuchinFalls_GetExits (void) |
| Returns the exit connections shared by these rooms. | |
| const struct ScenePlacement * | ImilFuchinFalls_GetPlacements (void) |
| static void | Fuchin_FinishPlatformMove (void(*rebuildPlatforms)(void)) |
| Lets the platform settle before rebuilding its room's collision cells. | |
| static void | Fuchin_FirstRoom_MoveFirstPlatformEast (void) |
| static void | Fuchin_FirstRoom_MoveFirstPlatformWest (void) |
| static void | Fuchin_FirstRoom_MoveSecondPlatformSouth (void) |
| static void | Fuchin_FirstRoom_MoveSecondPlatformNorth (void) |
| static void | Fuchin_FirstRoom_MoveThirdPlatformSouth (void) |
| static void | Fuchin_FirstRoom_MoveThirdPlatformNorth (void) |
| static void | Fuchin_SecondRoom_MoveFirstPlatformToEastEnd (void) |
| static void | Fuchin_SecondRoom_MoveFirstPlatformToWestEnd (void) |
| static void | Fuchin_SecondRoom_NudgeFirstPlatformWest (void) |
| static void | Fuchin_SecondRoom_MoveFirstPlatformEast (void) |
| static void | Fuchin_SecondRoom_MoveSecondPlatformSouth (void) |
| static void | Fuchin_SecondRoom_MoveSecondPlatformNorth (void) |
| static void | Fuchin_SecondRoom_MoveThirdPlatformSouth (void) |
| static void | Fuchin_SecondRoom_MoveThirdPlatformNorth (void) |
| static void | Fuchin_ThirdRoom_MoveFirstPlatformWest (void) |
| static void | Fuchin_ThirdRoom_MoveFirstPlatformEastFromMiddle (void) |
| static void | Fuchin_ThirdRoom_MoveFirstPlatformWestIfClear (void) |
| static void | Fuchin_ThirdRoom_MoveFirstPlatformEastFromWestEnd (void) |
| static void | Fuchin_ThirdRoom_MoveSecondPlatformWest (void) |
| static void | Fuchin_ThirdRoom_MoveSecondPlatformEast (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformNorthFromSouthEnd (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformSouthFromNorthEnd (void) |
| static void | Fuchin_ThirdRoom_NudgeThirdPlatformNorth (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformSouthFromUpperStop (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformNorthFromMiddle (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformSouthFromMiddle (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformNorthFromLowerStop (void) |
| static void | Fuchin_ThirdRoom_MoveThirdPlatformSouthFromLowerStop (void) |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformNorth (void) |
| static void | Fuchin_ClearFourthPlatformStops (void) |
| Clears all saved intermediate stops for the fourth platform. | |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformSouthFromNorthEnd (void) |
| static void | Fuchin_ThirdRoom_NudgeFourthPlatformNorth (void) |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformSouthFromUpperStop (void) |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformSouthFromMiddle (void) |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLowerStop (void) |
| static void | Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLastStop (void) |
| static void | Fuchin_FourthRoom_MoveFirstPlatformSouth (void) |
| static void | Fuchin_FourthRoom_MoveFirstPlatformNorth (void) |
| static void | Fuchin_FourthRoom_MoveSecondPlatformWest (void) |
| static void | Fuchin_FourthRoom_MoveSecondPlatformEast (void) |
| static void | Fuchin_FourthRoom_MoveThirdPlatformEast (void) |
| static void | Fuchin_FourthRoom_MoveThirdPlatformWest (void) |
| static void | Fuchin_AnimateFirstPlatform (void) |
| Advances the first platform through its two rolling animations. | |
| static void | Fuchin_AnimateSecondPlatform (void) |
| Advances the second platform through its two rolling animations. | |
| static void | Fuchin_AnimateThirdPlatform (void) |
| Advances the third platform through its two rolling animations. | |
| static void | Fuchin_AnimateFourthPlatform (void) |
| Advances the fourth platform through its two rolling animations. | |
| static struct FieldActor * | Fuchin_CreateForegroundActor (s32 x, s32 y, s32 z, s32 resourceId) |
| Creates a stationary foreground actor with its palette and priority set. | |
| const struct SceneEvent * | ImilFuchinFalls_GetEvents (void) |
| static void | Imil_LeaveDjinnRoom (void) |
| Faces the leader south and leaves the Imil Djinn room. | |
| static void | Imil_MoveAcrossIce (void) |
| Starts sliding the selected actor in the held direction. | |
| static void | Fuchin_PlacePlatformAtCell (s32 id, s32 column, s32 row) |
| Centers a platform on its cell and gives it underfoot priority. | |
| static void | Fuchin_FollowLeaderWithLight (void) |
| Attaches the active cave light to the party leader. | |
| static void | Fuchin_StopLightFollowingLeader (void) |
| Detaches the active cave light from the party leader. | |
| s32 | ImilFuchinFalls_Initialize (void) |
| Entering the Djinni's ice room the first time, the leader walks toward the Djinni; otherwise each room restores its platforms, eye and lighting. | |
| static void | ImilFuchinFalls_HopOnTrigger (void) |
| Hops across a platform edge when its current stop permits it. | |
| static void | Fuchin_HopNorth (void) |
| Hops the leader one gap north. | |
| static void | Fuchin_HopWest (void) |
| Hops the leader one gap west. | |
| static void | Fuchin_CollectDragonsEye (void) |
| Gives the eye to the party and removes its displayed actor. | |
| static void | Fuchin_UpdateDustMotion (union FieldObject *raw) |
| Applies the dust velocity and scale change for one frame. | |
| static s32 | Fuchin_SetDustPalette (struct ScriptInterpreter *interpreter) |
| Selects the dust palette when its object script finishes looping. | |
| void | ImilFuchinFalls_SpawnDust (s32 x, s32 y, s32 z, s32 velocityX, s32 velocityY, s32 velocityZ, u32 flags, const struct EffectOptions *extra) |
| Creates scripted cave dust with the requested velocity, palette and scale. | |
| static void | ImilFuchinFalls_BlowCaveMouthDust (void) |
| Emits cave-mouth dust every fourth frame while the dragon awakens. | |
| static void | Fuchin_LightDragonWithEye (void) |
| Inserts the eye, lights the dragon room and reveals its hidden path. | |
| static void | Fuchin_ReadDragonFlameInscription (void) |
| Reads the inscription describing the dragon flame. | |
| static void | Fuchin_ReadKiInscription (void) |
| Reads the inscription about the secret power of Ki. | |
| static void | Fuchin_ReadShadowInscription (void) |
| Reads the inscription about light revealing shadows. | |
| static void | Fuchin_SearchDragonStatue (void) |
| Describes the dragon eyes or offers to insert the carried eye. | |
| static void | Fuchin_EndRevealLighting (void) |
| Restores the dark cave lighting when Reveal expires. | |
| static void | Imil_TurnSkaterTowardHeldDirection (union FieldObject *object) |
| Turns the sliding actor gradually toward the held direction. | |
The Djinni's ice room by Imil and Fuchin Falls, in seven maps: the ice room, then Fuchin Falls' four platform rooms, the room of the Ki inscription and the dragon statue's room.
Flags 0x301 to 0x315 belong to the cave and hold the platforms' stops: 0x301 to 0x303 the first room's, 0x304 to 0x307 the second's, 0x308 to 0x312 the third's and 0x313 to 0x315 the fourth's.
Definition in file imil_fuchin_falls.c.
| enum ImilFuchinFallsActor |
Definition at line 53 of file imil_fuchin_falls.c.
| anonymous enum |
| Enumerator | |
|---|---|
| IMIL_SLIDE_ANIMATION_STEP | three times normal animation speed |
Definition at line 63 of file imil_fuchin_falls.c.
|
static |
Restores platform positions and collision cells in the first puzzle room.
Definition at line 765 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveFirstPlatformEast(), Fuchin_FirstRoom_MoveFirstPlatformWest(), Fuchin_FirstRoom_MoveSecondPlatformNorth(), Fuchin_FirstRoom_MoveSecondPlatformSouth(), Fuchin_FirstRoom_MoveThirdPlatformNorth(), Fuchin_FirstRoom_MoveThirdPlatformSouth(), Fuchin_RebuildFirstRoomPlatforms(), and ImilFuchinFalls_RebuildPlatformRoom().
|
static |
Restores platform positions and collision cells in the second puzzle room.
Definition at line 822 of file imil_fuchin_falls.c.
Referenced by Fuchin_RebuildSecondRoomPlatforms(), Fuchin_SecondRoom_MoveFirstPlatformEast(), Fuchin_SecondRoom_MoveFirstPlatformToEastEnd(), Fuchin_SecondRoom_MoveFirstPlatformToWestEnd(), Fuchin_SecondRoom_MoveSecondPlatformNorth(), Fuchin_SecondRoom_MoveSecondPlatformSouth(), Fuchin_SecondRoom_MoveThirdPlatformNorth(), Fuchin_SecondRoom_MoveThirdPlatformSouth(), Fuchin_SecondRoom_NudgeFirstPlatformWest(), and ImilFuchinFalls_RebuildPlatformRoom().
|
static |
Restores the interacting platform stops and collision cells in the third room.
Definition at line 907 of file imil_fuchin_falls.c.
Referenced by Fuchin_RebuildThirdRoomPlatforms(), Fuchin_ThirdRoom_MoveFirstPlatformEastFromMiddle(), Fuchin_ThirdRoom_MoveFirstPlatformEastFromWestEnd(), Fuchin_ThirdRoom_MoveFirstPlatformWest(), Fuchin_ThirdRoom_MoveFirstPlatformWestIfClear(), Fuchin_ThirdRoom_MoveFourthPlatformNorth(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLastStop(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLowerStop(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromMiddle(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromNorthEnd(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromUpperStop(), Fuchin_ThirdRoom_MoveSecondPlatformEast(), Fuchin_ThirdRoom_MoveSecondPlatformWest(), Fuchin_ThirdRoom_MoveThirdPlatformNorthFromLowerStop(), Fuchin_ThirdRoom_MoveThirdPlatformNorthFromMiddle(), Fuchin_ThirdRoom_MoveThirdPlatformNorthFromSouthEnd(), Fuchin_ThirdRoom_MoveThirdPlatformSouthFromLowerStop(), Fuchin_ThirdRoom_MoveThirdPlatformSouthFromMiddle(), Fuchin_ThirdRoom_MoveThirdPlatformSouthFromNorthEnd(), Fuchin_ThirdRoom_MoveThirdPlatformSouthFromUpperStop(), Fuchin_ThirdRoom_NudgeFourthPlatformNorth(), Fuchin_ThirdRoom_NudgeThirdPlatformNorth(), and ImilFuchinFalls_RebuildPlatformRoom().
|
static |
Restores both halves of the fourth puzzle room from its saved platform stops.
Definition at line 1014 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveFirstPlatformNorth(), Fuchin_FourthRoom_MoveFirstPlatformSouth(), Fuchin_FourthRoom_MoveSecondPlatformEast(), Fuchin_FourthRoom_MoveSecondPlatformWest(), Fuchin_FourthRoom_MoveThirdPlatformEast(), Fuchin_FourthRoom_MoveThirdPlatformWest(), Fuchin_RebuildFourthRoomPlatforms(), and ImilFuchinFalls_RebuildPlatformRoom().
|
static |
Shows the Imil Djinni and walks the leader toward it.
Definition at line 1111 of file imil_fuchin_falls.c.
Referenced by Imil_WalkTowardDjinni(), and ImilFuchinFalls_Initialize().
|
static |
Restores room props and the cave light for this entrance.
Definition at line 1124 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_Initialize(), and ImilFuchinFalls_PrepareRoom().
|
static |
Restores the collision templates for the current platform room.
Definition at line 1178 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_PrepareRoom(), and ImilFuchinFalls_RebuildPlatformRoom().
Jumps the leader by a pixel offset while using the hopping animations.
Definition at line 1223 of file imil_fuchin_falls.c.
Referenced by Fuchin_HopNorth(), Fuchin_HopWest(), ImilFuchinFalls_HopBy(), and ImilFuchinFalls_HopOnTrigger().
|
static |
Creates the collectible eye and uploads its item icon.
Definition at line 1235 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_PlaceDragonsEye(), and ImilFuchinFalls_PrepareRoom().
|
static |
Slides along the ice until terrain or a collision boundary ends the move.
Definition at line 1506 of file imil_fuchin_falls.c.
Referenced by Imil_MoveAcrossIce(), and Imil_SlideActorAcrossIce().
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, priority) | = =offsetof(struct EffectOptions, priority) | ) |
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, palette) | = =offsetof(struct EffectOptions, palette) | ) |
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, startScaleX) | = =offsetof(struct EffectOptions, startScaleX) | ) |
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, startScaleY) | = =offsetof(struct EffectOptions, startScaleY) | ) |
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, targetScaleX) | = =offsetof(struct EffectOptions, targetScaleX) | ) |
| STATIC_ASSERT | ( | offsetof(struct CaveDustOptions, targetScaleY) | = =offsetof(struct EffectOptions, targetScaleY) | ) |
|
static |
Talking to the Djinni in the ice room adds it to the party.
Definition at line 110 of file imil_fuchin_falls.c.
Referenced by Imil_RecruitDjinni().
|
static |
Talking to the Djinni in the second platform room starts its battle.
Definition at line 115 of file imil_fuchin_falls.c.
Referenced by Fuchin_StartDjinnBattle().
| const struct SceneEntrance * ImilFuchinFalls_GetEntrances | ( | void | ) |
Definition at line 119 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| const struct SceneRegion * ImilFuchinFalls_GetRegions | ( | void | ) |
Definition at line 146 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetRegions().
| const u32 * ImilFuchinFalls_GetExits | ( | void | ) |
Returns the exit connections shared by these rooms.
Definition at line 149 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetExits().
| const struct ScenePlacement * ImilFuchinFalls_GetPlacements | ( | void | ) |
Definition at line 151 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
|
inlinestatic |
Lets the platform settle before rebuilding its room's collision cells.
Definition at line 178 of file imil_fuchin_falls.c.
Referenced by Fuchin_FinishPlatformMove(), Fuchin_SecondRoom_MoveFirstPlatformEast(), Fuchin_ThirdRoom_MoveFirstPlatformEastFromMiddle(), Fuchin_ThirdRoom_MoveFirstPlatformEastFromWestEnd(), Fuchin_ThirdRoom_MoveFirstPlatformWest(), Fuchin_ThirdRoom_MoveFirstPlatformWestIfClear(), Fuchin_ThirdRoom_MoveFourthPlatformNorth(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromNorthEnd(), Fuchin_ThirdRoom_MoveThirdPlatformNorthFromSouthEnd(), Fuchin_ThirdRoom_MoveThirdPlatformSouthFromNorthEnd(), and Fuchin_ThirdRoom_MoveThirdPlatformSouthFromUpperStop().
|
static |
Definition at line 184 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveFirstPlatformEast().
|
static |
Definition at line 194 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveFirstPlatformWest().
|
static |
Definition at line 207 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveSecondPlatformSouth().
|
static |
Definition at line 216 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveSecondPlatformNorth().
|
static |
Definition at line 225 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveThirdPlatformSouth().
|
static |
Definition at line 234 of file imil_fuchin_falls.c.
Referenced by Fuchin_FirstRoom_MoveThirdPlatformNorth().
|
static |
Definition at line 243 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveFirstPlatformToEastEnd().
|
static |
Definition at line 252 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveFirstPlatformToWestEnd().
|
static |
Definition at line 262 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_NudgeFirstPlatformWest().
|
static |
Definition at line 271 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveFirstPlatformEast().
|
static |
Definition at line 286 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveSecondPlatformSouth().
|
static |
Definition at line 295 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveSecondPlatformNorth().
|
static |
Definition at line 304 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveThirdPlatformSouth().
|
static |
Definition at line 314 of file imil_fuchin_falls.c.
Referenced by Fuchin_SecondRoom_MoveThirdPlatformNorth().
|
static |
Definition at line 327 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFirstPlatformWest().
|
static |
Definition at line 343 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFirstPlatformEastFromMiddle().
|
static |
Definition at line 351 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFirstPlatformWestIfClear().
|
static |
Definition at line 368 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFirstPlatformEastFromWestEnd().
|
static |
Definition at line 376 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveSecondPlatformWest().
|
static |
Definition at line 385 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveSecondPlatformEast().
|
static |
Definition at line 394 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformNorthFromSouthEnd().
|
static |
Definition at line 412 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformSouthFromNorthEnd().
|
static |
Definition at line 443 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_NudgeThirdPlatformNorth().
|
static |
Definition at line 455 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformSouthFromUpperStop().
|
static |
Definition at line 480 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformNorthFromMiddle().
|
static |
Definition at line 490 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformSouthFromMiddle().
|
static |
Definition at line 502 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformNorthFromLowerStop().
|
static |
Definition at line 514 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveThirdPlatformSouthFromLowerStop().
|
static |
Definition at line 526 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformNorth().
|
static |
Clears all saved intermediate stops for the fourth platform.
Definition at line 552 of file imil_fuchin_falls.c.
Referenced by Fuchin_ClearFourthPlatformStops(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLastStop(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLowerStop(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromMiddle(), Fuchin_ThirdRoom_MoveFourthPlatformSouthFromNorthEnd(), and Fuchin_ThirdRoom_MoveFourthPlatformSouthFromUpperStop().
|
static |
Definition at line 559 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformSouthFromNorthEnd().
|
static |
Definition at line 566 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_NudgeFourthPlatformNorth().
|
static |
Definition at line 578 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformSouthFromUpperStop().
|
static |
Definition at line 587 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformSouthFromMiddle().
|
static |
Definition at line 596 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLowerStop().
|
static |
Definition at line 605 of file imil_fuchin_falls.c.
Referenced by Fuchin_ThirdRoom_MoveFourthPlatformSouthFromLastStop().
|
static |
Definition at line 614 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveFirstPlatformSouth().
|
static |
Definition at line 623 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveFirstPlatformNorth().
|
static |
Definition at line 632 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveSecondPlatformWest().
|
static |
Definition at line 641 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveSecondPlatformEast().
|
static |
Definition at line 650 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveThirdPlatformEast().
|
static |
Definition at line 659 of file imil_fuchin_falls.c.
Referenced by Fuchin_FourthRoom_MoveThirdPlatformWest().
|
static |
Advances the first platform through its two rolling animations.
Definition at line 669 of file imil_fuchin_falls.c.
Referenced by Fuchin_AnimateFirstPlatform().
|
static |
Advances the second platform through its two rolling animations.
Definition at line 675 of file imil_fuchin_falls.c.
Referenced by Fuchin_AnimateSecondPlatform().
|
static |
Advances the third platform through its two rolling animations.
Definition at line 681 of file imil_fuchin_falls.c.
Referenced by Fuchin_AnimateThirdPlatform().
|
static |
Advances the fourth platform through its two rolling animations.
Definition at line 687 of file imil_fuchin_falls.c.
Referenced by Fuchin_AnimateFourthPlatform().
|
static |
Creates a stationary foreground actor with its palette and priority set.
Definition at line 693 of file imil_fuchin_falls.c.
Referenced by Fuchin_CreateForegroundActor(), and ImilFuchinFalls_PrepareRoom().
| const struct SceneEvent * ImilFuchinFalls_GetEvents | ( | void | ) |
Definition at line 708 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
|
static |
Faces the leader south and leaves the Imil Djinn room.
Definition at line 736 of file imil_fuchin_falls.c.
Referenced by Imil_LeaveDjinnRoom().
|
static |
Starts sliding the selected actor in the held direction.
Definition at line 749 of file imil_fuchin_falls.c.
Referenced by Imil_MoveAcrossIce().
Centers a platform on its cell and gives it underfoot priority.
Definition at line 752 of file imil_fuchin_falls.c.
Referenced by Fuchin_PlacePlatformAtCell(), Fuchin_RebuildFirstRoomPlatforms(), Fuchin_RebuildFourthRoomPlatforms(), Fuchin_RebuildSecondRoomPlatforms(), and Fuchin_RebuildThirdRoomPlatforms().
|
static |
Attaches the active cave light to the party leader.
Definition at line 1079 of file imil_fuchin_falls.c.
Referenced by Fuchin_FollowLeaderWithLight().
|
static |
Detaches the active cave light from the party leader.
Definition at line 1088 of file imil_fuchin_falls.c.
Referenced by Fuchin_StopLightFollowingLeader().
| s32 ImilFuchinFalls_Initialize | ( | void | ) |
Entering the Djinni's ice room the first time, the leader walks toward the Djinni; otherwise each room restores its platforms, eye and lighting.
Definition at line 1098 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_Initialize().
|
static |
Hops across a platform edge when its current stop permits it.
Definition at line 1200 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_HopOnTrigger().
|
static |
Hops the leader one gap north.
Definition at line 1217 of file imil_fuchin_falls.c.
Referenced by Fuchin_HopNorth().
|
static |
Hops the leader one gap west.
Definition at line 1220 of file imil_fuchin_falls.c.
Referenced by Fuchin_HopWest().
|
static |
Gives the eye to the party and removes its displayed actor.
Definition at line 1259 of file imil_fuchin_falls.c.
Referenced by Fuchin_CollectDragonsEye().
|
static |
Applies the dust velocity and scale change for one frame.
Definition at line 1277 of file imil_fuchin_falls.c.
Referenced by Fuchin_UpdateDustMotion(), and ImilFuchinFalls_SpawnDust().
|
static |
Selects the dust palette when its object script finishes looping.
Definition at line 1288 of file imil_fuchin_falls.c.
Referenced by Fuchin_SetDustPalette().
| void ImilFuchinFalls_SpawnDust | ( | s32 | x, |
| s32 | y, | ||
| s32 | z, | ||
| s32 | velocityX, | ||
| s32 | velocityY, | ||
| s32 | velocityZ, | ||
| u32 | flags, | ||
| const struct EffectOptions * | extra ) |
Creates scripted cave dust with the requested velocity, palette and scale.
Definition at line 1295 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_BlowCaveMouthDust(), and ImilFuchinFalls_SpawnDust().
|
static |
Emits cave-mouth dust every fourth frame while the dragon awakens.
Definition at line 1348 of file imil_fuchin_falls.c.
Referenced by Fuchin_LightDragonWithEye(), and ImilFuchinFalls_BlowCaveMouthDust().
|
static |
Inserts the eye, lights the dragon room and reveals its hidden path.
Definition at line 1373 of file imil_fuchin_falls.c.
Referenced by Fuchin_LightDragonWithEye().
|
static |
Reads the inscription describing the dragon flame.
Definition at line 1421 of file imil_fuchin_falls.c.
Referenced by Fuchin_ReadDragonFlameInscription().
|
static |
Reads the inscription about the secret power of Ki.
Definition at line 1428 of file imil_fuchin_falls.c.
Referenced by Fuchin_ReadKiInscription().
|
static |
Reads the inscription about light revealing shadows.
Definition at line 1435 of file imil_fuchin_falls.c.
Referenced by Fuchin_ReadShadowInscription().
|
static |
Describes the dragon eyes or offers to insert the carried eye.
Definition at line 1442 of file imil_fuchin_falls.c.
Referenced by Fuchin_SearchDragonStatue().
|
static |
Restores the dark cave lighting when Reveal expires.
Definition at line 1457 of file imil_fuchin_falls.c.
Referenced by Fuchin_EndRevealLighting().
|
static |
Turns the sliding actor gradually toward the held direction.
Definition at line 1476 of file imil_fuchin_falls.c.
Referenced by Imil_SlideActorAcrossIce(), and Imil_TurnSkaterTowardHeldDirection().
| s32 gImilFuchinFalls_TrackLeader |
Definition at line 78 of file imil_fuchin_falls.c.
Referenced by Fuchin_FollowLeaderWithLight(), Fuchin_StopLightFollowingLeader(), and ImilFuchinFalls_PrepareRoom().
| s32* gImilFuchinFalls_DustScripts[] |
Definition at line 1598 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_SpawnDust().
| s16 gImilFuchinFalls_KeyHeadings[] |
Definition at line 1605 of file imil_fuchin_falls.c.
Referenced by Imil_TurnSkaterTowardHeldDirection().
| s16 gImilFuchinFalls_SlideHeadings[] |
Definition at line 1612 of file imil_fuchin_falls.c.
Referenced by Imil_SlideActorAcrossIce().
| struct FieldActor* gImilFuchinFalls_DragonsEye = NULL |
Definition at line 1618 of file imil_fuchin_falls.c.
Referenced by Fuchin_CollectDragonsEye(), and ImilFuchinFalls_PlaceDragonsEye().
| struct SceneEntrance gImilFuchinFalls_NoEntrances[] |
Definition at line 1620 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_DjinniRoomEntrances[] |
Definition at line 1625 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_FirstRoomEntrances[] |
Definition at line 1631 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_SecondRoomEntrances[] |
Definition at line 1644 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_ThirdRoomEntrances[] |
Definition at line 1650 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_FourthRoomEntrances[] |
Definition at line 1659 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_KiRoomEntrances[] |
Definition at line 1667 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| struct SceneEntrance gImilFuchinFalls_DragonRoomEntrances[] |
Definition at line 1675 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEntrances().
| u32 gImilFuchinFalls_Exits[] |
Definition at line 1691 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetExits().
| struct ScenePlacement gImilFuchinFalls_NoPlacements[] |
Definition at line 1738 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_DjinniRoomPlacements[] |
Definition at line 1742 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_FirstRoomPlacements[] |
Definition at line 1748 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_SecondRoomPlacements[] |
Definition at line 1758 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_ThirdRoomPlacements[] |
Definition at line 1770 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_FourthRoomPlacements[] |
Definition at line 1782 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct ScenePlacement gImilFuchinFalls_DragonRoomPlacements[] |
Definition at line 1792 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetPlacements().
| struct SceneEvent gImilFuchinFalls_NoEvents[] |
Definition at line 1798 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_DjinniRoomEvents[] |
Definition at line 1802 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_FirstRoomEvents[] |
Definition at line 1809 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_SecondRoomEvents[] |
Definition at line 1835 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_ThirdRoomEvents[] |
Definition at line 1860 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_FourthRoomEvents[] |
Definition at line 1911 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_KiRoomEvents[] |
Definition at line 1944 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| struct SceneEvent gImilFuchinFalls_DragonRoomEvents[] |
Definition at line 1956 of file imil_fuchin_falls.c.
Referenced by ImilFuchinFalls_GetEvents().
| s32 gImilFuchinFalls_DustScript0[] |
Definition at line 1984 of file imil_fuchin_falls.c.
| s32 gImilFuchinFalls_DustScript1[] |