Alchemy
Loading...
Searching...
No Matches

vault_interiors.c File Reference

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)

Enumerations

enum  VaultInteriorsRaisedEvent { VAULT_INTERIORS_CORNERED_EVENT_BASE = 200 , VAULT_INTERIORS_LEADER_CORNERED , VAULT_INTERIORS_THIEF_CORNERED , VAULT_INTERIORS_BOTH_CORNERED }
 The chase adds the blocked-suspect mask (1 the leader, 2 the thief) to 200. More...
enum  {
  ACTOR_GEM_OWNER = 8 , ACTOR_GEM_OWNERS_WIFE = 9 , ACTOR_WARY_NEIGHBOR = 10 , ACTOR_CHILD = 11 ,
  ACTOR_GRANDPA = 12 , ACTOR_GRANDPAS_WIFE = 13 , ACTOR_WOULD_BE_HELPER = 14 , ACTOR_SECRET_KEEPER = 15 ,
  ACTOR_MAYOR = 16 , ACTOR_MAYORS_WIFE = 17 , ACTOR_BONE_GIVER = 18 , ACTOR_WEAPON_MERCHANT = 19 ,
  ACTOR_ARMOR_MERCHANT = 20 , ACTOR_ITEM_MERCHANT = 21 , ACTOR_INN_STAFF = 22 , ACTOR_INNKEEPER = 23 ,
  ACTOR_SUSPECTED_LEADER = 24 , ACTOR_SUSPECTED_THIEF = 25 , ACTOR_CRATE = 26
}
 The townspeople, named by what they say. More...
enum  { FLAG_SUSPECTS_FLEEING = 0x300 }
 Place flags of Vault's group (0x300 to 0x3ff, kept while the party stays in Vault and its buildings). More...
enum  {
  ACTOR_ATTIC_ROOFER = 8 , ACTOR_ATTIC_MAYOR = 9 , ACTOR_THIEF_LEADER = 10 , ACTOR_FIRST_THIEF = 11 ,
  ACTOR_SECOND_THIEF = 12 , ACTOR_ATTIC_ESCORT = 13 , ACTOR_ATTIC_SEARCHER = 14 , ACTOR_FIRST_CHEST = 15 ,
  ACTOR_SECOND_CHEST = 16 , ACTOR_THIRD_CHEST = 17 , ACTOR_FOUND_URN = 18 , ACTOR_FOUND_STATUE = 19
}
 The inn's loft (entrances 15 to 17), where the thieves hid the stolen goods. More...

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.

Variables

struct VaultInteriorsStop gVaultInteriors_Stops []
s32 gVaultInteriors_ActionTable []
s32 gVaultInteriors_FirstThiefEntryScript []
s32 gVaultInteriors_SecondThiefEntryScript []
s32 gVaultInteriors_VaultScriptA []
s32 gVaultInteriors_VaultScriptB []
s32 gVaultInteriors_VaultScriptC []
s32 gVaultInteriors_VaultScriptD []
s32 gVaultInteriors_VaultScriptE []
s32 gVaultInteriors_PairScriptA []
s32 gVaultInteriors_PairScriptB []
s32 gVaultInteriors_PairScriptC []
s32 gVaultInteriors_PairScriptD []
s32 gVaultInteriors_PairScriptE []
s32 gVaultInteriors_PairScriptF []
s32 gVaultInteriors_PairScriptG []
s32 gVaultInteriors_PairScriptH []
s32 gVaultInteriors_PairScriptI []
s32 gVaultInteriors_PairScriptJ []
s32 gVaultInteriors_PairScriptK []
s32 gVaultInteriors_PairScriptL []
s32 gVaultInteriors_PairScriptM []
s32 gVaultInteriors_PairScriptN []
s32 gVaultInteriors_PairScriptO []
s32 gVaultInteriors_PairScriptP []
s32 gVaultInteriors_PairScriptQ []
s32 gVaultInteriors_PairScriptR []
struct SceneEntrance gVaultInteriors_Entrances []
struct SceneRegion gVaultInteriors_Regions []
u32 gVaultInteriors_Exits []
struct ScenePlacement gVaultInteriors_Placements []
struct ScenePlacement gVaultInteriors_AtticPlacements []
struct SceneEvent gVaultInteriors_Events []
struct SceneEvent gVaultInteriors_AtticEvents []
struct SceneEvent gVaultInteriors_EventsAfterThieves []
s32 * gVaultInteriors_StepActions []
s32 * gVaultInteriors_IdleActions []
s32 * gVaultInteriors_ResponseScripts []
u16 gVaultInteriors_StopTimer

