Alchemy
Loading...
Searching...
No Matches

colosso_river.c File Reference

A Colosso finals course: Isaac races another warrior through the Rock Challenge, the Pipeworks, the Broken Bridge and the Lumber Water Crossing Area to the arena, where the two fight. More...

Go to the source code of this file.

Macros

#define COLOSSO_RIVER_FACE_DIRECTION   ((s32 (*)())Engine_ActorFaceDirection)
#define COLOSSO_RIVER_PLACE_STAGED_PAIR   ((s32 (*)())ColossoRiver_MoveActorPairByOffset)
#define COLOSSO_RIVER_SELECT_MODE_BLOCK   ((s32 (*)())ColossoRiver_SelectPresentationScript)
#define COLOSSO_RIVER_APPLY_MATCHING_SLOT_VALUES   ((s32 (*)(s32, s32))Scene_GiveAndEquipItem)
#define DIRECTION_STEP(x, z)
 Pixel steps by direction: X in the upper halfword, Z in the lower.

Typedefs

typedef void(*) SceneTask(void)

Enumerations

enum  {
  OPPONENT = 8 , ROCK_A = 9 , ROCK_B = 10 , ROCK_C = 11 ,
  PIPEWORKS_BLOCK = 12 , PIPE_WEST = 13 , PIPE_EAST = 14 , GROWTH_PLANT = 15 ,
  BRIDGE_OPERATOR = 16 , LOG_NORTH_SOUTH = 17 , LOG_EAST_WEST = 18 , GUIDE = 19 ,
  ROCK_ATTENDANT = 20 , PIPEWORKS_ATTENDANT = 21 , BRIDGE_ATTENDANT = 22 , LUMBER_ATTENDANT = 23 ,
  PRIZE_A = 24 , PRIZE_B = 25
}
 The course's actors, by the guide's and attendants' explanations: four stages (the Rock Challenge, the Pipeworks, the Broken Bridge and the Lumber Water Crossing Area) lead to the arena where the two warriors fight. More...

Functions

static void ColossoRiver_ExplainFinalsRules (s32 guide)
 The guide shows the party the first finals course: the race through the stages to the arena, the prizes there, and where the companions cheer from.
static void ColossoRiver_ShowRoundIntroduction (s32 round)
 The match opens: portraits of the warriors and the round announced.
static void ColossoRiver_ShowMatchResult (s32 result)
 The result: the winner's portrait and fanfare, then the course closes.
static void ColossoRiver_NoOp (void)
static void ColossoRiver_WaitForStageReady (void)
 Waits until the stage's setup task reports readiness.
static s32 ColossoRiver_CollectFinishItem (s32 firstItem, s32 secondItem)
 Moves to the selected finish item and presents it to the party.
static void ColossoRiver_PushObjectAhead (void)
 Checks the next cell and pushes its object one step if clear.
const struct SceneEntrance * ColossoRiver_GetEntrances (void)
const struct SceneRegion * ColossoRiver_GetRegions (void)
const u32 * ColossoRiver_GetExits (void)
const struct ScenePlacement * ColossoRiver_GetPlacements (void)
static void ColossoRiver_UpdateBrokenBridge (void)
 Advances the bridge animation and its walkable collision cells.
static void ColossoRiver_ResetBrokenBridge (void)
 Stops the bridge task and restores its closed frame.
static void ColossoRiver_StartBrokenBridge (void)
 Starts the bridge's repeating opening sequence.
static void ColossoRiver_WaitForBridgeOpening (void)
 Waits for the crossing window, bounded by one bridge cycle.
