1#ifndef ALCHEMY_BATTLE_EFFECT_WORK_H
2#define ALCHEMY_BATTLE_EFFECT_WORK_H
BattleEffectArgument, the command an effect's caller, dispatcher and handlers share,...
EffectStep and EffectPosition, the positions effects move through.
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
An animated sprite: its image and shadow, scale, rotation, size and up to four animation layers.
Two adjacent affine background coordinates, queued together for BG2X/BG2Y.
s32 y
BG2Y, 8 fractional bits.
s32 unk_08
Written after staging the coordinates; no reader has been identified.
s32 x
BG2X, 8 fractional bits.
The command shared by an effect's caller, dispatcher and handlers.
s32 bg2xLines[160]
BG2X for each scanline, for an HBlank DMA.
u8 sheet[0x6980]
the effect's decoded pictures, at fixed offsets
u8 unk_6c00[0x480]
not named by TBS code
struct BattleCanvasOrigin origin
The running battle effect's work: its canvas image, 64 particles, the display registers it stages and...
s32 fadeFrames
backdrop fade frames left (Palette_StepFadeTransfer)
s32 frame
frame counter some effects keep, from 0
s32 savedBg1Y
BG1 scroll restored when a shake ends.
s32 savedBg1X
BG1 scroll restored when a shake ends.
s32 framesSinceTransfer
1 on a canvas copy's frame, then counts up
s32 transferPending
1 once the effect has drawn a frame (EFFECT_PRESENT_FRAME); the canvas transfer callback copies the c...
u16 unk_77ce
not named by TBS code
s32 fadeStep
CANVAS_FADE_STEPs the backdrop has darkened so far.
s32 cameraDelta
camera yaw turned per effect frame
s32 shakeFrames
shake frames left; Camera_ApplyShake counts down
s32 bg2x
BG2's reference point, written to BG2X and BG2Y by Display_ApplyBg2Reference and BattleFx_AdvanceBg2O...
struct AnimationObject * objects[16]
the effect's animation objects
u16 win0h
Window, display and blend registers, which Graphics_ApplyWindowBlendRegisters writes all at once.
s32 transferMode
How the canvas transfer callbacks treat the canvas after each copy (enum CanvasTransferMode in effect...
s32 scrollStepY
added to BG1 or BG2 y at each step
s32 cameraPhase
The effect sets 1 after a frame; Camera_ApplyPhasedDelta then turns the whole cameraDelta and sets 0,...
s32 transferValue
The transfer mode's argument: the fill value, the share kept (50 or 75 percent) or the darken or brig...
s32 scrollTimer
frames since the last interval scroll step
s32 unk_7788
not named by TBS code
u8 actorTimers[8]
Each target's flash timer in frames, for effect->actors[n]: set by ObjectGroup_UpdateMembers,...
struct BattleEffectArgument * effect
the command being run
s32 scrollStepX
added to BG1 or BG2 x at each step
s32 scrollInterval
frames between interval scroll steps
struct EffectStep particles[64]
free while variant is -1
A moving point of an effect: its position, its velocity and a value each effect uses its own way (a s...
The integer types, TRUE, UNUSED and the fixed-address macros.
struct BattleEffectWork::@373103066325350007065203236361136300263037235225::@176071035131147025350251206375011036352346374172 trackedCanvas