Alchemy
Loading...
Searching...
No Matches

suhalla.c File Reference

Suhalla, the town at the edge of the Suhalla Desert. More...

Go to the source code of this file.

Enumerations

enum  { ENTRANCE_90 = 90 }
 Arriving by this entrance also marks Babi's audience as held. More...
enum  { SPROUT = 16 }
 The sprout at 72, 144, the last of the placements. More...

Functions

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)
 The townsfolk, who stand elsewhere after Babi's audience.
static void Event_AskIfGoingToLalivero (s32 actorId)
 A villager asks about Lalivero and answers yes or no.
static void Event_AskIfBroughtBySandstorm (s32 actorId)
 After Babi's audience a villager asks whether the sandstorm brought the party to Suhalla, and answers yes or no.
static void Event_GrowSprout (void)
 Growth on the sprout: the plant grows, and its map cell takes the attributes of the grown plant's cell.
static void Event_EnterDoor (void)
 The leader walks north into a doorway: the door opens, the leader steps through and the party leaves by that exit.
static void Event_EnterWideDoor (void)
 The same through the wide door of trigger 2.
const struct SceneEvent * Scene_GetEvents (void)
 The doors, the townsfolk, the treasure and the sprout, before or after Babi's audience.
s32 Scene_Initialize (void)
 Sets Suhalla up as the party enters, with the sprout grown if Growth was used on it.

Variables

struct SceneEntrance gSuhallaEntrances []
u32 gSuhallaExits []
struct ScenePlacement gSuhallaPlacements []
struct ScenePlacement gSuhallaPlacementsLater []
s16 gSuhallaDoorCells [][2]
 The cell each door's opening is drawn at, by trigger.
u16 gSuhallaDoorOpenSteps []
u16 gSuhallaWideDoorOpenSteps []
struct SceneEvent gSuhallaEvents []
struct SceneEvent gSuhallaEventsLater []

Detailed Description

Suhalla, the town at the edge of the Suhalla Desert.

Once Babi's audience after Colosso has been held, its people stand and talk differently: the sandstorms have brought Tolbi's soldiers to the town.

Definition in file suhalla.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Arriving by this entrance also marks Babi's audience as held.

Enumerator
ENTRANCE_90 

Definition at line 31 of file suhalla.c.

◆ anonymous enum

anonymous enum

The sprout at 72, 144, the last of the placements.

Enumerator
SPROUT 

Definition at line 34 of file suhalla.c.

Function Documentation

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 36 of file suhalla.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Definition at line 40 of file suhalla.c.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 42 of file suhalla.c.

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

The townsfolk, who stand elsewhere after Babi's audience.

Definition at line 45 of file suhalla.c.

◆ Event_AskIfGoingToLalivero()

void Event_AskIfGoingToLalivero ( s32 actorId)
static

A villager asks about Lalivero and answers yes or no.

"Are you trying to get to Lalivero?"

Definition at line 54 of file suhalla.c.

Referenced by Event_AskIfGoingToLalivero().

◆ Event_AskIfBroughtBySandstorm()

void Event_AskIfBroughtBySandstorm ( s32 actorId)
static

After Babi's audience a villager asks whether the sandstorm brought the party to Suhalla, and answers yes or no.

Definition at line 69 of file suhalla.c.

Referenced by Event_AskIfBroughtBySandstorm().

◆ Event_GrowSprout()

void Event_GrowSprout ( void )
static

Growth on the sprout: the plant grows, and its map cell takes the attributes of the grown plant's cell.

Definition at line 84 of file suhalla.c.

Referenced by Event_GrowSprout(), and Scene_Initialize().

◆ Event_EnterDoor()

void Event_EnterDoor ( void )
static

The leader walks north into a doorway: the door opens, the leader steps through and the party leaves by that exit.

Definition at line 91 of file suhalla.c.

◆ Event_EnterWideDoor()

void Event_EnterWideDoor ( void )
static

The same through the wide door of trigger 2.

Definition at line 106 of file suhalla.c.

Referenced by Event_EnterWideDoor().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

The doors, the townsfolk, the treasure and the sprout, before or after Babi's audience.

Definition at line 121 of file suhalla.c.

◆ Scene_Initialize()

s32 Scene_Initialize ( void )

Sets Suhalla up as the party enters, with the sprout grown if Growth was used on it.

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

Definition at line 130 of file suhalla.c.

Variable Documentation

◆ gSuhallaEntrances

struct SceneEntrance gSuhallaEntrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 172, 0, 149, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 136, 0, 152, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 256, 0, 120, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{3, CONDITION_ALWAYS, 88, 0, 296, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{4, CONDITION_ALWAYS, 216, 0, 280, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{5, CONDITION_ALWAYS, 296, 0, 296, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{6, CONDITION_ALWAYS, 120, 0, 272, FACING_EAST, 0, -1, -1, -1, -1, 0},
{10, CONDITION_ALWAYS, 40, 0, 176, FACING_EAST, 0, -1, -1, -1, -1, 0},
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_EAST
Definition field_scene.h:26
@ FACING_SOUTH
Definition field_scene.h:28

Definition at line 148 of file suhalla.c.

Referenced by Scene_GetEntrances().

◆ gSuhallaExits

u32 gSuhallaExits[]
Initial value:
= {
SCENE_EXITS(167), SCENE_EXIT(1, 168, 1), SCENE_EXIT(2, 168, 2),
SCENE_EXIT(3, 168, 3), SCENE_EXIT(4, 168, 4), SCENE_EXIT(5, 168, 5),
SCENE_EXIT(10, 2, 27), SCENE_EXIT(11, 2, 56), SCENE_EXIT(12, 2, 57),
}
#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 160 of file suhalla.c.

Referenced by Scene_GetExits().

◆ gSuhallaPlacements

struct ScenePlacement gSuhallaPlacements[]
Initial value:
= {
PIXELS(104), 0, PIXELS(184), FACING_WEST, TALK_FACE_PARTY, 0 },
PIXELS(184), 0, PIXELS(304), FACING_WEST, TALK_FACE_PARTY, 0 },
PIXELS(-64), 0, PIXELS(-64), FACING_SOUTH, TALK_FACE_PARTY, 0 },
PIXELS(248), 0, PIXELS(168), FACING_NORTH, TALK_FACE_PARTY, 0 },
PIXELS(168), 0, PIXELS(208), FACING_SOUTH, TALK_FACE_PARTY, 0 },
}
@ TALK_FACE_PARTY
@ TALK_FACE_PARTY_AND_BACK
@ ACTOR_WANDER
@ ACTOR_STAND
@ FACING_SOUTHEAST
Definition field_scene.h:27
@ FACING_NORTH
Definition field_scene.h:32
@ FACING_WEST
Definition field_scene.h:30
#define PIXELS(value)