static void Event_SettleRocks (void)
 After a rock is moved: a rock resting on the floor becomes a step (the second rock's column is kept in byte flag 0x310).
static void Event_PushRock (void)
 Walking into a rock pushes it one cell.
static void Event_GrowPlant (void)
 Growth on the plant: it grows and its cell becomes walkable (0x303 keeps it grown).
static void Event_DousePipe (void)
 Douse on the west pipe: the camera turns to the Pipeworks and the two pipes rise as it fills (0x301).
static void ColossoRiver_MoveActorPairByOffset (s32 actorId, s32 dx, s32 dz)
 Moves the leader and a course object together between cell centers.
static void Event_RollLogNorthSouth (void)
 Walking into the north-south log rolls it, with the leader, to the other bank.
static void Event_RollLogEastWest (void)
 Walking into the east-west log rolls it, with the leader, the way the pad is held.
static void ColossoRiver_AnimatePipeworksWater (void)
 Runs the five frames that show water entering the Pipeworks channel.
static void Event_PushPipeworksBlock (void)
 Pushing the Pipeworks block west: water runs into the channel, and the first time the pipes rise (0x302, 0x301).
static UNUSED void ColossoRiver_SetCourseFlag (void)
static void Event_ReachArena (void)
 Reaching the arena: the leader takes a prize (the Iron Shield if first, the Padded Gloves if second), and he and his opponent face off and fight.
static void Event_PushRockOrCheckAhead (void)
 Walking into something: a rock is pushed, anything else is checked.
const struct SceneEvent * ColossoRiver_GetEvents (void)
static void ColossoRiver_RestoreMatchResult (s32 result)
 Back from the battle: the two warriors stand in the arena as the result is shown.
static void ColossoRiver_MarkCourseTerrain (s32 actor)
 Marks actors standing in the course's finish terrain.
s32 ColossoRiver_Initialize (void)
 Restores the stages as they were left, then by the arrival: the race (1 and 2), the guide's explanation (3), or the match won (4) or lost (5).
static void Event_TalkToRockAttendant (s32 scene)
 The Rock Challenge's attendant: the first time, a warrior shows how to push the rocks into steps; then the objective.
static void ColossoRiver_SetPipeHeight (struct FieldActor *actor, s32 height)
 Moves a Pipeworks actor with the speed used throughout its demonstration.
static void Event_TalkToPipeworksAttendant (s32 attendant)
 The Pipeworks' attendant: a marker shows how the pipes rise and fall like scales; then the objective.
static void Event_TalkToBridgeAttendant (s32 scene)
 The Broken Bridge's attendant: a warrior times his crossing; then the objective.
static void Event_TalkToLumberAttendant (s32 scene)
 The Lumber Water Crossing Area's attendant: a warrior rolls a log across; then the objective.
static void InitializeActorZero (void)
 Sets the leader's movement speed for the shared Colosso dialogue.
static void InitializeSelectedActor (s32 actorId)
 Sets an attendant's movement speed for the shared Colosso dialogue.
static __inline__ void AdvanceMessage (s32 amount)
 Advances to the next message in the current explanation.
static void ColossoRiver_SelectPresentationScript (u32 mode, u32 param)
 Selects a presentation script and resets its playback state.
static UNUSED void Text_WriteU32AsHex (u8 *buf, u32 value)
 Writes eight hexadecimal digits and a terminating null.
static UNUSED void ColossoRiver_MarkStageReady (void)
 Marks the shared stage state ready for the waiting event.
static void ColossoRiver_SpawnRandomEffect (union FieldObject *fieldObject)
 Occasionally spawns an animated effect around the finish item.
static s32 ColossoRiver_PlaceFinishItemAboveActor (struct ScriptInterpreter *interpreter)
 Presents the collected item above its collector and signals completion.

Variables

const u8 gColosso_LetteringPaletteOffsets []
const s16 gColossoRiver_ModeRecordTwo []
const s16 gColossoRiver_SpanB []
char gHexDigits [20] = "0123456789ABCDEF"
s32 gColossoRiver_ScriptA []
s32 gColossoRiver_ScriptB []
u32 gColossoRiver_DirectionSteps []
struct SceneEntrance gColossoRiver_Entrances []
u32 gColossoRiver_Exits []
struct ScenePlacement gColossoRiver_Placements []
s32 gColossoRiver_Countdown = 0
struct SceneEvent gColossoRiver_Events []
s16 gColosso_LetteringSlot = -1
s16 gColossoRiver_RoundSpans []
s16 gColossoRiver_ModeRecordFour []
s16 gColossoRiver_SpanA []
s16 gColosso_MarkerSlot = -1
s32 gColosso_RivalFinishScript []
s32 gColossoRiver_ApproachScript []

Detailed Description

A Colosso finals course: Isaac races another warrior through the Rock Challenge, the Pipeworks, the Broken Bridge and the Lumber Water Crossing Area to the arena, where the two fight.

Definition in file colosso_river.c.

Macro Definition Documentation

◆ COLOSSO_RIVER_FACE_DIRECTION

#define COLOSSO_RIVER_FACE_DIRECTION   ((s32 (*)())Engine_ActorFaceDirection)

Definition at line 70 of file colosso_river.c.

Referenced by Event_TalkToBridgeAttendant().

◆ COLOSSO_RIVER_PLACE_STAGED_PAIR

#define COLOSSO_RIVER_PLACE_STAGED_PAIR   ((s32 (*)())ColossoRiver_MoveActorPairByOffset)

Definition at line 71 of file colosso_river.c.

Referenced by Event_TalkToLumberAttendant().

◆ COLOSSO_RIVER_SELECT_MODE_BLOCK

#define COLOSSO_RIVER_SELECT_MODE_BLOCK   ((s32 (*)())ColossoRiver_SelectPresentationScript)

Definition at line 73 of file colosso_river.c.

Referenced by ColossoRiver_ShowMatchResult().

◆ COLOSSO_RIVER_APPLY_MATCHING_SLOT_VALUES

#define COLOSSO_RIVER_APPLY_MATCHING_SLOT_VALUES   ((s32 (*)(s32, s32))Scene_GiveAndEquipItem)

Definition at line 75 of file colosso_river.c.

Referenced by ColossoRiver_CollectFinishItem().

◆ DIRECTION_STEP

#define DIRECTION_STEP ( x,
z )
Value:
((u32)(x) << 16 | (u16)(z))
unsigned int u32
Definition types.h:15
unsigned short u16
Definition types.h:13