Detailed Description

The houses, shops and inn of Vault while Hammet's rod is missing.

Definition in file vault_interiors.c.

Macro Definition Documentation

◆ VAULT_INTERIORS_ENTRY_ACTOR_Z

#define VAULT_INTERIORS_ENTRY_ACTOR_Z   PIXELS(464)

Definition at line 46 of file vault_interiors.c.

Referenced by Scene_Initialize().

◆ VAULT_INTERIORS_CORNERED_FRAMES

#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().

◆ NO_CONNECTION

#define NO_CONNECTION   {255, 0xff, {0, 0}}

Definition at line 3229 of file vault_interiors.c.

◆ CONNECTION

#define CONNECTION ( stop,
direction )
Value:
{stop, (direction) >> 8, {0, 0}}

Definition at line 3230 of file vault_interiors.c.

Enumeration Type Documentation

◆ VaultInteriorsRaisedEvent

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

anonymous enum

The townspeople, named by what they say.

Enumerator
ACTOR_GEM_OWNER 

a sparkling rock was blown here from the volcano

ACTOR_GEM_OWNERS_WIFE 
ACTOR_WARY_NEIGHBOR 

Distrusts the man next door. "My neighbor creeps me out.".

ACTOR_CHILD 

Asks about travel. "Hey, mister! Is it fun to see strange new places?".

ACTOR_GRANDPA 

Wonders what was stolen. "Is it just me, or am I missing something?".

ACTOR_GRANDPAS_WIFE 

Says Grandpa keeps wondering if anything was stolen.

ACTOR_WOULD_BE_HELPER 

"I could help Ivan if I were just a little older."

ACTOR_SECRET_KEEPER 

Tells the party Ivan's secret once it helps him.

ACTOR_MAYOR 

Ivan's host; his wife calls him the mayor.

ACTOR_MAYORS_WIFE 
ACTOR_BONE_GIVER 
ACTOR_WEAPON_MERCHANT 
ACTOR_ARMOR_MERCHANT 
ACTOR_ITEM_MERCHANT 
ACTOR_INN_STAFF 

Works at the inn.

"The guests upstairs weren't in their room during the eruption."

ACTOR_INNKEEPER 
ACTOR_SUSPECTED_LEADER 

The two guests at the inn the town suspects: the thieves' leader and one of his men.

ACTOR_SUSPECTED_THIEF 
ACTOR_CRATE 

pushed aside to open a passage

Definition at line 61 of file vault_interiors.c.

◆ anonymous enum

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

anonymous enum

The inn's loft (entrances 15 to 17), where the thieves hid the stolen goods.

Enumerator
ACTOR_ATTIC_ROOFER 

tied up while fixing the roof

ACTOR_ATTIC_MAYOR 
ACTOR_THIEF_LEADER 
ACTOR_FIRST_THIEF 
ACTOR_SECOND_THIEF 
ACTOR_ATTIC_ESCORT 

Comes up with the mayor and helps tie the thieves up.

"What should we do with them?"

ACTOR_ATTIC_SEARCHER 

Comes up with the mayor and opens the crates.

"Mayor... Isn't that your family's urn?"

ACTOR_FIRST_CHEST 
ACTOR_SECOND_CHEST 
ACTOR_THIRD_CHEST 
ACTOR_FOUND_URN 

rises from the first crate: the mayor's urn

ACTOR_FOUND_STATUE 

rises from the second: the Sanctum's gold statue

Definition at line 107 of file vault_interiors.c.

Function Documentation

◆ VaultInteriors_IvanJoinsRodSearch()

void VaultInteriors_IvanJoinsRodSearch ( void )
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().

◆ VaultInteriors_DiscussMindReading()

void VaultInteriors_DiscussMindReading ( void )
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().

◆ VaultInteriors_AdvanceSuspectRoute()

void VaultInteriors_AdvanceSuspectRoute ( s32 actor,
s32 expected,
s32 next,
const s32 * actions )
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().

◆ VaultInteriors_FaceSuspectsTowardLeader()

void VaultInteriors_FaceSuspectsTowardLeader ( void )
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().

