Alchemy
Loading...
Searching...
No Matches

tolbi_ship_interiors.c File Reference

Below the decks of the ship across the Karagol Sea: the captain's cabin, the passengers' hold and the rowing deck. More...

Go to the source code of this file.

Macros

#define FLAG_TOLBI_SHIP_ROWER_CHOSEN   0x300
 a passenger follows the party
#define FLAG_TOLBI_SHIP_MONSTERS_ABOARD   0x301
 the hold's stairs are barred
#define FLAG_TOLBI_SHIP_KRAKEN_ABOARD   0x302
 The Kraken is aboard: the deck shakes until it is defeated (tolbi_ship_deck.c reads it too).
#define SPEAKER(actor, window)
 A speaker: the actor, and in the top four bits where the message window opens beside them.
#define TOLBI_SHIP_TALK_FACING(bytes, row)
 A byte view keeps the native address arithmetic; direct row-field writes choose different bases and registers.
#define TURN_STEP(dx, dz)
 The step beside the leader for each of the 16 facings: the high 16 bits are x, the low 16 bits z.

Enumerations

enum  ShipSceneCommand {
  SHIP_FACE_PARTY_EAST_AND_WEST , SHIP_FACE_PARTY , SHIP_PLAY_PARTY_ANIMATION , SHIP_SHOW_PARTY_EMOTE ,
  SHIP_HIDE_PASSENGERS , SHIP_START_ROWING_ANIMATION , SHIP_START_MIRRORED_ROWING_ANIMATION , SHIP_SET_SELECTED_ROWER_POSE ,
  SHIP_OPEN_SCENE , SHIP_CLOSE_SCENE , SHIP_SETUP_ROWING_PARTY , SHIP_RESTORE_ROWING_DECK_POSES ,
  SHIP_RESTORE_ROWER_POSE , SHIP_HIDE_CABIN_CREW , SHIP_HIDE_ACTORS_13_AND_14 , SHIP_SETUP_CAPTAINS_CABIN ,
  SHIP_SETUP_RECRUITMENT_DECK , SHIP_HIDE_ACTORS_28_TO_35 , SHIP_SETUP_PASSENGER_HOLD , SHIP_SETUP_MONSTER_ENCOUNTER ,
  SHIP_CLEAR_FLAG_RANGE , SHIP_CLEAR_ROWING_SELECTIONS , SHIP_RESTORE_ACTOR_12_SCRIPT , SHIP_HIDE_PARTY_FOLLOWERS ,
  SHIP_RESET_CAMERA , SHIP_PLACE_FOLLOWERS_AND_MONSTERS
}
 Operations shared by the cabin, passenger hold and rowing-deck events. More...
enum  TolbiShipInteriorsActor { HOLD_OURANOS = 13 , HOLD_SEAN = 14 }
 The warriors bound for Colosso in the hold while the ship waits at Kalay (gTolbiShipInteriors_HoldPlacements): Ouranos and his friend Sean. More...
enum  { CabinSpeakerRequest = 0xa01b }

Functions

static void TolbiShipInteriors_StepBesideLeader (s32 passengerId)
 The chosen oarsman steps out beside the leader, on the leader's right if that spot is free, else on the left, else behind, and turns the way the leader faces.
static s32 TolbiShipInteriors_IsSpotFree (s32 bucket)
 Returns 1 when the spot next to the leader in the given sixteenth of a turn holds no actor and no wall, else 0.
static s32 TolbiShipInteriors_GetChosenOarsman (void)
 Returns the passenger chosen to row at the open seat, which the attacks fought off number.
static void TolbiShipInteriors_AskToRow (s32 speaker, s32 question, s32 seatFlag)
 Asks a passenger to row.
static void TolbiShipInteriors_DiscussLaunchingWithoutAnchor (void)
 The passengers pressure the captain to launch despite the missing anchor.
static void TolbiShipInteriors_SetUpCabin (void)
 Restores the cabin's actors after the anchor and departure conversations.
static void TolbiShipInteriors_SetUpHold (void)
 Restores the passenger hold after recruitment and departure events.
static void TolbiShipInteriors_SetUpRowingDeck (void)
 Restores the rowing deck and introduces a newly recruited replacement.
static void TolbiShipInteriors_SetSeatActorCollision (void)
 Sets collision bit 3 on the eight actors surrounding the rowing seats.
static void TolbiShipInteriors_AskForReplacementOarsmen (void)
 The crew explains the missing replacements and asks the party to find rowers.
static void TolbiShipInteriors_CastOff (void)
 Raises the anchor charm and announces the ship's first departure.
static void TolbiShipInteriors_AnnounceDeparture (void)
 Announces departure after a replacement rower has joined the crew.
static void TolbiShipInteriors_CallActorSixteenToRow (void)
 Calls the first passenger to the rowing deck.
static void TolbiShipInteriors_CallActorEighteenToRow (void)
 Calls a replacement rower back to the rowing deck.
static void TolbiShipInteriors_ShowRowing (void)
 Restores the rowing deck for the current set of selected passengers.
static void TolbiShipInteriors_AskAboutMonsters (void)
 Asks the crew about the monsters before returning belowdecks.
static void TolbiShipInteriors_AnnounceTurn (void)
 Announces the ship's next turn and returns control to the rowing deck.
static void TolbiShipInteriors_StartFirstAttack (void)
 Stages the first monster encounter with the original rowers.
static void TolbiShipInteriors_EndFirstAttack (void)
 Restores the original rowers after the first monster attack.
static void TolbiShipInteriors_IntroduceReplacementOarsman (s32 seat)
 Introduces the selected passenger and leads them to the open rowing seat.
static struct FieldActor * TolbiShipInteriors_PlaceAnchorCharm (void)
 Creates the visible anchor charm once a visit (FLAG_SCENE_TEMP_00 records it) and retains it for departure events.
static void TolbiShipInteriors_InstallRowingDeckActors (u32 action)
 Restores each replacement rower or the original occupant of that seat.
static void TolbiShipInteriors_Say (s32 speaker)
static void TolbiShipInteriors_Turn (s32 actorId, u16 facing)
 Turns an actor to a facing over 10 frames.
static void TolbiShipInteriors_PlaceActor (s32 actorId, s32 x, s32 z, s32 facing)
 Places an actor at pixel coordinates and sets its initial heading.
static void TolbiShipInteriors_MoveCameraAndWait (s32 x, s32 y, s32 z, u32 flags)
 Moves the camera, optionally waits or redraws, then honors the packed delay.
static void TolbiShipInteriors_RunSceneCommand (s32 step, u32 arg, u32 opt)
 Reuses the voyage's actor, camera, transition and selection operations.
static s32 TolbiShipInteriors_FindFirstSetFlag (u32 group, s32 alternate)
 Finds the selected passenger or rowing-deck actor for a seat's flag group.
static void TolbiShipInteriors_HideSelectedPassengers (void)
 Hides the four passengers who are already filling rowing seats.
static void TolbiShipInteriors_HideSelectedPassenger (s32 actorId, s32 firstFlag)
 Hides the passenger whose selection flag is set in this seat's flag group.
static void TolbiShipInteriors_StartSecondAttack (void)
 Stages the next monster encounter with one replacement rower.
static void TolbiShipInteriors_ReportMonstersBelowdecks (void)
 Gathers the party after the crew reports monsters belowdecks.
static void TolbiShipInteriors_ReactToMonsterAttack (void)
 The crew checks on the party after the monster fight, then resumes rowing.
static void TolbiShipInteriors_EndSecondAttack (void)
 Restores one replacement rower after the next monster attack.
static void TolbiShipInteriors_StartThirdAttack (void)
 Stages the next monster encounter with two replacement rowers.
static void TolbiShipInteriors_EndThirdAttack (void)
 Restores two replacement rowers after the next monster attack.
static void TolbiShipInteriors_NoticeShipRocking (void)
 The party notices the ship rocking and discusses the rowers' progress.
static void TolbiShipInteriors_ShakeWhileKrakenAboard (void)
 Plays the intermittent voyage cue and restores its effect after ten frames.
static void TolbiShipInteriors_ShowCabinBeforeKraken (void)
 Plays the short cabin exchange before returning to the voyage.
static void TolbiShipInteriors_ReachIsland (void)
 Rests the rowers at the island and plays the selected passengers' responses.
static void TolbiShipInteriors_DismissReplacementRowers (void)
 Returns the replacement rowers to their seats and exchanges their selections.
static void TolbiShipInteriors_SwapRowerSelections (s32 firstSeatFlags, s32 secondSeatFlags)
 Exchanges the chosen passengers between two rowing seats.
static s32 TolbiShipInteriors_ResetActor (struct ScriptInterpreter *interpreter)
 An action-script call: stands the actor still at the origin, with no velocity and no target.
static s32 TolbiShipInteriors_Bob (struct ScriptInterpreter *interpreter)
 Bobs the actor between the floor and 8 pixels up by a random amount each frame.
static s32 TolbiShipInteriors_LookAround (struct ScriptInterpreter *interpreter)
 Now and then (two chances in 64) turns the actor to face south-southeast or south-southwest.
static void TolbiShipInteriors_WaitThenAdvance (struct FieldActor *actor)
 Counts the frames of a pause in riseCounter and moves the pacing actor to its next step after 80 frames.