Pixel steps by direction: X in the upper halfword, Z in the lower.

Definition at line 1497 of file colosso_river.c.

Typedef Documentation

◆ SceneTask

typedef void(*) SceneTask(void)

Definition at line 87 of file colosso_river.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

The course's actors, by the guide's and attendants' explanations: four stages (the Rock Challenge, the Pipeworks, the Broken Bridge and the Lumber Water Crossing Area) lead to the arena where the two warriors fight.

Enumerator
OPPONENT 

the warrior racing Isaac to the arena

ROCK_A 

the Rock Challenge's three rocks

ROCK_B 
ROCK_C 
PIPEWORKS_BLOCK 

pushed west to let water into the Pipeworks

PIPE_WEST 

the Pipeworks' two pipes, a kind of scale

PIPE_EAST 
GROWTH_PLANT 
BRIDGE_OPERATOR 

works the Broken Bridge

LOG_NORTH_SOUTH 

the Lumber Water Crossing Area's two logs

LOG_EAST_WEST 
GUIDE 

explains the finals

ROCK_ATTENDANT 
PIPEWORKS_ATTENDANT 
BRIDGE_ATTENDANT 
LUMBER_ATTENDANT 
PRIZE_A 

the arena's Iron Shield and Padded Gloves

PRIZE_B 

Definition at line 92 of file colosso_river.c.

Function Documentation

◆ ColossoRiver_ExplainFinalsRules()

void ColossoRiver_ExplainFinalsRules ( s32 guide)
static

The guide shows the party the first finals course: the race through the stages to the arena, the prizes there, and where the companions cheer from.

Definition at line 683 of file colosso_river.c.

Referenced by ColossoRiver_ExplainFinalsRules(), and ColossoRiver_Initialize().

◆ ColossoRiver_ShowRoundIntroduction()

void ColossoRiver_ShowRoundIntroduction ( s32 round)
static

The match opens: portraits of the warriors and the round announced.

Definition at line 1095 of file colosso_river.c.

