summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Akashi <rubenru09@aol.com>2021-08-18 19:53:17 +0100
committerGitHub <noreply@github.com>2021-08-18 19:53:17 +0100
commitbb16d9a030161b764029628f99eb22a8834b96d5 (patch)
tree03de4ccb9a850663165c6f31741a1399a19810d9
parente947eab3f1d5315ba59ec989a02f6b84797e052b (diff)
parentbb8d0b174dfafd4d268a874ef55f2d09f510b82b (diff)
Merge pull request #451 from remicalixte/unk_02009EAC
Decompile and split unk_02009EAC.s
-rw-r--r--arm9/arm9.lsf3
-rw-r--r--arm9/asm/unk_02009EAC.s664
-rw-r--r--arm9/asm/unk_02048120.s6
-rw-r--r--arm9/asm/unk_02048904.s8
-rw-r--r--arm9/asm/unk_020772F0.s4
-rw-r--r--arm9/asm/unk_02080C38.s4
-rw-r--r--arm9/asm/unk_02089D90.s2
-rw-r--r--arm9/asm/unk_02089F24.s4
-rw-r--r--arm9/global.inc16
-rw-r--r--arm9/lib/libnns/include/NNS_g2d.h12
-rw-r--r--arm9/modules/05/asm/mod05_021D74E0.s6
-rw-r--r--arm9/modules/05/asm/mod05_021E3340.s10
-rw-r--r--arm9/modules/05/asm/mod05_021EFA9C.s2
-rw-r--r--arm9/modules/08/asm/module_08.s8
-rw-r--r--arm9/modules/12/asm/module_12.s14
-rw-r--r--arm9/modules/14/asm/module_14.s4
-rw-r--r--arm9/modules/15/asm/module_15.s4
-rw-r--r--arm9/modules/16/asm/module_16.s60
-rw-r--r--arm9/modules/17/asm/module_17.s22
-rw-r--r--arm9/modules/18/asm/module_18.s84
-rw-r--r--arm9/modules/53/asm/module_53.s4
-rw-r--r--arm9/modules/54/asm/module_54.s4
-rw-r--r--arm9/modules/55/asm/module_55.s4
-rw-r--r--arm9/modules/56/asm/module_56.s4
-rw-r--r--arm9/modules/57/asm/module_57.s4
-rw-r--r--arm9/modules/58/asm/module_58.s4
-rw-r--r--arm9/modules/59/asm/mod59_021D74E0_asm.s32
-rw-r--r--arm9/modules/63/asm/mod63_021D74E0.s20
-rw-r--r--arm9/modules/63/asm/mod63_021D8890.s12
-rw-r--r--arm9/modules/63/asm/mod63_021DA640.s2
-rw-r--r--arm9/modules/63/asm/mod63_021DAE5C.s2
-rw-r--r--arm9/modules/64/asm/module_64.s4
-rw-r--r--arm9/modules/69/asm/module_69.s5
-rw-r--r--arm9/modules/70/asm/module_70.s4
-rw-r--r--arm9/modules/71/asm/module_71.s12
-rw-r--r--arm9/modules/73/asm/module_73.s4
-rw-r--r--arm9/modules/80/asm/module_80.s4
-rw-r--r--arm9/modules/81/asm/module_81.s4
-rw-r--r--arm9/modules/82/asm/module_82.s4
-rw-r--r--arm9/modules/83/asm/module_83.s10
-rw-r--r--arm9/modules/84/asm/module_84_thumb1.s4
-rw-r--r--arm9/modules/84/asm/module_84_thumb2.s56
-rw-r--r--arm9/modules/85/asm/module_85.s4
-rw-r--r--arm9/src/brightness.c198
-rw-r--r--arm9/src/communication_error.c4
-rw-r--r--arm9/src/error_message_reset.c4
-rw-r--r--arm9/src/main.c7
-rw-r--r--arm9/src/oam.c169
-rw-r--r--arm9/src/unk_02008AA4.c2
-rw-r--r--arm9/src/unk_0200BB14.c16
-rw-r--r--arm9/src/wfc_user_info_warning.c4
-rw-r--r--include/brightness.h38
-rw-r--r--include/oam.h42
53 files changed, 706 insertions, 922 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 51b0b5c2..8287f133 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -24,7 +24,8 @@ Static arm9
Object unk_02006D98.o
Object unk_02008AA4.o
Object unk_02008DEC.o
- Object unk_02009EAC.o
+ Object oam.o
+ Object brightness.o
Object msgdata.o
Object script_buffers.o
Object unk_0200BA78.o
diff --git a/arm9/asm/unk_02009EAC.s b/arm9/asm/unk_02009EAC.s
deleted file mode 100644
index b08b52fd..00000000
--- a/arm9/asm/unk_02009EAC.s
+++ /dev/null
@@ -1,664 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .section .bss
-
- .global UNK_021C4670
-UNK_021C4670: ; 0x021C4670
- .space 0x4
-
- .global UNK_021C4674
-UNK_021C4674: ; 0x021C4674
- .space 0x20
-
- .global UNK_021C4694
-UNK_021C4694: ; 0x021C4694
- .space 0x20
-
- .text
-
- thumb_func_start FUN_02009EAC
-FUN_02009EAC: ; 0x02009EAC
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- cmp r4, #0x4
- bge _02009EC0
- mov r0, #0x4
- cmp r1, #0x7c
- ble _02009EC0
- sub r4, r0, r4
- sub r1, r1, r4
-_02009EC0:
- cmp r2, #0x1
- bge _02009ED0
- mov r4, #0x1
- cmp r3, #0x1e
- ble _02009ED2
- sub r2, r4, r2
- sub r3, r3, r2
- b _02009ED2
-_02009ED0:
- add r4, r2, #0x0
-_02009ED2:
- ldr r2, [sp, #0x20]
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x24]
- str r2, [sp, #0x4]
- ldr r2, [sp, #0x28]
- str r2, [sp, #0x8]
- ldr r2, [sp, #0x2c]
- str r2, [sp, #0xc]
- ldr r2, [sp, #0x30]
- str r2, [sp, #0x10]
- add r2, r4, #0x0
- bl FUN_02009EF0
- add sp, #0x14
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02009EF0
-FUN_02009EF0: ; 0x02009EF0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _02009F7C ; =UNK_021C4670
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- beq _02009F08
- bl GF_AssertFail
-_02009F08:
- ldr r0, [sp, #0x30]
- mov r1, #0x3c
- bl AllocFromHeap
- ldr r1, _02009F7C ; =UNK_021C4670
- cmp r0, #0x0
- str r0, [r1, #0x0]
- bne _02009F1C
- bl GF_AssertFail
-_02009F1C:
- ldr r1, _02009F7C ; =UNK_021C4670
- lsl r3, r6, #0x10
- ldr r2, [sp, #0x30]
- ldr r0, [r1, #0x0]
- lsr r3, r3, #0x10
- str r2, [r0, #0x38]
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r1, #0x0]
- lsl r1, r5, #0x10
- lsl r2, r4, #0x10
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- bl NNS_G2dGetNewOamManagerInstance
- cmp r0, #0x0
- bne _02009F48
- bl GF_AssertFail
-_02009F48:
- ldr r0, [sp, #0x2c]
- ldr r1, [sp, #0x20]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _02009F7C ; =UNK_021C4670
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x28]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- lsl r3, r3, #0x10
- add r0, #0x1c
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- lsr r3, r3, #0x10
- bl NNS_G2dGetNewOamManagerInstance
- cmp r0, #0x0
- bne _02009F78
- bl GF_AssertFail
-_02009F78:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02009F7C: .word UNK_021C4670
-
- thumb_func_start FUN_02009F80
-FUN_02009F80: ; 0x02009F80
- push {r3, lr}
- ldr r0, _02009F9C ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02009F98
- bl NNS_G2dApplyAndResetOamManagerBuffer
- ldr r0, _02009F9C ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- bl NNS_G2dApplyAndResetOamManagerBuffer
-_02009F98:
- pop {r3, pc}
- nop
-_02009F9C: .word UNK_021C4670
-
- thumb_func_start FUN_02009FA0
-FUN_02009FA0: ; 0x02009FA0
- push {r3, lr}
- ldr r0, _02009FD4 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02009FAE
- bl GF_AssertFail
-_02009FAE:
- ldr r0, _02009FD4 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0200A064
- ldr r0, _02009FD4 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0200A06C
- ldr r0, _02009FD4 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- bl FreeToHeap
- ldr r0, _02009FD4 ; =UNK_021C4670
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3, pc}
- nop
-_02009FD4: .word UNK_021C4670
-
- thumb_func_start FUN_02009FD8
-FUN_02009FD8: ; 0x02009FD8
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- ldr r0, _0200A024 ; =UNK_021C4670
- add r7, r1, #0x0
- ldr r0, [r0, #0x0]
- add r5, r2, #0x0
- add r4, r3, #0x0
- cmp r0, #0x0
- bne _02009FF0
- bl GF_AssertFail
-_02009FF0:
- cmp r5, #0x1
- bne _0200A00C
- ldr r0, _0200A028 ; =FUN_020213A0
- ldr r2, _0200A02C ; =FUN_0200A074
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r3, _0200A030 ; =FUN_0200A0B8
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x8]
- bl FUN_0202135C
- add sp, #0xc
- pop {r4-r7, pc}
-_0200A00C:
- ldr r0, _0200A028 ; =FUN_020213A0
- ldr r2, _0200A034 ; =FUN_0200A094
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r3, _0200A038 ; =FUN_0200A0DC
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x8]
- bl FUN_0202135C
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0200A024: .word UNK_021C4670
-_0200A028: .word FUN_020213A0
-_0200A02C: .word FUN_0200A074
-_0200A030: .word FUN_0200A0B8
-_0200A034: .word FUN_0200A094
-_0200A038: .word FUN_0200A0DC
-
- thumb_func_start FUN_0200A03C
-FUN_0200A03C: ; 0x0200A03C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0200A060 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0200A04C
- bl GF_AssertFail
-_0200A04C:
- cmp r4, #0x0
- bne _0200A056
- ldr r0, _0200A060 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-_0200A056:
- ldr r0, _0200A060 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- pop {r4, pc}
- nop
-_0200A060: .word UNK_021C4670
-
- thumb_func_start FUN_0200A064
-FUN_0200A064: ; 0x0200A064
- ldr r3, _0200A068 ; =FUN_020203CC
- bx r3
- .balign 4
-_0200A068: .word FUN_020203CC
-
- thumb_func_start FUN_0200A06C
-FUN_0200A06C: ; 0x0200A06C
- ldr r3, _0200A070 ; =FUN_02020404
- bx r3
- .balign 4
-_0200A070: .word FUN_02020404
-
- thumb_func_start FUN_0200A074
-FUN_0200A074: ; 0x0200A074
- push {r4, lr}
- add r3, r0, #0x0
- ldr r0, _0200A090 ; =UNK_021C4670
- add r2, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r3, #0x0
- bl NNS_G2dEntryOamManagerOamWithAffineIdx
- add r4, r0, #0x0
- bne _0200A08C
- bl GF_AssertFail
-_0200A08C:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0200A090: .word UNK_021C4670
-
- thumb_func_start FUN_0200A094
-FUN_0200A094: ; 0x0200A094
- push {r4, lr}
- add r3, r0, #0x0
- ldr r0, _0200A0B4 ; =UNK_021C4670
- add r2, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r3, #0x0
- add r0, #0x1c
- bl NNS_G2dEntryOamManagerOamWithAffineIdx
- add r4, r0, #0x0
- bne _0200A0AE
- bl GF_AssertFail
-_0200A0AE:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0200A0B4: .word UNK_021C4670
-
- thumb_func_start FUN_0200A0B8
-FUN_0200A0B8: ; 0x0200A0B8
- push {r4, lr}
- add r1, r0, #0x0
- ldr r0, _0200A0D4 ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- bl NNS_G2dEntryOamManagerAffine
- add r4, r0, #0x0
- ldr r0, _0200A0D8 ; =0x0000FFFE
- cmp r4, r0
- bne _0200A0D0
- bl GF_AssertFail
-_0200A0D0:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0200A0D4: .word UNK_021C4670
-_0200A0D8: .word 0x0000FFFE
-
- thumb_func_start FUN_0200A0DC
-FUN_0200A0DC: ; 0x0200A0DC
- push {r4, lr}
- add r1, r0, #0x0
- ldr r0, _0200A0FC ; =UNK_021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- bl NNS_G2dEntryOamManagerAffine
- add r4, r0, #0x0
- ldr r0, _0200A100 ; =0x0000FFFE
- cmp r4, r0
- bne _0200A0F6
- bl GF_AssertFail
-_0200A0F6:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0200A0FC: .word UNK_021C4670
-_0200A100: .word 0x0000FFFE
-
- thumb_func_start FUN_0200A104
-FUN_0200A104: ; 0x0200A104
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x10
- ldrsb r2, [r5, r0]
- mov r0, #0x14
- ldrsh r0, [r5, r0]
- add r1, r2, #0x0
- mov r7, #0x1a
- ldrsh r2, [r5, r7]
- mul r1, r0
- mov r6, #0xa
- ldrsh r0, [r5, r6]
- add r1, r2, r1
- mov r4, #0x0
- cmp r0, r1
- beq _0200A162
- cmp r2, r0
- beq _0200A162
- strh r1, [r5, #0x1a]
- ldrh r3, [r5, #0x18]
- ldrh r0, [r5, #0x16]
- add r2, r5, #0x0
- add r1, r5, #0x0
- add r0, r3, r0
- strh r0, [r5, #0x18]
- ldrh r3, [r5, #0x18]
- ldrh r0, [r5, #0x8]
- add r2, #0x1a
- add r1, #0x18
- cmp r3, r0
- blo _0200A166
- mov r3, #0x10
- ldrsh r0, [r2, r4]
- ldrsb r3, [r5, r3]
- add r0, r0, r3
- strh r0, [r2, #0x0]
- ldrsh r2, [r5, r7]
- ldrsh r0, [r5, r6]
- cmp r2, r0
- beq _0200A15E
- ldrh r2, [r1, #0x0]
- ldrh r0, [r5, #0x8]
- sub r0, r2, r0
- strh r0, [r1, #0x0]
- b _0200A166
-_0200A15E:
- mov r4, #0x1
- b _0200A166
-_0200A162:
- strh r0, [r5, #0x1a]
- mov r4, #0x1
-_0200A166:
- ldr r1, [r5, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0200A17C
- mov r2, #0x1a
- ldrsh r2, [r5, r2]
- ldr r0, _0200A198 ; =0x04000050
- ldr r1, [r5, #0x0]
- bl G2x_SetBlendBrightness_
- b _0200A18E
-_0200A17C:
- mov r0, #0x2
- tst r0, r1
- beq _0200A18E
- mov r2, #0x1a
- ldrsh r2, [r5, r2]
- ldr r0, _0200A19C ; =0x04001050
- ldr r1, [r5, #0x0]
- bl G2x_SetBlendBrightness_
-_0200A18E:
- cmp r4, #0x1
- bne _0200A196
- mov r0, #0x0
- str r0, [r5, #0x1c]
-_0200A196:
- pop {r3-r7, pc}
- .balign 4
-_0200A198: .word 0x04000050
-_0200A19C: .word 0x04001050
-
- thumb_func_start FUN_0200A1A0
-FUN_0200A1A0: ; 0x0200A1A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x1c]
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- beq _0200A1B4
- bl GF_AssertFail
-_0200A1B4:
- ldr r1, [sp, #0x18]
- mov r0, #0x1
- lsl r1, r1, #0x18
- str r0, [r5, #0x1c]
- lsr r1, r1, #0x18
- str r1, [r5, #0x0]
- ldr r1, [sp, #0x1c]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [r5, #0x4]
- strh r4, [r5, #0x8]
- strh r6, [r5, #0xa]
- strh r7, [r5, #0x1a]
- sub r1, r7, r6
- strh r1, [r5, #0x12]
- mov r1, #0x12
- ldrsh r2, [r5, r1]
- cmp r2, #0x0
- ble _0200A1E0
- sub r1, #0x13
- strb r1, [r5, #0x10]
- b _0200A1EA
-_0200A1E0:
- strb r0, [r5, #0x10]
- ldrsh r0, [r5, r1]
- sub r1, #0x13
- mul r1, r0
- strh r1, [r5, #0x12]
-_0200A1EA:
- mov r0, #0x12
- ldrsh r0, [r5, r0]
- add r1, r4, #0x0
- bl _s32_div_f
- strh r0, [r5, #0x14]
- mov r0, #0x12
- ldrsh r0, [r5, r0]
- add r1, r4, #0x0
- bl _s32_div_f
- strh r1, [r5, #0x16]
- mov r0, #0x0
- strh r0, [r5, #0x18]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200A208
-FUN_0200A208: ; 0x0200A208
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- cmp r5, #0x0
- beq _0200A25E
- ldr r1, [sp, #0x20]
- mov r0, #0x1
- tst r0, r1
- beq _0200A23A
- ldr r0, _0200A264 ; =0x04000050
- add r1, r4, #0x0
- bl G2x_SetBlendBrightness_
- str r4, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _0200A268 ; =UNK_021C4694
- add r1, r5, #0x0
- add r2, r7, #0x0
- add r3, r6, #0x0
- bl FUN_0200A1A0
-_0200A23A:
- ldr r1, [sp, #0x20]
- mov r0, #0x2
- tst r0, r1
- beq _0200A25E
- ldr r0, _0200A26C ; =0x04001050
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl G2x_SetBlendBrightness_
- str r4, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, _0200A270 ; =UNK_021C4674
- add r1, r5, #0x0
- add r2, r7, #0x0
- add r3, r6, #0x0
- bl FUN_0200A1A0
-_0200A25E:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0200A264: .word 0x04000050
-_0200A268: .word UNK_021C4694
-_0200A26C: .word 0x04001050
-_0200A270: .word UNK_021C4674
-
- thumb_func_start FUN_0200A274
-FUN_0200A274: ; 0x0200A274
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- mov r0, #0x1
- add r6, r1, #0x0
- tst r0, r4
- beq _0200A28A
- ldr r0, _0200A2A4 ; =0x04000050
- add r2, r5, #0x0
- bl G2x_SetBlendBrightness_
-_0200A28A:
- mov r0, #0x2
- tst r0, r4
- beq _0200A29A
- ldr r0, _0200A2A8 ; =0x04001050
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl G2x_SetBlendBrightness_
-_0200A29A:
- add r0, r4, #0x0
- bl FUN_0200A2D8
- pop {r4-r6, pc}
- nop
-_0200A2A4: .word 0x04000050
-_0200A2A8: .word 0x04001050
-
- thumb_func_start FUN_0200A2AC
-FUN_0200A2AC: ; 0x0200A2AC
- push {r3, lr}
- ldr r0, _0200A2CC ; =UNK_021C4694
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- ldr r0, _0200A2D0 ; =UNK_021C4674
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- ldr r0, _0200A2D4 ; =UNK_021C4674
- mov r1, #0x0
- str r1, [r0, #0x3c]
- str r1, [r0, #0x1c]
- pop {r3, pc}
- .balign 4
-_0200A2CC: .word UNK_021C4694
-_0200A2D0: .word UNK_021C4674
-_0200A2D4: .word UNK_021C4674
-
- thumb_func_start FUN_0200A2D8
-FUN_0200A2D8: ; 0x0200A2D8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- tst r0, r4
- beq _0200A2F2
- ldr r0, _0200A30C ; =UNK_021C4694
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- ldr r0, _0200A310 ; =UNK_021C4674
- mov r1, #0x0
- str r1, [r0, #0x3c]
-_0200A2F2:
- mov r0, #0x2
- tst r0, r4
- beq _0200A308
- ldr r0, _0200A314 ; =UNK_021C4674
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- ldr r0, _0200A310 ; =UNK_021C4674
- mov r1, #0x0
- str r1, [r0, #0x1c]
-_0200A308:
- pop {r4, pc}
- nop
-_0200A30C: .word UNK_021C4694
-_0200A310: .word UNK_021C4674
-_0200A314: .word UNK_021C4674
-
- thumb_func_start FUN_0200A318
-FUN_0200A318: ; 0x0200A318
- push {r3, lr}
- ldr r0, _0200A338 ; =UNK_021C4674
- ldr r0, [r0, #0x3c]
- cmp r0, #0x0
- beq _0200A328
- ldr r0, _0200A33C ; =UNK_021C4694
- bl FUN_0200A104
-_0200A328:
- ldr r0, _0200A338 ; =UNK_021C4674
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _0200A336
- ldr r0, _0200A340 ; =UNK_021C4674
- bl FUN_0200A104
-_0200A336:
- pop {r3, pc}
- .balign 4
-_0200A338: .word UNK_021C4674
-_0200A33C: .word UNK_021C4694
-_0200A340: .word UNK_021C4674
-
- thumb_func_start FUN_0200A344
-FUN_0200A344: ; 0x0200A344
- cmp r0, #0x3
- bne _0200A35A
- ldr r0, _0200A380 ; =UNK_021C4674
- ldr r1, [r0, #0x3c]
- cmp r1, #0x0
- bne _0200A37A
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A35A:
- cmp r0, #0x1
- bne _0200A36A
- ldr r0, _0200A380 ; =UNK_021C4674
- ldr r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A36A:
- cmp r0, #0x2
- bne _0200A37A
- ldr r0, _0200A380 ; =UNK_021C4674
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A37A:
- mov r0, #0x0
- bx lr
- nop
-_0200A380: .word UNK_021C4674
diff --git a/arm9/asm/unk_02048120.s b/arm9/asm/unk_02048120.s
index 68018241..74cfef32 100644
--- a/arm9/asm/unk_02048120.s
+++ b/arm9/asm/unk_02048120.s
@@ -376,12 +376,12 @@ _0204840C:
mvn r0, r0
mov r1, #0x37
mov r2, #0x1
- bl FUN_0200A274
+ bl SetBrightness
mov r0, #0xf
mvn r0, r0
mov r1, #0x3f
mov r2, #0x2
- bl FUN_0200A274
+ bl SetBrightness
add r0, r6, #0x0
add r1, r5, #0x0
bl FUN_02048164
@@ -400,7 +400,7 @@ _02048442:
mov r0, #0x0
mov r1, #0x3f
mov r2, #0x3
- bl FUN_0200A274
+ bl SetBrightness
bl FUN_02034E8C
add r7, r0, #0x0
ldr r0, [r6, #0xc]
diff --git a/arm9/asm/unk_02048904.s b/arm9/asm/unk_02048904.s
index 8cf0ee61..54d87433 100644
--- a/arm9/asm/unk_02048904.s
+++ b/arm9/asm/unk_02048904.s
@@ -2218,14 +2218,14 @@ _02049A64:
mov r0, #0x1e
sub r2, #0x10
mov r3, #0x19
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02049AB2
_02049A96:
mov r0, #0x2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0x0
beq _02049AB2
mov r0, #0x1
@@ -2287,14 +2287,14 @@ _02049B02:
sub r1, #0x2e
mov r2, #0x0
mov r3, #0x1
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02049BDC
_02049B2C:
mov r0, #0x2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0x0
beq _02049BDC
ldr r0, [r5, #0x68]
diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s
index cdf9258d..90334793 100644
--- a/arm9/asm/unk_020772F0.s
+++ b/arm9/asm/unk_020772F0.s
@@ -1505,7 +1505,7 @@ _02077982:
lsl r0, r0, #0x2
ldr r0, [r4, r0]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
ldr r1, _02077A70 ; =0x000004AC
mov r0, #0x12
ldr r1, [r4, r1]
@@ -1655,7 +1655,7 @@ _02077ADA:
FUN_02077AE8: ; 0x02077AE8
push {r3, lr}
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _02077B00 ; =0x027E0000
ldr r1, _02077B04 ; =0x00003FF8
mov r0, #0x1
diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s
index 4f43b41e..e8299712 100644
--- a/arm9/asm/unk_02080C38.s
+++ b/arm9/asm/unk_02080C38.s
@@ -3370,7 +3370,7 @@ FUN_0208251C: ; 0x0208251C
add r5, r1, #0x0
ldr r4, [r5, r0]
mov r0, #0x1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0x0
beq _02082594
ldrb r0, [r4, #0xb]
@@ -3392,7 +3392,7 @@ FUN_0208251C: ; 0x0208251C
mov r1, #0x0
mov r2, #0x4
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _0208259C ; =0x000005F8
bl PlaySE
ldrb r0, [r4, #0xa]
diff --git a/arm9/asm/unk_02089D90.s b/arm9/asm/unk_02089D90.s
index 4ef386dd..077b7bf5 100644
--- a/arm9/asm/unk_02089D90.s
+++ b/arm9/asm/unk_02089D90.s
@@ -165,7 +165,7 @@ FUN_02089D90: ; 0x02089D90
mov r0, #0x0
mov r1, #0x3f
mov r2, #0x3
- bl FUN_0200A274
+ bl SetBrightness
mov r4, #0x1
_02089EE4:
bl HandleDSLidAction
diff --git a/arm9/asm/unk_02089F24.s b/arm9/asm/unk_02089F24.s
index 63f6e77a..3fbde6cb 100644
--- a/arm9/asm/unk_02089F24.s
+++ b/arm9/asm/unk_02089F24.s
@@ -169,7 +169,7 @@ FUN_02089F24: ; 0x02089F24
mov r0, #0x0
mov r1, #0x3f
mov r2, #0x3
- bl FUN_0200A274
+ bl SetBrightness
mov r4, #0x1
_0208A078:
bl HandleDSLidAction
@@ -338,7 +338,7 @@ _0208A0C8:
mov r0, #0x0
mov r1, #0x3f
mov r2, #0x3
- bl FUN_0200A274
+ bl SetBrightness
mov r4, #0x1
; Battery-saver trap
_0208A21A:
diff --git a/arm9/global.inc b/arm9/global.inc
index 98ee4d76..2f9f2d11 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -514,17 +514,17 @@
.extern FUN_02009E54
.extern FUN_02009E88
.extern FUN_02009EAC
-.extern FUN_02009F80
-.extern FUN_02009FA0
+.extern ApplyAndResetOamManagerBuffer
+.extern DeinitOamData
.extern FUN_02009FD8
-.extern FUN_0200A03C
+.extern GetOamManager
.extern FUN_0200A064
.extern FUN_0200A06C
-.extern FUN_0200A208
-.extern FUN_0200A274
-.extern FUN_0200A2AC
-.extern FUN_0200A318
-.extern FUN_0200A344
+.extern StartBrightnessTransition
+.extern SetBrightness
+.extern InitAllScreenBrightnessData
+.extern DoAllScreenBrightnessTransitionStep
+.extern IsBrightnessTransitionActive
.extern ReadMsgData_NewNarc_ExistingString
.extern ReadMsgData_NewNarc_NewString
.extern NewMsgDataFromNarc
diff --git a/arm9/lib/libnns/include/NNS_g2d.h b/arm9/lib/libnns/include/NNS_g2d.h
index f7eed210..d65f0430 100644
--- a/arm9/lib/libnns/include/NNS_g2d.h
+++ b/arm9/lib/libnns/include/NNS_g2d.h
@@ -200,6 +200,11 @@ typedef struct NNSG2dAnimBankData
} NNSG2dAnimBankData;
+typedef struct NNSG2dOamManager
+{
+ u8 unk00[0x1c];
+} NNSG2dOamManager;
+
BOOL NNS_G2dGetUnpackedBGCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
BOOL NNS_G2dGetUnpackedCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
BOOL NNS_G2dGetUnpackedScreenData(void * pNscrFile, NNSG2dScreenData ** ppScrData);
@@ -209,4 +214,11 @@ BOOL NNS_G2dGetUnpackedPaletteCompressInfo(void * pNclrFile, NNSG2dPaletteCompre
BOOL NNS_G2dGetUnpackedCellBank(void * pNcerFile, NNSG2dCellDataBank ** ppCellBank);
BOOL NNS_G2dGetUnpackedAnimBank(void * pNanrFile, NNSG2dAnimBankData ** ppAnimBank);
+BOOL NNS_G2dGetNewOamManagerInstance(
+ NNSG2dOamManager *oamManager, u16 param1, u16 param2, u16 param3, u16 param4, u32 param5);
+void NNS_G2dApplyAndResetOamManagerBuffer(NNSG2dOamManager *oamManager);
+u32 NNS_G2dEntryOamManagerOamWithAffineIdx(
+ NNSG2dOamManager *oamManager, u32 param1, u32 param2);
+u32 NNS_G2dEntryOamManagerAffine(NNSG2dOamManager *oamManager, u32 param1);
+
#endif //NNSYS_NNS_G2D_H
diff --git a/arm9/modules/05/asm/mod05_021D74E0.s b/arm9/modules/05/asm/mod05_021D74E0.s
index 52073cac..4b30f2d3 100644
--- a/arm9/modules/05/asm/mod05_021D74E0.s
+++ b/arm9/modules/05/asm/mod05_021D74E0.s
@@ -10,7 +10,7 @@ MOD05_021D74E0: ; 0x021D74E0
ldr r0, [r4, #8]
bl DoScheduledBgGpuUpdates
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r0, [r4, #0x34]
bl FUN_020583A0
bl MOD05_021F2D48
@@ -744,10 +744,10 @@ MOD05_021D7B38: ; 0x021D7B38
thumb_func_start MOD05_021D7B5C
MOD05_021D7B5C: ; 0x021D7B5C
- ldr r3, _021D7B60 ; =FUN_02009FA0
+ ldr r3, _021D7B60 ; =DeinitOamData
bx r3
.balign 4, 0
-_021D7B60: .word FUN_02009FA0
+_021D7B60: .word DeinitOamData
thumb_func_start MOD05_021D7B64
MOD05_021D7B64: ; 0x021D7B64
diff --git a/arm9/modules/05/asm/mod05_021E3340.s b/arm9/modules/05/asm/mod05_021E3340.s
index 8fb0d143..5aeaf2cc 100644
--- a/arm9/modules/05/asm/mod05_021E3340.s
+++ b/arm9/modules/05/asm/mod05_021E3340.s
@@ -35,14 +35,14 @@ _021E3370:
sub r1, #0x12
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021E3414
_021E3388:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021E3414
ldr r0, [r5, #8]
@@ -67,7 +67,7 @@ _021E33A0:
add r0, r6, #0
bl Sav2_Poketch_Give
mov r0, #1
- bl FUN_0200A03C
+ bl GetOamManager
str r0, [sp]
ldr r1, [r5, #4]
ldr r2, [r5, #0xc]
@@ -87,14 +87,14 @@ _021E33E4:
mov r0, #4
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021E3414
_021E33FE:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021E3414
add r0, r4, #0
diff --git a/arm9/modules/05/asm/mod05_021EFA9C.s b/arm9/modules/05/asm/mod05_021EFA9C.s
index f749c0e8..b6c27091 100644
--- a/arm9/modules/05/asm/mod05_021EFA9C.s
+++ b/arm9/modules/05/asm/mod05_021EFA9C.s
@@ -37,7 +37,7 @@ MOD05_021EFAAC: ; 0x021EFAAC
mov r1, #2
bl HandleLoadOverlay
mov r0, #1
- bl FUN_0200A03C
+ bl GetOamManager
str r0, [sp]
ldr r1, [r5, #4]
ldr r2, [r5, #0xc]
diff --git a/arm9/modules/08/asm/module_08.s b/arm9/modules/08/asm/module_08.s
index acd698d5..93dd97ef 100644
--- a/arm9/modules/08/asm/module_08.s
+++ b/arm9/modules/08/asm/module_08.s
@@ -37368,7 +37368,7 @@ _022244E4:
mov r1, #0x10
mov r2, #0
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0
mvn r0, r0
str r0, [r4, #0x10]
@@ -37384,7 +37384,7 @@ _02224508:
cmp r1, r0
bne _02224532
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _02224532
mov r0, #1
@@ -37393,7 +37393,7 @@ _02224508:
mov r1, #0
mov r2, #0x10
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #1
mvn r0, r0
str r0, [r4, #0x10]
@@ -37408,7 +37408,7 @@ _02224532:
b _022245A8
_02224544:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _022245A8
ldr r0, [r4, #0xc]
diff --git a/arm9/modules/12/asm/module_12.s b/arm9/modules/12/asm/module_12.s
index c035be6d..88cebb83 100644
--- a/arm9/modules/12/asm/module_12.s
+++ b/arm9/modules/12/asm/module_12.s
@@ -8253,7 +8253,7 @@ _022318EA:
MOD12_022318F8: ; 0x022318F8
push {r3, lr}
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _02231908
mov r0, #1
@@ -8268,7 +8268,7 @@ MOD12_0223190C: ; 0x0223190C
sub sp, #4
mov r0, #1
add r4, r1, #0
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _02231972
ldr r0, [r4, #8]
@@ -8286,7 +8286,7 @@ MOD12_0223190C: ; 0x0223190C
mov r1, #0
mov r2, #4
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _02231978 ; =0x000005F8
bl PlaySE
mov r0, #0
@@ -28281,7 +28281,7 @@ _0223B04E:
ldrsb r1, [r4, r1]
ldrsb r2, [r4, r2]
mov r3, #0x3d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldrb r0, [r4, #0x10]
add sp, #8
add r0, r0, #1
@@ -28289,7 +28289,7 @@ _0223B04E:
pop {r3, r4, r5, pc}
_0223B06C:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _0223B0C0
mov r1, #0
@@ -47725,7 +47725,7 @@ _0224467E:
mov r1, #0x10
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _02244704 ; =0x0000049E
mov r1, #0x5a
bl FUN_02005350
@@ -47735,7 +47735,7 @@ _0224467E:
pop {r3, r4, r5, pc}
_0224469E:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _02244700
bl FUN_02005404
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index e1acb188..67f55456 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -10857,7 +10857,7 @@ MOD14_021DCA38: ; 0x021DCA38
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
- bl FUN_02009FA0
+ bl DeinitOamData
pop {r4, pc}
.align 2, 0
_021DCB08: .word 0x0000B3AC
@@ -10994,7 +10994,7 @@ MOD14_021DCBFC: ; 0x021DCBFC
bl MOD14_021E0EE4
ldr r0, [r4, #0x18]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _021DCC24 ; =0x027E0000
ldr r1, _021DCC28 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/15/asm/module_15.s b/arm9/modules/15/asm/module_15.s
index 173d4fd6..ba4f57ae 100644
--- a/arm9/modules/15/asm/module_15.s
+++ b/arm9/modules/15/asm/module_15.s
@@ -2664,7 +2664,7 @@ _021D88A4:
bl FUN_0200CAB4
ldr r0, [r6, #4]
bl FUN_0200CAB4
- bl FUN_02009FA0
+ bl DeinitOamData
ldr r0, [r6, #0x24]
bl FUN_0201FD58
ldr r0, [r6, #0x20]
@@ -2691,7 +2691,7 @@ MOD15_021D88DC: ; 0x021D88DC
push {r3, lr}
ldr r0, [r1, #0x24]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _021D88F8 ; =0x027E0000
ldr r1, _021D88FC ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/16/asm/module_16.s b/arm9/modules/16/asm/module_16.s
index 16b3c00d..3365be5a 100644
--- a/arm9/modules/16/asm/module_16.s
+++ b/arm9/modules/16/asm/module_16.s
@@ -105,7 +105,7 @@ _021D75AC:
mvn r0, r0
mov r1, #0x3f
mov r2, #3
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
@@ -614,7 +614,7 @@ MOD16_021D79FC: ; 0x021D79FC
thumb_func_start MOD16_021D7A10
MOD16_021D7A10: ; 0x021D7A10
push {r3, lr}
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
bl MOD16_021D8514
@@ -627,7 +627,7 @@ MOD16_021D7A24: ; 0x021D7A24
ldr r1, _021D7A34 ; =0x0000177C
add r0, r0, r1
bl MOD16_021D86DC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
pop {r3, pc}
.align 2, 0
_021D7A34: .word 0x0000177C
@@ -13301,7 +13301,7 @@ MOD16_021DD724: ; 0x021DD724
mov r0, #4
sub r2, #0x10
mov r3, #0x39
- bl FUN_0200A208
+ bl StartBrightnessTransition
pop {r3, r4, r5, pc}
_021DD74C:
mov r0, #1
@@ -13311,7 +13311,7 @@ _021DD74C:
sub r1, #0x14
mov r2, #0
mov r3, #0x39
- bl FUN_0200A208
+ bl StartBrightnessTransition
_021DD75E:
pop {r3, r4, r5, pc}
thumb_func_end MOD16_021DD724
@@ -13328,7 +13328,7 @@ MOD16_021DD760: ; 0x021DD760
cmp r0, #1
beq _021DD77C
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
b _021DD77E
_021DD77C:
mov r0, #1
@@ -13346,7 +13346,7 @@ _021DD77E:
mvn r0, r0
mov r1, #0x3f
mov r2, #1
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, [r5]
mov r1, #0
add r0, r0, #4
@@ -14292,14 +14292,14 @@ _021DDE94:
mov r0, #4
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021DDEC8
_021DDEAE:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DDEC8
ldr r0, [r4]
@@ -14415,14 +14415,14 @@ _021DDF86:
sub r1, #0x14
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021DDFD8
_021DDFA0:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DDFD8
ldr r0, [r4]
@@ -16501,14 +16501,14 @@ _021DEEF6:
str r0, [sp]
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021DEF2E
_021DEF18:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DEF2E
ldr r0, [r4]
@@ -16592,7 +16592,7 @@ _021DEF96:
sub r1, #0x16
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
@@ -16603,7 +16603,7 @@ _021DEFB6:
b _021DEFF2
_021DEFBC:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DEFF2
ldr r0, [r4]
@@ -18398,7 +18398,7 @@ _021DFD50:
mov r0, #1
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
add r0, r6, #0
add r1, r5, #0
add r2, r7, #0
@@ -18409,7 +18409,7 @@ _021DFD50:
b _021DFD96
_021DFD80:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DFD96
ldr r0, [r4]
@@ -18617,14 +18617,14 @@ _021DFF02:
sub r1, #0x16
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021DFF6E
_021DFF1C:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DFF6E
ldr r0, [r4]
@@ -25278,7 +25278,7 @@ MOD16_021E2E74: ; 0x021E2E74
mov r0, #4
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
add sp, #4
pop {r3, r4, pc}
_021E2EA4:
@@ -25293,7 +25293,7 @@ _021E2EA4:
sub r1, #0x14
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
_021E2EC0:
add sp, #4
pop {r3, r4, pc}
@@ -28340,7 +28340,7 @@ MOD16_021E45BC: ; 0x021E45BC
b _021E45E2
_021E45DC:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
_021E45E2:
cmp r0, #0
beq _021E45F4
@@ -37267,7 +37267,7 @@ MOD16_021E8878: ; 0x021E8878
b _021E889E
_021E8898:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
_021E889E:
cmp r0, #0
beq _021E88B0
@@ -39308,7 +39308,7 @@ _021E979E:
mov r0, #4
sub r2, #0x10
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
@@ -39319,7 +39319,7 @@ _021E979E:
b _021E97D8
_021E97C2:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021E97D8
ldr r0, [r4]
@@ -39392,14 +39392,14 @@ _021E9834:
sub r1, #0x14
mov r2, #0
mov r3, #0x3f
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021E9890
_021E984E:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021E9890
ldr r0, [r4]
@@ -42999,7 +42999,7 @@ MOD16_021EB2E0: ; 0x021EB2E0
b _021EB306
_021EB300:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
_021EB306:
cmp r0, #0
beq _021EB318
@@ -46749,7 +46749,7 @@ MOD16_021ECF04: ; 0x021ECF04
b _021ECF2A
_021ECF24:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
_021ECF2A:
cmp r0, #0
beq _021ECF3C
@@ -50300,7 +50300,7 @@ MOD16_021EEA00: ; 0x021EEA00
b _021EEA26
_021EEA20:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
_021EEA26:
cmp r0, #0
beq _021EEA38
diff --git a/arm9/modules/17/asm/module_17.s b/arm9/modules/17/asm/module_17.s
index 7e32e1c9..9111403a 100644
--- a/arm9/modules/17/asm/module_17.s
+++ b/arm9/modules/17/asm/module_17.s
@@ -863,7 +863,7 @@ MOD17_021D7AE4: ; 0x021D7AE4
bl DoScheduledBgGpuUpdates
ldr r0, [r4, #0x20]
bl FUN_020081C4
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
pop {r4, pc}
.align 2, 0
thumb_func_end MOD17_021D7AE4
@@ -1137,7 +1137,7 @@ MOD17_021D7CF0: ; 0x021D7CF0
push {r3, lr}
ldr r0, [r0, #0x38]
bl DoScheduledBgGpuUpdates
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
pop {r3, pc}
.align 2, 0
thumb_func_end MOD17_021D7CF0
@@ -1724,7 +1724,7 @@ _021D8178:
blt _021D8178
bl FUN_0201D12C
bl FUN_0201E08C
- bl FUN_02009FA0
+ bl DeinitOamData
pop {r3, r4, r5, pc}
thumb_func_end MOD17_021D816C
@@ -3933,7 +3933,7 @@ _021D934E:
sub r1, #0x18
mov r2, #0
mov r3, #0xa
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0xc]
add sp, #4
add r0, r0, #1
@@ -3941,7 +3941,7 @@ _021D934E:
pop {r3, r4, pc}
_021D936A:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D9424
ldr r0, [r4, #0xc]
@@ -4009,7 +4009,7 @@ _021D93EA:
mov r0, #8
sub r2, #0x10
mov r3, #0xa
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0xc]
add sp, #4
add r0, r0, #1
@@ -4017,7 +4017,7 @@ _021D93EA:
pop {r3, r4, pc}
_021D9406:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D9424
ldr r0, [r4, #0xc]
@@ -4093,7 +4093,7 @@ _021D9482:
sub r1, #0x18
mov r2, #0
mov r3, #0xa
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0xc]
add sp, #4
add r0, r0, #1
@@ -4101,7 +4101,7 @@ _021D9482:
pop {r3, r4, pc}
_021D949E:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D95A4
ldr r0, [r4, #0xc]
@@ -4175,7 +4175,7 @@ _021D952E:
mov r0, #8
sub r2, #0x10
mov r3, #0xa
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4, #0xc]
add sp, #4
add r0, r0, #1
@@ -4183,7 +4183,7 @@ _021D952E:
pop {r3, r4, pc}
_021D954A:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D95A4
ldr r0, [r4, #0xc]
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index f30d7e23..ac5296d1 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -1969,7 +1969,7 @@ _0223A5F8:
ldr r0, [r0]
ldr r0, [r0, #0x20]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
mov r0, #0
@@ -2628,7 +2628,7 @@ _0223AB94:
add r2, r1, #0
mov r3, #7
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x1a
add sp, #0xc
str r0, [r4]
@@ -6175,7 +6175,7 @@ MOD18_0223C6CC: ; 0x0223C6CC
add r0, r4, #0
bl DoScheduledBgGpuUpdates
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
pop {r4, pc}
thumb_func_end MOD18_0223C6CC
@@ -13940,7 +13940,7 @@ _0224013A:
mov r1, #0xa
mov r2, #0
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #8
add r0, r0, #1
@@ -13957,7 +13957,7 @@ _0224015A:
mov r1, #0
mov r2, #0xa
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #8
add r0, r0, #1
@@ -13989,7 +13989,7 @@ _02240190:
sub r1, r0, #5
mov r2, #0
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D638
bl MOD18_0224DD94
ldr r0, [r4, #0xc]
@@ -14011,7 +14011,7 @@ _022401D2:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
add r0, r4, #0
bl FreeToHeap
add r0, r5, #0
@@ -14123,7 +14123,7 @@ MOD18_022402A0: ; 0x022402A0
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
add r0, r4, #0
bl FreeToHeap
ldr r0, _022402EC ; =0x022513A0
@@ -14372,7 +14372,7 @@ _02240480:
strh r0, [r1]
mov r1, #1
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _022404EC ; =0x022513A0
mov r1, #2
ldr r0, [r0, #4]
@@ -14666,7 +14666,7 @@ _022406A4:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r1, #0
mov r0, #0x12
str r1, [sp]
@@ -14706,7 +14706,7 @@ _022406F6:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _02240884 ; =0x022513A0
ldr r1, [r0, #4]
ldr r0, _02240888 ; =0x00000B3B
@@ -14790,7 +14790,7 @@ _0224079E:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #4
mov r1, #1
bl GX_EngineAToggleLayers
@@ -15358,7 +15358,7 @@ MOD18_02240C14: ; 0x02240C14
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02240C70 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -15593,7 +15593,7 @@ MOD18_02240DC8: ; 0x02240DC8
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02240E28 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -15658,7 +15658,7 @@ _02240E54:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
b _02240E7A
_02240E68:
cmp r0, #4
@@ -15668,7 +15668,7 @@ _02240E68:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
_02240E7A:
ldr r0, [r4, #0x10]
cmp r0, #0x1e
@@ -15692,7 +15692,7 @@ _02240EA4:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02240EE0 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -15826,7 +15826,7 @@ _02240FB4:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02241004 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -15944,7 +15944,7 @@ _02241096:
mov r1, #0xa
mov r2, #0
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #0x14
add r0, r0, #1
@@ -15961,7 +15961,7 @@ _022410B6:
mov r1, #0
mov r2, #0xa
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #0x14
add r0, r0, #1
@@ -16441,7 +16441,7 @@ _02241472:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _022416A0 ; =0x022513A0
ldr r1, _022416A4 ; =0x00000B3B
ldr r0, [r0, #4]
@@ -16515,7 +16515,7 @@ _02241500:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _022416A0 ; =0x022513A0
ldr r1, _022416A4 ; =0x00000B3B
ldr r0, [r0, #4]
@@ -16618,7 +16618,7 @@ _022415C0:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D638
mov r2, #0
mov r1, #0x4c
@@ -16742,13 +16742,13 @@ _022416D6:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
mov r0, #1
mov r1, #0
sub r2, r1, #4
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x45
lsl r0, r0, #2
ldrb r0, [r4, r0]
@@ -17873,7 +17873,7 @@ _02241F60:
mov r1, #0xa
mov r2, #0
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #0x10
add r0, r0, #1
@@ -17911,7 +17911,7 @@ _02241FD4:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r3, #0
str r3, [sp]
mov r0, #2
@@ -18683,7 +18683,7 @@ _02242604:
strh r0, [r1]
mov r1, #1
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02242664 ; =0x0400006C
mov r1, #0
bl GXx_SetMasterBrightness_
@@ -19893,7 +19893,7 @@ _02242F98:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r3, #0
str r3, [sp]
mov r0, #1
@@ -19956,7 +19956,7 @@ _02243018:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r3, #0
str r3, [sp]
mov r0, #2
@@ -20251,7 +20251,7 @@ _02243268:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
mov r0, #0x10
bl FUN_0204F774
ldr r0, _022432AC ; =0x022513A0
@@ -20644,7 +20644,7 @@ _0224358C:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _02243784 ; =0x022513A0
ldr r1, _02243788 ; =0x00000B3B
ldr r0, [r0, #4]
@@ -20710,7 +20710,7 @@ _0224360E:
mov r2, #0xa
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _02243784 ; =0x022513A0
ldr r1, _02243788 ; =0x00000B3B
ldr r0, [r0, #4]
@@ -20991,7 +20991,7 @@ _02243840:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02243890 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -21069,7 +21069,7 @@ _022438DA:
mov r1, #0xa
mov r2, #0
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #4
add r0, r0, #1
@@ -21086,7 +21086,7 @@ _022438FA:
mov r1, #0
mov r2, #0xa
add r3, r0, #0
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add sp, #4
add r0, r0, #1
@@ -21257,7 +21257,7 @@ _02243A44:
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
ldr r0, _02243A8C ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -36157,7 +36157,7 @@ MOD18_0224AFE8: ; 0x0224AFE8
mov r1, #1
mov r0, #0
add r2, r1, #0
- bl FUN_0200A274
+ bl SetBrightness
mov r1, #1
add r0, r4, #0
mvn r1, r1
@@ -37566,7 +37566,7 @@ _0224BB22:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D658
mov r2, #0
mov r1, #0x30
@@ -37598,7 +37598,7 @@ _0224BB6E:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D658
mov r2, #0
mov r1, #0x31
@@ -37630,7 +37630,7 @@ _0224BBBA:
mov r2, #0
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D658
mov r2, #0
mov r1, #0x32
@@ -37670,7 +37670,7 @@ _0224BC1E:
sub r2, r1, #6
add r3, r0, #0
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
bl MOD18_0223D658
bl MOD18_0224DD94
bl FUN_0202EDD8
diff --git a/arm9/modules/53/asm/module_53.s b/arm9/modules/53/asm/module_53.s
index 0bff7b6e..388e4ef0 100644
--- a/arm9/modules/53/asm/module_53.s
+++ b/arm9/modules/53/asm/module_53.s
@@ -352,7 +352,7 @@ _021D77D8:
blt _021D77D8
ldr r0, [r6, #0x34]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
add r0, r6, #0
@@ -434,7 +434,7 @@ MOD53_021D78A8: ; 0x021D78A8
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
add r0, r4, #0
bl DoScheduledBgGpuUpdates
ldr r3, _021D78C8 ; =0x027E0000
diff --git a/arm9/modules/54/asm/module_54.s b/arm9/modules/54/asm/module_54.s
index 8795cd7f..83feae5d 100644
--- a/arm9/modules/54/asm/module_54.s
+++ b/arm9/modules/54/asm/module_54.s
@@ -301,7 +301,7 @@ _021D776C:
blt _021D776C
ldr r0, [r6, #0x50]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
add r0, r6, #0
@@ -400,7 +400,7 @@ MOD54_021D784C: ; 0x021D784C
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
add r0, r4, #0
bl DoScheduledBgGpuUpdates
ldr r3, _021D786C ; =0x027E0000
diff --git a/arm9/modules/55/asm/module_55.s b/arm9/modules/55/asm/module_55.s
index ce354a55..f23c5281 100644
--- a/arm9/modules/55/asm/module_55.s
+++ b/arm9/modules/55/asm/module_55.s
@@ -311,7 +311,7 @@ _021D7754:
mov r1, #0
add r0, #0xec
str r1, [r0]
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
mov r0, #0xeb
@@ -370,7 +370,7 @@ _021D77E6:
ldr r0, [r4, #4]
bl DoScheduledBgGpuUpdates
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _021D7804 ; =0x027E0000
ldr r1, _021D7808 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s
index 61f44b88..5b49451e 100644
--- a/arm9/modules/56/asm/module_56.s
+++ b/arm9/modules/56/asm/module_56.s
@@ -509,7 +509,7 @@ _022121EC:
lsl r0, r0, #2
ldr r0, [r6, r0]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
add r0, r6, #0
@@ -577,7 +577,7 @@ MOD56_0221228C: ; 0x0221228C
ldr r0, [r0]
bl DoScheduledBgGpuUpdates
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _022122AC ; =0x027E0000
ldr r1, _022122B0 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/57/asm/module_57.s b/arm9/modules/57/asm/module_57.s
index bbf164b2..ec406679 100644
--- a/arm9/modules/57/asm/module_57.s
+++ b/arm9/modules/57/asm/module_57.s
@@ -1941,7 +1941,7 @@ _021D8470:
MOD57_021D848C: ; 0x021D848C
push {r3, lr}
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _021D84A4 ; =0x027E0000
ldr r1, _021D84A8 ; =0x00003FF8
mov r0, #1
@@ -3996,7 +3996,7 @@ _021D94F4:
blo _021D94F4
ldr r0, [r5]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r4, r5, r6, pc}
diff --git a/arm9/modules/58/asm/module_58.s b/arm9/modules/58/asm/module_58.s
index 1cdd6b43..f9301441 100644
--- a/arm9/modules/58/asm/module_58.s
+++ b/arm9/modules/58/asm/module_58.s
@@ -247,7 +247,7 @@ _021D9C40:
blt _021D9C40
ldr r0, [r6, #0x3c]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
add r0, r6, #0
@@ -287,7 +287,7 @@ MOD58_021D9CB4: ; 0x021D9CB4
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
add r0, r4, #0
bl DoScheduledBgGpuUpdates
ldr r3, _021D9CD4 ; =0x027E0000
diff --git a/arm9/modules/59/asm/mod59_021D74E0_asm.s b/arm9/modules/59/asm/mod59_021D74E0_asm.s
index 27c05dd6..6e1c1392 100644
--- a/arm9/modules/59/asm/mod59_021D74E0_asm.s
+++ b/arm9/modules/59/asm/mod59_021D74E0_asm.s
@@ -3145,24 +3145,24 @@ _021D90E2:
add r2, r5, #0
mov r3, #0xb
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #1
mov r1, #0x10
add r2, r5, #0
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x33
str r0, [r4, #0xc]
b _021D985C
_021D9106:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #1
@@ -3170,24 +3170,24 @@ _021D9106:
mov r2, #0x10
mov r3, #0xb
str r0, [sp]
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #1
add r1, r5, #0
mov r2, #0x10
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x34
str r0, [r4, #0xc]
b _021D985C
_021D913E:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #1
@@ -3196,24 +3196,24 @@ _021D913E:
mov r1, #0x10
add r2, r5, #0
mov r3, #0xb
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #4
mov r1, #0x10
add r2, r5, #0
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x35
str r0, [r4, #0xc]
b _021D985C
_021D9178:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D91F6
mov r0, #0x36
@@ -3244,14 +3244,14 @@ _021D9192:
add r1, r5, #0
add r2, r0, #0
mov r3, #0xb
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #0x10
add r1, r5, #0
add r2, r0, #0
mov r3, #0xd
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #0x37
str r0, [r4, #0xc]
b _021D985C
@@ -3260,14 +3260,14 @@ _021D91E4:
add r1, #0x94
bl MOD59_021D86BC
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
beq _021D91F8
_021D91F6:
b _021D985C
_021D91F8:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D92FA
mov r0, #0x38
diff --git a/arm9/modules/63/asm/mod63_021D74E0.s b/arm9/modules/63/asm/mod63_021D74E0.s
index 0dded682..77ecf51d 100644
--- a/arm9/modules/63/asm/mod63_021D74E0.s
+++ b/arm9/modules/63/asm/mod63_021D74E0.s
@@ -1136,11 +1136,11 @@ _021D7E18:
b _021D824E
_021D7E24:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D7E38
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
beq _021D7E3A
_021D7E38:
@@ -1157,14 +1157,14 @@ _021D7E3A:
mov r1, #0x10
add r2, r6, #0
mov r3, #6
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #0xa
mov r1, #0x10
add r2, r6, #0
mov r3, #7
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _021D80F0 ; =0x00000116
mov r1, #2
strh r1, [r4, r0]
@@ -1188,11 +1188,11 @@ _021D7E7E:
b _021D824E
_021D7E8C:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D7F94
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #1
bne _021D7F94
mov r0, #1
@@ -1201,14 +1201,14 @@ _021D7E8C:
add r1, r6, #0
mov r2, #0x10
mov r3, #6
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #2
str r0, [sp]
mov r0, #0xa
add r1, r6, #0
mov r2, #0x10
mov r3, #7
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, _021D80F0 ; =0x00000116
mov r1, #3
strh r1, [r4, r0]
@@ -1759,11 +1759,11 @@ _021D8272:
add r0, r4, #0
mov r1, #6
mov r2, #1
- bl FUN_0200A274
+ bl SetBrightness
add r0, r4, #0
mov r1, #7
mov r2, #2
- bl FUN_0200A274
+ bl SetBrightness
add r0, r5, #0
mov r1, #2
add r0, #0xa4
diff --git a/arm9/modules/63/asm/mod63_021D8890.s b/arm9/modules/63/asm/mod63_021D8890.s
index 0fd84316..18a7c3b2 100644
--- a/arm9/modules/63/asm/mod63_021D8890.s
+++ b/arm9/modules/63/asm/mod63_021D8890.s
@@ -502,17 +502,17 @@ _021D8CA4: .word 0x04000580
thumb_func_start MOD63_021D8CA8
MOD63_021D8CA8: ; 0x021D8CA8
- ldr r3, _021D8CAC ; =FUN_02009F80
+ ldr r3, _021D8CAC ; =ApplyAndResetOamManagerBuffer
bx r3
.align 2, 0
-_021D8CAC: .word FUN_02009F80
+_021D8CAC: .word ApplyAndResetOamManagerBuffer
thumb_func_end MOD63_021D8CA8
thumb_func_start MOD63_021D8CB0
MOD63_021D8CB0: ; 0x021D8CB0
push {r4, lr}
add r4, r0, #0
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r0, [r4, #0x4c]
bl MOD63_021DB598
pop {r4, pc}
@@ -565,7 +565,7 @@ _021D8D0C: .word 0x0000209F
MOD63_021D8D10: ; 0x021D8D10
push {r4, lr}
add r4, r0, #0
- bl FUN_0200A2AC
+ bl InitAllScreenBrightnessData
ldr r1, _021D8D90 ; =0x00007FFF
mov r0, #0
bl FUN_0200E3A0
@@ -1599,7 +1599,7 @@ _021D950C:
mov r0, #0x10
mov r1, #1
mov r2, #2
- bl FUN_0200A274
+ bl SetBrightness
mov r0, #1
add r5, #0x36
strb r0, [r5]
@@ -2178,7 +2178,7 @@ _021D9A42:
mov r1, #0
mov r2, #0x10
mov r3, #1
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
diff --git a/arm9/modules/63/asm/mod63_021DA640.s b/arm9/modules/63/asm/mod63_021DA640.s
index 5bcdfbd2..698fc468 100644
--- a/arm9/modules/63/asm/mod63_021DA640.s
+++ b/arm9/modules/63/asm/mod63_021DA640.s
@@ -504,7 +504,7 @@ _021DAA32:
blo _021DAA32
ldr r0, [r5]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, r4, r5, r6, r7, pc}
diff --git a/arm9/modules/63/asm/mod63_021DAE5C.s b/arm9/modules/63/asm/mod63_021DAE5C.s
index efa1a033..fe1e0252 100644
--- a/arm9/modules/63/asm/mod63_021DAE5C.s
+++ b/arm9/modules/63/asm/mod63_021DAE5C.s
@@ -377,7 +377,7 @@ _021DB126:
blo _021DB126
ldr r0, [r5]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r4, r5, r6, pc}
diff --git a/arm9/modules/64/asm/module_64.s b/arm9/modules/64/asm/module_64.s
index ce6e5e5e..e3f91882 100644
--- a/arm9/modules/64/asm/module_64.s
+++ b/arm9/modules/64/asm/module_64.s
@@ -308,7 +308,7 @@ _021D7726:
MOD64_021D77A4: ; 0x021D77A4
push {r4, lr}
add r4, r0, #0
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
add r0, r4, #0
add r0, #0x94
ldr r0, [r0]
@@ -384,7 +384,7 @@ MOD64_021D7810: ; 0x021D7810
thumb_func_start MOD64_021D7828
MOD64_021D7828: ; 0x021D7828
push {r3, lr}
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
bl MOD64_021D7964
diff --git a/arm9/modules/69/asm/module_69.s b/arm9/modules/69/asm/module_69.s
index 1667a6f0..78dbeb0f 100644
--- a/arm9/modules/69/asm/module_69.s
+++ b/arm9/modules/69/asm/module_69.s
@@ -712,7 +712,7 @@ MOD69_0222DB2C: ; 0x0222DB2C
str r1, [r0]
ldr r0, [r4, #0x24]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
_0222DB8E:
add sp, #8
pop {r4, pc}
@@ -1451,7 +1451,7 @@ _0222E1C2:
bl FreeToHeap
ldr r0, [r6, #0x24]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
@@ -4231,4 +4231,3 @@ MOD69_0222F940: ; 0x0222F940
.global MOD69_0222F960
MOD69_0222F960: ; 0x0222F960
.space 0x20
-
diff --git a/arm9/modules/70/asm/module_70.s b/arm9/modules/70/asm/module_70.s
index 8dc21247..66e1a85e 100644
--- a/arm9/modules/70/asm/module_70.s
+++ b/arm9/modules/70/asm/module_70.s
@@ -524,7 +524,7 @@ MOD70_021D78A0: ; 0x021D78A0
bl DestroyMsgData
ldr r0, [r4, #0x34]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
ldr r0, [r4, #0x10]
bl FreeToHeap
add r0, r4, #0
@@ -538,7 +538,7 @@ MOD70_021D790C: ; 0x021D790C
push {r3, lr}
ldr r0, [r0, #0x34]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _021D7928 ; =0x027E0000
ldr r1, _021D792C ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 5ece5081..acd8756a 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -1208,7 +1208,7 @@ _0222DFD6:
mov r0, #8
sub r2, #0x10
mov r3, #0x1e
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #1
add r1, r0, #0
bl ToggleBgLayer
@@ -1227,7 +1227,7 @@ _0222DFD6:
b _0222E0E8
_0222E010:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _0222E0E8
ldr r0, _0222E0F8 ; =0x00002218
@@ -1264,7 +1264,7 @@ _0222E054:
mov r0, #8
sub r2, #0x10
mov r3, #0x17
- bl FUN_0200A208
+ bl StartBrightnessTransition
mov r0, #4
mov r1, #1
bl ToggleBgLayer
@@ -1285,7 +1285,7 @@ _0222E054:
b _0222E0E8
_0222E094:
mov r0, #2
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _0222E0E8
ldr r0, _0222E110 ; =0x000005A8
@@ -1661,7 +1661,7 @@ _0222E3AC:
lsl r0, r0, #2
ldr r0, [r6, r0]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, r4, r5, r6, r7, pc}
@@ -1827,7 +1827,7 @@ MOD71_0222E4DC: ; 0x0222E4DC
str r1, [r5, r0]
_0222E52E:
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _0222E550 ; =0x027E0000
ldr r1, _0222E554 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s
index 28b61540..c61aa026 100644
--- a/arm9/modules/73/asm/module_73.s
+++ b/arm9/modules/73/asm/module_73.s
@@ -2403,7 +2403,7 @@ _021D88AA:
MOD73_021D88B0: ; 0x021D88B0
push {r4, lr}
add r4, r0, #0
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r0, [r4, #0x20]
cmp r0, #0
beq _021D88C2
@@ -2635,7 +2635,7 @@ _021D8A70: .word 0x00200010
thumb_func_start MOD73_021D8A74
MOD73_021D8A74: ; 0x021D8A74
push {r3, lr}
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, pc}
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index fae0c264..3b68da11 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -1712,7 +1712,7 @@ MOD80_0222E2E0: ; 0x0222E2E0
str r1, [r4, r0]
_0222E2F4:
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _0222E310 ; =0x027E0000
ldr r1, _0222E314 ; =0x00003FF8
mov r0, #1
@@ -2389,7 +2389,7 @@ _0222E824:
ldr r0, _0222E858 ; =0x00000B84
mov r1, #0
str r1, [r6, r0]
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, r4, r5, r6, r7, pc}
diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s
index df849b5e..f3c96168 100644
--- a/arm9/modules/81/asm/module_81.s
+++ b/arm9/modules/81/asm/module_81.s
@@ -233,7 +233,7 @@ MOD81_02238004: ; 0x02238004
bl FreeToHeap
ldr r0, [r4, #0x18]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0x39
@@ -327,7 +327,7 @@ MOD81_022380F4: ; 0x022380F4
push {r3, lr}
ldr r0, [r1, #0x18]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _02238110 ; =0x027E0000
ldr r1, _02238114 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/82/asm/module_82.s b/arm9/modules/82/asm/module_82.s
index 01d50253..c04d7d65 100644
--- a/arm9/modules/82/asm/module_82.s
+++ b/arm9/modules/82/asm/module_82.s
@@ -900,7 +900,7 @@ _0222DCC0: .word 0x00000B78
MOD82_0222DCC4: ; 0x0222DCC4
push {r3, lr}
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _0222DCDC ; =0x027E0000
ldr r1, _0222DCE0 ; =0x00003FF8
mov r0, #1
@@ -1349,7 +1349,7 @@ _0222E018:
mov r1, #0
lsl r0, r0, #4
str r1, [r6, r0]
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
pop {r3, r4, r5, r6, r7, pc}
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index 0cdcae12..c84d1e83 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -1893,7 +1893,7 @@ MOD83_0222E464: ; 0x0222E464
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
add r0, r4, #0
bl DoScheduledBgGpuUpdates
ldr r3, _0222E484 ; =MOD83_027E0000
@@ -18085,7 +18085,7 @@ _022363E2:
bl FUN_0201FD58
mov r0, #0
str r0, [r6, #0x28]
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
ldr r0, _02236448 ; =0x0000E88C
@@ -18217,7 +18217,7 @@ MOD83_0223650C: ; 0x0223650C
str r1, [r4, r0]
_02236520:
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r0, [r4, #0x20]
bl DoScheduledBgGpuUpdates
ldr r3, _02236540 ; =MOD83_027E0000
@@ -23784,7 +23784,7 @@ _02238EB0:
ldr r0, _02238EF0 ; =MOD83_0223BC60
mov r1, #0
str r1, [r0]
- bl FUN_02009FA0
+ bl DeinitOamData
bl FUN_0201D12C
bl FUN_0201E08C
mov r0, #0
@@ -23826,7 +23826,7 @@ MOD83_02238F00: ; 0x02238F00
str r1, [r4, r0]
_02238F1E:
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r3, _02238F3C ; =MOD83_027E0000
ldr r1, _02238F40 ; =0x00003FF8
mov r0, #1
diff --git a/arm9/modules/84/asm/module_84_thumb1.s b/arm9/modules/84/asm/module_84_thumb1.s
index c9bff482..8c7c35e8 100644
--- a/arm9/modules/84/asm/module_84_thumb1.s
+++ b/arm9/modules/84/asm/module_84_thumb1.s
@@ -260,7 +260,7 @@ _021D771A:
add r5, #0xdc
ldr r0, [r5]
bl FUN_0201FD58
- bl FUN_02009FA0
+ bl DeinitOamData
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
@@ -552,7 +552,7 @@ MOD84_021D7958: ; 0x021D7958
add r1, #0xdc
ldr r0, [r1]
bl FUN_0201FDEC
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
pop {r3, pc}
thumb_func_end MOD84_021D7958
diff --git a/arm9/modules/84/asm/module_84_thumb2.s b/arm9/modules/84/asm/module_84_thumb2.s
index d97e5a59..cb5660e4 100644
--- a/arm9/modules/84/asm/module_84_thumb2.s
+++ b/arm9/modules/84/asm/module_84_thumb2.s
@@ -1067,14 +1067,14 @@ _021D8914:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D8950
_021D893A:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D8950
ldr r0, [r5, #8]
@@ -1322,14 +1322,14 @@ _021D8AF4:
mov r0, #0x20
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D8B66
_021D8B16:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D8B66
ldr r0, [r4]
@@ -1350,14 +1350,14 @@ _021D8B28:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D8B66
_021D8B4E:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D8B66
mov r0, #1
@@ -1622,14 +1622,14 @@ _021D8D2C:
mov r0, #0x20
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021D8DE6
_021D8D56:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D8DE6
ldr r0, _021D8DEC ; =0x00000DF4
@@ -1680,14 +1680,14 @@ _021D8D9E:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021D8DE6
_021D8DC8:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D8DE6
mov r0, #1
@@ -2481,14 +2481,14 @@ _021D93FC:
mov r0, #0x20
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D946E
_021D941E:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D946E
ldr r0, [r4]
@@ -2509,14 +2509,14 @@ _021D9430:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D946E
_021D9456:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D946E
mov r0, #1
@@ -2790,14 +2790,14 @@ _021D9654:
mov r0, #0x10
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021D97F0
_021D966E:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D96D2
mov r1, #0
@@ -2960,14 +2960,14 @@ _021D97B0:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021D97F0
_021D97D8:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D97F0
ldr r0, [r4, #0x4c]
@@ -3354,14 +3354,14 @@ _021D9ABC:
mov r0, #0x20
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D9B2E
_021D9ADE:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D9B2E
ldr r0, [r4]
@@ -3382,14 +3382,14 @@ _021D9AF0:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _021D9B2E
_021D9B16:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D9B2E
mov r0, #1
@@ -3661,14 +3661,14 @@ _021D9D0E:
mov r0, #0x20
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021DA068
_021D9D28:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021D9E16
mov r1, #0
@@ -3977,14 +3977,14 @@ _021D9F90:
sub r1, #0x30
mov r2, #0
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021DA068
_021D9FBE:
mov r0, #3
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DA068
mov r0, #1
@@ -4049,14 +4049,14 @@ _021DA02A:
mov r0, #0x10
sub r2, #0x10
mov r3, #0x1d
- bl FUN_0200A208
+ bl StartBrightnessTransition
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _021DA068
_021DA058:
mov r0, #1
- bl FUN_0200A344
+ bl IsBrightnessTransitionActive
cmp r0, #0
beq _021DA068
add sp, #0x10
diff --git a/arm9/modules/85/asm/module_85.s b/arm9/modules/85/asm/module_85.s
index 042746c2..8d6b495f 100644
--- a/arm9/modules/85/asm/module_85.s
+++ b/arm9/modules/85/asm/module_85.s
@@ -979,7 +979,7 @@ MOD85_021D7D04: ; 0x021D7D04
lsl r0, r0, #4
ldr r0, [r4, r0]
bl MOD85_021DE710
- bl FUN_02009FA0
+ bl DeinitOamData
pop {r4, pc}
thumb_func_end MOD85_021D7D04
@@ -1459,7 +1459,7 @@ MOD85_021D80DC: ; 0x021D80DC
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
- bl FUN_02009F80
+ bl ApplyAndResetOamManagerBuffer
ldr r0, _021D80F4 ; =0x0000043C
ldr r0, [r4, r0]
bl DoScheduledBgGpuUpdates
diff --git a/arm9/src/brightness.c b/arm9/src/brightness.c
new file mode 100644
index 00000000..59e96fd3
--- /dev/null
+++ b/arm9/src/brightness.c
@@ -0,0 +1,198 @@
+#include "global.h"
+#include "brightness.h"
+#include "GX_g2.h"
+#include "MI_memory.h"
+
+struct BrightnessData mainScreenBrightnessData;
+
+struct BrightnessData subScreenBrightnessData;
+
+THUMB_FUNC void DoBrightnessTransitionStep(struct BrightnessData *brightness)
+{
+ BOOL transitionFinished = FALSE;
+
+ if (brightness->target_brightness !=
+ brightness->current_brightness +
+ brightness->transition_direction * brightness->step_size_integer &&
+ brightness->current_brightness != brightness->target_brightness)
+ {
+ brightness->current_brightness +=
+ brightness->transition_direction * brightness->step_size_integer;
+ brightness->fractional_count += brightness->step_size_fractional;
+
+ if (brightness->fractional_count >= brightness->step_count)
+ {
+ brightness->current_brightness += brightness->transition_direction;
+ if (brightness->current_brightness != brightness->target_brightness)
+ {
+ brightness->fractional_count -= brightness->step_count;
+ }
+ else
+ {
+ transitionFinished = TRUE;
+ }
+ }
+ }
+ else
+ {
+ brightness->current_brightness = brightness->target_brightness;
+ transitionFinished = TRUE;
+ }
+
+ if ((brightness->screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(
+ &reg_G2_BLDCNT, brightness->surfaceMask, brightness->current_brightness);
+ }
+ else if ((brightness->screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(
+ &reg_G2S_DB_BLDCNT, brightness->surfaceMask, brightness->current_brightness);
+ }
+
+ if (transitionFinished == TRUE)
+ {
+ brightness->transitionActive = FALSE;
+ }
+}
+
+THUMB_FUNC void InitBrightnessTransition(struct BrightnessData *brightnessData,
+ u16 step_count,
+ s16 target_brightness,
+ s16 start_brightness,
+ fx32 surfaceMask,
+ u32 screenMask)
+{
+ GF_ASSERT(!brightnessData->transitionActive);
+
+ brightnessData->transitionActive = TRUE;
+ brightnessData->surfaceMask = (u8)surfaceMask;
+ brightnessData->screenMask = (u8)screenMask;
+ brightnessData->step_count = step_count;
+ brightnessData->target_brightness = target_brightness;
+ brightnessData->current_brightness = start_brightness;
+ brightnessData->brightness_diff = (s16)(start_brightness - target_brightness);
+
+ if (brightnessData->brightness_diff > 0)
+ {
+ brightnessData->transition_direction = -1;
+ }
+ else
+ {
+ brightnessData->transition_direction = 1;
+ brightnessData->brightness_diff *= -1;
+ }
+
+ brightnessData->step_size_integer = (s16)(brightnessData->brightness_diff / step_count);
+ brightnessData->step_size_fractional = (u16)(brightnessData->brightness_diff % step_count);
+ brightnessData->fractional_count = 0;
+}
+
+THUMB_FUNC void StartBrightnessTransition(
+ u16 step_count, s16 target_brightness, s16 start_brightness, fx32 surfaceMask, u32 screenMask)
+{
+ if (step_count != 0)
+ {
+ if ((screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2_BLDCNT, surfaceMask, start_brightness);
+ InitBrightnessTransition(&mainScreenBrightnessData,
+ step_count,
+ target_brightness,
+ start_brightness,
+ surfaceMask,
+ 1);
+ }
+
+ if ((screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2S_DB_BLDCNT, surfaceMask, start_brightness);
+ InitBrightnessTransition(&subScreenBrightnessData,
+ step_count,
+ target_brightness,
+ start_brightness,
+ surfaceMask,
+ 2);
+ }
+ }
+}
+
+THUMB_FUNC void SetBrightness(fx32 brightness, fx32 surfaceMask, u32 screenMask)
+{
+
+ if ((screenMask & 1) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2_BLDCNT, surfaceMask, brightness);
+ }
+
+ if ((screenMask & 2) != 0)
+ {
+ G2x_SetBlendBrightness_(&reg_G2S_DB_BLDCNT, surfaceMask, brightness);
+ }
+
+ InitScreenBrightnessData(screenMask);
+}
+
+THUMB_FUNC void InitAllScreenBrightnessData(void)
+{
+ MI_CpuFill8(&mainScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ MI_CpuFill8(&subScreenBrightnessData, 0, sizeof(struct BrightnessData));
+
+ mainScreenBrightnessData.transitionActive = FALSE;
+ subScreenBrightnessData.transitionActive = FALSE;
+}
+
+THUMB_FUNC void InitScreenBrightnessData(u32 screenMask)
+{
+ if (screenMask & 1)
+ {
+ MI_CpuFill8(&mainScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ mainScreenBrightnessData.transitionActive = FALSE;
+ }
+
+ if (screenMask & 2)
+ {
+ MI_CpuFill8(&subScreenBrightnessData, 0, sizeof(struct BrightnessData));
+ subScreenBrightnessData.transitionActive = FALSE;
+ }
+}
+
+THUMB_FUNC void DoAllScreenBrightnessTransitionStep(void)
+{
+ if (mainScreenBrightnessData.transitionActive)
+ {
+ DoBrightnessTransitionStep(&mainScreenBrightnessData);
+ }
+
+ if (subScreenBrightnessData.transitionActive)
+ {
+ DoBrightnessTransitionStep(&subScreenBrightnessData);
+ }
+}
+
+THUMB_FUNC BOOL IsBrightnessTransitionActive(u32 screenMask)
+{
+ if (screenMask == 3)
+ {
+ if (!mainScreenBrightnessData.transitionActive && !subScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+ else if (screenMask == 1)
+ {
+ if (!mainScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+ else if (screenMask == 2)
+ {
+ if (!subScreenBrightnessData.transitionActive)
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
diff --git a/arm9/src/communication_error.c b/arm9/src/communication_error.c
index 73345af1..4401d9b8 100644
--- a/arm9/src/communication_error.c
+++ b/arm9/src/communication_error.c
@@ -6,8 +6,8 @@
#include "msgdata.h"
#include "msgdata/msg.naix"
#include "text.h"
+#include "brightness.h"
-extern void FUN_0200A274(fx32 brightness, fx32, u32);
extern void FUN_0200CB00(struct BgConfig* bg_config, enum GFBgLayer layer, u32 num_tiles, u32, u8, u32 heap_id);
extern void FUN_0200CCA4(struct Window* window, BOOL copy_to_vram, u16 fill_value, u32 palette_num);
extern void FUN_0200E394(BOOL set_brightness_on_bottom_screen);
@@ -149,7 +149,7 @@ THUMB_FUNC void ShowCommunicationError(u32 heap_id, u32 error, u32 error_code)
GX_BothDispOn();
FUN_0200E394(PM_LCD_TOP);
FUN_0200E394(PM_LCD_BOTTOM);
- FUN_0200A274(0, 0x3F, 3);
+ SetBrightness(0, 0x3F, 3);
RemoveWindow(&window);
DestroyMsgData(error_message_data);
diff --git a/arm9/src/error_message_reset.c b/arm9/src/error_message_reset.c
index d49e8e51..93bc898d 100644
--- a/arm9/src/error_message_reset.c
+++ b/arm9/src/error_message_reset.c
@@ -6,6 +6,7 @@
#include "bg_window.h"
#include "PAD_pad.h"
#include "font.h"
+#include "brightness.h"
const struct WindowTemplate UNK_020FF49C = {
@@ -46,7 +47,6 @@ extern void FUN_0200E3A0(PMLCDTarget, int);
extern void FUN_0200CB00(struct BgConfig *param0, u32 param1, u32 param2, u32 param3, u8 param4, u32 param5);
extern void FUN_0200CCA4(struct Window *param0, u32 param1, u32 param2, u32 param3);
extern void FUN_0200E394(u32 param0);
-extern void FUN_0200A274(u32 param0, u32 param1, u32 param2);
THUMB_FUNC void VBlankHandler()
{
@@ -124,7 +124,7 @@ THUMB_FUNC void PrintErrorMessageAndReset()
GX_BothDispOn();
FUN_0200E394(0);
FUN_0200E394(1);
- FUN_0200A274(0, 0x3f, 3);
+ SetBrightness(0, 0x3f, 3);
FUN_02032DAC();
while (1)
diff --git a/arm9/src/main.c b/arm9/src/main.c
index fb4f8707..312d222c 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -18,6 +18,7 @@
#include "wfc_user_info_warning.h"
#include "module_52.h"
#include "font.h"
+#include "brightness.h"
FS_EXTERN_OVERLAY(MODULE_52);
FS_EXTERN_OVERLAY(MODULE_63);
@@ -32,13 +33,11 @@ extern void FUN_02022294(void);
extern void GF_InitRTCWork(void);
extern int FUN_020337E8(int);
extern void FUN_02089D90(int);
-extern void FUN_0200A2AC(void);
extern void FUN_02015E30(void);
extern void FUN_0201B5CC(void *);
extern void GF_RTC_UpdateOnFrame(void);
extern void FUN_02015E60(void);
extern void FUN_020222C4(void);
-extern void FUN_0200A318(void);
extern void FUN_0200E2D8(void);
extern struct Unk21DBE18 MOD63_021DBE18;
@@ -97,7 +96,7 @@ THUMB_FUNC void NitroMain(void)
gMain.unk6C = 1;
gMain.unk30 = 0;
InitializeMainRNG();
- FUN_0200A2AC();
+ InitAllScreenBrightnessData();
FUN_02015E30();
UNK_02016FA4 = 0;
for (;;)
@@ -127,7 +126,7 @@ THUMB_FUNC void NitroMain(void)
OS_WaitIrq(1, 1);
gMain.unk2C++;
gMain.unk30 = 0;
- FUN_0200A318();
+ DoAllScreenBrightnessTransitionStep();
FUN_0200E2D8();
if (gMain.vBlankIntr)
gMain.vBlankIntr(gMain.vBlankIntrArg);
diff --git a/arm9/src/oam.c b/arm9/src/oam.c
new file mode 100644
index 00000000..ff3405d4
--- /dev/null
+++ b/arm9/src/oam.c
@@ -0,0 +1,169 @@
+#include "global.h"
+#include "oam.h"
+#include "GX_g2.h"
+#include "MI_memory.h"
+#include "heap.h"
+
+extern void FUN_020213A0(void);
+extern void FUN_0202135C(void *param0,
+ u32 *param1,
+ u32 (*param2)(u32, u32),
+ u32 (*param3)(u32),
+ void (*param4)(void),
+ u32 param5,
+ u32 param6);
+extern void FUN_020203CC(u32 heap_id);
+extern void FUN_02020404(u32 heap_id);
+
+struct OamData *oamData;
+
+THUMB_FUNC void FUN_02009EAC(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 param8)
+{
+ s32 r0;
+ if (param0 < 4)
+ {
+ r0 = 4;
+ if (param1 > 0x7c)
+ {
+ param1 = param1 - (4 - param0);
+ }
+ }
+ else
+ {
+ r0 = param0;
+ }
+
+ s32 r2;
+ if (param2 < 1)
+ {
+ r2 = 1;
+ if (param3 > 0x1e)
+ {
+ param3 = param3 - (1 - param2);
+ }
+ }
+ else
+ {
+ r2 = param2;
+ }
+
+ InitOamData(r0, param1, r2, param3, param4, param5, param6, param7, param8);
+}
+
+THUMB_FUNC void InitOamData(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 heap_id)
+{
+ GF_ASSERT(oamData == NULL);
+ oamData = AllocFromHeap(heap_id, sizeof(struct OamData));
+ GF_ASSERT(oamData);
+
+ oamData->heap_id = heap_id;
+
+ GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
+ &oamData->oamManagers[0], (u16)param0, (u16)param1, (u16)param2, (u16)param3, 0));
+ GF_ASSERT(NNS_G2dGetNewOamManagerInstance(
+ &oamData->oamManagers[1], (u16)param4, (u16)param5, (u16)param6, (u16)param7, 1));
+}
+
+THUMB_FUNC void ApplyAndResetOamManagerBuffer(void)
+{
+ if (oamData != NULL)
+ {
+ NNS_G2dApplyAndResetOamManagerBuffer(&oamData->oamManagers[0]);
+ NNS_G2dApplyAndResetOamManagerBuffer(&oamData->oamManagers[1]);
+ }
+}
+
+THUMB_FUNC void DeinitOamData(void)
+{
+ GF_ASSERT(oamData);
+
+ FUN_0200A064(oamData->heap_id);
+ FUN_0200A06C(oamData->heap_id);
+
+ FreeToHeap(oamData);
+ oamData = NULL;
+}
+
+THUMB_FUNC void FUN_02009FD8(void *param0, u32 *param1, u32 param2, u32 param3)
+{
+ GF_ASSERT(oamData);
+
+ if (param2 == 1)
+ {
+ FUN_0202135C(param0, param1, EntryOamManagerOamWithAffineIdxMainScreen, EntryOamManagerAffineMainScreen, FUN_020213A0, param2, param3);
+ return;
+ }
+
+ FUN_0202135C(param0, param1, EntryOamManagerOamWithAffineIdxSubScreen, EntryOamManagerAffineSubScreen, FUN_020213A0, param2, param3);
+}
+
+THUMB_FUNC NNSG2dOamManager *GetOamManager(u32 screen)
+{
+ GF_ASSERT(oamData);
+ if (screen == 0)
+ {
+ return &oamData->oamManagers[0];
+ }
+ else
+ {
+ return &oamData->oamManagers[1];
+ }
+}
+
+THUMB_FUNC void FUN_0200A064(u32 heap_id)
+{
+ FUN_020203CC(heap_id);
+}
+
+THUMB_FUNC void FUN_0200A06C(u32 heap_id)
+{
+ FUN_02020404(heap_id);
+}
+
+THUMB_FUNC u32 EntryOamManagerOamWithAffineIdxMainScreen(u32 param0, u32 param1)
+{
+ u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&oamData->oamManagers[0], param0, param1);
+ GF_ASSERT(res);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerOamWithAffineIdxSubScreen(u32 param0, u32 param1)
+{
+ u32 res = NNS_G2dEntryOamManagerOamWithAffineIdx(&oamData->oamManagers[1], param0, param1);
+ GF_ASSERT(res);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerAffineMainScreen(u32 param0)
+{
+ u32 res = NNS_G2dEntryOamManagerAffine(&oamData->oamManagers[0], param0);
+ GF_ASSERT(res != 0xFFFE);
+
+ return res;
+}
+
+THUMB_FUNC u32 EntryOamManagerAffineSubScreen(u32 param0)
+{
+ u32 res = NNS_G2dEntryOamManagerAffine(&oamData->oamManagers[1], param0);
+ GF_ASSERT(res != 0xFFFE);
+
+ return res;
+}
diff --git a/arm9/src/unk_02008AA4.c b/arm9/src/unk_02008AA4.c
index 1cabb887..300967fc 100644
--- a/arm9/src/unk_02008AA4.c
+++ b/arm9/src/unk_02008AA4.c
@@ -4,9 +4,9 @@
#include "heap.h"
#include "unk_0200BB14.h"
#include "unk_02008DEC.h"
+#include "oam.h"
extern void FUN_0202134C(void *, u32);
-extern void FUN_02009FD8(void *param0, u32 *param1, u32 param2, u32 param3);
extern u32 FUN_0201FCB0(u32 *);
extern void FUN_02021390(u32, u32 *);
extern void FUN_0201D194(u32, u32, u32);
diff --git a/arm9/src/unk_0200BB14.c b/arm9/src/unk_0200BB14.c
index 95a854d7..093d35c1 100644
--- a/arm9/src/unk_0200BB14.c
+++ b/arm9/src/unk_0200BB14.c
@@ -4,31 +4,21 @@
#include "heap.h"
#include "unk_02008AA4.h"
#include "unk_02008DEC.h"
+#include "oam.h"
extern void FUN_0201D060(u32 *param0, u32 param1, u32 param2);
extern void FUN_0201E00C(u32 param0, u32 param1);
extern void NNS_G2dInitOamManagerModule();
-extern void FUN_02009EAC(u32 param0,
- u32 param1,
- u32 param2,
- u32 param3,
- u32 param4,
- u32 param5,
- u32 param6,
- u32 param7,
- u32 param8);
extern u32 FUN_0201C328(u32 param0, u32 param1);
extern void FUN_0201D168();
extern void FUN_0201E0BC();
extern void FUN_0201FFC8(u32 param0);
extern void FUN_0201FDEC(u32 param0);
-extern void FUN_02009F80();
extern void FUN_0201C348();
extern void FUN_0201FD58(u32 param0);
extern void FUN_0201C350(u32 param0);
extern void FUN_0201D12C();
extern void FUN_0201E08C();
-extern void FUN_02009FA0();
extern u32 FUN_0201FE94(struct UnkStruct_0200BB14_4 *param0);
extern void FUN_02020130(u32 param0, u32 param1);
extern void FUN_02020248(u32 param0, u32 param1);
@@ -168,7 +158,7 @@ THUMB_FUNC void FUN_0200BC1C(u32 *param0)
THUMB_FUNC void FUN_0200BC30()
{
- FUN_02009F80();
+ ApplyAndResetOamManagerBuffer();
}
THUMB_FUNC void FUN_0200BC38()
@@ -215,7 +205,7 @@ THUMB_FUNC void FUN_0200BCB0(u32 *param0)
if (param0[2] == 1)
{
- FUN_02009FA0();
+ DeinitOamData();
}
}
diff --git a/arm9/src/wfc_user_info_warning.c b/arm9/src/wfc_user_info_warning.c
index d9edd94c..370cf314 100644
--- a/arm9/src/wfc_user_info_warning.c
+++ b/arm9/src/wfc_user_info_warning.c
@@ -10,9 +10,9 @@
#include "string16.h"
#include "text.h"
#include "wfc_user_info_warning.h"
+#include "brightness.h"
extern void FUN_02002ED0(enum GFBgLayer layer, u32 base_addr, u32 heap_id);
-extern void FUN_0200A274(fx32 brightness, fx32, u32);
extern void FUN_0200CB00(struct BgConfig* bg_config, enum GFBgLayer layer, u32 num_tiles, u32, u8, u32 heap_id);
extern void FUN_0200CCA4(struct Window* window, BOOL copy_to_vram, u16 fill_value, u32 palette_num);
extern void FUN_0200E394(BOOL set_brightness_on_bottom_screen);
@@ -118,7 +118,7 @@ THUMB_FUNC void ShowWFCUserInfoWarning(u32 heap_id, u32 a1)
GX_BothDispOn();
FUN_0200E394(0);
FUN_0200E394(1);
- FUN_0200A274(0, 0x3F, 3);
+ SetBrightness(0, 0x3F, 3);
while (TRUE)
{
diff --git a/include/brightness.h b/include/brightness.h
new file mode 100644
index 00000000..029ee0b9
--- /dev/null
+++ b/include/brightness.h
@@ -0,0 +1,38 @@
+#ifndef POKEDIAMOND_UNK_0200A104_H
+#define POKEDIAMOND_UNK_0200A104_H
+
+#include "global.h"
+#include "nitro/FX_types.h"
+
+struct BrightnessData
+{
+ fx32 surfaceMask;
+ u32 screenMask;
+ u16 step_count;
+ s16 target_brightness;
+ u32 unk0c;
+ s8 transition_direction;
+ s16 brightness_diff;
+ s16 step_size_integer;
+ u16 step_size_fractional;
+ u16 fractional_count;
+ s16 current_brightness;
+ BOOL transitionActive;
+};
+
+void DoBrightnessTransitionStep(struct BrightnessData *brightness);
+void InitBrightnessTransition(struct BrightnessData *brightnessData,
+ u16 step_count,
+ s16 target_brightness,
+ s16 start_brightness,
+ fx32 surfaceMask,
+ u32 screenMask);
+void StartBrightnessTransition(
+ u16 step_count, s16 target_brightness, s16 start_brightness, fx32 surfaceMask, u32 screenMask);
+void SetBrightness(fx32 brightness, fx32 surfaceMask, u32 screenMask);
+void InitAllScreenBrightnessData(void);
+void InitScreenBrightnessData(u32 screenMask);
+void DoAllScreenBrightnessTransitionStep(void);
+BOOL IsBrightnessTransitionActive(u32 screenMask);
+
+#endif // POKEDIAMOND_UNK_0200A104_H
diff --git a/include/oam.h b/include/oam.h
new file mode 100644
index 00000000..773c985d
--- /dev/null
+++ b/include/oam.h
@@ -0,0 +1,42 @@
+#ifndef POKEDIAMOND_UNK_02009EAC_H
+#define POKEDIAMOND_UNK_02009EAC_H
+
+#include "global.h"
+#include "NNS_g2d.h"
+
+struct OamData
+{
+ NNSG2dOamManager oamManagers[2];
+ u32 heap_id;
+};
+
+void FUN_02009EAC(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 param8);
+void InitOamData(s32 param0,
+ s32 param1,
+ s32 param2,
+ s32 param3,
+ u32 param4,
+ u32 param5,
+ u32 param6,
+ u32 param7,
+ u32 heap_id);
+void ApplyAndResetOamManagerBuffer(void);
+void DeinitOamData(void);
+void FUN_02009FD8(void *param0, u32 *param1, u32 param2, u32 param3);
+NNSG2dOamManager *GetOamManager(u32 screen);
+void FUN_0200A064(u32 heap_id);
+void FUN_0200A06C(u32 heap_id);
+u32 EntryOamManagerOamWithAffineIdxMainScreen(u32 param0, u32 param1);
+u32 EntryOamManagerOamWithAffineIdxSubScreen(u32 param0, u32 param1);
+u32 EntryOamManagerAffineMainScreen(u32 param0);
+u32 EntryOamManagerAffineSubScreen(u32 param0);
+
+#endif // POKEDIAMOND_UNK_02009EAC_H