Alchemy
Loading...
Searching...
No Matches

fuchin_temple.c File Reference

Fuchin Temple and the rooms that share its overlay: the temple grounds with the waterfall grotto, Nyunpa's hall, Master Feh's school in Xian and Master Hama's room in Lama Temple. More...

Go to the source code of this file.

Macros

#define FLAG_NYUNPA_TEST_DECLINED   0x300
 Nyunpa's test was declined; the students saw the training tree fall.
#define FLAG_FEH_SCHOOL_SAW_TREE_FALL   0x301
#define FALLS_MONK   9
 the monk beneath the falls, at the waterfall grotto
#define HEALER   13
#define NYUNPA   8
#define JUMPING_STUDENT   12
#define FEIZHI   17
#define FEH   18
#define TRAINING_TREE   19
#define TRAINING_TREE_TARGET   20
 where Force strikes the tree
#define HAMA   8
 The second scene by entrance 3: Hama's room in Lama Temple.

Functions

static void FuchinTemple_FeizhiLeavesForHsu (void)
 The first time the tree falls from the line, a student runs for Master Feh.
static void FuchinTemple_FehSeesChi (void)
 The tree falls from the line with Feh watching, but Feh sees that it is not Chi.
static UNUSED void FuchinTemple_HopLeaderByOffset (s32 offsetX, s32 offsetZ)
 Hops the leader by a pixel offset, waiting for the movement to finish.
static void FuchinTemple_BeginMindReadDemonstration (s32 caster, s32 target)
 Starts the Mind Read demonstration for the requested caster and target.
static void FuchinTemple_FinishMindReadDemonstration (void)
 Finishes the demonstration's effect and lowers the caster's hands.
static void FuchinTemple_SpawnNyunpasParticles (void)
 Emits eight rising particles from Nyunpa, sounding every other shot.
static void FuchinTemple_AnimateRevealLesson (void)
 Animates Hama and Ivan's lesson effects, fades the palette and clears the callbacks.
static s32 FuchinTemple_ClearScriptedActorSpriteFlags (struct ScriptInterpreter *interpreter)
 Clears the scripted actor's sprite flags and completes the script command.
static s32 FuchinTemple_FaceLeader (union FieldObject *object)
const struct SceneEntrance * Scene_GetEntrances (void)
 Chooses the outside entrance table or the shared interior entrances.
const struct SceneRegion * Scene_GetRegions (void)
const u32 * Scene_GetExits (void)
 Both scenes share one exit table.
const struct ScenePlacement * Scene_GetPlacements (void)
 Selects the room's actors and applies the post-lesson placement changes.
static void Event_VisitorAsksAboutBridge (void)
 Talking to the visitor from Kolima outside the temple: he asks how the party got here.
static void Event_MonkSpeaksOfNyunpa (void)
 Talking to the monk (actor 12) outside the temple: he speaks of the one seeking enlightenment, with up to two more questions.
static void Event_MonkLetsPartyIntoGrotto (void)
 Talking to the monk beneath the falls once Nyunpa has offered the test: he lets the party pass.
static void Event_MonkAsksWhetherTestIsDone (void)
 Coming back out of the grotto (trigger 5), Isaac is sent on to Nyunpa and the way back is open again.
static void Event_NyunpaOffersTest (void)
 Talking to Nyunpa, or reading his mind: he reads the party's mind in turn, guesses that they follow Saturos's group, warns of Mogall Forest and offers the test of the grotto.
static void Event_NyunpaFeelsMindRead (void)
 Reading Nyunpa's mind once the test is accepted: he notices.
static void Event_StudentWelcomesToSchool (void)
 Talking to the student at the door (actor 9): the student asks whether the party came to watch.
static void Event_TalkToJumpingStudent (void)
 Talking to the student who practises jumping: he lands, talks about jumping (or Lama Temple, or Hsu), then jumps on.
static void Event_StudentAsksAboutFeh (void)
 Talking to the student by the training tree (actor 15): the student asks whether the party still wishes to see Master Feh.
static void FuchinTemple_ToppleTreeWest (void)
 Rotates the training tree through its westward arc and scatters particles.
static void FuchinTemple_ToppleTreeEast (void)
 Rotates the training tree through the opposite arc and reverses its horizontal scale.
static void FuchinTemple_ToppleTreeNorth (void)
 Slides the training tree north in four steps, then scatters particles.
static void FuchinTemple_ToppleTreeSouth (void)
 Slides the training tree south in four steps before the final displacement.