Referenced by ColossoRiver_Initialize(), and ColossoRiver_ShowRoundIntroduction().

◆ ColossoRiver_ShowMatchResult()

void ColossoRiver_ShowMatchResult ( s32 result)
static

The result: the winner's portrait and fanfare, then the course closes.

Definition at line 1142 of file colosso_river.c.

Referenced by ColossoRiver_RestoreMatchResult(), and ColossoRiver_ShowMatchResult().

◆ ColossoRiver_NoOp()

void ColossoRiver_NoOp ( void )
static

Definition at line 1202 of file colosso_river.c.

Referenced by ColossoRiver_NoOp(), and Event_ReachArena().

◆ ColossoRiver_WaitForStageReady()

void ColossoRiver_WaitForStageReady ( void )
static

Waits until the stage's setup task reports readiness.

Definition at line 1213 of file colosso_river.c.

Referenced by ColossoRiver_WaitForStageReady(), and Event_ReachArena().

◆ ColossoRiver_CollectFinishItem()

s32 ColossoRiver_CollectFinishItem ( s32 firstItem,
s32 secondItem )
static

Moves to the selected finish item and presents it to the party.

Definition at line 1273 of file colosso_river.c.

Referenced by ColossoRiver_CollectFinishItem(), and Event_ReachArena().

◆ ColossoRiver_PushObjectAhead()

void ColossoRiver_PushObjectAhead ( void )
static

Checks the next cell and pushes its object one step if clear.

Definition at line 1341 of file colosso_river.c.

Referenced by ColossoRiver_PushObjectAhead(), Event_PushRock(), and Event_TalkToRockAttendant().

◆ ColossoRiver_GetEntrances()

const struct SceneEntrance * ColossoRiver_GetEntrances ( void )

Definition at line 113 of file colosso_river.c.

Referenced by ColossoRiver_GetEntrances().

◆ ColossoRiver_GetRegions()

const struct SceneRegion * ColossoRiver_GetRegions ( void )

Definition at line 117 of file colosso_river.c.

Referenced by ColossoRiver_GetRegions().

◆ ColossoRiver_GetExits()

const u32 * ColossoRiver_GetExits ( void )

Definition at line 119 of file colosso_river.c.

Referenced by ColossoRiver_GetExits().

◆ ColossoRiver_GetPlacements()

const struct ScenePlacement * ColossoRiver_GetPlacements ( void )

Definition at line 121 of file colosso_river.c.

Referenced by ColossoRiver_GetPlacements().

◆ ColossoRiver_UpdateBrokenBridge()

void ColossoRiver_UpdateBrokenBridge ( void )
static

Advances the bridge animation and its walkable collision cells.

Definition at line 126 of file colosso_river.c.

Referenced by ColossoRiver_Initialize(), ColossoRiver_ResetBrokenBridge(), ColossoRiver_StartBrokenBridge(), and ColossoRiver_UpdateBrokenBridge().

◆ ColossoRiver_ResetBrokenBridge()

void ColossoRiver_ResetBrokenBridge ( void )
static

Stops the bridge task and restores its closed frame.

Definition at line 156 of file colosso_river.c.

Referenced by ColossoRiver_ResetBrokenBridge(), and Event_TalkToBridgeAttendant().

◆ ColossoRiver_StartBrokenBridge()

void ColossoRiver_StartBrokenBridge ( void )
static

Starts the bridge's repeating opening sequence.

Definition at line 166 of file colosso_river.c.

Referenced by ColossoRiver_StartBrokenBridge(), and Event_TalkToBridgeAttendant().

◆ ColossoRiver_WaitForBridgeOpening()

void ColossoRiver_WaitForBridgeOpening ( void )
static

Waits for the crossing window, bounded by one bridge cycle.

Definition at line 172 of file colosso_river.c.

Referenced by ColossoRiver_WaitForBridgeOpening(), and Event_TalkToBridgeAttendant().

◆ Event_SettleRocks()

void Event_SettleRocks ( void )
static