◆ VaultInteriors_LoseToThieves()

void VaultInteriors_LoseToThieves ( void )
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().

◆ VaultInteriors_ConfrontThievesAgain()

void VaultInteriors_ConfrontThievesAgain ( void )
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().

◆ VaultInteriors_DefeatThieves()

void VaultInteriors_DefeatThieves ( void )
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().

◆ VaultInteriors_ReturnStolenGoods()

void VaultInteriors_ReturnStolenGoods ( void )
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().

◆ VaultInteriors_OpenWindowTransition()

void VaultInteriors_OpenWindowTransition ( void )
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().

◆ VaultInteriors_ShowMessageAndWait()

◆ VaultInteriors_FaceActorAndWait()

◆ VaultInteriors_FaceEachOtherAndWait()

◆ VaultInteriors_PlayAnimationAndWait()

◆ VaultInteriors_BeginMindRead()

void VaultInteriors_BeginMindRead ( s32 casterId,
s32 targetId )
static

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().

◆ VaultInteriors_EndMindRead()

void VaultInteriors_EndMindRead ( void )
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().

◆ VaultInteriors_UpdateActorStops()

void VaultInteriors_UpdateActorStops ( void )
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().

◆ VaultInteriors_StartActorStops()

void VaultInteriors_StartActorStops ( void )
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().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 148 of file vault_interiors.c.

◆ Scene_GetRegions()

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.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 158 of file vault_interiors.c.

◆ Scene_GetPlacements()

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.

◆ Event_JumpAcrossRoofGap()

void Event_JumpAcrossRoofGap ( void )
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().

◆ Event_CheckCrateMoved()

void Event_CheckCrateMoved ( void )
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().

◆ Event_TalkToWeaponMerchant()

void Event_TalkToWeaponMerchant ( void )
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.

◆ Event_TalkToArmorMerchant()

void Event_TalkToArmorMerchant ( void )
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.

◆ Event_TalkToInnkeeper()

void Event_TalkToInnkeeper ( void )
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.

◆ Event_GaretRefusesToLeave()

void Event_GaretRefusesToLeave ( void )
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().

◆ Event_SearchEmptyBarrel()

void Event_SearchEmptyBarrel ( void )
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().

◆ Event_SearchEmptyChest()

void Event_SearchEmptyChest ( void )
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().

◆ Scene_GetEvents()

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.

◆ VaultInteriors_StandAndShowMessage()

void VaultInteriors_StandAndShowMessage ( s32 x)
static

◆ VaultInteriors_AskYesNoAndShowReply()

void VaultInteriors_AskYesNoAndShowReply ( s32 x)
static

◆ Event_ChildAsksAboutTravel()

void Event_ChildAsksAboutTravel ( void )
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().

◆ Event_OfferIvansSecret()

void Event_OfferIvansSecret ( void )
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().

◆ Event_TalkToItemMerchant()

void Event_TalkToItemMerchant ( void )
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.

◆ Event_TalkAboutRocks()

void Event_TalkAboutRocks ( void )
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().

◆ Event_TalkAboutMissingThings()

void Event_TalkAboutMissingThings ( void )
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().

◆ Event_MayorAsksHelpForIvan()

void Event_MayorAsksHelpForIvan ( void )
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().

◆ Event_WarnAboutThreeStrangers()

void Event_WarnAboutThreeStrangers ( void )
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().

◆ Event_SuspectedLeaderDodges()

void Event_SuspectedLeaderDodges ( void )
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().

◆ VaultInteriors_ApplySecondSuspectRoute()

void VaultInteriors_ApplySecondSuspectRoute ( struct FieldActor * actor,
s32 scriptRow,
s32 routePair,
u16 routeDelta )
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().

◆ Event_SuspectedThiefDodges()

void Event_SuspectedThiefDodges ( void )
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().

◆ Event_AskWhetherThievesCameFromLunpa()

void Event_AskWhetherThievesCameFromLunpa ( void )
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().

◆ Event_ChildWorriesAboutFather()

void Event_ChildWorriesAboutFather ( void )
static

The child's father worries about the prisoners from Lunpa.

Definition at line 661 of file vault_interiors.c.

Referenced by Event_ChildWorriesAboutFather().

◆ Event_AskAboutDefeatingThieves()

void Event_AskAboutDefeatingThieves ( void )
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().