static void FuchinTemple_StudentWalksAroundTree (void)
 Routes the student around the tree according to the leader's facing.
static void FuchinTemple_StudentExplainsChiRules (s32 mode)
 The student by the tree explains the rules: mode 0 when Psynergy felled it but not from the line, 1 when Isaac pushed it by hand, 2 to praise a warrior Feh has already seen.
static void FuchinTemple_StudentsSeeTreeFall (void)
 The students see the tree fall, Feh doubts it came from the line, and the student sets the tree up again.
static void Event_MoveTree (void)
 Move on the training tree: it topples, and the students react.
static void Event_PushTreeByHand (void)
 Walking into the training tree: Isaac pushes it over by hand.
static void Event_ForceTree (void)
 Force on the training tree: it topples.
static void Event_FehAsksToSeeChi (void)
 Talking to Feh after the party declined: he asks again to see Isaac's Chi.
static void Event_StudentAsksAboutAltin (void)
 Talking to a student (actor 11) once Hsu is known to be trapped: the student asks about the flood.
static void Event_OpenLockedDoor (void)
 Walking north into the door Feh and Feizhi came out of (trigger 3): it is locked until Feizhi has left; then it opens and Isaac walks through.
static void Event_TalkToHealer (void)
 Talking to the healer: across the counter from the south, the Sanctum's services; from elsewhere, a word on the healer's travels.
static void Event_ReadNyunpasLastWish (void)
 Reading Nyunpa's mind once he is enlightened: he entrusts the world to Isaac.
const struct SceneEvent * Scene_GetEvents (void)
 Selects the outdoor, school, or lesson event table.
static void FuchinTemple_SpawnGrottoEntryParticle (void)
 Emits a falling particle beside the leader during the grotto entrance fade.
static UNUSED void FuchinTemple_HopLeaderNorth (void)
 Hops the leader one map cell north.
static UNUSED void FuchinTemple_HopLeaderSouth (void)
 Hops the leader one map cell south.
static UNUSED void FuchinTemple_HopLeaderWest (void)
 Hops the leader one map cell west.
static void Event_EnterWaterfallGrotto (void)
 Stepping into the grotto's entrance (trigger 3): spray falls over Isaac as the screen fades, and he enters the grotto.
static void Event_LeaveTemple (void)
 Leaving by the first exit.
static void Event_EnterNyunpasHall (void)
 Walking north into the temple door (trigger 2): it opens, and Isaac walks into Nyunpa's hall.
static void FuchinTemple_NyunpaTeachesKi (void)
 Back from the grotto, Nyunpa praises Isaac.
static void FuchinTemple_RunHamasRevealLesson (void)
 Entering Hama's room, the party is greeted.
s32 Scene_Initialize (void)
 Inside: Nyunpa meditates, or teaches Ki after the test; the school's tree and students stand as the story left them; Hama teaches Reveal on the first visit.
static void FuchinTemple_AlternateLessonChildEffect (union FieldObject *object)
 Alternates the lesson's child effect from the frame counter, not player input.

Variables

s32 gEffectScript0 []
s32 gEffectScript1 []
s32 gEffectScript2 []
const s32 * gEffectScripts []
s32 gFuchinTemple_JumpingStudentScript []
s32 gFuchinTemple_HiddenSpriteScript []
u16 gFuchinTemple_CellStepsA []
u16 gFuchinTemple_CellStepsB []
u16 gFuchinTemple_CellStepsC []
struct SceneEntrance gFuchinTempleEntrances1 []
struct SceneEntrance gFuchinTempleEntrancesOther []
u32 gFuchinTempleExits []
struct ScenePlacement gFuchinTemplePlacements1 []
struct ScenePlacement gFuchinTemplePlacements []
struct ScenePlacement gFuchinTemplePlacementsEntrance3 []
struct SceneEvent gFuchinTempleEvents1 []
struct SceneEvent gFuchinTempleEvents []
struct SceneEvent gFuchinTempleEventsEntrance3 []
s32 gFuchinTemple_ShotScript []

Detailed Description

Fuchin Temple and the rooms that share its overlay: the temple grounds with the waterfall grotto, Nyunpa's hall, Master Feh's school in Xian and Master Hama's room in Lama Temple.

Definition in file fuchin_temple.c.

Macro Definition Documentation

◆ FLAG_NYUNPA_TEST_DECLINED

#define FLAG_NYUNPA_TEST_DECLINED   0x300

Nyunpa's test was declined; the students saw the training tree fall.

