Alchemy
Loading...
Searching...
No Matches

alpine_crossing_lama_temple.c File Reference

Alpine Crossing and Lama Temple, two scenes that share this overlay: More...

Go to the source code of this file.

Macros

#define FLAG_LAMA_TEMPLE_PSYNERGY_STONE   0x350
 the temple's Psynergy Stone
#define SCENE_ALPINE_CROSSING   ((s32)&SceneId_AlpineCrossingLamaTemple1)
#define SCENE_LAMA_TEMPLE   ((s32)&SceneId_AlpineCrossingLamaTemple2)
#define SEARCH_FACING(facing)
 A search made while facing the given way.

Enumerations

enum  LamaTempleActor {
  ACTOR_TEMPLE_HAMA = ACTOR_FIRST_PLACED , ACTOR_GREETING_MONK , ACTOR_EASTWARD_MONK , ACTOR_MEDITATING_MONK ,
  ACTOR_ANXIOUS_MONK , ACTOR_CHI_MONK , ACTOR_FALSE_WALL , ACTOR_TRAVELING_HEALER
}
 Lama Temple's actors. More...
enum  AlpineCrossingActor {
  ACTOR_HAMA = ACTOR_FIRST_PLACED , ACTOR_HSU , ACTOR_FEIZHI , ACTOR_BOULDER ,
  ACTOR_FIRST_WORKER , ACTOR_SECOND_WORKER , ACTOR_PUDDLE , ACTOR_SPROUT
}
 Alpine Crossing's actors. More...
enum  LamaTempleEntrance { TEMPLE_ENTRANCE_FROM_HAMAS_ROOM = 2 , TEMPLE_ENTRANCE_FAREWELL = 3 }
enum  AlpineCrossingEntrance { CROSSING_ENTRANCE_FROM_LAMA_TEMPLE = 2 , CROSSING_ENTRANCE_4 = 4 , CROSSING_ENTRANCE_5 = 5 }
enum  { CROSSING_EXIT_TO_FAREWELL = 6 }
 The exit that takes the party from the rescue to Hama's farewell, at Lama Temple's entrance 3. More...
enum  { FLAG_PUDDLE_FROZEN = FLAG_SCENE_TEMP_00 , FLAG_SPROUT_GROWN = FLAG_SCENE_TEMP_01 }
 Alpine Crossing's Psynergy puzzles, kept while the party stays. More...
enum  {
  ANIM_HAMA_PULL = 5 , ANIM_FEIZHI_PULL = 6 , ANIM_HSU_STRUGGLE = 5 , ANIM_MONK_MEDITATE = 5 ,
  ANIM_FROZEN = 5 , ANIM_GROWN = 4
}
enum  {
  TRIGGER_TEMPLE_DOOR = 2 , TRIGGER_TEMPLE_WALL_WRITING = 5 , TRIGGER_SIGNPOST = 7 , TRIGGER_CHEST = 100 ,
  TRIGGER_FEIZHI_ARRIVAL = 10 , TRIGGER_STONE = 110
}
 Map triggers that the events below refer to. More...
enum  { DOOR_X = 67 , DOOR_Y = 6 }
 The door of Hama's room, three cells wide and two high: each step copies the next door picture onto it for five frames. More...
enum  { MAP_OBJECT_PASSAGE = 100 }
 The map object that draws the passage behind the false wall. More...

Functions

static s32 Actor_DrawBehindScenery (struct ScriptInterpreter *interpreter)
 Draws the actor behind the background, on sprite priority 3 with automatic priority off.
static s32 Leader_FaceFeizhi (union FieldObject *object)
const struct SceneEntrance * Scene_GetEntrances (void)
const struct SceneRegion * Scene_GetRegions (void)
const u32 * Scene_GetExits (void)
 Both scenes share one exit table.
const struct ScenePlacement * Scene_GetPlacements (void)
static void LamaTemple_TalkToEastwardMonk (void)
 The eastward monk asks whether the party came from the east, across Lamakan Desert, and otherwise whether it stopped in Xian.
static void LamaTemple_TalkToMeditatingMonk (void)
 The meditating monk explains meditation.
static void LamaTemple_TalkToChiMonk (void)
 The monk who praises Master Hama as the greatest master of Chi.
static void LamaTemple_EnterHamasRoom (void)
 Walking north into the door of Hama's room slides it open and walks the party leader through, into the room.
