Alchemy
Loading...
Searching...
No Matches

colosso_log.c File Reference

Colosso's third finals course: Isaac races another warrior through the Scales of Justice, the Stepping-Stone Stage, the Wall Wedge, the Free-Climb Area, the Moving Sidewalk Stage and a log-rolling area to the arena. More...

Go to the source code of this file.

Macros

#define COLOSSO_LOG_FACE_DIRECTION   ((s32 (*)())Engine_ActorFaceDirection)
#define COLOSSO_LOG_INITIALIZE_MODE_TASK   ((s32 (*)())ColossoLogRollingStage_InitializeModeTask)
#define COLOSSO_LOG_APPLY_MATCHING_SLOT_VALUES   ((s32 (*)())Scene_GiveAndEquipItem)
#define DIRECTION_STEP(x, z)
 Pixel step by direction: X in the upper halfword, Z in the lower.

Typedefs

typedef void(*) SceneTaskEntry(void)

Enumerations

enum  {
  OPPONENT = 8 , FROST_TARGET = 9 , SCALE_PAN_WEST = 10 , SCALE_PAN_EAST = 11 ,
  SCALE_WEIGHT = 12 , STONE = 13 , WALL_OPERATOR = 28 , GROWTH_PLANT = 29 ,
  SIDEWALK_BLOCK = 30 , LONG_LOG = 31 , GUIDE = 32 , SCALES_ATTENDANT = 33 ,
  STEPPING_STONE_ATTENDANT = 34 , WALL_WEDGE_ATTENDANT = 35 , FREE_CLIMB_ATTENDANT = 36 , MOVING_SIDEWALK_ATTENDANT = 37 ,
  LOG_ROLLING_ATTENDANT = 38 , PRIZE_A = 39 , PRIZE_B = 40
}
 The third course's actors, by the guide's and attendants' explanations: the Scales of Justice, the Stepping-Stone Stage, the Wall Wedge, the Free-Climb Area, the Moving Sidewalk Stage and another log-rolling area lead to the arena. More...

Functions

static void ColossoLog_PlayPostBattleReunion (s32 battleResult)
 Reunites the party after the battle and plays the resting conversation.
static void ColossoLog_IntroduceFinalCourse (s32 guideId)
 Stages the party behind the guide for the introduction to the third finals.
static void ColossoLogRollingStage_RunScriptedTransition (s32 mode)
 Plays the countdown portraits and the start-of-race transition.
static void ColossoLogRollingStage_NoopSceneHook (void)
static void ColossoLog_WaitForRivalToFinish (void)
 Waits until the rival path recorder reaches its finished mode.
static s32 ColossoLog_CollectFinishEquipment (s32 firstItem, s32 secondItem)
 Moves to the available finish item, equips it and announces it.
static void ColossoLog_PushActorAhead (void)
 Pushes a neighboring actor one cell when its destination and overhead are clear.
static void InitializeActorZero (void)
 Sets the leader speed for the shared solo-party placement routine.
static void InitializeSelectedActor (s32 actorId)
 Sets a companion speed for the shared solo-party placement routine.
const struct SceneEntrance * ColossoLog_GetEntrances (void)
const struct SceneRegion * ColossoLog_GetRegions (void)
const u32 * ColossoLog_GetExits (void)
const struct ScenePlacement * ColossoLog_GetPlacements (void)
static void ColossoLogRollingStage_SceneTask (void)
 Cycles the moving wall and raises the opening event beneath the rider.
static void ColossoLogRollingStage_ResetAndRunSceneTask (void)
 Resets the moving wall to its first displayed pattern.
static void ColossoLogRollingStage_StartSceneTask (void)
 Resumes cycling the moving wall.
static void ColossoLogRollingStage_WaitForSceneTask (void)
 Waits for the wall pattern used by the tutorial, with a bounded timeout.
static void Event_RideMovingSidewalk (void)
 On the Moving Sidewalk, until 0x363 is set, the belt carries the controlled actor and the camera west.
static void Event_GrowPlant (void)
 Growth on the plant: it grows and opens a shortcut (0x360).
static void ColossoLog_MoveOnScales (struct FieldActor *pan, s32 height)
 Moves a scale pan vertically at the shared speed and acceleration.
static void Event_FreezeOnScales (void)
 Frost on the target on the eastern pan: it freezes and the Scales of Justice tip, the western pan down and the eastern pan up (0x362).
static void Event_StepOnScales (void)
 Stepping onto the western pan, unless the scales are frozen: it sinks with the rider as the eastern pan rises (0x367).
static void Event_StepOffScales (void)
 Stepping off the western pan: the scales swing back.
static void Event_SetWeightOnScales (void)
 When the weight reaches the western pan, it sinks the pan and the eastern pan rises (0x368).
static void Event_PushWeight (void)
 Walking into the weight pushes it, perhaps onto the scales.
static void Event_MoveStone (void)
 After Move on the stone: its column is kept (byte flag 0x370) and its cell rebuilt.
static void Event_IgnoreMove (void)
 Move on this rock needs nothing more.
static void Event_PushRock (void)
 Walking into a rock pushes it.