Definition at line 168 of file suhalla.c.

Referenced by Scene_GetPlacements().

◆ gSuhallaPlacementsLater

◆ gSuhallaDoorCells

s16 gSuhallaDoorCells[][2]
Initial value:
= {
{ 0, 0 }, { 8, 7 }, { 15, 5 }, { 5, 16 }, { 13, 15 }, { 18, 16 },
}

The cell each door's opening is drawn at, by trigger.

Definition at line 213 of file suhalla.c.

Referenced by Event_EnterDoor(), and Event_EnterWideDoor().

◆ gSuhallaDoorOpenSteps

u16 gSuhallaDoorOpenSteps[]
Initial value:
= {
MAP_CELL_STEP(25, 0, 1, 2, 8), MAP_CELL_STEP(26, 0, 1, 2, 1), MAP_CELL_STEPS_END,
}
#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 217 of file suhalla.c.

Referenced by Event_EnterDoor().

◆ gSuhallaWideDoorOpenSteps

u16 gSuhallaWideDoorOpenSteps[]
Initial value:
= {
MAP_CELL_STEP(26, 2, 2, 2, 8), MAP_CELL_STEP(28, 2, 2, 2, 1), MAP_CELL_STEPS_END,
}

Definition at line 221 of file suhalla.c.

Referenced by Event_EnterWideDoor().

◆ gSuhallaEvents

struct SceneEvent gSuhallaEvents[]
Initial value:
= {
{ EVENT_TALK, 8, CONDITION_ALWAYS, MSGNO(MsgSuhallaThisIsSuhallaDontTryCrossing) },
{ EVENT_TALK, 10, CONDITION_ALWAYS, MSGNO(MsgSuhallaWeGondowansWillNeverTrustAnyone) },
{ EVENT_TALK, 12, CONDITION_ALWAYS, MSGNO(MsgSuhallaItHasBeenSaidForAges) },
{ EVENT_TALK, 13, CONDITION_ALWAYS, MSGNO(MsgSuhallaYouCantGetToSouthernGondowan) },
{ EVENT_TALK, 14, CONDITION_ALWAYS, MSGNO(MsgSuhallaTheWorkersSayTherereHugeFestivals) },
{ EVENT_TALK, 15, CONDITION_ALWAYS, MSGNO(MsgSuhallaTheSandstormsSuddenlyIncreasedIHope) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgSuhallaTheSuhallaHasLongBeenKnown) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgSuhallaThePeopleOfLaliveroHaveBeen) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, CONDITION_ALWAYS, MSGNO(MsgSuhallaTheRulerOfTolbiTookA) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 12, CONDITION_ALWAYS, MSGNO(MsgSuhallaIKnowTheDesertSpiritsWill) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 13, CONDITION_ALWAYS, MSGNO(MsgSuhallaSouthernGondowanIsGuardedByThe) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 14, CONDITION_ALWAYS, MSGNO(MsgSuhallaIveHeardThatTolbisColossoIs) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, CONDITION_ALWAYS, MSGNO(MsgSuhallaNoneOfTheGrownUpsIn) },
{ SEARCH(SEARCH_JAR), 102, 0xfaf, FIND_COINS(5) },
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
@ ABILITY_GROWTH
Definition ability_ids.h:10
#define SCENE_EVENTS_END
#define FIND_ITEM(item)
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define SEARCH(target)
#define TOUCH_WALKING_INTO(facing)
@ SEARCH_JAR
@ SEARCH_CHEST
#define FIND_COINS(coins)
#define FLAG_SCENE_TEMP_01
Definition flags.h:714
@ ITEM_HARD_NUT
Definition item_ids.h:53
@ ITEM_LUCKY_MEDAL
Definition item_ids.h:70
static void Event_EnterDoor(void)
The leader walks north into a doorway: the door opens, the leader steps through and the party leaves ...
Definition suhalla.c:91
@ SPROUT
Definition suhalla.c:34
static void Event_AskIfGoingToLalivero(s32 actorId)
A villager asks about Lalivero and answers yes or no.
Definition suhalla.c:54
static void Event_EnterWideDoor(void)
The same through the wide door of trigger 2.
Definition suhalla.c:106
static void Event_GrowSprout(void)
Growth on the sprout: the plant grows, and its map cell takes the attributes of the grown plant's cel...
Definition suhalla.c:84

Definition at line 225 of file suhalla.c.

Referenced by Scene_GetEvents().

◆ gSuhallaEventsLater

struct SceneEvent gSuhallaEventsLater[]

Definition at line 255 of file suhalla.c.

Referenced by Scene_GetEvents().