static void LamaTemple_RunHamasFarewell (void)
 Hama's farewell, once the party has freed Hsu: she thanks the Adepts, Garet and Mia squabble over whose idea helping was, and Hama goes back to her room.
static void LamaTemple_ReadWallWriting (void)
 Searching the temple wall reads its writing, the hint toward Reveal.
static void LamaTemple_ShowFalseWall (void)
 Puts the false wall back when Reveal's light ends (and on entry): the wall's cell blocks the way again, the passage's map object is hidden and the wall actor stands in front of it.
static void LamaTemple_RevealPassage (void)
 Reveal shows the passage behind the false wall: the cell's original attributes (saved at (21, 73) on entry) come back, the passage's map object returns to its place and the wall actor is put away.
static void LamaTemple_TalkToHealer (void)
 The traveling healer offers the sanctum's services when spoken to across his counter, from the south; from any other side he only greets the party.
static void AlpineCrossing_FeizhiArrives (void)
 When the party steps onto the road by the rockslide, once Feizhi has set out after Hsu, she runs up behind it: she finds the boulders blocking the Silk Road, cries out for Hsu and runs ahead along the path to look for him, the party leader following part of the way.
static void AlpineCrossing_TalkToFeizhi (void)
 Feizhi, before Xian hears of the accident, asks whether she should return to Xian; either way she decides to keep looking for Hsu.
static void AlpineCrossing_HamaReachesHsu (void)
 Master Hama, kneeling by Hsu, asks if he is hurt; he is unhurt but cannot move, and none of them knows how to free him.
static void AlpineCrossing_LiftBoulder (void)
 Lift on the boulder: it floats, and Hama and Feizhi pull Hsu free in two heaves of two tugs each, asking the leader in between to hold on.
static void AlpineCrossing_ReadSignpost (void)
 Searching the signpost. "North: Altin Mine. West: Lama Temple.".
static void AlpineCrossing_RevealPath (void)
 Reveal shows the path hidden at (5, 13): the revealed cells, kept at (5, 28), are copied there with their attributes.
static void AlpineCrossing_HidePath (void)
 When Reveal's light ends, the plain cells kept at (6, 28) cover the path again.
static s32 Pillar_SortAgainstLeader (union FieldObject *object)
static void AlpineCrossing_PrepareFrost (void)
 As Frost reaches the puddle, a leader standing north of it sees the pillar rise in front of the background.
static void AlpineCrossing_FreezePuddle (void)
 Frost freezes the puddle into a pillar the party can climb: it stops blocking movement and moving, sorts itself against the leader each frame, and the cells beside it (and their copy at (20, 18)) become walkable.
static void AlpineCrossing_GrowSprout (void)
 Growth grows the sprout into a vine the party can climb: the two cells above it take the climbable attributes kept at (14, 6).
const struct SceneEvent * Scene_GetEvents (void)
s32 Scene_Initialize (void)
 Sets up whichever scene is being entered and runs its arrival events.

Variables

s32 gAlpineCrossing_WorkerPlacementScript []
 The first worker's placement script: draw him behind the background.
s32 gAlpineCrossing_FeizhiPath []
 Feizhi's run down the path toward Hsu, walking, then standing.
s32 gAlpineCrossing_LeaderPath []
 The party leader follows Feizhi most of the way.
s32 gAlpineCrossing_HsuStruggle []
 Hsu, pinned under the boulder, struggles now and then.
u16 gLamaTemple_DoorOpenCells []
 The door of Hama's room sliding open, and shut again.
u16 gLamaTemple_DoorCloseCells []
struct SceneEntrance gLamaTemple_Entrances []
struct SceneEntrance gAlpineCrossing_Entrances []
u32 gAlpineCrossingLamaTemple_Exits []
struct ScenePlacement gLamaTemple_Placements []
struct ScenePlacement gAlpineCrossing_Placements []
struct SceneEvent gLamaTemple_Events []
struct SceneEvent gAlpineCrossing_Events []

Detailed Description

Alpine Crossing and Lama Temple, two scenes that share this overlay:

  • Alpine Crossing, the stretch of the Silk Road where a rockslide traps Hsu. Feizhi, Master Hama and the party meet there, and the party frees Hsu with Lift.
  • Lama Temple, Master Hama's temple, with its monks, a wall that only Reveal sees through, and Hama's farewell once Hsu is safe.