Definition at line 41 of file fuchin_temple.c.

Referenced by Event_NyunpaOffersTest().

◆ FLAG_FEH_SCHOOL_SAW_TREE_FALL

#define FLAG_FEH_SCHOOL_SAW_TREE_FALL   0x301

Definition at line 42 of file fuchin_temple.c.

Referenced by FuchinTemple_StudentsSeeTreeFall().

◆ FALLS_MONK

#define FALLS_MONK   9

the monk beneath the falls, at the waterfall grotto

Definition at line 45 of file fuchin_temple.c.

Referenced by Event_MonkAsksWhetherTestIsDone(), and Event_MonkLetsPartyIntoGrotto().

◆ HEALER

#define HEALER   13

Definition at line 46 of file fuchin_temple.c.

Referenced by Event_TalkToHealer().

◆ NYUNPA

◆ JUMPING_STUDENT

#define JUMPING_STUDENT   12

◆ FEIZHI

#define FEIZHI   17

Definition at line 51 of file fuchin_temple.c.

Referenced by FuchinTemple_FeizhiLeavesForHsu().

◆ FEH

◆ TRAINING_TREE

◆ TRAINING_TREE_TARGET

#define TRAINING_TREE_TARGET   20

◆ HAMA

#define HAMA   8

The second scene by entrance 3: Hama's room in Lama Temple.

Definition at line 57 of file fuchin_temple.c.

Referenced by FuchinTemple_AnimateRevealLesson(), and FuchinTemple_RunHamasRevealLesson().

Function Documentation

◆ FuchinTemple_FeizhiLeavesForHsu()

void FuchinTemple_FeizhiLeavesForHsu ( void )
static

The first time the tree falls from the line, a student runs for Master Feh.

"What did you do, warrior?" The door opens on its own and Feizhi storms out, sure that Hsu is in danger. Feh will not believe her visions, and she leaves alone to find Hsu. Feh then asks Isaac to show him his Chi.

Definition at line 781 of file fuchin_temple.c.

Referenced by Event_ForceTree(), and FuchinTemple_FeizhiLeavesForHsu().

◆ FuchinTemple_FehSeesChi()

void FuchinTemple_FehSeesChi ( void )
static

The tree falls from the line with Feh watching, but Feh sees that it is not Chi.

"Ya! The tree fell!" He asks whether the party has been to Fuchin Temple, and the school goes back to its training.

Definition at line 1064 of file fuchin_temple.c.

Referenced by Event_ForceTree(), and FuchinTemple_FehSeesChi().

◆ FuchinTemple_HopLeaderByOffset()

UNUSED void FuchinTemple_HopLeaderByOffset ( s32 offsetX,
s32 offsetZ )
static

Hops the leader by a pixel offset, waiting for the movement to finish.

Definition at line 1390 of file fuchin_temple.c.

Referenced by FuchinTemple_HopLeaderByOffset(), FuchinTemple_HopLeaderNorth(), FuchinTemple_HopLeaderSouth(), and FuchinTemple_HopLeaderWest().

◆ FuchinTemple_BeginMindReadDemonstration()

void FuchinTemple_BeginMindReadDemonstration ( s32 caster,
s32 target )
static

Starts the Mind Read demonstration for the requested caster and target.

Definition at line 2188 of file fuchin_temple.c.

Referenced by Event_NyunpaOffersTest(), and FuchinTemple_BeginMindReadDemonstration().

◆ FuchinTemple_FinishMindReadDemonstration()

void FuchinTemple_FinishMindReadDemonstration ( void )
static

Finishes the demonstration's effect and lowers the caster's hands.

Definition at line 2202 of file fuchin_temple.c.

Referenced by Event_NyunpaOffersTest(), and FuchinTemple_FinishMindReadDemonstration().

◆ FuchinTemple_SpawnNyunpasParticles()

void FuchinTemple_SpawnNyunpasParticles ( void )
static

Emits eight rising particles from Nyunpa, sounding every other shot.

Definition at line 2209 of file fuchin_temple.c.

Referenced by Event_NyunpaOffersTest(), and FuchinTemple_SpawnNyunpasParticles().

◆ FuchinTemple_AnimateRevealLesson()

void FuchinTemple_AnimateRevealLesson ( void )
static

Animates Hama and Ivan's lesson effects, fades the palette and clears the callbacks.

Definition at line 2243 of file fuchin_temple.c.

Referenced by FuchinTemple_AnimateRevealLesson(), and FuchinTemple_RunHamasRevealLesson().

