Alchemy
Loading...
Searching...
No Matches

altin.c File Reference

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)

Enumerations

enum  AltinVillageActor {
  ACTOR_GREETING_VILLAGER = 8 , ACTOR_CURIOUS_VILLAGER = 9 , ACTOR_THIRSTY_VILLAGER = 14 , ACTOR_RETURNING_VILLAGER_A = 15 ,
  ACTOR_RETURNING_VILLAGER_B = 16 , ACTOR_RETURNING_VILLAGER_C = 17 , ACTOR_WATER_BEAST = 18 , ACTOR_MOVABLE_BLOCK = 19 ,
  ACTOR_FLOODED_ARMOR_SELLER = 20 , ACTOR_FLOODED_ITEM_SELLER = 21 , ACTOR_FIRST_GROUND_SPRITE = 22 , ACTOR_SECOND_GROUND_SPRITE = 23 ,
  ACTOR_THIRD_GROUND_SPRITE = 24
}
 The village's actors. More...
enum  AltinHouseActor {
  ACTOR_ROOM_ONE_GUEST = 8 , ACTOR_ROOM_ONE_SECOND_GUEST = 9 , ACTOR_ROOM_TWO_GUEST = 10 , ACTOR_ROOM_TWO_SECOND_GUEST = 11 ,
  ACTOR_KISSING_VILLAGER = 14 , ACTOR_WEAPON_SELLER = 15 , ACTOR_ITEM_SELLER = 16 , ACTOR_ARMOR_SELLER = 17 ,
  ACTOR_INNKEEPER = 18 , ACTOR_COOK = 20 , ACTOR_MINE_WORKER = 21
}
 The houses' actors. More...
enum  { FLAG_WATER_DROPPED_ONCE = FLAG_SCENE_TEMP_40 , FLAG_WATER_DROPPED_TWICE = FLAG_SCENE_TEMP_41 , FLAG_WATER_DRAINED = FLAG_SCENE_TEMP_42 }
 The village's water level, set on entry from the mine's drain flags. More...
enum  { SHOP_ALTIN_WEAPONS = 19 , SHOP_ALTIN_ARMOR = 20 , SHOP_ALTIN_ITEMS = 21 , INN_ALTIN = 6 }
enum  {
  ENTRANCE_FROM_MINE = 3 , FIRST_DOOR_TRIGGER = 2 , DOOR_MINE = 1 , DOOR_WITH_WINDOW = 3 ,
  DOOR_STRAIGHT_IN = 6
}
enum  { SPRITE_SPRAY = 222 , ANIM_BEAST_SPIT = 3 }
enum  { TRIGGER_NEAR_BEAST = 20 }
enum  { ACTOR_LAST_PLACED = 65 }
 The highest actor slot. More...

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.

Detailed Description

Altin, the mining village flooded by the water the hydros statues in the mine spew.

Two scenes share this overlay:

  • the village itself, where the water drops in three stages as the party drains the mine, a water beast spits water at the houses until the party drives it off, and the shopkeepers wait for their shops to dry;
  • the houses and the inn, where families sheltering from the flood go home as the water recedes.

A third, empty set of tables serves any other scene number.

Definition in file altin.c.

Macro Definition Documentation

◆ ALTIN_COOK_LAST_POT_X

#define ALTIN_COOK_LAST_POT_X   384

Definition at line 41 of file altin.c.

◆ SCENE_ALTIN_VILLAGE

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

◆ SCENE_ALTIN_HOUSES

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

◆ WATER_BEAST_HOP_PERIOD

#define WATER_BEAST_HOP_PERIOD   60

Definition at line 112 of file altin.c.

Referenced by Beast_Hop().

◆ WATER_SPRAY_LIFETIME

#define WATER_SPRAY_LIFETIME   20

Definition at line 113 of file altin.c.

Referenced by Beast_SpawnSpray().

◆ WATER_SPRAY_START_SCALE

#define WATER_SPRAY_START_SCALE   0x4ccc

Definition at line 114 of file altin.c.

Referenced by Spray_Initialize().

◆ ALTIN_FACES_COUNTER

#define ALTIN_FACES_COUNTER ( facing)
Value:
((u32)(((facing) + 0x5fff) << 16) <= 0x3ffe0000)
unsigned int u32
Definition types.h:15

