Altin, the mining village flooded by the water the hydros statues in the mine spew. More...
Go to the source code of this file.
Macros | |
| #define | ALTIN_COOK_LAST_POT_X 384 |
| #define | SCENE_ALTIN_VILLAGE ((s32)&SceneId_Altin1) |
| #define | SCENE_ALTIN_HOUSES ((s32)&SceneId_Altin2) |
| #define | WATER_BEAST_HOP_PERIOD 60 |
| #define | WATER_SPRAY_LIFETIME 20 |
| #define | WATER_SPRAY_START_SCALE 0x4ccc |
| #define | ALTIN_FACES_COUNTER(facing) |
| #define | WATER_SPRAY_LATERAL_STEP(timer, wobble) |
Functions | |
| static void | Village_ApplyWaterLevel (void) |
| Sets up the village: the map half showing the current water level (the cells kept in four 32 by 32 blocks), the villagers and sellers present at that level, the water beast with its spray while it remains, and the pushed block. | |
| static void | Houses_PlaceSheltering (void) |
| Sets up the houses: the families still sheltering in the inn's rooms, the weapon seller waiting there until the water drains, and the shopkeepers kept from wandering. | |
| static void | Beast_SpawnSpray (void) |
| Scheduler task while the water beast spits: every fourth frame a spray particle starts from its spout, living 20 frames. | |
| const struct SceneEntrance * | Scene_GetEntrances (void) |
| const struct SceneRegion * | Scene_GetRegions (void) |
| const u32 * | Scene_GetExits (void) |
| Both scenes share one exit table. | |
| const struct ScenePlacement * | Scene_GetPlacements (void) |
| Some villagers only turn back after talking once the flood is over or their family has gone home. | |
| const struct SceneEvent * | Scene_GetEvents (void) |
| static void | Village_AskAboutFirstVisit (void) |
| A villager asks whether this is the party's first visit; either way, the flood has changed Altin. | |
| static void | Village_AskAboutHydros (void) |
| A villager asks whether the slain hydros creatures gushed water. | |
| static void | Village_TalkToThirstyVillager (void) |
| While the beasts live, this villager complains that their water cannot be drunk, and the first time the camera pans to the water beast spitting at the houses. | |
| static void | Village_AskAboutRuins (void) |
| A villager asks whether the party really found ruins deep in the mine. | |
| static void | Houses_AskAboutXianGirl (void) |
| A guest asks whether the party is who the girl from Xian was looking for. | |
| static void | Houses_AskAboutWayWest (void) |
| A guest asks whether the party seeks the way west, and points to the bottom of the mine. | |
| static void | Houses_AskAboutMonsters (void) |
| The grateful villager asks whether the party defeated the monsters. | |
| static void | Houses_AskAboutMineBeasts (void) |
| A miner asks whether the remaining beasts are deep below. | |
| static s32 | Leader_FacesCounter (void) |
| Returns whether the party leader faces north, toward a shop counter: its facing lies strictly between northwest and northeast, measured in 16 bits. | |
| static void | Houses_TalkToWeaponSeller (void) |
| The weapon seller: until the water drains he cannot sell; afterwards he opens his shop when spoken to across the counter. | |
| static void | Altin_TalkToArmorSeller (void) |
| The armor seller, in either scene: outside, while his shop is under water, he laments; once it has dried after the second drop, he sells across his counter in the houses. | |
| static void | Altin_TalkToItemSeller (void) |
| The item seller, the same way: she reopens after the first drop. | |
| static void | Houses_TalkToInnkeeper (void) |
| The innkeeper opens the inn across the counter, and otherwise talks about the flood or, once it is over, the temple west of the mine. | |
| static void | Village_EnterDoor (void) |
| Walking north into one of the village's doors: everyone stops, the door opens and the party leader walks in. | |
| static void | Village_WalkThroughDoorway (void) |
| Walking north into a doorway without a door: the leader walks out. | |
| static void | Beast_Hop (union FieldObject *fieldObject) |
| Update callback of the hopping water beast: once a second it leaps up, falls back with a splash that shakes the screen briefly, and stands while on the ground. | |
| static void | Beast_HopAway (void) |
| The water beast hops away across the flood and dives in with a splash. | |
| static void | Village_CheckBlockMoved (void) |
| After Move: remembers whether the block now stands in map column 22, the spot it is pushed to. | |
| s32 | Scene_Initialize (void) |
| Works out the village's water level from the mine's drain flags, then sets up whichever scene is being entered. | |
| static void | Spray_Initialize (struct FieldActor *spray) |
| Gives a new spray particle its look: standing still, drawn on sprite priority 1 and at 0.3 scale. | |
| static void | Spray_Drift (union FieldObject *fieldObject) |
| Update callback of a spray particle: it drifts and grows with a random wobble, then curls upward and flattens as its movement timer runs down. | |
| static void | Village_ScareOffBeast (void) |
| Stepping near the water beast: the camera pans to it, it stops spitting, turns to the party, cries out and hops away into the flood. | |
Variables | |
| s32 | gAltinHouses_CookScript [] |
| The cook from Xian paces between his pots, nodding over each. | |
| struct SceneEntrance | gAltinOther_Entrances [] |
| struct SceneEntrance | gAltinVillage_Entrances [] |
| struct SceneEntrance | gAltinHouses_Entrances [] |
| u32 | gAltin_Exits [] |
| struct ScenePlacement | gAltinOther_Placements [] |
| struct ScenePlacement | gAltinVillage_Placements [] |
| struct ScenePlacement | gAltinHouses_Placements [] |
| struct SceneEvent | gAltinOther_Events [] |
| struct SceneEvent | gAltinVillage_Events [] |
| struct SceneEvent | gAltinHouses_Events [] |
| u16 | gAltinVillage_MineDoorCells [] |
| The opening pictures of the village's doors, two cells square. | |
| u16 | gAltinVillage_DoorCellsA [] |
| u16 | gAltinVillage_DoorCellsF [] |
| u16 | gAltinVillage_DoorCellsG [] |
| u16 | gAltinVillage_DoorCellsC [] |
| u16 | gAltinVillage_DoorCellsD [] |
| u16 | gAltinVillage_DoorCellsE [] |
| struct DoorAnim | gAltinVillage_Doors [] |
| Each door trigger's opening picture and cell, from trigger 2. | |
Altin, the mining village flooded by the water the hydros statues in the mine spew.
Two scenes share this overlay:
A third, empty set of tables serves any other scene number.
Definition in file altin.c.
| #define SCENE_ALTIN_VILLAGE ((s32)&SceneId_Altin1) |
Definition at line 46 of file altin.c.
Referenced by Scene_GetEntrances(), Scene_GetEvents(), Scene_GetPlacements(), and Scene_Initialize().
| #define SCENE_ALTIN_HOUSES ((s32)&SceneId_Altin2) |
Definition at line 47 of file altin.c.
Referenced by Scene_GetEntrances(), Scene_GetEvents(), Scene_GetPlacements(), and Scene_Initialize().
| #define WATER_BEAST_HOP_PERIOD 60 |
Definition at line 112 of file altin.c.
Referenced by Beast_Hop().
| #define WATER_SPRAY_LIFETIME 20 |
Definition at line 113 of file altin.c.
Referenced by Beast_SpawnSpray().
| #define WATER_SPRAY_START_SCALE 0x4ccc |
Definition at line 114 of file altin.c.
Referenced by Spray_Initialize().
| #define ALTIN_FACES_COUNTER | ( | facing | ) |
Definition at line 120 of file altin.c.
Referenced by Houses_TalkToInnkeeper(), and Leader_FacesCounter().
| #define WATER_SPRAY_LATERAL_STEP | ( | timer, | |
| wobble ) |
Definition at line 130 of file altin.c.
Referenced by Spray_Drift().
| enum AltinVillageActor |
The village's actors.
| enum AltinHouseActor |
The houses' actors.
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
|
static |
Sets up the village: the map half showing the current water level (the cells kept in four 32 by 32 blocks), the villagers and sellers present at that level, the water beast with its spray while it remains, and the pushed block.
Then redraws the map around the leader.
Definition at line 612 of file altin.c.
Referenced by Scene_Initialize(), and Village_ApplyWaterLevel().
|
static |
Sets up the houses: the families still sheltering in the inn's rooms, the weapon seller waiting there until the water drains, and the shopkeepers kept from wandering.
Definition at line 686 of file altin.c.
Referenced by Houses_PlaceSheltering(), and Scene_Initialize().
|
static |
Scheduler task while the water beast spits: every fourth frame a spray particle starts from its spout, living 20 frames.
Definition at line 758 of file altin.c.
Referenced by Beast_SpawnSpray(), Village_ApplyWaterLevel(), and Village_ScareOffBeast().
| const struct SceneEntrance * Scene_GetEntrances | ( | void | ) |
| const struct SceneRegion * Scene_GetRegions | ( | void | ) |
| const u32 * Scene_GetExits | ( | void | ) |
| const struct ScenePlacement * Scene_GetPlacements | ( | void | ) |
| const struct SceneEvent * Scene_GetEvents | ( | void | ) |
|
static |
A villager asks whether this is the party's first visit; either way, the flood has changed Altin.
Definition at line 197 of file altin.c.
Referenced by Village_AskAboutFirstVisit().
|
static |
A villager asks whether the slain hydros creatures gushed water.
Definition at line 214 of file altin.c.
Referenced by Village_AskAboutHydros().
|
static |
While the beasts live, this villager complains that their water cannot be drunk, and the first time the camera pans to the water beast spitting at the houses.
Once the statues are gone, he asks for help rebuilding.
Definition at line 224 of file altin.c.
Referenced by Village_TalkToThirstyVillager().
|
static |
A villager asks whether the party really found ruins deep in the mine.
Definition at line 259 of file altin.c.
Referenced by Village_AskAboutRuins().
|
static |
A guest asks whether the party is who the girl from Xian was looking for.
Definition at line 268 of file altin.c.
Referenced by Houses_AskAboutXianGirl().
|
static |
A guest asks whether the party seeks the way west, and points to the bottom of the mine.
Definition at line 278 of file altin.c.
Referenced by Houses_AskAboutWayWest().
|
static |
The grateful villager asks whether the party defeated the monsters.
Definition at line 287 of file altin.c.
Referenced by Houses_AskAboutMonsters().
|
static |
A miner asks whether the remaining beasts are deep below.
Definition at line 296 of file altin.c.
Referenced by Houses_AskAboutMineBeasts().
|
static |
Returns whether the party leader faces north, toward a shop counter: its facing lies strictly between northwest and northeast, measured in 16 bits.
Definition at line 306 of file altin.c.
Referenced by Altin_TalkToArmorSeller(), Altin_TalkToItemSeller(), Houses_TalkToWeaponSeller(), and Leader_FacesCounter().
|
static |
The weapon seller: until the water drains he cannot sell; afterwards he opens his shop when spoken to across the counter.
Definition at line 317 of file altin.c.
Referenced by Houses_TalkToWeaponSeller().
|
static |
The armor seller, in either scene: outside, while his shop is under water, he laments; once it has dried after the second drop, he sells across his counter in the houses.
Definition at line 345 of file altin.c.
Referenced by Altin_TalkToArmorSeller().
|
static |
The item seller, the same way: she reopens after the first drop.
Definition at line 370 of file altin.c.
Referenced by Altin_TalkToItemSeller().
|
static |
The innkeeper opens the inn across the counter, and otherwise talks about the flood or, once it is over, the temple west of the mine.
Definition at line 395 of file altin.c.
Referenced by Houses_TalkToInnkeeper().
|
static |
Walking north into one of the village's doors: everyone stops, the door opens and the party leader walks in.
The mine's wide door is redrawn in two halves by hand; the others play their opening pictures.
Definition at line 421 of file altin.c.
Referenced by Village_EnterDoor().
|
static |
Walking north into a doorway without a door: the leader walks out.
Definition at line 492 of file altin.c.
Referenced by Village_WalkThroughDoorway().
|
static |
Update callback of the hopping water beast: once a second it leaps up, falls back with a splash that shakes the screen briefly, and stands while on the ground.
Definition at line 509 of file altin.c.
Referenced by Beast_Hop(), and Beast_HopAway().
|
static |
The water beast hops away across the flood and dives in with a splash.
Definition at line 547 of file altin.c.
Referenced by Beast_HopAway(), and Village_ScareOffBeast().
|
static |
After Move: remembers whether the block now stands in map column 22, the spot it is pushed to.
Definition at line 569 of file altin.c.
Referenced by Village_CheckBlockMoved().
| s32 Scene_Initialize | ( | void | ) |
|
static |
Gives a new spray particle its look: standing still, drawn on sprite priority 1 and at 0.3 scale.
Definition at line 719 of file altin.c.
Referenced by Beast_SpawnSpray(), and Spray_Initialize().
|
static |
Update callback of a spray particle: it drifts and grows with a random wobble, then curls upward and flattens as its movement timer runs down.
The separate lifetime releases it after 20 updates.
Definition at line 731 of file altin.c.
Referenced by Beast_SpawnSpray(), and Spray_Drift().
|
static |
Stepping near the water beast: the camera pans to it, it stops spitting, turns to the party, cries out and hops away into the flood.
Definition at line 776 of file altin.c.
Referenced by Village_ScareOffBeast().
| s32 gAltinHouses_CookScript[] |
| struct SceneEntrance gAltinOther_Entrances[] |
Definition at line 838 of file altin.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gAltinVillage_Entrances[] |
Definition at line 843 of file altin.c.
Referenced by Scene_GetEntrances().
| struct SceneEntrance gAltinHouses_Entrances[] |
Definition at line 861 of file altin.c.
Referenced by Scene_GetEntrances().
| u32 gAltin_Exits[] |
| struct ScenePlacement gAltinOther_Placements[] |
Definition at line 887 of file altin.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gAltinVillage_Placements[] |
Definition at line 891 of file altin.c.
Referenced by Scene_GetPlacements().
| struct ScenePlacement gAltinHouses_Placements[] |
Definition at line 930 of file altin.c.
Referenced by Scene_GetPlacements().
| struct SceneEvent gAltinOther_Events[] |
Definition at line 960 of file altin.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gAltinVillage_Events[] |
Definition at line 964 of file altin.c.
Referenced by Scene_GetEvents().
| struct SceneEvent gAltinHouses_Events[] |
Definition at line 1051 of file altin.c.
Referenced by Scene_GetEvents().
| u16 gAltinVillage_MineDoorCells[] |
The opening pictures of the village's doors, two cells square.
The mine's door (the second) is wider and redrawn by hand instead.
| u16 gAltinVillage_DoorCellsA[] |
| u16 gAltinVillage_DoorCellsF[] |
| u16 gAltinVillage_DoorCellsG[] |
| u16 gAltinVillage_DoorCellsC[] |
| u16 gAltinVillage_DoorCellsD[] |
| u16 gAltinVillage_DoorCellsE[] |
| struct DoorAnim gAltinVillage_Doors[] |
Each door trigger's opening picture and cell, from trigger 2.
Definition at line 1207 of file altin.c.
Referenced by Village_EnterDoor().