◆ FuchinTemple_ClearScriptedActorSpriteFlags()

s32 FuchinTemple_ClearScriptedActorSpriteFlags ( struct ScriptInterpreter * interpreter)
static

Clears the scripted actor's sprite flags and completes the script command.

Definition at line 72 of file fuchin_temple.c.

Referenced by FuchinTemple_ClearScriptedActorSpriteFlags().

◆ FuchinTemple_FaceLeader()

s32 FuchinTemple_FaceLeader ( union FieldObject * object)
static

Definition at line 84 of file fuchin_temple.c.

Referenced by FuchinTemple_FaceLeader(), and Scene_Initialize().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Chooses the outside entrance table or the shared interior entrances.

Definition at line 96 of file fuchin_temple.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Definition at line 105 of file fuchin_temple.c.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 107 of file fuchin_temple.c.

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Selects the room's actors and applies the post-lesson placement changes.

Definition at line 110 of file fuchin_temple.c.

◆ Event_VisitorAsksAboutBridge()

void Event_VisitorAsksAboutBridge ( void )
static

Talking to the visitor from Kolima outside the temple: he asks how the party got here.

"How did you get here? Is the bridge open again?" Yes cheers him ("Then I can go home to Kolima now?") and is remembered; no means the party came through the forest. Later talks go on to the tale of the forest.

Definition at line 136 of file fuchin_temple.c.

Referenced by Event_VisitorAsksAboutBridge().

◆ Event_MonkSpeaksOfNyunpa()

void Event_MonkSpeaksOfNyunpa ( void )
static

Talking to the monk (actor 12) outside the temple: he speaks of the one seeking enlightenment, with up to two more questions.

"Isn't it noble of him to try to save the world by becoming enlightened?" Once Nyunpa is gone, "Now, he truly is beyond the world's concerns. Is he watching over us?"

Definition at line 156 of file fuchin_temple.c.

Referenced by Event_MonkSpeaksOfNyunpa().

◆ Event_MonkLetsPartyIntoGrotto()

void Event_MonkLetsPartyIntoGrotto ( void )
static

Talking to the monk beneath the falls once Nyunpa has offered the test: he lets the party pass.

"I have already heard of your test from Master Nyunpa. You may enter." He leaps aside, and the way into the waterfall grotto opens.

Definition at line 181 of file fuchin_temple.c.

Referenced by Event_MonkLetsPartyIntoGrotto().

◆ Event_MonkAsksWhetherTestIsDone()

void Event_MonkAsksWhetherTestIsDone ( void )
static

Coming back out of the grotto (trigger 5), Isaac is sent on to Nyunpa and the way back is open again.

"Young master, did you complete the test?" Then "Master Nyunpa is waiting for you... Proceed to the temple."

Definition at line 223 of file fuchin_temple.c.

Referenced by Event_MonkAsksWhetherTestIsDone().

◆ Event_NyunpaOffersTest()

void Event_NyunpaOffersTest ( void )
static

Talking to Nyunpa, or reading his mind: he reads the party's mind in turn, guesses that they follow Saturos's group, warns of Mogall Forest and offers the test of the grotto.

"Mmmm... Who is that? Who speaks to my mind?" Accepting it, he sends Isaac to the monk beneath the falls; refusing is remembered, and the next talk asks again.

Definition at line 252 of file fuchin_temple.c.

Referenced by Event_NyunpaOffersTest().

◆ Event_NyunpaFeelsMindRead()

void Event_NyunpaFeelsMindRead ( void )
static

Reading Nyunpa's mind once the test is accepted: he notices.

"You enjoy reading the minds of others, do you not?"

Definition at line 381 of file fuchin_temple.c.

Referenced by Event_NyunpaFeelsMindRead().

◆ Event_StudentWelcomesToSchool()

void Event_StudentWelcomesToSchool ( void )
static

Talking to the student at the door (actor 9): the student asks whether the party came to watch.

"This is Master Feh's school... You came to watch?"

Definition at line 390 of file fuchin_temple.c.

Referenced by Event_StudentWelcomesToSchool().

◆ Event_TalkToJumpingStudent()

void Event_TalkToJumpingStudent ( void )
static

Talking to the student who practises jumping: he lands, talks about jumping (or Lama Temple, or Hsu), then jumps on.

Definition at line 399 of file fuchin_temple.c.

Referenced by Event_TalkToJumpingStudent().

◆ Event_StudentAsksAboutFeh()

void Event_StudentAsksAboutFeh ( void )
static

