Alchemy
Loading...
Searching...
No Matches

altin_peak.c File Reference

Altin Mine, the eleven rooms under Altin where the hydros statues flood the village. More...

Go to the source code of this file.

Macros

#define FLAG_ALTIN_PEAK_ROOM_3_SWITCH   0x323
#define FLAG_ALTIN_PEAK_ROOM_5_SWITCH   0x325
#define FLAG_ALTIN_PEAK_ROOM_6_SWITCH   0x326
#define FLAG_ALTIN_PEAK_ROOM_7_SWITCH   0x327
#define SCENE_MINE_ROOM(n)
#define SEARCH_CHEST_FACING(facing)
 A chest searched while facing the given way.

Enumerations

enum  { ENTRANCE_AFTER_BATTLE = 99 }
 Each room's water beast fight returns the party to this entrance. More...
enum  { ACTOR_LOG = 8 }
 The rooms' actors, from their placement tables. More...
enum  { ACTOR_ROOM1_PUDDLE = 8 , ACTOR_ROOM1_WIDE_PUDDLE = 9 , ACTOR_ROOM1_BEAST = 10 }
 Room 1: a puddle that appears with the first drain, a wide puddle and the water beast. More...
enum  { ACTOR_ROOM3_BEAST = 9 , ACTOR_ROOM3_BOULDER = 10 }
enum  { ACTOR_ROOM5_PUDDLE = 9 , ACTOR_ROOM5_BEAST = 10 }
enum  { ACTOR_ROOM6_PUDDLE = 9 }
enum  {
  ACTOR_ROOM7_PUDDLE = 9 , ACTOR_ROOM7_BLOCK = 10 , ACTOR_ROOM7_SECOND_PUDDLE = 11 , ACTOR_ROOM7_THIRD_PUDDLE = 12 ,
  ACTOR_DJINNI = 14
}
enum  { ACTOR_ROOM8_BOULDER = 8 }
enum  { ACTOR_FALLING_BOULDER = 8 , ACTOR_BOULDER_SHADOW = 9 , ACTOR_TOPPLING_ROCK = 10 , ACTOR_WALL = 11 }
 Room 9: the boulder that falls and its shadow, the rock that topples as it comes down, and the actor Force is cast on. More...
enum  { ACTOR_STATUE = 8 , ACTOR_STATUE_SHADOW = 9 }
 Room 10: the guardian statue and its shadow. More...
enum  { ACTOR_ROOM11_BOULDER = 8 , ACTOR_ROOM11_BLOCK = 9 }
enum  { FLAG_PUDDLE_FROZEN = FLAG_SCENE_TEMP_00 , FLAG_SECOND_PUDDLE_FROZEN = FLAG_SCENE_TEMP_01 , FLAG_THIRD_PUDDLE_FROZEN = FLAG_SCENE_TEMP_04 , FLAG_GARET_WATCHING_ROCKS = FLAG_SCENE_TEMP_05 }
 The rooms' puzzles, kept while the party stays in the mine. More...
enum  { ANIM_LEADER_JUMP = 22 , ANIM_LEADER_LEAP = 7 }
 The leader's jump animations. More...
enum  { SPRITE_BOULDER = 200 , SPRITE_SPRAY = 222 }
 The sprites the scene makes objects from: the water beast's spray (as in Altin) and room 9's boulder, whose pieces fly in the crash. More...

Functions

static void AltinPeak_RunBoulderChase (s32 boulderDelay)
 Room 9's rockfall.
static void AltinPeak_RestoreRoom1 (void)
 Room 1: after its beast's battle the Frost Jewel is found and the water drains; the beast stays where its routes left it while the water is up, and the frozen puddles are restored once it is down.
static void AltinPeak_RestoreRoom3 (void)
 Room 3: after its beast's battle the second drain runs; while the water is up the beast spits it; the switch is restored.
static void AltinPeak_RestoreRoom4 (void)
 Room 4: its water is up until the second drain; entrances 6 and 7 skip the arrival event.
static void AltinPeak_RestoreRoom5 (void)
 Room 5: after its beast's battle the third drain runs; while the water is up the beast spits it; the frozen puddle and the switch are restored.
static void AltinPeak_RestoreRoom6 (void)
 Room 6: arriving at entrance 2 the log waits there; the frozen puddle, the water level and the switch are restored.
static void AltinPeak_RestoreRoom7 (void)
 Room 7: the block, the three frozen puddles and the switch are restored.
static void AltinPeak_RestoreRoom9 (void)
 Room 9: the boulder is put away; once the rockfall is over the rock lies toppled and the rubble fills the bottom of the path.
static void AltinPeak_RestoreRoom10 (void)
 Room 10: the guardian statue stands until the Hydros statues are beaten; after their battle the party talks it over.
static void AltinPeak_RestoreRoom11 (void)
 Room 11: arriving at entrance 2 the block stands at its pushed place.
static void AltinPeak_StartSpitting (s32 x, s32 y, s32 z, s32 facing)
 A water beast starts spitting water from (x, y, z) toward facing (east, 0, or west, 0x8000), with its sound (SE_170).