static s32 TolbiShipInteriors_HasArrived (struct FieldActor *actor)
 Counts down the actor's walking time in riseBaseY.
static void TolbiShipInteriors_PaceCabin (union FieldObject *fieldObject)
 The update of a crewman who paces between two spots in the cabin, looking about at each, and signals actor 9 through riseEnabled at three points of the round.
static void TolbiShipInteriors_WatchPacer (union FieldObject *fieldObject)
 The update of the actor who watches the pacing crewman: turns north-northeast at the first signal, shrugs at the second if still turned, and faces east at the third.
static s32 TolbiShipInteriors_LayFlat (struct ScriptInterpreter *interpreter)
 An action-script call: lays the actor flat on the floor, drawn underfoot at priority 1 with its parts hidden.
const struct SceneEntrance * TolbiShipInteriors_SelectEntrances (void)
const struct SceneRegion * TolbiShipInteriors_GetRegions (void)
const u32 * TolbiShipInteriors_GetExits (void)
const struct ScenePlacement * TolbiShipInteriors_SelectPlacements (void)
 Picks the placements for the room entered and the voyage's stage.
const struct SceneEvent * TolbiShipInteriors_SelectEvents (void)
 Chooses the room's interactions for the current stage of the voyage.
static void TolbiShipInteriors_TalkToCaptainsCabinActor10 (void)
 Once the warriors want to see the captain, actor 10 asks whether the party wants to join them in forcing the launch.
static void TolbiShipInteriors_TalkToCaptainsCabinActor12 (void)
 Actor 12 in the captain's cabin asks whether the party came to ask the captain to set sail.
static void TolbiShipInteriors_TalkToCaptain (void)
 The captain, by the voyage's stage: too late to hire mercenaries, then his bad luck at losing his lucky anchor, then uncertain what might happen, and under sail the news of an injured oarsman.
static void TolbiShipInteriors_TalkToWaitingPassenger8 (void)
 A passenger in the hold while the ship waits.
static void TolbiShipInteriors_TalkToWaitingPassenger10 (void)
 Another waiting passenger, once the party has agreed to protect the ship, asks whether it will row.
static void TolbiShipInteriors_RejoinParty (s32 rowerId)
 Walks the rower back to the leader and hides its separate scene actor.
static void TolbiShipInteriors_AskPassenger8ToRow (void)
 Passenger 8 under sail, when an oar needs a rower.
static void TolbiShipInteriors_AskPassenger10ToRow (void)
 The same for passenger 10.
static void TolbiShipInteriors_AskPassenger11ToRow (void)
 The same for passenger 11, who is too seasick to talk once the ship is at anchor.
static void TolbiShipInteriors_AskPassenger12ToRow (void)
 The same for passenger 12, written out in full rather than through TolbiShipInteriors_AskToRow.
static void TolbiShipInteriors_AskPassenger9ToRow (void)
 The same for passenger 9, written out in full.
static void TolbiShipInteriors_AskPassenger13ToRow (void)
 The same for passenger 13.
static void TolbiShipInteriors_AskPassenger14ToRow (void)
 The same for passenger 14.
static void TolbiShipInteriors_AskPassenger15ToRow (void)
 The same for passenger 15.
static void TolbiShipInteriors_AskPassenger16ToRow (void)
 The same for passenger 16.
static struct FieldActor * TolbiShipInteriors_FindActorNear (s32 x, s32 z)
 Finds a placed actor within twelve pixels of the requested floor position.
static void TolbiShipInteriors_TalkToRower18 (void)
 A passenger at the oars, by the round they were chosen in: Kaja's men are worried, monsters are everywhere, or the ship is starting to list.
static void TolbiShipInteriors_TalkToRower19 (void)
 The same for rower 19.
static void TolbiShipInteriors_TalkToRower20 (void)
 The same for rower 20.
static void TolbiShipInteriors_TalkToRower21 (void)
 Rower 21 asks how many monsters are out there.
static void TolbiShipInteriors_TalkToRower22 (void)
 The same as rower 18, for rower 22.
static void TolbiShipInteriors_TalkToRower23 (void)
 The same for rower 23.
static void TolbiShipInteriors_TalkToRower24 (void)
 The same for rower 24.
static void TolbiShipInteriors_TalkToRower25 (void)
 As rower 21, for rower 25.
static void TolbiShipInteriors_ReadRower18Mind (void)
 Mind Read on a rower, by the round they were chosen in.
static void TolbiShipInteriors_ReadRower19Mind (void)
 The same for rower 19.
static void TolbiShipInteriors_ReadRower20Mind (void)
 The same for rower 20.
static void TolbiShipInteriors_ReadRower21Mind (void)
 Mind Read on rower 21: there are so many monsters at sea.
static void TolbiShipInteriors_ReadRower22Mind (void)
 As rower 18, for rower 22.
static void TolbiShipInteriors_ReadRower23Mind (void)
 The same for rower 23.
static void TolbiShipInteriors_ReadRower24Mind (void)
 The same for rower 24.
static void TolbiShipInteriors_ReadRower25Mind (void)
 As rower 21, for rower 25.
static void TolbiShipInteriors_TalkToPriest (void)
 The travelling priest.
static void TolbiShipInteriors_FightMonstersInHold (void)
 Talking to one of the monsters in the hold (actors 36 to 38) starts the battle with them: group 62, its variant and the entrance the party comes back to chosen by how far the voyage has gone.
static void TolbiShipInteriors_TurnBackFromStairs (void)
 While the monsters are aboard, the leader is walked back from the stairs.
static void TolbiShipInteriors_WatchCrewWonderAtDelay (void)
 Once the warriors have gone to the captain, the three crewmen wonder what could have happened to the replacement ship.
static void TolbiShipInteriors_WatchWarriorsStormOff (void)
 Once the party has heard of the delay at Kalay: Ouranos threatens to go ashore if the ship doesn't sail.
static void TolbiShipInteriors_ReturnLuckyAnchor (void)
 Returns the captain's lucky anchor and agrees to protect the ship.
s32 TolbiShipInteriors_ApplyEntryState (void)
 Restores the room or plays the event selected by this entrance.
static void TolbiShipInteriors_PlaceFoundActors (s32 gated)
 Puts each recruited rower at its seat and hides the original occupant.
static void TolbiShipInteriors_PoseSceneActor (s32 id)
 Applies the seated pose and rowing action assigned to this rower.

Variables

s32 gTolbiShipInteriors_TurnSteps []
s32 gTolbiShipInteriors_LeaveHold []
 The warriors walk out of the hold.
s32 gTolbiShipInteriors_LeaveCabin []
 Those gathered in the cabin walk out.
s32 gTolbiShipInteriors_AnchorCharmPulse []
 The Anchor Charm swells and shrinks twice as the captain raises it.
s32 gTolbiShipInteriors_FollowersRejoinByStairs []
 The party's followers walk into the leader by the rowing deck's stairs.
s32 gTolbiShipInteriors_FollowersRejoinMidDeck []
 The same, in the middle of the rowing deck.
s32 gTolbiShipInteriors_FollowersRejoinBySeats []
 The same, by the first row of seats.
s32 gTolbiShipInteriors_Shiver []
 Squashes and stretches the actor over and over: a shiver.
s32 gTolbiShipInteriors_MonsterBob []
 A monster in the hold bobs in place.
s32 gTolbiShipInteriors_LeaveByStairs []
 A rower walks up the stairs and is freed.
s32 gTolbiShipInteriors_StepIntoAisle []
 A rower steps into the aisle.
s32 gTolbiShipInteriors_LookAroundScript []
 A passenger glances about at random.
s32 gTolbiShipInteriors_LieFlatScript []
 Lies flat on the floor of the hold.
struct FieldActor * gTolbiShipInteriors_AnchorObject = 0
 The Anchor Charm's object, once placed this visit.
struct SceneEntrance gTolbiShipInteriors_EntrancesOther []
 The other scenes have no entrances.
struct SceneEntrance gTolbiShipInteriors_Entrances []
 The hold (entrances 1, 2, 11 and 30), a side room (3), the rowing deck (4, 12 and 15 to 24 but 22) and the cabin (5, 10, 13, 14 and 22).
u32 gTolbiShipInteriors_Exits []
struct ScenePlacement gTolbiShipInteriors_PlacementsNone []
struct ScenePlacement gTolbiShipInteriors_CabinPlacements []
struct ScenePlacement gTolbiShipInteriors_CabinPlacementsWarriors []
 The cabin once the warriors have come to see the captain, with the party's followers.
struct ScenePlacement gTolbiShipInteriors_CabinPlacementsArrived []
 The cabin once the ship has reached Tolbi.
struct ScenePlacement gTolbiShipInteriors_HoldPlacementsEmpty []
 The hold before the party hears of the delay at Kalay.
struct ScenePlacement gTolbiShipInteriors_HoldPlacements []
 The hold while the ship waits at Kalay, and after it reaches Tolbi.
struct ScenePlacement gTolbiShipInteriors_HoldPlacementsAtSea []
 The hold at sea, once the passengers row.
