Gondowan Cave: the soldiers guarding the bridge to Gondowan, Iodem waiting there on the way to Babi Lighthouse, and the cave's moving puzzles. More...
Go to the source code of this file.
Macros | |
| #define | SOLDIER_1 8 |
| #define | SOLDIER_2 9 |
| #define | SOLDIER_3 10 |
| #define | IODEM 11 |
| #define | FIRST_OBJECT 8 |
| #define | SECOND_OBJECT 9 |
| #define | SECOND_OBJECT_MOVED 10 |
| #define | DIRECTION_STEP(dx, dz) |
| Packs signed pixel steps with X in the upper halfword and Z in the lower. | |
Functions | |
| static void | Event_MoveSecondObject (void) |
| Move on the second object, and after each push: past column 42 it drops into its place for good. | |
| static void | GondowanCave_RunSpinningLeap (s32 actorId) |
| The object spins in place, leaps and lands with a shake and a ring of dust, then comes to rest a little further on. | |
| const struct SceneEntrance * | Scene_GetEntrances (void) |
| const struct SceneRegion * | Scene_GetRegions (void) |
| const u32 * | Scene_GetExits (void) |
| All cave sections share the exit table. | |
| const struct ScenePlacement * | Scene_GetPlacements (void) |
| Iodem waits in the first room once he is on his way to Babi Lighthouse. | |
| const struct SceneEvent * | Scene_GetEvents (void) |
| Each room's events, with Iodem's in the first room when he is there. | |
| static void | Event_IodemAsksWhyTurningBack (void) |
| Walking back (trigger 10) with Iodem in the party: he steps out and asks why Isaac is going back. | |
| static void | Event_IodemRejoins (void) |
| Talking to Iodem where he waits, or walking up to him (trigger 11): he joins the party again. | |
| static void | Event_SoldierAsksAboutCrossing (void) |
| Talking to the first soldier, who asks whether the party will cross into Gondowan. | |
| static void | Event_ReadSoldierMind (void) |
| Mind Read on the second soldier: once flag 0x950 is set and until Iodem waits here, he grumbles that guard duty made him miss all of Colosso; before, that the warriors fight while he guards the bridge. | |
| static void | Event_LeaveThroughEntrance (void) |
| Leaving the third room by its first exit (trigger 1). | |
| static void | Event_CheckAhead (void) |
| Walking into the second object from the east or the west (triggers 10 and 11): look at what is ahead, which starts the push. | |
| static void | Event_MoveFirstObject (void) |
| Move on the first object: from column 30 or less it spins and leaps across, freeing the cell where it stood. | |
| static void | Event_PushSecondObject (void) |
| Pushing the second object (trigger 50): it moves a step, then may have reached its place. | |
| static void | GondowanCave_PlaceMovedSecondObject (s32 animation) |
| Hides the second object and shows the one that stands in for it in its place. | |
| static UNUSED void | GondowanCave_UnusedActorCallback (void) |
| static void | GondowanCave_RotateLeapingObject (union FieldObject *fieldObject) |
| Rotates the sprite during the airborne part of the leap. | |
| static void | GondowanCave_WaitForDescent (struct FieldActor *actor, s32 heightLimit) |
| Waits at most forty frames for the actor to descend to the height limit. | |
| static UNUSED void | GondowanCave_UnusedSceneCallback (void) |
| static void | Event_LiftObject (void) |
| Lift on the third room's actor 11 also takes away actor 12 beside it. | |
| s32 | Scene_Initialize (void) |
| The first room keeps Iodem out of sight while he travels with the party; the third puts the moved objects where the party left them. | |
Gondowan Cave: the soldiers guarding the bridge to Gondowan, Iodem waiting there on the way to Babi Lighthouse, and the cave's moving puzzles.
Definition in file gondowan_cave.c.
| #define SOLDIER_1 8 |
Definition at line 35 of file gondowan_cave.c.
Referenced by Event_SoldierAsksAboutCrossing(), and HammetPalace_IvanReportsToLayana().
| #define SOLDIER_2 9 |
Definition at line 36 of file gondowan_cave.c.
Referenced by Event_ReadSoldierMind(), and HammetPalace_IvanReportsToLayana().
| #define SOLDIER_3 10 |
Definition at line 37 of file gondowan_cave.c.
| #define IODEM 11 |
Definition at line 38 of file gondowan_cave.c.
Referenced by Event_IodemAsksWhetherToPressOn(), Event_IodemAsksWhyTurningBack(), Event_IodemQuestionsGuards(), Event_IodemQuestionsWoundedSoldiers(), Event_IodemRejoins(), IodemCallsOut(), ReceiveBlackOrb(), ReportToFaran(), Scene_Initialize(), SuhallaDesert_RaiseStorm(), TalkToIodem(), TalkToIodemAboutTheShip(), TellFaranAboutFelix(), and WatchWoundedSoldiers().
| #define FIRST_OBJECT 8 |
Definition at line 42 of file gondowan_cave.c.
Referenced by Event_MoveFirstObject(), and Scene_Initialize().
| #define SECOND_OBJECT 9 |
Definition at line 43 of file gondowan_cave.c.
Referenced by Event_MoveSecondObject(), and GondowanCave_PlaceMovedSecondObject().
| #define SECOND_OBJECT_MOVED 10 |
Definition at line 44 of file gondowan_cave.c.
Referenced by GondowanCave_PlaceMovedSecondObject().
| #define DIRECTION_STEP | ( | dx, | |
| dz ) |
Packs signed pixel steps with X in the upper halfword and Z in the lower.
Shift the unsigned representation so westward steps remain defined C.
Definition at line 435 of file gondowan_cave.c.
|
static |
Move on the second object, and after each push: past column 42 it drops into its place for good.
Definition at line 294 of file gondowan_cave.c.
Referenced by Event_MoveSecondObject(), and Event_PushSecondObject().
|
static |
The object spins in place, leaps and lands with a shake and a ring of dust, then comes to rest a little further on.
Definition at line 332 of file gondowan_cave.c.
Referenced by Event_MoveFirstObject(), and GondowanCave_RunSpinningLeap().
| const struct SceneEntrance * Scene_GetEntrances | ( | void | ) |
Definition at line 60 of file gondowan_cave.c.
| const struct SceneRegion * Scene_GetRegions | ( | void | ) |
Definition at line 75 of file gondowan_cave.c.
| const u32 * Scene_GetExits | ( | void | ) |
All cave sections share the exit table.
Both scenes share one exit table.
Definition at line 78 of file gondowan_cave.c.
| const struct ScenePlacement * Scene_GetPlacements | ( | void | ) |
Iodem waits in the first room once he is on his way to Babi Lighthouse.
Definition at line 81 of file gondowan_cave.c.
| const struct SceneEvent * Scene_GetEvents | ( | void | ) |
Each room's events, with Iodem's in the first room when he is there.
Definition at line 100 of file gondowan_cave.c.
|
static |
Walking back (trigger 10) with Iodem in the party: he steps out and asks why Isaac is going back.
Yes: he waits here for the party's return. No: he rejoins the party and Isaac steps away from the trigger.
Definition at line 121 of file gondowan_cave.c.
Referenced by Event_IodemAsksWhyTurningBack().
|
static |
Talking to Iodem where he waits, or walking up to him (trigger 11): he joins the party again.
"I've been waiting for you, Isaac! We should go to Babi Lighthouse soon."
Definition at line 175 of file gondowan_cave.c.
Referenced by Event_IodemRejoins().
|
static |
Talking to the first soldier, who asks whether the party will cross into Gondowan.
"Do you wish to cross into Gondowan?" Yes: "I won't stop you, but I wouldn't go unless I had business there." No: "That's a good idea. They wouldn't let you into Babi Lighthouse, anyway."
Definition at line 203 of file gondowan_cave.c.
Referenced by Event_SoldierAsksAboutCrossing().
|
static |
Mind Read on the second soldier: once flag 0x950 is set and until Iodem waits here, he grumbles that guard duty made him miss all of Colosso; before, that the warriors fight while he guards the bridge.
Definition at line 226 of file gondowan_cave.c.
Referenced by Event_ReadSoldierMind().
|
static |
Leaving the third room by its first exit (trigger 1).
With temporary flag 0x204 set, the puzzle's saved flags return to one arrangement first.
Definition at line 237 of file gondowan_cave.c.
Referenced by Event_LeaveThroughEntrance().
|
static |
Walking into the second object from the east or the west (triggers 10 and 11): look at what is ahead, which starts the push.
Definition at line 258 of file gondowan_cave.c.
|
static |
Move on the first object: from column 30 or less it spins and leaps across, freeing the cell where it stood.
Definition at line 262 of file gondowan_cave.c.
Referenced by Event_MoveFirstObject().
|
static |
Pushing the second object (trigger 50): it moves a step, then may have reached its place.
Definition at line 279 of file gondowan_cave.c.
Referenced by Event_PushSecondObject().
|
inlinestatic |
Hides the second object and shows the one that stands in for it in its place.
Definition at line 286 of file gondowan_cave.c.
Referenced by Event_MoveSecondObject(), GondowanCave_PlaceMovedSecondObject(), and Scene_Initialize().
|
static |
Definition at line 309 of file gondowan_cave.c.
Referenced by GondowanCave_UnusedActorCallback().
|
static |
Rotates the sprite during the airborne part of the leap.
Definition at line 312 of file gondowan_cave.c.
Referenced by GondowanCave_RotateLeapingObject(), and GondowanCave_RunSpinningLeap().
|
static |
Waits at most forty frames for the actor to descend to the height limit.
Definition at line 317 of file gondowan_cave.c.
Referenced by GondowanCave_RunSpinningLeap(), and GondowanCave_WaitForDescent().
|
static |
Definition at line 384 of file gondowan_cave.c.
Referenced by GondowanCave_UnusedSceneCallback().
|
static |
Lift on the third room's actor 11 also takes away actor 12 beside it.
Definition at line 387 of file gondowan_cave.c.
Referenced by Event_LiftObject().
| s32 Scene_Initialize | ( | void | ) |
The first room keeps Iodem out of sight while he travels with the party; the third puts the moved objects where the party left them.
Sets up whichever scene is being entered and runs its arrival events.
Definition at line 391 of file gondowan_cave.c.
| s32 gEffectScript0[] |
Definition at line 418 of file gondowan_cave.c.
| s32 gEffectScript1[] |
| s32 gEffectScript2[] |
| s32 gStagedActor_DirectionSteps[] |
Pixel step by direction: X in the upper halfword, Z in the lower.
Definition at line 437 of file gondowan_cave.c.
| u32 gStagedActor_FootprintKinds[] |
Definition at line 447 of file gondowan_cave.c.
| s32 gStagedActor_FootprintBounds[] |
Definition at line 451 of file gondowan_cave.c.
| const s32* gEffectScripts[] |
Definition at line 460 of file gondowan_cave.c.
| struct SceneEntrance gGondowanCaveEntrancesOther[] |
Definition at line 466 of file gondowan_cave.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gGondowanCaveEntrances1[] |
Definition at line 471 of file gondowan_cave.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gGondowanCaveEntrances2[] |
Definition at line 477 of file gondowan_cave.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gGondowanCaveEntrances3[] |
Definition at line 485 of file gondowan_cave.c.
Referenced by Scene_GetEntrances().
| u32 gGondowanCaveExits[] |
Definition at line 495 of file gondowan_cave.c.
Referenced by Scene_GetExits().
| struct ScenePlacement gGondowanCavePlacementsOther[] |
Definition at line 514 of file gondowan_cave.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gGondowanCavePlacements1[] |
Definition at line 518 of file gondowan_cave.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gGondowanCavePlacements1WithIodem[] |
Definition at line 528 of file gondowan_cave.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gGondowanCavePlacements2[] |
Definition at line 541 of file gondowan_cave.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gGondowanCavePlacements3[] |
Definition at line 551 of file gondowan_cave.c.
Referenced by Scene_GetPlacements().
| struct SceneEvent gGondowanCaveEventsOther[] |
Definition at line 565 of file gondowan_cave.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gGondowanCaveEvents1[] |
Definition at line 569 of file gondowan_cave.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gGondowanCaveEvents1WithIodem[] |
Definition at line 583 of file gondowan_cave.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gGondowanCaveEvents2[] |
Definition at line 601 of file gondowan_cave.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gGondowanCaveEvents3[] |
Temporary flag 0x205 ends Move on the second object.
Definition at line 613 of file gondowan_cave.c.
Referenced by Scene_GetEvents().