static void Event_SettleRocks (void)
 A rock resting on the floor becomes a step (FLAG_SCENE_TEMP_14 to _16).
static void ColossoLog_UpdateEastEndCollision (void)
 Changes the eastern end collision according to the rider facing.
static s32 ColossoLogRollingStage_CheckObstacleDestination (s32 x, s32 z)
 Rejects blocked cells and cells occupied by one of the three obstacles.
static s32 ColossoLogRollingStage_CheckPathClearance (s32 x, s32 z)
 Checks all four cells covered by the long rolling log.
static void Event_RollLongLog (void)
 Walking into the long log rolls it, with the leader, the way the pad is held until something stops it; at the east end it drops into place and the path is made (0x369).
static s32 ColossoLog_ShowActivatedSidewalkLayer (struct ScriptInterpreter *interpreter)
 Displays the activated moving sidewalk and plays its arrival sounds.
static void Event_ForceSidewalkBlock (void)
 Force on the Moving Sidewalk's block: it slides away and the belt carries no one any more (0x363).
static void Event_HaltWall (void)
 Halt on the wall operator: the Wall Wedge stops at its next open pattern (0x361).
static void Event_PassNorthWallOpening (void)
 The rider passes through the moving wall's northern opening.
static void Event_PassSouthWallOpening (void)
 The rider passes through the moving wall's southern opening.
static UNUSED void ColossoLogRollingStage_NoopSceneEventHook (void)
static UNUSED void ColossoLog_RunCompetitorTalk (s32 competitorId)
 Offers to practise the course with a selected solo competitor.