struct ScenePlacement gTolbiShipInteriors_RowingDeckPlacements []
 The rowing deck: the crew (actors 8 and 9), the oarsmen at the seats (10 to 17), the passengers who may take a seat (18 to 26) and eight actors beside the seats (28 to 35).
struct ScenePlacement gTolbiShipInteriors_PartyFollowerPlacements []
 The party's followers, placed for a scene.
struct ScenePlacement gTolbiShipInteriors_FirstAttackMonsters []
 The monsters of each attack, beside the seats.
struct ScenePlacement gTolbiShipInteriors_SecondAttackMonsters []
struct ScenePlacement gTolbiShipInteriors_ThirdAttackMonsters []
struct SceneEvent gTolbiShipInteriors_EventsOther []
 The side room, and the cutscenes.
struct SceneEvent gTolbiShipInteriors_HoldEvents []
 The hold while the ship waits at Kalay, and after it reaches Tolbi.
struct SceneEvent gTolbiShipInteriors_HoldEventsChoosingRowers []
 The hold at sea: talking to a passenger asks them to row.
struct SceneEvent gTolbiShipInteriors_HoldEventsAtIsland []
 The hold while the ship waits off the island.
struct SceneEvent gTolbiShipInteriors_CabinEvents []
 The cabin, from the wait at Kalay until the ship reaches Tolbi.
struct SceneEvent gTolbiShipInteriors_CabinEventsAtIsland []
 The cabin while the ship waits off the island.
struct SceneEvent gTolbiShipInteriors_CabinEventsArrived []
 The cabin once the ship has reached Tolbi.
struct SceneEvent gTolbiShipInteriors_RowingDeckEvents []
struct SceneEvent gTolbiShipInteriors_RowingDeckEventsMonstersAboard []
 The rowing deck while monsters are aboard: talking to one (actors 36 to 38) fights it.
struct SceneEvent gTolbiShipInteriors_RowingDeckEventsKrakenAboard []
 The rowing deck while the Kraken rocks the ship.
struct SceneEvent gTolbiShipInteriors_RowingDeckEventsArrived []
 The rowing deck once the ship has reached Tolbi.
s32 gTolbiShipInteriors_ShakeTimer
 Frames left of the Kraken's current jolt; at 0 another may start.

Detailed Description

Below the decks of the ship across the Karagol Sea: the captain's cabin, the passengers' hold and the rowing deck.

After each monster attack the party chooses which passenger rows at the empty seat; the attacks fought off number the seat being filled, and each seat has a group of flags, one for each passenger.

Definition in file tolbi_ship_interiors.c.

Macro Definition Documentation

◆ FLAG_TOLBI_SHIP_ROWER_CHOSEN

◆ FLAG_TOLBI_SHIP_MONSTERS_ABOARD

#define FLAG_TOLBI_SHIP_MONSTERS_ABOARD   0x301

◆ FLAG_TOLBI_SHIP_KRAKEN_ABOARD

#define FLAG_TOLBI_SHIP_KRAKEN_ABOARD   0x302

The Kraken is aboard: the deck shakes until it is defeated (tolbi_ship_deck.c reads it too).

"There's a huge sea monster on the ship!"

Definition at line 49 of file tolbi_ship_interiors.c.

◆ SPEAKER

#define SPEAKER ( actor,
window )
Value:
((window) << 12 | (actor))

A speaker: the actor, and in the top four bits where the message window opens beside them.

Definition at line 91 of file tolbi_ship_interiors.c.

◆ TOLBI_SHIP_TALK_FACING

#define TOLBI_SHIP_TALK_FACING ( bytes,
row )
Value:
((bytes)[(row) * sizeof(struct ScenePlacement) + \
offsetof(struct ScenePlacement, talkFacing)])
#define offsetof(type, member)
Definition stddef.h:19
An actor a scene places: its sprite, the condition for placing it, how it behaves,...
Definition field_scene.h:81

A byte view keeps the native address arithmetic; direct row-field writes choose different bases and registers.

The layout still belongs to the row.

Definition at line 358 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ TURN_STEP

#define TURN_STEP ( dx,
dz )
Value:
(((dx) << 16) | ((dz) & 0xffff))

The step beside the leader for each of the 16 facings: the high 16 bits are x, the low 16 bits z.

Definition at line 3903 of file tolbi_ship_interiors.c.

Enumeration Type Documentation

◆ ShipSceneCommand

Operations shared by the cabin, passenger hold and rowing-deck events.

Enumerator
SHIP_FACE_PARTY_EAST_AND_WEST 
SHIP_FACE_PARTY 
SHIP_PLAY_PARTY_ANIMATION 
SHIP_SHOW_PARTY_EMOTE 
SHIP_HIDE_PASSENGERS 
SHIP_START_ROWING_ANIMATION 
SHIP_START_MIRRORED_ROWING_ANIMATION 
SHIP_SET_SELECTED_ROWER_POSE 
SHIP_OPEN_SCENE 
SHIP_CLOSE_SCENE 
SHIP_SETUP_ROWING_PARTY 
SHIP_RESTORE_ROWING_DECK_POSES 
SHIP_RESTORE_ROWER_POSE 
SHIP_HIDE_CABIN_CREW 
SHIP_HIDE_ACTORS_13_AND_14 
SHIP_SETUP_CAPTAINS_CABIN 
SHIP_SETUP_RECRUITMENT_DECK 
SHIP_HIDE_ACTORS_28_TO_35 
SHIP_SETUP_PASSENGER_HOLD 
SHIP_SETUP_MONSTER_ENCOUNTER 
SHIP_CLEAR_FLAG_RANGE 
SHIP_CLEAR_ROWING_SELECTIONS 
SHIP_RESTORE_ACTOR_12_SCRIPT 
SHIP_HIDE_PARTY_FOLLOWERS 
SHIP_RESET_CAMERA 
SHIP_PLACE_FOLLOWERS_AND_MONSTERS 

Definition at line 52 of file tolbi_ship_interiors.c.

◆ TolbiShipInteriorsActor

The warriors bound for Colosso in the hold while the ship waits at Kalay (gTolbiShipInteriors_HoldPlacements): Ouranos and his friend Sean.

Ouranos "can't stand water".

Enumerator
HOLD_OURANOS 
HOLD_SEAN 

Definition at line 84 of file tolbi_ship_interiors.c.

◆ anonymous enum

anonymous enum
Enumerator
CabinSpeakerRequest 

Definition at line 1003 of file tolbi_ship_interiors.c.

Function Documentation

◆ TolbiShipInteriors_StepBesideLeader()

void TolbiShipInteriors_StepBesideLeader ( s32 passengerId)
static

◆ TolbiShipInteriors_IsSpotFree()

s32 TolbiShipInteriors_IsSpotFree ( s32 bucket)
static

Returns 1 when the spot next to the leader in the given sixteenth of a turn holds no actor and no wall, else 0.

Definition at line 1007 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_IsSpotFree(), and TolbiShipInteriors_StepBesideLeader().

◆ TolbiShipInteriors_GetChosenOarsman()

◆ TolbiShipInteriors_AskToRow()

void TolbiShipInteriors_AskToRow ( s32 speaker,
s32 question,
s32 seatFlag )
static

Asks a passenger to row.

On yes they walk to the leader and leave with them, and the seat's flag for this passenger (seatFlag) and FLAG_TOLBI_SHIP_ROWER_CHOSEN are set; on no the next message refuses.

Definition at line 1253 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger10ToRow(), TolbiShipInteriors_AskPassenger11ToRow(), TolbiShipInteriors_AskPassenger13ToRow(), TolbiShipInteriors_AskPassenger14ToRow(), TolbiShipInteriors_AskPassenger15ToRow(), TolbiShipInteriors_AskPassenger16ToRow(), TolbiShipInteriors_AskPassenger8ToRow(), and TolbiShipInteriors_AskToRow().

◆ TolbiShipInteriors_DiscussLaunchingWithoutAnchor()

void TolbiShipInteriors_DiscussLaunchingWithoutAnchor ( void )
static

The passengers pressure the captain to launch despite the missing anchor.

Definition at line 1522 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_DiscussLaunchingWithoutAnchor(), and TolbiShipInteriors_TalkToCaptainsCabinActor10().

◆ TolbiShipInteriors_SetUpCabin()

void TolbiShipInteriors_SetUpCabin ( void )
static

Restores the cabin's actors after the anchor and departure conversations.

Definition at line 2173 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_SetUpCabin().

◆ TolbiShipInteriors_SetUpHold()

void TolbiShipInteriors_SetUpHold ( void )
static

Restores the passenger hold after recruitment and departure events.

Definition at line 2228 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_SetUpHold().

◆ TolbiShipInteriors_SetUpRowingDeck()

void TolbiShipInteriors_SetUpRowingDeck ( void )
static

Restores the rowing deck and introduces a newly recruited replacement.

Definition at line 2270 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_SetUpRowingDeck().

◆ TolbiShipInteriors_SetSeatActorCollision()

void TolbiShipInteriors_SetSeatActorCollision ( void )
static

◆ TolbiShipInteriors_AskForReplacementOarsmen()

void TolbiShipInteriors_AskForReplacementOarsmen ( void )
static

The crew explains the missing replacements and asks the party to find rowers.

Definition at line 2366 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskForReplacementOarsmen(), and TolbiShipInteriors_SetUpRowingDeck().