Definition in file alpine_crossing_lama_temple.c.

Macro Definition Documentation

◆ FLAG_LAMA_TEMPLE_PSYNERGY_STONE

#define FLAG_LAMA_TEMPLE_PSYNERGY_STONE   0x350

the temple's Psynergy Stone

Definition at line 40 of file alpine_crossing_lama_temple.c.

◆ SCENE_ALPINE_CROSSING

#define SCENE_ALPINE_CROSSING   ((s32)&SceneId_AlpineCrossingLamaTemple1)

◆ SCENE_LAMA_TEMPLE

#define SCENE_LAMA_TEMPLE   ((s32)&SceneId_AlpineCrossingLamaTemple2)

Definition at line 43 of file alpine_crossing_lama_temple.c.

Referenced by Scene_Initialize().

◆ SEARCH_FACING

#define SEARCH_FACING ( facing)
Value:
@ EVENT_SEARCH
#define EVENT_TOUCH_FACING

A search made while facing the given way.

Definition at line 115 of file alpine_crossing_lama_temple.c.

Enumeration Type Documentation

◆ LamaTempleActor

Lama Temple's actors.

Garet, Ivan and Mia are placed in their own party slots for Hama's farewell; the others count from ACTOR_FIRST_PLACED.

Enumerator
ACTOR_TEMPLE_HAMA 
ACTOR_GREETING_MONK 
ACTOR_EASTWARD_MONK 
ACTOR_MEDITATING_MONK 
ACTOR_ANXIOUS_MONK 
ACTOR_CHI_MONK 
ACTOR_FALSE_WALL 
ACTOR_TRAVELING_HEALER 

Definition at line 47 of file alpine_crossing_lama_temple.c.

◆ AlpineCrossingActor

Alpine Crossing's actors.

Enumerator
ACTOR_HAMA 
ACTOR_HSU 
ACTOR_FEIZHI 
ACTOR_BOULDER 
ACTOR_FIRST_WORKER 
ACTOR_SECOND_WORKER 
ACTOR_PUDDLE 
ACTOR_SPROUT 

Definition at line 59 of file alpine_crossing_lama_temple.c.

◆ LamaTempleEntrance

Enumerator
TEMPLE_ENTRANCE_FROM_HAMAS_ROOM 
TEMPLE_ENTRANCE_FAREWELL 

Definition at line 70 of file alpine_crossing_lama_temple.c.

◆ AlpineCrossingEntrance

Enumerator
CROSSING_ENTRANCE_FROM_LAMA_TEMPLE 
CROSSING_ENTRANCE_4 
CROSSING_ENTRANCE_5 

Definition at line 75 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum

The exit that takes the party from the rescue to Hama's farewell, at Lama Temple's entrance 3.

Enumerator
CROSSING_EXIT_TO_FAREWELL 

Definition at line 83 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum

Alpine Crossing's Psynergy puzzles, kept while the party stays.

Enumerator
FLAG_PUDDLE_FROZEN 
FLAG_SPROUT_GROWN 

Definition at line 86 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum
Enumerator
ANIM_HAMA_PULL 
ANIM_FEIZHI_PULL 
ANIM_HSU_STRUGGLE 
ANIM_MONK_MEDITATE 
ANIM_FROZEN 
ANIM_GROWN 

Definition at line 91 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum

Map triggers that the events below refer to.

Enumerator
TRIGGER_TEMPLE_DOOR 
TRIGGER_TEMPLE_WALL_WRITING 
TRIGGER_SIGNPOST 
TRIGGER_CHEST 
TRIGGER_FEIZHI_ARRIVAL 
TRIGGER_STONE 

Definition at line 101 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum

The door of Hama's room, three cells wide and two high: each step copies the next door picture onto it for five frames.

Enumerator
DOOR_X 
DOOR_Y 

Definition at line 112 of file alpine_crossing_lama_temple.c.

◆ anonymous enum

anonymous enum

The map object that draws the passage behind the false wall.

Enumerator
MAP_OBJECT_PASSAGE 

Definition at line 118 of file alpine_crossing_lama_temple.c.

Function Documentation

◆ Actor_DrawBehindScenery()

s32 Actor_DrawBehindScenery ( struct ScriptInterpreter * interpreter)
static

Draws the actor behind the background, on sprite priority 3 with automatic priority off.