After a rock is moved: a rock resting on the floor becomes a step (the second rock's column is kept in byte flag 0x310).

Definition at line 190 of file colosso_river.c.

◆ Event_PushRock()

void Event_PushRock ( void )
static

Walking into a rock pushes it one cell.

Definition at line 223 of file colosso_river.c.

◆ Event_GrowPlant()

void Event_GrowPlant ( void )
static

Growth on the plant: it grows and its cell becomes walkable (0x303 keeps it grown).

Definition at line 231 of file colosso_river.c.

◆ Event_DousePipe()

void Event_DousePipe ( void )
static

Douse on the west pipe: the camera turns to the Pipeworks and the two pipes rise as it fills (0x301).

Definition at line 241 of file colosso_river.c.

Referenced by Event_DousePipe().

◆ ColossoRiver_MoveActorPairByOffset()

void ColossoRiver_MoveActorPairByOffset ( s32 actorId,
s32 dx,
s32 dz )
static

Moves the leader and a course object together between cell centers.

Definition at line 269 of file colosso_river.c.

Referenced by ColossoRiver_MoveActorPairByOffset(), Event_RollLogEastWest(), and Event_RollLogNorthSouth().

◆ Event_RollLogNorthSouth()

void Event_RollLogNorthSouth ( void )
static

Walking into the north-south log rolls it, with the leader, to the other bank.

Definition at line 309 of file colosso_river.c.

Referenced by Event_RollLogNorthSouth().

◆ Event_RollLogEastWest()

void Event_RollLogEastWest ( void )
static

Walking into the east-west log rolls it, with the leader, the way the pad is held.

Definition at line 329 of file colosso_river.c.

Referenced by Event_RollLogEastWest().

◆ ColossoRiver_AnimatePipeworksWater()

void ColossoRiver_AnimatePipeworksWater ( void )
inlinestatic

Runs the five frames that show water entering the Pipeworks channel.

Definition at line 371 of file colosso_river.c.

Referenced by ColossoRiver_AnimatePipeworksWater(), and Event_PushPipeworksBlock().

◆ Event_PushPipeworksBlock()

void Event_PushPipeworksBlock ( void )
static

Pushing the Pipeworks block west: water runs into the channel, and the first time the pipes rise (0x302, 0x301).

Definition at line 385 of file colosso_river.c.

Referenced by Event_PushPipeworksBlock().

◆ ColossoRiver_SetCourseFlag()

UNUSED void ColossoRiver_SetCourseFlag ( void )
static

Definition at line 458 of file colosso_river.c.

Referenced by ColossoRiver_SetCourseFlag().

◆ Event_ReachArena()

void Event_ReachArena ( void )
static

Reaching the arena: the leader takes a prize (the Iron Shield if first, the Padded Gloves if second), and he and his opponent face off and fight.

FLAG_SCENE_TEMP_11 says the arena was already reached; the arena's touch works while FLAG_SCENE_TEMP_10 is clear.

Definition at line 464 of file colosso_river.c.

◆ Event_PushRockOrCheckAhead()

void Event_PushRockOrCheckAhead ( void )
static

Walking into something: a rock is pushed, anything else is checked.

Definition at line 507 of file colosso_river.c.

Referenced by Event_PushRockOrCheckAhead().

◆ ColossoRiver_GetEvents()

const struct SceneEvent * ColossoRiver_GetEvents ( void )

Definition at line 516 of file colosso_river.c.

Referenced by ColossoRiver_GetEvents().

◆ ColossoRiver_RestoreMatchResult()

void ColossoRiver_RestoreMatchResult ( s32 result)
static

Back from the battle: the two warriors stand in the arena as the result is shown.

Definition at line 522 of file colosso_river.c.

Referenced by ColossoRiver_Initialize(), and ColossoRiver_RestoreMatchResult().

◆ ColossoRiver_MarkCourseTerrain()

void ColossoRiver_MarkCourseTerrain ( s32 actor)
static

Marks actors standing in the course's finish terrain.

Definition at line 546 of file colosso_river.c.

Referenced by ColossoRiver_Initialize(), and ColossoRiver_MarkCourseTerrain().

◆ ColossoRiver_Initialize()

s32 ColossoRiver_Initialize ( void )

Restores the stages as they were left, then by the arrival: the race (1 and 2), the guide's explanation (3), or the match won (4) or lost (5).

Definition at line 563 of file colosso_river.c.

Referenced by ColossoRiver_Initialize().

◆ Event_TalkToRockAttendant()

void Event_TalkToRockAttendant ( s32 scene)
static

The Rock Challenge's attendant: the first time, a warrior shows how to push the rocks into steps; then the objective.

Definition at line 815 of file colosso_river.c.

Referenced by Event_TalkToRockAttendant().

◆ ColossoRiver_SetPipeHeight()

void ColossoRiver_SetPipeHeight ( struct FieldActor * actor,
s32 height )
inlinestatic

Moves a Pipeworks actor with the speed used throughout its demonstration.

Definition at line 873 of file colosso_river.c.

Referenced by ColossoRiver_SetPipeHeight(), and Event_TalkToPipeworksAttendant().

◆ Event_TalkToPipeworksAttendant()

void Event_TalkToPipeworksAttendant ( s32 attendant)
static

The Pipeworks' attendant: a marker shows how the pipes rise and fall like scales; then the objective.

Definition at line 883 of file colosso_river.c.

Referenced by Event_TalkToPipeworksAttendant().

◆ Event_TalkToBridgeAttendant()

void Event_TalkToBridgeAttendant ( s32 scene)
static

The Broken Bridge's attendant: a warrior times his crossing; then the objective.

Definition at line 945 of file colosso_river.c.

Referenced by Event_TalkToBridgeAttendant().

◆ Event_TalkToLumberAttendant()

void Event_TalkToLumberAttendant ( s32 scene)
static

The Lumber Water Crossing Area's attendant: a warrior rolls a log across; then the objective.

Definition at line 989 of file colosso_river.c.

Referenced by Event_TalkToLumberAttendant().

◆ InitializeActorZero()

void InitializeActorZero ( void )
inlinestatic

Sets the leader's movement speed for the shared Colosso dialogue.

Definition at line 1045 of file colosso_river.c.

◆ InitializeSelectedActor()

void InitializeSelectedActor ( s32 actorId)
inlinestatic

Sets an attendant's movement speed for the shared Colosso dialogue.

Definition at line 1050 of file colosso_river.c.

◆ AdvanceMessage()

__inline__ void AdvanceMessage ( s32 amount)
static

Advances to the next message in the current explanation.

Definition at line 1055 of file colosso_river.c.

Referenced by AdvanceMessage().

◆ ColossoRiver_SelectPresentationScript()

void ColossoRiver_SelectPresentationScript ( u32 mode,
u32 param )
static

Selects a presentation script and resets its playback state.

Definition at line 1064 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript(), and ColossoRiver_ShowRoundIntroduction().

◆ Text_WriteU32AsHex()

UNUSED void Text_WriteU32AsHex ( u8 * buf,
u32 value )
static

Writes eight hexadecimal digits and a terminating null.

Definition at line 1189 of file colosso_river.c.

Referenced by Text_WriteU32AsHex(), and Text_WriteU32AsHex().

◆ ColossoRiver_MarkStageReady()

UNUSED void ColossoRiver_MarkStageReady ( void )
static

Marks the shared stage state ready for the waiting event.

Definition at line 1205 of file colosso_river.c.

Referenced by ColossoRiver_MarkStageReady().

◆ ColossoRiver_SpawnRandomEffect()

void ColossoRiver_SpawnRandomEffect ( union FieldObject * fieldObject)
static

Occasionally spawns an animated effect around the finish item.

Definition at line 1222 of file colosso_river.c.

Referenced by ColossoRiver_SpawnRandomEffect().

◆ ColossoRiver_PlaceFinishItemAboveActor()

s32 ColossoRiver_PlaceFinishItemAboveActor ( struct ScriptInterpreter * interpreter)
static

Presents the collected item above its collector and signals completion.

Definition at line 1259 of file colosso_river.c.

Referenced by ColossoRiver_PlaceFinishItemAboveActor().

Variable Documentation

◆ gColosso_LetteringPaletteOffsets

const u8 gColosso_LetteringPaletteOffsets[]
Initial value:
= {
0, 32, 32, 32, 96, 64, 64, 64, 128, 0,
}

Definition at line 1427 of file colosso_river.c.

◆ gColossoRiver_ModeRecordTwo

const s16 gColossoRiver_ModeRecordTwo[]
Initial value:
= {
0x1000, 512, 1, 0x2000, 0, 1, 0x1000, 256,
6, 0x2000, 16, 6, 0x7fff, 30, 0x2000, 0,
30, 0x7fff, 30, -1,
}

Definition at line 1435 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript().

◆ gColossoRiver_SpanB

const s16 gColossoRiver_SpanB[]
Initial value:
= {
0x1000, 128, 1, 0x2000, 0, 1, 0x1000, 256,
6, 0x2000, 16, 6, 0x7fff, 60, 0x1000, 384,
6, 0x7fff, 6, 0x1000, 240, 6, 0x7fff, 6,
0x1000, 368, 6, 0x7fff, 6, 0x1000, 224, 6,
0x7fff, 6, 0x2000, 0, 30, 0x1000, 352, 6,
0x7fff, 6, 0x1000, 208, 6, 0x7fff, 6, 0x1000,
336, 6, 0x7fff, 6, 0x1000, 192, 6, 0x7fff,
6, 0x1000, 320, 6, 0x7fff, 6, -1,
}

Definition at line 1441 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript(), and ColossoRiver_ShowMatchResult().

◆ gHexDigits

char gHexDigits[20] = "0123456789ABCDEF"

Definition at line 1452 of file colosso_river.c.

Referenced by Text_WriteU32AsHex(), and Text_WriteU32AsHex().

◆ gColossoRiver_ScriptA

s32 gColossoRiver_ScriptA[]
Initial value:
= {
SC_ADD(SW_Y, -PIXELS(1) / 4),
SC_WAIT(1),
}
#define PIXELS(value)
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_FREE
Release.
Definition objcmd.h:43
#define SC_ADD(w, v)
Definition objcmd.h:38
#define SC_WAIT(n)
Wait n frames.
Definition objcmd.h:16
#define SC_TOP
Script start.
Definition objcmd.h:13
@ SW_Y
Definition objcmd.h:59

Definition at line 1454 of file colosso_river.c.

Referenced by ColossoRiver_SpawnRandomEffect().

◆ gColossoRiver_ScriptB

s32 gColossoRiver_ScriptB[]

Definition at line 1461 of file colosso_river.c.

Referenced by ColossoRiver_PlaceFinishItemAboveActor().

◆ gColossoRiver_DirectionSteps

u32 gColossoRiver_DirectionSteps[]
Initial value:
= {
DIRECTION_STEP(-16, 0),
DIRECTION_STEP(-16, 0),
DIRECTION_STEP(-16, 0),
DIRECTION_STEP(-16, 0),
DIRECTION_STEP(0, -16),
DIRECTION_STEP(0, -16),
DIRECTION_STEP(0, -16),
DIRECTION_STEP(0, -16),
}
#define DIRECTION_STEP(dx, dz)
Pixel step by direction: X in the upper halfword, Z in the lower.

Definition at line 1499 of file colosso_river.c.

Referenced by ColossoRiver_PushObjectAhead().

◆ gColossoRiver_Entrances

struct SceneEntrance gColossoRiver_Entrances[]
Initial value:
= {
{ 0, CONDITION_ALWAYS, 920, 0, 200, FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
{ 1, CONDITION_ALWAYS, 312, 0, 104, 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 1518 of file colosso_river.c.

Referenced by ColossoRiver_GetEntrances().

◆ gColossoRiver_Exits

u32 gColossoRiver_Exits[]
Initial value:
= {
SCENE_EXIT(10, 143, 1),
SCENE_EXIT(11, 140, 12),
SCENE_EXIT(4, 140, 21),
SCENE_EXIT(5, 138, 98),
}
#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 1524 of file colosso_river.c.

Referenced by ColossoRiver_GetExits().

◆ gColossoRiver_Placements

struct ScenePlacement gColossoRiver_Placements[]

Definition at line 1533 of file colosso_river.c.

Referenced by ColossoRiver_GetPlacements().

◆ gColossoRiver_Countdown

◆ gColossoRiver_Events

struct SceneEvent gColossoRiver_Events[]

Definition at line 1583 of file colosso_river.c.

Referenced by ColossoRiver_GetEvents().

◆ gColosso_LetteringSlot

s16 gColosso_LetteringSlot = -1

Definition at line 1615 of file colosso_river.c.

◆ gColossoRiver_RoundSpans

s16 gColossoRiver_RoundSpans[]
Initial value:
= {
0x4000, -188, 2048, 0x1000, 384, 1, 0x2000, 16,
1, 0x7fff, 14, 0x3000, 0, 20, 0x7fff, 60,
0x3000, 2048, 20, 0x7fff, 60, -1,
}

Definition at line 1617 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript(), and ColossoRiver_ShowRoundIntroduction().

◆ gColossoRiver_ModeRecordFour

s16 gColossoRiver_ModeRecordFour[]
Initial value:
= {
0x1000, 512, 1, 0x2000, 0, 1, 0x1000, 256,
6, 0x2000, 16, 6, 0x7fff, 6, 0x1000, 384,
6, 0x7fff, 6, 0x1000, 256, 6, 0x7fff, 6,
0x1000, 384, 6, 0x7fff, 6, 0x1000, 256, 6,
0x7fff, 6, 0x2000, 0, 30, 0x1000, 384, 6,
0x7fff, 6, 0x1000, 256, 6, 0x7fff, 6, 0x1000,
384, 6, 0x7fff, 6, 0x1000, 256, 6, 0x7fff,
6, 0x1000, 384, 6, 0x7fff, 6, -1,
}

Definition at line 1627 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript().

◆ gColossoRiver_SpanA

s16 gColossoRiver_SpanA[]
Initial value:
= {
0x1000, 128, 1, 0x2000, 0, 1, 0x1000, 256,
6, 0x2000, 16, 6, 0x7fff, 60, 0x1000, 384,
6, 0x7fff, 6, 0x1000, 272, 6, 0x7fff, 6,
0x1000, 400, 6, 0x7fff, 6, 0x1000, 288, 6,
0x7fff, 6, 0x2000, 0, 30, 0x1000, 416, 6,
0x7fff, 6, 0x1000, 304, 6, 0x7fff, 6, 0x1000,
432, 6, 0x7fff, 6, 0x1000, 320, 6, 0x7fff,
6, 0x1000, 448, 6, 0x7fff, 6, -1,
}

Definition at line 1658 of file colosso_river.c.

Referenced by ColossoRiver_SelectPresentationScript(), and ColossoRiver_ShowMatchResult().

◆ gColosso_MarkerSlot

s16 gColosso_MarkerSlot = -1

Definition at line 1670 of file colosso_river.c.

◆ gColosso_RivalFinishScript

s32 gColosso_RivalFinishScript[]
Initial value:
= {
SC_ARG(2),
SC_ARG(1),
SC_WAIT(6),
SC_WAIT(3),
SC_ARG(10),
SC_WAIT(150),
SC_ARG(1),
}
static s32 ColossoRiver_PlaceFinishItemAboveActor(struct ScriptInterpreter *interpreter)
Presents the collected item above its collector and signals completion.
#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_ARG(v)
Definition objcmd.h:44
#define SC_END
Return to the main script.
Definition objcmd.h:32
@ SW_FACING
Definition objcmd.h:57
#define SC_CALL(fn)
Definition objcmd.h:50

Definition at line 1672 of file colosso_river.c.

◆ gColossoRiver_ApproachScript

s32 gColossoRiver_ApproachScript[]