Talking to the student by the training tree (actor 15): the student asks whether the party still wishes to see Master Feh.

"Master Feh is very busy. Do you still wish to see him?" Yes: if the tree falls to Chi from the line, he will take the party to Feh.

Definition at line 440 of file fuchin_temple.c.

Referenced by Event_StudentAsksAboutFeh().

◆ FuchinTemple_ToppleTreeWest()

void FuchinTemple_ToppleTreeWest ( void )
static

Rotates the training tree through its westward arc and scatters particles.

Definition at line 448 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_MoveTree(), Event_PushTreeByHand(), and FuchinTemple_ToppleTreeWest().

◆ FuchinTemple_ToppleTreeEast()

void FuchinTemple_ToppleTreeEast ( void )
static

Rotates the training tree through the opposite arc and reverses its horizontal scale.

Definition at line 476 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_MoveTree(), Event_PushTreeByHand(), and FuchinTemple_ToppleTreeEast().

◆ FuchinTemple_ToppleTreeNorth()

void FuchinTemple_ToppleTreeNorth ( void )
static

Slides the training tree north in four steps, then scatters particles.

Definition at line 502 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_PushTreeByHand(), and FuchinTemple_ToppleTreeNorth().

◆ FuchinTemple_ToppleTreeSouth()

void FuchinTemple_ToppleTreeSouth ( void )
static

Slides the training tree south in four steps before the final displacement.

Definition at line 528 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_PushTreeByHand(), and FuchinTemple_ToppleTreeSouth().

◆ FuchinTemple_StudentWalksAroundTree()

void FuchinTemple_StudentWalksAroundTree ( void )
static

Routes the student around the tree according to the leader's facing.

Definition at line 562 of file fuchin_temple.c.

Referenced by FuchinTemple_StudentExplainsChiRules(), FuchinTemple_StudentsSeeTreeFall(), and FuchinTemple_StudentWalksAroundTree().

◆ FuchinTemple_StudentExplainsChiRules()

void FuchinTemple_StudentExplainsChiRules ( s32 mode)
static

The student by the tree explains the rules: mode 0 when Psynergy felled it but not from the line, 1 when Isaac pushed it by hand, 2 to praise a warrior Feh has already seen.

Then he sets the tree up again.

Definition at line 588 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_MoveTree(), Event_PushTreeByHand(), and FuchinTemple_StudentExplainsChiRules().

◆ FuchinTemple_StudentsSeeTreeFall()

void FuchinTemple_StudentsSeeTreeFall ( void )
static

The students see the tree fall, Feh doubts it came from the line, and the student sets the tree up again.

"Look! The tree fell."

Definition at line 631 of file fuchin_temple.c.

Referenced by Event_ForceTree(), Event_MoveTree(), and FuchinTemple_StudentsSeeTreeFall().

◆ Event_MoveTree()

void Event_MoveTree ( void )
static

Move on the training tree: it topples, and the students react.

Definition at line 686 of file fuchin_temple.c.

Referenced by Event_MoveTree().

◆ Event_PushTreeByHand()

void Event_PushTreeByHand ( void )
static

Walking into the training tree: Isaac pushes it over by hand.

"You cannot push it with your hands. Attack it with Chi."

Definition at line 707 of file fuchin_temple.c.

Referenced by Event_PushTreeByHand().

◆ Event_ForceTree()

void Event_ForceTree ( void )
static

Force on the training tree: it topples.

From too close it does not count; from the line, the students call Feh out the first time, and later Feh himself sees it.

Definition at line 735 of file fuchin_temple.c.

Referenced by Event_ForceTree().

◆ Event_FehAsksToSeeChi()

void Event_FehAsksToSeeChi ( void )
static

Talking to Feh after the party declined: he asks again to see Isaac's Chi.

"Warrior, will you show me your Chi?"

Definition at line 1043 of file fuchin_temple.c.

Referenced by Event_FehAsksToSeeChi().

◆ Event_StudentAsksAboutAltin()

void Event_StudentAsksAboutAltin ( void )
static

Talking to a student (actor 11) once Hsu is known to be trapped: the student asks about the flood.

"Water monsters flooded Altin. Did you defeat them, warrior?"

Definition at line 1274 of file fuchin_temple.c.

Referenced by Event_StudentAsksAboutAltin().

◆ Event_OpenLockedDoor()

void Event_OpenLockedDoor ( void )
static

Walking north into the door Feh and Feizhi came out of (trigger 3): it is locked until Feizhi has left; then it opens and Isaac walks through.