The first worker from Xian runs it from his placement.

Definition at line 122 of file alpine_crossing_lama_temple.c.

Referenced by Actor_DrawBehindScenery().

◆ Leader_FaceFeizhi()

s32 Leader_FaceFeizhi ( union FieldObject * object)
static

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 150 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEntrances(), and STATIC_ASSERT().

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Definition at line 157 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetRegions(), and STATIC_ASSERT().

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 160 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetExits(), and STATIC_ASSERT().

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Definition at line 162 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetPlacements(), and STATIC_ASSERT().

◆ LamaTemple_TalkToEastwardMonk()

void LamaTemple_TalkToEastwardMonk ( void )
static

The eastward monk asks whether the party came from the east, across Lamakan Desert, and otherwise whether it stopped in Xian.

Definition at line 171 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_TalkToEastwardMonk().

◆ LamaTemple_TalkToMeditatingMonk()

void LamaTemple_TalkToMeditatingMonk ( void )
static

The meditating monk explains meditation.

Definition at line 189 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_TalkToMeditatingMonk().

◆ LamaTemple_TalkToChiMonk()

void LamaTemple_TalkToChiMonk ( void )
static

The monk who praises Master Hama as the greatest master of Chi.

Definition at line 197 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_TalkToChiMonk().

◆ LamaTemple_EnterHamasRoom()

void LamaTemple_EnterHamasRoom ( void )
static

Walking north into the door of Hama's room slides it open and walks the party leader through, into the room.

Definition at line 206 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_EnterHamasRoom().

◆ LamaTemple_RunHamasFarewell()

void LamaTemple_RunHamasFarewell ( void )
static

Hama's farewell, once the party has freed Hsu: she thanks the Adepts, Garet and Mia squabble over whose idea helping was, and Hama goes back to her room.

Ivan wonders aloud about what Hama told him, and the others walk out ahead of the party leader. Mia's question is a yes or no choice.

Definition at line 222 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_RunHamasFarewell(), and Scene_Initialize().

◆ LamaTemple_ReadWallWriting()

void LamaTemple_ReadWallWriting ( void )
static

Searching the temple wall reads its writing, the hint toward Reveal.

Definition at line 417 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_ReadWallWriting().

◆ LamaTemple_ShowFalseWall()

void LamaTemple_ShowFalseWall ( void )
static

Puts the false wall back when Reveal's light ends (and on entry): the wall's cell blocks the way again, the passage's map object is hidden and the wall actor stands in front of it.

Definition at line 428 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_ShowFalseWall(), and Scene_Initialize().

◆ LamaTemple_RevealPassage()

void LamaTemple_RevealPassage ( void )
static

Reveal shows the passage behind the false wall: the cell's original attributes (saved at (21, 73) on entry) come back, the passage's map object returns to its place and the wall actor is put away.

Definition at line 438 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_RevealPassage().

◆ LamaTemple_TalkToHealer()

void LamaTemple_TalkToHealer ( void )
static

The traveling healer offers the sanctum's services when spoken to across his counter, from the south; from any other side he only greets the party.

Definition at line 446 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_TalkToHealer().

◆ AlpineCrossing_FeizhiArrives()

void AlpineCrossing_FeizhiArrives ( void )
static

When the party steps onto the road by the rockslide, once Feizhi has set out after Hsu, she runs up behind it: she finds the boulders blocking the Silk Road, cries out for Hsu and runs ahead along the path to look for him, the party leader following part of the way.

Definition at line 464 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_FeizhiArrives().

◆ AlpineCrossing_TalkToFeizhi()

void AlpineCrossing_TalkToFeizhi ( void )
static

Feizhi, before Xian hears of the accident, asks whether she should return to Xian; either way she decides to keep looking for Hsu.

Definition at line 529 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_TalkToFeizhi().

◆ AlpineCrossing_HamaReachesHsu()

void AlpineCrossing_HamaReachesHsu ( void )
static

Master Hama, kneeling by Hsu, asks if he is hurt; he is unhurt but cannot move, and none of them knows how to free him.

Definition at line 546 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_HamaReachesHsu(), and Scene_Initialize().

◆ AlpineCrossing_LiftBoulder()

void AlpineCrossing_LiftBoulder ( void )
static

Lift on the boulder: it floats, and Hama and Feizhi pull Hsu free in two heaves of two tugs each, asking the leader in between to hold on.