◆ Event_MayorGivesWaterOfLife()

void Event_MayorGivesWaterOfLife ( void )
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().

◆ Event_OfferBones()

void Event_OfferBones ( void )
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().

◆ Event_ReadMindOnRock()

void Event_ReadMindOnRock ( void )
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().

◆ Event_ReadChildMind()

void Event_ReadChildMind ( void )
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().

◆ Event_ReadMindOnThieves()

void Event_ReadMindOnThieves ( void )
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().

◆ Event_ReadMayorMind()

void Event_ReadMayorMind ( void )
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().

◆ Event_ReadBoneGiverMind()

void Event_ReadBoneGiverMind ( void )
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().

◆ Event_MeetIvan()

void Event_MeetIvan ( void )
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().

◆ Event_FreeRooferAndConfrontThieves()

void Event_FreeRooferAndConfrontThieves ( void )
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().

◆ Event_GoToEntrance11()

void Event_GoToEntrance11 ( void )
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().

◆ Event_ClimbToAttic()

void Event_ClimbToAttic ( void )
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().

◆ Event_LeaveAttic()

void Event_LeaveAttic ( void )
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().

◆ Event_ApproachSuspects()

void Event_ApproachSuspects ( void )
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().

◆ Event_DiscussSuspiciousGuests()

void Event_DiscussSuspiciousGuests ( void )
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().

◆ Event_BeginCorneringSuspects()

void Event_BeginCorneringSuspects ( void )
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().

◆ VaultInteriors_ResetSuspectRoutes()

void VaultInteriors_ResetSuspectRoutes ( void )
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().

◆ VaultInteriors_SetPartyImagePriority()

void VaultInteriors_SetPartyImagePriority ( void )
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().

◆ Event_ReadCorneredSuspectsMinds()

void Event_ReadCorneredSuspectsMinds ( void )
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().

◆ Event_AdvanceSuspectRoutes()

void Event_AdvanceSuspectRoutes ( void )
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().

◆ Scene_Initialize()

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.

◆ VaultInteriors_GetIvanVenusDjinnCount()

s32 VaultInteriors_GetIvanVenusDjinnCount ( void )
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().

◆ VaultInteriors_FindStopAtPosition()

struct VaultInteriorsStop * VaultInteriors_FindStopAtPosition ( s32 * position)
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().

◆ VaultInteriors_SnapToNearestStop()

struct VaultInteriorsStop * VaultInteriors_SnapToNearestStop ( struct VaultInteriorsStop * node,
s16 * requestedFacing )
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().

◆ VaultInteriors_IsActorWithinEightPixels()

s32 VaultInteriors_IsActorWithinEightPixels ( s32 x,
s32 z,
s32 id )
static

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().

◆ VaultInteriors_IsActorWithinSixteenPixels()

s32 VaultInteriors_IsActorWithinSixteenPixels ( s32 x,
s32 z,
s32 id )
static

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().

◆ VaultInteriors_CheckStopOccupancy()

s32 VaultInteriors_CheckStopOccupancy ( struct VaultInteriorsStop * stop)
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().

◆ VaultInteriors_MoveActorToStop()

void VaultInteriors_MoveActorToStop ( struct FieldActor * actor,
struct VaultInteriorsStop * stop )
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().

Variable Documentation

◆ gVaultInteriors_Stops

struct VaultInteriorsStop gVaultInteriors_Stops[]

◆ gVaultInteriors_ActionTable

s32 gVaultInteriors_ActionTable[]
Initial value:
= {
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(4),
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(180),
}
#define Q16_ONE
One in the engine's signed 16.16 fixed-point format.
Definition fixed_math.h:10
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_FOREVER
Definition objcmd.h:14
#define SC_ADD(w, v)
Definition objcmd.h:38
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_TOP
Script start.
Definition objcmd.h:13
@ SW_SCALE_Y
Definition objcmd.h:63
@ SW_SCALE_X
Definition objcmd.h:62

Definition at line 3311 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_DefeatThieves().

◆ gVaultInteriors_FirstThiefEntryScript

s32 gVaultInteriors_FirstThiefEntryScript[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(776), 0, PIXELS(408)),
SC_MOVE(PIXELS(776), 0, PIXELS(400)),
SC_MOVE(PIXELS(800), 0, PIXELS(400)),
SC_ARG(1),
SC_SET(SW_FACING, 0x3000),
SC_WAIT(20),
}
#define PIXELS(value)
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_ARG(v)
Definition objcmd.h:44
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19
#define SC_END
Return to the main script.
Definition objcmd.h:32
@ SW_FACING
Definition objcmd.h:57

