Alchemy
Loading...
Searching...
No Matches

hammet_palace.c File Reference

Hammet's palace in Kalay: Lady Layana hears that Hammet is still held in Lunpa, and later welcomes him home. More...

Go to the source code of this file.

Macros

#define LAYANA   8
#define HAMMET   9
#define SOLDIER_1   10
 the soldiers of Kalay in the meeting
#define SOLDIER_2   11

Functions

static void HammetPalace_SetUpEntrance (void)
 Sets up the room the party enters by: Layana and Hammet in the audience hall (entrance 9), the opened door (10 and 11), or Ivan's report (20).
static void HammetPalace_IvanReportsToLayana (void)
 Ivan brings the party to Layana: she had hoped Hammet came back with him.
static void HammetPalace_FacePartyOutward (s32 waitFrames)
 Turns the party outward from the group, then optionally waits.
static void HammetPalace_FacePartyNorth (s32 waitFrames)
 Turns all four party members north toward Layana, then optionally waits.
static void HammetPalace_HammetsHomecoming (void)
 Back with Hammet, the party walks into the audience hall: Hammet welcomes them, Layana scolds Ivan for going to Lunpa against her word, and Ivan decides to leave at once on the quest.
static __inline__ void HammetPalace_AdvanceMessage (s32 amount)
 Advances within the current conversation's consecutive message block.
const struct SceneEntrance * Scene_GetEntrances (void)
 Selects the palace's entrances, or the fallback table for this overlay.
const struct SceneRegion * Scene_GetRegions (void)
const u32 * Scene_GetExits (void)
 Both scenes share one exit table.
const struct ScenePlacement * Scene_GetPlacements (void)
 Applies placement clipping before returning the palace's actor rows.
const struct SceneEvent * Scene_GetEvents (void)
 Selects the palace's dialogue and doorway handlers.
static void Event_AskWhetherHammetWillBeReleased (void)
 Talking to a resident (actor 13) before Hammet is rescued: the resident hopes for his release.
static void Event_AskWhetherSilkTradeHasEnded (void)
 Talking to a resident (actor 16) before Hammet is rescued: the resident worries for his silk trade.
static void Event_LayanaScoldsLunpaVisit (void)
 Talking to Layana once the party has been to Lunpa: she is glad Hammet is unhurt, but asks the party not to go back, and to fulfill their quest.
static void Event_LeaveThroughDoor (void)
 Walking north into a door (triggers 2, 3, 4 and 14): it opens, and Isaac walks through it to the next room.
s32 Scene_Initialize (void)
 Opens the palace with its window transition and runs entrance-specific setup.

Variables

s32 gHammetPalace_PartyActions []
struct SceneEntrance gHammetPalaceEntrancesOther []
struct SceneEntrance gHammetPalaceEntrances []
u32 gHammetPalaceExits []
struct ScenePlacement gHammetPalacePlacementsOther []
struct ScenePlacement gHammetPalacePlacements []
struct SceneEvent gHammetPalaceEventsOther []
struct SceneEvent gHammetPalaceEvents []

Detailed Description

Hammet's palace in Kalay: Lady Layana hears that Hammet is still held in Lunpa, and later welcomes him home.

Definition in file hammet_palace.c.

Macro Definition Documentation

◆ LAYANA

◆ HAMMET

#define HAMMET   9

Definition at line 33 of file hammet_palace.c.

Referenced by HammetPalace_HammetsHomecoming(), and HammetPalace_SetUpEntrance().

◆ SOLDIER_1

#define SOLDIER_1   10

the soldiers of Kalay in the meeting

Definition at line 34 of file hammet_palace.c.

◆ SOLDIER_2

#define SOLDIER_2   11

Definition at line 35 of file hammet_palace.c.

Function Documentation

◆ HammetPalace_SetUpEntrance()

void HammetPalace_SetUpEntrance ( void )
static

Sets up the room the party enters by: Layana and Hammet in the audience hall (entrance 9), the opened door (10 and 11), or Ivan's report (20).

Definition at line 165 of file hammet_palace.c.

Referenced by HammetPalace_SetUpEntrance(), and Scene_Initialize().

◆ HammetPalace_IvanReportsToLayana()

void HammetPalace_IvanReportsToLayana ( void )
static

Ivan brings the party to Layana: she had hoped Hammet came back with him.

The ransom was paid long ago, yet Dodonpa holds Hammet still; Layana will not risk him by sending the soldiers, nor the party. She tells of the prophecy, the Jupiter Adept who gave Hammet the Shaman's Rod and Ivan, and what the rod is to find, then sends everyone back to their posts.

Definition at line 225 of file hammet_palace.c.

Referenced by HammetPalace_IvanReportsToLayana(), and HammetPalace_SetUpEntrance().