◆ TolbiShipInteriors_CastOff()

void TolbiShipInteriors_CastOff ( void )
static

Raises the anchor charm and announces the ship's first departure.

Definition at line 2495 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_CastOff().

◆ TolbiShipInteriors_AnnounceDeparture()

void TolbiShipInteriors_AnnounceDeparture ( void )
static

Announces departure after a replacement rower has joined the crew.

Definition at line 2523 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AnnounceDeparture(), and TolbiShipInteriors_ApplyEntryState().

◆ TolbiShipInteriors_CallActorSixteenToRow()

void TolbiShipInteriors_CallActorSixteenToRow ( void )
static

Calls the first passenger to the rowing deck.

Definition at line 2534 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_CallActorSixteenToRow().

◆ TolbiShipInteriors_CallActorEighteenToRow()

void TolbiShipInteriors_CallActorEighteenToRow ( void )
static

Calls a replacement rower back to the rowing deck.

Definition at line 2553 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_CallActorEighteenToRow().

◆ TolbiShipInteriors_ShowRowing()

void TolbiShipInteriors_ShowRowing ( void )
static

Restores the rowing deck for the current set of selected passengers.

Definition at line 2571 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_ShowRowing().

◆ TolbiShipInteriors_AskAboutMonsters()

void TolbiShipInteriors_AskAboutMonsters ( void )
static

Asks the crew about the monsters before returning belowdecks.

Definition at line 2620 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_AskAboutMonsters().

◆ TolbiShipInteriors_AnnounceTurn()

void TolbiShipInteriors_AnnounceTurn ( void )
static

Announces the ship's next turn and returns control to the rowing deck.

Definition at line 2633 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AnnounceTurn(), and TolbiShipInteriors_ApplyEntryState().

◆ TolbiShipInteriors_StartFirstAttack()

void TolbiShipInteriors_StartFirstAttack ( void )
static

Stages the first monster encounter with the original rowers.

Definition at line 2646 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_StartFirstAttack().

◆ TolbiShipInteriors_EndFirstAttack()

void TolbiShipInteriors_EndFirstAttack ( void )
static

Restores the original rowers after the first monster attack.

Definition at line 2668 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_EndFirstAttack().

◆ TolbiShipInteriors_IntroduceReplacementOarsman()

void TolbiShipInteriors_IntroduceReplacementOarsman ( s32 seat)
static

Introduces the selected passenger and leads them to the open rowing seat.

Definition at line 2679 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_IntroduceReplacementOarsman(), and TolbiShipInteriors_SetUpRowingDeck().

◆ TolbiShipInteriors_PlaceAnchorCharm()

struct FieldActor * TolbiShipInteriors_PlaceAnchorCharm ( void )
static

Creates the visible anchor charm once a visit (FLAG_SCENE_TEMP_00 records it) and retains it for departure events.

Definition at line 2790 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_CastOff(), TolbiShipInteriors_PlaceAnchorCharm(), TolbiShipInteriors_RunSceneCommand(), and TolbiShipInteriors_SetUpCabin().

◆ TolbiShipInteriors_InstallRowingDeckActors()

void TolbiShipInteriors_InstallRowingDeckActors ( u32 action)
static

Restores each replacement rower or the original occupant of that seat.

Definition at line 2816 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_InstallRowingDeckActors(), TolbiShipInteriors_NoticeShipRocking(), TolbiShipInteriors_ReachIsland(), and TolbiShipInteriors_ShowRowing().

◆ TolbiShipInteriors_Say()

◆ TolbiShipInteriors_Turn()

◆ TolbiShipInteriors_PlaceActor()

◆ TolbiShipInteriors_MoveCameraAndWait()

◆ TolbiShipInteriors_RunSceneCommand()

◆ TolbiShipInteriors_FindFirstSetFlag()

◆ TolbiShipInteriors_HideSelectedPassengers()

void TolbiShipInteriors_HideSelectedPassengers ( void )
static

Hides the four passengers who are already filling rowing seats.

Definition at line 3239 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_CallActorEighteenToRow(), TolbiShipInteriors_HideSelectedPassengers(), and TolbiShipInteriors_SetUpHold().

◆ TolbiShipInteriors_HideSelectedPassenger()

void TolbiShipInteriors_HideSelectedPassenger ( s32 actorId,
s32 firstFlag )
static

Hides the passenger whose selection flag is set in this seat's flag group.

Definition at line 3251 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_HideSelectedPassenger(), and TolbiShipInteriors_HideSelectedPassengers().

◆ TolbiShipInteriors_StartSecondAttack()

void TolbiShipInteriors_StartSecondAttack ( void )
static

Stages the next monster encounter with one replacement rower.

Definition at line 3267 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_StartSecondAttack().

◆ TolbiShipInteriors_ReportMonstersBelowdecks()

void TolbiShipInteriors_ReportMonstersBelowdecks ( void )
static

◆ TolbiShipInteriors_ReactToMonsterAttack()

void TolbiShipInteriors_ReactToMonsterAttack ( void )
static

The crew checks on the party after the monster fight, then resumes rowing.

Definition at line 3356 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_EndFirstAttack(), TolbiShipInteriors_EndSecondAttack(), TolbiShipInteriors_EndThirdAttack(), and TolbiShipInteriors_ReactToMonsterAttack().

◆ TolbiShipInteriors_EndSecondAttack()

void TolbiShipInteriors_EndSecondAttack ( void )
static

Restores one replacement rower after the next monster attack.

Definition at line 3447 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_EndSecondAttack().

◆ TolbiShipInteriors_StartThirdAttack()

void TolbiShipInteriors_StartThirdAttack ( void )
static

Stages the next monster encounter with two replacement rowers.

Definition at line 3462 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_StartThirdAttack().

◆ TolbiShipInteriors_EndThirdAttack()

void TolbiShipInteriors_EndThirdAttack ( void )
static

Restores two replacement rowers after the next monster attack.

Definition at line 3492 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_EndThirdAttack().

◆ TolbiShipInteriors_NoticeShipRocking()

void TolbiShipInteriors_NoticeShipRocking ( void )
static

The party notices the ship rocking and discusses the rowers' progress.

Definition at line 3510 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_NoticeShipRocking().

◆ TolbiShipInteriors_ShakeWhileKrakenAboard()

void TolbiShipInteriors_ShakeWhileKrakenAboard ( void )
static

Plays the intermittent voyage cue and restores its effect after ten frames.

Definition at line 3636 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), TolbiShipInteriors_NoticeShipRocking(), and TolbiShipInteriors_ShakeWhileKrakenAboard().

◆ TolbiShipInteriors_ShowCabinBeforeKraken()

void TolbiShipInteriors_ShowCabinBeforeKraken ( void )
static

Plays the short cabin exchange before returning to the voyage.

Definition at line 3656 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_ShowCabinBeforeKraken().

◆ TolbiShipInteriors_ReachIsland()

void TolbiShipInteriors_ReachIsland ( void )
static

Rests the rowers at the island and plays the selected passengers' responses.

Definition at line 3671 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_ReachIsland().

◆ TolbiShipInteriors_DismissReplacementRowers()

void TolbiShipInteriors_DismissReplacementRowers ( void )
static

Returns the replacement rowers to their seats and exchanges their selections.

Definition at line 3797 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), and TolbiShipInteriors_DismissReplacementRowers().

◆ TolbiShipInteriors_SwapRowerSelections()

void TolbiShipInteriors_SwapRowerSelections ( s32 firstSeatFlags,
s32 secondSeatFlags )
static

Exchanges the chosen passengers between two rowing seats.

Definition at line 3873 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_DismissReplacementRowers(), and TolbiShipInteriors_SwapRowerSelections().

◆ TolbiShipInteriors_ResetActor()

s32 TolbiShipInteriors_ResetActor ( struct ScriptInterpreter * interpreter)
static

An action-script call: stands the actor still at the origin, with no velocity and no target.

Returns 0.

Definition at line 145 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ResetActor().

◆ TolbiShipInteriors_Bob()

s32 TolbiShipInteriors_Bob ( struct ScriptInterpreter * interpreter)
static

Bobs the actor between the floor and 8 pixels up by a random amount each frame.

Returns 1.

Definition at line 159 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_Bob().

◆ TolbiShipInteriors_LookAround()

s32 TolbiShipInteriors_LookAround ( struct ScriptInterpreter * interpreter)
static

Now and then (two chances in 64) turns the actor to face south-southeast or south-southwest.

Returns 1.

Definition at line 188 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_LookAround().

◆ TolbiShipInteriors_WaitThenAdvance()

void TolbiShipInteriors_WaitThenAdvance ( struct FieldActor * actor)
static

Counts the frames of a pause in riseCounter and moves the pacing actor to its next step after 80 frames.

Definition at line 204 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_PaceCabin(), and TolbiShipInteriors_WaitThenAdvance().

◆ TolbiShipInteriors_HasArrived()

s32 TolbiShipInteriors_HasArrived ( struct FieldActor * actor)
static

Counts down the actor's walking time in riseBaseY.

Returns 1 once the time is up or the actor has reached its target, else 0.

Definition at line 216 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_HasArrived(), and TolbiShipInteriors_PaceCabin().