Definition at line 3333 of file vault_interiors.c.

Referenced by Event_FreeRooferAndConfrontThieves(), and STATIC_ASSERT().

◆ gVaultInteriors_SecondThiefEntryScript

s32 gVaultInteriors_SecondThiefEntryScript[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(776), 0, PIXELS(408)),
SC_MOVE(PIXELS(776), 0, PIXELS(416)),
SC_ARG(1),
SC_SET(SW_FACING, 0x3000),
SC_WAIT(20),
}

Definition at line 3347 of file vault_interiors.c.

Referenced by Event_FreeRooferAndConfrontThieves(), and STATIC_ASSERT().

◆ gVaultInteriors_VaultScriptA

s32 gVaultInteriors_VaultScriptA[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(776), 0, PIXELS(408)),
SC_MOVE(PIXELS(744), 0, PIXELS(408)),
SC_ARG(1),
SC_POS(0, 0, 0),
}
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18
@ SW_SPEED
Definition objcmd.h:67

Definition at line 3359 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().

◆ gVaultInteriors_VaultScriptB

s32 gVaultInteriors_VaultScriptB[]
Initial value:
= {
SC_ARG(6),
SC_MOVE(PIXELS(776), 0, PIXELS(408)),
SC_MOVE(PIXELS(744), 0, PIXELS(408)),
SC_ARG(1),
SC_POS(0, 0, 0),
}

Definition at line 3371 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().

◆ gVaultInteriors_VaultScriptC

s32 gVaultInteriors_VaultScriptC[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(792), 0, PIXELS(408)),
SC_MOVE(PIXELS(808), 0, PIXELS(440)),
SC_MOVE(PIXELS(808), 0, PIXELS(456)),
SC_MOVE(PIXELS(840), 0, PIXELS(456)),
SC_MOVE(PIXELS(856), 0, PIXELS(408)),
SC_ARG(1),
SC_WAIT(10),
}
@ FACING_EAST
Definition field_scene.h:26

Definition at line 3383 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().

◆ gVaultInteriors_VaultScriptD

s32 gVaultInteriors_VaultScriptD[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(808), 0, PIXELS(408)),
SC_MOVE(PIXELS(808), 0, PIXELS(456)),
SC_MOVE(PIXELS(840), 0, PIXELS(456)),
SC_MOVE(PIXELS(856), 0, PIXELS(424)),
SC_ARG(1),
SC_WAIT(10),
}

Definition at line 3402 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().

◆ gVaultInteriors_VaultScriptE

s32 gVaultInteriors_VaultScriptE[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(840), 0, PIXELS(456)),
SC_MOVE(PIXELS(808), 0, PIXELS(456)),
SC_MOVE(PIXELS(808), 0, PIXELS(408)),
SC_MOVE(PIXELS(776), 0, PIXELS(408)),
SC_ARG(1),
}

Definition at line 3419 of file vault_interiors.c.

Referenced by STATIC_ASSERT(), and VaultInteriors_ReturnStolenGoods().

◆ gVaultInteriors_PairScriptA

s32 gVaultInteriors_PairScriptA[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(104), 0, PIXELS(632)),
SC_ARG(1),
}

Definition at line 3434 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptB

s32 gVaultInteriors_PairScriptB[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(72), 0, PIXELS(696)),
SC_MOVE(PIXELS(80), 0, PIXELS(640)),
SC_MOVE(PIXELS(104), 0, PIXELS(632)),
SC_ARG(1),
}

Definition at line 3442 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_ApproachSuspects(), STATIC_ASSERT(), and VaultInteriors_ResetSuspectRoutes().

◆ gVaultInteriors_PairScriptC

s32 gVaultInteriors_PairScriptC[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(168), 0, PIXELS(632)),
SC_ARG(1),
}

Definition at line 3454 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptD

s32 gVaultInteriors_PairScriptD[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(232), 0, PIXELS(632)),
SC_ARG(1),
}

Definition at line 3462 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptE

