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.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/include/scanline_effect.h b/include/scanline_effect.h
index b28973eb3..242b35448 100644
--- a/include/scanline_effect.h
+++ b/include/scanline_effect.h
@@ -1,10 +1,13 @@
#ifndef GUARD_SCANLINE_EFFECT_H
#define GUARD_SCANLINE_EFFECT_H
-struct UnknownTaskStruct
+// 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)
+
+struct ScanlineEffectParams
{
- volatile void *dest;
- u32 control;
+ volatile void *dmaDest;
+ u32 dmaControl;
u8 unk8;
u8 unk9;
};
@@ -12,9 +15,9 @@ struct UnknownTaskStruct
struct ScanlineEffect
{
void *src[2];
- volatile void *dest;
- u32 unkC;
- void (*unk10)(void);
+ volatile void *dmaDest;
+ u32 dmaControl;
+ void (*setFirstScanlineReg)(void);
u8 srcBank;
u8 unk15;
u8 unk16;
@@ -25,17 +28,17 @@ struct ScanlineEffect
extern struct ScanlineEffect gScanlineEffect;
-extern u16 gUnknown_03004DE0[][0x3C0];
+extern u16 gScanlineEffectRegBuffers[][0x3C0];
void ScanlineEffect_Stop(void);
void ScanlineEffect_Stop(void);
void dp12_8087EA4(void);
void dp12_8087EA4(void);
-//void sub_80895F8(u32 i, u32 i1, u32 i2);
-//void sub_80895F8();
-void sub_80895F8(struct UnknownTaskStruct unk);
-void ScanlineEffect_TransferDma(void);
-void ScanlineEffect_TransferDma();
+//void ScanlineEffect_SetParams(u32 i, u32 i1, u32 i2);
+//void ScanlineEffect_SetParams();
+void ScanlineEffect_SetParams(struct ScanlineEffectParams unk);
+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);