Hsu is free; they will ask Master Feh to tend him and clear the road, and the scene fades out to Hama's farewell at Lama Temple.

Definition at line 586 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_LiftBoulder().

◆ AlpineCrossing_ReadSignpost()

void AlpineCrossing_ReadSignpost ( void )
static

Searching the signpost. "North: Altin Mine. West: Lama Temple.".

Definition at line 706 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_ReadSignpost().

◆ AlpineCrossing_RevealPath()

void AlpineCrossing_RevealPath ( void )
static

Reveal shows the path hidden at (5, 13): the revealed cells, kept at (5, 28), are copied there with their attributes.

Definition at line 715 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_RevealPath().

◆ AlpineCrossing_HidePath()

void AlpineCrossing_HidePath ( void )
static

When Reveal's light ends, the plain cells kept at (6, 28) cover the path again.

Definition at line 723 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_HidePath().

◆ Pillar_SortAgainstLeader()

s32 Pillar_SortAgainstLeader ( union FieldObject * object)
static

◆ AlpineCrossing_PrepareFrost()

void AlpineCrossing_PrepareFrost ( void )
static

As Frost reaches the puddle, a leader standing north of it sees the pillar rise in front of the background.

Definition at line 749 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_PrepareFrost().

◆ AlpineCrossing_FreezePuddle()

void AlpineCrossing_FreezePuddle ( void )
static

Frost freezes the puddle into a pillar the party can climb: it stops blocking movement and moving, sorts itself against the leader each frame, and the cells beside it (and their copy at (20, 18)) become walkable.

Also run on entry while the pillar is already frozen.

Definition at line 762 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_FreezePuddle(), and Scene_Initialize().

◆ AlpineCrossing_GrowSprout()

void AlpineCrossing_GrowSprout ( void )
static

Growth grows the sprout into a vine the party can climb: the two cells above it take the climbable attributes kept at (14, 6).

Also run on entry while the vine is already grown.

Definition at line 788 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_GrowSprout(), and Scene_Initialize().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Definition at line 796 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEvents(), and STATIC_ASSERT().

◆ Scene_Initialize()

s32 Scene_Initialize ( void )

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

Definition at line 804 of file alpine_crossing_lama_temple.c.

Referenced by Scene_Initialize(), and STATIC_ASSERT().

Variable Documentation

◆ gAlpineCrossing_WorkerPlacementScript

s32 gAlpineCrossing_WorkerPlacementScript[]
Initial value:
= {
}
static s32 Actor_DrawBehindScenery(struct ScriptInterpreter *interpreter)
Draws the actor behind the background, on sprite priority 3 with automatic priority off.
#define SC_END
Return to the main script.
Definition objcmd.h:32
#define SC_CALL(fn)
Definition objcmd.h:50

The first worker's placement script: draw him behind the background.

Definition at line 902 of file alpine_crossing_lama_temple.c.

◆ gAlpineCrossing_FeizhiPath

s32 gAlpineCrossing_FeizhiPath[]
Initial value:
= {
SC_MOVE(PIXELS(392), 0, PIXELS(232)),
SC_MOVE(PIXELS(376), 0, PIXELS(232)),
SC_MOVE(PIXELS(344), 0, PIXELS(264)),
SC_MOVE(PIXELS(344), 0, PIXELS(312)),
SC_MOVE(PIXELS(312), 0, PIXELS(344)),
SC_MOVE(PIXELS(296), 0, PIXELS(344)),
}
@ ANIM_WALK
Definition field_event.h:44
@ ANIM_STAND
Definition field_event.h:43
#define PIXELS(value)
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_ARG(v)
Definition objcmd.h:44
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19

Feizhi's run down the path toward Hsu, walking, then standing.

Definition at line 908 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_FeizhiArrives().

◆ gAlpineCrossing_LeaderPath

s32 gAlpineCrossing_LeaderPath[]
Initial value:
= {
SC_MOVE(PIXELS(392), 0, PIXELS(232)),
SC_MOVE(PIXELS(376), 0, PIXELS(232)),
SC_MOVE(PIXELS(344), 0, PIXELS(264)),
SC_MOVE(PIXELS(344), 0, PIXELS(312)),
SC_MOVE(PIXELS(328), 0, PIXELS(328)),
}

The party leader follows Feizhi most of the way.

