13#include "text/msg_ids.h"
63 s32 question = MsgSuhallaArentSurprisedFind;
114 s32 question = MsgSuhallaSupposeFolkBlown;
427 work->
fields.record->field26 = 0;
428 work->
fields.record->angle = 0x4000;
437 work->
fields.record->field26 = 0;
438 work->
fields.record->angle = 0x4000;
445 {0,
CONDITION_ALWAYS, 172, 0, 149,
FACING_SOUTH, 0, -1, -1, -1, -1, 0},
446 {1,
CONDITION_ALWAYS, 256, 0, 456,
FACING_NORTH, 0, 0, 280, 336, 480, 0},
447 {2,
CONDITION_ALWAYS, 432, 0, 728,
FACING_NORTH, 0, 312, 528, 552, 752, 0},
448 {3,
CONDITION_ALWAYS, 640, 0, 168,
FACING_NORTH, 0, 496, 16, 736, 192, 0},
449 {4,
CONDITION_ALWAYS, 112, 0, 168,
FACING_NORTH, 0, 0, 16, 240, 208, 0},
450 {5,
CONDITION_ALWAYS, 352, 0, 216,
FACING_NORTH, 0, 256, 16, 496, 232, 0},
451 {6,
CONDITION_ALWAYS, 432, 0, 630,
FACING_NORTH, 0, 312, 528, 552, 752, 0},
452 {7,
CONDITION_ALWAYS, 680, 0, 120,
FACING_WEST, 0, 496, 16, 736, 192, 0},
453 {10,
CONDITION_ALWAYS, 104, 0, 360,
FACING_NORTH, 0, 0, 280, 336, 480, 0},
454 {11,
CONDITION_ALWAYS, 152, 0, 360,
FACING_NORTH, 0, 0, 280, 336, 480, 0},
455 {12,
CONDITION_ALWAYS, 472, 0, 344,
FACING_SOUTH, 0, 344, 280, 584, 440, 0},
456 {13,
CONDITION_ALWAYS, 712, 0, 344,
FACING_SOUTH, 0, 600, 280, 840, 440, 0},
457 {14,
CONDITION_ALWAYS, 88, 0, 352,
FACING_SOUTH, 0, 0, 280, 336, 480, 0},
458 {15,
CONDITION_ALWAYS, 88, 0, 584,
FACING_NORTH, 0, 16, 528, 256, 688, 0},
464 83, 28, 356, 91, 36, 364, -1, 14,
465 83, -20, 596, 91, -12, 604, -1, 15,
466 -1, 0, 0, 0, 0, 0, 0, 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 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,...
static s32 Event_OpenMessage(s32 speaker, s32 flags)
static void Actor_SetDestination(s32 actor, s32 x, s32 z)
static void Actor_FaceDirection(s32 actor, s32 facing, s32 frames)
s32 Engine_EventChooseYesNo(s32 actor, s32 flags)
static void Actor_WalkToAndWait(s32 actor, s32 x, s32 z)
static void Actor_FaceActor(s32 actor, s32 target, s32 frames)
static void Actor_ShowEmote(s32 actor, s32 emote, s32 frames)
static void Actor_WalkByAndWait(s32 actor, s32 dx, s32 dz)
s32 Engine_EventOpenMessage(s32 speaker, s32 flags)
void Engine_GameFlagSet(s32 flag)
static void Event_ShowMessage(s32 speaker, s32 flags)
static void Event_PlayCue(s32 cue)
s32 Engine_GameFlagIsSet(s32 flag)
static void Actor_SetSpeed(s32 actor, s32 speed, s32 acceleration)
void Engine_ShopOpen(s32 shop, s32 keeper)
static void Camera_MoveTo(s32 fixed_x, s32 fixed_y, s32 fixed_z, s32 pan)
static void Actor_SetPosition(s32 actor, s32 fixed_x, s32 fixed_z)
void Engine_EventWait(s32 frames)
static struct FieldActor * Actor_Get(s32 actor)
#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 FIND_MESSAGE(message)
#define SCENE_EXIT(exit, scene, entrance)
@ TALK_FACE_PARTY_AND_BACK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
static void Event_End(void)
static void Actor_RunRepeatedMotion(s32 actor, s32 repeats)
static void Camera_WaitForMove(void)
static void Event_Begin(void)
static void Actor_StartRepeatedMotion(s32 actor, s32 repeats)
static void Actor_WaitForMove(s32 actor)
static void FieldMotion_LaunchFromFocusedObject(s32 actor, s32 dx, s32 dz, s32 facing)
static void Actor_SetAnimation(s32 actor, s32 animation)
static void Actor_SetAnimationAndWait(s32 actor, s32 animation)
static void Event_Wait(s32 frames)
static s32 Event_ChooseYesNo(s32 actor, s32 flags)
static void Actor_FaceEachOther(s32 actor, s32 other, s32 frames)
static void Event_SetMessage(s32 message)
Game flags, named where their meaning is shown.
#define FLAG_IODEM_MET_WOUNDED_SOLDIERS
Set at Babi's palace as his audience after Colosso begins; afterwards Suhalla's people talk of the To...
#define FLAG_BABI_SPOKE_AFTER_COLOSSO
Babi and Iodem have spoken with the party after Colosso.
#define FLAG_IODEM_AT_BABI_LIGHTHOUSE
Set with it: Iodem has come to Babi Lighthouse, and from then on he no longer leaves the party in Suh...
GameState, the game's state: play time, coins, the scene and the leader's position,...
struct GameState gGameState
The main-image routines scene overlays import.
s32 Engine_InnCheckIn(s32 mode, s32 objectId)
s32 Engine_ShopConfirmAct(s32 unitId)
Item numbers, named from the English release.
void Audio_PlayCueFromEventWork(void)
Starts the current scene's field music, chosen by Scene_ResolveInteractionResult.
Song and sound effect ids, indices into gSound_SongTable.
struct EventWork * gEventWork
void Engine_EventRequestExit()
void Engine_AudioPlayCue()
void Engine_EventSetMessage()
void Engine_EventShowMessage()
The running scene's event work: its placement and event tables, its actors, the triggers and exit it ...
s32 startTransition
SCENE_TRANSITION(style, variant).
s16 touchedTrigger
the step event a touch or exit event answers
s32 transitionFrames
frames
u16 message
the next message, advanced as each window opens
A field actor: a person or thing on the field with a position, motion toward a target,...
union FieldCoordinate x
16.16 fixed-point pixels
union FieldCoordinate z
16.16 fixed-point pixels
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,...
u16 facing
1/65536 turns (enum Facing)
An actor's animation object, seen for the flags and rotation that lay a wounded soldier in his bed.
A scene's exit region: the box that, while its condition holds, takes the party leader out through it...
u32 gSuhallaInteriorsExits[]
struct ScenePlacement gSuhallaInteriorsPlacements[]
struct SceneEvent gSuhallaInteriorsEventsAfterAudience[]
static void Event_TalkToShopkeeper(s32 actorId)
Spoken to facing north, across the counter, the shopkeeper opens the shop; otherwise the shopkeeper s...
s16 gSuhallaInteriorsRegions[]
struct SceneEntrance gSuhallaInteriorsEntrances[]
static void Event_AskIfBlownHere(s32 actorId)
A traveler asks whether the party was blown here on the way to Babi Lighthouse, and answers yes or no...
struct SceneEvent gSuhallaInteriorsEvents[]
static void Event_LeaveByExit(void)
The party leaves by the touched exit.
struct ScenePlacement gSuhallaInteriorsPlacementsAfterAudience[]
static void Event_IodemQuestionsWoundedSoldiers(void)
After Babi's audience, on entering the inn: Iodem steps out of the party and questions the two wounde...
static void Event_TalkToPriest(s32 actorId)
Spoken to facing north, across the counter, the priest offers the sanctum's services; otherwise the p...
@ SOLDIER_SOUTH
the wounded soldiers in the inn's beds
The integer types, TRUE, UNUSED and the fixed-address macros.
struct FieldCoordinate::@024321007066302143002254325121164243234242211074 part
A field actor, as its fields or as its bytes, set up as the houses load.
struct SceneActor::@276370343056364044073127153151310304323146113203 fields