◆ TolbiShipInteriors_PaceCabin()

void TolbiShipInteriors_PaceCabin ( union FieldObject * fieldObject)
static

The update of a crewman who paces between two spots in the cabin, looking about at each, and signals actor 9 through riseEnabled at three points of the round.

While actor 8 is paused he sends no signals. work holds the step.

Definition at line 234 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_PaceCabin(), and TolbiShipInteriors_SetUpCabin().

◆ TolbiShipInteriors_WatchPacer()

void TolbiShipInteriors_WatchPacer ( union FieldObject * fieldObject)
static

The update of the actor who watches the pacing crewman: turns north-northeast at the first signal, shrugs at the second if still turned, and faces east at the third.

Does nothing while paused.

Definition at line 306 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SetUpCabin(), and TolbiShipInteriors_WatchPacer().

◆ TolbiShipInteriors_LayFlat()

s32 TolbiShipInteriors_LayFlat ( struct ScriptInterpreter * interpreter)
static

An action-script call: lays the actor flat on the floor, drawn underfoot at priority 1 with its parts hidden.

Returns 1.

Definition at line 330 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_LayFlat().

◆ TolbiShipInteriors_SelectEntrances()

const struct SceneEntrance * TolbiShipInteriors_SelectEntrances ( void )

Definition at line 343 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEntrances().

◆ TolbiShipInteriors_GetRegions()

const struct SceneRegion * TolbiShipInteriors_GetRegions ( void )

Definition at line 350 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_GetRegions().

◆ TolbiShipInteriors_GetExits()

const u32 * TolbiShipInteriors_GetExits ( void )

Definition at line 352 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_GetExits().

◆ TolbiShipInteriors_SelectPlacements()

const struct ScenePlacement * TolbiShipInteriors_SelectPlacements ( void )

Picks the placements for the room entered and the voyage's stage.

Some stages change who turns to face the party when talked to (talkFacing) in the shared tables.

Definition at line 365 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ TolbiShipInteriors_SelectEvents()

const struct SceneEvent * TolbiShipInteriors_SelectEvents ( void )

Chooses the room's interactions for the current stage of the voyage.

Definition at line 464 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ TolbiShipInteriors_TalkToCaptainsCabinActor10()

void TolbiShipInteriors_TalkToCaptainsCabinActor10 ( void )
static

Once the warriors want to see the captain, actor 10 asks whether the party wants to join them in forcing the launch.

Definition at line 507 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToCaptainsCabinActor10().

◆ TolbiShipInteriors_TalkToCaptainsCabinActor12()

void TolbiShipInteriors_TalkToCaptainsCabinActor12 ( void )
static

Actor 12 in the captain's cabin asks whether the party came to ask the captain to set sail.

Definition at line 534 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToCaptainsCabinActor12().

◆ TolbiShipInteriors_TalkToCaptain()

void TolbiShipInteriors_TalkToCaptain ( void )
static

The captain, by the voyage's stage: too late to hire mercenaries, then his bad luck at losing his lucky anchor, then uncertain what might happen, and under sail the news of an injured oarsman.

After finding the Anchor Charm, talking to him also sets the event work's unk172 request.

Definition at line 545 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToCaptain().

◆ TolbiShipInteriors_TalkToWaitingPassenger8()

void TolbiShipInteriors_TalkToWaitingPassenger8 ( void )
static

A passenger in the hold while the ship waits.

Once the party has agreed to protect the ship, she worries the proud warriors won't like being told to row, and asks the party.

Definition at line 574 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToWaitingPassenger8().

◆ TolbiShipInteriors_TalkToWaitingPassenger10()

void TolbiShipInteriors_TalkToWaitingPassenger10 ( void )
static

Another waiting passenger, once the party has agreed to protect the ship, asks whether it will row.

"Are you going to row?"

Definition at line 601 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToWaitingPassenger10().

◆ TolbiShipInteriors_RejoinParty()

◆ TolbiShipInteriors_AskPassenger8ToRow()

void TolbiShipInteriors_AskPassenger8ToRow ( void )
static

Passenger 8 under sail, when an oar needs a rower.

If someone has already been chosen this round, the chosen passenger steps beside the leader and follows them out; otherwise the party may ask passenger 8 to row at the open seat.

Definition at line 631 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger8ToRow().

◆ TolbiShipInteriors_AskPassenger10ToRow()

void TolbiShipInteriors_AskPassenger10ToRow ( void )
static

The same for passenger 10.

Definition at line 658 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger10ToRow().

◆ TolbiShipInteriors_AskPassenger11ToRow()

void TolbiShipInteriors_AskPassenger11ToRow ( void )
static

The same for passenger 11, who is too seasick to talk once the ship is at anchor.

Definition at line 686 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger11ToRow().

◆ TolbiShipInteriors_AskPassenger12ToRow()

void TolbiShipInteriors_AskPassenger12ToRow ( void )
static

The same for passenger 12, written out in full rather than through TolbiShipInteriors_AskToRow.

Definition at line 721 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger12ToRow().

◆ TolbiShipInteriors_AskPassenger9ToRow()

void TolbiShipInteriors_AskPassenger9ToRow ( void )
static

The same for passenger 9, written out in full.

Definition at line 765 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger9ToRow().

◆ TolbiShipInteriors_AskPassenger13ToRow()

void TolbiShipInteriors_AskPassenger13ToRow ( void )
static

The same for passenger 13.

Definition at line 809 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger13ToRow().

◆ TolbiShipInteriors_AskPassenger14ToRow()

void TolbiShipInteriors_AskPassenger14ToRow ( void )
static

The same for passenger 14.

Definition at line 836 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger14ToRow().

◆ TolbiShipInteriors_AskPassenger15ToRow()

void TolbiShipInteriors_AskPassenger15ToRow ( void )
static

The same for passenger 15.

Definition at line 863 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger15ToRow().

◆ TolbiShipInteriors_AskPassenger16ToRow()

void TolbiShipInteriors_AskPassenger16ToRow ( void )
static

The same for passenger 16.

Definition at line 890 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_AskPassenger16ToRow().

◆ TolbiShipInteriors_FindActorNear()

struct FieldActor * TolbiShipInteriors_FindActorNear ( s32 x,
s32 z )
static

Finds a placed actor within twelve pixels of the requested floor position.

Definition at line 921 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_FindActorNear(), and TolbiShipInteriors_IsSpotFree().

◆ TolbiShipInteriors_TalkToRower18()

void TolbiShipInteriors_TalkToRower18 ( void )
static

A passenger at the oars, by the round they were chosen in: Kaja's men are worried, monsters are everywhere, or the ship is starting to list.

Definition at line 1050 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower18().

◆ TolbiShipInteriors_TalkToRower19()

void TolbiShipInteriors_TalkToRower19 ( void )
static

The same for rower 19.

Definition at line 1063 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower19().

◆ TolbiShipInteriors_TalkToRower20()

void TolbiShipInteriors_TalkToRower20 ( void )
static

The same for rower 20.

Definition at line 1076 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower20().

◆ TolbiShipInteriors_TalkToRower21()

void TolbiShipInteriors_TalkToRower21 ( void )
static

Rower 21 asks how many monsters are out there.

Definition at line 1089 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower21().

◆ TolbiShipInteriors_TalkToRower22()

void TolbiShipInteriors_TalkToRower22 ( void )
static

The same as rower 18, for rower 22.

Definition at line 1100 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower22().

◆ TolbiShipInteriors_TalkToRower23()

void TolbiShipInteriors_TalkToRower23 ( void )
static

The same for rower 23.

Definition at line 1113 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower23().

◆ TolbiShipInteriors_TalkToRower24()

void TolbiShipInteriors_TalkToRower24 ( void )
static

The same for rower 24.

Definition at line 1126 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower24().

◆ TolbiShipInteriors_TalkToRower25()

void TolbiShipInteriors_TalkToRower25 ( void )
static

As rower 21, for rower 25.

Definition at line 1139 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToRower25().

◆ TolbiShipInteriors_ReadRower18Mind()

void TolbiShipInteriors_ReadRower18Mind ( void )
static

Mind Read on a rower, by the round they were chosen in.

"Just hurry up and slay that beast!"

Definition at line 1151 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower18Mind().

◆ TolbiShipInteriors_ReadRower19Mind()

void TolbiShipInteriors_ReadRower19Mind ( void )
static

The same for rower 19.

Definition at line 1164 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower19Mind().

◆ TolbiShipInteriors_ReadRower20Mind()

void TolbiShipInteriors_ReadRower20Mind ( void )
static

The same for rower 20.

Definition at line 1177 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower20Mind().

◆ TolbiShipInteriors_ReadRower21Mind()

void TolbiShipInteriors_ReadRower21Mind ( void )
static

Mind Read on rower 21: there are so many monsters at sea.

Definition at line 1190 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower21Mind().

◆ TolbiShipInteriors_ReadRower22Mind()

void TolbiShipInteriors_ReadRower22Mind ( void )
static

As rower 18, for rower 22.

Definition at line 1201 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower22Mind().

◆ TolbiShipInteriors_ReadRower23Mind()

void TolbiShipInteriors_ReadRower23Mind ( void )
static