Definition at line 120 of file altin.c.

Referenced by Houses_TalkToInnkeeper(), and Leader_FacesCounter().

◆ WATER_SPRAY_LATERAL_STEP

#define WATER_SPRAY_LATERAL_STEP ( timer,
wobble )
Value:
(((timer) << 12) + ((wobble) << 15))

Definition at line 130 of file altin.c.

Referenced by Spray_Drift().

Enumeration Type Documentation

◆ AltinVillageActor

The village's actors.

Enumerator
ACTOR_GREETING_VILLAGER 
ACTOR_CURIOUS_VILLAGER 
ACTOR_THIRSTY_VILLAGER 
ACTOR_RETURNING_VILLAGER_A 

Villagers who come back as the water recedes.

ACTOR_RETURNING_VILLAGER_B 
ACTOR_RETURNING_VILLAGER_C 
ACTOR_WATER_BEAST 
ACTOR_MOVABLE_BLOCK 
ACTOR_FLOODED_ARMOR_SELLER 

The armor and item sellers, waiting outside while their shops are under water.

ACTOR_FLOODED_ITEM_SELLER 
ACTOR_FIRST_GROUND_SPRITE 

Three ground sprites drawn under the party.

ACTOR_SECOND_GROUND_SPRITE 
ACTOR_THIRD_GROUND_SPRITE 

Definition at line 50 of file altin.c.

◆ AltinHouseActor

The houses' actors.

Enumerator
ACTOR_ROOM_ONE_GUEST 

The family sheltering in the inn's Room One until the first drop.

ACTOR_ROOM_ONE_SECOND_GUEST 
ACTOR_ROOM_TWO_GUEST 

The family in Room Two, until the second drop.

ACTOR_ROOM_TWO_SECOND_GUEST 
ACTOR_KISSING_VILLAGER 
ACTOR_WEAPON_SELLER 
ACTOR_ITEM_SELLER 
ACTOR_ARMOR_SELLER 
ACTOR_INNKEEPER 
ACTOR_COOK 
ACTOR_MINE_WORKER 

Definition at line 71 of file altin.c.

◆ anonymous enum

anonymous enum

The village's water level, set on entry from the mine's drain flags.

Enumerator
FLAG_WATER_DROPPED_ONCE 
FLAG_WATER_DROPPED_TWICE 
FLAG_WATER_DRAINED 

Definition at line 88 of file altin.c.

◆ anonymous enum

anonymous enum
Enumerator
SHOP_ALTIN_WEAPONS 
SHOP_ALTIN_ARMOR 
SHOP_ALTIN_ITEMS 
INN_ALTIN 

Definition at line 94 of file altin.c.

◆ anonymous enum

anonymous enum
Enumerator
ENTRANCE_FROM_MINE 
FIRST_DOOR_TRIGGER 

The door triggers are numbered from 2 in the village's event table.

DOOR_MINE 
DOOR_WITH_WINDOW 
DOOR_STRAIGHT_IN 

Definition at line 101 of file altin.c.

◆ anonymous enum

anonymous enum
Enumerator
SPRITE_SPRAY 
ANIM_BEAST_SPIT 

Definition at line 110 of file altin.c.

◆ anonymous enum

anonymous enum
Enumerator
TRIGGER_NEAR_BEAST 

Definition at line 134 of file altin.c.

◆ anonymous enum

anonymous enum

The highest actor slot.

Enumerator
ACTOR_LAST_PLACED 

Definition at line 137 of file altin.c.

Function Documentation

◆ Village_ApplyWaterLevel()

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

◆ Houses_PlaceSheltering()

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

◆ Beast_SpawnSpray()

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

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 143 of file altin.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Definition at line 155 of file altin.c.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

Both scenes share one exit table.

Definition at line 158 of file altin.c.

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Some villagers only turn back after talking once the flood is over or their family has gone home.

Definition at line 162 of file altin.c.

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Definition at line 183 of file altin.c.

◆ Village_AskAboutFirstVisit()

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

◆ Village_AskAboutHydros()

void Village_AskAboutHydros ( void )
static

A villager asks whether the slain hydros creatures gushed water.

Definition at line 214 of file altin.c.

Referenced by Village_AskAboutHydros().