◆ HammetPalace_FacePartyOutward()

void HammetPalace_FacePartyOutward ( s32 waitFrames)
static

Turns the party outward from the group, then optionally waits.

Definition at line 690 of file hammet_palace.c.

Referenced by HammetPalace_FacePartyOutward(), and HammetPalace_IvanReportsToLayana().

◆ HammetPalace_FacePartyNorth()

void HammetPalace_FacePartyNorth ( s32 waitFrames)
static

Turns all four party members north toward Layana, then optionally waits.

Definition at line 701 of file hammet_palace.c.

Referenced by HammetPalace_FacePartyNorth(), HammetPalace_HammetsHomecoming(), and HammetPalace_IvanReportsToLayana().

◆ HammetPalace_HammetsHomecoming()

void HammetPalace_HammetsHomecoming ( void )
static

Back with Hammet, the party walks into the audience hall: Hammet welcomes them, Layana scolds Ivan for going to Lunpa against her word, and Ivan decides to leave at once on the quest.

Hammet sends them to Hesperia with the Shaman's Rod, as the Jupiter Adept said.

Definition at line 715 of file hammet_palace.c.

Referenced by HammetPalace_HammetsHomecoming(), and HammetPalace_SetUpEntrance().

◆ HammetPalace_AdvanceMessage()

__inline__ void HammetPalace_AdvanceMessage ( s32 amount)
static

Advances within the current conversation's consecutive message block.

Definition at line 45 of file hammet_palace.c.

Referenced by HammetPalace_AdvanceMessage(), and HammetPalace_HammetsHomecoming().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Selects the palace's entrances, or the fallback table for this overlay.

Definition at line 51 of file hammet_palace.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Definition at line 60 of file hammet_palace.c.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 62 of file hammet_palace.c.

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Applies placement clipping before returning the palace's actor rows.

Definition at line 65 of file hammet_palace.c.

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Selects the palace's dialogue and doorway handlers.

Definition at line 74 of file hammet_palace.c.

◆ Event_AskWhetherHammetWillBeReleased()

void Event_AskWhetherHammetWillBeReleased ( void )
static

Talking to a resident (actor 13) before Hammet is rescued: the resident hopes for his release.

"Lord Hammet will be released soon. Right?"

Definition at line 85 of file hammet_palace.c.

Referenced by Event_AskWhetherHammetWillBeReleased().

◆ Event_AskWhetherSilkTradeHasEnded()

void Event_AskWhetherSilkTradeHasEnded ( void )
static

Talking to a resident (actor 16) before Hammet is rescued: the resident worries for his silk trade.

"Has the legacy of Lord Hammet's silk trading come to an end?"

Definition at line 95 of file hammet_palace.c.

Referenced by Event_AskWhetherSilkTradeHasEnded().

◆ Event_LayanaScoldsLunpaVisit()

void Event_LayanaScoldsLunpaVisit ( void )
static

Talking to Layana once the party has been to Lunpa: she is glad Hammet is unhurt, but asks the party not to go back, and to fulfill their quest.

"Isaac, you sneaked into Lunpa? That's far too dangerous!"

Definition at line 105 of file hammet_palace.c.

Referenced by Event_LayanaScoldsLunpaVisit().

◆ Event_LeaveThroughDoor()

void Event_LeaveThroughDoor ( void )
static

Walking north into a door (triggers 2, 3, 4 and 14): it opens, and Isaac walks through it to the next room.

Definition at line 123 of file hammet_palace.c.

Referenced by Event_LeaveThroughDoor().

◆ Scene_Initialize()

s32 Scene_Initialize ( void )

Opens the palace with its window transition and runs entrance-specific setup.

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

Definition at line 155 of file hammet_palace.c.

Variable Documentation

◆ gHammetPalace_PartyActions

s32 gHammetPalace_PartyActions[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(856), 0, PIXELS(486)),
SC_POS(0, 0, 0), SC_WAIT(1),
}
#define PIXELS(value)
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18
#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
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_END
Return to the main script.
Definition objcmd.h:32

Definition at line 883 of file hammet_palace.c.

Referenced by HammetPalace_HammetsHomecoming(), and HammetPalace_IvanReportsToLayana().

◆ gHammetPalaceEntrancesOther

