goma_cave_entrance.c
Goma Cave's entrance: the stump caught in ivy, the two pillars, and Ivan, who rejoins the party and blows the ivy away with Whirlwind.
games/tbs/src/scene/goma_cave_entrance.c on GitHub
Goma Cave's entrance: the stump caught in ivy, the two pillars, and Ivan, who rejoins the party and blows the ivy away with Whirlwind.
Functions
GomaCaveEntrance_SayThenWait
static void GomaCaveEntrance_SayThenWait(s32 actorId, s32 frames)
Shows the next message over the speaker, then pauses.
Used by Event_IvanRejoins.
Event_MoveWestPillar
static void Event_MoveWestPillar(void)
Move on the west pillar, and after each push: the pillar stands on one of three columns, and the map cells and flags follow it.
Used by Event_PushWestPillar, gGomaCaveEntranceEvents, gGomaCavePillar_Events.
Event_MoveEastPillar
static void Event_MoveEastPillar(void)
Move on the east pillar: once it reaches column 23 it settles into the floor and can be walked over.
Used by Event_PushEastPillar, gGomaCaveEntranceEvents, gGomaCavePillar_Events, gTunnelRuinsEventsOther.
Event_PushWestPillar
static void Event_PushWestPillar(void)
Walking into the west pillar from the west (trigger 5) or the east (trigger 6): the leader leans on it and pushes it one step.
Used by gGomaCaveEntranceEvents.
GomaCaveEntrance_NoOpA
UNUSED static void GomaCaveEntrance_NoOpA(void)
Reserved overlay hook; no current scene calls it.
GomaCaveEntrance_NoOpB
UNUSED static void GomaCaveEntrance_NoOpB(void)
A second reserved hook, also unused by the scene.
Event_BlowAwayIvy
static void Event_BlowAwayIvy(void)
Whirlwind on the other ivy: it is blown away for good.
Used by gGomaCaveEntranceEvents.
Scene_Initialize
s32 Scene_Initialize(void)
Puts the stump and pillars where the party left them, and the stump's ivy away once Ivan has blown it off.
Event_IvanRejoins
static void Event_IvanRejoins(void)
Move on the stump while the ivy holds it: Garet says their Psynergy is not strong enough. Once the thieves in Vault are jailed, Ivan turns up, blows the ivy away with Whirlwind and asks to join the party, and gets back the Shaman's Rod.
Used by gGomaCaveEntranceEvents.
Event_MoveStump
static void Event_MoveStump(void)
Move on the freed stump: from column 11 it spins, leaps away and lies where it lands.
Used by gGomaCaveEntranceEvents, gGomaCaveWaterwayEventsOther.
GomaCaveEntrance_WhirlwindOnStumpIvy
static void GomaCaveEntrance_WhirlwindOnStumpIvy(void)
Ivan casts Whirlwind on the stump's ivy, and the scene waits for it.
Used by Event_IvanRejoins.
GomaCaveEntrance_SpinStump
static void GomaCaveEntrance_SpinStump(union FieldObject *fieldObject)
The leaping stump's update hook turns its sprite a fixed amount per frame.
Used by GomaCaveEntrance_LeapStump.
GomaCaveEntrance_LeapStump
static void GomaCaveEntrance_LeapStump(s32 id)
The stump spins in place, leaps and lands with a shake and a ring of dust, then comes to rest a little further on.
Used by Event_MoveStump.
GomaCaveEntrance_GiveShamansRod
static void GomaCaveEntrance_GiveShamansRod(void)
Gives Ivan the Shaman's Rod and equips it. With his items full, he drops another to make room; later patches skip items marked only indispensable.
Used by Event_IvanRejoins.
Also, functions without a comment: Scene_GetEntrances, Scene_GetRegions, Scene_GetExits, Scene_GetPlacements, Scene_GetEvents.
Macros, without a comment: STUMP, WEST_PILLAR, EAST_PILLAR, STUMP_IVY, IVY.
Globals, without a comment: gEffectScript0, gEffectScript1, gEffectScript2, gEffectScripts, gGomaCaveEntranceTallIvyScript, gGomaCaveEntranceEntrances, gGomaCaveEntranceExits, gGomaCaveEntrancePlacements, gGomaCaveEntranceEvents.