◆ Village_TalkToThirstyVillager()

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

◆ Village_AskAboutRuins()

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

◆ Houses_AskAboutXianGirl()

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

◆ Houses_AskAboutWayWest()

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

◆ Houses_AskAboutMonsters()

void Houses_AskAboutMonsters ( void )
static

The grateful villager asks whether the party defeated the monsters.

Definition at line 287 of file altin.c.

Referenced by Houses_AskAboutMonsters().

◆ Houses_AskAboutMineBeasts()

void Houses_AskAboutMineBeasts ( void )
static

A miner asks whether the remaining beasts are deep below.

Definition at line 296 of file altin.c.

Referenced by Houses_AskAboutMineBeasts().

◆ Leader_FacesCounter()

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

◆ Houses_TalkToWeaponSeller()

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

◆ Altin_TalkToArmorSeller()

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

◆ Altin_TalkToItemSeller()

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

◆ Houses_TalkToInnkeeper()

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

◆ Village_EnterDoor()

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

◆ Village_WalkThroughDoorway()

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

◆ Beast_Hop()

void Beast_Hop ( union FieldObject * fieldObject)
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().

◆ Beast_HopAway()

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

◆ Village_CheckBlockMoved()

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

◆ Scene_Initialize()

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.

Sets up whichever scene is being entered and runs its arrival events.

Returns 0.

Definition at line 581 of file altin.c.

◆ Spray_Initialize()

void Spray_Initialize ( struct FieldActor * spray)
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().

◆ Spray_Drift()

void Spray_Drift ( union FieldObject * fieldObject)
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().

◆ Village_ScareOffBeast()

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

Variable Documentation

◆ gAltinHouses_CookScript

s32 gAltinHouses_CookScript[]

The cook from Xian paces between his pots, nodding over each.

Definition at line 804 of file altin.c.

◆ gAltinOther_Entrances

struct SceneEntrance gAltinOther_Entrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 380, 0, 433, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
}
@ SCENE_TABLE_END
Definition field_scene.h:43
@ CONDITION_ALWAYS
Definition field_scene.h:44
@ FACING_SOUTH
Definition field_scene.h:28

Definition at line 838 of file altin.c.

Referenced by Scene_GetEntrances().

◆ gAltinVillage_Entrances