The same for rower 23.

Definition at line 1214 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower23Mind().

◆ TolbiShipInteriors_ReadRower24Mind()

void TolbiShipInteriors_ReadRower24Mind ( void )
static

The same for rower 24.

Definition at line 1227 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower24Mind().

◆ TolbiShipInteriors_ReadRower25Mind()

void TolbiShipInteriors_ReadRower25Mind ( void )
static

As rower 21, for rower 25.

Definition at line 1240 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReadRower25Mind().

◆ TolbiShipInteriors_TalkToPriest()

void TolbiShipInteriors_TalkToPriest ( void )
static

The travelling priest.

From in front of him (the leader facing roughly east) he opens his sanctum; otherwise he talks by the voyage's stage. Under sail, until the ship is docked, he is actor 17, else actor 15.

Definition at line 1282 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TalkToPriest().

◆ TolbiShipInteriors_FightMonstersInHold()

void TolbiShipInteriors_FightMonstersInHold ( void )
static

Talking to one of the monsters in the hold (actors 36 to 38) starts the battle with them: group 62, its variant and the entrance the party comes back to chosen by how far the voyage has gone.

Definition at line 1321 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_FightMonstersInHold().

◆ TolbiShipInteriors_TurnBackFromStairs()

void TolbiShipInteriors_TurnBackFromStairs ( void )
static

While the monsters are aboard, the leader is walked back from the stairs.

"Where are you going, Isaac? Slay the beasts and save my mates!"

Definition at line 1346 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_TurnBackFromStairs().

◆ TolbiShipInteriors_WatchCrewWonderAtDelay()

void TolbiShipInteriors_WatchCrewWonderAtDelay ( void )
static

Once the warriors have gone to the captain, the three crewmen wonder what could have happened to the replacement ship.

Definition at line 1360 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_WatchCrewWonderAtDelay().

◆ TolbiShipInteriors_WatchWarriorsStormOff()

void TolbiShipInteriors_WatchWarriorsStormOff ( void )
static

Once the party has heard of the delay at Kalay: Ouranos threatens to go ashore if the ship doesn't sail.

Actor 12 can't say when it will, so Sean and Ouranos set off to make the captain set sail, and actor 12 ("I don't want any violence!") hurries after them past the party.

Definition at line 1397 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_WatchWarriorsStormOff().

◆ TolbiShipInteriors_ReturnLuckyAnchor()

void TolbiShipInteriors_ReturnLuckyAnchor ( void )
static

Returns the captain's lucky anchor and agrees to protect the ship.

Definition at line 1768 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReturnLuckyAnchor().

◆ TolbiShipInteriors_ApplyEntryState()

s32 TolbiShipInteriors_ApplyEntryState ( void )

Restores the room or plays the event selected by this entrance.

Definition at line 2014 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState().

◆ TolbiShipInteriors_PlaceFoundActors()

void TolbiShipInteriors_PlaceFoundActors ( s32 gated)
static

◆ TolbiShipInteriors_PoseSceneActor()

void TolbiShipInteriors_PoseSceneActor ( s32 id)
static

Applies the seated pose and rowing action assigned to this rower.

Definition at line 2870 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_PoseSceneActor(), and TolbiShipInteriors_RunSceneCommand().

Variable Documentation

◆ gTolbiShipInteriors_TurnSteps

s32 gTolbiShipInteriors_TurnSteps[]
Initial value:
= {
TURN_STEP(16, 0), TURN_STEP(16, 0), TURN_STEP(16, 0), TURN_STEP(0, 16),
TURN_STEP(0, 16), TURN_STEP(0, 16), TURN_STEP(0, 16), TURN_STEP(-16, 0),
TURN_STEP(-16, 0), TURN_STEP(-16, 0), TURN_STEP(-16, 0), TURN_STEP(0, -16),
TURN_STEP(0, -16), TURN_STEP(0, -16), TURN_STEP(0, -16), TURN_STEP(16, 0),
}
#define TURN_STEP(dx, dz)
The step beside the leader for each of the 16 facings: the high 16 bits are x, the low 16 bits z.

Definition at line 3905 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_IsSpotFree(), and TolbiShipInteriors_StepBesideLeader().

◆ gTolbiShipInteriors_LeaveHold

s32 gTolbiShipInteriors_LeaveHold[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(168), 0, PIXELS(500)),
SC_SYNC, SC_MOVE(PIXELS(168), 0, PIXELS(584)),
}
#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
#define SC_CALL(fn)
Definition objcmd.h:50
static s32 TolbiShipInteriors_ResetActor(struct ScriptInterpreter *interpreter)
An action-script call: stands the actor still at the origin, with no velocity and no target.

The warriors walk out of the hold.

Definition at line 3913 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_WatchWarriorsStormOff().

◆ gTolbiShipInteriors_LeaveCabin

s32 gTolbiShipInteriors_LeaveCabin[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(456), 0, PIXELS(674)),
SC_MOVE(PIXELS(456), 0, PIXELS(712)),
}
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
@ SW_ACCEL
Definition objcmd.h:68
@ SW_SPEED
Definition objcmd.h:67

Those gathered in the cabin walk out.

Definition at line 3921 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReturnLuckyAnchor().

◆ gTolbiShipInteriors_AnchorCharmPulse

s32 gTolbiShipInteriors_AnchorCharmPulse[]
Initial value:
= {
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(2),
}
#define Q16_ONE
One in the engine's signed 16.16 fixed-point format.
Definition fixed_math.h:10
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#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

The Anchor Charm swells and shrinks twice as the captain raises it.

Definition at line 3934 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_CastOff().

◆ gTolbiShipInteriors_FollowersRejoinByStairs

s32 gTolbiShipInteriors_FollowersRejoinByStairs[]
Initial value:

The party's followers walk into the leader by the rowing deck's stairs.

Definition at line 3952 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReachIsland(), and TolbiShipInteriors_ReportMonstersBelowdecks().

◆ gTolbiShipInteriors_FollowersRejoinMidDeck

s32 gTolbiShipInteriors_FollowersRejoinMidDeck[]
Initial value:

The same, in the middle of the rowing deck.

Definition at line 3959 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReactToMonsterAttack().

◆ gTolbiShipInteriors_FollowersRejoinBySeats

s32 gTolbiShipInteriors_FollowersRejoinBySeats[]
Initial value:

The same, by the first row of seats.

Definition at line 3966 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_NoticeShipRocking().

◆ gTolbiShipInteriors_Shiver

s32 gTolbiShipInteriors_Shiver[]
Initial value:
= {
SC_ADD(SW_SCALE_X, -0x5000),
SC_ADD(SW_SCALE_Y, 0x1000),
SC_WAIT(2),
SC_ADD(SW_SCALE_X, 0x2800),
SC_ADD(SW_SCALE_Y, -2048),
SC_WAIT(2),
SC_ADD(SW_SCALE_X, 0x1400),
SC_ADD(SW_SCALE_Y, -1024),
SC_WAIT(2),
SC_ADD(SW_SCALE_X, 0x1400),
SC_ADD(SW_SCALE_Y, -1024),
SC_WAIT(2),
}
#define SC_FOREVER
Definition objcmd.h:14
#define SC_ADD(w, v)
Definition objcmd.h:38

Squashes and stretches the actor over and over: a shiver.

Definition at line 3973 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_RunSceneCommand(), TolbiShipInteriors_SetUpHold(), TolbiShipInteriors_StartFirstAttack(), TolbiShipInteriors_StartSecondAttack(), and TolbiShipInteriors_StartThirdAttack().

◆ gTolbiShipInteriors_MonsterBob

s32 gTolbiShipInteriors_MonsterBob[]
Initial value:
= {
SC_SET(0x24, 0),
}
@ SW_MOTION
Definition objcmd.h:75
static s32 TolbiShipInteriors_Bob(struct ScriptInterpreter *interpreter)
Bobs the actor between the floor and 8 pixels up by a random amount each frame.

A monster in the hold bobs in place.

Definition at line 3992 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), TolbiShipInteriors_StartFirstAttack(), TolbiShipInteriors_StartSecondAttack(), and TolbiShipInteriors_StartThirdAttack().

◆ gTolbiShipInteriors_LeaveByStairs

s32 gTolbiShipInteriors_LeaveByStairs[]
Initial value:
= {
SC_ARG(2), SC_MOVE(PIXELS(408), 0, PIXELS(132)),
SC_SYNC, SC_MOVE(PIXELS(444), 0, PIXELS(132)),
}
#define SC_FREE
Release.
Definition objcmd.h:43

A rower walks up the stairs and is freed.

Definition at line 3999 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReachIsland().

◆ gTolbiShipInteriors_StepIntoAisle

s32 gTolbiShipInteriors_StepIntoAisle[]
Initial value:
= {
SC_ARG(2),
SC_MOVE(PIXELS(416), 0, PIXELS(186)),
}

A rower steps into the aisle.

Definition at line 4006 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ReachIsland().

◆ gTolbiShipInteriors_LookAroundScript

s32 gTolbiShipInteriors_LookAroundScript[]
Initial value:
= {
}
static s32 TolbiShipInteriors_LookAround(struct ScriptInterpreter *interpreter)
Now and then (two chances in 64) turns the actor to face south-southeast or south-southwest.