Definition at line 927 of file alpine_crossing_lama_temple.c.

Referenced by AlpineCrossing_FeizhiArrives().

◆ gAlpineCrossing_HsuStruggle

s32 gAlpineCrossing_HsuStruggle[]
Initial value:
= {
SC_WAIT(240),
SC_WAIT(60),
SC_WAIT(300),
}
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_FOREVER
Definition objcmd.h:14
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_TOP
Script start.
Definition objcmd.h:13

Hsu, pinned under the boulder, struggles now and then.

Definition at line 944 of file alpine_crossing_lama_temple.c.

Referenced by Scene_Initialize().

◆ gLamaTemple_DoorOpenCells

u16 gLamaTemple_DoorOpenCells[]
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

The door of Hama's room sliding open, and shut again.

Definition at line 959 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_EnterHamasRoom(), and LamaTemple_RunHamasFarewell().

◆ gLamaTemple_DoorCloseCells

u16 gLamaTemple_DoorCloseCells[]
Initial value:
= {
MAP_CELL_STEP(66, 46, 3, 2, 5),
MAP_CELL_STEP(69, 46, 3, 2, 5),
}

Definition at line 965 of file alpine_crossing_lama_temple.c.

Referenced by LamaTemple_RunHamasFarewell().

◆ gLamaTemple_Entrances

struct SceneEntrance gLamaTemple_Entrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 496, 0, 216, FACING_WEST, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 216, 0, 520, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 136, 0, 168, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{3, CONDITION_ALWAYS, 144, 0, 200, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{5, CONDITION_ALWAYS, 232, 0, 352, 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
@ FACING_WEST
Definition field_scene.h:30

Definition at line 971 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEntrances().

◆ gAlpineCrossing_Entrances

struct SceneEntrance gAlpineCrossing_Entrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 496, 0, 216, FACING_WEST, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 496, 0, 216, FACING_WEST, 0, 16, 32, 520, 416, 0},
{2, CONDITION_ALWAYS, 384, 0, 72, FACING_SOUTH, 0, 16, 32, 520, 416, 0},
{3, CONDITION_ALWAYS, 40, 0, 280, FACING_EAST, 0, 16, 32, 520, 416, 0},
{4, CONDITION_ALWAYS, 88, 0, 248, FACING_SOUTH, 0, 16, 32, 520, 416, 0},
{5, CONDITION_ALWAYS, 216, 0, 248, FACING_SOUTH, 0, 16, 32, 520, 416, 0},
}
@ FACING_EAST
Definition field_scene.h:26

Definition at line 980 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEntrances().

◆ gAlpineCrossingLamaTemple_Exits

u32 gAlpineCrossingLamaTemple_Exits[]
Initial value:
= {
SCENE_EXITS(88), SCENE_EXIT(1, 2, 17), SCENE_EXIT(2, 61, 3),
SCENE_EXIT(0, 74, 0), SCENE_EXIT(1, 2, 15), SCENE_EXIT(2, 2, 50),
SCENE_EXIT(3, 2, 51), SCENE_EXIT(4, 80, 6), SCENE_EXIT(5, 80, 7),
}
#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 990 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetExits().

◆ gLamaTemple_Placements

struct ScenePlacement gLamaTemple_Placements[]
Initial value:
= {
PIXELS(168), 0, PIXELS(336), FACING_EAST, TALK_FACE_PARTY, 0 },
PIXELS(216), 0, PIXELS(240), FACING_SOUTH, TALK_FACE_PARTY, 0 },
}
#define GARET
Jerald.
#define MIA
Mary.
#define IVAN
Ivan.
@ TALK_KEEP_FACING
@ TALK_FACE_PARTY
@ TALK_FACE_PARTY_AND_BACK
@ ACTOR_WANDER
@ ACTOR_STAND

Definition at line 998 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetPlacements().

◆ gAlpineCrossing_Placements

struct ScenePlacement gAlpineCrossing_Placements[]
Initial value:
= {
PIXELS(152), 0, PIXELS(276), FACING_WEST, TALK_FACE_PARTY, 0 },
PIXELS(456), 0, PIXELS(200), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(184), 0, PIXELS(264), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(328), 0, PIXELS(296), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(344), 0, PIXELS(194), FACING_SOUTH, TALK_FACE_PARTY, 0 },
}
s32 gAlpineCrossing_WorkerPlacementScript[]
The first worker's placement script: draw him behind the background.
s32 gAlpineCrossing_HsuStruggle[]
Hsu, pinned under the boulder, struggles now and then.
#define IF_FLAG_SET(flag)
Definition field_scene.h:48
#define FLAG_XIAN_HEARD_HSU_TRAPPED
Definition flags.h:112
#define FLAG_HSU_RESCUED
Definition flags.h:114
signed int s32
Definition types.h:14