struct SceneEntrance gAltinVillage_Entrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 380, 0, 433, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 488, 0, 184, FACING_WEST, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 168, 0, 216, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{3, CONDITION_ALWAYS, 336, 0, 200, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{4, CONDITION_ALWAYS, 424, 0, 344, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{5, CONDITION_ALWAYS, 136, 0, 312, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{6, CONDITION_ALWAYS, 280, 0, 408, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{7, CONDITION_ALWAYS, 456, 0, 224, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{8, CONDITION_ALWAYS, 184, 0, 408, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{9, CONDITION_ALWAYS, 168, 0, 440, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{10, CONDITION_ALWAYS, 24, 0, 456, FACING_SOUTHEAST, 0, -1, -1, -1, -1, 0},
{11, CONDITION_ALWAYS, 264, 0, 224, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{12, CONDITION_ALWAYS, 328, 0, 264, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{13, CONDITION_ALWAYS, 343, 0, 177, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
}
@ FACING_SOUTHEAST
Definition field_scene.h:27
@ FACING_WEST
Definition field_scene.h:30

Definition at line 843 of file altin.c.

Referenced by Scene_GetEntrances().

◆ gAltinHouses_Entrances

struct SceneEntrance gAltinHouses_Entrances[]
Initial value:
= {
{0, CONDITION_ALWAYS, 200, 0, 200, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 159, 0, 258, FACING_NORTH, 0, 25, 16, 255, 300, 0},
{2, CONDITION_ALWAYS, 336, 0, 213, FACING_NORTH, 0, 268, 40, 500, 250, 0},
{3, CONDITION_ALWAYS, 688, 0, 204, FACING_NORTH, 0, 542, 40, 768, 250, 0},
{4, CONDITION_ALWAYS, 240, 0, 500, FACING_NORTH, 0, 110, 336, 350, 540, 0},
{5, CONDITION_ALWAYS, 496, 0, 504, FACING_NORTH, 0, 360, 336, 600, 540, 0},
{6, CONDITION_ALWAYS, 752, 0, 516, FACING_NORTH, 0, 635, 280, 845, 556, 0},
{7, CONDITION_ALWAYS, 80, 0, 864, FACING_NORTH, 0, 16, 638, 432, 912, 0},
{8, CONDITION_ALWAYS, 68, 0, 728, FACING_SOUTH, 0, 16, 638, 432, 912, 0},
{9, CONDITION_ALWAYS, 690, 0, 732, FACING_SOUTH, 0, 480, 626, 896, 882, 0},
}
@ FACING_NORTH
Definition field_scene.h:32

Definition at line 861 of file altin.c.

Referenced by Scene_GetEntrances().

◆ gAltin_Exits

u32 gAltin_Exits[]
Initial value:
= {
SCENE_EXITS(75), SCENE_EXIT(1, 2, 16), SCENE_EXIT(2, 76, 7),
SCENE_EXIT(3, 9, 29), SCENE_EXIT(4, 76, 1), SCENE_EXIT(5, 76, 2),
SCENE_EXIT(6, 76, 3), SCENE_EXIT(7, 76, 5), SCENE_EXIT(8, 76, 6),
SCENE_EXIT(9, 76, 4), SCENE_EXIT(10, 77, 1), SCENE_EXIT(11, 80, 1),
SCENE_EXIT(12, 84, 4), SCENE_EXIT(13, 83, 3), SCENE_EXIT(0, 76, 0),
SCENE_EXIT(1, 75, 4), SCENE_EXIT(2, 75, 5), SCENE_EXIT(3, 75, 6),
SCENE_EXIT(4, 75, 9), SCENE_EXIT(5, 75, 7), SCENE_EXIT(6, 75, 8),
SCENE_EXIT(7, 75, 2), SCENE_EXIT(8, 76, 9), SCENE_EXIT(9, 76, 8),
}
#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 875 of file altin.c.

Referenced by Scene_GetExits().

◆ gAltinOther_Placements

struct ScenePlacement gAltinOther_Placements[]
Initial value:
= {
}

Definition at line 887 of file altin.c.

Referenced by Scene_GetPlacements().

◆ gAltinVillage_Placements

struct ScenePlacement gAltinVillage_Placements[]

Definition at line 891 of file altin.c.

Referenced by Scene_GetPlacements().

◆ gAltinHouses_Placements

struct ScenePlacement gAltinHouses_Placements[]
Initial value:
= {
0},
{0x6f, CONDITION_ALWAYS, ACTOR_STAND, PIXELS(376), 0, PIXELS(120),
{0x6c, 0x0, ACTOR_STAND, PIXELS(690), 0, PIXELS(128), FACING_SOUTHWEST + FACING_STEP,
{0x6a, 0x0, ACTOR_STAND, PIXELS(669), 0, PIXELS(128), FACING_EAST + FACING_STEP,
{0x66, 0x0, ACTOR_STAND, PIXELS(604), 0, PIXELS(145), FACING_SOUTHEAST + FACING_STEP, 3, 0},
{0x76, 0x0, ACTOR_STAND, PIXELS(520), 0, PIXELS(454), FACING_SOUTH + FACING_STEP,
{0x7d, 0x0, ACTOR_STAND, PIXELS(743), 0, PIXELS(454), FACING_SOUTHEAST + FACING_STEP,
{0x77, 0x0, ACTOR_STAND, PIXELS(103), 0, PIXELS(744), FACING_SOUTHEAST + FACING_STEP,
{0x80, 0x0, 3, PIXELS(228), 0, PIXELS(756), FACING_SOUTHWEST + FACING_STEP, TALK_FACE_PARTY, 0},
{0x7b, 0x0, (s32)gAltinHouses_CookScript, PIXELS(350), 0, PIXELS(746),
{0x6c, 0x0, ACTOR_STAND, PIXELS(646), 0, PIXELS(734), FACING_SOUTHEAST + FACING_STEP,
}
s32 gAltinHouses_CookScript[]
The cook from Xian paces between his pots, nodding over each.
Definition altin.c:804
@ FACING_STEP
Definition field_scene.h:36
@ TALK_FACE_PARTY
@ TALK_FACE_PARTY_AND_BACK
@ ACTOR_STAND
@ FACING_EAST
Definition field_scene.h:26
@ FACING_SOUTHWEST
Definition field_scene.h:29
#define PIXELS(value)
signed int s32
Definition types.h:14

Definition at line 930 of file altin.c.

Referenced by Scene_GetPlacements().

◆ gAltinOther_Events

struct SceneEvent gAltinOther_Events[]
Initial value:
= {
}
#define SCENE_EVENTS_END

Definition at line 960 of file altin.c.

Referenced by Scene_GetEvents().

◆ gAltinVillage_Events

struct SceneEvent gAltinVillage_Events[]

Definition at line 964 of file altin.c.

Referenced by Scene_GetEvents().

◆ gAltinHouses_Events

struct SceneEvent gAltinHouses_Events[]

Definition at line 1051 of file altin.c.

Referenced by Scene_GetEvents().

◆ gAltinVillage_MineDoorCells

u16 gAltinVillage_MineDoorCells[]
Initial value:
= {
MAP_CELL_STEP(42, 33, 2, 2, 0),
MAP_CELL_STEP(42, 35, 2, 2, 5),
MAP_CELL_STEP(40, 33, 2, 2, 0),
MAP_CELL_STEP(40, 35, 2, 2, 5),
}
#define MAP_CELL_STEP(srcX, srcY, width, height, frames)
Definition field_event.h:59
#define MAP_CELL_STEPS_END
Definition field_event.h:61

The opening pictures of the village's doors, two cells square.

The mine's door (the second) is wider and redrawn by hand instead.

Definition at line 1162 of file altin.c.

◆ gAltinVillage_DoorCellsA

u16 gAltinVillage_DoorCellsA[]
Initial value:
= {
MAP_CELL_STEP(35, 48, 2, 2, 5),
MAP_CELL_STEP(33, 48, 2, 2, 5),
}

Definition at line 1170 of file altin.c.

◆ gAltinVillage_DoorCellsF

u16 gAltinVillage_DoorCellsF[]
Initial value:
= {
MAP_CELL_STEP(35, 35, 2, 2, 5),
MAP_CELL_STEP(33, 35, 2, 2, 5),
}

Definition at line 1176 of file altin.c.

◆ gAltinVillage_DoorCellsG

u16 gAltinVillage_DoorCellsG[]
Initial value:
= {
MAP_CELL_STEP(35, 46, 2, 2, 5),
MAP_CELL_STEP(33, 46, 2, 2, 5),
}

Definition at line 1182 of file altin.c.

◆ gAltinVillage_DoorCellsC

u16 gAltinVillage_DoorCellsC[]
Initial value:
= {
MAP_CELL_STEP(35, 50, 2, 2, 5),
MAP_CELL_STEP(33, 50, 2, 2, 5),
}

Definition at line 1188 of file altin.c.

◆ gAltinVillage_DoorCellsD

u16 gAltinVillage_DoorCellsD[]
Initial value:
= {
MAP_CELL_STEP(35, 33, 2, 2, 5),
MAP_CELL_STEP(33, 33, 2, 2, 5),
}

Definition at line 1194 of file altin.c.

◆ gAltinVillage_DoorCellsE

u16 gAltinVillage_DoorCellsE[]
Initial value:
= {
MAP_CELL_STEP(35, 52, 2, 2, 5),
MAP_CELL_STEP(33, 52, 2, 2, 5),
}

Definition at line 1200 of file altin.c.

◆ gAltinVillage_Doors

struct DoorAnim gAltinVillage_Doors[]
Initial value:
= {
}
u16 gAltinVillage_MineDoorCells[]
The opening pictures of the village's doors, two cells square.
Definition altin.c:1162
u16 gAltinVillage_DoorCellsD[]
Definition altin.c:1194
u16 gAltinVillage_DoorCellsG[]
Definition altin.c:1182
u16 gAltinVillage_DoorCellsE[]
Definition altin.c:1200
u16 gAltinVillage_DoorCellsF[]
Definition altin.c:1176
u16 gAltinVillage_DoorCellsA[]
Definition altin.c:1170
u16 gAltinVillage_DoorCellsC[]
Definition altin.c:1188

Each door trigger's opening picture and cell, from trigger 2.

Definition at line 1207 of file altin.c.

Referenced by Village_EnterDoor().