s32 gVaultInteriors_PairScriptE[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(264), 0, PIXELS(696)),
SC_MOVE(PIXELS(264), 0, PIXELS(632)),
SC_MOVE(PIXELS(232), 0, PIXELS(632)),
SC_ARG(1),
}

Definition at line 3470 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptF

s32 gVaultInteriors_PairScriptF[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(104), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3482 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptG

s32 gVaultInteriors_PairScriptG[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(80), 0, PIXELS(640)),
SC_MOVE(PIXELS(72), 0, PIXELS(696)),
SC_MOVE(PIXELS(104), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3490 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptH

s32 gVaultInteriors_PairScriptH[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(168), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3502 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptI

s32 gVaultInteriors_PairScriptI[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(232), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3510 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptJ

s32 gVaultInteriors_PairScriptJ[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(264), 0, PIXELS(632)),
SC_MOVE(PIXELS(264), 0, PIXELS(696)),
SC_MOVE(PIXELS(232), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3518 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptK

s32 gVaultInteriors_PairScriptK[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(168), 0, PIXELS(648)),
SC_MOVE(PIXELS(72), 0, PIXELS(648)),
SC_ARG(1),
}

Definition at line 3530 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_DiscussSuspiciousGuests(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptL

s32 gVaultInteriors_PairScriptL[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(72), 0, PIXELS(648)),
SC_ARG(1),
}

Definition at line 3540 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptM

s32 gVaultInteriors_PairScriptM[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(168), 0, PIXELS(648)),
SC_MOVE(PIXELS(264), 0, PIXELS(648)),
SC_ARG(1),
}

Definition at line 3548 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptN

s32 gVaultInteriors_PairScriptN[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(264), 0, PIXELS(648)),
SC_ARG(1),
}

Definition at line 3558 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptO

s32 gVaultInteriors_PairScriptO[]

◆ gVaultInteriors_PairScriptP

s32 gVaultInteriors_PairScriptP[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(120), 0, PIXELS(696)),
SC_MOVE(PIXELS(72), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3574 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_SuspectedThiefDodges(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptQ

s32 gVaultInteriors_PairScriptQ[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(264), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3584 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), and STATIC_ASSERT().

◆ gVaultInteriors_PairScriptR

s32 gVaultInteriors_PairScriptR[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(168), 0, PIXELS(696)),
SC_MOVE(PIXELS(264), 0, PIXELS(696)),
SC_ARG(1),
}

Definition at line 3592 of file vault_interiors.c.

Referenced by Event_AdvanceSuspectRoutes(), Event_SuspectedThiefDodges(), and STATIC_ASSERT().

◆ gVaultInteriors_Entrances

struct SceneEntrance gVaultInteriors_Entrances[]
Initial value:
= {
{ 0, CONDITION_ALWAYS, 172, 0, 149, FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
{ 5, CONDITION_ALWAYS, 192, 0, 220, FACING_NORTH, 0, 32, 0, 272, 240, 0 },
{ 6, CONDITION_ALWAYS, 432, 0, 254, FACING_NORTH, 0, 288, 0, 528, 272, 0 },
{ 7, CONDITION_ALWAYS, 720, 0, 782, FACING_NORTH, 0, 432, 576, 800, 800, 0 },
{ 8, CONDITION_ALWAYS, 624, 0, 236, FACING_NORTH, 0, 560, 32, 848, 256, 0 },
{ 9, CONDITION_ALWAYS, 144, 0, 492, FACING_NORTH, 0, 16, 288, 256, 512, 0 },
{ 10, CONDITION_ALWAYS, 416, 0, 526, FACING_NORTH, 0, 320, 288, 592, 544, 0 },
{ 11, CONDITION_ALWAYS, 744, 0, 640, FACING_SOUTH, 0, 432, 576, 800, 800, 0 },
{ 12, CONDITION_ALWAYS, 358, 0, 632, FACING_SOUTH, 0, 32, 576, 400, 776, 0 },
{ 13, CONDITION_ALWAYS, 648, 0, 424, FACING_SOUTH, 0, 560, 320, 800, 480, 0 },
{ 14, CONDITION_ALWAYS, 704, 0, 408, FACING_WEST, 0, 560, 320, 800, 480, 0 },
{ 15, CONDITION_ALWAYS, 768, 0, 408, FACING_EAST, 0, 712, 288, 952, 496, 0 },
{ 16, CONDITION_ALWAYS, 792, 0, 432, FACING_NORTH, 0, 712, 288, 952, 496, 0 },
{ 17, CONDITION_ALWAYS, 792, 0, 432, FACING_NORTH, 0, 712, 288, 952, 496, 0 },
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_NORTH
Definition field_scene.h:32
@ FACING_SOUTH
Definition field_scene.h:28
@ FACING_WEST
Definition field_scene.h:30

Definition at line 3602 of file vault_interiors.c.

Referenced by Scene_GetEntrances(), and STATIC_ASSERT().

◆ gVaultInteriors_Regions

struct SceneRegion gVaultInteriors_Regions[]
Initial value:
= {
{639, 33, 407, 657, 51, 425, CONDITION_ALWAYS, 13},
}

Definition at line 3620 of file vault_interiors.c.

Referenced by Scene_GetRegions(), and STATIC_ASSERT().

◆ gVaultInteriors_Exits

u32 gVaultInteriors_Exits[]
Initial value:
= {
SCENE_EXIT(5, 20, 5),
SCENE_EXIT(6, 20, 6),
SCENE_EXIT(7, 20, 7),
SCENE_EXIT(8, 20, 8),
SCENE_EXIT(9, 20, 9),
SCENE_EXIT(10, 20, 10),
SCENE_EXIT(11, 21, 11),
SCENE_EXIT(12, 21, 12),
SCENE_EXIT(13, 20, 13),
SCENE_EXIT(14, 21, 14),
SCENE_EXIT(15, 21, 15),
SCENE_EXIT(16, 9, 12),
}
#define SCENE_EXITS(scene)
Definition field_scene.h:72
#define SCENE_EXIT(exit, scene, entrance)
Definition field_scene.h:73
#define SCENE_EXITS_END
Definition field_scene.h:77

Definition at line 3625 of file vault_interiors.c.

Referenced by Scene_GetExits(), and STATIC_ASSERT().

◆ gVaultInteriors_Placements

struct ScenePlacement gVaultInteriors_Placements[]

Definition at line 3642 of file vault_interiors.c.

Referenced by Scene_GetPlacements(), and STATIC_ASSERT().

◆ gVaultInteriors_AtticPlacements

struct ScenePlacement gVaultInteriors_AtticPlacements[]

Definition at line 3688 of file vault_interiors.c.

Referenced by Scene_GetPlacements(), and STATIC_ASSERT().

◆ gVaultInteriors_Events

struct SceneEvent gVaultInteriors_Events[]

Definition at line 3720 of file vault_interiors.c.

Referenced by Scene_GetEvents(), and STATIC_ASSERT().

◆ gVaultInteriors_AtticEvents

struct SceneEvent gVaultInteriors_AtticEvents[]
Initial value:
= {
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
#define SCENE_EVENTS_END
@ EVENT_TOUCH
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
static void Event_FreeRooferAndConfrontThieves(void)
In the loft, Isaac cuts the roofer free; the three thieves arrive, boast of Lunpa and Dodonpa,...
static void Event_SearchEmptyChest(void)
Isaac checks the chest, but it is empty.
static void Event_LeaveAttic(void)
Leaving the loft before the thieves are confronted, the party hears the roofer groan.
@ ACTOR_THIRD_CHEST
@ ACTOR_FIRST_CHEST
@ ACTOR_ATTIC_ROOFER
tied up while fixing the roof
@ ACTOR_SECOND_CHEST

Definition at line 3804 of file vault_interiors.c.

Referenced by Scene_GetEvents(), and STATIC_ASSERT().

◆ gVaultInteriors_EventsAfterThieves

struct SceneEvent gVaultInteriors_EventsAfterThieves[]

Definition at line 3814 of file vault_interiors.c.

Referenced by Scene_GetEvents(), and STATIC_ASSERT().

◆ gVaultInteriors_StepActions

s32* gVaultInteriors_StepActions[]
Initial value:

Definition at line 3868 of file vault_interiors.c.

Referenced by Event_SuspectedLeaderDodges(), and STATIC_ASSERT().

◆ gVaultInteriors_IdleActions

s32* gVaultInteriors_IdleActions[]

◆ gVaultInteriors_ResponseScripts

s32* gVaultInteriors_ResponseScripts[]

◆ gVaultInteriors_StopTimer

u16 gVaultInteriors_StopTimer