23#include "text/msg_ids.h"
198 if (entrance == 4 || entrance == 7) {
200 }
else if (entrance == 6) {
232 {0,
CONDITION_ALWAYS, 172, 0, 149,
FACING_SOUTH, 0, -1, -1, -1, -1, 0},
233 {1,
CONDITION_ALWAYS, 128, 0, 184,
FACING_NORTH, 0, 24, 8, 248, 208, 0},
234 {2,
CONDITION_ALWAYS, 448, 0, 200,
FACING_NORTH, 0, 288, 8, 592, 224, 0},
235 {3,
CONDITION_ALWAYS, 736, 0, 200,
FACING_NORTH, 0, 608, 8, 848, 224, 0},
236 {4,
CONDITION_ALWAYS, 160, 0, 472,
FACING_NORTH, 0, 48, 288, 336, 496, 0},
237 {5,
CONDITION_ALWAYS, 472, 0, 360,
FACING_EAST, 0, 384, 288, 672, 496, 0},
238 {6,
CONDITION_ALWAYS, 512, 0, 696,
FACING_NORTH, 0, 352, 496, 656, 720, 0},
239 {7,
CONDITION_ALWAYS, 120, 0, 360,
FACING_EAST, 0, 48, 288, 336, 496, 0},
240 {8,
CONDITION_ALWAYS, 120, 0, 696,
FACING_NORTH, 0, 64, 544, 304, 744, 0},
Ability numbers, named from the English release.
struct FieldActor * Object_GetById(s32 actor)
Returns an actor, or NULL if it does not exist.
const s32 * gEffectScripts[]
The engine calls the debug menus import, and their palette swatch tiles.
static UNUSED void * OverlayObject_CreateConfiguredObject(s32 x, s32 y, s32 z, s32 type)
A still effect in palette 15, at sprite priority 1, drawn under the actors.
void SceneTable_Prepare(struct ScenePlacement *placements)
Field effects, their scripts and the flags that spawn them.
The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin,...
void Engine_ActorFaceActor(s32 actor, s32 target, s32 frames)
void Engine_EventShowMessageAndWait(s32 speaker, s32 flags, s32 frames)
void Engine_InnOpen(s32 inn, s32 keeper)
s32 Engine_EventAskYesNo(s32 speaker, s32 flags)
void Engine_GameFlagClear(s32 flag)
s32 Engine_GameFlagIsSet(s32 flag)
void Engine_ShopOpen(s32 shop, s32 keeper)
void Engine_EventWait(s32 frames)
Field objects and actors, and the scene transition styles.
#define SCENE_TRANSITION(style, variant)
The scene table formats: entrances, exits, placements and events, and the macros that write them.
#define SCENE_EXITS(scene)
#define IF_FLAG_SET(flag)
#define FIND_MESSAGE(message)
#define SCENE_EXIT(exit, scene, entrance)
@ TALK_FACE_PARTY_AND_BACK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
Game flags, named where their meaning is shown.
#define FLAG_SHOW_LOCATION_NAME
#define FLAG_XIAN_HEARD_HSU_TRAPPED
#define FLAG_XIAN_INTERIORS_SLEEP_BOMB_JAR
#define FLAG_XIAN_INTERIORS_ELIXIR_BARREL
GameState, the game's state: play time, coins, the scene and the leader's position,...
struct GameState gGameState
The screen blend's globals and the graphics routines.
Item numbers, named from the English release.
The reel game's title lettering.
Field object scripts: one s32 command word, then its operands, as gScriptObject_CommandTable runs the...
#define SC_LOOP(n, to)
Repeat up to n times.
#define SC_POS(x, y, z)
Set position.
#define SC_WAIT(n)
Wait n frames.
#define SC_TOP
Script start.
void Engine_ActorSetAnimation()
struct EventWork * gEventWork
void Engine_EventEnd(void)
void Engine_EventBegin(void)
void Engine_EventSetMessage()
void Engine_EventShowMessage()
s32 startTransition
SCENE_TRANSITION(style, variant).
A field actor: a person or thing on the field with a position, motion toward a target,...
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...
The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep.
The integer types, TRUE, UNUSED and the fixed-address macros.
static void XianInteriors_AskAboutSilkRoad(void)
Asks the resident whether something is wrong on the Silk Road.
const u32 * XianInteriors_GetExits(void)
const struct SceneEvent * XianInteriors_GetEvents(void)
The room behind the school has its own events.
struct SceneEvent gXianInteriors_SchoolRoomEvents[]
static void XianInteriors_TalkToItemMerchant(void)
Opens the item shop or asks whether the party will cross the desert.
static u32 XianInteriors_GetLeaderFacing(void)
Reads the leader's facing before a conversation changes actor state.
struct ScenePlacement gXianInteriors_SchoolRoomPlacements[]
const struct ScenePlacement * XianInteriors_GetPlacements(void)
The room behind the school places only Master Feh, Feizhi and Hsu.
const struct SceneRegion * XianInteriors_GetRegions(void)
s32 XianInteriors_Initialize(void)
Places the interiors' effect objects; in the room behind the school, Hsu takes his pose.
static void XianInteriors_TalkToInnkeeper(void)
Offers a room from the counter side, or discusses travel through Xian.
u32 gXianInteriors_Exits[]
static void XianInteriors_TalkToArmorMerchant(void)
Opens the armor shop from its counter side, or discusses armor and kung fu.
struct ScenePlacement gXianInteriors_Placements[]
static void XianInteriors_FeizhiThanksParty(void)
Feizhi, when the party helped free Hsu, welcomes the party, looks at Hsu, then thanks the party and M...
static void XianInteriors_TalkToWeaponMerchant(void)
Opens the weapon shop from its counter side, or discusses martial arts.
struct SceneEntrance gXianInteriors_Entrances[]
const struct SceneEntrance * XianInteriors_GetEntrances(void)
struct SceneEvent gXianInteriors_Events[]
static void XianInteriors_AskAboutAltinMonsters(void)
Asks what the party knows about the monsters in Altin.
@ XIAN_INTERIORS_ENTRANCE_FROM_SCHOOL
@ ACTOR_XIAN_ITEM_MERCHANT
@ ACTOR_XIAN_WEAPON_MERCHANT
@ ACTOR_XIAN_ARMOR_MERCHANT