"It is locked."

Definition at line 1284 of file fuchin_temple.c.

Referenced by Event_OpenLockedDoor().

◆ Event_TalkToHealer()

void Event_TalkToHealer ( void )
static

Talking to the healer: across the counter from the south, the Sanctum's services; from elsewhere, a word on the healer's travels.

"I'm traveling around the world to spread good will."

Definition at line 1305 of file fuchin_temple.c.

Referenced by Event_TalkToHealer(), and Event_TalkToHealer().

◆ Event_ReadNyunpasLastWish()

void Event_ReadNyunpasLastWish ( void )
static

Reading Nyunpa's mind once he is enlightened: he entrusts the world to Isaac.

"Isaac... Is that you...? I am... counting on you... to bring peace... to the world..."

Definition at line 1326 of file fuchin_temple.c.

Referenced by Event_ReadNyunpasLastWish().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Selects the outdoor, school, or lesson event table.

Definition at line 1335 of file fuchin_temple.c.

◆ FuchinTemple_SpawnGrottoEntryParticle()

void FuchinTemple_SpawnGrottoEntryParticle ( void )
static

Emits a falling particle beside the leader during the grotto entrance fade.

Definition at line 1346 of file fuchin_temple.c.

Referenced by Event_EnterWaterfallGrotto(), and FuchinTemple_SpawnGrottoEntryParticle().

◆ FuchinTemple_HopLeaderNorth()

UNUSED void FuchinTemple_HopLeaderNorth ( void )
static

Hops the leader one map cell north.

Definition at line 1375 of file fuchin_temple.c.

Referenced by FuchinTemple_HopLeaderNorth().

◆ FuchinTemple_HopLeaderSouth()

UNUSED void FuchinTemple_HopLeaderSouth ( void )
static

Hops the leader one map cell south.

Definition at line 1380 of file fuchin_temple.c.

Referenced by FuchinTemple_HopLeaderSouth().

◆ FuchinTemple_HopLeaderWest()

UNUSED void FuchinTemple_HopLeaderWest ( void )
static

Hops the leader one map cell west.

Definition at line 1385 of file fuchin_temple.c.

Referenced by FuchinTemple_HopLeaderWest().

◆ Event_EnterWaterfallGrotto()

void Event_EnterWaterfallGrotto ( void )
static

Stepping into the grotto's entrance (trigger 3): spray falls over Isaac as the screen fades, and he enters the grotto.

Definition at line 1403 of file fuchin_temple.c.

Referenced by Event_EnterWaterfallGrotto().

◆ Event_LeaveTemple()

void Event_LeaveTemple ( void )
static

Leaving by the first exit.

Definition at line 1428 of file fuchin_temple.c.

Referenced by Event_LeaveTemple().

◆ Event_EnterNyunpasHall()

void Event_EnterNyunpasHall ( void )
static

Walking north into the temple door (trigger 2): it opens, and Isaac walks into Nyunpa's hall.

Definition at line 1435 of file fuchin_temple.c.

Referenced by Event_EnterNyunpasHall().

◆ FuchinTemple_NyunpaTeachesKi()

void FuchinTemple_NyunpaTeachesKi ( void )
static

Back from the grotto, Nyunpa praises Isaac.

"Excellent, Isaac! I am glad to see you master the secrets of Fuchin Temple!" Nyunpa names the power Ki, "force" in the western world, and says it will show the monsters hiding in Mogall Forest.

Definition at line 1453 of file fuchin_temple.c.

Referenced by FuchinTemple_NyunpaTeachesKi(), and Scene_Initialize().

◆ FuchinTemple_RunHamasRevealLesson()

void FuchinTemple_RunHamasRevealLesson ( void )
static

Entering Hama's room, the party is greeted.

"So, Isaac, you and your Adept companions have finally come." Hama tells Ivan he is a Jupiter Adept like her, teaches him Reveal for crossing Lamakan Desert, and tells of Hsu, trapped on Silk Road.

Definition at line 1557 of file fuchin_temple.c.

Referenced by FuchinTemple_RunHamasRevealLesson(), and Scene_Initialize().

◆ Scene_Initialize()

s32 Scene_Initialize ( void )

Inside: Nyunpa meditates, or teaches Ki after the test; the school's tree and students stand as the story left them; Hama teaches Reveal on the first visit.

Sets up whichever scene is being entered and runs its arrival events.

Outside: the monk beneath the falls stands where the story left him.

