Bilibin's village, river crossing and raised warehouse approach. More...
Go to the source code of this file.
Data Structures | |
| struct | SpawnCounter |
| Counts frames between the river effects, one every 30 frames. More... | |
Macros | |
| #define | DIRECTION_STEP(dx, dz) |
| Pixel step by direction: X in the upper halfword, Z in the lower. | |
Enumerations | |
| enum | { TREE_MAN = 9 , VILLAGE_BLOCK = 20 , FORMER_TREE_MAN = 21 } |
| Actors of the village (Bilibin1), numbered from its placement rows. More... | |
| enum | { RIVER_BLOCK = 8 , JILL_TREE = 11 , GANG_MEMBER_WEST = 12 , GANG_MEMBER_EAST = 13 , JILL = 14 } |
| Actors of the river south of the village (Bilibin3). More... | |
| enum | { RAISED_BLOCK = 8 , GUST = 9 } |
| Actors of the warehouse approach (Bilibin2). More... | |
Functions | |
| static void | Bilibin_RestoreVillageActors (void) |
| Restores the village population and entrance-dependent actor positions. | |
| static void | Bilibin_UpdateVillageBlockCells (void) |
| Updates collision cells around the movable block and moves an overlapping leader clear. | |
| static void | Bilibin_RestoreRiverActors (void) |
| Sets up the river: before the curse is lifted, Jill and her friends are trees here; afterwards they are people again on the bank. | |
| static void | Bilibin_UpdateRiverBlockCells (void) |
| Restores ten river cells, then clears the movable block's current cell. | |
| static void | Bilibin_RestoreRaisedEntrance (void) |
| Restores the block cells and starts the raised arrivals above floor height. | |
| static void | Bilibin_UpdateRiverEffect (void) |
| Runs every frame in the river: while the controlled actor is west of x 142 and below 8 pixels high, an effect appears at it every thirty frames. | |
| static void | Bilibin_SpawnRiverEffect (struct FieldActor *actor) |
| Spawns the semi-transparent effect, which frees itself after thirty frames. | |
| static void | Bilibin_UpdateRaisedBlockCells (void) |
| Updates the two passage cells according to the movable block's current row. | |
| const struct SceneEntrance * | Bilibin_GetEntrances (void) |
| const struct SceneRegion * | Bilibin_GetRegions (void) |
| Only the raised approach supplies exit-region boxes. | |
| const u32 * | Bilibin_GetExits (void) |
| Returns the packed exit destinations shared by the three maps. | |
| static void | Event_GustJoins (void) |
| Gust, Jupiter Djinni 0, joins the party on the warehouse approach. | |
| const struct ScenePlacement * | Bilibin_GetPlacements (void) |
| Selects the village, river or raised-approach actors. | |
| static void | Event_InspectWell (void) |
| Reads the two-part description of the deep well. | |
| const struct SceneEvent * | Bilibin_GetEvents (void) |
| static void | Event_ReadRestrictedAreaSign (void) |
| Reads the sign restricting entry without permission. | |
| static void | Event_ReadWarehouseSign (void) |
| Reads McCoy's warning on the hidden warehouse. | |
| static void | Event_InspectHumanShapedTree (void) |
| Describes the human shape shared by the river's transformed villagers. | |
| static void | Event_ExamineTreeMan (void) |
| The tree at the village entrance almost looks like a man; looked at again, like a living person. | |
| static void | Event_AskAboutEntranceTree (void) |
| Asks whether the party saw the strange tree at the entrance. | |
| static void | Event_AskAboutSoutheastRoute (void) |
| Asks whether the party tried the route southeast from Bilibin. | |
| static void | Event_AskAboutBeingATree (void) |
| Once the curse is lifted, the man who was the entrance tree asks whether the party can believe it. | |
| static void | Event_AskAboutCurseBreakers (void) |
| Asks whether the party are the three warriors who broke the curse. | |
| static void | Event_AskAboutImil (void) |
| Asks whether the party has visited Imil to the north. | |
| static void | Event_OpenDoorAndLeave (void) |
| Walking into a door: everyone stops, the door opens and the leader walks through it. | |
| static void | Event_PullJillFromRiver (void) |
| Move on Jill, a tree caught in the river: from cell column 6, by the bank, the leader pulls her ashore in three tugs, and she thanks the party for saving her from being washed downstream. | |
| static void | Event_CheckAhead (void) |
| Checks the blocked direction before allowing another movement step. | |
| static void | Event_JillGivesHardNut (void) |
| Back on the riverbank once the curse is lifted, Jill and her friends recognize the party, and she gives the leader a Hard Nut in thanks. | |
| s32 | Bilibin_Initialize (void) |
| Restores the current map's actors, collision cells and opening transition. | |
| static void | Event_PushBlock (void) |
| Pushing a block: it slides one cell ahead with the leader behind it, if the cell is free. | |
Variables | |
| struct SpawnCounter | gBilibin_RiverEffectTimer |
| s32 | gBilibin_FaceLeaderScript [] |
| u16 | gBilibinEntrancesOther [] |
| struct SceneEntrance | gBilibinEntrances1 [] |
| struct SceneEntrance | gBilibinEntrances3 [] |
| struct SceneEntrance | gBilibinEntrances2 [] |
| s16 | gBilibinRegions2 [] |
| u32 | gBilibinExits [] |
| struct ScenePlacement | gBilibinPlacementsOther [] |
| struct ScenePlacement | gBilibinPlacements1 [] |
| struct ScenePlacement | gBilibinPlacements3 [] |
| struct ScenePlacement | gBilibinPlacements2 [] |
| struct SceneEvent | gBilibinEventsOther [] |
| struct SceneEvent | gBilibinEvents1 [] |
| struct SceneEvent | gBilibinEvents3 [] |
| struct SceneEvent | gBilibinEvents2 [] |
| u16 | gBilibin_DoorSteps6 [] |
| u16 | gBilibin_DoorSteps4 [] |
| u16 | gBilibin_DoorSteps5 [] |
| u16 | gBilibin_DoorSteps1 [] |
| u16 | gBilibin_DoorSteps0 [] |
| u16 | gBilibin_DoorSteps2 [] |
| u16 | gBilibin_DoorSteps3 [] |
| u16 * | gBilibin_DoorSteps [] |
| u32 | gBilibin_DoorCells [] |
| u32 | gBilibin_RiverBlockCells [] |
| s32 | gBilibin_FacingCellSteps [] |
| s32 | gBilibin_TransientEffectScript [] |
Bilibin's village, river crossing and raised warehouse approach.
Town dialogue changes with the tree curse; the river route includes a rescue and Jill's reward for helping the stranded villager.
Definition in file bilibin.c.
| #define DIRECTION_STEP | ( | dx, | |
| dz ) |
| anonymous enum |
| anonymous enum |
| anonymous enum |
|
static |
Restores the village population and entrance-dependent actor positions.
Definition at line 449 of file bilibin.c.
Referenced by Bilibin_Initialize(), and Bilibin_RestoreVillageActors().
|
static |
Updates collision cells around the movable block and moves an overlapping leader clear.
Definition at line 487 of file bilibin.c.
Referenced by Bilibin_RestoreVillageActors(), Bilibin_UpdateVillageBlockCells(), and Event_PushBlock().
|
static |
Sets up the river: before the curse is lifted, Jill and her friends are trees here; afterwards they are people again on the bank.
Definition at line 530 of file bilibin.c.
Referenced by Bilibin_Initialize(), and Bilibin_RestoreRiverActors().
|
static |
Restores ten river cells, then clears the movable block's current cell.
Definition at line 602 of file bilibin.c.
Referenced by Bilibin_RestoreRiverActors(), Bilibin_UpdateRiverBlockCells(), and Event_PushBlock().
|
static |
Restores the block cells and starts the raised arrivals above floor height.
Definition at line 623 of file bilibin.c.
Referenced by Bilibin_Initialize(), and Bilibin_RestoreRaisedEntrance().
|
static |
Runs every frame in the river: while the controlled actor is west of x 142 and below 8 pixels high, an effect appears at it every thirty frames.
Definition at line 695 of file bilibin.c.
Referenced by Bilibin_Initialize(), and Bilibin_UpdateRiverEffect().
|
static |
Spawns the semi-transparent effect, which frees itself after thirty frames.
Definition at line 712 of file bilibin.c.
Referenced by Bilibin_SpawnRiverEffect(), and Bilibin_UpdateRiverEffect().
|
static |
Updates the two passage cells according to the movable block's current row.
Definition at line 736 of file bilibin.c.
Referenced by Bilibin_RestoreRaisedEntrance(), Bilibin_UpdateRaisedBlockCells(), and Event_PushBlock().
| const struct SceneEntrance * Bilibin_GetEntrances | ( | void | ) |
Definition at line 76 of file bilibin.c.
Referenced by Bilibin_GetEntrances().
| const struct SceneRegion * Bilibin_GetRegions | ( | void | ) |
Only the raised approach supplies exit-region boxes.
Definition at line 92 of file bilibin.c.
Referenced by Bilibin_GetRegions().
| const u32 * Bilibin_GetExits | ( | void | ) |
Returns the packed exit destinations shared by the three maps.
Definition at line 100 of file bilibin.c.
Referenced by Bilibin_GetExits().
|
static |
Gust, Jupiter Djinni 0, joins the party on the warehouse approach.
Definition at line 103 of file bilibin.c.
Referenced by Event_GustJoins().
| const struct ScenePlacement * Bilibin_GetPlacements | ( | void | ) |
Selects the village, river or raised-approach actors.
Definition at line 106 of file bilibin.c.
Referenced by Bilibin_GetPlacements().
|
static |
Reads the two-part description of the deep well.
Definition at line 122 of file bilibin.c.
Referenced by Event_InspectWell().
| const struct SceneEvent * Bilibin_GetEvents | ( | void | ) |
Definition at line 129 of file bilibin.c.
Referenced by Bilibin_GetEvents().
|
static |
Reads the sign restricting entry without permission.
Definition at line 145 of file bilibin.c.
Referenced by Event_ReadRestrictedAreaSign().
|
static |
Reads McCoy's warning on the hidden warehouse.
Definition at line 152 of file bilibin.c.
Referenced by Event_ReadWarehouseSign().
|
static |
Describes the human shape shared by the river's transformed villagers.
Definition at line 159 of file bilibin.c.
Referenced by Event_InspectHumanShapedTree().
|
static |
The tree at the village entrance almost looks like a man; looked at again, like a living person.
0x301 remembers the first look while in the village.
Definition at line 167 of file bilibin.c.
Referenced by Event_ExamineTreeMan().
|
static |
Asks whether the party saw the strange tree at the entrance.
Definition at line 179 of file bilibin.c.
Referenced by Event_AskAboutEntranceTree().
|
static |
Asks whether the party tried the route southeast from Bilibin.
Definition at line 187 of file bilibin.c.
Referenced by Event_AskAboutSoutheastRoute().
|
static |
Once the curse is lifted, the man who was the entrance tree asks whether the party can believe it.
Definition at line 196 of file bilibin.c.
Referenced by Event_AskAboutBeingATree().
|
static |
Asks whether the party are the three warriors who broke the curse.
Definition at line 204 of file bilibin.c.
Referenced by Event_AskAboutCurseBreakers().
|
static |
Asks whether the party has visited Imil to the north.
Definition at line 212 of file bilibin.c.
Referenced by Event_AskAboutImil().
|
static |
Walking into a door: everyone stops, the door opens and the leader walks through it.
Doors 3 to 8 lead into the houses and shops, door 9 into the Sanctum, whose door sounds and is stepped through differently.
Definition at line 222 of file bilibin.c.
Referenced by Event_OpenDoorAndLeave().
|
static |
Move on Jill, a tree caught in the river: from cell column 6, by the bank, the leader pulls her ashore in three tugs, and she thanks the party for saving her from being washed downstream.
Definition at line 278 of file bilibin.c.
Referenced by Event_PullJillFromRiver().
|
static |
Checks the blocked direction before allowing another movement step.
Definition at line 331 of file bilibin.c.
Referenced by Event_CheckAhead(), Event_CheckAhead(), Event_CheckAhead(), Event_CheckAhead(), and Event_CheckAhead().
|
static |
Back on the riverbank once the curse is lifted, Jill and her friends recognize the party, and she gives the leader a Hard Nut in thanks.
"Remember me? I was that tree!"
Definition at line 336 of file bilibin.c.
Referenced by Event_JillGivesHardNut().
| s32 Bilibin_Initialize | ( | void | ) |
Restores the current map's actors, collision cells and opening transition.
Definition at line 435 of file bilibin.c.
Referenced by Bilibin_Initialize().
|
static |
Pushing a block: it slides one cell ahead with the leader behind it, if the cell is free.
Definition at line 645 of file bilibin.c.
Referenced by Event_PushBlock(), Event_PushBlock(), and Event_PushBlock().
| struct SpawnCounter gBilibin_RiverEffectTimer |
Definition at line 72 of file bilibin.c.
Referenced by Bilibin_UpdateRiverEffect().
| s32 gBilibin_FaceLeaderScript[] |
Definition at line 754 of file bilibin.c.
Referenced by Event_JillGivesHardNut().
| u16 gBilibinEntrancesOther[] |
Definition at line 759 of file bilibin.c.
Referenced by Bilibin_GetEntrances().
| struct SceneEntrance gBilibinEntrances1[] |
Definition at line 765 of file bilibin.c.
Referenced by Bilibin_GetEntrances().
| struct SceneEntrance gBilibinEntrances3[] |
Definition at line 780 of file bilibin.c.
Referenced by Bilibin_GetEntrances().
| struct SceneEntrance gBilibinEntrances2[] |
Definition at line 787 of file bilibin.c.
Referenced by Bilibin_GetEntrances().
| s16 gBilibinRegions2[] |
Definition at line 797 of file bilibin.c.
Referenced by Bilibin_GetRegions().
| u32 gBilibinExits[] |
Definition at line 803 of file bilibin.c.
Referenced by Bilibin_GetExits().
| struct ScenePlacement gBilibinPlacementsOther[] |
Definition at line 827 of file bilibin.c.
Referenced by Bilibin_GetPlacements().
| struct ScenePlacement gBilibinPlacements1[] |
Definition at line 831 of file bilibin.c.
Referenced by Bilibin_GetPlacements().
| struct ScenePlacement gBilibinPlacements3[] |
Definition at line 863 of file bilibin.c.
Referenced by Bilibin_GetPlacements().
| struct ScenePlacement gBilibinPlacements2[] |
Definition at line 885 of file bilibin.c.
Referenced by Bilibin_GetPlacements().
| struct SceneEvent gBilibinEventsOther[] |
Definition at line 893 of file bilibin.c.
Referenced by Bilibin_GetEvents().
| struct SceneEvent gBilibinEvents1[] |
Definition at line 897 of file bilibin.c.
Referenced by Bilibin_GetEvents().
| struct SceneEvent gBilibinEvents3[] |
Definition at line 962 of file bilibin.c.
Referenced by Bilibin_GetEvents().
| struct SceneEvent gBilibinEvents2[] |
Definition at line 999 of file bilibin.c.
Referenced by Bilibin_GetEvents().
| u16 gBilibin_DoorSteps6[] |
| u16 gBilibin_DoorSteps4[] |
| u16 gBilibin_DoorSteps5[] |
| u16 gBilibin_DoorSteps1[] |
| u16 gBilibin_DoorSteps0[] |
| u16 gBilibin_DoorSteps2[] |
| u16 gBilibin_DoorSteps3[] |
| u16* gBilibin_DoorSteps[] |
Definition at line 1042 of file bilibin.c.
Referenced by Event_OpenDoorAndLeave().
| u32 gBilibin_DoorCells[] |
Definition at line 1052 of file bilibin.c.
Referenced by Event_OpenDoorAndLeave().
| u32 gBilibin_RiverBlockCells[] |
Definition at line 1056 of file bilibin.c.
Referenced by Bilibin_UpdateRiverBlockCells().
| s32 gBilibin_FacingCellSteps[] |
Definition at line 1064 of file bilibin.c.
Referenced by Event_PushBlock().
| s32 gBilibin_TransientEffectScript[] |
Definition at line 1073 of file bilibin.c.
Referenced by Bilibin_SpawnRiverEffect().