Alchemy
Loading...
Searching...
No Matches

fade_overlay.c File Reference

The fade overlay drawn on the ground beside an actor. More...

Go to the source code of this file.

Data Structures

struct  FadeView
 The map work in heap slot 8, seen as the halfwords of its view position: the high halves are the view's x and z in whole pixels. More...

Functions

void FadeOverlay_DrawMarks (void)
 Each frame of the fade overlay: on each of the two cells beside the actor (left and right of it), where the ground one or two cells south rises above the actor's floor, draws a semi-transparent 16-pixel-wide sprite of colour 1 at the height of that ground.
void BattleFx_StartFadeOverlay (void *object)
 Starts the fade overlay on object (the party leader when NULL): loads its solid tiles, sets the blending and draws it each frame.
void FadeOverlay_Suspend (void)
 Stops drawing the fade overlay, keeping its work.
void FadeOverlay_Resume (void)
 Draws the fade overlay again after FadeOverlay_Suspend.

Detailed Description

The fade overlay drawn on the ground beside an actor.

Part of object.c, the field object, compiled only through it.

Definition in file fade_overlay.c.

Function Documentation

◆ FadeOverlay_DrawMarks()

void FadeOverlay_DrawMarks ( void )

Each frame of the fade overlay: on each of the two cells beside the actor (left and right of it), where the ground one or two cells south rises above the actor's floor, draws a semi-transparent 16-pixel-wide sprite of colour 1 at the height of that ground.

Registered as a scheduler callback by BattleFx_StartFadeOverlay; reads the work in heap slot 36 and queues the marks with Runtime_PushSlotEntry.

Definition at line 22 of file fade_overlay.c.

Referenced by BattleFx_ClearRandomParticles(), BattleFx_StartFadeOverlay(), FadeOverlay_DrawMarks(), FadeOverlay_Resume(), and FadeOverlay_Suspend().

◆ BattleFx_StartFadeOverlay()

void BattleFx_StartFadeOverlay ( void * object)

Starts the fade overlay on object (the party leader when NULL): loads its solid tiles, sets the blending and draws it each frame.

Allocates heap slot 36 for its work, borrows heap block 14 for the tiles (0x200 bytes of colour 1, VRAM cache block 94) and registers FadeOverlay_DrawMarks. Called by seven scene overlays (Venus and Mercury Lighthouses, Kalay, the tunnel ruins, Crossbone Isle, the ice room by Imil and Fuchin Falls); Crossbone Isle then switches it on and off by setting the work's actor.

Definition at line 113 of file fade_overlay.c.

Referenced by BattleFx_ClearRandomParticles(), BattleFx_StartFadeOverlay(), ImilFuchinFalls_PrepareRoom(), Kalay_PrepareTunnel(), MercuryLighthouse_Initialize(), MercuryLighthouseEntrance_Initialize(), Scene_Initialize(), Scene_RunEntrySetup(), and TunnelRuins_Initialize().

◆ FadeOverlay_Suspend()

void FadeOverlay_Suspend ( void )

Stops drawing the fade overlay, keeping its work.

Reached only through a bare far-call veneer; no ☀️ code names it.

Definition at line 139 of file fade_overlay.c.

Referenced by BattleFx_ClearRandomParticles(), and FadeOverlay_Suspend().

◆ FadeOverlay_Resume()

void FadeOverlay_Resume ( void )

Draws the fade overlay again after FadeOverlay_Suspend.

Reached only through a bare far-call veneer.

Definition at line 145 of file fade_overlay.c.

Referenced by BattleFx_ClearRandomParticles(), and FadeOverlay_Resume().