A passenger glances about at random.

Definition at line 4014 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SetUpHold().

◆ gTolbiShipInteriors_LieFlatScript

s32 gTolbiShipInteriors_LieFlatScript[]
Initial value:
= {
}
static s32 TolbiShipInteriors_LayFlat(struct ScriptInterpreter *interpreter)
An action-script call: lays the actor flat on the floor, drawn underfoot at priority 1 with its parts...

Lies flat on the floor of the hold.

Definition at line 4019 of file tolbi_ship_interiors.c.

◆ gTolbiShipInteriors_AnchorObject

struct FieldActor* gTolbiShipInteriors_AnchorObject = 0

The Anchor Charm's object, once placed this visit.

Definition at line 4024 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_PlaceAnchorCharm().

◆ gTolbiShipInteriors_EntrancesOther

struct SceneEntrance gTolbiShipInteriors_EntrancesOther[]
Initial value:
= {
}
@ SCENE_TABLE_END
Definition field_scene.h:43

The other scenes have no entrances.

Definition at line 4027 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEntrances().

◆ gTolbiShipInteriors_Entrances

struct SceneEntrance gTolbiShipInteriors_Entrances[]
Initial value:
= {
{1, CONDITION_ALWAYS, 152, 0, 584, FACING_NORTH, 0, 30, 380, 270, 620, 0},
{2, CONDITION_ALWAYS, 160, 0, 552, FACING_EAST, 0, 30, 380, 270, 620, 0},
{3, CONDITION_ALWAYS, 120, 0, 136, FACING_WEST, 0, 25, 80, 265, 350, 0},
{4, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{5, CONDITION_ALWAYS, 440, 0, 728, FACING_NORTH, 0, 315, 500, 555, 765, 0},
{10, CONDITION_ALWAYS, 440, 0, 728, FACING_NORTH, 0, 315, 500, 555, 765, 0},
{11, CONDITION_ALWAYS, 152, 0, 584, FACING_NORTH, 0, 30, 380, 270, 620, 0},
{12, CONDITION_ALWAYS, 440, 0, 342, FACING_NORTH, 0, 315, 80, 555, 410, 0},
{13, CONDITION_ALWAYS, 440, 0, 728, FACING_NORTH, 0, 315, 500, 555, 765, 0},
{14, CONDITION_ALWAYS, 440, 0, 728, FACING_NORTH, 0, 315, 500, 555, 765, 0},
{15, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{16, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{17, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{18, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{19, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{20, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{21, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 305, 60, 565, 430, 0},
{22, CONDITION_ALWAYS, 444, 0, 632, FACING_NORTH, 0, 315, 500, 555, 765, 0},
{23, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{24, CONDITION_ALWAYS, 408, 0, 136, FACING_WEST, 0, 315, 80, 555, 410, 0},
{30, CONDITION_ALWAYS, 166, 0, 570, FACING_NORTH, 0, 30, 380, 270, 620, 0},
}
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_EAST
Definition field_scene.h:26
@ FACING_NORTH
Definition field_scene.h:32
@ FACING_WEST
Definition field_scene.h:30

The hold (entrances 1, 2, 11 and 30), a side room (3), the rowing deck (4, 12 and 15 to 24 but 22) and the cabin (5, 10, 13, 14 and 22).

Definition at line 4033 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEntrances().

◆ gTolbiShipInteriors_Exits

u32 gTolbiShipInteriors_Exits[]
Initial value:
= {
SCENE_EXITS(111), SCENE_EXIT(1, 109, 1), SCENE_EXIT(2, 111, 4),
SCENE_EXIT(3, 109, 2), SCENE_EXIT(4, 111, 2), SCENE_EXIT(5, 109, 3),
SCENE_EXIT(10, 109, 10), SCENE_EXIT(11, 111, 11), SCENE_EXIT(12, 111, 12),
SCENE_EXIT(13, 2, 65), SCENE_EXIT(14, 109, 11), SCENE_EXIT(15, 109, 12),
SCENE_EXIT(16, 2, 66), SCENE_EXIT(17, 2, 67), SCENE_EXIT(18, 2, 68),
SCENE_EXIT(19, 109, 15), SCENE_EXIT(20, 2, 69), SCENE_EXIT(21, 2, 75),
}
#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 4058 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_GetExits().

◆ gTolbiShipInteriors_PlacementsNone

struct ScenePlacement gTolbiShipInteriors_PlacementsNone[]
Initial value:
= {
}

Definition at line 4068 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_CabinPlacements

struct ScenePlacement gTolbiShipInteriors_CabinPlacements[]
Initial value:
= {
PIXELS(472), 0, PIXELS(626), FACING_WEST, TALK_KEEP_FACING, 0 },
}
@ FACING_STEP
Definition field_scene.h:36
@ TALK_KEEP_FACING
@ ACTOR_STAND
@ FACING_SOUTHEAST
Definition field_scene.h:27
@ FACING_NORTHWEST
Definition field_scene.h:31

Definition at line 4073 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_CabinPlacementsWarriors

struct ScenePlacement gTolbiShipInteriors_CabinPlacementsWarriors[]
Initial value:

The cabin once the warriors have come to see the captain, with the party's followers.

Definition at line 4085 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_CabinPlacementsArrived

struct ScenePlacement gTolbiShipInteriors_CabinPlacementsArrived[]
Initial value:

The cabin once the ship has reached Tolbi.

Definition at line 4108 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_HoldPlacementsEmpty

struct ScenePlacement gTolbiShipInteriors_HoldPlacementsEmpty[]
Initial value:
= {
}
s32 gTolbiShipInteriors_LieFlatScript[]
Lies flat on the floor of the hold.
signed int s32
Definition types.h:14

The hold before the party hears of the delay at Kalay.

Definition at line 4115 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_HoldPlacements

struct ScenePlacement gTolbiShipInteriors_HoldPlacements[]

◆ gTolbiShipInteriors_HoldPlacementsAtSea

struct ScenePlacement gTolbiShipInteriors_HoldPlacementsAtSea[]
Initial value:

The hold at sea, once the passengers row.

Definition at line 4147 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_RowingDeckPlacements

struct ScenePlacement gTolbiShipInteriors_RowingDeckPlacements[]

The rowing deck: the crew (actors 8 and 9), the oarsmen at the seats (10 to 17), the passengers who may take a seat (18 to 26) and eight actors beside the seats (28 to 35).

Definition at line 4178 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectPlacements().

◆ gTolbiShipInteriors_PartyFollowerPlacements

struct ScenePlacement gTolbiShipInteriors_PartyFollowerPlacements[]
Initial value:

The party's followers, placed for a scene.

Definition at line 4239 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_RunSceneCommand().

◆ gTolbiShipInteriors_FirstAttackMonsters

struct ScenePlacement gTolbiShipInteriors_FirstAttackMonsters[]
Initial value:

The monsters of each attack, beside the seats.

Definition at line 4250 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_RunSceneCommand().

◆ gTolbiShipInteriors_SecondAttackMonsters

struct ScenePlacement gTolbiShipInteriors_SecondAttackMonsters[]

◆ gTolbiShipInteriors_ThirdAttackMonsters

struct ScenePlacement gTolbiShipInteriors_ThirdAttackMonsters[]

◆ gTolbiShipInteriors_EventsOther

struct SceneEvent gTolbiShipInteriors_EventsOther[]
Initial value:
= {
}
#define SCENE_EVENTS_END
#define FIND_ITEM(item)
@ EVENT_EXIT
#define SEARCH(target)
@ SEARCH_BARREL
@ ITEM_LUCKY_MEDAL
Definition item_ids.h:70

The side room, and the cutscenes.

Definition at line 4281 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_HoldEvents

struct SceneEvent gTolbiShipInteriors_HoldEvents[]
Initial value:
= {
{ EVENT_TALK, 9, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsApparentlyWeCantTakeSilkRoad) },
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsAllThatMoneyOnTicketsAnd) },
{ EVENT_TALK, 11, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsYoureGoingToTolbiToSee) },
{ EVENT_TALK, 11, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsINeverThoughtIdGetTo) },
{ EVENT_TALK, 12, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsYouAllAgreedToHelpOf) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsMaybeIShouldJustForgetAbout) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIfSomethingHappensToOurOarsmen) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsTheyreJustTakingAdvantageOfUs) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsDoTheyHonestlyThinkImGoing) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsMusclesRipplingEverywhereLooksGreatIf) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsImSureItdBeEasierTo) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 11, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsWeLeftTheOldLadyBack) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 11, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWellShootMaybeWeShouldHave) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 12, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsAskingThePassengersToHelpOut) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsEvenThoughImOpposedToViolence) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, FLAG_TOLBI_SHIP_REACHED_TOLBI, MSGNO(MsgTolbiShipInteriorsICantRowButIAm) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWeMadeItToColossoIn) },
{ SEARCH(SEARCH_BARREL), 101, 0xf93, FIND_COINS(23) },
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
@ EVENT_TOUCH
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define FIND_COINS(coins)
#define FLAG_TOLBI_SHIP_REACHED_TOLBI
The ship reached Tolbi. "The ship has arrived safely".
Definition flags.h:425
#define FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED
The party gave back the captain's Anchor Charm and agreed to protect the ship.
Definition flags.h:407
#define FLAG_TOLBI_SHIP_WARRIORS_SEEK_CAPTAIN
Definition flags.h:119
static void TolbiShipInteriors_WatchWarriorsStormOff(void)
Once the party has heard of the delay at Kalay: Ouranos threatens to go ashore if the ship doesn't sa...
static void TolbiShipInteriors_TalkToWaitingPassenger8(void)
A passenger in the hold while the ship waits.
static void TolbiShipInteriors_TalkToPriest(void)
The travelling priest.
static void TolbiShipInteriors_TalkToWaitingPassenger10(void)
Another waiting passenger, once the party has agreed to protect the ship, asks whether it will row.