static void AltinPeak_SpawnDebris (void)
 Scheduler task while the boulder crashes: every third frame a piece of rock (the boulder's own sprite, small) flies out at random, with a clatter (SE_144 or SE_145) every ninth frame.
static void AltinPeak_SparkleIce (union FieldObject *object)
 Update callback of the frozen wide puddle: its ice glints every eight frames.
static void AltinPeak_BeastFreezesWidePuddle (void)
 Room 1's water beast casts Frost on the wide puddle.
static void AltinPeak_AwardFrostJewelAndDrain (void)
 Back from room 1's beast battle: the beast is gone and the party finds the Frost Jewel; the camera pans to the water and the first drain runs.
static void AltinPeak_DrainAfterSecondBeast (void)
 Back from room 3's beast battle: the beast is gone, the log waits at (328, 424), the switch is back in its first position, and the second drain runs.
static void AltinPeak_DrainAfterThirdBeast (void)
 Back from room 5's beast battle, the same way, with the third drain.
static void AltinPeak_CelebrateHydrosVictory (void)
 Back from the Hydros statues' battle: Garet, Ivan and Mia step out.
static void AltinPeak_UpdateFrostPillarPriority (void)
 Scheduler task in room 7: while the leader stands higher than 48 pixels the second pillar is drawn under the party and the third further back.
static void AltinPeak_MarkActorTerrainCell (s32 actorId)
 Makes a puddle walkable to the actor checks and marks its map cell.
static void AltinPeak_RollLog (s32 id, s32 heading)
 Rolls the log the party leader rides: it sets off the first way it can roll, starting from heading (or its own facing for -1), follows the turns its route's cells mark until the end cell, and the leader jumps off.
static void AltinPeak_StartPaletteAnim (void)
 Starts the water's palette cycle.
static void AltinPeak_TalkToDjinni (void)
 Talking to the Djinni in room 7 makes it hop and starts the battle for Djinni 23.
static s32 AltinPeak_ShadowFollowBoulder (union FieldObject *object)
static s32 AltinPeak_FlyDebris (struct ScriptInterpreter *interpreter)
 Script callback for a piece of flying rock debris: it moves by its velocity, grows by its z velocity and falls under its gravity.
const struct SceneEntrance * Scene_GetEntrances (void)
const struct SceneRegion * Scene_GetRegions (void)
 Rooms 9 and 10 have regions.
const u32 * Scene_GetExits (void)
 All the rooms share one exit table.
const struct ScenePlacement * Scene_GetPlacements (void)
static void AltinPeak_RideLog (s32 log)
 Talking to a log: the party leader jumps onto it, and once the leader has landed on top the log rolls away with the leader riding it.
static void AltinPeak_FightRoom1Beast (void)
 Talking to (or reading the mind of) a room's water beast starts its battle; afterwards the party returns to the room's battle entrance.
static void AltinPeak_FightRoom3Beast (void)
static void AltinPeak_FightRoom5Beast (void)
static void AltinPeak_SettleRoom7Block (void)
 Move on room 7's block: the cell it left becomes free again and the cell it now stands on (column 24 or 25 of row 26) takes the blocking attributes kept at (0, 0).
static void AltinPeak_FreezeRoom1Puddle (void)
 Frost on a puddle freezes it into an ice pillar the party can stand on: the puddle's cell takes the pillar's attributes, kept elsewhere on the map, and the pillar is drawn 32 pixels lower, under the party.
static void AltinPeak_FreezeRoom1WidePuddle (void)
 Frost on room 1's wide puddle, three cells across: the cells take the ice's attributes and the ice is left to fall to the ground.
static void AltinPeak_FreezeRoom7Puddle (void)
 Frost on room 7's first puddle.
static void AltinPeak_FreezeRoom5Puddle (void)
 Frost on room 5's puddle.
static void AltinPeak_FreezeRoom6Puddle (void)
 Frost on room 6's puddle.
static void AltinPeak_FreezeRoom7SecondPuddle (void)
 Frost on room 7's second puddle.
static void AltinPeak_FreezeRoom7ThirdPuddle (void)
 Frost on room 7's third puddle.
static void Water_FlickerOut (void)
 Interrupt handler while the water layer vanishes: each time, background 1 (the water) stays on only when a random percentage reaches the timer, so as the timer climbs to 100 the water flickers away.
static void AltinPeak_DrainFirstWater (void)
 The first drain, after the Frost Jewel is found: the screen shakes, the water layer sinks 24 pixels, one step every 4 frames (a puddle growing from a tenth of its size partway down), then flickers away over 100 frames.
static void AltinPeak_DrainSecondWater (void)
 The second drain: the same sinking and flicker over the cells the water leaves behind, which then take their dry form.
static void AltinPeak_DrainThirdWater (void)
 The third drain, likewise.
static void AltinPeak_ToggleRoom3SwitchCells (void)
 Flips room 3's switch to its other position, redrawing it and changing the cell its position opens or closes.
static void AltinPeak_FlipRoom3Switch (void)
 Searching room 3's switch flips it. "You flipped the switch.".
static void AltinPeak_ToggleRoom5SwitchCells (void)
 Flips room 5's switch, the same way.
static void AltinPeak_FlipRoom5Switch (void)
 Searching room 5's switch flips it.
static void AltinPeak_FlipRoom6Switch (void)
 Searching room 6's switch flips it.
static void AltinPeak_FlipRoom7Switch (void)
 Searching room 7's switch flips it.
static void AltinPeak_PlaceBlockUnderLeader (void)
 Stepping onto room 7's block: it is drawn under the party leader.
static void AltinPeak_RestoreBlockAutomaticPriority (void)
 Stepping off room 7's block: it sorts against the leader again.
static void AltinPeak_PushRoom7Block (void)
 Walking east into room 7's block pushes it one cell along with a scrape; the leader follows it and its cells are settled as after Move.
static void AltinPeak_ForceRockOver (void)
 Force on room 9's wall: it rumbles, the rock on it rocks one way and back, then topples with a crash, and the rockfall follows.
static void AltinPeak_ReadFallingRockSign (void)
 Searching room 9's sign, which can bring the rockfall.
const struct SceneEvent * Scene_GetEvents (void)
 Room 1 has its own events once the first drain has lowered its water.
static void AltinPeak_UpdateBeastHops (union FieldObject *object)
 Update callback of the hopping water beast: once a second it leaps up and lands with a splash (SE_229) that shakes the screen briefly.
static __inline__ void AltinPeak_PlayLandingShake (s32 amplitude, s32 holdFrames)
 The beast lands with a splash, shaking the screen for holdFrames.
static void AltinPeak_ShowFirstBeastRoute (void)
 Stepping near room 1's water beast the first time: the camera finds it, it cries out and hops away around the room, freezes the wide puddle with Frost and hops across it, then stops to watch the party leader.
static void AltinPeak_ShowSecondBeastRoute (void)
 Stepping near the beast again: it hops back over the ice and settles down, spitting water.
s32 Scene_Initialize (void)
 Sets up the room being entered: puzzles already solved and the water levels already lowered.
static void AltinPeak_InitSpray (struct FieldActor *spray)
 Gives a new spray particle its look: standing still, on sprite priority 1 and at 0.3 scale.
static void AltinPeak_DriftSpray (union FieldObject *object)
 Update callback of a spray particle: it grows while drifting away from the beast, then curls and flattens when its movement timer runs low.
static void AltinPeak_SpawnSpray (void)
 Scheduler task while a beast spits: every fourth frame a spray particle starts from its spout, living 20 frames.
static void AltinPeak_PlayHydrosRumble (void)
 Scheduler task while the statue wakes: a rumble (SE_183) every second.
static void AltinPeak_StartHydrosBattle (void)
 Stepping toward room 10's guardian statue: the leader walks up to it, it rumbles and slides forward, and the battle with the Hydros statues starts.
static void AltinPeak_FlickerStatue (void)
 Scheduler task while the statue sinks: it flickers every other frame.
static UNUSED void AltinPeak_RequestPsynergy (void)
 Request the original unused Frost action.
static void AltinPeak_StopLogAndJumpOff (struct FieldActor *object)
 The log reaches the end of its run: it settles in the middle of its cell and the party leader jumps off it to the south.
static UNUSED void AltinPeak_ReservedNoOp (void)
static void AltinPeak_TurnLogRight (struct FieldActor *object)
 The log turns a quarter turn right around the corner it reaches.
static void AltinPeak_TurnLogLeft (struct FieldActor *object)
 The log turns a quarter turn left.
static void AltinPeak_StartLogCountdown (struct FieldActor *object)
 The log rolls over a marked cell: SE_288 plays, and SE_184 and SE_233 follow as its countdown runs out.
static void AltinPeak_AdvanceLog (struct FieldActor *object)
 Rolls the log on by a frame and picks its animation from the terrain ahead of and behind it: flat, uphill or downhill.
static void AltinPeak_StepPaletteAnim (void)
 Scheduler task that cycles the water's palette colors through gAltinPeak_PaletteScript.

Variables

s32 gAltinPeak_SprayDirection
s32 gAltinPeak_SprayOrigin [3]
u16 gAltinPeak_FlickerTimer
s8 gAltinPeak_PaletteScript []
 The water's palette cycle: pairs of a color offset and the frames it holds, repeating from the top at -1.
s32 gAltinPeak_FaceLeaderScript []
 Room 1's beast keeps turning to face the party leader.
s32 gAltinPeak_PuddleGrowScript []
 The new puddle grows to full size over 108 frames.
s32 gAltinPeak_BoulderPath []
 Room 9's boulder rolls straight down the path, and marks its arrival.
s32 gAltinPeak_LeaderFleePath []
 The party leader flees down the winding path ahead of the boulder, marks the arrival, steps aside and turns round.
s32 gAltinPeak_DebrisScript []
 A piece of debris flies for 60 frames and is freed.
s32 gAltinPeak_GaretScript []
 Garet, Ivan and Mia step out beside the leader after the Hydros battle.
s32 gAltinPeak_IvanScript []
s32 gAltinPeak_MiaScript []
s32 gAltinPeak_StatueSinkScript []
 The guardian statue and its shadow flatten into the floor over 60 frames.
s32 gAltinPeak_RejoinScript []
 Garet, Ivan and Mia walk back to the leader and rejoin the party.
struct SceneEntrance gAltinPeak_EntrancesOther []
struct SceneEntrance gAltinPeak_Entrances1 []
struct SceneEntrance gAltinPeak_Entrances2 []
struct SceneEntrance gAltinPeak_Entrances3 []
struct SceneEntrance gAltinPeak_Entrances4 []
struct SceneEntrance gAltinPeak_Entrances5 []
struct SceneEntrance gAltinPeak_Entrances6 []
struct SceneEntrance gAltinPeak_Entrances7 []
struct SceneEntrance gAltinPeak_Entrances8 []
struct SceneEntrance gAltinPeak_Entrances9 []
struct SceneEntrance gAltinPeak_Entrances10 []
struct SceneEntrance gAltinPeak_Entrances11 []
struct SceneRegion gAltinPeak_Regions9 []
struct SceneRegion gAltinPeak_Regions10 []
u32 gAltinPeak_Exits []
struct ScenePlacement gAltinPeak_PlacementsOther []
struct ScenePlacement gAltinPeak_Placements1 []
struct ScenePlacement gAltinPeak_Placements3 []
struct ScenePlacement gAltinPeak_Placements5 []
struct ScenePlacement gAltinPeak_Placements6 []
struct ScenePlacement gAltinPeak_Placements7 []
struct ScenePlacement gAltinPeak_Placements8 []
struct ScenePlacement gAltinPeak_Placements9 []
struct ScenePlacement gAltinPeak_Placements10 []
struct ScenePlacement gAltinPeak_Placements11 []
struct SceneEvent gAltinPeak_EventsOther []
struct SceneEvent gAltinPeak_Events1 []
struct SceneEvent gAltinPeak_Events1Drained []
struct SceneEvent gAltinPeak_Events2 []
struct SceneEvent gAltinPeak_Events3 []
struct SceneEvent gAltinPeak_Events4 []
struct SceneEvent gAltinPeak_Events5 []
struct SceneEvent gAltinPeak_Events6 []
struct SceneEvent gAltinPeak_Events7 []
struct SceneEvent gAltinPeak_Events8 []
struct SceneEvent gAltinPeak_Events9 []
struct SceneEvent gAltinPeak_Events10 []
struct SceneEvent gAltinPeak_Events11 []
s32 gAltinPeak_RumbleTicks = 0
 Frames since the statue's last rumble.
u32 gAltinPeak_RollRadii []
 The log's speed factor by its height against where it set off: 2 to the power i / 16 for i from 0 to 32, in 16.16.

Detailed Description

Altin Mine, the eleven rooms under Altin where the hydros statues flood the village.

The party rides rolling logs, freezes puddles into pillars with Frost, fights the water beasts, lowers the water three times and finds the ancient ruins at the bottom.

Definition in file altin_peak.c.

Macro Definition Documentation

◆ FLAG_ALTIN_PEAK_ROOM_3_SWITCH

#define FLAG_ALTIN_PEAK_ROOM_3_SWITCH   0x323

◆ FLAG_ALTIN_PEAK_ROOM_5_SWITCH

#define FLAG_ALTIN_PEAK_ROOM_5_SWITCH   0x325

◆ FLAG_ALTIN_PEAK_ROOM_6_SWITCH

#define FLAG_ALTIN_PEAK_ROOM_6_SWITCH   0x326

Definition at line 64 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom6Switch(), and AltinPeak_RestoreRoom6().

◆ FLAG_ALTIN_PEAK_ROOM_7_SWITCH

#define FLAG_ALTIN_PEAK_ROOM_7_SWITCH   0x327

Definition at line 65 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom7Switch(), and AltinPeak_RestoreRoom7().

◆ SCENE_MINE_ROOM

◆ SEARCH_CHEST_FACING

#define SEARCH_CHEST_FACING ( facing)
Value:
#define EVENT_TOUCH_FACING
#define SEARCH(target)
@ SEARCH_CHEST

A chest searched while facing the given way.

Definition at line 150 of file altin_peak.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Each room's water beast fight returns the party to this entrance.

Enumerator
ENTRANCE_AFTER_BATTLE 

Definition at line 93 of file altin_peak.c.

◆ anonymous enum

anonymous enum

The rooms' actors, from their placement tables.

Rooms 3, 5, 6 and 7 place the log the party rides first.

Enumerator
ACTOR_LOG 

Definition at line 97 of file altin_peak.c.

◆ anonymous enum

anonymous enum

Room 1: a puddle that appears with the first drain, a wide puddle and the water beast.

Enumerator
ACTOR_ROOM1_PUDDLE 
ACTOR_ROOM1_WIDE_PUDDLE 
ACTOR_ROOM1_BEAST 

Definition at line 101 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM3_BEAST 
ACTOR_ROOM3_BOULDER 

Definition at line 107 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM5_PUDDLE 
ACTOR_ROOM5_BEAST 

Definition at line 109 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM6_PUDDLE 

Definition at line 111 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM7_PUDDLE 
ACTOR_ROOM7_BLOCK 
ACTOR_ROOM7_SECOND_PUDDLE 
ACTOR_ROOM7_THIRD_PUDDLE 
ACTOR_DJINNI 

Definition at line 113 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM8_BOULDER 

Definition at line 121 of file altin_peak.c.

◆ anonymous enum

anonymous enum

Room 9: the boulder that falls and its shadow, the rock that topples as it comes down, and the actor Force is cast on.

Enumerator
ACTOR_FALLING_BOULDER 
ACTOR_BOULDER_SHADOW 
ACTOR_TOPPLING_ROCK 
ACTOR_WALL 

Definition at line 125 of file altin_peak.c.

◆ anonymous enum

anonymous enum

Room 10: the guardian statue and its shadow.

Enumerator
ACTOR_STATUE 
ACTOR_STATUE_SHADOW 

Definition at line 133 of file altin_peak.c.

◆ anonymous enum

anonymous enum
Enumerator
ACTOR_ROOM11_BOULDER 
ACTOR_ROOM11_BLOCK 

Definition at line 135 of file altin_peak.c.

◆ anonymous enum

anonymous enum

The rooms' puzzles, kept while the party stays in the mine.

Enumerator
FLAG_PUDDLE_FROZEN 

Frost has frozen the room's first puddle.

FLAG_SECOND_PUDDLE_FROZEN 

Frost has frozen room 1's wide puddle or room 7's second.

FLAG_THIRD_PUDDLE_FROZEN 

Frost has frozen room 7's third puddle.

FLAG_GARET_WATCHING_ROCKS 

Garet has come out to look at room 9's falling-rock sign.

Definition at line 138 of file altin_peak.c.

◆ anonymous enum

anonymous enum

The leader's jump animations.

Enumerator
ANIM_LEADER_JUMP 
ANIM_LEADER_LEAP 

Definition at line 154 of file altin_peak.c.

◆ anonymous enum

anonymous enum

The sprites the scene makes objects from: the water beast's spray (as in Altin) and room 9's boulder, whose pieces fly in the crash.

Enumerator
SPRITE_BOULDER 
SPRITE_SPRAY 

Definition at line 158 of file altin_peak.c.

Function Documentation

◆ AltinPeak_RunBoulderChase()

void AltinPeak_RunBoulderChase ( s32 boulderDelay)
static

Room 9's rockfall.

The party leader steps back and looks up as the slope rumbles; the rock lies toppled and a boulder drops onto the path. The leader flees down the winding path, and after boulderDelay frames the boulder rolls after; it bounces to a stop at the bottom and crashes into the wall, throwing up rock debris and leaving rubble. Garet, if he came out at the sign, rejoins the leader. Remembered by FLAG_ALTIN_PEAK_BOULDER_FALLEN.

Definition at line 813 of file altin_peak.c.

Referenced by AltinPeak_ForceRockOver(), AltinPeak_ReadFallingRockSign(), and AltinPeak_RunBoulderChase().

◆ AltinPeak_RestoreRoom1()

void AltinPeak_RestoreRoom1 ( void )
static

Room 1: after its beast's battle the Frost Jewel is found and the water drains; the beast stays where its routes left it while the water is up, and the frozen puddles are restored once it is down.

Definition at line 1369 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom1(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom3()

void AltinPeak_RestoreRoom3 ( void )
static

Room 3: after its beast's battle the second drain runs; while the water is up the beast spits it; the switch is restored.

Definition at line 1454 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom3(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom4()

void AltinPeak_RestoreRoom4 ( void )
static

Room 4: its water is up until the second drain; entrances 6 and 7 skip the arrival event.

Definition at line 1484 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom4(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom5()

void AltinPeak_RestoreRoom5 ( void )
static

Room 5: after its beast's battle the third drain runs; while the water is up the beast spits it; the frozen puddle and the switch are restored.

Definition at line 1500 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom5(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom6()

void AltinPeak_RestoreRoom6 ( void )
static

Room 6: arriving at entrance 2 the log waits there; the frozen puddle, the water level and the switch are restored.

Definition at line 1538 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom6(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom7()

void AltinPeak_RestoreRoom7 ( void )
static

Room 7: the block, the three frozen puddles and the switch are restored.

Definition at line 1568 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom7(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom9()

void AltinPeak_RestoreRoom9 ( void )
static

Room 9: the boulder is put away; once the rockfall is over the rock lies toppled and the rubble fills the bottom of the path.

Arriving at entrance 6, the leader starts 88 pixels down.

Definition at line 1615 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom9(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom10()

void AltinPeak_RestoreRoom10 ( void )
static

Room 10: the guardian statue stands until the Hydros statues are beaten; after their battle the party talks it over.

Definition at line 1652 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom10(), and Scene_Initialize().

◆ AltinPeak_RestoreRoom11()

void AltinPeak_RestoreRoom11 ( void )
static

Room 11: arriving at entrance 2 the block stands at its pushed place.

Definition at line 1686 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom11(), and Scene_Initialize().

◆ AltinPeak_StartSpitting()

void AltinPeak_StartSpitting ( s32 x,
s32 y,
s32 z,
s32 facing )
static

A water beast starts spitting water from (x, y, z) toward facing (east, 0, or west, 0x8000), with its sound (SE_170).

Definition at line 1773 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom1(), AltinPeak_RestoreRoom3(), AltinPeak_RestoreRoom5(), AltinPeak_ShowSecondBeastRoute(), and AltinPeak_StartSpitting().

◆ AltinPeak_SpawnDebris()

void AltinPeak_SpawnDebris ( void )
static

Scheduler task while the boulder crashes: every third frame a piece of rock (the boulder's own sprite, small) flies out at random, with a clatter (SE_144 or SE_145) every ninth frame.

Definition at line 1784 of file altin_peak.c.

Referenced by AltinPeak_RunBoulderChase(), and AltinPeak_SpawnDebris().

◆ AltinPeak_SparkleIce()

void AltinPeak_SparkleIce ( union FieldObject * object)
static

Update callback of the frozen wide puddle: its ice glints every eight frames.

Definition at line 1820 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom1(), and AltinPeak_SparkleIce().

◆ AltinPeak_BeastFreezesWidePuddle()

void AltinPeak_BeastFreezesWidePuddle ( void )
static

Room 1's water beast casts Frost on the wide puddle.

Definition at line 1833 of file altin_peak.c.

Referenced by AltinPeak_BeastFreezesWidePuddle(), and AltinPeak_ShowFirstBeastRoute().

◆ AltinPeak_AwardFrostJewelAndDrain()

void AltinPeak_AwardFrostJewelAndDrain ( void )
static

Back from room 1's beast battle: the beast is gone and the party finds the Frost Jewel; the camera pans to the water and the first drain runs.

Definition at line 1849 of file altin_peak.c.

Referenced by AltinPeak_AwardFrostJewelAndDrain(), and AltinPeak_RestoreRoom1().

◆ AltinPeak_DrainAfterSecondBeast()

void AltinPeak_DrainAfterSecondBeast ( void )
static

Back from room 3's beast battle: the beast is gone, the log waits at (328, 424), the switch is back in its first position, and the second drain runs.

Definition at line 1878 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterSecondBeast(), and AltinPeak_RestoreRoom3().

◆ AltinPeak_DrainAfterThirdBeast()

void AltinPeak_DrainAfterThirdBeast ( void )
static

Back from room 5's beast battle, the same way, with the third drain.

Definition at line 1895 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterThirdBeast(), and AltinPeak_RestoreRoom5().

◆ AltinPeak_CelebrateHydrosVictory()

void AltinPeak_CelebrateHydrosVictory ( void )
static

Back from the Hydros statues' battle: Garet, Ivan and Mia step out.

Garet cheers, Ivan asks whether the leader agrees, and Mia tells of the guardian statues; the statue shakes, sinks into the floor and shows a chest behind it, and they agree to open it before they go, then rejoin the leader.

Definition at line 1959 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory(), and AltinPeak_RestoreRoom10().

◆ AltinPeak_UpdateFrostPillarPriority()

void AltinPeak_UpdateFrostPillarPriority ( void )
static

Scheduler task in room 7: while the leader stands higher than 48 pixels the second pillar is drawn under the party and the third further back.

Definition at line 2091 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom7(), and AltinPeak_UpdateFrostPillarPriority().

◆ AltinPeak_MarkActorTerrainCell()

void AltinPeak_MarkActorTerrainCell ( s32 actorId)
static

Makes a puddle walkable to the actor checks and marks its map cell.

Definition at line 2107 of file altin_peak.c.

Referenced by AltinPeak_MarkActorTerrainCell(), AltinPeak_RestoreRoom1(), AltinPeak_RestoreRoom5(), AltinPeak_RestoreRoom6(), and AltinPeak_RestoreRoom7().

◆ AltinPeak_RollLog()

void AltinPeak_RollLog ( s32 id,
s32 heading )
static

Rolls the log the party leader rides: it sets off the first way it can roll, starting from heading (or its own facing for -1), follows the turns its route's cells mark until the end cell, and the leader jumps off.

Definition at line 2286 of file altin_peak.c.

Referenced by AltinPeak_RideLog(), and AltinPeak_RollLog().

◆ AltinPeak_StartPaletteAnim()

void AltinPeak_StartPaletteAnim ( void )
static

Starts the water's palette cycle.

Definition at line 2376 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom1(), AltinPeak_RestoreRoom3(), AltinPeak_RestoreRoom5(), and AltinPeak_StartPaletteAnim().

◆ AltinPeak_TalkToDjinni()

void AltinPeak_TalkToDjinni ( void )
static

Talking to the Djinni in room 7 makes it hop and starts the battle for Djinni 23.

Definition at line 168 of file altin_peak.c.

Referenced by AltinPeak_TalkToDjinni().

◆ AltinPeak_ShadowFollowBoulder()

s32 AltinPeak_ShadowFollowBoulder ( union FieldObject * object)
static

Definition at line 182 of file altin_peak.c.

Referenced by AltinPeak_RunBoulderChase(), and AltinPeak_ShadowFollowBoulder().

◆ AltinPeak_FlyDebris()

s32 AltinPeak_FlyDebris ( struct ScriptInterpreter * interpreter)
static

Script callback for a piece of flying rock debris: it moves by its velocity, grows by its z velocity and falls under its gravity.

Definition at line 197 of file altin_peak.c.

Referenced by AltinPeak_FlyDebris().

◆ Scene_GetEntrances()

const struct SceneEntrance * Scene_GetEntrances ( void )

Definition at line 212 of file altin_peak.c.

◆ Scene_GetRegions()

const struct SceneRegion * Scene_GetRegions ( void )

Rooms 9 and 10 have regions.

Definition at line 252 of file altin_peak.c.

◆ Scene_GetExits()

const u32 * Scene_GetExits ( void )

All the rooms share one exit table.

Both scenes share one exit table.

Definition at line 265 of file altin_peak.c.

◆ Scene_GetPlacements()

const struct ScenePlacement * Scene_GetPlacements ( void )

Definition at line 267 of file altin_peak.c.

◆ AltinPeak_RideLog()

void AltinPeak_RideLog ( s32 log)
static

Talking to a log: the party leader jumps onto it, and once the leader has landed on top the log rolls away with the leader riding it.

Definition at line 302 of file altin_peak.c.

Referenced by AltinPeak_RideLog().

◆ AltinPeak_FightRoom1Beast()

void AltinPeak_FightRoom1Beast ( void )
static

Talking to (or reading the mind of) a room's water beast starts its battle; afterwards the party returns to the room's battle entrance.

Definition at line 339 of file altin_peak.c.

Referenced by AltinPeak_FightRoom1Beast().

◆ AltinPeak_FightRoom3Beast()

void AltinPeak_FightRoom3Beast ( void )
static

Definition at line 345 of file altin_peak.c.

Referenced by AltinPeak_FightRoom3Beast().

◆ AltinPeak_FightRoom5Beast()

void AltinPeak_FightRoom5Beast ( void )
static

Definition at line 351 of file altin_peak.c.

Referenced by AltinPeak_FightRoom5Beast().

◆ AltinPeak_SettleRoom7Block()

void AltinPeak_SettleRoom7Block ( void )
static

Move on room 7's block: the cell it left becomes free again and the cell it now stands on (column 24 or 25 of row 26) takes the blocking attributes kept at (0, 0).

Definition at line 360 of file altin_peak.c.

Referenced by AltinPeak_PushRoom7Block(), AltinPeak_RestoreRoom7(), and AltinPeak_SettleRoom7Block().

◆ AltinPeak_FreezeRoom1Puddle()

void AltinPeak_FreezeRoom1Puddle ( void )
static

Frost on a puddle freezes it into an ice pillar the party can stand on: the puddle's cell takes the pillar's attributes, kept elsewhere on the map, and the pillar is drawn 32 pixels lower, under the party.

Each room's puddle has its own copy, setting its own scene flag.

Definition at line 384 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom1Puddle().

◆ AltinPeak_FreezeRoom1WidePuddle()

void AltinPeak_FreezeRoom1WidePuddle ( void )
static

Frost on room 1's wide puddle, three cells across: the cells take the ice's attributes and the ice is left to fall to the ground.

Definition at line 399 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom1WidePuddle().

◆ AltinPeak_FreezeRoom7Puddle()

void AltinPeak_FreezeRoom7Puddle ( void )
static

Frost on room 7's first puddle.

Definition at line 411 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom7Puddle().

◆ AltinPeak_FreezeRoom5Puddle()

void AltinPeak_FreezeRoom5Puddle ( void )
static

Frost on room 5's puddle.

Definition at line 425 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom5Puddle().

◆ AltinPeak_FreezeRoom6Puddle()

void AltinPeak_FreezeRoom6Puddle ( void )
static

Frost on room 6's puddle.

Definition at line 439 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom6Puddle().

◆ AltinPeak_FreezeRoom7SecondPuddle()

void AltinPeak_FreezeRoom7SecondPuddle ( void )
static

Frost on room 7's second puddle.

Definition at line 453 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom7SecondPuddle().

◆ AltinPeak_FreezeRoom7ThirdPuddle()

void AltinPeak_FreezeRoom7ThirdPuddle ( void )
static

Frost on room 7's third puddle.

Definition at line 467 of file altin_peak.c.

Referenced by AltinPeak_FreezeRoom7ThirdPuddle().

◆ Water_FlickerOut()

void Water_FlickerOut ( void )
static

Interrupt handler while the water layer vanishes: each time, background 1 (the water) stays on only when a random percentage reaches the timer, so as the timer climbs to 100 the water flickers away.

Definition at line 483 of file altin_peak.c.

Referenced by AltinPeak_DrainFirstWater(), AltinPeak_DrainSecondWater(), AltinPeak_DrainThirdWater(), and Water_FlickerOut().

◆ AltinPeak_DrainFirstWater()

void AltinPeak_DrainFirstWater ( void )
static

The first drain, after the Frost Jewel is found: the screen shakes, the water layer sinks 24 pixels, one step every 4 frames (a puddle growing from a tenth of its size partway down), then flickers away over 100 frames.

The way on opens and the drain is remembered.

Definition at line 503 of file altin_peak.c.

Referenced by AltinPeak_AwardFrostJewelAndDrain(), and AltinPeak_DrainFirstWater().

◆ AltinPeak_DrainSecondWater()

void AltinPeak_DrainSecondWater ( void )
static

The second drain: the same sinking and flicker over the cells the water leaves behind, which then take their dry form.

Definition at line 547 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterSecondBeast(), and AltinPeak_DrainSecondWater().

◆ AltinPeak_DrainThirdWater()

void AltinPeak_DrainThirdWater ( void )
static

The third drain, likewise.

Definition at line 582 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterThirdBeast(), and AltinPeak_DrainThirdWater().

◆ AltinPeak_ToggleRoom3SwitchCells()

void AltinPeak_ToggleRoom3SwitchCells ( void )
static

Flips room 3's switch to its other position, redrawing it and changing the cell its position opens or closes.

Definition at line 620 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterSecondBeast(), AltinPeak_FlipRoom3Switch(), and AltinPeak_ToggleRoom3SwitchCells().

◆ AltinPeak_FlipRoom3Switch()

void AltinPeak_FlipRoom3Switch ( void )
static

Searching room 3's switch flips it. "You flipped the switch.".

Definition at line 633 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom3Switch().

◆ AltinPeak_ToggleRoom5SwitchCells()

void AltinPeak_ToggleRoom5SwitchCells ( void )
static

Flips room 5's switch, the same way.

Definition at line 644 of file altin_peak.c.

Referenced by AltinPeak_DrainAfterThirdBeast(), AltinPeak_FlipRoom5Switch(), and AltinPeak_ToggleRoom5SwitchCells().

◆ AltinPeak_FlipRoom5Switch()

void AltinPeak_FlipRoom5Switch ( void )
static

Searching room 5's switch flips it.

Definition at line 657 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom5Switch().

◆ AltinPeak_FlipRoom6Switch()

void AltinPeak_FlipRoom6Switch ( void )
static

Searching room 6's switch flips it.

Definition at line 668 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom6Switch().

◆ AltinPeak_FlipRoom7Switch()

void AltinPeak_FlipRoom7Switch ( void )
static

Searching room 7's switch flips it.

Definition at line 687 of file altin_peak.c.

Referenced by AltinPeak_FlipRoom7Switch().

◆ AltinPeak_PlaceBlockUnderLeader()

void AltinPeak_PlaceBlockUnderLeader ( void )
static

Stepping onto room 7's block: it is drawn under the party leader.

Definition at line 706 of file altin_peak.c.

Referenced by AltinPeak_PlaceBlockUnderLeader().

◆ AltinPeak_RestoreBlockAutomaticPriority()

void AltinPeak_RestoreBlockAutomaticPriority ( void )
static

Stepping off room 7's block: it sorts against the leader again.

Definition at line 712 of file altin_peak.c.

Referenced by AltinPeak_RestoreBlockAutomaticPriority().

◆ AltinPeak_PushRoom7Block()

void AltinPeak_PushRoom7Block ( void )
static

Walking east into room 7's block pushes it one cell along with a scrape; the leader follows it and its cells are settled as after Move.

Definition at line 718 of file altin_peak.c.

Referenced by AltinPeak_PushRoom7Block().

◆ AltinPeak_ForceRockOver()

void AltinPeak_ForceRockOver ( void )
static

Force on room 9's wall: it rumbles, the rock on it rocks one way and back, then topples with a crash, and the rockfall follows.

Definition at line 736 of file altin_peak.c.

Referenced by AltinPeak_ForceRockOver().

◆ AltinPeak_ReadFallingRockSign()

void AltinPeak_ReadFallingRockSign ( void )
static

Searching room 9's sign, which can bring the rockfall.

"Watch for falling rocks! Do not strike the wall!" Before the rockfall, while the party has no Orb of Force, Garet steps out, grumbles at the dead end and strikes the wall; the ground shakes, he tells the leader to run and runs down the path, and the rockfall follows.

Definition at line 962 of file altin_peak.c.

Referenced by AltinPeak_ReadFallingRockSign().

◆ Scene_GetEvents()

const struct SceneEvent * Scene_GetEvents ( void )

Room 1 has its own events once the first drain has lowered its water.

Definition at line 1044 of file altin_peak.c.

◆ AltinPeak_UpdateBeastHops()

void AltinPeak_UpdateBeastHops ( union FieldObject * object)
static

Update callback of the hopping water beast: once a second it leaps up and lands with a splash (SE_229) that shakes the screen briefly.

Definition at line 1081 of file altin_peak.c.

Referenced by AltinPeak_ShowFirstBeastRoute(), AltinPeak_ShowSecondBeastRoute(), and AltinPeak_UpdateBeastHops().

◆ AltinPeak_PlayLandingShake()

__inline__ void AltinPeak_PlayLandingShake ( s32 amplitude,
s32 holdFrames )
static

The beast lands with a splash, shaking the screen for holdFrames.

Definition at line 1118 of file altin_peak.c.

Referenced by AltinPeak_PlayLandingShake(), AltinPeak_ShowFirstBeastRoute(), and AltinPeak_ShowSecondBeastRoute().

◆ AltinPeak_ShowFirstBeastRoute()

void AltinPeak_ShowFirstBeastRoute ( void )
static

Stepping near room 1's water beast the first time: the camera finds it, it cries out and hops away around the room, freezes the wide puddle with Frost and hops across it, then stops to watch the party leader.

Definition at line 1129 of file altin_peak.c.

Referenced by AltinPeak_ShowFirstBeastRoute().

◆ AltinPeak_ShowSecondBeastRoute()

void AltinPeak_ShowSecondBeastRoute ( void )
static

Stepping near the beast again: it hops back over the ice and settles down, spitting water.

Definition at line 1255 of file altin_peak.c.

Referenced by AltinPeak_ShowSecondBeastRoute().

◆ Scene_Initialize()

s32 Scene_Initialize ( void )

Sets up the room being entered: puzzles already solved and the water levels already lowered.

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

Returns 0.

Definition at line 1342 of file altin_peak.c.

◆ AltinPeak_InitSpray()

void AltinPeak_InitSpray ( struct FieldActor * spray)
static

Gives a new spray particle its look: standing still, on sprite priority 1 and at 0.3 scale.

Definition at line 1698 of file altin_peak.c.

Referenced by AltinPeak_InitSpray(), and AltinPeak_SpawnSpray().

◆ AltinPeak_DriftSpray()

void AltinPeak_DriftSpray ( union FieldObject * object)
static

Update callback of a spray particle: it grows while drifting away from the beast, then curls and flattens when its movement timer runs low.

The timer can start another curl; the separate lifetime still ends after 20 updates.

Definition at line 1710 of file altin_peak.c.

Referenced by AltinPeak_DriftSpray(), and AltinPeak_SpawnSpray().

◆ AltinPeak_SpawnSpray()

void AltinPeak_SpawnSpray ( void )
static

Scheduler task while a beast spits: every fourth frame a spray particle starts from its spout, living 20 frames.

Definition at line 1753 of file altin_peak.c.

Referenced by AltinPeak_SpawnSpray(), and AltinPeak_StartSpitting().

◆ AltinPeak_PlayHydrosRumble()

void AltinPeak_PlayHydrosRumble ( void )
static

Scheduler task while the statue wakes: a rumble (SE_183) every second.

Definition at line 1912 of file altin_peak.c.

Referenced by AltinPeak_PlayHydrosRumble(), and AltinPeak_StartHydrosBattle().

◆ AltinPeak_StartHydrosBattle()

void AltinPeak_StartHydrosBattle ( void )
static

Stepping toward room 10's guardian statue: the leader walks up to it, it rumbles and slides forward, and the battle with the Hydros statues starts.

Definition at line 1923 of file altin_peak.c.

Referenced by AltinPeak_StartHydrosBattle().

◆ AltinPeak_FlickerStatue()

void AltinPeak_FlickerStatue ( void )
static

Scheduler task while the statue sinks: it flickers every other frame.

Definition at line 1947 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory(), and AltinPeak_FlickerStatue().

◆ AltinPeak_RequestPsynergy()

UNUSED void AltinPeak_RequestPsynergy ( void )
static

Request the original unused Frost action.

Definition at line 2085 of file altin_peak.c.

Referenced by AltinPeak_RequestPsynergy().

◆ AltinPeak_StopLogAndJumpOff()

void AltinPeak_StopLogAndJumpOff ( struct FieldActor * object)
static

The log reaches the end of its run: it settles in the middle of its cell and the party leader jumps off it to the south.

Definition at line 2118 of file altin_peak.c.

Referenced by AltinPeak_RollLog(), and AltinPeak_StopLogAndJumpOff().

◆ AltinPeak_ReservedNoOp()

UNUSED void AltinPeak_ReservedNoOp ( void )
static

Definition at line 2164 of file altin_peak.c.

Referenced by AltinPeak_ReservedNoOp().

◆ AltinPeak_TurnLogRight()

void AltinPeak_TurnLogRight ( struct FieldActor * object)
static

The log turns a quarter turn right around the corner it reaches.

Definition at line 2167 of file altin_peak.c.

Referenced by AltinPeak_RollLog(), and AltinPeak_TurnLogRight().

◆ AltinPeak_TurnLogLeft()

void AltinPeak_TurnLogLeft ( struct FieldActor * object)
static

The log turns a quarter turn left.

Definition at line 2200 of file altin_peak.c.

Referenced by AltinPeak_RollLog(), and AltinPeak_TurnLogLeft().

◆ AltinPeak_StartLogCountdown()

void AltinPeak_StartLogCountdown ( struct FieldActor * object)
static

The log rolls over a marked cell: SE_288 plays, and SE_184 and SE_233 follow as its countdown runs out.

Definition at line 2234 of file altin_peak.c.

Referenced by AltinPeak_RollLog(), and AltinPeak_StartLogCountdown().

◆ AltinPeak_AdvanceLog()

void AltinPeak_AdvanceLog ( struct FieldActor * object)
static

Rolls the log on by a frame and picks its animation from the terrain ahead of and behind it: flat, uphill or downhill.

Definition at line 2241 of file altin_peak.c.

Referenced by AltinPeak_AdvanceLog(), and AltinPeak_RollLog().

◆ AltinPeak_StepPaletteAnim()

void AltinPeak_StepPaletteAnim ( void )
static

Scheduler task that cycles the water's palette colors through gAltinPeak_PaletteScript.

Definition at line 2354 of file altin_peak.c.

Referenced by AltinPeak_StartPaletteAnim(), and AltinPeak_StepPaletteAnim().

Variable Documentation

◆ gAltinPeak_SprayDirection

s32 gAltinPeak_SprayDirection
extern

◆ gAltinPeak_SprayOrigin

s32 gAltinPeak_SprayOrigin[3]
extern

◆ gAltinPeak_FlickerTimer

◆ gAltinPeak_PaletteScript

s8 gAltinPeak_PaletteScript[]
Initial value:
= {
3, 16,
2, 32,
1, 64,
2, 32,
-1,
}

The water's palette cycle: pairs of a color offset and the frames it holds, repeating from the top at -1.

Definition at line 2385 of file altin_peak.c.

Referenced by AltinPeak_StepPaletteAnim().

◆ gAltinPeak_FaceLeaderScript

s32 gAltinPeak_FaceLeaderScript[]
Initial value:
= {
SC_CALL(Scene_TurnTowardTarget),
}
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_FOREVER
Definition objcmd.h:14
#define SC_TOP
Script start.
Definition objcmd.h:13
#define SC_CALL(fn)
Definition objcmd.h:50

Room 1's beast keeps turning to face the party leader.

Definition at line 2394 of file altin_peak.c.

Referenced by AltinPeak_RestoreRoom1(), and AltinPeak_ShowFirstBeastRoute().

◆ gAltinPeak_PuddleGrowScript

s32 gAltinPeak_PuddleGrowScript[]
Initial value:
= {
SC_WAIT(1),
SC_LOOP(108, SC_TOP),
}
#define SC_ADD(w, v)
Definition objcmd.h:38
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_END
Return to the main script.
Definition objcmd.h:32
@ SW_SCALE_Y
Definition objcmd.h:63
@ SW_SCALE_X
Definition objcmd.h:62

The new puddle grows to full size over 108 frames.

Definition at line 2400 of file altin_peak.c.

Referenced by AltinPeak_DrainFirstWater().

◆ gAltinPeak_BoulderPath

s32 gAltinPeak_BoulderPath[]
Initial value:
= {
SC_MOVE(PIXELS(786), 0, PIXELS(220)),
SC_MOVE(PIXELS(786), 0, PIXELS(326)),
SC_MOVE(PIXELS(786), 0, PIXELS(326)),
SC_MOVE(PIXELS(786), 0, PIXELS(480)),
SC_MOVE(PIXELS(786), 0, PIXELS(520)),
SC_SET(0x23, 1),
}
#define PIXELS(value)
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19

Room 9's boulder rolls straight down the path, and marks its arrival.

Definition at line 2409 of file altin_peak.c.

Referenced by AltinPeak_RunBoulderChase().

◆ gAltinPeak_LeaderFleePath

s32 gAltinPeak_LeaderFleePath[]

The party leader flees down the winding path ahead of the boulder, marks the arrival, steps aside and turns round.

Definition at line 2426 of file altin_peak.c.

Referenced by AltinPeak_RunBoulderChase().

◆ gAltinPeak_DebrisScript

s32 gAltinPeak_DebrisScript[]
Initial value:
= {
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}
static s32 AltinPeak_FlyDebris(struct ScriptInterpreter *interpreter)
Script callback for a piece of flying rock debris: it moves by its velocity, grows by its z velocity ...
Definition altin_peak.c:197
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18
#define SC_FREE
Release.
Definition objcmd.h:43

A piece of debris flies for 60 frames and is freed.

Definition at line 2487 of file altin_peak.c.

Referenced by AltinPeak_SpawnDebris().

◆ gAltinPeak_GaretScript

s32 gAltinPeak_GaretScript[]
Initial value:
= {
SC_MOVE(PIXELS(314), 0, PIXELS(126)),
SC_WAIT(10),
}
@ ANIM_WALK
Definition field_event.h:44
@ ANIM_STAND
Definition field_event.h:43
#define SC_ARG(v)
Definition objcmd.h:44

Garet, Ivan and Mia step out beside the leader after the Hydros battle.

Definition at line 2497 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory().

◆ gAltinPeak_IvanScript

s32 gAltinPeak_IvanScript[]
Initial value:

Definition at line 2506 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory().

◆ gAltinPeak_MiaScript

s32 gAltinPeak_MiaScript[]
Initial value:

Definition at line 2515 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory().

◆ gAltinPeak_StatueSinkScript

s32 gAltinPeak_StatueSinkScript[]
Initial value:
= {
SC_ADD(SW_SCALE_Y, -1024),
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

The guardian statue and its shadow flatten into the floor over 60 frames.

Definition at line 2525 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory().

◆ gAltinPeak_RejoinScript

s32 gAltinPeak_RejoinScript[]
Initial value:
= {
SC_MOVE(PIXELS(328), 0, PIXELS(118)),
SC_POS(0, 0, 0),
SC_WAIT(1),
}

Garet, Ivan and Mia walk back to the leader and rejoin the party.

Definition at line 2536 of file altin_peak.c.

Referenced by AltinPeak_CelebrateHydrosVictory().

◆ gAltinPeak_EntrancesOther

struct SceneEntrance gAltinPeak_EntrancesOther[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, 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 2545 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances1

struct SceneEntrance gAltinPeak_Entrances1[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 456, 0, 520, FACING_NORTH, 0, 0, 56, 506, 530, 0},
{98, CONDITION_ALWAYS, 456, 0, 488, FACING_NORTH, 0, 0, 56, 506, 530, 0},
{99, CONDITION_ALWAYS, 104, 0, 232, FACING_SOUTH, 0, 0, 56, 506, 530, 0},
}
@ FACING_NORTH
Definition field_scene.h:32

Definition at line 2550 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances2

struct SceneEntrance gAltinPeak_Entrances2[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 248, 0, 464, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 56, 0, 72, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
}

Definition at line 2558 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances3

struct SceneEntrance gAltinPeak_Entrances3[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 488, 0, 560, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{2, CONDITION_ALWAYS, 664, 0, 380, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{3, CONDITION_ALWAYS, 904, 0, 214, FACING_NORTH, 0, 842, 40, 1016, 248, 0},
{98, CONDITION_ALWAYS, 488, 0, 560, FACING_NORTH, 0, -1, -1, -1, -1, 0},
{99, CONDITION_ALWAYS, 320, 0, 472, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
}

Definition at line 2565 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances4

struct SceneEntrance gAltinPeak_Entrances4[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 248, 0, 498, FACING_NORTH, 0, 24, 0, 648, 560, 0},
{2, CONDITION_ALWAYS, 119, 0, 108, FACING_SOUTH, 0, 24, 0, 648, 560, 0},
{3, CONDITION_ALWAYS, 567, 0, 105, FACING_SOUTH, 0, 24, 0, 648, 560, 0},
{4, CONDITION_ALWAYS, 887, 0, 798, FACING_NORTH, 0, 712, 568, 960, 860, 0},
{5, CONDITION_ALWAYS, 791, 0, 679, FACING_SOUTH, 0, 712, 560, 960, 860, 0},
{6, CONDITION_ALWAYS, 88, 0, 840, FACING_NORTH, 0, 32, 704, 272, 864, 0},
{7, CONDITION_ALWAYS, 216, 0, 840, FACING_NORTH, 0, 32, 704, 272, 864, 0},
}

Definition at line 2575 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances5

struct SceneEntrance gAltinPeak_Entrances5[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 585, 0, 501, FACING_NORTH, 0, 0, 0, 798, 530, 0},
{98, CONDITION_ALWAYS, 585, 0, 501, FACING_NORTH, 0, 0, 0, 798, 530, 0},
{99, CONDITION_ALWAYS, 747, 0, 258, FACING_SOUTH, 0, 0, 0, 798, 530, 0},
}

Definition at line 2587 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances6

struct SceneEntrance gAltinPeak_Entrances6[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 568, 0, 348, FACING_NORTH, 0, 0, 0, 798, 530, 0},
{2, CONDITION_ALWAYS, 295, 0, 95, FACING_SOUTH, 0, 0, 0, 798, 530, 0},
{3, CONDITION_ALWAYS, 442, 0, 774, FACING_NORTH, 0, 0, 530, 512, 948, 0},
{4, CONDITION_ALWAYS, 72, 0, 870, FACING_NORTH, 0, 0, 530, 512, 948, 0},
{5, CONDITION_ALWAYS, 918, 0, 712, FACING_SOUTH, 0, 520, 570, 992, 786, 0},
{6, CONDITION_ALWAYS, 615, 0, 684, FACING_SOUTH, 0, 520, 570, 992, 786, 0},
}

Definition at line 2595 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances7

struct SceneEntrance gAltinPeak_Entrances7[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 72, 0, 502, FACING_NORTH, 0, 0, 0, 820, 568, 0},
{2, CONDITION_ALWAYS, 152, 0, 174, FACING_SOUTH, 0, 0, 0, 820, 568, 0},
{3, CONDITION_ALWAYS, 264, 0, 890, FACING_NORTH, 0, 144, 720, 384, 908, 0},
}

Definition at line 2606 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances8

struct SceneEntrance gAltinPeak_Entrances8[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 392, 0, 116, FACING_SOUTH, 0, 0, 0, 830, 564, 0},
{2, CONDITION_ALWAYS, 40, 0, 116, FACING_NORTH, 0, 0, 0, 830, 564, 0},
{3, CONDITION_ALWAYS, 520, 0, 616, FACING_SOUTH, 0, 244, 564, 1024, 1024, 0},
{4, CONDITION_ALWAYS, 408, 0, 970, FACING_NORTH, 0, 244, 564, 1024, 1024, 0},
{5, CONDITION_ALWAYS, 951, 0, 791, FACING_SOUTH, 0, 244, 564, 1024, 1024, 0},
}

Definition at line 2614 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances9

struct SceneEntrance gAltinPeak_Entrances9[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 361, 0, 309, FACING_NORTH, 0, 0, 0, 524, 816, 0},
{2, CONDITION_ALWAYS, 89, 0, 749, FACING_NORTH, 0, 0, 0, 524, 816, 0},
{3, CONDITION_ALWAYS, 728, 0, 717, FACING_NORTH, 0, 618, 0, 990, 854, 0},
{4, CONDITION_ALWAYS, 935, 0, 493, FACING_SOUTH, 0, 618, 0, 990, 854, 0},
{5, CONDITION_ALWAYS, 791, 0, 566, FACING_SOUTH, 0, 618, 0, 990, 854, 0},
{6, CONDITION_ALWAYS, 792, 16, 577, FACING_SOUTH, 0, 618, 0, 998, 854, 0},
}

Definition at line 2624 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances10

struct SceneEntrance gAltinPeak_Entrances10[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 88, 4, 424, FACING_SOUTH, 0, 0, 0, 448, 524, 0},
{98, CONDITION_ALWAYS, 88, 4, 424, FACING_SOUTH, 0, 0, 0, 448, 524, 0},
{99, CONDITION_ALWAYS, 328, 0, 118, FACING_NORTH, 0, 0, 0, 448, 524, 0},
}

Definition at line 2635 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Entrances11

struct SceneEntrance gAltinPeak_Entrances11[]
Initial value:
= {
{0, CONDITION_ALWAYS, 160, 0, 160, FACING_SOUTH, 0, -1, -1, -1, -1, 0},
{1, CONDITION_ALWAYS, 408, 0, 517, FACING_NORTH, 0, 0, 0, 540, 590, 0},
{2, CONDITION_ALWAYS, 198, 0, 336, FACING_SOUTH, 0, 0, 0, 540, 590, 0},
{3, CONDITION_ALWAYS, 568, 0, 136, FACING_NORTH, 0, 480, 15, 684, 180, 0},
{4, CONDITION_ALWAYS, 73, 0, 190, FACING_NORTH, 0, 0, 0, 540, 590, 0},
}

Definition at line 2643 of file altin_peak.c.

Referenced by Scene_GetEntrances().

◆ gAltinPeak_Regions9

struct SceneRegion gAltinPeak_Regions9[]
Initial value:
= {
{790, -106, 575, 794, -102, 579, CONDITION_ALWAYS, 6},
{788, -108, 579, 796, -100, 587, CONDITION_ALWAYS, 6},
}

Definition at line 2652 of file altin_peak.c.

Referenced by Scene_GetRegions().

◆ gAltinPeak_Regions10

struct SceneRegion gAltinPeak_Regions10[]
Initial value:
= {
{84, 38, 420, 92, 46, 428, CONDITION_ALWAYS, 1},
}

Definition at line 2662 of file altin_peak.c.

Referenced by Scene_GetRegions().

◆ gAltinPeak_Exits

u32 gAltinPeak_Exits[]

Definition at line 2671 of file altin_peak.c.

Referenced by Scene_GetExits().

◆ gAltinPeak_PlacementsOther

struct ScenePlacement gAltinPeak_PlacementsOther[]
Initial value:
= {
}

Definition at line 2725 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements1

struct ScenePlacement gAltinPeak_Placements1[]
Initial value:

Definition at line 2729 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements3

struct ScenePlacement gAltinPeak_Placements3[]
Initial value:

Definition at line 2739 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements5

struct ScenePlacement gAltinPeak_Placements5[]
Initial value:

Definition at line 2749 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements6

struct ScenePlacement gAltinPeak_Placements6[]
Initial value:

Definition at line 2759 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements7

struct ScenePlacement gAltinPeak_Placements7[]
Initial value:
= {
}
@ TALK_FACE_PARTY
#define FLAG_DJINNI_0
the flag of Djinni 0, set once it is caught
Definition flags.h:15

Definition at line 2767 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements8

struct ScenePlacement gAltinPeak_Placements8[]
Initial value:

Definition at line 2784 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements9

struct ScenePlacement gAltinPeak_Placements9[]
Initial value:

Definition at line 2790 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements10

struct ScenePlacement gAltinPeak_Placements10[]
Initial value:

Definition at line 2801 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_Placements11

struct ScenePlacement gAltinPeak_Placements11[]
Initial value:

Definition at line 2812 of file altin_peak.c.

Referenced by Scene_GetPlacements().

◆ gAltinPeak_EventsOther

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

Definition at line 2820 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events1

struct SceneEvent gAltinPeak_Events1[]
Initial value:
= {
}
@ ABILITY_MIND_READ
Definition ability_ids.h:16
static void AltinPeak_FightRoom1Beast(void)
Talking to (or reading the mind of) a room's water beast starts its battle; afterwards the party retu...
Definition altin_peak.c:339
@ ACTOR_ROOM1_BEAST
Definition altin_peak.c:104
static void AltinPeak_ShowFirstBeastRoute(void)
Stepping near room 1's water beast the first time: the camera finds it, it cries out and hops away ar...
static void AltinPeak_ShowSecondBeastRoute(void)
Stepping near the beast again: it hops back over the ice and settles down, spitting water.
@ EVENT_TOUCH
@ EVENT_EXIT
@ EVENT_TALK
#define PSYNERGY_ON_ACTOR(ability)
#define EVENT_SCRIPT(script)
#define FLAG_ALTIN_PEAK_SECOND_BEAST_ROUTE_SEEN
Definition flags.h:154
#define FLAG_ALTIN_PEAK_FIRST_BEAST_ROUTE_SEEN
Room 1's water beast has been seen hopping along its first and its second route.
Definition flags.h:153

Definition at line 2824 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events1Drained

struct SceneEvent gAltinPeak_Events1Drained[]
Initial value:
= {
}
@ ABILITY_FROST
Definition ability_ids.h:11
@ FLAG_SECOND_PUDDLE_FROZEN
Frost has frozen room 1's wide puddle or room 7's second.
Definition altin_peak.c:142
@ ACTOR_ROOM1_PUDDLE
Definition altin_peak.c:102
@ ACTOR_ROOM1_WIDE_PUDDLE
Definition altin_peak.c:103
static void AltinPeak_FreezeRoom1WidePuddle(void)
Frost on room 1's wide puddle, three cells across: the cells take the ice's attributes and the ice is...
Definition altin_peak.c:399
static void AltinPeak_FreezeRoom1Puddle(void)
Frost on a puddle freezes it into an ice pillar the party can stand on: the puddle's cell takes the p...
Definition altin_peak.c:384

Definition at line 2834 of file altin_peak.c.

Referenced by AltinPeak_AwardFrostJewelAndDrain(), and Scene_GetEvents().

◆ gAltinPeak_Events2

struct SceneEvent gAltinPeak_Events2[]
Initial value:

Definition at line 2842 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events3

struct SceneEvent gAltinPeak_Events3[]
Initial value:
= {
}
@ ABILITY_LIFT
Definition ability_ids.h:18
@ ACTOR_ROOM3_BEAST
Definition altin_peak.c:107
@ ACTOR_ROOM3_BOULDER
Definition altin_peak.c:107
@ ACTOR_LOG
Definition altin_peak.c:97
static void AltinPeak_FlipRoom3Switch(void)
Searching room 3's switch flips it. "You flipped the switch.".
Definition altin_peak.c:633
static void AltinPeak_FightRoom3Beast(void)
Definition altin_peak.c:345
static void AltinPeak_RideLog(s32 log)
Talking to a log: the party leader jumps onto it, and once the leader has landed on top the log rolls...
Definition altin_peak.c:302
#define FIND_ITEM(item)
@ SEARCH_UNNAMED
#define FLAG_ALTIN_PEAK_COOKIE
room 3's chest
Definition flags.h:157
@ ITEM_COOKIE
Definition item_ids.h:51
@ ITEM_HERB
Definition item_ids.h:40

Definition at line 2848 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events4

struct SceneEvent gAltinPeak_Events4[]
Initial value:

Definition at line 2865 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events5

struct SceneEvent gAltinPeak_Events5[]
Initial value:
= {
}
@ ACTOR_ROOM5_BEAST
Definition altin_peak.c:109
@ ACTOR_ROOM5_PUDDLE
Definition altin_peak.c:109
#define SEARCH_CHEST_FACING(facing)
A chest searched while facing the given way.
Definition altin_peak.c:150
static void AltinPeak_FlipRoom5Switch(void)
Searching room 5's switch flips it.
Definition altin_peak.c:657
static void AltinPeak_FightRoom5Beast(void)
Definition altin_peak.c:351
static void AltinPeak_FreezeRoom5Puddle(void)
Frost on room 5's puddle.
Definition altin_peak.c:425
@ FACING_NORTHEAST
Definition field_scene.h:33
@ FACING_SOUTHEAST
Definition field_scene.h:27
#define FLAG_ALTIN_PEAK_DRAGON_SHIELD
room 5's chest
Definition flags.h:158
@ ITEM_DRAGON_SHIELD
Definition item_ids.h:31

Definition at line 2876 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events6

struct SceneEvent gAltinPeak_Events6[]
Initial value:

Definition at line 2891 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events7

struct SceneEvent gAltinPeak_Events7[]
Initial value:
= {
}
@ ABILITY_MOVE
Definition ability_ids.h:15
static void AltinPeak_FreezeRoom7SecondPuddle(void)
Frost on room 7's second puddle.
Definition altin_peak.c:453
@ FLAG_THIRD_PUDDLE_FROZEN
Frost has frozen room 7's third puddle.
Definition altin_peak.c:144
static void AltinPeak_FlipRoom7Switch(void)
Searching room 7's switch flips it.
Definition altin_peak.c:687
static void AltinPeak_SettleRoom7Block(void)
Move on room 7's block: the cell it left becomes free again and the cell it now stands on (column 24 ...
Definition altin_peak.c:360
static void AltinPeak_FreezeRoom7Puddle(void)
Frost on room 7's first puddle.
Definition altin_peak.c:411
static void AltinPeak_RestoreBlockAutomaticPriority(void)
Stepping off room 7's block: it sorts against the leader again.
Definition altin_peak.c:712
@ ACTOR_ROOM7_SECOND_PUDDLE
Definition altin_peak.c:116
@ ACTOR_ROOM7_THIRD_PUDDLE
Definition altin_peak.c:117
@ ACTOR_ROOM7_PUDDLE
Definition altin_peak.c:114
@ ACTOR_ROOM7_BLOCK
Definition altin_peak.c:115
@ ACTOR_DJINNI
Definition altin_peak.c:118
static void AltinPeak_FreezeRoom7ThirdPuddle(void)
Frost on room 7's third puddle.
Definition altin_peak.c:467
static void AltinPeak_PushRoom7Block(void)
Walking east into room 7's block pushes it one cell along with a scrape; the leader follows it and it...
Definition altin_peak.c:718
static void AltinPeak_PlaceBlockUnderLeader(void)
Stepping onto room 7's block: it is drawn under the party leader.
Definition altin_peak.c:706
static void AltinPeak_TalkToDjinni(void)
Talking to the Djinni in room 7 makes it hop and starts the battle for Djinni 23.
Definition altin_peak.c:168
#define TOUCH_WALKING_INTO(facing)
#define FLAG_ALTIN_PEAK_PSY_CRYSTAL
room 7's chest
Definition flags.h:161
@ ITEM_PSY_CRYSTAL
Definition item_ids.h:46

Definition at line 2905 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events8

struct SceneEvent gAltinPeak_Events8[]
Initial value:

Definition at line 2927 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events9

struct SceneEvent gAltinPeak_Events9[]
Initial value:
= {
}
@ ABILITY_FORCE
Definition ability_ids.h:17
@ ACTOR_WALL
Definition altin_peak.c:129
static void AltinPeak_ForceRockOver(void)
Force on room 9's wall: it rumbles, the rock on it rocks one way and back, then topples with a crash,...
Definition altin_peak.c:736
static void AltinPeak_ReadFallingRockSign(void)
Searching room 9's sign, which can bring the rockfall.
Definition altin_peak.c:962
#define FLAG_ALTIN_PEAK_BOULDER_FALLEN
Room 9's boulder has fallen and rolled down after the party leader.
Definition flags.h:156

Definition at line 2939 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events10

struct SceneEvent gAltinPeak_Events10[]
Initial value:
= {
}
static void AltinPeak_StartHydrosBattle(void)
Stepping toward room 10's guardian statue: the leader walks up to it, it rumbles and slides forward,...
#define FLAG_ALTIN_PEAK_LIFTING_GEM
room 10's chest
Definition flags.h:162
#define FLAG_HYDROS_STATUES_DEFEATED
Definition flags.h:118
@ ITEM_LIFTING_GEM
Definition item_ids.h:58

Definition at line 2952 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_Events11

struct SceneEvent gAltinPeak_Events11[]
Initial value:

Definition at line 2960 of file altin_peak.c.

Referenced by Scene_GetEvents().

◆ gAltinPeak_RumbleTicks

s32 gAltinPeak_RumbleTicks = 0

Frames since the statue's last rumble.

Definition at line 2973 of file altin_peak.c.

Referenced by AltinPeak_PlayHydrosRumble().

◆ gAltinPeak_RollRadii

u32 gAltinPeak_RollRadii[]
Initial value:
= {
0x10000, 0x10b55, 0x1172b, 0x12387, 0x1306f, 0x13dea, 0x14bfd,
0x15ab0, 0x16a09, 0x17a11, 0x18ace, 0x19c49, 0x1ae89, 0x1c199,
0x1d581, 0x1ea4b, 0x20000, 0x216ab, 0x22e56, 0x2470f, 0x260df,
0x27bd4, 0x297fb, 0x2b560, 0x2d413, 0x2f422, 0x3159c, 0x33892,
0x35d13, 0x38333, 0x3ab03, 0x3d495, 0x40000,
}

The log's speed factor by its height against where it set off: 2 to the power i / 16 for i from 0 to 32, in 16.16.

Definition at line 2977 of file altin_peak.c.

Referenced by AltinPeak_AdvanceLog().