13#include "text/msg_ids.h"
30 { 0,
CONDITION_ALWAYS, 172, 0, 149,
FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
31 {
ROOM_FIRST_HOME,
CONDITION_ALWAYS, 192, 0, 184,
FACING_NORTH, 0, 16, 0, 256, 224, 0 },
32 {
ROOM_SECOND_HOME,
CONDITION_ALWAYS, 432, 0, 264,
FACING_NORTH, 0, 296, 48, 536, 288, 0 },
33 {
ROOM_THIRD_HOME,
CONDITION_ALWAYS, 160, 0, 584,
FACING_NORTH, 0, 16, 400, 256, 624, 0 },
34 {
ROOM_ARMS_SHOP,
CONDITION_ALWAYS, 464, 0, 616,
FACING_NORTH, 0, 296, 384, 536, 640, 0 },
35 {
ROOM_ITEM_SHOP,
CONDITION_ALWAYS, 704, 0, 584,
FACING_NORTH, 0, 576, 352, 816, 608, 0 },
36 {
ROOM_INN,
CONDITION_ALWAYS, 288, 0, 840,
FACING_NORTH, 0, 40, 656, 368, 944, 0 },
37 {
ROOM_TEMPLE,
CONDITION_ALWAYS, 688, 0, 280,
FACING_NORTH, 0, 568, 32, 808, 304, 0 },
38 {
ROOM_EIGHTH,
CONDITION_ALWAYS, 560, 0, 880,
FACING_NORTH, 0, 400, 656, 640, 912, 0 },
39 {
ROOM_NINTH,
CONDITION_ALWAYS, 672, 0, 888,
FACING_NORTH, 0, 520, 656, 760, 896, 0 },
40 {
ROOM_SUHALLA_GATE_HOUSE,
CONDITION_ALWAYS, 832, 0, 848,
FACING_NORTH, 0, 680, 656, 920, 896, 0 },
41 {
ROOM_TEMPLE_SECOND_ENTRANCE,
CONDITION_ALWAYS, 688, 0, 184,
FACING_NORTH, 0, 568, 32, 808, 288, 0 },
127 MSGNO(MsgLunpaInteriorsFirstHomeASealedThoughts) },
129 MSGNO(MsgLunpaInteriorsFirstHomeBSealedThoughts) },
131 MSGNO(MsgLunpaInteriorsSecondHomeASealedThoughts) },
133 MSGNO(MsgLunpaInteriorsSecondHomeBSealedThoughts) },
135 MSGNO(MsgLunpaInteriorsThirdHomeASealedThoughts) },
137 MSGNO(MsgLunpaInteriorsThirdHomeBSealedThoughts) },
151 MSGNO(MsgLunpaInteriorsInnkeeperSealedThoughts) },
153 MSGNO(MsgLunpaInteriorsInnClerkSealedThoughts) },
155 MSGNO(MsgLunpaInteriorsInnWorkerSealedThoughts) },
159 MSGNO(MsgLunpaInteriorsTemplePriestSealedThoughts) },
195 MSGNO(MsgLunpaInteriorsFirstHomeAReopenedThoughts) },
197 MSGNO(MsgLunpaInteriorsFirstHomeBReopenedThoughts) },
199 MSGNO(MsgLunpaInteriorsSecondHomeAReopenedThoughts) },
201 MSGNO(MsgLunpaInteriorsSecondHomeBReopenedThoughts) },
203 MSGNO(MsgLunpaInteriorsThirdHomeAReopenedThoughts) },
205 MSGNO(MsgLunpaInteriorsThirdHomeBReopenedThoughts) },
219 MSGNO(MsgLunpaInteriorsInnkeeperReopenedThoughts) },
221 MSGNO(MsgLunpaInteriorsInnClerkReopenedThoughts) },
223 MSGNO(MsgLunpaInteriorsInnWorkerReopenedThoughts) },
225 MSGNO(MsgLunpaInteriorsChefReopenedThoughts) },
227 MSGNO(MsgLunpaInteriorsTemplePriestReopenedThoughts) },
struct FieldActor * Object_GetById(s32 actor)
Returns an actor, or NULL if it does not exist.
const struct ScenePlacement * Scene_GetPlacements(void)
const struct SceneEntrance * Scene_GetEntrances(void)
const struct SceneEvent * Scene_GetEvents(void)
const u32 * Scene_GetExits(void)
Both scenes share one exit table.
const struct SceneRegion * Scene_GetRegions(void)
s32 Scene_Initialize(void)
Sets up whichever scene is being entered and runs its arrival events.
static void Event_TalkToInnkeeper(void)
Opens the inn across the counter, or discusses the curse in Kolima.
The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin,...
void Engine_SanctumOpen(s32 priest)
void Engine_InnOpen(s32 inn, s32 keeper)
s32 Engine_EventAskYesNo(s32 speaker, s32 flags)
void Engine_GameFlagSet(s32 flag)
void Engine_GameFlagClear(s32 flag)
s32 Engine_GameFlagIsSet(s32 flag)
void Engine_ShopOpen(s32 shop, s32 keeper)
#define SCENE_TRANSITION(style, variant)
#define SCENE_EXITS(scene)
#define FIND_MESSAGE(message)
#define SCENE_EXIT(exit, scene, entrance)
@ TALK_FACE_PARTY_AND_BACK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define FACING_IS_NORTH(facing)
#define FLAG_SHOW_LOCATION_NAME
#define FLAG_LUNPA_WOODEN_BOX_LUCKY_MEDAL
in the town's buildings
#define FLAG_LUNPA_TRADE_REOPENED
#define FLAG_LUNPA_HEARD_OF_PRISONER
#define FLAG_LUNPA_BARREL_VIAL
in the town's buildings
GameState, the game's state: play time, coins, the scene and the leader's position,...
struct GameState gGameState
const struct ScenePlacement gInteriorPlacements[]
static void Event_TalkToTemplePriest(void)
Across the counter, the sanctum; otherwise the priest talks about Dodonpa.
static void Event_TalkToArmorMerchant(void)
After Lunpa reopens, across the counter, the armor shop; otherwise small talk.
static void Event_ReadArmorMerchantsThoughts(void)
Mind Read on the armor merchant.
static void Event_ReadItemMerchantsThoughts(void)
Mind Read on the item merchant.
const struct SceneEvent gInteriorSealedEvents[]
static void Event_ReadChefsThoughts(void)
Mind Read on the chef, who pities the prisoner in the dungeon.
static void Event_ReadWeaponMerchantsThoughts(void)
Mind Read on the weapon merchant.
static void Event_TalkToChef(void)
The chef offers the story of taking meals to the fortress; either way the party has heard of the pris...
const u32 gInteriorExits[]
static void Event_TalkToItemMerchant(void)
Across the counter, the item shop; otherwise small talk.
const struct SceneEntrance gInteriorEntrances[]
static void Event_TalkToTravelingPriest(void)
The traveling priest: across the counter, the temple priest's sanctum; otherwise his good will.
static void Event_TalkToWeaponMerchant(void)
After Lunpa reopens, across the counter, the weapon shop; otherwise small talk.
const struct SceneEvent gInteriorReopenedEvents[]
const struct SceneEvent gSuhallaGateHouseEvents[]
static void Event_TalkToInnClerk(void)
The inn's clerk asks whether the party is Donpa's guest.
Scene numbers, named after their places.
char SceneId_LunpaSuhalla
struct EventWork * gEventWork
void Engine_EventEnd(void)
void Engine_EventBegin(void)
void Engine_EventSetMessage()
void Engine_EventShowMessage()
@ LUNPA_ENTRANCE_FROM_ITEM_SHOP
@ LUNPA_ENTRANCE_FROM_THIRD_HOME
@ LUNPA_ENTRANCE_FROM_FIRST_HOME
@ LUNPA_ENTRANCE_FROM_TEMPLE
@ LUNPA_ENTRANCE_FROM_INN
@ LUNPA_ENTRANCE_FROM_SECOND_HOME
@ LUNPA_ENTRANCE_FROM_EIGHTH_ROOM
@ LUNPA_ENTRANCE_FROM_ARMS_SHOP
@ ROOM_TEMPLE_SECOND_ENTRANCE
@ ROOM_SUHALLA_GATE_HOUSE
@ ACTOR_FIRST_HOME_RESIDENT_A
@ ACTOR_THIRD_HOME_RESIDENT_A
@ ACTOR_SECOND_HOME_RESIDENT_B
@ ACTOR_FIRST_HOME_RESIDENT_B
@ ACTOR_SECOND_HOME_RESIDENT_A
@ ACTOR_THIRD_HOME_RESIDENT_B
@ SUHALLA_GATE_ENTRANCE_FROM_LUNPA
s32 startTransition
SCENE_TRANSITION(style, variant).
A field actor: a person or thing on the field with a position, motion toward a target,...
s16 savedScene
where a defeat returns to without a defeat point
s16 savedEntrance
where a defeat returns to without a defeat point
A scene entrance: where and facing which way the party arrives, and the camera's bounds there (-1 for...
A scene event: its kind and detail, the trigger it answers, its condition and its value (a message or...
An actor a scene places: its sprite, the condition for placing it, how it behaves,...
A scene's exit region: the box that, while its condition holds, takes the party leader out through it...