The houses, shops and inn of Vault while Hammet's rod is missing. More...
Go to the source code of this file.
Macros | |
| #define | VAULT_INTERIORS_ENTRY_ACTOR_Z PIXELS(464) |
| #define | VAULT_INTERIORS_CORNERED_FRAMES 30 |
| A cornering lasts half a second before the chase raises an event. | |
| #define | NO_CONNECTION {255, 0xff, {0, 0}} |
| #define | CONNECTION(stop, direction) |
Functions | |
| static void | VaultInteriors_IvanJoinsRodSearch (void) |
| Ivan thanks them, they exchange names, and he shows Isaac and Garet Mind Read; he joins the party. | |
| static void | VaultInteriors_DiscussMindReading (void) |
| Shows the party's branching conversation about what Ivan learned: the stolen goods are hidden in the inn, which they must search. | |
| static void | VaultInteriors_AdvanceSuspectRoute (s32 actor, s32 expected, s32 next, const s32 *actions) |
| Installs a route script only when the suspect is in its expected state. | |
| static void | VaultInteriors_FaceSuspectsTowardLeader (void) |
| Keeps both suspects facing the leader while they evade the party. | |
| static void | VaultInteriors_LoseToThieves (void) |
| Shows the thieves' reaction after the party loses their battle: the party lies beaten and the thieves keep the roofer as their hostage. | |
| static void | VaultInteriors_ConfrontThievesAgain (void) |
| Arranges the attic confrontation and restarts the thieves' battle. | |
| static void | VaultInteriors_DefeatThieves (void) |
| Stages the defeated thieves and gathers the townspeople in the attic. | |
| static void | VaultInteriors_ReturnStolenGoods (void) |
| Returns the stolen goods and rod, thanks the party, and clears the attic. | |
| static void | VaultInteriors_OpenWindowTransition (void) |
| Opens the window transition and waits one frame after it finishes. | |
| static void | VaultInteriors_ShowMessageAndWait (s32 actorId, s32 waitFrames) |
| static void | VaultInteriors_FaceActorAndWait (s32 actorId, s32 targetId, s32 waitFrames) |
| static void | VaultInteriors_FaceEachOtherAndWait (s32 firstId, s32 secondId, s32 waitFrames) |
| static void | VaultInteriors_PlayAnimationAndWait (s32 actorId, s32 animation, s32 waitFrames) |
| Waits for the animation to change before the following pause. | |
| static void | VaultInteriors_BeginMindRead (s32 casterId, s32 targetId) |
| Begins Mind Read, chooses its target, and shows its opening effect. | |
| static void | VaultInteriors_EndMindRead (void) |
| Finishes Mind Read and releases its scene effect objects. | |
| static void | VaultInteriors_UpdateActorStops (void) |
| Steers Ivan and both suspects through the graph and detects a sustained cornering. | |
| static void | VaultInteriors_StartActorStops (void) |
| Arranges the chase, constrains its camera, and starts the route callback. | |
| const struct SceneEntrance * | Scene_GetEntrances (void) |
| const struct SceneRegion * | Scene_GetRegions (void) |
| Returns the one exit region: the box around (648, 416) in the room with the crate, which takes exit 13 back out to Vault. | |
| const u32 * | Scene_GetExits (void) |
| Both scenes share one exit table. | |
| const struct ScenePlacement * | Scene_GetPlacements (void) |
| Places the townspeople, or, for the inn's loft (entrances 15 to 17), the roofer, the mayor, the thieves, their crates and the found treasures. | |
| static void | Event_JumpAcrossRoofGap (void) |
| Facing north or south across the gap in the roof, the leader jumps it. | |
| static void | Event_CheckCrateMoved (void) |
| Once the crate has been moved aside to column 42, the passage behind it opens. | |
| static void | Event_TalkToWeaponMerchant (void) |
| Across the counter the weapon shop opens; otherwise the merchant lost expensive goods too, or found the stolen weapons rusted in the cemetery. | |
| static void | Event_TalkToArmorMerchant (void) |
| Across the counter the armor shop opens; otherwise the merchant wants the thieves to pay, or advises preparing for the cave in the Goma Range. | |
| static void | Event_TalkToInnkeeper (void) |
| Across the counter the inn opens; otherwise the innkeeper defends the guests everyone suspects, or learns the goods were hidden in his loft. | |
| static void | Event_GaretRefusesToLeave (void) |
| Garet refuses to leave. | |
| static void | Event_SearchEmptyBarrel (void) |
| Isaac checks the barrel but doesn't find anything. | |
| static void | Event_SearchEmptyChest (void) |
| Isaac checks the chest, but it is empty. | |
| const struct SceneEvent * | Scene_GetEvents (void) |
| Returns the loft's events for entrances 15 to 17, else the houses' events, which change once FLAG_VAULT_THIEVES_JAILED is set. | |
| static void | VaultInteriors_StandAndShowMessage (s32 x) |
| Stands the speaker, faces the leader, and shows the selected message. | |
| static void | VaultInteriors_AskYesNoAndShowReply (s32 x) |
| Faces the leader and selects the next reply when the answer is no. | |
| static void | Event_ChildAsksAboutTravel (void) |
| The child asks about travel. | |
| static void | Event_OfferIvansSecret (void) |
| Offers Ivan's secret. | |
| static void | Event_TalkToItemMerchant (void) |
| Across the counter the item shop opens; otherwise a greeting, or, after the thieves are jailed, the bridge is out. | |
| static void | Event_TalkAboutRocks (void) |
| The gem owner's wife wishes their rocks were gems, or, after the thieves are jailed, is glad they were caught before stealing the gem. | |
| static void | Event_TalkAboutMissingThings (void) |
| Talks about missing things, or, after the thieves are jailed, says they hid the treasure in the loft and more in the cemetery. | |
| static void | Event_MayorAsksHelpForIvan (void) |
| The mayor asks for someone to help Ivan; once the party has agreed, he thanks them the first time and asks them to look after Ivan after that. | |
| static void | Event_WarnAboutThreeStrangers (void) |
| The three strangers have fooled the innkeeper and his wife. | |
| static void | Event_SuspectedLeaderDodges (void) |
| The suspected leader cries out and runs to his next spot, chosen by the way he faces and where he is on his route. | |
| static void | VaultInteriors_ApplySecondSuspectRoute (struct FieldActor *actor, s32 scriptRow, s32 routePair, u16 routeDelta) |
| Selects a response script and advances the second suspect's route state. | |
| static void | Event_SuspectedThiefDodges (void) |
| The suspected thief cries out and runs to his next spot. | |
| static void | Event_AskWhetherThievesCameFromLunpa (void) |
| Asks whether the thieves came from Lunpa. | |
| static void | Event_ChildWorriesAboutFather (void) |
| The child's father worries about the prisoners from Lunpa. | |
| static void | Event_AskAboutDefeatingThieves (void) |
| Asks about defeating the thieves. "I heard you defeated those thieves!". | |
| static void | Event_MayorGivesWaterOfLife (void) |
| After the thieves are jailed, the mayor thanks Isaac and gives the promised Water of Life, if there is room; then asks whether the party is heading beyond the Goma Range, and points them to the cave on the way to Bilibin. | |
| static void | Event_OfferBones (void) |
| The bone giver offers leftover bones from dinner; a yes gets a Bone if there is room, a no a nod. | |
| static void | Event_ReadMindOnRock (void) |
| Mind Read on the wife: let me see that rock, or maybe it is worthless. | |
| static void | Event_ReadChildMind (void) |
| Mind Read on the child: what is the outside world like, or Father looks sad. | |
| static void | Event_ReadMindOnThieves (void) |
| Mind Read on Grandpa: could they be thieves? | |
| static void | Event_ReadMayorMind (void) |
| Mind Read on the mayor: a laugh, or the cave in the Goma Range is dangerous, but the party will be okay. | |
| static void | Event_ReadBoneGiverMind (void) |
| Mind Read on the bone giver: the master and his wife are blinded by money; after the thieves are jailed, hungry while cooking, or, once a Bone was given, wondering about calcium. | |
| static void | Event_MeetIvan (void) |
| Talking to Ivan at the mayor's: the first time, he reads the two's minds, admits his strange powers and learns they are called Psynergy; then he asks for help finding the rod. | |
| static void | Event_FreeRooferAndConfrontThieves (void) |
| In the loft, Isaac cuts the roofer free; the three thieves arrive, boast of Lunpa and Dodonpa, ask to be let go, and attack. | |
| static void | Event_GoToEntrance11 (void) |
| The party walks through to entrance 11. | |
| static void | Event_ClimbToAttic (void) |
| The party climbs up into the inn's loft. | |
| static void | Event_LeaveAttic (void) |
| Leaving the loft before the thieves are confronted, the party hears the roofer groan. | |
| static void | Event_ApproachSuspects (void) |
| The suspects at the inn spot that weird kid with the party and run from him. | |
| static void | Event_DiscussSuspiciousGuests (void) |
| Stepping out, the party talks it over: Ivan can't read their minds while they run; Garet tells Isaac to take the lead and corner them. | |
| static void | Event_BeginCorneringSuspects (void) |
| The party sets out to corner the two suspects. | |
| static void | VaultInteriors_ResetSuspectRoutes (void) |
| Has the suspects react to the party's return and resets their route states. | |
| static void | VaultInteriors_SetPartyImagePriority (void) |
| Sets the three party images to the priority used during the mind-reading scene. | |
| static void | Event_ReadCorneredSuspectsMinds (void) |
| Once a suspect is cornered, Garet calls Ivan and Ivan reads their minds. | |
| static void | Event_AdvanceSuspectRoutes (void) |
| The leader stepping on one of the route triggers 11 to 18 moves the fleeing suspects on to their next spots. | |
| s32 | Scene_Initialize (void) |
| On arrival: restores each room for the story so far, and plays the loft's scenes: the tied-up roofer, the rematch, and the defeat or victory. | |
| static s32 | VaultInteriors_GetIvanVenusDjinnCount (void) |
| Counts the Venus Djinn Ivan holds, which he gives back before he leaves the party. | |
| static struct VaultInteriorsStop * | VaultInteriors_FindStopAtPosition (s32 *position) |
| Finds the route node containing the actor's position on the eight-pixel grid. | |
| static struct VaultInteriorsStop * | VaultInteriors_SnapToNearestStop (struct VaultInteriorsStop *node, s16 *requestedFacing) |
| Chooses the outgoing connection nearest the requested facing. | |
| static s32 | VaultInteriors_IsActorWithinEightPixels (s32 x, s32 z, s32 id) |
| Checks whether an actor's destination or current position lies within eight pixels. | |
| static s32 | VaultInteriors_IsActorWithinSixteenPixels (s32 x, s32 z, s32 id) |
| Checks whether an actor's destination or current position lies within sixteen pixels. | |
| static s32 | VaultInteriors_CheckStopOccupancy (struct VaultInteriorsStop *stop) |
| Reserves a full cell around the leader and half a cell around each actor following a route. | |
| static void | VaultInteriors_MoveActorToStop (struct FieldActor *actor, struct VaultInteriorsStop *stop) |
| Sets the actor's destination to the route stop's cell center. | |
The houses, shops and inn of Vault while Hammet's rod is missing.
Definition in file vault_interiors.c.
| #define VAULT_INTERIORS_ENTRY_ACTOR_Z PIXELS(464) |
Definition at line 46 of file vault_interiors.c.
Referenced by Scene_Initialize().
| #define VAULT_INTERIORS_CORNERED_FRAMES 30 |
A cornering lasts half a second before the chase raises an event.
Definition at line 50 of file vault_interiors.c.
Referenced by VaultInteriors_UpdateActorStops().
| #define NO_CONNECTION {255, 0xff, {0, 0}} |
Definition at line 3229 of file vault_interiors.c.
| #define CONNECTION | ( | stop, | |
| direction ) |
Definition at line 3230 of file vault_interiors.c.
The chase adds the blocked-suspect mask (1 the leader, 2 the thief) to 200.
| Enumerator | |
|---|---|
| VAULT_INTERIORS_CORNERED_EVENT_BASE | |
| VAULT_INTERIORS_LEADER_CORNERED | |
| VAULT_INTERIORS_THIEF_CORNERED | |
| VAULT_INTERIORS_BOTH_CORNERED | |
Definition at line 53 of file vault_interiors.c.
| anonymous enum |
The townspeople, named by what they say.
Definition at line 61 of file vault_interiors.c.
| anonymous enum |
Place flags of Vault's group (0x300 to 0x3ff, kept while the party stays in Vault and its buildings).
| Enumerator | |
|---|---|
| FLAG_SUSPECTS_FLEEING | Set while the two suspects run from the party, until the party steps aside to talk it over. |
Definition at line 95 of file vault_interiors.c.
| anonymous enum |
The inn's loft (entrances 15 to 17), where the thieves hid the stolen goods.
Definition at line 107 of file vault_interiors.c.
|
static |
Ivan thanks them, they exchange names, and he shows Isaac and Garet Mind Read; he joins the party.
Called by Event_MeetIvan when the party agrees to help. Adds Ivan to the party ("Ivan joined your party!").
Definition at line 944 of file vault_interiors.c.
Referenced by Event_MeetIvan(), and VaultInteriors_IvanJoinsRodSearch().
|
static |
Shows the party's branching conversation about what Ivan learned: the stolen goods are hidden in the inn, which they must search.
Called by Event_ReadCorneredSuspectsMinds while the screen is closed; sets the party outside the room and opens the screen on them.
Definition at line 1696 of file vault_interiors.c.
Referenced by Event_ReadCorneredSuspectsMinds(), and VaultInteriors_DiscussMindReading().
|
static |
Installs a route script only when the suspect is in its expected state.
Definition at line 1883 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and VaultInteriors_AdvanceSuspectRoute().
|
static |
Keeps both suspects facing the leader while they evade the party.
Run each frame as a scene callback, from Event_ApproachSuspects until Event_DiscussSuspiciousGuests, and again once their minds are read.
Definition at line 2050 of file vault_interiors.c.
Referenced by Event_ApproachSuspects(), Event_DiscussSuspiciousGuests(), Event_ReadCorneredSuspectsMinds(), Scene_Initialize(), and VaultInteriors_FaceSuspectsTowardLeader().
|
static |
Shows the thieves' reaction after the party loses their battle: the party lies beaten and the thieves keep the roofer as their hostage.
Called by Scene_Initialize at entrance 16, the battle's defeat destination; the scene then takes exit 16 to Vault's Sanctum.
Definition at line 2066 of file vault_interiors.c.
Referenced by Scene_Initialize(), and VaultInteriors_LoseToThieves().
|
static |
Arranges the attic confrontation and restarts the thieves' battle.
"They won't go away, will they? They're back!"
Called by Scene_Initialize at the loft's entrance 15 once FLAG_VAULT_THIEVES_CONFRONTED is set. Starts the same battle as Event_FreeRooferAndConfrontThieves.
Definition at line 2129 of file vault_interiors.c.
Referenced by Scene_Initialize(), and VaultInteriors_ConfrontThievesAgain().
|
static |
Stages the defeated thieves and gathers the townspeople in the attic.
Called by Scene_Initialize at entrance 17, the battle's victory destination, unless the party is only coming back to where it was; then VaultInteriors_ReturnStolenGoods follows.
Definition at line 2195 of file vault_interiors.c.
Referenced by Scene_Initialize(), and VaultInteriors_DefeatThieves().
|
static |
Returns the stolen goods and rod, thanks the party, and clears the attic.
Called by Scene_Initialize after VaultInteriors_DefeatThieves. Sets FLAG_VAULT_THIEVES_JAILED; the thieves are led away, the mayor's urn and the Sanctum's gold statue come out of the crates, Ivan takes the Shaman's Rod, gives back any Venus Djinn and leaves the party, and every actor of the loft is cleared away.
Definition at line 2429 of file vault_interiors.c.
Referenced by Scene_Initialize(), and VaultInteriors_ReturnStolenGoods().
|
static |
Opens the window transition and waits one frame after it finishes.
Definition at line 2884 of file vault_interiors.c.
Referenced by Scene_Initialize(), VaultInteriors_ConfrontThievesAgain(), VaultInteriors_DefeatThieves(), VaultInteriors_LoseToThieves(), and VaultInteriors_OpenWindowTransition().
Definition at line 2894 of file vault_interiors.c.
Referenced by Event_ApproachSuspects(), Event_DiscussSuspiciousGuests(), Event_FreeRooferAndConfrontThieves(), Event_MayorGivesWaterOfLife(), Event_MeetIvan(), Event_ReadCorneredSuspectsMinds(), Scene_Initialize(), VaultInteriors_ConfrontThievesAgain(), VaultInteriors_DefeatThieves(), VaultInteriors_DiscussMindReading(), VaultInteriors_IvanJoinsRodSearch(), VaultInteriors_LoseToThieves(), VaultInteriors_ResetSuspectRoutes(), VaultInteriors_ReturnStolenGoods(), and VaultInteriors_ShowMessageAndWait().
Definition at line 2899 of file vault_interiors.c.
Referenced by Event_ApproachSuspects(), Event_DiscussSuspiciousGuests(), Event_FreeRooferAndConfrontThieves(), VaultInteriors_DefeatThieves(), VaultInteriors_DiscussMindReading(), VaultInteriors_FaceActorAndWait(), VaultInteriors_IvanJoinsRodSearch(), VaultInteriors_LoseToThieves(), and VaultInteriors_ReturnStolenGoods().
Definition at line 2905 of file vault_interiors.c.
Referenced by Event_DiscussSuspiciousGuests(), Event_FreeRooferAndConfrontThieves(), Event_MayorGivesWaterOfLife(), Event_MeetIvan(), Event_OfferBones(), VaultInteriors_AskYesNoAndShowReply(), VaultInteriors_ConfrontThievesAgain(), VaultInteriors_DefeatThieves(), VaultInteriors_DiscussMindReading(), VaultInteriors_FaceEachOtherAndWait(), VaultInteriors_IvanJoinsRodSearch(), VaultInteriors_ReturnStolenGoods(), and VaultInteriors_StandAndShowMessage().
Waits for the animation to change before the following pause.
Definition at line 2912 of file vault_interiors.c.
Referenced by Event_DiscussSuspiciousGuests(), Event_FreeRooferAndConfrontThieves(), Event_MayorAsksHelpForIvan(), Event_MayorGivesWaterOfLife(), Event_MeetIvan(), VaultInteriors_ConfrontThievesAgain(), VaultInteriors_DefeatThieves(), VaultInteriors_DiscussMindReading(), VaultInteriors_IvanJoinsRodSearch(), VaultInteriors_LoseToThieves(), VaultInteriors_PlayAnimationAndWait(), and VaultInteriors_ReturnStolenGoods().
Begins Mind Read, chooses its target, and shows its opening effect.
Definition at line 2920 of file vault_interiors.c.
Referenced by Event_MeetIvan(), Event_ReadCorneredSuspectsMinds(), VaultInteriors_BeginMindRead(), VaultInteriors_DefeatThieves(), and VaultInteriors_IvanJoinsRodSearch().
|
static |
Finishes Mind Read and releases its scene effect objects.
Definition at line 2929 of file vault_interiors.c.
Referenced by Event_MeetIvan(), Event_ReadCorneredSuspectsMinds(), VaultInteriors_DefeatThieves(), VaultInteriors_EndMindRead(), and VaultInteriors_IvanJoinsRodSearch().
|
static |
Steers Ivan and both suspects through the graph and detects a sustained cornering.
Run each frame as a scene callback from VaultInteriors_StartActorStops until Event_ReadCorneredSuspectsMinds removes it. Raises event 200 plus the blocked suspects (1 the leader, 2 the thief) after thirty frames with at least one suspect blocked; a frame when both can move restarts the wait.
Definition at line 3080 of file vault_interiors.c.
Referenced by Event_ReadCorneredSuspectsMinds(), VaultInteriors_StartActorStops(), and VaultInteriors_UpdateActorStops().
|
static |
Arranges the chase, constrains its camera, and starts the route callback.
Called by Event_BeginCorneringSuspects. Starts VaultInteriors_UpdateActorStops and the chase music, MUS_009.
Definition at line 3194 of file vault_interiors.c.
Referenced by Event_BeginCorneringSuspects(), and VaultInteriors_StartActorStops().
| const struct SceneEntrance * Scene_GetEntrances | ( | void | ) |
Definition at line 148 of file vault_interiors.c.
| const struct SceneRegion * Scene_GetRegions | ( | void | ) |
Returns the one exit region: the box around (648, 416) in the room with the crate, which takes exit 13 back out to Vault.
Definition at line 154 of file vault_interiors.c.
| const u32 * Scene_GetExits | ( | void | ) |
Both scenes share one exit table.
Definition at line 158 of file vault_interiors.c.
| const struct ScenePlacement * Scene_GetPlacements | ( | void | ) |
Places the townspeople, or, for the inn's loft (entrances 15 to 17), the roofer, the mayor, the thieves, their crates and the found treasures.
Definition at line 162 of file vault_interiors.c.
|
static |
Facing north or south across the gap in the roof, the leader jumps it.
Reached by walking onto cell code 40. Then copies the cell (41, 85) or (43, 85) over the gap's cell (42, 85), whichever side the leader faced.
Definition at line 220 of file vault_interiors.c.
Referenced by Event_JumpAcrossRoofGap().
|
static |
Once the crate has been moved aside to column 42, the passage behind it opens.
Reached by Move on the crate (actor 26) until FLAG_VAULT_CRATE_MOVED is set; sets it when the crate has reached column 42.
Definition at line 267 of file vault_interiors.c.
Referenced by Event_CheckCrateMoved().
|
static |
Across the counter the weapon shop opens; otherwise the merchant lost expensive goods too, or found the stolen weapons rusted in the cemetery.
Reached by talking to the weapon merchant (actor 19), before and after the thieves are jailed (FLAG_VAULT_THIEVES_JAILED picks the line). The armor merchant, the inn and the item shop below work the same way: the counter is between them when the leader faces north (0xa001 to 0xdfff).
Definition at line 286 of file vault_interiors.c.
|
static |
Across the counter the armor shop opens; otherwise the merchant wants the thieves to pay, or advises preparing for the cave in the Goma Range.
Reached by talking to the armor merchant (actor 20).
Definition at line 307 of file vault_interiors.c.
|
static |
Across the counter the inn opens; otherwise the innkeeper defends the guests everyone suspects, or learns the goods were hidden in his loft.
Reached by talking to the innkeeper (actor 23).
Definition at line 328 of file vault_interiors.c.
|
static |
Garet refuses to leave.
"We don't have time for that, Isaac!"
Reached through raised event 250, which the engine raises in place of a menu or a shortcut while FLAG_MENUS_RAISE_EVENT is set, as the party corners the suspects.
Definition at line 352 of file vault_interiors.c.
Referenced by Event_GaretRefusesToLeave().
|
static |
Isaac checks the barrel but doesn't find anything.
Reached by searching cell code 41 before the thieves are jailed; after, the same spot holds the Bone (Vault_FindBone).
Definition at line 364 of file vault_interiors.c.
Referenced by Event_SearchEmptyBarrel().
|
static |
Isaac checks the chest, but it is empty.
Reached by talking to one of the loft's three crates (actors 15 to 17).
Definition at line 374 of file vault_interiors.c.
Referenced by Event_SearchEmptyChest().
| const struct SceneEvent * Scene_GetEvents | ( | void | ) |
Returns the loft's events for entrances 15 to 17, else the houses' events, which change once FLAG_VAULT_THIEVES_JAILED is set.
Definition at line 383 of file vault_interiors.c.
|
static |
Stands the speaker, faces the leader, and shows the selected message.
Definition at line 397 of file vault_interiors.c.
Referenced by Event_ChildWorriesAboutFather(), Event_MayorAsksHelpForIvan(), Event_TalkAboutMissingThings(), Event_TalkAboutRocks(), Event_WarnAboutThreeStrangers(), and VaultInteriors_StandAndShowMessage().
|
static |
Faces the leader and selects the next reply when the answer is no.
Definition at line 406 of file vault_interiors.c.
Referenced by Event_AskAboutDefeatingThieves(), Event_AskWhetherThievesCameFromLunpa(), Event_ChildAsksAboutTravel(), Event_OfferIvansSecret(), Event_TalkToItemMerchant(), and VaultInteriors_AskYesNoAndShowReply().
|
static |
The child asks about travel.
"Hey, mister! Is it fun to see strange new places?"
Reached by talking to the child (actor 11) before the thieves are jailed.
Definition at line 419 of file vault_interiors.c.
Referenced by Event_ChildAsksAboutTravel().
|
static |
Offers Ivan's secret.
"Ivan has great powers. Wouldn't you like to know what they are?"
Reached by talking to actor 15 until FLAG_VAULT_IVAN_JOINED_ROD_SEARCH is set; then the row after it tells the secret: Ivan can talk with animals.
Definition at line 432 of file vault_interiors.c.
Referenced by Event_OfferIvansSecret().
|
static |
Across the counter the item shop opens; otherwise a greeting, or, after the thieves are jailed, the bridge is out.
"Did you just arrive in town today?"
Reached by talking to the item merchant (actor 21).
Definition at line 444 of file vault_interiors.c.
|
static |
The gem owner's wife wishes their rocks were gems, or, after the thieves are jailed, is glad they were caught before stealing the gem.
Reached by talking to the gem owner's wife (actor 9).
Definition at line 464 of file vault_interiors.c.
Referenced by Event_TalkAboutRocks().
|
static |
Talks about missing things, or, after the thieves are jailed, says they hid the treasure in the loft and more in the cemetery.
"Is it just me, or am I missing something?"
Reached by talking to Grandpa (actor 12).
Definition at line 480 of file vault_interiors.c.
Referenced by Event_TalkAboutMissingThings().
|
static |
The mayor asks for someone to help Ivan; once the party has agreed, he thanks them the first time and asks them to look after Ivan after that.
Reached by talking to the mayor (actor 16) before the thieves are jailed. Sets FLAG_VAULT_MAYOR_THANKED_PARTY with the thanks.
Definition at line 496 of file vault_interiors.c.
Referenced by Event_MayorAsksHelpForIvan().
|
static |
The three strangers have fooled the innkeeper and his wife.
Reached by talking to the bone giver (actor 18) before the thieves are jailed.
Definition at line 521 of file vault_interiors.c.
Referenced by Event_WarnAboutThreeStrangers().
|
static |
The suspected leader cries out and runs to his next spot, chosen by the way he faces and where he is on his route.
"Ow! Stop it!"
Reached by Mind Read on him (actor 24), and by talking to him once FLAG_VAULT_SUSPECTS_MIND_READ is set (before, he only says Ivan creeps him out); neither while the party corners him. His timer holds his place on the six-step route, wrapping from 5 to 0.
Definition at line 535 of file vault_interiors.c.
Referenced by Event_SuspectedLeaderDodges().
|
inlinestatic |
Selects a response script and advances the second suspect's route state.
Definition at line 588 of file vault_interiors.c.
Referenced by Event_SuspectedThiefDodges(), and VaultInteriors_ApplySecondSuspectRoute().
|
static |
The suspected thief cries out and runs to his next spot.
"No! Leave me alone!"
Reached as Event_SuspectedLeaderDodges is, on actor 25. His timer holds his place on his route (4 at its start).
Definition at line 601 of file vault_interiors.c.
Referenced by Event_SuspectedThiefDodges().
|
static |
Asks whether the thieves came from Lunpa.
"Did those thieves come from Lunpa?"
Reached by talking to the wary neighbor (actor 10) after the thieves are jailed; the child and actor 14 below are reached the same way.
Definition at line 653 of file vault_interiors.c.
Referenced by Event_AskWhetherThievesCameFromLunpa().
|
static |
The child's father worries about the prisoners from Lunpa.
Definition at line 661 of file vault_interiors.c.
Referenced by Event_ChildWorriesAboutFather().
|
static |
Asks about defeating the thieves. "I heard you defeated those thieves!".
Definition at line 669 of file vault_interiors.c.
Referenced by Event_AskAboutDefeatingThieves().
|
static |
After the thieves are jailed, the mayor thanks Isaac and gives the promised Water of Life, if there is room; then asks whether the party is heading beyond the Goma Range, and points them to the cave on the way to Bilibin.
Reached by talking to the mayor (actor 16) after the thieves are jailed. Gives the Water of Life and sets FLAG_VAULT_WATER_OF_LIFE_RECEIVED, once; with a full bag he says to come back for it.
Definition at line 683 of file vault_interiors.c.
Referenced by Event_MayorGivesWaterOfLife().
|
static |
The bone giver offers leftover bones from dinner; a yes gets a Bone if there is room, a no a nod.
Reached by talking to the bone giver (actor 18) after the thieves are jailed, while the leader is not beside the Bone on the floor (FLAG_SCENE_TEMP_50 clear). Gives a Bone and sets FLAG_VAULT_BONE_RECEIVED.
Definition at line 722 of file vault_interiors.c.
Referenced by Event_OfferBones(), and Event_OfferBones().
|
static |
Mind Read on the wife: let me see that rock, or maybe it is worthless.
Reached by Mind Read on the gem owner's wife (actor 9); the Mind Read events below are reached the same way on the actor each names, before and after the thieves are jailed (FLAG_VAULT_THIEVES_JAILED picks the thought).
Definition at line 764 of file vault_interiors.c.
Referenced by Event_ReadMindOnRock().
|
static |
Mind Read on the child: what is the outside world like, or Father looks sad.
Definition at line 777 of file vault_interiors.c.
Referenced by Event_ReadChildMind().
|
static |
Mind Read on Grandpa: could they be thieves?
Who can be trusted? Or nothing in the house was worth stealing.
Definition at line 790 of file vault_interiors.c.
Referenced by Event_ReadMindOnThieves().
|
static |
Mind Read on the mayor: a laugh, or the cave in the Goma Range is dangerous, but the party will be okay.
"That tickles..."
Definition at line 803 of file vault_interiors.c.
Referenced by Event_ReadMayorMind().
|
static |
Mind Read on the bone giver: the master and his wife are blinded by money; after the thieves are jailed, hungry while cooking, or, once a Bone was given, wondering about calcium.
Definition at line 817 of file vault_interiors.c.
Referenced by Event_ReadBoneGiverMind(), and Event_ReadBoneGiverMind().
|
static |
Talking to Ivan at the mayor's: the first time, he reads the two's minds, admits his strange powers and learns they are called Psynergy; then he asks for help finding the rod.
A yes has him join the party.
Reached by talking to Ivan (actor 2), except while the party corners the suspects. Sets FLAG_VAULT_MET_IVAN the first time, and on a yes plays VaultInteriors_IvanJoinsRodSearch, sets FLAG_VAULT_IVAN_JOINED_ROD_SEARCH and has Ivan walk into the leader.
Definition at line 838 of file vault_interiors.c.
Referenced by Event_MeetIvan().
|
static |
In the loft, Isaac cuts the roofer free; the three thieves arrive, boast of Lunpa and Dodonpa, ask to be let go, and attack.
Reached by talking to the tied-up roofer (actor 8) in the loft; the loft's setup replays the thieves' part through VaultInteriors_ConfrontThievesAgain once FLAG_VAULT_THIEVES_CONFRONTED is set. Sets that flag and starts the battle (encounter 12, 5): a win returns to entrance 17, a loss to 16.
Definition at line 1124 of file vault_interiors.c.
Referenced by Event_FreeRooferAndConfrontThieves().
|
static |
The party walks through to entrance 11.
Reached by stepping on cell code 7 before the thieves are jailed (after, the same cell is a plain exit); takes exit 11.
Definition at line 1334 of file vault_interiors.c.
Referenced by Event_GoToEntrance11().
|
static |
The party climbs up into the inn's loft.
Reached by stepping on cell code 26; takes exit 15 to the loft's entrance.
Definition at line 1342 of file vault_interiors.c.
Referenced by Event_ClimbToAttic().
|
static |
Leaving the loft before the thieves are confronted, the party hears the roofer groan.
"Uhnn... Uhnn..."
Reached by stepping on cell code 27 in the loft; takes exit 14 back down.
Definition at line 1354 of file vault_interiors.c.
Referenced by Event_LeaveAttic().
|
static |
The suspects at the inn spot that weird kid with the party and run from him.
"What do you want?"
Reached by stepping on cell code 10 at the suspects' room while FLAG_VAULT_IVAN_JOINED_ROD_SEARCH is set. Sets FLAG_VAULT_SUSPECTS_APPROACHED and FLAG_SUSPECTS_FLEEING, starts their routes and the callback that keeps them facing the leader. XXX: the row has no condition that stops it after the first time; whether it plays again depends on the leader's path to cell code 10.
Definition at line 1377 of file vault_interiors.c.
Referenced by Event_ApproachSuspects().
|
static |
Stepping out, the party talks it over: Ivan can't read their minds while they run; Garet tells Isaac to take the lead and corner them.
Reached by stepping on cell code 20, at the room's door, while FLAG_SUSPECTS_FLEEING is set. Clears it and stops the facing callback; the suspects go back to their places.
Definition at line 1429 of file vault_interiors.c.
Referenced by Event_DiscussSuspiciousGuests().
|
static |
The party sets out to corner the two suspects.
Reached by stepping on cell code 21 while FLAG_VAULT_SUSPECTS_APPROACHED is set. Sets FLAG_MENUS_RAISE_EVENT, so the menus answer with Garet's refusal, and FLAG_SCENE_TEMP_50, so talking to Ivan or the suspects does nothing; then starts the chase (VaultInteriors_StartActorStops).
Definition at line 1522 of file vault_interiors.c.
Referenced by Event_BeginCorneringSuspects().
|
static |
Has the suspects react to the party's return and resets their route states.
"Hey, they're back!"
Called by VaultInteriors_StartActorStops.
Definition at line 1532 of file vault_interiors.c.
Referenced by VaultInteriors_ResetSuspectRoutes(), and VaultInteriors_StartActorStops().
|
inlinestatic |
Sets the three party images to the priority used during the mind-reading scene.
Definition at line 1567 of file vault_interiors.c.
Referenced by Event_ReadCorneredSuspectsMinds(), VaultInteriors_DiscussMindReading(), and VaultInteriors_SetPartyImagePriority().
|
static |
Once a suspect is cornered, Garet calls Ivan and Ivan reads their minds.
"Uh-oh! I'm surrounded!" "Now, Ivan!"
Reached through raised events 201 to 203, which VaultInteriors_UpdateActorStops raises after thirty frames with at least one suspect blocked: 201 the leader, 202 the thief, 203 both. Stops the chase, clears FLAG_MENUS_RAISE_EVENT and FLAG_SCENE_TEMP_50, plays the party's talk (VaultInteriors_DiscussMindReading) and sets FLAG_VAULT_SUSPECTS_MIND_READ.
Definition at line 1591 of file vault_interiors.c.
Referenced by Event_ReadCorneredSuspectsMinds().
|
static |
The leader stepping on one of the route triggers 11 to 18 moves the fleeing suspects on to their next spots.
Reached by stepping on cell codes 11 to 18 while FLAG_SUSPECTS_FLEEING is set.
Definition at line 1821 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes().
| s32 Scene_Initialize | ( | void | ) |
On arrival: restores each room for the story so far, and plays the loft's scenes: the tied-up roofer, the rematch, and the defeat or victory.
Sets up whichever scene is being entered and runs its arrival events.
Called by the engine once the actors are placed, by entrance. In the house with the Bone, after the thieves are jailed, places the Bone and starts Vault_UpdateBoneProximityFlag. After a lost battle (entrance 16) takes exit 16; after a won one (17) sets FLAG_VAULT_THIEVES_JAILED through VaultInteriors_ReturnStolenGoods, which also removes Ivan from the party.
Definition at line 1903 of file vault_interiors.c.
|
static |
Counts the Venus Djinn Ivan holds, which he gives back before he leaves the party.
Definition at line 2184 of file vault_interiors.c.
Referenced by VaultInteriors_GetIvanVenusDjinnCount(), and VaultInteriors_ReturnStolenGoods().
|
static |
Finds the route node containing the actor's position on the eight-pixel grid.
Definition at line 2940 of file vault_interiors.c.
Referenced by VaultInteriors_FindStopAtPosition(), and VaultInteriors_UpdateActorStops().
|
static |
Chooses the outgoing connection nearest the requested facing.
Definition at line 2964 of file vault_interiors.c.
Referenced by VaultInteriors_SnapToNearestStop(), and VaultInteriors_UpdateActorStops().
Checks whether an actor's destination or current position lies within eight pixels.
Definition at line 3002 of file vault_interiors.c.
Referenced by VaultInteriors_CheckStopOccupancy(), and VaultInteriors_IsActorWithinEightPixels().
Checks whether an actor's destination or current position lies within sixteen pixels.
Definition at line 3024 of file vault_interiors.c.
Referenced by VaultInteriors_CheckStopOccupancy(), and VaultInteriors_IsActorWithinSixteenPixels().
|
static |
Reserves a full cell around the leader and half a cell around each actor following a route.
Testing destinations as well as current positions prevents two actors choosing the same stop while still walking.
Definition at line 3045 of file vault_interiors.c.
Referenced by VaultInteriors_CheckStopOccupancy(), and VaultInteriors_UpdateActorStops().
|
static |
Sets the actor's destination to the route stop's cell center.
Definition at line 3067 of file vault_interiors.c.
Referenced by VaultInteriors_MoveActorToStop(), and VaultInteriors_UpdateActorStops().
| struct VaultInteriorsStop gVaultInteriors_Stops[] |
Definition at line 3231 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), VaultInteriors_FindStopAtPosition(), and VaultInteriors_SnapToNearestStop().
| s32 gVaultInteriors_ActionTable[] |
Definition at line 3311 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_DefeatThieves().
| s32 gVaultInteriors_FirstThiefEntryScript[] |
Definition at line 3333 of file vault_interiors.c.
Referenced by Event_FreeRooferAndConfrontThieves(), and STATIC_ASSERT().
| s32 gVaultInteriors_SecondThiefEntryScript[] |
Definition at line 3347 of file vault_interiors.c.
Referenced by Event_FreeRooferAndConfrontThieves(), and STATIC_ASSERT().
| s32 gVaultInteriors_VaultScriptA[] |
Definition at line 3359 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().
| s32 gVaultInteriors_VaultScriptB[] |
Definition at line 3371 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().
| s32 gVaultInteriors_VaultScriptC[] |
Definition at line 3383 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().
| s32 gVaultInteriors_VaultScriptD[] |
Definition at line 3402 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().
| s32 gVaultInteriors_VaultScriptE[] |
Definition at line 3419 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().
| s32 gVaultInteriors_PairScriptA[] |
Definition at line 3434 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptB[] |
Definition at line 3442 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_ApproachSuspects(), STATIC_ASSERT(), and VaultInteriors_ResetSuspectRoutes().
| s32 gVaultInteriors_PairScriptC[] |
Definition at line 3454 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptD[] |
Definition at line 3462 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptE[] |
Definition at line 3470 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptF[] |
Definition at line 3482 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptG[] |
Definition at line 3490 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptH[] |
Definition at line 3502 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptI[] |
Definition at line 3510 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptJ[] |
Definition at line 3518 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptK[] |
Definition at line 3530 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptL[] |
Definition at line 3540 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptM[] |
Definition at line 3548 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptN[] |
Definition at line 3558 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptO[] |
Definition at line 3566 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_ApproachSuspects(), STATIC_ASSERT(), and VaultInteriors_ResetSuspectRoutes().
| s32 gVaultInteriors_PairScriptP[] |
Definition at line 3574 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_SuspectedThiefDodges(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptQ[] |
Definition at line 3584 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().
| s32 gVaultInteriors_PairScriptR[] |
Definition at line 3592 of file vault_interiors.c.
Referenced by Event_AdvanceSuspectRoutes(), Event_SuspectedThiefDodges(), and STATIC_ASSERT().
| struct SceneEntrance gVaultInteriors_Entrances[] |
Definition at line 3602 of file vault_interiors.c.
Referenced by Scene_GetEntrances(), and STATIC_ASSERT().
| struct SceneRegion gVaultInteriors_Regions[] |
Definition at line 3620 of file vault_interiors.c.
Referenced by Scene_GetRegions(), and STATIC_ASSERT().
| u32 gVaultInteriors_Exits[] |
Definition at line 3625 of file vault_interiors.c.
Referenced by Scene_GetExits(), and STATIC_ASSERT().
| struct ScenePlacement gVaultInteriors_Placements[] |
Definition at line 3642 of file vault_interiors.c.
Referenced by Scene_GetPlacements(), and STATIC_ASSERT().
| struct ScenePlacement gVaultInteriors_AtticPlacements[] |
Definition at line 3688 of file vault_interiors.c.
Referenced by Scene_GetPlacements(), and STATIC_ASSERT().
| struct SceneEvent gVaultInteriors_Events[] |
Definition at line 3720 of file vault_interiors.c.
Referenced by Scene_GetEvents(), and STATIC_ASSERT().
| struct SceneEvent gVaultInteriors_AtticEvents[] |
Definition at line 3804 of file vault_interiors.c.
Referenced by Scene_GetEvents(), and STATIC_ASSERT().
| struct SceneEvent gVaultInteriors_EventsAfterThieves[] |
Definition at line 3814 of file vault_interiors.c.
Referenced by Scene_GetEvents(), and STATIC_ASSERT().
| s32* gVaultInteriors_StepActions[] |
Definition at line 3868 of file vault_interiors.c.
Referenced by Event_SuspectedLeaderDodges(), and STATIC_ASSERT().
| s32* gVaultInteriors_IdleActions[] |
Definition at line 3874 of file vault_interiors.c.
Referenced by Event_SuspectedLeaderDodges(), and STATIC_ASSERT().
| s32* gVaultInteriors_ResponseScripts[] |
Definition at line 3880 of file vault_interiors.c.
Referenced by STATIC_ASSERT(), and VaultInteriors_ApplySecondSuspectRoute().
| u16 gVaultInteriors_StopTimer |
Definition at line 3887 of file vault_interiors.c.
Referenced by VaultInteriors_StartActorStops(), and VaultInteriors_UpdateActorStops().