Definition at line 2108 of file fuchin_temple.c.

◆ FuchinTemple_AlternateLessonChildEffect()

void FuchinTemple_AlternateLessonChildEffect ( union FieldObject * object)
static

Alternates the lesson's child effect from the frame counter, not player input.

Definition at line 2233 of file fuchin_temple.c.

Referenced by FuchinTemple_AlternateLessonChildEffect(), and FuchinTemple_AnimateRevealLesson().

Variable Documentation

◆ gEffectScript0

s32 gEffectScript0[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(22, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18
#define SC_FREE
Release.
Definition objcmd.h:43
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_TOP
Script start.
Definition objcmd.h:13

Definition at line 2292 of file fuchin_temple.c.

◆ gEffectScript1

s32 gEffectScript1[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(44, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}

Definition at line 2297 of file fuchin_temple.c.

◆ gEffectScript2

s32 gEffectScript2[]
Initial value:
= {
SC_WAIT(1), SC_LOOP(126, SC_TOP), SC_WAIT(1),
SC_POS(0, 0, 0), SC_WAIT(1), SC_FREE,
}

Definition at line 2302 of file fuchin_temple.c.

◆ gEffectScripts

const s32* gEffectScripts[]
Initial value:
= {
}
s32 gEffectScript0[]
s32 gEffectScript1[]
s32 gEffectScript2[]

Definition at line 2307 of file fuchin_temple.c.

◆ gFuchinTemple_JumpingStudentScript

s32 gFuchinTemple_JumpingStudentScript[]

◆ gFuchinTemple_HiddenSpriteScript

s32 gFuchinTemple_HiddenSpriteScript[]
Initial value:
= {
SC_WAIT(1),
}
static s32 FuchinTemple_ClearScriptedActorSpriteFlags(struct ScriptInterpreter *interpreter)
Clears the scripted actor's sprite flags and completes the script command.
#define SC_END
Return to the main script.
Definition objcmd.h:32
#define SC_CALL(fn)
Definition objcmd.h:50

Definition at line 2345 of file fuchin_temple.c.

◆ gFuchinTemple_CellStepsA

u16 gFuchinTemple_CellStepsA[]
Initial value:
= {
MAP_CELL_STEP(66, 46, 3, 2, 5),
MAP_CELL_STEP(63, 46, 3, 2, 5),
}
#define MAP_CELL_STEP(srcX, srcY, width, height, frames)
Definition field_event.h:59
#define MAP_CELL_STEPS_END
Definition field_event.h:61

Definition at line 2351 of file fuchin_temple.c.

Referenced by Event_EnterNyunpasHall().

◆ gFuchinTemple_CellStepsB

u16 gFuchinTemple_CellStepsB[]
Initial value:
= {
MAP_CELL_STEP(62, 19, 2, 2, 5),
MAP_CELL_STEP(64, 19, 2, 2, 5),
}

Definition at line 2357 of file fuchin_temple.c.

Referenced by Event_OpenLockedDoor(), and FuchinTemple_FeizhiLeavesForHsu().

◆ gFuchinTemple_CellStepsC

u16 gFuchinTemple_CellStepsC[]
Initial value:
= {
MAP_CELL_STEP(62, 19, 2, 2, 5),
MAP_CELL_STEP(60, 19, 2, 2, 5),
}

Definition at line 2363 of file fuchin_temple.c.

Referenced by FuchinTemple_FeizhiLeavesForHsu().

◆ gFuchinTempleEntrances1

struct SceneEntrance gFuchinTempleEntrances1[]
Initial value:
= {
{0, CONDITION_ALWAYS, 296, 0, 488, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 296, 0, 504, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 296, 0, 304, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{3, CONDITION_ALWAYS, 168, 0, 360, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{5, CONDITION_ALWAYS, 232, 0, 328, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_NORTH
Definition field_scene.h:32
@ FACING_SOUTH
Definition field_scene.h:28

Definition at line 2369 of file fuchin_temple.c.

Referenced by Scene_GetEntrances().

◆ gFuchinTempleEntrancesOther

struct SceneEntrance gFuchinTempleEntrancesOther[]
Initial value:
= {
{0, CONDITION_ALWAYS, 168, 0, 552, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 168, 0, 552, FACING_NORTH, 0, 48, 384, 288, 576, 0},
{2, CONDITION_ALWAYS, 256, 0, 264, FACING_NORTH, 0, 48, 80, 368, 288, 0},
{3, CONDITION_ALWAYS, 472, 0, 552, FACING_NORTH, 0, 352, 384, 592, 576, 0},
{4, CONDITION_ALWAYS, 304, 0, 248, FACING_SOUTH, 0, 48, 80, 368, 288, 0},
}

Definition at line 2378 of file fuchin_temple.c.

Referenced by Scene_GetEntrances().

◆ gFuchinTempleExits

u32 gFuchinTempleExits[]
Initial value:
= {
SCENE_EXITS(60), SCENE_EXIT(1, 2, 12), SCENE_EXIT(2, 61, 1),
SCENE_EXIT(3, 62, 1), SCENE_EXIT(0, 61, 0), SCENE_EXIT(1, 60, 2),
SCENE_EXIT(2, 72, 10), SCENE_EXIT(3, 88, 2), SCENE_EXIT(4, 73, 8),
}
#define SCENE_EXITS(scene)
Definition field_scene.h:72
#define SCENE_EXIT(exit, scene, entrance)
Definition field_scene.h:73
#define SCENE_EXITS_END
Definition field_scene.h:77

Definition at line 2387 of file fuchin_temple.c.

Referenced by Scene_GetExits().

◆ gFuchinTemplePlacements1

struct ScenePlacement gFuchinTemplePlacements1[]
Initial value:
= {
PIXELS(296), 0, PIXELS(440), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(168), 0, PIXELS(360), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(272), 0, PIXELS(424), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(392), 0, PIXELS(392), FACING_WEST, TALK_FACE_PARTY, 0 },
PIXELS(312), 0, PIXELS(328), FACING_SOUTH, TALK_FACE_PARTY, 0 },
}
@ TALK_FACE_PARTY
@ TALK_FACE_PARTY_AND_BACK
@ ACTOR_WANDER
@ ACTOR_STAND
@ FACING_WEST
Definition field_scene.h:30
#define PIXELS(value)

Definition at line 2395 of file fuchin_temple.c.

Referenced by Scene_GetPlacements().

◆ gFuchinTemplePlacements

struct ScenePlacement gFuchinTemplePlacements[]

Definition at line 2411 of file fuchin_temple.c.

Referenced by Scene_GetPlacements().

◆ gFuchinTemplePlacementsEntrance3

struct ScenePlacement gFuchinTemplePlacementsEntrance3[]
Initial value:
= {
PIXELS(440), 0, PIXELS(536), FACING_EAST, TALK_FACE_PARTY, 0 },
0, 0, 0, FACING_NORTH, TALK_FACE_PARTY, 0 },
}
#define GARET
Jerald.
#define MIA
Mary.
#define IVAN
Ivan.
@ TALK_KEEP_FACING
@ FACING_EAST
Definition field_scene.h:26

Definition at line 2445 of file fuchin_temple.c.

Referenced by Scene_GetPlacements().

◆ gFuchinTempleEvents1

struct SceneEvent gFuchinTempleEvents1[]

Definition at line 2462 of file fuchin_temple.c.

Referenced by Scene_GetEvents().

◆ gFuchinTempleEvents

struct SceneEvent gFuchinTempleEvents[]

Definition at line 2501 of file fuchin_temple.c.

Referenced by Scene_GetEvents().

◆ gFuchinTempleEventsEntrance3

struct SceneEvent gFuchinTempleEventsEntrance3[]
Initial value:
= {
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgFuchinTempleMasterHamaIsMeditatingAskingFor) },
{ EVENT_TALK, HAMA, CONDITION_ALWAYS, MSGNO(MsgFuchinTempleTheFutureHoldsManyHardshipsBut) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgFuchinTempleIDoNotThinkMasterHama) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), HAMA, CONDITION_ALWAYS, MSGNO(MsgFuchinTempleICannotSeeYourFutureClearly) },
{ SEARCH(SEARCH_JAR), 102, 0xf6a, FIND_COINS(6) },
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
#define SCENE_EVENTS_END
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define SEARCH(target)
@ SEARCH_JAR
#define FIND_COINS(coins)
#define HAMA
The second scene by entrance 3: Hama's room in Lama Temple.

Definition at line 2595 of file fuchin_temple.c.

Referenced by Scene_GetEvents().

◆ gFuchinTemple_ShotScript

s32 gFuchinTemple_ShotScript[]
Initial value:
= {
SC_WAIT(44),
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
@ SW_FACING
Definition objcmd.h:57

Definition at line 2606 of file fuchin_temple.c.

Referenced by FuchinTemple_SpawnNyunpasParticles().