summaryrefslogtreecommitdiff
path: root/include/scanline_effect.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scanline_effect.h')
-rw-r--r--include/scanline_effect.h37
1 files changed, 20 insertions, 17 deletions
diff --git a/include/scanline_effect.h b/include/scanline_effect.h
index 242b35448..314a856fa 100644
--- a/include/scanline_effect.h
+++ b/include/scanline_effect.h
@@ -4,25 +4,34 @@
// DMA control value to ransfer a single 16-bit value at HBlank
#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1)
+#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS)
+
struct ScanlineEffectParams
{
volatile void *dmaDest;
u32 dmaControl;
- u8 unk8;
- u8 unk9;
+ u8 initState;
+ u8 unused9;
};
struct ScanlineEffect
{
- void *src[2];
+ void *dmaSrcBuffers[2];
volatile void *dmaDest;
u32 dmaControl;
void (*setFirstScanlineReg)(void);
- u8 srcBank;
- u8 unk15;
- u8 unk16;
- u8 unk17;
- u8 taskId;
+ u8 srcBuffer;
+ u8 state;
+ u8 unused16;
+ u8 unused17;
+ u8 waveTaskId;
u8 filler19[0x7];
};
@@ -31,15 +40,9 @@ extern struct ScanlineEffect gScanlineEffect;
extern u16 gScanlineEffectRegBuffers[][0x3C0];
void ScanlineEffect_Stop(void);
-void ScanlineEffect_Stop(void);
-void dp12_8087EA4(void);
-void dp12_8087EA4(void);
-//void ScanlineEffect_SetParams(u32 i, u32 i1, u32 i2);
-//void ScanlineEffect_SetParams();
-void ScanlineEffect_SetParams(struct ScanlineEffectParams unk);
+void ScanlineEffect_Clear(void);
+void ScanlineEffect_SetParams(struct ScanlineEffectParams);
void ScanlineEffect_InitHBlankDmaTransfer(void);
-void ScanlineEffect_InitHBlankDmaTransfer();
-//void ScanlineEffect_InitWave(int i, int i1, int i2, int i3, int i4, int i5, int i6);
-u8 ScanlineEffect_InitWave(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7);
+u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7);
#endif // GUARD_SCANLINE_EFFECT_H