Definition at line 1024 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetPlacements().

◆ gLamaTemple_Events

struct SceneEvent gLamaTemple_Events[]

Definition at line 1044 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEvents().

◆ gAlpineCrossing_Events

struct SceneEvent gAlpineCrossing_Events[]
Initial value:
= {
{ EVENT_TALK, ACTOR_HAMA, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleWellIsaacAdeptsYouCameTo) },
{ EVENT_TALK, ACTOR_HSU, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleIAmTrappedBetweenTheseTwo) },
{ EVENT_TALK, ACTOR_FEIZHI, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleBeStrongHsuWeWillHelp) },
{ EVENT_TALK, ACTOR_FIRST_WORKER, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleWeMovedTheRocksNowPeople) },
{ EVENT_TALK, ACTOR_SECOND_WORKER, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleManyPeopleFromXianHelpedMove) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_FEIZHI, FLAG_XIAN_HEARD_HSU_TRAPPED, MSGNO(MsgAlpineCrossingLamaTempleHsuIsInDangerICan) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_HAMA, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleHowShouldWeMoveTheBoulders) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_HSU, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleIWantToScreamButFeizhi) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_FEIZHI, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleHsuTiresHeLooksExhaustedI) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_FIRST_WORKER, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleWeClearedTheWayButWhat) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), ACTOR_SECOND_WORKER, CONDITION_ALWAYS, MSGNO(MsgAlpineCrossingLamaTempleIAlmostHurtMyBackIt) },
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
@ ABILITY_REVEAL
Definition ability_ids.h:19
@ ABILITY_LIFT
Definition ability_ids.h:18
@ ABILITY_FROST
Definition ability_ids.h:11
@ ABILITY_GROWTH
Definition ability_ids.h:10
static void AlpineCrossing_LiftBoulder(void)
Lift on the boulder: it floats, and Hama and Feizhi pull Hsu free in two heaves of two tugs each,...
static void AlpineCrossing_GrowSprout(void)
Growth grows the sprout into a vine the party can climb: the two cells above it take the climbable at...
static void AlpineCrossing_FeizhiArrives(void)
When the party steps onto the road by the rockslide, once Feizhi has set out after Hsu,...
static void AlpineCrossing_RevealPath(void)
Reveal shows the path hidden at (5, 13): the revealed cells, kept at (5, 28), are copied there with t...
static void AlpineCrossing_HidePath(void)
When Reveal's light ends, the plain cells kept at (6, 28) cover the path again.
static void AlpineCrossing_TalkToFeizhi(void)
Feizhi, before Xian hears of the accident, asks whether she should return to Xian; either way she dec...
static void AlpineCrossing_ReadSignpost(void)
Searching the signpost. "North: Altin Mine. West: Lama Temple.".
static void AlpineCrossing_FreezePuddle(void)
Frost freezes the puddle into a pillar the party can climb: it stops blocking movement and moving,...
static void AlpineCrossing_PrepareFrost(void)
As Frost reaches the puddle, a leader standing north of it sees the pillar rise in front of the backg...
#define SCENE_EVENTS_END
#define FIND_ITEM(item)
@ EVENT_TOUCH
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_PHASE_ON_ACTOR(ability, phase)
A Psynergy event on an actor at one phase of the cast, as PSYNERGY_IN_AREA is for an area.
#define PSYNERGY_IN_AREA(ability, phase)
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define SEARCH(target)
@ SEARCH_UNNAMED
@ SEARCH_CHEST
#define FLAG_ALPINE_CROSSING_POWER_BREAD
the crossing's chest
Definition flags.h:140
#define FLAG_FEIZHI_SAW_ROCKSLIDE
Feizhi has found the road blocked and run ahead to look for Hsu.
Definition flags.h:133
@ ITEM_POWER_BREAD
Definition item_ids.h:50

Definition at line 1080 of file alpine_crossing_lama_temple.c.

Referenced by Scene_GetEvents().