static void Event_ReachArena (void)
 Reaching the arena: the leader takes a prize (the Claymore if first, the Hunter's Sword if second), and he and his opponent face off and fight.
static void Event_CheckAhead (void)
 Walking into something: unless it is an actor, it is checked.
static void Event_PushWeightOrCheckAhead (void)
 Walking into something: the weight is pushed, anything else is checked.
const struct SceneEvent * ColossoLog_GetEvents (void)
s32 ColossoLog_Initialize (void)
 Restores obstacle progress, then enters practice, introduction or battle aftermath.
static s32 ColossoLogRollingStage_AdvanceParticleMotion (struct ScriptInterpreter *interpreter)
 Advances a reunion particle; timer and work hold signed 1/256-pixel steps.
static void ColossoLogRollingStage_SpawnPeriodicParticle (void)
 Shows one of three reunion particles at its scheduled point in the cycle.
static void Event_TalkToScalesAttendant (s32 guideId)
 The Scales of Justice's attendant: the first time, the pans are shown; then the objective.
static void Event_TalkToSteppingStoneAttendant (s32 guideId)
 The Stepping-Stone Stage's attendant: the first time, a warrior finds the way; then the objective.
static void Event_TalkToWallWedgeAttendant (s32 guideId)
 The Wall Wedge's attendant: the first time, a warrior times his way through the moving wall; then that its operator will cheer for Isaac.
static void Event_TalkToFreeClimbAttendant (s32 guideId)
 The Free-Climb Area's attendant: the first time, a warrior climbs across; then the objective.
static void ColossoLogRollingStage_PositionActor (s32 selector, s32 x, s32 z)
 Starts a scripted pixel destination while preserving the actor height.
static void ColossoLogRollingStage_PositionAndActivateActor (s32 selector, s32 x, s32 z)
 Moves to a scripted pixel destination, waits, then restores the idle mode.
static void Event_TalkToMovingSidewalkAttendant (s32 guideId)
 The Moving Sidewalk Stage's attendant: the first time, a warrior walks against the belt; then the objective.
static void Event_TalkToLogRollingAttendant (s32 actor)
 The log-rolling area's attendant: the first time, a marker traces the log's route; then the objective.
static void ColossoLogRollingStage_InitializeModeTask (u32 mode, u32 parameter)
 Selects the portrait task script and clears its movement state.
static UNUSED void FieldScene_RunScene3bcSequenceA (s32 countdown)
 Unused portrait countdown for a signed number of seconds.
static UNUSED void WriteU32AsHex (u8 *hexText, u32 value)
 Writes eight hexadecimal digits followed by a terminator.
static UNUSED void ColossoLog_MarkRivalFinished (void)
 Marks the rival path recorder as finished.
static void ColossoLogRollingStage_SpawnRandomSceneEffect (union FieldObject *fieldObject)
 Occasionally scatters an effect around a moving source actor.
static s32 ColossoLogRollingStage_RaiseLinkedSceneEffect (struct ScriptInterpreter *interpreter)
 Raises the linked item actor and clears the source link.

Variables

s32 gColossoParticleCount
const s32 gColossoLog_Record30Script []
const s8 gColossoLog_LogPattern [][6]
const u16 gColossoEarlySequenceData []
const s32 gColossoSceneEventEffect []
const u8 gColosso_LetteringPaletteOffsets []
const s16 gColossoModeScript2 []
const s16 gColossoModeScript3B []
char gColossoHexChars [20] = "0123456789ABCDEF"
s32 gColossoRandomEffect []
s32 gColossoLinkedEffect []
u32 gStagedActor_DirectionSteps []
 Pixel step by direction: X in the upper halfword, Z in the lower.
struct SceneEntrance gColossoLogEntrances []
u32 gColossoLogExits []
struct ScenePlacement gColossoLogPlacements []
s32 gColossoSceneTaskStatus = 0
s32 gColossoSceneTaskState = 0
struct SceneEvent gColossoLogEvents []
s32 gColossoLog_Actor8Action []
s32 gColossoLog_LeaderActionA []
s32 gColossoLog_LeaderActionB []
s32 gColossoLog_LeaderActionC []
s32 gColossoMultiPhaseData []
s32 gColossoParticleKinds []
s16 gColosso_LetteringSlot = -1
s16 gColossoModeScriptDefault []
s16 gColossoModeScript4 []
s16 gColossoModeScript3A []
s16 gColosso_MarkerSlot = -1
s32 gColosso_RivalFinishScript []
s32 gColossoLog_PlaceScript []

Detailed Description

Colosso's third finals course: Isaac races another warrior through the Scales of Justice, the Stepping-Stone Stage, the Wall Wedge, the Free-Climb Area, the Moving Sidewalk Stage and a log-rolling area to the arena.

Definition in file colosso_log.c.

Macro Definition Documentation

◆ COLOSSO_LOG_FACE_DIRECTION

#define COLOSSO_LOG_FACE_DIRECTION   ((s32 (*)())Engine_ActorFaceDirection)

Definition at line 70 of file colosso_log.c.

Referenced by Event_TalkToWallWedgeAttendant().

◆ COLOSSO_LOG_INITIALIZE_MODE_TASK

#define COLOSSO_LOG_INITIALIZE_MODE_TASK   ((s32 (*)())ColossoLogRollingStage_InitializeModeTask)

Definition at line 71 of file colosso_log.c.

Referenced by FieldScene_RunScene3bcSequenceA().

◆ COLOSSO_LOG_APPLY_MATCHING_SLOT_VALUES

#define COLOSSO_LOG_APPLY_MATCHING_SLOT_VALUES   ((s32 (*)())Scene_GiveAndEquipItem)

Definition at line 73 of file colosso_log.c.

Referenced by ColossoLog_CollectFinishEquipment().

◆ 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 step by direction: X in the upper halfword, Z in the lower.

Definition at line 2164 of file colosso_log.c.

Typedef Documentation

◆ SceneTaskEntry

typedef void(*) SceneTaskEntry(void)

Definition at line 85 of file colosso_log.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

The third course's actors, by the guide's and attendants' explanations: the Scales of Justice, the Stepping-Stone Stage, the Wall Wedge, the Free-Climb Area, the Moving Sidewalk Stage and another log-rolling area lead to the arena.

The Wall Wedge's moving wall is actors 18 to 27; actors 15 to 17 are rocks that settle where they fall (FLAG_SCENE_TEMP_14 to _16).

Enumerator
OPPONENT 

the warrior racing Isaac to the arena

FROST_TARGET 

on the eastern pan

SCALE_PAN_WEST 

the Scales of Justice

SCALE_PAN_EAST 
SCALE_WEIGHT 

pushed onto the western pan

STONE 
WALL_OPERATOR 
GROWTH_PLANT 
SIDEWALK_BLOCK 
LONG_LOG 

the log-rolling area's long log

GUIDE 

explains the third course

SCALES_ATTENDANT 
STEPPING_STONE_ATTENDANT 
WALL_WEDGE_ATTENDANT 
FREE_CLIMB_ATTENDANT 
MOVING_SIDEWALK_ATTENDANT 
LOG_ROLLING_ATTENDANT 
PRIZE_A 

the arena's Claymore and Hunter's Sword

PRIZE_B 

Definition at line 92 of file colosso_log.c.

Function Documentation

◆ ColossoLog_PlayPostBattleReunion()

void ColossoLog_PlayPostBattleReunion ( s32 battleResult)
static

Reunites the party after the battle and plays the resting conversation.

Definition at line 1053 of file colosso_log.c.

Referenced by ColossoLog_Initialize(), and ColossoLog_PlayPostBattleReunion().

◆ ColossoLog_IntroduceFinalCourse()

void ColossoLog_IntroduceFinalCourse ( s32 guideId)
static

Stages the party behind the guide for the introduction to the third finals.

Definition at line 1256 of file colosso_log.c.

Referenced by ColossoLog_Initialize(), and ColossoLog_IntroduceFinalCourse().

◆ ColossoLogRollingStage_RunScriptedTransition()

void ColossoLogRollingStage_RunScriptedTransition ( s32 mode)
static

Plays the countdown portraits and the start-of-race transition.

Definition at line 1735 of file colosso_log.c.

Referenced by ColossoLog_Initialize(), and ColossoLogRollingStage_RunScriptedTransition().

◆ ColossoLogRollingStage_NoopSceneHook()

void ColossoLogRollingStage_NoopSceneHook ( void )
static

Definition at line 1847 of file colosso_log.c.

Referenced by ColossoLogRollingStage_NoopSceneHook(), and Event_ReachArena().

◆ ColossoLog_WaitForRivalToFinish()

void ColossoLog_WaitForRivalToFinish ( void )
static

Waits until the rival path recorder reaches its finished mode.

Definition at line 1857 of file colosso_log.c.

Referenced by ColossoLog_WaitForRivalToFinish(), and Event_ReachArena().

◆ ColossoLog_CollectFinishEquipment()

s32 ColossoLog_CollectFinishEquipment ( s32 firstItem,
s32 secondItem )
static

Moves to the available finish item, equips it and announces it.

Definition at line 1920 of file colosso_log.c.

Referenced by ColossoLog_CollectFinishEquipment(), and Event_ReachArena().

◆ ColossoLog_PushActorAhead()

void ColossoLog_PushActorAhead ( void )
static

Pushes a neighboring actor one cell when its destination and overhead are clear.

Definition at line 1979 of file colosso_log.c.

Referenced by ColossoLog_PushActorAhead(), Event_PushRock(), Event_PushWeight(), and Event_RollLongLog().

◆ InitializeActorZero()

void InitializeActorZero ( void )
inlinestatic

Sets the leader speed for the shared solo-party placement routine.

Definition at line 115 of file colosso_log.c.

◆ InitializeSelectedActor()

void InitializeSelectedActor ( s32 actorId)
inlinestatic

Sets a companion speed for the shared solo-party placement routine.

Definition at line 120 of file colosso_log.c.

◆ ColossoLog_GetEntrances()

const struct SceneEntrance * ColossoLog_GetEntrances ( void )

Definition at line 126 of file colosso_log.c.

Referenced by ColossoLog_GetEntrances().

◆ ColossoLog_GetRegions()

const struct SceneRegion * ColossoLog_GetRegions ( void )

Definition at line 130 of file colosso_log.c.

Referenced by ColossoLog_GetRegions().

◆ ColossoLog_GetExits()

const u32 * ColossoLog_GetExits ( void )

Definition at line 132 of file colosso_log.c.

Referenced by ColossoLog_GetExits().

◆ ColossoLog_GetPlacements()

const struct ScenePlacement * ColossoLog_GetPlacements ( void )

Definition at line 134 of file colosso_log.c.

Referenced by ColossoLog_GetPlacements().

◆ ColossoLogRollingStage_SceneTask()

void ColossoLogRollingStage_SceneTask ( void )
static

Cycles the moving wall and raises the opening event beneath the rider.

Definition at line 139 of file colosso_log.c.

Referenced by ColossoLog_Initialize(), ColossoLogRollingStage_ResetAndRunSceneTask(), ColossoLogRollingStage_SceneTask(), ColossoLogRollingStage_StartSceneTask(), and Event_HaltWall().

◆ ColossoLogRollingStage_ResetAndRunSceneTask()

void ColossoLogRollingStage_ResetAndRunSceneTask ( void )
static

Resets the moving wall to its first displayed pattern.

Definition at line 178 of file colosso_log.c.

Referenced by ColossoLogRollingStage_ResetAndRunSceneTask(), and Event_TalkToWallWedgeAttendant().

◆ ColossoLogRollingStage_StartSceneTask()

void ColossoLogRollingStage_StartSceneTask ( void )
static

Resumes cycling the moving wall.

Definition at line 189 of file colosso_log.c.

Referenced by ColossoLogRollingStage_StartSceneTask(), and Event_TalkToWallWedgeAttendant().

◆ ColossoLogRollingStage_WaitForSceneTask()

void ColossoLogRollingStage_WaitForSceneTask ( void )
static

Waits for the wall pattern used by the tutorial, with a bounded timeout.

Definition at line 194 of file colosso_log.c.

Referenced by ColossoLogRollingStage_WaitForSceneTask(), and Event_TalkToWallWedgeAttendant().

◆ Event_RideMovingSidewalk()

void Event_RideMovingSidewalk ( void )
static

On the Moving Sidewalk, until 0x363 is set, the belt carries the controlled actor and the camera west.

Definition at line 211 of file colosso_log.c.

Referenced by Event_RideMovingSidewalk().

◆ Event_GrowPlant()

void Event_GrowPlant ( void )
static

Growth on the plant: it grows and opens a shortcut (0x360).

Definition at line 226 of file colosso_log.c.

◆ ColossoLog_MoveOnScales()

void ColossoLog_MoveOnScales ( struct FieldActor * pan,
s32 height )
inlinestatic

Moves a scale pan vertically at the shared speed and acceleration.

Definition at line 235 of file colosso_log.c.

Referenced by ColossoLog_MoveOnScales(), Event_FreezeOnScales(), Event_SetWeightOnScales(), Event_StepOffScales(), Event_StepOnScales(), and Event_TalkToScalesAttendant().

◆ Event_FreezeOnScales()

void Event_FreezeOnScales ( void )
static

Frost on the target on the eastern pan: it freezes and the Scales of Justice tip, the western pan down and the eastern pan up (0x362).

Definition at line 243 of file colosso_log.c.

Referenced by Event_FreezeOnScales().

◆ Event_StepOnScales()

void Event_StepOnScales ( void )
static

Stepping onto the western pan, unless the scales are frozen: it sinks with the rider as the eastern pan rises (0x367).

Definition at line 263 of file colosso_log.c.

Referenced by Event_StepOnScales().

◆ Event_StepOffScales()

void Event_StepOffScales ( void )
static

Stepping off the western pan: the scales swing back.

Definition at line 300 of file colosso_log.c.

Referenced by Event_StepOffScales().

◆ Event_SetWeightOnScales()

void Event_SetWeightOnScales ( void )
static

When the weight reaches the western pan, it sinks the pan and the eastern pan rises (0x368).

Definition at line 323 of file colosso_log.c.

Referenced by Event_PushWeight(), and Event_SetWeightOnScales().

◆ Event_PushWeight()

void Event_PushWeight ( void )
static

Walking into the weight pushes it, perhaps onto the scales.

Definition at line 354 of file colosso_log.c.

Referenced by Event_PushWeight(), and Event_PushWeightOrCheckAhead().

◆ Event_MoveStone()

void Event_MoveStone ( void )
static

After Move on the stone: its column is kept (byte flag 0x370) and its cell rebuilt.

Definition at line 361 of file colosso_log.c.

Referenced by Event_MoveStone().

◆ Event_IgnoreMove()

void Event_IgnoreMove ( void )
static

Move on this rock needs nothing more.

Definition at line 373 of file colosso_log.c.

Referenced by Event_IgnoreMove(), Event_IgnoreMove(), and Event_IgnoreMove().

◆ Event_PushRock()

void Event_PushRock ( void )
static

Walking into a rock pushes it.

Definition at line 376 of file colosso_log.c.

Referenced by Event_PushRock(), Event_PushRock(), Event_PushRock(), and Event_PushRockOrCheckAhead().

◆ Event_SettleRocks()

void Event_SettleRocks ( void )
static

A rock resting on the floor becomes a step (FLAG_SCENE_TEMP_14 to _16).

Definition at line 379 of file colosso_log.c.

Referenced by Event_PushRock(), Event_RollLongLog(), Event_SettleRocks(), and Event_SettleRocks().

◆ ColossoLog_UpdateEastEndCollision()

void ColossoLog_UpdateEastEndCollision ( void )
static

Changes the eastern end collision according to the rider facing.

Definition at line 404 of file colosso_log.c.

Referenced by ColossoLog_Initialize(), and ColossoLog_UpdateEastEndCollision().

◆ ColossoLogRollingStage_CheckObstacleDestination()

s32 ColossoLogRollingStage_CheckObstacleDestination ( s32 x,
s32 z )
static

Rejects blocked cells and cells occupied by one of the three obstacles.

Definition at line 423 of file colosso_log.c.

Referenced by ColossoLogRollingStage_CheckObstacleDestination(), and ColossoLogRollingStage_CheckPathClearance().

◆ ColossoLogRollingStage_CheckPathClearance()

s32 ColossoLogRollingStage_CheckPathClearance ( s32 x,
s32 z )
static

Checks all four cells covered by the long rolling log.

Definition at line 447 of file colosso_log.c.

Referenced by ColossoLogRollingStage_CheckPathClearance(), and Event_RollLongLog().

◆ Event_RollLongLog()

void Event_RollLongLog ( void )
static

Walking into the long log rolls it, with the leader, the way the pad is held until something stops it; at the east end it drops into place and the path is made (0x369).

Away from the log, a rock ahead is pushed instead.

Definition at line 460 of file colosso_log.c.

Referenced by Event_RollLongLog().

◆ ColossoLog_ShowActivatedSidewalkLayer()

s32 ColossoLog_ShowActivatedSidewalkLayer ( struct ScriptInterpreter * interpreter)
static

Displays the activated moving sidewalk and plays its arrival sounds.

Definition at line 578 of file colosso_log.c.

Referenced by ColossoLog_ShowActivatedSidewalkLayer().

◆ Event_ForceSidewalkBlock()

void Event_ForceSidewalkBlock ( void )
static

Force on the Moving Sidewalk's block: it slides away and the belt carries no one any more (0x363).

Definition at line 588 of file colosso_log.c.

Referenced by Event_ForceSidewalkBlock().

◆ Event_HaltWall()

void Event_HaltWall ( void )
static

Halt on the wall operator: the Wall Wedge stops at its next open pattern (0x361).

Definition at line 604 of file colosso_log.c.

Referenced by Event_HaltWall().

◆ Event_PassNorthWallOpening()

void Event_PassNorthWallOpening ( void )
static

The rider passes through the moving wall's northern opening.

Definition at line 615 of file colosso_log.c.

Referenced by Event_PassNorthWallOpening().

◆ Event_PassSouthWallOpening()

void Event_PassSouthWallOpening ( void )
static

The rider passes through the moving wall's southern opening.

Definition at line 643 of file colosso_log.c.

Referenced by Event_PassSouthWallOpening(), and Event_TalkToWallWedgeAttendant().

◆ ColossoLogRollingStage_NoopSceneEventHook()

UNUSED void ColossoLogRollingStage_NoopSceneEventHook ( void )
static

Definition at line 674 of file colosso_log.c.

Referenced by ColossoLogRollingStage_NoopSceneEventHook().

◆ ColossoLog_RunCompetitorTalk()

UNUSED void ColossoLog_RunCompetitorTalk ( s32 competitorId)
static

Offers to practise the course with a selected solo competitor.

Definition at line 677 of file colosso_log.c.

Referenced by ColossoLog_RunCompetitorTalk().

◆ Event_ReachArena()

void Event_ReachArena ( void )
static

Reaching the arena: the leader takes a prize (the Claymore if first, the Hunter's Sword 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 713 of file colosso_log.c.

Referenced by Event_ReachArena(), Event_ReachArena(), and Event_ReachArena().

◆ Event_CheckAhead()

void Event_CheckAhead ( void )
static

Walking into something: unless it is an actor, it is checked.

Definition at line 753 of file colosso_log.c.

◆ Event_PushWeightOrCheckAhead()

void Event_PushWeightOrCheckAhead ( void )
static

Walking into something: the weight is pushed, anything else is checked.

Definition at line 760 of file colosso_log.c.

Referenced by Event_PushWeightOrCheckAhead().

◆ ColossoLog_GetEvents()

const struct SceneEvent * ColossoLog_GetEvents ( void )

Definition at line 768 of file colosso_log.c.

Referenced by ColossoLog_GetEvents().

◆ ColossoLog_Initialize()

s32 ColossoLog_Initialize ( void )

Restores obstacle progress, then enters practice, introduction or battle aftermath.

Definition at line 774 of file colosso_log.c.

Referenced by ColossoLog_Initialize().

◆ ColossoLogRollingStage_AdvanceParticleMotion()

s32 ColossoLogRollingStage_AdvanceParticleMotion ( struct ScriptInterpreter * interpreter)
static

Advances a reunion particle; timer and work hold signed 1/256-pixel steps.

Definition at line 989 of file colosso_log.c.

Referenced by ColossoLogRollingStage_AdvanceParticleMotion().

◆ ColossoLogRollingStage_SpawnPeriodicParticle()

void ColossoLogRollingStage_SpawnPeriodicParticle ( void )
static

Shows one of three reunion particles at its scheduled point in the cycle.

Definition at line 1002 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion(), and ColossoLogRollingStage_SpawnPeriodicParticle().

◆ Event_TalkToScalesAttendant()

void Event_TalkToScalesAttendant ( s32 guideId)
static

The Scales of Justice's attendant: the first time, the pans are shown; then the objective.

Definition at line 1325 of file colosso_log.c.

Referenced by Event_TalkToScalesAttendant().

◆ Event_TalkToSteppingStoneAttendant()

void Event_TalkToSteppingStoneAttendant ( s32 guideId)
static

The Stepping-Stone Stage's attendant: the first time, a warrior finds the way; then the objective.

Definition at line 1391 of file colosso_log.c.

Referenced by Event_TalkToSteppingStoneAttendant().

◆ Event_TalkToWallWedgeAttendant()

void Event_TalkToWallWedgeAttendant ( s32 guideId)
static

The Wall Wedge's attendant: the first time, a warrior times his way through the moving wall; then that its operator will cheer for Isaac.

Definition at line 1446 of file colosso_log.c.

Referenced by Event_TalkToWallWedgeAttendant().

◆ Event_TalkToFreeClimbAttendant()

void Event_TalkToFreeClimbAttendant ( s32 guideId)
static

The Free-Climb Area's attendant: the first time, a warrior climbs across; then the objective.

Definition at line 1504 of file colosso_log.c.

Referenced by Event_TalkToFreeClimbAttendant().

◆ ColossoLogRollingStage_PositionActor()

void ColossoLogRollingStage_PositionActor ( s32 selector,
s32 x,
s32 z )
static

Starts a scripted pixel destination while preserving the actor height.

Definition at line 1568 of file colosso_log.c.

Referenced by ColossoLogRollingStage_PositionActor(), and Event_TalkToMovingSidewalkAttendant().

◆ ColossoLogRollingStage_PositionAndActivateActor()

void ColossoLogRollingStage_PositionAndActivateActor ( s32 selector,
s32 x,
s32 z )
static

Moves to a scripted pixel destination, waits, then restores the idle mode.

Definition at line 1580 of file colosso_log.c.

Referenced by ColossoLogRollingStage_PositionAndActivateActor(), and Event_TalkToMovingSidewalkAttendant().

◆ Event_TalkToMovingSidewalkAttendant()

void Event_TalkToMovingSidewalkAttendant ( s32 guideId)
static

The Moving Sidewalk Stage's attendant: the first time, a warrior walks against the belt; then the objective.

Definition at line 1596 of file colosso_log.c.

Referenced by Event_TalkToMovingSidewalkAttendant().

◆ Event_TalkToLogRollingAttendant()

void Event_TalkToLogRollingAttendant ( s32 actor)
static

The log-rolling area's attendant: the first time, a marker traces the log's route; then the objective.

Definition at line 1655 of file colosso_log.c.

Referenced by Event_TalkToLogRollingAttendant(), and Event_TalkToLogRollingAttendant().

◆ ColossoLogRollingStage_InitializeModeTask()

void ColossoLogRollingStage_InitializeModeTask ( u32 mode,
u32 parameter )
static

Selects the portrait task script and clears its movement state.

Definition at line 1700 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask(), and ColossoLogRollingStage_RunScriptedTransition().

◆ FieldScene_RunScene3bcSequenceA()

UNUSED void FieldScene_RunScene3bcSequenceA ( s32 countdown)
static

Unused portrait countdown for a signed number of seconds.

Definition at line 1788 of file colosso_log.c.

Referenced by FieldScene_RunScene3bcSequenceA().

◆ WriteU32AsHex()

UNUSED void WriteU32AsHex ( u8 * hexText,
u32 value )
static

Writes eight hexadecimal digits followed by a terminator.

Definition at line 1834 of file colosso_log.c.

Referenced by WriteU32AsHex().

◆ ColossoLog_MarkRivalFinished()

UNUSED void ColossoLog_MarkRivalFinished ( void )
static

Marks the rival path recorder as finished.

Definition at line 1850 of file colosso_log.c.

Referenced by ColossoLog_MarkRivalFinished().

◆ ColossoLogRollingStage_SpawnRandomSceneEffect()

void ColossoLogRollingStage_SpawnRandomSceneEffect ( union FieldObject * fieldObject)
static

Occasionally scatters an effect around a moving source actor.

Definition at line 1867 of file colosso_log.c.

Referenced by ColossoLogRollingStage_SpawnRandomSceneEffect().

◆ ColossoLogRollingStage_RaiseLinkedSceneEffect()

s32 ColossoLogRollingStage_RaiseLinkedSceneEffect ( struct ScriptInterpreter * interpreter)
static

Raises the linked item actor and clears the source link.

Definition at line 1904 of file colosso_log.c.

Referenced by ColossoLogRollingStage_RaiseLinkedSceneEffect().

Variable Documentation

◆ gColossoParticleCount

◆ gColossoLog_Record30Script

const s32 gColossoLog_Record30Script[]
Initial value:
= {
SC_SET(SW_Y, PIXELS(1)), SC_WAIT(10), SC_SET(SW_Y, 0), SC_WAIT(10),
}
#define PIXELS(value)
#define SC_SET(w, v)
Write a work value.
Definition objcmd.h:37
#define SC_LOOP(n, to)
Repeat up to n times.
Definition objcmd.h:28
#define SC_FOREVER
Definition objcmd.h:14
#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 2063 of file colosso_log.c.

Referenced by ColossoLog_Initialize().

◆ gColossoLog_LogPattern

const s8 gColossoLog_LogPattern[][6]
Initial value:
= {
{7, 5, 7, 5, 7, 11},
{4, 6, 4, 6, 4, 10},
{5, 7, 5, 7, 5, 12},
{6, 4, 6, 4, 6, 10},
}

Definition at line 2068 of file colosso_log.c.

Referenced by ColossoLogRollingStage_SceneTask().

◆ gColossoEarlySequenceData

const u16 gColossoEarlySequenceData[]
Initial value:
= {
0, 0, 0x4000, 0x8000, 0x8000, 0x8000, 0xc000, 0,
}

Definition at line 2076 of file colosso_log.c.

Referenced by Event_RollLongLog().

◆ gColossoSceneEventEffect

const s32 gColossoSceneEventEffect[]
Initial value:
= {
SC_MOVE(PIXELS(1088), 0, PIXELS(184)),
SC_MOVE(PIXELS(1130), 0, PIXELS(184)),
SC_WAIT(10),
SC_SET(SW_Y, 0),
SC_WAIT(10),
}
static s32 ColossoLog_ShowActivatedSidewalkLayer(struct ScriptInterpreter *interpreter)
Displays the activated moving sidewalk and plays its arrival sounds.
#define SC_LABEL(n)
Branch destination.
Definition objcmd.h:11
#define SC_SYNC
Wait for arrival.
Definition objcmd.h:17
#define SC_TO(n)
Definition objcmd.h:12
#define SC_MOVE(x, y, z)
Move toward the target.
Definition objcmd.h:19
#define SC_CALL(fn)
Definition objcmd.h:50

Definition at line 2080 of file colosso_log.c.

Referenced by Event_ForceSidewalkBlock().

◆ gColosso_LetteringPaletteOffsets

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

Definition at line 2094 of file colosso_log.c.

Referenced by Colosso_LoadLettering().

◆ gColossoModeScript2

const s16 gColossoModeScript2[]
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 2102 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask().

◆ gColossoModeScript3B

const s16 gColossoModeScript3B[]
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 2108 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask(), and FieldScene_RunScene3bcSequenceA().

◆ gColossoHexChars

char gColossoHexChars[20] = "0123456789ABCDEF"

Definition at line 2119 of file colosso_log.c.

Referenced by WriteU32AsHex().

◆ gColossoRandomEffect

s32 gColossoRandomEffect[]
Initial value:
= {
SC_ADD(SW_Y, -(PIXELS(1) / 4)),
SC_WAIT(1),
}
#define SC_FREE
Release.
Definition objcmd.h:43
#define SC_ADD(w, v)
Definition objcmd.h:38

Definition at line 2121 of file colosso_log.c.

Referenced by ColossoLogRollingStage_SpawnRandomSceneEffect().

◆ gColossoLinkedEffect

s32 gColossoLinkedEffect[]

Definition at line 2128 of file colosso_log.c.

Referenced by ColossoLogRollingStage_RaiseLinkedSceneEffect().

◆ gStagedActor_DirectionSteps

u32 gStagedActor_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.

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

Definition at line 2166 of file colosso_log.c.

◆ gColossoLogEntrances

struct SceneEntrance gColossoLogEntrances[]
Initial value:
= {
{ 0, CONDITION_ALWAYS, 88, 0, 104, FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
{ 1, CONDITION_ALWAYS, 88, 0, 104, FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
{ 2, CONDITION_ALWAYS, 136, 0, 392, FACING_NORTH, 0, -1, -1, -1, -1, 0 },
{ 4, CONDITION_ALWAYS, 88, 0, 104, FACING_SOUTH, 0, -1, -1, -1, -1, 0 },
{ 5, CONDITION_ALWAYS, 88, 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_NORTH
Definition field_scene.h:32
@ FACING_SOUTH
Definition field_scene.h:28

Definition at line 2185 of file colosso_log.c.

Referenced by ColossoLog_GetEntrances().

◆ gColossoLogExits

u32 gColossoLogExits[]
Initial value:
= {
SCENE_EXIT(10, 145, 1),
SCENE_EXIT(11, 140, 66),
SCENE_EXIT(4, 138, 99),
SCENE_EXIT(5, 138, 99),
}
#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 2194 of file colosso_log.c.

Referenced by ColossoLog_GetExits().

◆ gColossoLogPlacements

struct ScenePlacement gColossoLogPlacements[]

Definition at line 2203 of file colosso_log.c.

Referenced by ColossoLog_GetPlacements().

◆ gColossoSceneTaskStatus

◆ gColossoSceneTaskState

◆ gColossoLogEvents

struct SceneEvent gColossoLogEvents[]

Definition at line 2291 of file colosso_log.c.

Referenced by ColossoLog_GetEvents().

◆ gColossoLog_Actor8Action

s32 gColossoLog_Actor8Action[]
Initial value:
= {
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(4),
SC_WAIT(4),
SC_WAIT(4),
SC_WAIT(10),
}
#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

Definition at line 2334 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion().

◆ gColossoLog_LeaderActionA

s32 gColossoLog_LeaderActionA[]
Initial value:

Definition at line 2357 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion().

◆ gColossoLog_LeaderActionB

s32 gColossoLog_LeaderActionB[]
Initial value:
= {
SC_WAIT(2),
SC_WAIT(2),
SC_WAIT(16),
SC_ADD(SW_SCALE_Y, -(3 * Q16_ONE / 64)),
SC_WAIT(4),
SC_ADD(SW_SCALE_Y, -(3 * Q16_ONE / 64)),
SC_WAIT(4),
SC_ADD(SW_SCALE_Y, -(3 * Q16_ONE / 64)),
SC_WAIT(32),
}
#define Q16_ONE
One in the engine's signed 16.16 fixed-point format.
Definition fixed_math.h:10

Definition at line 2380 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion().

◆ gColossoLog_LeaderActionC

s32 gColossoLog_LeaderActionC[]
Initial value:

Definition at line 2400 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion().

◆ gColossoMultiPhaseData

s32 gColossoMultiPhaseData[]
Initial value:

Definition at line 2420 of file colosso_log.c.

Referenced by ColossoLog_PlayPostBattleReunion().

◆ gColossoParticleKinds

s32 gColossoParticleKinds[]
Initial value:
= {
SC_WAIT(1),
SC_POS(0, 0, 0),
SC_WAIT(1),
}
static s32 ColossoLogRollingStage_AdvanceParticleMotion(struct ScriptInterpreter *interpreter)
Advances a reunion particle; timer and work hold signed 1/256-pixel steps.
#define SC_POS(x, y, z)
Set position.
Definition objcmd.h:18

Definition at line 2426 of file colosso_log.c.

Referenced by ColossoLogRollingStage_SpawnPeriodicParticle().

◆ gColosso_LetteringSlot

s16 gColosso_LetteringSlot = -1

Definition at line 2435 of file colosso_log.c.

Referenced by Colosso_LoadLettering(), and Colosso_UpdateLettering().

◆ gColossoModeScriptDefault

s16 gColossoModeScriptDefault[]
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 2437 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask(), and ColossoLogRollingStage_RunScriptedTransition().

◆ gColossoModeScript4

s16 gColossoModeScript4[]
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 2447 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask().

◆ gColossoModeScript3A

s16 gColossoModeScript3A[]
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 2478 of file colosso_log.c.

Referenced by ColossoLogRollingStage_InitializeModeTask(), and FieldScene_RunScene3bcSequenceA().

◆ gColosso_MarkerSlot

s16 gColosso_MarkerSlot = -1

◆ 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 ColossoLogRollingStage_RaiseLinkedSceneEffect(struct ScriptInterpreter *interpreter)
Raises the linked item actor and clears the source link.
#define SC_ARG(v)
Definition objcmd.h:44
@ SW_FACING
Definition objcmd.h:57

Definition at line 2492 of file colosso_log.c.

Referenced by Colosso_UpdatePathRival().

◆ gColossoLog_PlaceScript

s32 gColossoLog_PlaceScript[]