summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2018-01-09 23:55:03 -0600
committercamthesaxman <cameronghall@cox.net>2018-01-09 23:55:03 -0600
commitf9f0e84b70f1b313200acd6f0d180413e34517da (patch)
treea714942823290d6561a4d9b920ab155fe8093d45
parentcf7ffa568a2a09c761bae6aa4c70b8d8913c3e81 (diff)
label some scanline_effect functions
-rw-r--r--asm/battle_anim_812C144.s12
-rwxr-xr-xasm/battle_intro.s24
-rw-r--r--asm/contest_link_80C2020.s2
-rwxr-xr-xasm/dark.s16
-rwxr-xr-xasm/dragon.s8
-rwxr-xr-xasm/ghost.s6
-rwxr-xr-xasm/ground.s8
-rw-r--r--asm/pokenav.s6
-rwxr-xr-xasm/psychic.s4
-rwxr-xr-xasm/water.s18
-rw-r--r--include/scanline_effect.h22
-rwxr-xr-xsrc/battle/anim/draw.c6
-rw-r--r--src/battle/battle_2.c2
-rw-r--r--src/contest.c2
-rw-r--r--src/debug/matsuda_debug_menu.c2
-rw-r--r--src/easy_chat_1.c4
-rw-r--r--src/easy_chat_2.c2
-rw-r--r--src/engine/main.c2
-rw-r--r--src/engine/main_menu.c6
-rw-r--r--src/engine/option_menu.c4
-rw-r--r--src/engine/reset_rtc_screen.c2
-rw-r--r--src/field/diploma.c2
-rw-r--r--src/field/field_screen_effect.c6
-rw-r--r--src/field/item_menu.c2
-rw-r--r--src/field/overworld.c4
-rw-r--r--src/field/party_menu.c2
-rw-r--r--src/field/pokeblock.c2
-rw-r--r--src/field/shop.c2
-rw-r--r--src/field/start_menu.c2
-rw-r--r--src/field/starter_choose.c2
-rw-r--r--src/field/use_pokeblock.c4
-rw-r--r--src/field/wallclock.c2
-rw-r--r--src/pokemon/mail.c2
-rw-r--r--src/pokemon/pokedex.c4
-rw-r--r--src/pokemon/pokemon_summary_screen.c2
-rw-r--r--src/pokenav_before.c4
-rw-r--r--src/roulette.c2
-rw-r--r--src/scanline_effect.c107
-rw-r--r--src/scene/cable_car.c2
-rw-r--r--src/scene/contest_painting.c2
-rw-r--r--src/scene/evolution_scene.c6
-rw-r--r--src/scene/hall_of_fame.c4
-rw-r--r--src/scene/intro.c2
-rw-r--r--src/scene/title_screen.c6
-rw-r--r--sym_common.txt2
45 files changed, 168 insertions, 165 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index 02eec98ec..5fc9199eb 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -1946,7 +1946,7 @@ _0812CFDC:
ldrsh r0, [r4, r1]
cmp r0, 0
beq _0812CFF2
- ldr r1, _0812D004 @ =gUnknown_03004DC0
+ ldr r1, _0812D004 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_0812CFF2:
@@ -1958,7 +1958,7 @@ _0812CFF8:
bx r0
.align 2, 0
_0812D000: .4byte gUnknown_03004DE0
-_0812D004: .4byte gUnknown_03004DC0
+_0812D004: .4byte gScanlineEffect
thumb_func_end sub_812CEF0
thumb_func_start sub_812D008
@@ -6711,7 +6711,7 @@ _0812F4EA:
ldrsh r0, [r6, r3]
cmp r1, r0
ble _0812F60A
- ldr r0, _0812F660 @ =gUnknown_03004DC0
+ ldr r0, _0812F660 @ =gScanlineEffect
mov r10, r0
ldr r1, [sp, 0x4]
lsls r0, r1, 16
@@ -6856,7 +6856,7 @@ _0812F636:
strh r0, [r6, 0xE]
b _0812F676
.align 2, 0
-_0812F660: .4byte gUnknown_03004DC0
+_0812F660: .4byte gScanlineEffect
_0812F664: .4byte gUnknown_03004DE0
_0812F668: .4byte gSineTable
_0812F66C: .4byte 0xffff0000
@@ -6898,14 +6898,14 @@ _0812F6A6:
asrs r0, 16
cmp r0, 0xC
ble _0812F712
- ldr r1, _0812F6C0 @ =gUnknown_03004DC0
+ ldr r1, _0812F6C0 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
movs r0, 0
strh r0, [r6, 0xC]
b _0812F700
.align 2, 0
-_0812F6C0: .4byte gUnknown_03004DC0
+_0812F6C0: .4byte gScanlineEffect
_0812F6C4:
ldrh r0, [r6, 0xC]
adds r0, 0x1
diff --git a/asm/battle_intro.s b/asm/battle_intro.s
index 4bfcf42fb..16689a911 100755
--- a/asm/battle_intro.s
+++ b/asm/battle_intro.s
@@ -299,7 +299,7 @@ _080E45E6:
strh r0, [r1, 0xC]
_080E45FE:
movs r3, 0
- ldr r5, _080E46A0 @ =gUnknown_03004DC0
+ ldr r5, _080E46A0 @ =gScanlineEffect
mov r9, r5
ldr r7, _080E46A4 @ =gUnknown_03004DE0
mov r6, r9
@@ -320,7 +320,7 @@ _080E460A:
cmp r3, 0x9F
bgt _080E464E
ldr r7, _080E46A4 @ =gUnknown_03004DE0
- ldr r6, _080E46A0 @ =gUnknown_03004DC0
+ ldr r6, _080E46A0 @ =gScanlineEffect
ldr r1, _080E46A8 @ =gTasks
mov r2, r12
adds r0, r2, r4
@@ -377,7 +377,7 @@ _080E4690: .4byte gBattle_BG1_Y
_080E4694: .4byte 0x0000ffc8
_080E4698: .4byte gBattle_WIN0V
_080E469C: .4byte 0xfffffc04
-_080E46A0: .4byte gUnknown_03004DC0
+_080E46A0: .4byte gScanlineEffect
_080E46A4: .4byte gUnknown_03004DE0
_080E46A8: .4byte gTasks
_080E46AC: .4byte 0x0600e000
@@ -669,7 +669,7 @@ _080E48CC:
strh r0, [r1, 0xC]
_080E48E0:
movs r3, 0
- ldr r4, _080E4978 @ =gUnknown_03004DC0
+ ldr r4, _080E4978 @ =gScanlineEffect
mov r8, r4
ldr r0, _080E497C @ =gUnknown_03004DE0
mov r12, r0
@@ -692,7 +692,7 @@ _080E48EE:
bgt _080E4932
ldr r1, _080E497C @ =gUnknown_03004DE0
mov r12, r1
- ldr r7, _080E4978 @ =gUnknown_03004DC0
+ ldr r7, _080E4978 @ =gScanlineEffect
ldr r1, _080E4980 @ =gTasks
adds r0, r6, r5
lsls r0, 3
@@ -745,7 +745,7 @@ _080E4932:
.align 2, 0
_080E4970: .4byte gBattle_WIN0V
_080E4974: .4byte 0xfffffc04
-_080E4978: .4byte gUnknown_03004DC0
+_080E4978: .4byte gScanlineEffect
_080E497C: .4byte gUnknown_03004DE0
_080E4980: .4byte gTasks
_080E4984: .4byte 0x0600e000
@@ -978,7 +978,7 @@ _080E4B3A:
strh r0, [r1, 0xC]
_080E4B50:
movs r3, 0
- ldr r6, _080E4BE8 @ =gUnknown_03004DC0
+ ldr r6, _080E4BE8 @ =gScanlineEffect
mov r8, r6
ldr r7, _080E4BEC @ =gUnknown_03004DE0
adds r5, r1, 0
@@ -998,7 +998,7 @@ _080E4B5A:
cmp r3, 0x9F
bgt _080E4B9E
ldr r7, _080E4BEC @ =gUnknown_03004DE0
- ldr r6, _080E4BE8 @ =gUnknown_03004DC0
+ ldr r6, _080E4BE8 @ =gScanlineEffect
ldr r1, _080E4BF0 @ =gTasks
mov r2, r12
adds r0, r2, r4
@@ -1053,7 +1053,7 @@ _080E4B9E:
.align 2, 0
_080E4BE0: .4byte gBattle_WIN0V
_080E4BE4: .4byte 0xfffffc04
-_080E4BE8: .4byte gUnknown_03004DC0
+_080E4BE8: .4byte gScanlineEffect
_080E4BEC: .4byte gUnknown_03004DE0
_080E4BF0: .4byte gTasks
_080E4BF4: .4byte 0x0600e000
@@ -1323,7 +1323,7 @@ _080E4E00:
strh r0, [r1, 0xC]
_080E4E16:
movs r3, 0
- ldr r0, _080E4EA4 @ =gUnknown_03004DC0
+ ldr r0, _080E4EA4 @ =gScanlineEffect
mov r9, r0
ldr r2, _080E4EA8 @ =gUnknown_03004DE0
mov r8, r2
@@ -1346,7 +1346,7 @@ _080E4E24:
bgt _080E4E68
ldr r0, _080E4EA8 @ =gUnknown_03004DE0
mov r8, r0
- ldr r7, _080E4EA4 @ =gUnknown_03004DC0
+ ldr r7, _080E4EA4 @ =gScanlineEffect
ldr r1, _080E4EAC @ =gTasks
adds r0, r5, r6
lsls r0, 3
@@ -1395,7 +1395,7 @@ _080E4E94:
.align 2, 0
_080E4E9C: .4byte gBattle_WIN0V
_080E4EA0: .4byte 0xfffffc04
-_080E4EA4: .4byte gUnknown_03004DC0
+_080E4EA4: .4byte gScanlineEffect
_080E4EA8: .4byte gUnknown_03004DE0
_080E4EAC: .4byte gTasks
_080E4EB0: .4byte REG_BG1CNT
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 71788c918..9d9ead35b 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -532,7 +532,7 @@ sub_80C2448: @ 80C2448
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_8089668
+ bl ScanlineEffect_TransferDma
pop {r0}
bx r0
.align 2, 0
diff --git a/asm/dark.s b/asm/dark.s
index f3274861c..37fdace81 100755
--- a/asm/dark.s
+++ b/asm/dark.s
@@ -575,7 +575,7 @@ _080E0380:
.align 2, 0
_080E0398: .4byte gBattle_WIN0H
_080E039C:
- ldr r1, _080E03AC @ =gUnknown_03004DC0
+ ldr r1, _080E03AC @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_080E03A2:
@@ -584,7 +584,7 @@ _080E03A2:
strh r0, [r4, 0x8]
b _080E03B6
.align 2, 0
-_080E03AC: .4byte gUnknown_03004DC0
+_080E03AC: .4byte gScanlineEffect
_080E03B0:
adds r0, r2, 0
bl DestroyAnimVisualTask
@@ -1043,7 +1043,7 @@ _080E0732:
.align 2, 0
_080E0750: .4byte REG_BLDALPHA
_080E0754:
- ldr r1, _080E0764 @ =gUnknown_03004DC0
+ ldr r1, _080E0764 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_080E075A:
@@ -1052,7 +1052,7 @@ _080E075A:
strh r0, [r4, 0x8]
b _080E0784
.align 2, 0
-_080E0764: .4byte gUnknown_03004DC0
+_080E0764: .4byte gScanlineEffect
_080E0768:
ldr r0, _080E078C @ =gBattle_WIN0H
movs r1, 0
@@ -1104,7 +1104,7 @@ sub_80E079C: @ 80E079C
ble _080E07FC
ldr r0, _080E0888 @ =gUnknown_03004DE0
mov r12, r0
- ldr r7, _080E088C @ =gUnknown_03004DC0
+ ldr r7, _080E088C @ =gScanlineEffect
_080E07D0:
lsls r2, r4, 16
asrs r2, 16
@@ -1138,7 +1138,7 @@ _080E07FC:
bgt _080E0846
ldr r0, _080E0888 @ =gUnknown_03004DE0
mov r12, r0
- ldr r7, _080E088C @ =gUnknown_03004DC0
+ ldr r7, _080E088C @ =gScanlineEffect
_080E0810:
asrs r4, r3, 16
cmp r4, 0
@@ -1180,7 +1180,7 @@ _080E0846:
cmp r1, r0
bge _080E08BE
ldr r7, _080E0888 @ =gUnknown_03004DE0
- ldr r4, _080E088C @ =gUnknown_03004DC0
+ ldr r4, _080E088C @ =gScanlineEffect
_080E085E:
asrs r3, r2, 16
cmp r3, 0
@@ -1205,7 +1205,7 @@ _080E0876:
b _080E08BE
.align 2, 0
_080E0888: .4byte gUnknown_03004DE0
-_080E088C: .4byte gUnknown_03004DC0
+_080E088C: .4byte gScanlineEffect
_080E0890:
movs r1, 0x1C
ldrsh r0, [r6, r1]
diff --git a/asm/dragon.s b/asm/dragon.s
index 7c4ea0547..c9a2d490a 100755
--- a/asm/dragon.s
+++ b/asm/dragon.s
@@ -630,7 +630,7 @@ _080DFA8A:
bl sub_80DFAB0
b _080DFAAA
_080DFA92:
- ldr r1, _080DFAA0 @ =gUnknown_03004DC0
+ ldr r1, _080DFAA0 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
ldrh r0, [r2, 0x8]
@@ -638,7 +638,7 @@ _080DFA92:
strh r0, [r2, 0x8]
b _080DFAAA
.align 2, 0
-_080DFAA0: .4byte gUnknown_03004DC0
+_080DFAA0: .4byte gScanlineEffect
_080DFAA4:
adds r0, r3, 0
bl DestroyAnimVisualTask
@@ -663,7 +663,7 @@ sub_80DFAB0: @ 80DFAB0
mov r12, r7
ldr r0, _080DFB20 @ =gSineTable
mov r8, r0
- ldr r6, _080DFB24 @ =gUnknown_03004DC0
+ ldr r6, _080DFB24 @ =gScanlineEffect
_080DFACE:
lsls r2, r4, 1
ldrb r1, [r6, 0x14]
@@ -707,7 +707,7 @@ _080DFB06:
.align 2, 0
_080DFB1C: .4byte gUnknown_03004DE0
_080DFB20: .4byte gSineTable
-_080DFB24: .4byte gUnknown_03004DC0
+_080DFB24: .4byte gScanlineEffect
thumb_func_end sub_80DFAB0
thumb_func_start sub_80DFB28
diff --git a/asm/ghost.s b/asm/ghost.s
index 0db176d08..daf7cd9a5 100755
--- a/asm/ghost.s
+++ b/asm/ghost.s
@@ -1334,7 +1334,7 @@ _080DE584:
_080DE59C:
movs r2, 0x2
movs r3, 0x6
- bl sub_8089944
+ bl ScanlineEffect_InitWave
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x1C]
@@ -1507,7 +1507,7 @@ _080DE6E8:
beq _080DE740
b _080DE7AA
_080DE6EE:
- ldr r1, _080DE710 @ =gUnknown_03004DC0
+ ldr r1, _080DE710 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
movs r0, 0x1
@@ -1523,7 +1523,7 @@ _080DE6EE:
ldr r0, _080DE714 @ =0x0000fdff
b _080DE720
.align 2, 0
-_080DE710: .4byte gUnknown_03004DC0
+_080DE710: .4byte gScanlineEffect
_080DE714: .4byte 0x0000fdff
_080DE718:
movs r2, 0x80
diff --git a/asm/ground.s b/asm/ground.s
index fd4cecbfd..00abfd4f3 100755
--- a/asm/ground.s
+++ b/asm/ground.s
@@ -631,7 +631,7 @@ _080E13D6:
_080E13F8: .4byte gBattle_BG2_Y
_080E13FC: .4byte gSprites
_080E1400:
- ldr r1, _080E1410 @ =gUnknown_03004DC0
+ ldr r1, _080E1410 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_080E1406:
@@ -640,7 +640,7 @@ _080E1406:
strh r0, [r4, 0x8]
b _080E1432
.align 2, 0
-_080E1410: .4byte gUnknown_03004DC0
+_080E1410: .4byte gScanlineEffect
_080E1414:
adds r0, r2, 0
bl DestroyAnimVisualTask
@@ -925,7 +925,7 @@ _080E161C:
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080E1662
- ldr r1, _080E1658 @ =gUnknown_03004DC0
+ ldr r1, _080E1658 @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_080E164A:
@@ -935,7 +935,7 @@ _080E164A:
b _080E1662
.align 2, 0
_080E1654: .4byte gSprites
-_080E1658: .4byte gUnknown_03004DC0
+_080E1658: .4byte gScanlineEffect
_080E165C:
adds r0, r2, 0
bl DestroyAnimVisualTask
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 7c766addc..3e410872e 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -11013,14 +11013,14 @@ _080F5BD8: .4byte gUnknown_083E4990
thumb_func_start sub_80F5BDC
sub_80F5BDC: @ 80F5BDC
push {lr}
- ldr r1, _080F5BEC @ =gUnknown_03004DC0
+ ldr r1, _080F5BEC @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
- bl sub_8089668
+ bl ScanlineEffect_TransferDma
pop {r0}
bx r0
.align 2, 0
-_080F5BEC: .4byte gUnknown_03004DC0
+_080F5BEC: .4byte gScanlineEffect
thumb_func_end sub_80F5BDC
thumb_func_start sub_80F5BF0
diff --git a/asm/psychic.s b/asm/psychic.s
index 20e558bf6..bdc230dcb 100755
--- a/asm/psychic.s
+++ b/asm/psychic.s
@@ -1753,7 +1753,7 @@ _080DC4BE:
ble _080DC4E6
b _080DC4D4
_080DC4CE:
- ldr r1, _080DC4DC @ =gUnknown_03004DC0
+ ldr r1, _080DC4DC @ =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_080DC4D4:
@@ -1762,7 +1762,7 @@ _080DC4D4:
strh r0, [r5, 0x8]
b _080DC4E6
.align 2, 0
-_080DC4DC: .4byte gUnknown_03004DC0
+_080DC4DC: .4byte gScanlineEffect
_080DC4E0:
adds r0, r2, 0
bl DestroyAnimVisualTask
diff --git a/asm/water.s b/asm/water.s
index d72f9438c..4336374aa 100755
--- a/asm/water.s
+++ b/asm/water.s
@@ -476,7 +476,7 @@ _080D3EE8:
cmp r3, r0
bge _080D3F1C
ldr r6, _080D3F80 @ =gUnknown_03004DE0
- ldr r5, _080D3F84 @ =gUnknown_03004DC0
+ ldr r5, _080D3F84 @ =gScanlineEffect
_080D3EF6:
lsls r1, r3, 16
asrs r1, 16
@@ -506,7 +506,7 @@ _080D3F1C:
cmp r1, r0
bge _080D3F50
ldr r6, _080D3F80 @ =gUnknown_03004DE0
- ldr r5, _080D3F84 @ =gUnknown_03004DC0
+ ldr r5, _080D3F84 @ =gScanlineEffect
_080D3F2E:
asrs r3, r2, 16
lsls r2, r3, 1
@@ -532,7 +532,7 @@ _080D3F50:
cmp r0, 0x9F
bgt _080D4032
ldr r6, _080D3F80 @ =gUnknown_03004DE0
- ldr r5, _080D3F84 @ =gUnknown_03004DC0
+ ldr r5, _080D3F84 @ =gScanlineEffect
_080D3F5E:
asrs r3, r1, 16
lsls r2, r3, 1
@@ -552,7 +552,7 @@ _080D3F5E:
b _080D4032
.align 2, 0
_080D3F80: .4byte gUnknown_03004DE0
-_080D3F84: .4byte gUnknown_03004DC0
+_080D3F84: .4byte gScanlineEffect
_080D3F88:
movs r3, 0
movs r1, 0x10
@@ -560,7 +560,7 @@ _080D3F88:
cmp r3, r0
bge _080D3FBC
ldr r6, _080D403C @ =gUnknown_03004DE0
- ldr r5, _080D4040 @ =gUnknown_03004DC0
+ ldr r5, _080D4040 @ =gScanlineEffect
_080D3F96:
lsls r1, r3, 16
asrs r1, 16
@@ -590,7 +590,7 @@ _080D3FBC:
cmp r1, r0
bge _080D3FF0
ldr r6, _080D403C @ =gUnknown_03004DE0
- ldr r5, _080D4040 @ =gUnknown_03004DC0
+ ldr r5, _080D4040 @ =gScanlineEffect
_080D3FCE:
asrs r3, r2, 16
lsls r2, r3, 1
@@ -616,7 +616,7 @@ _080D3FF0:
cmp r0, 0x9F
bgt _080D401C
ldr r6, _080D403C @ =gUnknown_03004DE0
- ldr r5, _080D4040 @ =gUnknown_03004DC0
+ ldr r5, _080D4040 @ =gScanlineEffect
_080D3FFE:
asrs r3, r1, 16
lsls r2, r3, 1
@@ -640,7 +640,7 @@ _080D401C:
negs r0, r0
cmp r1, r0
bne _080D4032
- bl remove_some_task
+ bl ScanlineEffect_Stop
adds r0, r7, 0
bl DestroyTask
_080D4032:
@@ -650,7 +650,7 @@ _080D4032:
bx r0
.align 2, 0
_080D403C: .4byte gUnknown_03004DE0
-_080D4040: .4byte gUnknown_03004DC0
+_080D4040: .4byte gScanlineEffect
thumb_func_end sub_80D3D68
thumb_func_start sub_80D4044
diff --git a/include/scanline_effect.h b/include/scanline_effect.h
index 011e5f5b5..b28973eb3 100644
--- a/include/scanline_effect.h
+++ b/include/scanline_effect.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_UNKNOWN_TASK_H
-#define GUARD_UNKNOWN_TASK_H
+#ifndef GUARD_SCANLINE_EFFECT_H
+#define GUARD_SCANLINE_EFFECT_H
struct UnknownTaskStruct
{
@@ -9,7 +9,7 @@ struct UnknownTaskStruct
u8 unk9;
};
-struct UnknownTaskStruct2
+struct ScanlineEffect
{
void *src[2];
volatile void *dest;
@@ -23,20 +23,20 @@ struct UnknownTaskStruct2
u8 filler19[0x7];
};
-extern struct UnknownTaskStruct2 gUnknown_03004DC0;
+extern struct ScanlineEffect gScanlineEffect;
extern u16 gUnknown_03004DE0[][0x3C0];
-void remove_some_task(void);
-void remove_some_task(void);
+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 sub_8089668(void);
-void sub_8089668();
-//void sub_8089944(int i, int i1, int i2, int i3, int i4, int i5, int i6);
-u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7);
+void ScanlineEffect_TransferDma(void);
+void ScanlineEffect_TransferDma();
+//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);
-#endif // GUARD_UNKNOWN_TASK_H
+#endif // GUARD_SCANLINE_EFFECT_H
diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c
index 0508eed8c..ac1ae08cb 100755
--- a/src/battle/anim/draw.c
+++ b/src/battle/anim/draw.c
@@ -97,7 +97,7 @@ void sub_80D0D68(u8 taskId)
if (++task->data[3] >= task->data[15])
{
- gUnknown_03004DC0.unk15 = 3;
+ gScanlineEffect.unk15 = 3;
DestroyAnimVisualTask(taskId);
}
}
@@ -202,7 +202,7 @@ _080D0E04:\n\
ldrsh r1, [r3, r2]\n\
cmp r0, r1\n\
blt _080D0E22\n\
- ldr r1, _080D0E2C @ =gUnknown_03004DC0\n\
+ ldr r1, _080D0E2C @ =gScanlineEffect\n\
movs r0, 0x3\n\
strb r0, [r1, 0x15]\n\
adds r0, r4, 0\n\
@@ -213,7 +213,7 @@ _080D0E22:\n\
bx r0\n\
.align 2, 0\n\
_080D0E28: .4byte gUnknown_03004DE0\n\
-_080D0E2C: .4byte gUnknown_03004DC0\n\
+_080D0E2C: .4byte gScanlineEffect\n\
.syntax divided\n");
}
#endif
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index 20daf4052..da6c9a2b4 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -1073,7 +1073,7 @@ void sub_800FCFC(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
void nullsub_36(struct Sprite *sprite)
diff --git a/src/contest.c b/src/contest.c
index 9f8fe976a..e39ce3daa 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -635,7 +635,7 @@ void ContestVBlankCallback(void)
TransferPlttBuffer();
LoadOam();
ProcessSpriteCopyRequests();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
void sub_80ABB70(u8 taskId)
diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c
index 25890e3ea..85a8800e7 100644
--- a/src/debug/matsuda_debug_menu.c
+++ b/src/debug/matsuda_debug_menu.c
@@ -516,7 +516,7 @@ static void sub_80AA090(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
static void sub_80AA10C(void)
diff --git a/src/easy_chat_1.c b/src/easy_chat_1.c
index a5fc1dee9..7ca647b93 100644
--- a/src/easy_chat_1.c
+++ b/src/easy_chat_1.c
@@ -298,7 +298,7 @@ void sub_80E62F8(void)
ResetPaletteFade();
ResetSpriteData();
dp12_8087EA4();
- remove_some_task();
+ ScanlineEffect_Stop();
sub_80EAD08();
sub_80895F8(gUnknown_083DB698);
FreeSpriteTileRanges();
@@ -655,7 +655,7 @@ void sub_80E6A6C(void)
ProcessSpriteCopyRequests();
sub_80EAC5C();
TransferPlttBuffer();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
void sub_80E6A88(void)
diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c
index 48e005cab..0f12b978d 100644
--- a/src/easy_chat_2.c
+++ b/src/easy_chat_2.c
@@ -2053,7 +2053,7 @@ void sub_80EAD08(void)
u16 r2;
u16 i;
- r4 = gUnknown_03004DE0[gUnknown_03004DC0.srcBank];
+ r4 = gUnknown_03004DE0[gScanlineEffect.srcBank];
r4 += 88;
r2 = (gEasyChatStruct->unk1BA - 88) & 0xFF;
diff --git a/src/engine/main.c b/src/engine/main.c
index d1ccffea0..1bed4080b 100644
--- a/src/engine/main.c
+++ b/src/engine/main.c
@@ -350,7 +350,7 @@ void DoSoftReset(void)
{
REG_IME = 0;
m4aSoundVSyncOff();
- remove_some_task();
+ ScanlineEffect_Stop();
DmaStop(1);
DmaStop(2);
DmaStop(3);
diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c
index 3402d93bc..a0b8b7020 100644
--- a/src/engine/main_menu.c
+++ b/src/engine/main_menu.c
@@ -229,7 +229,7 @@ u32 InitMainMenu(u8 a1)
ResetPaletteFade();
LoadPalette(gMainMenuPalette, 0, 32);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
@@ -763,7 +763,7 @@ static void Task_NewGameSpeech1(u8 taskId)
LZ77UnCompVram(gUnknown_081E7834, (void *)(BG_VRAM + 0x3800));
LoadPalette(gUnknown_081E764C, 0, 0x40);
LoadPalette(gUnknown_081E796C, 1, 0x10);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetSpriteData();
FreeAllSpritePalettes();
AddBirchSpeechObjects(taskId);
@@ -1368,7 +1368,7 @@ void CB_ContinueNewGameSpeechPart2()
gTasks[taskId].tBGhofs = -60;
- remove_some_task();
+ ScanlineEffect_Stop();
ResetSpriteData();
FreeAllSpritePalettes();
AddBirchSpeechObjects(taskId);
diff --git a/src/engine/option_menu.c b/src/engine/option_menu.c
index 868830880..cb5f66649 100644
--- a/src/engine/option_menu.c
+++ b/src/engine/option_menu.c
@@ -8,7 +8,7 @@
#include "task.h"
extern void SetPokemonCryStereo(u32 val);
-extern void remove_some_task(void);
+extern void ScanlineEffect_Stop(void);
//Task data
enum {
@@ -110,7 +110,7 @@ void CB2_InitOptionMenu(void)
}
case 1:
ResetPaletteFade();
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
gMain.state++;
diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c
index 5297b3378..d077bc670 100644
--- a/src/engine/reset_rtc_screen.c
+++ b/src/engine/reset_rtc_screen.c
@@ -438,7 +438,7 @@ void CB2_InitResetRtcScreen(void)
ResetOamRange(0, 128);
LoadOam();
- remove_some_task();
+ ScanlineEffect_Stop();
dp12_8087EA4();
ResetSpriteData();
ResetTasks();
diff --git a/src/field/diploma.c b/src/field/diploma.c
index 70e4e4349..978eca7eb 100644
--- a/src/field/diploma.c
+++ b/src/field/diploma.c
@@ -62,7 +62,7 @@ void CB2_ShowDiploma(void)
LZ77UnCompVram(gDiplomaTiles, (void *)VRAM);
LZ77UnCompVram(gDiplomaTilemap, (void *)(VRAM + 0x3000));
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/src/field/field_screen_effect.c b/src/field/field_screen_effect.c
index 5f5113a2f..b5141e7ea 100644
--- a/src/field/field_screen_effect.c
+++ b/src/field/field_screen_effect.c
@@ -64,18 +64,18 @@ static void sub_8081424(u8 taskId)
switch (data[0])
{
case 0:
- sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.srcBank][0], data[1], data[2], data[3]);
+ sub_8081398(&gUnknown_03004DE0[gScanlineEffect.srcBank][0], data[1], data[2], data[3]);
data[0] = 1;
break;
case 1:
- sub_8081398(&gUnknown_03004DE0[gUnknown_03004DC0.srcBank][0], data[1], data[2], data[3]);
+ sub_8081398(&gUnknown_03004DE0[gScanlineEffect.srcBank][0], data[1], data[2], data[3]);
data[0] = 0;
data[3] += data[5];
if (data[3] > data[4])
{
if (data[6] == 1)
{
- remove_some_task();
+ ScanlineEffect_Stop();
data[0] = 2;
}
else
diff --git a/src/field/item_menu.c b/src/field/item_menu.c
index fe896ac51..e0575af4c 100644
--- a/src/field/item_menu.c
+++ b/src/field/item_menu.c
@@ -397,7 +397,7 @@ static bool8 SetupBagMultistep(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/field/overworld.c b/src/field/overworld.c
index 75e3aa6d5..e90fc6396 100644
--- a/src/field/overworld.c
+++ b/src/field/overworld.c
@@ -1410,7 +1410,7 @@ void VBlankCB_Field(void)
{
LoadOam();
ProcessSpriteCopyRequests();
- sub_8089668();
+ ScanlineEffect_TransferDma();
sub_8057A58();
TransferPlttBuffer();
sub_8072E74();
@@ -1669,7 +1669,7 @@ void sub_8054BA8(void)
REG_DISPCNT = 0;
- remove_some_task();
+ ScanlineEffect_Stop();
DmaClear16(3, PLTT + 2, PLTT_SIZE - 2);
diff --git a/src/field/party_menu.c b/src/field/party_menu.c
index 7e443a116..7d243f569 100644
--- a/src/field/party_menu.c
+++ b/src/field/party_menu.c
@@ -648,7 +648,7 @@ bool8 InitPartyMenu(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c
index ea96a4efd..7e8bdc2ce 100644
--- a/src/field/pokeblock.c
+++ b/src/field/pokeblock.c
@@ -255,7 +255,7 @@ static bool8 sub_810B6C0(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/field/shop.c b/src/field/shop.c
index a3e361733..1dc6ba0cd 100644
--- a/src/field/shop.c
+++ b/src/field/shop.c
@@ -266,7 +266,7 @@ void BuyMenuDrawGraphics(void)
register u16 zero2 asm("r5");
sub_80F9438();
- remove_some_task();
+ ScanlineEffect_Stop();
REG_BG1HOFS = (zero2 = 0);
REG_BG1VOFS = zero2;
REG_BG2HOFS = zero2;
diff --git a/src/field/start_menu.c b/src/field/start_menu.c
index d7d0282c6..6017f56bf 100644
--- a/src/field/start_menu.c
+++ b/src/field/start_menu.c
@@ -750,7 +750,7 @@ static bool32 sub_80719FC(u8 *step)
REG_DISPCNT = 0;
SetVBlankCallback(NULL);
- remove_some_task();
+ ScanlineEffect_Stop();
DmaClear16(3, PLTT, PLTT_SIZE);
addr = (void *)VRAM;
size = 0x18000;
diff --git a/src/field/starter_choose.c b/src/field/starter_choose.c
index d3cfba1e3..418488774 100644
--- a/src/field/starter_choose.c
+++ b/src/field/starter_choose.c
@@ -285,7 +285,7 @@ void CB2_ChooseStarter(void)
LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000));
LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c
index 9363498ba..4af7be386 100644
--- a/src/field/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -117,7 +117,7 @@ static void sub_81365A0(void);
static void sub_81365C8(void);
static void sub_8136638(void);
static void sub_81368A4(void);
-void sub_8089668(void);
+void ScanlineEffect_TransferDma(void);
static void sub_8136B44(void);
static u8 sub_81370E4(u8);
static void sub_8136BB8(void);
@@ -194,7 +194,7 @@ static void sub_8136264(void)
ProcessSpriteCopyRequests();
TransferPlttBuffer();
sub_80F5CDC(6);
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
static void launch_c3_walk_stairs_and_run_once(void (*const func)(void))
diff --git a/src/field/wallclock.c b/src/field/wallclock.c
index bc12db819..aaa7f9ae8 100644
--- a/src/field/wallclock.c
+++ b/src/field/wallclock.c
@@ -229,7 +229,7 @@ static void LoadWallClockGraphics(void)
LoadPalette(gMiscClockMale_Pal, 0, 32);
else
LoadPalette(gMiscClockFemale_Pal, 0, 32);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c
index 95424e890..921a3ad93 100644
--- a/src/pokemon/mail.c
+++ b/src/pokemon/mail.c
@@ -320,7 +320,7 @@ static u8 sub_80F8A28(void)
{
case 0:
SetVBlankCallback(NULL);
- remove_some_task();
+ ScanlineEffect_Stop();
REG_DISPCNT = 0;
RETURN_UP_STATE;
diff --git a/src/pokemon/pokedex.c b/src/pokemon/pokedex.c
index 306cac3c9..4fb6a4920 100644
--- a/src/pokemon/pokedex.c
+++ b/src/pokemon/pokedex.c
@@ -1419,7 +1419,7 @@ void CB2_InitPokedex(void)
}
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
@@ -1494,7 +1494,7 @@ u8 unref_sub_808C540(void (*func)(u8))
SetVBlankCallback(NULL);
sub_8091060(0x200);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetPaletteFade();
savedIme = REG_IME;
diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c
index 4e2be1418..ec327796a 100644
--- a/src/pokemon/pokemon_summary_screen.c
+++ b/src/pokemon/pokemon_summary_screen.c
@@ -701,7 +701,7 @@ bool8 sub_809DA84(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index fb197cee2..7439fc077 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -329,7 +329,7 @@ void sub_80EBA5C()
ResetTasks();
break;
case 6:
- remove_some_task();
+ ScanlineEffect_Stop();
break;
case 7:
sub_80F1A90();
@@ -436,7 +436,7 @@ void sub_80EBD4C()
ProcessSpriteCopyRequests();
TransferPlttBuffer();
sub_80F5BF0();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
void sub_80EBD68()
diff --git a/src/roulette.c b/src/roulette.c
index ae16b1460..6d79f9d38 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -578,7 +578,7 @@ void sub_8115384(void)
{
case 0x0:
SetVBlankCallback(NULL);
- remove_some_task();
+ ScanlineEffect_Stop();
sub_80F9438();
sub_80F9368();
REG_BG2CNT = 0x4686;
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index 670f2d9b3..e9cf0d02a 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -4,6 +4,9 @@
#include "trig.h"
#include "scanline_effect.h"
+// Control value to ransfer a single 16-bit value at HBlank
+#define HBLANK_DMA_CONTROL_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1)
+
static void sub_80896F4(void);
static void sub_8089714(void);
@@ -18,89 +21,89 @@ extern u16 gBattle_BG1_X;
extern u8 gUnknown_0202FFA4;
-extern struct UnknownTaskStruct2 gUnknown_03004DC0;
+extern struct ScanlineEffect gScanlineEffect;
// Is this a struct?
extern u16 gUnknown_03004DE0[][0x3C0];
-void remove_some_task(void)
+void ScanlineEffect_Stop(void)
{
- gUnknown_03004DC0.unk15 = 0;
+ gScanlineEffect.unk15 = 0;
DmaStop(0);
- if (gUnknown_03004DC0.taskId != 0xFF)
+ if (gScanlineEffect.taskId != 0xFF)
{
- DestroyTask(gUnknown_03004DC0.taskId);
- gUnknown_03004DC0.taskId = 0xFF;
+ DestroyTask(gScanlineEffect.taskId);
+ gScanlineEffect.taskId = 0xFF;
}
}
void dp12_8087EA4(void)
{
CpuFill16(0, gUnknown_03004DE0, 0x780 * 2);
- gUnknown_03004DC0.src[0] = 0;
- gUnknown_03004DC0.src[1] = 0;
- gUnknown_03004DC0.dest = 0;
- gUnknown_03004DC0.unkC = 0;
- gUnknown_03004DC0.srcBank = 0;
- gUnknown_03004DC0.unk15 = 0;
- gUnknown_03004DC0.unk16 = 0;
- gUnknown_03004DC0.unk17 = 0;
- gUnknown_03004DC0.taskId = 0xFF;
+ gScanlineEffect.src[0] = 0;
+ gScanlineEffect.src[1] = 0;
+ gScanlineEffect.dest = 0;
+ gScanlineEffect.unkC = 0;
+ gScanlineEffect.srcBank = 0;
+ gScanlineEffect.unk15 = 0;
+ gScanlineEffect.unk16 = 0;
+ gScanlineEffect.unk17 = 0;
+ gScanlineEffect.taskId = 0xFF;
}
void sub_80895F8(struct UnknownTaskStruct unk)
{
- if (unk.control == (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1))
+ if (unk.control == HBLANK_DMA_CONTROL_16BIT) // 16 bit
{
- gUnknown_03004DC0.src[0] = &gUnknown_03004DE0[0][1];
- gUnknown_03004DC0.src[1] = &gUnknown_03004DE0[1][1];
- gUnknown_03004DC0.unk10 = sub_80896F4;
+ gScanlineEffect.src[0] = &gUnknown_03004DE0[0][1];
+ gScanlineEffect.src[1] = &gUnknown_03004DE0[1][1];
+ gScanlineEffect.unk10 = sub_80896F4;
}
- else
+ else // assume 32-bit
{
- gUnknown_03004DC0.src[0] = &gUnknown_03004DE0[0][2];
- gUnknown_03004DC0.src[1] = &gUnknown_03004DE0[1][2];
- gUnknown_03004DC0.unk10 = sub_8089714;
+ gScanlineEffect.src[0] = &gUnknown_03004DE0[0][2];
+ gScanlineEffect.src[1] = &gUnknown_03004DE0[1][2];
+ gScanlineEffect.unk10 = sub_8089714;
}
- gUnknown_03004DC0.unkC = unk.control;
- gUnknown_03004DC0.dest = unk.dest;
- gUnknown_03004DC0.unk15 = unk.unk8;
- gUnknown_03004DC0.unk16 = unk.unk9;
- gUnknown_03004DC0.unk17 = unk.unk9;
+ gScanlineEffect.unkC = unk.control;
+ gScanlineEffect.dest = unk.dest;
+ gScanlineEffect.unk15 = unk.unk8;
+ gScanlineEffect.unk16 = unk.unk9;
+ gScanlineEffect.unk17 = unk.unk9;
}
-void sub_8089668(void)
+void ScanlineEffect_TransferDma(void)
{
- if (gUnknown_03004DC0.unk15)
+ if (gScanlineEffect.unk15)
{
- if (gUnknown_03004DC0.unk15 == 3)
+ if (gScanlineEffect.unk15 == 3)
{
- gUnknown_03004DC0.unk15 = 0;
+ gScanlineEffect.unk15 = 0;
DmaStop(0);
gUnknown_0202FFA4 = 1;
}
else
{
DmaStop(0);
- DmaSet(0, gUnknown_03004DC0.src[gUnknown_03004DC0.srcBank], gUnknown_03004DC0.dest, gUnknown_03004DC0.unkC);
- gUnknown_03004DC0.unk10();
- gUnknown_03004DC0.srcBank ^= 1;
+ DmaSet(0, gScanlineEffect.src[gScanlineEffect.srcBank], gScanlineEffect.dest, gScanlineEffect.unkC);
+ gScanlineEffect.unk10();
+ gScanlineEffect.srcBank ^= 1;
}
}
}
static void sub_80896F4(void)
{
- u16 *dest = (u16 *)gUnknown_03004DC0.dest;
- u16 *src = (u16 *)&gUnknown_03004DE0[gUnknown_03004DC0.srcBank];
+ u16 *dest = (u16 *)gScanlineEffect.dest;
+ u16 *src = (u16 *)&gUnknown_03004DE0[gScanlineEffect.srcBank];
*dest = *src;
}
static void sub_8089714(void)
{
- u32 *dest = (u32 *)gUnknown_03004DC0.dest;
- u32 *src = (u32 *)&gUnknown_03004DE0[gUnknown_03004DC0.srcBank];
+ u32 *dest = (u32 *)gScanlineEffect.dest;
+ u32 *src = (u32 *)&gUnknown_03004DE0[gScanlineEffect.srcBank];
*dest = *src;
}
@@ -111,7 +114,7 @@ static void task00_for_dp12(u8 taskId)
if (gUnknown_0202FFA4)
{
DestroyTask(taskId);
- gUnknown_03004DC0.taskId = 0xFF;
+ gScanlineEffect.taskId = 0xFF;
}
else
{
@@ -153,7 +156,7 @@ static void task00_for_dp12(u8 taskId)
offset = gTasks[taskId].data[3] + 320;
for (i = gTasks[taskId].data[0]; i < gTasks[taskId].data[1]; i++)
{
- gUnknown_03004DE0[gUnknown_03004DC0.srcBank][i] = gUnknown_03004DE0[0][offset] + value;
+ gUnknown_03004DE0[gScanlineEffect.srcBank][i] = gUnknown_03004DE0[0][offset] + value;
offset++;
}
}
@@ -165,7 +168,7 @@ static void task00_for_dp12(u8 taskId)
offset = gTasks[taskId].data[3] + 320;
for (i = gTasks[taskId].data[0]; i < gTasks[taskId].data[1]; i++)
{
- gUnknown_03004DE0[gUnknown_03004DC0.srcBank][i] = gUnknown_03004DE0[0][offset] + value;
+ gUnknown_03004DE0[gScanlineEffect.srcBank][i] = gUnknown_03004DE0[0][offset] + value;
offset++;
}
gTasks[taskId].data[3]++;
@@ -177,20 +180,20 @@ static void task00_for_dp12(u8 taskId)
}
}
-static void sub_80898FC(u16 *a1, u8 a2, u8 a3, u8 a4)
+static void GenerateWave(u16 *buffer, u8 frequency, u8 amplitude, u8 unused)
{
u16 i = 0;
- u8 offset = 0;
+ u8 theta = 0;
- while (i < 0x100)
+ while (i < 256)
{
- a1[i] = (gSineTable[offset] * a3) / 256;
- offset += a2;
+ buffer[i] = (gSineTable[theta] * amplitude) / 256;
+ theta += frequency;
i++;
}
}
-u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
+u8 ScanlineEffect_InitWave(u8 a1, u8 a2, u8 frequency, u8 amplitude, u8 a5, u8 a6, u8 a7)
{
int i;
int offset;
@@ -200,7 +203,7 @@ u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
dp12_8087EA4();
unk.dest = (void *)(REG_ADDR_BG0HOFS + a6);
- unk.control = ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1;
+ unk.control = HBLANK_DMA_CONTROL_16BIT;
unk.unk8 = 1;
unk.unk9 = 0;
@@ -210,17 +213,17 @@ u8 sub_8089944(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7)
gTasks[taskId].data[0] = a1;
gTasks[taskId].data[1] = a2;
- gTasks[taskId].data[2] = 256 / a3;
+ gTasks[taskId].data[2] = 256 / frequency;
gTasks[taskId].data[3] = 0;
gTasks[taskId].data[4] = a5;
gTasks[taskId].data[5] = a5;
gTasks[taskId].data[6] = a6;
gTasks[taskId].data[7] = a7;
- gUnknown_03004DC0.taskId = taskId;
+ gScanlineEffect.taskId = taskId;
gUnknown_0202FFA4 = 0;
- sub_80898FC(&gUnknown_03004DE0[0][320], a3, a4, a2 - a1);
+ GenerateWave(&gUnknown_03004DE0[0][320], frequency, amplitude, a2 - a1);
offset = 320;
diff --git a/src/scene/cable_car.c b/src/scene/cable_car.c
index bae037ff7..d8e099130 100644
--- a/src/scene/cable_car.c
+++ b/src/scene/cable_car.c
@@ -208,7 +208,7 @@ static void CableCarMainCallback_Setup(void)
case 0:
default:
SetVBlankCallback(NULL);
- remove_some_task();
+ ScanlineEffect_Stop();
DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000);
DmaFill32Defvars(3, 0, OAM, OAM_SIZE);
DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE);
diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c
index 3b68f0143..3aa898b03 100644
--- a/src/scene/contest_painting.c
+++ b/src/scene/contest_painting.c
@@ -147,7 +147,7 @@ static void ShowContestPainting(void)
switch (gMain.state)
{
case 0:
- remove_some_task();
+ ScanlineEffect_Stop();
SetVBlankCallback(NULL);
gUnknown_03005E8C = &ewram15DE0;
ContestPaintingInitVars(TRUE);
diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c
index dcca1fddb..54af6013f 100644
--- a/src/scene/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -215,7 +215,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
sub_800D6D4();
sub_800DAB8();
ResetSpriteData();
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
FreeAllSpritePalettes();
@@ -3934,7 +3934,7 @@ static void VBlankCB_EvolutionScene(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
static void VBlankCB_TradeEvolutionScene(void)
@@ -3950,7 +3950,7 @@ static void VBlankCB_TradeEvolutionScene(void)
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
- sub_8089668();
+ ScanlineEffect_TransferDma();
}
static void sub_81150D8(void)
diff --git a/src/scene/hall_of_fame.c b/src/scene/hall_of_fame.c
index 948c288ff..f39745c02 100644
--- a/src/scene/hall_of_fame.c
+++ b/src/scene/hall_of_fame.c
@@ -95,7 +95,7 @@ bool8 sub_80C5DCC(void);
bool8 sub_80C5F98(void);
void ReturnFromHallOfFamePC(void);
u16 SpeciesToPokedexNum(u16 species);
-void remove_some_task(void);
+void ScanlineEffect_Stop(void);
// data and gfx
@@ -1278,7 +1278,7 @@ static void sub_81433E0(void)
static void sub_8143570(void)
{
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
diff --git a/src/scene/intro.c b/src/scene/intro.c
index beceb6e90..d7d772a40 100644
--- a/src/scene/intro.c
+++ b/src/scene/intro.c
@@ -873,7 +873,7 @@ static u8 SetUpCopyrightScreen(void)
DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
ResetPaletteFade();
LoadCopyrightGraphics(0, 0x3800, 0);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
diff --git a/src/scene/title_screen.c b/src/scene/title_screen.c
index bd41ac641..ca4194800 100644
--- a/src/scene/title_screen.c
+++ b/src/scene/title_screen.c
@@ -598,7 +598,7 @@ static void StartPokemonLogoShine(bool8 flashBackground)
static void VBlankCB(void)
{
- sub_8089668();
+ ScanlineEffect_TransferDma();
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
@@ -644,7 +644,7 @@ void CB2_InitTitleScreen(void)
LZ77UnCompVram(sLegendaryMonTilemap, (void *)(VRAM + 0xC000));
LZ77UnCompVram(sBackdropTilemap, (void *)(VRAM + 0xC800));
LoadPalette(sLegendaryMonPalettes, 0xE0, sizeof(sLegendaryMonPalettes));
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
@@ -711,7 +711,7 @@ void CB2_InitTitleScreen(void)
if (!UpdatePaletteFade())
{
StartPokemonLogoShine(FALSE);
- sub_8089944(0, 0xA0, 4, 4, 0, 4, 1);
+ ScanlineEffect_InitWave(0, 0xA0, 4, 4, 0, 4, 1);
SetMainCallback2(MainCB2);
}
break;
diff --git a/sym_common.txt b/sym_common.txt
index f620e9e49..8defbe866 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -139,7 +139,7 @@ gUnknown_03004AE4: @ 3004AE4
@ unknown_task
.align 4
-gUnknown_03004DC0: @ 3004DC0
+gScanlineEffect: @ 3004DC0
.space 0x20
gUnknown_03004DE0: @ 3004DE0