struct SceneEntrance gHammetPalaceEntrancesOther[]
Initial value:
= {
{0, CONDITION_ALWAYS, 168, 0, 168, FACING_NORTH, 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

Definition at line 890 of file hammet_palace.c.

Referenced by Scene_GetEntrances().

◆ gHammetPalaceEntrances

struct SceneEntrance gHammetPalaceEntrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 168, 0, 168, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 240, 0, 648, FACING_NORTH, 0, 45, 360, 440, 680, 0},
{2, CONDITION_ALWAYS, 88, 0, 552, FACING_SOUTH, 0, 45, 360, 440, 680, 0},
{3, CONDITION_ALWAYS, 392, 0, 552, FACING_SOUTH, 0, 45, 360, 440, 680, 0},
{4, CONDITION_ALWAYS, 240, 0, 408, FACING_SOUTH, 0, 45, 360, 440, 680, 0},
{5, CONDITION_ALWAYS, 152, 0, 432, FACING_SOUTH, 0, 45, 360, 440, 680, 0},
{6, CONDITION_ALWAYS, 264, 0, 136, FACING_NORTH, 0, 40, 20, 305, 285, 0},
{7, CONDITION_ALWAYS, 504, 0, 152, FACING_NORTH, 0, 380, 20, 755, 290, 0},
{8, CONDITION_ALWAYS, 448, 0, 112, FACING_SOUTH, 0, 380, 20, 755, 290, 0},
{9, CONDITION_ALWAYS, 864, 0, 576, FACING_NORTH, 0, 750, 370, 985, 635, 0},
{10, CONDITION_ALWAYS, 928, 0, 224, FACING_WEST, 0, 800, 20, 1040, 250, 0},
{11, CONDITION_ALWAYS, 904, 0, 72, FACING_SOUTH, 0, 800, 20, 1040, 250, 0},
{12, CONDITION_ALWAYS, 616, 0, 824, FACING_NORTH, 0, 465, 640, 705, 875, 0},
{13, CONDITION_ALWAYS, 128, 0, 808, FACING_EAST, 0, 20, 730, 260, 890, 0},
{14, CONDITION_ALWAYS, 168, 0, 808, FACING_SOUTH, 0, 20, 730, 260, 890, 0},
{20, CONDITION_ALWAYS, 864, 0, 576, FACING_NORTH, 0, 750, 370, 985, 635, 0},
}
@ FACING_EAST
Definition field_scene.h:26
@ FACING_SOUTH
Definition field_scene.h:28
@ FACING_WEST
Definition field_scene.h:30

Definition at line 895 of file hammet_palace.c.

Referenced by Scene_GetEntrances().

◆ gHammetPalaceExits

u32 gHammetPalaceExits[]
Initial value:
= {
SCENE_EXITS(103), SCENE_EXIT(1, 102, 2), SCENE_EXIT(2, 103, 6),
SCENE_EXIT(3, 103, 7), SCENE_EXIT(4, 103, 9), SCENE_EXIT(5, 103, 13),
SCENE_EXIT(6, 103, 2), SCENE_EXIT(7, 103, 3), SCENE_EXIT(8, 103, 10),
SCENE_EXIT(9, 103, 4), SCENE_EXIT(10, 103, 8), SCENE_EXIT(11, 156, 1),
SCENE_EXIT(12, 103, 14), SCENE_EXIT(13, 103, 5), SCENE_EXIT(14, 103, 12),
}
#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 915 of file hammet_palace.c.

Referenced by Scene_GetExits().

◆ gHammetPalacePlacementsOther

struct ScenePlacement gHammetPalacePlacementsOther[]
Initial value:
= {
}

Definition at line 924 of file hammet_palace.c.

Referenced by Scene_GetPlacements().

◆ gHammetPalacePlacements

struct ScenePlacement gHammetPalacePlacements[]
Initial value:
= {
{ 0x2d, 0x0, ACTOR_STAND,
{ 0x31, 0x0, ACTOR_STAND,
{ 0x6c, 0x0, ACTOR_STAND,
PIXELS(616), 0, PIXELS(113), FACING_EAST, TALK_FACE_PARTY, 0 },
{ 0x6a, 0x0, ACTOR_STAND,
{ 0xa7, 0x0, ACTOR_STAND,
}
#define GARET
Jerald.
#define MIA
Mary.
#define IVAN
Ivan.
@ FACING_STEP
Definition field_scene.h:36
@ TALK_KEEP_FACING
@ TALK_FACE_PARTY
@ TALK_FACE_PARTY_AND_BACK
@ ACTOR_STAND
@ FACING_SOUTHEAST
Definition field_scene.h:27
@ FACING_SOUTHWEST
Definition field_scene.h:29
@ FACING_NORTHWEST
Definition field_scene.h:31

Definition at line 929 of file hammet_palace.c.

Referenced by Scene_GetPlacements().

◆ gHammetPalaceEventsOther

struct SceneEvent gHammetPalaceEventsOther[]
Initial value:
= {
}
#define SCENE_EVENTS_END

Definition at line 957 of file hammet_palace.c.

Referenced by Scene_GetEvents().

◆ gHammetPalaceEvents

struct SceneEvent gHammetPalaceEvents[]

Definition at line 961 of file hammet_palace.c.

Referenced by Scene_GetEvents().