28#include "text/msg_ids.h"
36#define SUHALLA_GATE_RETREAT_SCENE(currentScene) ((s32)&SceneId_SuhallaGate1)
38#define SUHALLA_GATE_RETREAT_SCENE(currentScene) (currentScene)
226 s32 destinationColumn;
324 destinationColumn = 7;
397 }
while (beat <= 11);
436 {0,
CONDITION_ALWAYS, 152, 0, 504,
FACING_SOUTH, 0, 32, 32, 272, 544, 0},
437 {1,
CONDITION_ALWAYS, 152, 0, 520,
FACING_NORTH, 0, 32, 32, 272, 544, 0},
438 {2,
CONDITION_ALWAYS, 248, 0, 280,
FACING_WEST, 0, 32, 32, 272, 544, 0},
439 {3,
CONDITION_ALWAYS, 136, 0, 304,
FACING_SOUTH, 0, 32, 32, 272, 544, 0},
440 {4,
CONDITION_ALWAYS, 360, 0, 296,
FACING_EAST, 0, 336, 32, 736, 496, 0},
441 {5,
CONDITION_ALWAYS, 664, 0, 424,
FACING_WEST, 0, 336, 32, 736, 496, 0},
446 {1,
CONDITION_ALWAYS, 40, 0, 304,
FACING_EAST, 0, 16, 32, 416, 480, 0},
447 {2,
CONDITION_ALWAYS, 392, 0, 368,
FACING_WEST, 0, 16, 32, 416, 480, 0},
448 {3,
CONDITION_ALWAYS, 40, 0, 912,
FACING_EAST, 0, 16, 608, 720, 1008, 0},
449 {4,
CONDITION_ALWAYS, 680, 0, 904,
FACING_WEST, 0, 16, 608, 720, 1008, 0},
450 {5,
CONDITION_ALWAYS, 616, 0, 920,
FACING_SOUTH, 0, 16, 608, 720, 1008, 0},
455 {1,
CONDITION_ALWAYS, 72, 0, 264,
FACING_NORTH, 0, 24, 24, 280, 256, 0},
456 {2,
CONDITION_ALWAYS, 184, 0, 168,
FACING_SOUTH, 0, 24, 24, 280, 256, 0},
457 {3,
CONDITION_ALWAYS, 280, 0, 344,
FACING_SOUTH, 0, 208, 288, 704, 640, 0},
458 {4,
CONDITION_ALWAYS, 664, 0, 616,
FACING_NORTH, 0, 208, 288, 704, 640, 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.
The engine calls the debug menus import, and their palette swatch tiles.
Djinn numbers, named from the English release.
The scene script layer: the engine services a scene's events call, declared once (Engine_EventBegin,...
static void Actor_SetDestination(s32 actor, s32 x, s32 z)
static void Actor_FaceDirection(s32 actor, s32 facing, s32 frames)
void Engine_ActorSetAnimationAndWait(s32 actor, s32 animation)
static void Event_ShowMessageAndWait(s32 speaker, s32 flags, s32 frames)
s32 Engine_EventChooseYesNo(s32 actor, s32 flags)
static void Actor_WalkToAndWait(s32 actor, s32 x, s32 z)
static void Map_CopyCellsTo(s32 srcX, s32 srcY, s32 destX, s32 destY, s32 width, s32 height)
static void Actor_WalkTo(s32 actor, s32 x, s32 z)
static void Actor_ShowEmote(s32 actor, s32 emote, s32 frames)
s32 Engine_EventOpenMessage(s32 speaker, s32 flags)
void Engine_GameFlagSet(s32 flag)
void Engine_GameFlagClear(s32 flag)
void Engine_ActorWaitForMove(s32 actor)
static void Map_CopyCellAttributes(s32 srcX, s32 srcY, s32 width, s32 height, s32 destX, s32 destY)
void Engine_ActorRunRepeatedMotion(s32 actor, s32 repeats)
static void Event_PlayCue(s32 cue)
static void Actor_SetChildValue(s32 actor, s32 value)
s32 Engine_GameFlagIsSet(s32 flag)
void Engine_ActorStartRepeatedMotion(s32 actor, s32 repeats)
static s32 Event_AskYesNo(s32 speaker, s32 flags)
static void Actor_CenterAndWalk(s32 actor, s32 priority, s32 dz)
static void Actor_SetSpeed(s32 actor, s32 speed, s32 acceleration)
static void Actor_SetPosition(s32 actor, s32 fixed_x, s32 fixed_z)
void Engine_EventWait(s32 frames)
static void Actor_SetAttachedEffect(s32 actor, s32 effect)
static struct FieldActor * Actor_Get(s32 actor)
The scene table formats: entrances, exits, placements and events, and the macros that write them.
#define SCENE_EXITS(scene)
#define FIND_PSYNERGY_STONE
#define SCENE_EXIT(exit, scene, entrance)
@ TALK_FACE_PARTY_AND_BACK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define TOUCH_WALKING_INTO(facing)
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_SHOW_LOCATION_NAME
#define FLAG_SUHALLA_GATE_ENTERED_FROM_SOUTH
The side the party last came through, which Retreat returns them to.
#define FLAG_SUHALLA_GATE_SOLDIER_VANISHED
after his last words
#define FLAG_BABI_SPOKE_AFTER_COLOSSO
Babi and Iodem have spoken with the party after Colosso.
#define FLAG_SUHALLA_GATE_ATTACK_SEEN
Iodem has questioned the guards.
#define FLAG_SUHALLA_GATE_ENTERED_FROM_EAST
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.
s32 gSuhallaGateWoundedFlippedNoCollision[]
s32 gSuhallaGateWoundedNoCollision[]
Item numbers, named from the English release.
static void Event_TalkToEastGuard(void)
The east guard: wants authorization, or once the guards suspect Kalay, asks twice whether the party c...
The reel game's title lettering.
Field object scripts: one s32 command word, then its operands, as gScriptObject_CommandTable runs the...
#define SC_SET(w, v)
Write a work value.
#define SC_END
Return to the main script.
void Field_RequestDjinnBattle(s32 flag, s32 no)
Sets up the battle with Djinni number no.
Scene numbers, named after their places.
char SceneId_SuhallaGate1
char SceneId_LunpaSuhalla
char SceneId_SuhallaGate2
char SceneId_SuhallaGate3
Song and sound effect ids, indices into gSound_SongTable.
void Engine_ActorSetAnimation()
struct EventWork * gEventWork
void Engine_EventRequestExit()
void Engine_ActorSetPosition(u32 actor, s32 x, s32 z)
void Engine_EventEnd(void)
void Engine_AudioPlayCue()
void Engine_EventBegin(void)
void Engine_EventSetMessage()
void Engine_EventShowMessage()
s16 touchedTrigger
the step event a touch or exit event answers
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
s32 scaleY
16.16 fixed point, 0x10000 full size
s16 retreatEntrance
where Retreat goes; the group's first entrance
s16 retreatScene
where Retreat goes; the group's first entrance
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...
static void Event_FightDjinni(void)
Talking to the Djinni starts its battle.
static void Event_IodemQuestionsGuards(void)
After Babi's audience, on reaching the gate: Iodem steps out of the party and asks what happened.
struct SceneEvent gSuhallaGateEventsOther[]
#define SUHALLA_GATE_RETREAT_SCENE(currentScene)
struct ScenePlacement gSuhallaGatePlacements2[]
struct SceneEvent gSuhallaGateEvents2[]
static void Event_EnterHouse(void)
The leader walks north into the house's door: it opens in two frames and the leader steps inside.
s32 gSuhallaGateWoundedFlipped[]
struct SceneEntrance gSuhallaGateEntrances3[]
@ LUNPA_SUHALLA_GATE_HOUSE
static void Event_LeaveForWorldMap(void)
The party leaves for the world map by trigger 1 or 5, forgetting the side it came in by.
struct SceneEntrance gSuhallaGateEntrancesOther[]
s32 gSuhallaGateWounded[]
struct ScenePlacement gSuhallaGatePlacements1[]
struct SceneEntrance gSuhallaGateEntrances2[]
struct ScenePlacement gSuhallaGatePlacements1AfterAudience[]
struct SceneEvent gSuhallaGateEvents3[]
static void Event_GuardsBlockPassage(void)
Before Babi's audience, as the party nears the passage: the two guards step together in front of it,...
struct ScenePlacement gSuhallaGatePlacementsOther[]
@ GUARD_WEST
At the gate itself.
@ VANISHING_SOLDIER
After Babi's audience: the soldier east of the gate who tells of the attack on Venus Lighthouse and v...
static void Event_SoldierVanishes(void)
The soldier east of the gate gasps that Venus Lighthouse was attacked by strange wanderers,...
The system's routines and globals: interrupts, BIOS sound bias, random numbers and sleep.
The integer types, TRUE, UNUSED and the fixed-address macros.
struct FieldCoordinate::@024321007066302143002254325121164243234242211074 part
s32 fixed
16.16 fixed-point pixels
The patch levels: our groups of the measured changes from the Japanese release.