The hold while the ship waits at Kalay, and after it reaches Tolbi.

Definition at line 4288 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_HoldEventsChoosingRowers

struct SceneEvent gTolbiShipInteriors_HoldEventsChoosingRowers[]

The hold at sea: talking to a passenger asks them to row.

Definition at line 4317 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_HoldEventsAtIsland

struct SceneEvent gTolbiShipInteriors_HoldEventsAtIsland[]
Initial value:
= {
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 17, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsInAPerfectWorldThereWouldnt) },
{ EVENT_TALK, 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsYouCantGoOntoTheIsland) },
{ EVENT_TALK, 10, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsButThereWereMonstersAtSea) },
{ EVENT_TALK, 12, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWeveBeenCoopedUpOnThat) },
{ EVENT_TALK, 13, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsThereCouldBeMonstersHereSo) },
{ EVENT_TALK, 16, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsTheShipKeepsShakingSheCant) },
{ EVENT_TALK, 15, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWhyShouldWeHaveToWait) },
{ EVENT_TALK, 14, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIfThereAreMonstersImNot) },
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIDontHearThePassengersScreaming) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWhatToDoImWorriedAbout) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsButWhyShouldWeStayOnboard) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 12, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsImSickOfThisShipIm) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 13, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsLandMonstersICanHandleSea) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 16, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIveBeenWobblingOnThisBoat) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsGoAheadTryAndStopMe) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 14, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsJustDontMakeMeFaceThat) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsSoAnyoneKnowIfThereAre) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 11, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsOhhThatsCreepy) },
{ SEARCH(SEARCH_BARREL), 101, 0xf93, FIND_COINS(23) },
}
static void TolbiShipInteriors_AskPassenger11ToRow(void)
The same for passenger 11, who is too seasick to talk once the ship is at anchor.

The hold while the ship waits off the island.

Definition at line 4354 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_CabinEvents

struct SceneEvent gTolbiShipInteriors_CabinEvents[]
Initial value:
= {
{ EVENT_TALK, 9, FLAG_TOLBI_SHIP_CAPTAIN_DECIDED_TO_SAIL, MSGNO(MsgTolbiShipInteriorsIWonderIfThereAreAny) },
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsRightWhenWeFoundSomeWarriors) },
{ EVENT_TALK, 11, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsICantBelieveHimRefusingTo) },
{ EVENT_TALK, 13, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIHadNoIdeaHeWas) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, FLAG_TOLBI_SHIP_CAPTAIN_DECIDED_TO_SAIL, MSGNO(MsgTolbiShipInteriorsThisIsAChanceToMake) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, FLAG_TOLBI_SHIP_ANCHOR_CHARM_RETURNED, MSGNO(MsgTolbiShipInteriorsTheShipWontLeaveDockUntil) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, FLAG_TOLBI_SHIP_FIRST_ATTACK_REPELLED, MSGNO(MsgTolbiShipInteriorsAsLongAsWeHaveThe) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWeKnewTheRisksWhenWe) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, FLAG_TOLBI_SHIP_CAPTAIN_DECIDED_TO_SAIL, MSGNO(MsgTolbiShipInteriorsSendingOutAShipWhenIts) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 10, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIWaitedTooLongIllGet) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, FLAG_TOLBI_SHIP_CAPTAIN_DECIDED_TO_SAIL, MSGNO(MsgTolbiShipInteriorsIfWeDontSetSailNow) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsThisIsRidiculousTheShipCant) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 11, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsThatThingCouldntHaveGottenLost) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 13, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIDontThinkAnyoneWouldSteal) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 12, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIfTheShipDoesntLeaveSoon) },
{ 0xc423, 102, 0xf94, FIND_ITEM(ITEM_NUT) },
}
#define USE_ITEM_ON_ACTOR(item)
#define FLAG_TOLBI_SHIP_CAPTAIN_DECIDED_TO_SAIL
The party has heard that the captain decided to sail.
Definition flags.h:404
#define FLAG_TOLBI_SHIP_FIRST_ATTACK_REPELLED
The monster attacks fought off.
Definition flags.h:414
#define FLAG_TOLBI_SHIP_CREW_WONDERED_AT_DELAY
The crew have wondered what became of the replacement ship.
Definition flags.h:401
@ ITEM_NUT
Definition item_ids.h:41
@ ITEM_ANCHOR_CHARM
Definition item_ids.h:73
static void TolbiShipInteriors_TalkToCaptainsCabinActor10(void)
Once the warriors want to see the captain, actor 10 asks whether the party wants to join them in forc...
static void TolbiShipInteriors_WatchCrewWonderAtDelay(void)
Once the warriors have gone to the captain, the three crewmen wonder what could have happened to the ...
static void TolbiShipInteriors_ReturnLuckyAnchor(void)
Returns the captain's lucky anchor and agrees to protect the ship.
static void TolbiShipInteriors_TalkToCaptain(void)
The captain, by the voyage's stage: too late to hire mercenaries, then his bad luck at losing his luc...
static void TolbiShipInteriors_TalkToCaptainsCabinActor12(void)
Actor 12 in the captain's cabin asks whether the party came to ask the captain to set sail.

The cabin, from the wait at Kalay until the ship reaches Tolbi.

The Anchor Charm is given back to the captain here.

Definition at line 4383 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_CabinEventsAtIsland

struct SceneEvent gTolbiShipInteriors_CabinEventsAtIsland[]
Initial value:
= {
{ EVENT_TALK, 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWeMayHaveTakenTheWrong) },
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWereLookingIntoTheShipsPosition) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsImReallySurprisedThatThereIs) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsTheWindsDirectionAndTheHigh) },
{ SEARCH(SEARCH_JAR), 102, 0xf94, FIND_ITEM(ITEM_NUT) },
}
@ SEARCH_JAR

The cabin while the ship waits off the island.

Definition at line 4410 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_CabinEventsArrived

struct SceneEvent gTolbiShipInteriors_CabinEventsArrived[]
Initial value:
= {
{ EVENT_TALK, 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWhenTheWatersAreThisDangerous) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsSeeOurShipSurvivedAnAttack) },
{ SEARCH(SEARCH_JAR), 102, 0xf94, FIND_ITEM(ITEM_NUT) },
}

The cabin once the ship has reached Tolbi.

Definition at line 4421 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_RowingDeckEvents

struct SceneEvent gTolbiShipInteriors_RowingDeckEvents[]

Definition at line 4429 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_RowingDeckEventsMonstersAboard

struct SceneEvent gTolbiShipInteriors_RowingDeckEventsMonstersAboard[]

The rowing deck while monsters are aboard: talking to one (actors 36 to 38) fights it.

Definition at line 4468 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_RowingDeckEventsKrakenAboard

struct SceneEvent gTolbiShipInteriors_RowingDeckEventsKrakenAboard[]

The rowing deck while the Kraken rocks the ship.

Definition at line 4513 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_RowingDeckEventsArrived

struct SceneEvent gTolbiShipInteriors_RowingDeckEventsArrived[]
Initial value:
= {
{ EVENT_TALK, 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIDontThinkAnyoneWillBe) },
{ EVENT_TALK, 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsYouFolksReallyFoughtWell) },
{ EVENT_TALK, 14, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsALotOfOarsmenWereInjured) },
{ EVENT_TALK, 15, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsAreWeSafeItsAllBecause) },
{ EVENT_TALK, 16, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIveBeenAnOarsmanAllMy) },
{ EVENT_TALK, 17, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsYouGoOnAheadJustWhen) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 8, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsWeCantFindAnyoneToReplace) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 9, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsImJustGladTheKrakenDidnt) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 14, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsSureThePaysGoodButIt) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 15, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIsaacAndHisPalsWereSo) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 16, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsIFeelBetterNowIWas) },
{ PSYNERGY_ON_ACTOR(ABILITY_MIND_READ), 17, CONDITION_ALWAYS, MSGNO(MsgTolbiShipInteriorsImInNoRushAnywayThis) },
}

The rowing deck once the ship has reached Tolbi.

Definition at line 4551 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_SelectEvents().

◆ gTolbiShipInteriors_ShakeTimer

s32 gTolbiShipInteriors_ShakeTimer

Frames left of the Kraken's current jolt; at 0 another may start.

Definition at line 4570 of file tolbi_ship_interiors.c.

Referenced by TolbiShipInteriors_ApplyEntryState(), TolbiShipInteriors_NoticeShipRocking(), and TolbiShipInteriors_ShakeWhileKrakenAboard().