summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-12-18 16:04:53 -0500
committerGitHub <noreply@github.com>2020-12-18 16:04:53 -0500
commitbbb1fac16bc7e912410b3dc7bbfc5d3067ac19d4 (patch)
treec8f46f67254d290d854aca645ffcdd5179e5fa6b
parentd45ebc4547e7d8e253f848a010bf6c430a55ba75 (diff)
parent22c9ea3a992c48fc5c8926902cbde48861195f10 (diff)
Merge pull request #305 from tgsm/options
decompile Options
-rw-r--r--arm9/asm/options.s239
-rw-r--r--arm9/asm/unk_020377F0.s2
-rw-r--r--arm9/asm/unk_020476CC.s10
-rw-r--r--arm9/asm/unk_02054590.s4
-rw-r--r--arm9/asm/unk_020625EC.s4
-rw-r--r--arm9/asm/unk_020653EC.s4
-rw-r--r--arm9/asm/unk_0206C700.s4
-rw-r--r--arm9/asm/unk_0206F3FC.s2
-rw-r--r--arm9/asm/unk_02072548.s2
-rw-r--r--arm9/asm/unk_020772F0.s2
-rw-r--r--arm9/asm/unk_02079C70.s4
-rw-r--r--arm9/asm/unk_02085338.s2
-rw-r--r--arm9/asm/unk_020859C0.s2
-rw-r--r--arm9/asm/unk_02086084.s4
-rw-r--r--arm9/asm/unk_02087D00.s4
-rw-r--r--arm9/global.inc32
-rw-r--r--arm9/modules/05/asm/mod05_021E2B80.s2
-rw-r--r--arm9/modules/05/asm/module_05.s2
-rw-r--r--arm9/modules/06/asm/module_06.s6
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s14
-rw-r--r--arm9/modules/12/asm/module_12.s16
-rw-r--r--arm9/modules/14/asm/module_14.s4
-rw-r--r--arm9/modules/17/asm/module_17.s10
-rw-r--r--arm9/modules/18/asm/module_18.s2
-rw-r--r--arm9/modules/52/asm/module_52.s2
-rw-r--r--arm9/modules/53/asm/module_53.s2
-rw-r--r--arm9/modules/54/asm/module_54.s2
-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/58/asm/module_58.s4
-rw-r--r--arm9/modules/59/asm/mod59_021D74E0_asm.s2
-rw-r--r--arm9/modules/60/asm/module_60.s28
-rw-r--r--arm9/modules/61/asm/module_61.s4
-rw-r--r--arm9/modules/64/asm/module_64.s4
-rw-r--r--arm9/modules/65/asm/module_65.s4
-rw-r--r--arm9/modules/71/asm/module_71.s4
-rw-r--r--arm9/modules/73/asm/module_73.s4
-rw-r--r--arm9/modules/75/asm/module_75.s4
-rw-r--r--arm9/modules/76/asm/module_76.s4
-rw-r--r--arm9/modules/77/asm/module_77.s4
-rw-r--r--arm9/modules/80/asm/module_80.s20
-rw-r--r--arm9/modules/81/asm/module_81.s4
-rw-r--r--arm9/modules/82/asm/module_82.s2
-rw-r--r--arm9/modules/83/asm/module_83.s8
-rw-r--r--arm9/src/options.c110
-rw-r--r--arm9/src/sound.c2
-rw-r--r--include/options.h28
47 files changed, 259 insertions, 372 deletions
diff --git a/arm9/asm/options.s b/arm9/asm/options.s
deleted file mode 100644
index 14d2a449..00000000
--- a/arm9/asm/options.s
+++ /dev/null
@@ -1,239 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .extern gMain
-
- .text
-
- thumb_func_start FUN_02024F30
-FUN_02024F30: ; 0x02024F30
- push {r4, lr}
- mov r1, #0x2
- bl AllocFromHeap
- add r4, r0, #0x0
- bl Options_init
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02024F44
-FUN_02024F44: ; 0x02024F44
- ldr r3, _02024F4C ; =MI_CpuCopy8
- mov r2, #0x2
- bx r3
- nop
-_02024F4C: .word MI_CpuCopy8
-
- thumb_func_start Options_init
-Options_init: ; 0x02024F50
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl MI_CpuFill8
- ldrh r1, [r4, #0x0]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strh r0, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x30
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x80
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r0, _02024F94 ; =0xFFFFFCFF
- and r0, r1
- strh r0, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r0, _02024F98 ; =0xFFFF83FF
- and r0, r1
- strh r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02024F94: .word 0xFFFFFCFF
-_02024F98: .word 0xFFFF83FF
-
- thumb_func_start FUN_02024F9C
-FUN_02024F9C: ; 0x02024F9C
- push {r3, lr}
- cmp r0, #0x0
- beq _02024FAC
- bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025064
- add r1, r0, #0x0
-_02024FAC:
- cmp r1, #0x0
- beq _02024FCA
- cmp r1, #0x1
- beq _02024FBA
- cmp r1, #0x2
- beq _02024FC2
- b _02024FCA
-_02024FBA:
- ldr r0, _02024FD4 ; =gMain
- mov r1, #0x1
- str r1, [r0, #0x34]
- pop {r3, pc}
-_02024FC2:
- ldr r0, _02024FD4 ; =gMain
- mov r1, #0x3
- str r1, [r0, #0x34]
- pop {r3, pc}
-_02024FCA:
- ldr r0, _02024FD4 ; =gMain
- mov r1, #0x0
- str r1, [r0, #0x34]
- pop {r3, pc}
- nop
-_02024FD4: .word gMain
-
- thumb_func_start FUN_02024FD8
-FUN_02024FD8: ; 0x02024FD8
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-
- thumb_func_start FUN_02024FE0
-FUN_02024FE0: ; 0x02024FE0
- ldrh r3, [r0, #0x0]
- mov r2, #0xf
- lsl r1, r1, #0x10
- bic r3, r2
- lsr r2, r1, #0x10
- mov r1, #0xf
- and r1, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02024FF4
-FUN_02024FF4: ; 0x02024FF4
- push {r3, lr}
- bl FUN_02024FD8
- cmp r0, #0x0
- bne _02025002
- mov r0, #0x8
- pop {r3, pc}
-_02025002:
- cmp r0, #0x1
- bne _0202500A
- mov r0, #0x4
- pop {r3, pc}
-_0202500A:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02025010
-FUN_02025010: ; 0x02025010
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- bx lr
-
- thumb_func_start FUN_02025018
-FUN_02025018: ; 0x02025018
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1e
- ldrh r3, [r0, #0x0]
- mov r2, #0x30
- lsr r1, r1, #0x1a
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202502C
-FUN_0202502C: ; 0x0202502C
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02025034
-FUN_02025034: ; 0x02025034
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- ldrh r3, [r0, #0x0]
- mov r2, #0x80
- lsr r1, r1, #0x18
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025048
-FUN_02025048: ; 0x02025048
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02025050
-FUN_02025050: ; 0x02025050
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- ldrh r3, [r0, #0x0]
- mov r2, #0x40
- lsr r1, r1, #0x19
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025064
-FUN_02025064: ; 0x02025064
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1e
- bx lr
-
- thumb_func_start FUN_0202506C
-FUN_0202506C: ; 0x0202506C
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1e
- ldrh r3, [r0, #0x0]
- ldr r2, _02025080 ; =0xFFFFFCFF
- lsr r1, r1, #0x16
- and r2, r3
- orr r1, r2
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-_02025080: .word 0xFFFFFCFF
-
- thumb_func_start FUN_02025084
-FUN_02025084: ; 0x02025084
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1b
- bx lr
-
- thumb_func_start FUN_0202508C
-FUN_0202508C: ; 0x0202508C
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1b
- ldrh r3, [r0, #0x0]
- ldr r2, _020250A0 ; =0xFFFF83FF
- lsr r1, r1, #0x11
- and r2, r3
- orr r1, r2
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-_020250A0: .word 0xFFFF83FF
diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s
index e7d630f6..9d5e2f32 100644
--- a/arm9/asm/unk_020377F0.s
+++ b/arm9/asm/unk_020377F0.s
@@ -2478,7 +2478,7 @@ FUN_020389CC: ; 0x020389CC
mov r0, #0x0
str r0, [r4, #0x18]
ldr r0, [sp, #0x0]
- bl FUN_02025084
+ bl Options_GetFrame
str r0, [r4, #0x1c]
lsl r1, r6, #0x18
ldr r0, [r5, #0xc]
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 568c4b5d..8eac1942 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -116,7 +116,7 @@ _02047774:
lsl r1, r1, #0x4
str r0, [r7, r1]
add r0, r5, #0x0
- bl FUN_02024F30
+ bl Options_new
mov r1, #0x13
lsl r1, r1, #0x4
str r0, [r7, r1]
@@ -237,7 +237,7 @@ FUN_02047814: ; 0x02047814
lsl r1, r1, #0x4
ldr r0, [sp, #0x14]
ldr r1, [r4, r1]
- bl FUN_02024F44
+ bl Options_copy
add r0, r5, #0x0
bl Script_GetTimeOfDay
mov r1, #0x16
@@ -513,7 +513,7 @@ FUN_02047A78: ; 0x02047A78
lsl r1, r1, #0x4
ldr r0, [sp, #0xc]
ldr r1, [r5, r1]
- bl FUN_02024F44
+ bl Options_copy
ldr r1, [sp, #0x8]
add r0, r5, #0x0
mov r2, #0x0
@@ -712,7 +712,7 @@ _02047C98:
lsl r1, r1, #0x4
ldr r0, [sp, #0x4]
ldr r1, [r6, r1]
- bl FUN_02024F44
+ bl Options_copy
ldr r1, [sp, #0x8]
add r0, r6, #0x0
mov r2, #0x0
@@ -896,7 +896,7 @@ _02047E2C:
lsl r1, r1, #0x4
ldr r0, [sp, #0x10]
ldr r1, [r5, r1]
- bl FUN_02024F44
+ bl Options_copy
ldr r1, [sp, #0x14]
add r0, r5, #0x0
mov r2, #0x0
diff --git a/arm9/asm/unk_02054590.s b/arm9/asm/unk_02054590.s
index 772871af..c4969083 100644
--- a/arm9/asm/unk_02054590.s
+++ b/arm9/asm/unk_02054590.s
@@ -74,7 +74,7 @@ FUN_02054608: ; 0x02054608
bl FUN_0201AB08
add r6, r0, #0x0
add r0, r4, #0x0
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
@@ -119,7 +119,7 @@ FUN_02054658: ; 0x02054658
mov r0, #0x0
bl FUN_02002BB8
add r0, r6, #0x0
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0x0
str r3, [sp, #0x0]
str r0, [sp, #0x4]
diff --git a/arm9/asm/unk_020625EC.s b/arm9/asm/unk_020625EC.s
index 9809241c..e60a5b4f 100644
--- a/arm9/asm/unk_020625EC.s
+++ b/arm9/asm/unk_020625EC.s
@@ -101,11 +101,11 @@ FUN_020625EC: ; 0x020625EC
str r0, [r4, r1]
add r0, r6, #0x0
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
strh r0, [r4, #0x1a]
add r0, r6, #0x0
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
strh r0, [r4, #0x1c]
str r4, [r7, #0x8]
mov r0, #0x1
diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s
index 1cf56132..74da05c0 100644
--- a/arm9/asm/unk_020653EC.s
+++ b/arm9/asm/unk_020653EC.s
@@ -67,11 +67,11 @@ FUN_020653EC: ; 0x020653EC
add r6, r0, #0x0
strb r1, [r4, #0x1a]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
strb r0, [r4, #0x16]
add r0, r6, #0x0
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
strh r0, [r4, #0x14]
add r0, r4, #0x0
ldr r2, [r4, #0x0]
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index f5a0873e..7fa07ac0 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -2343,7 +2343,7 @@ _0206DA26:
mov r1, #0x4
bl FUN_02018744
ldr r0, [r5, #0x2c]
- bl FUN_02025084
+ bl Options_GetFrame
add r6, r0, #0x0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
@@ -2675,7 +2675,7 @@ FUN_0206DD6C: ; 0x0206DD6C
mov r1, #0xff
bl FUN_02019620
ldr r0, [r4, #0x2c]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0x0
str r3, [sp, #0x0]
str r0, [sp, #0x4]
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index 8d7d828a..e09b1ec4 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -1310,7 +1310,7 @@ FUN_0206FD24: ; 0x0206FD24
ldr r0, _0206FE70 ; =0x000005A4
ldr r0, [r5, r0]
ldr r0, [r0, #0xc]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
diff --git a/arm9/asm/unk_02072548.s b/arm9/asm/unk_02072548.s
index f6f09ad1..f35f769c 100644
--- a/arm9/asm/unk_02072548.s
+++ b/arm9/asm/unk_02072548.s
@@ -1664,7 +1664,7 @@ FUN_0207322C: ; 0x0207322C
ldr r0, _0207326C ; =0x000005A4
ldr r0, [r4, r0]
ldr r0, [r0, #0xc]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0x0
str r3, [sp, #0x0]
str r0, [sp, #0x4]
diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s
index 7a24d756..eba7f739 100644
--- a/arm9/asm/unk_020772F0.s
+++ b/arm9/asm/unk_020772F0.s
@@ -2355,7 +2355,7 @@ FUN_02077FE8: ; 0x02077FE8
mov r2, #0x12
bl FUN_02002EEC
ldr r0, [r5, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s
index 8bace89f..3562d2e7 100644
--- a/arm9/asm/unk_02079C70.s
+++ b/arm9/asm/unk_02079C70.s
@@ -1660,7 +1660,7 @@ _0207A99E:
lsl r0, r0, #0x2
ldr r0, [r5, r0]
ldr r0, [r0, #0x4]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
@@ -4738,7 +4738,7 @@ FUN_0207C23C: ; 0x0207C23C
lsl r0, r0, #0x2
ldr r0, [r4, r0]
ldr r0, [r0, #0x4]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
diff --git a/arm9/asm/unk_02085338.s b/arm9/asm/unk_02085338.s
index 45fcb995..08f7d90c 100644
--- a/arm9/asm/unk_02085338.s
+++ b/arm9/asm/unk_02085338.s
@@ -32,7 +32,7 @@ FUN_02085338: ; 0x02085338
add r0, r6, #0x0
strb r1, [r4, #0x3]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
str r0, [r4, #0x8]
cmp r5, #0x2
bne _02085390
diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s
index 846e5336..a299f623 100644
--- a/arm9/asm/unk_020859C0.s
+++ b/arm9/asm/unk_020859C0.s
@@ -348,7 +348,7 @@ _02085A9A:
str r0, [r4, r1]
ldr r0, [r4, #0x0]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
add r5, r0, #0x0
add r0, r4, #0x0
add r1, r4, #0x0
diff --git a/arm9/asm/unk_02086084.s b/arm9/asm/unk_02086084.s
index 6ef3d150..4d8fa9a4 100644
--- a/arm9/asm/unk_02086084.s
+++ b/arm9/asm/unk_02086084.s
@@ -36,11 +36,11 @@ FUN_02086084: ; 0x02086084
bl OverlayManager_GetField18
str r0, [r4, #0x0]
ldr r0, [r0, #0x10]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
str r0, [r4, #0x10]
ldr r0, [r4, #0x0]
ldr r0, [r0, #0x10]
- bl FUN_02025084
+ bl Options_GetFrame
str r0, [r4, #0x14]
bl FUN_02086468
str r0, [r4, #0x38]
diff --git a/arm9/asm/unk_02087D00.s b/arm9/asm/unk_02087D00.s
index 49d4676c..65d4db3d 100644
--- a/arm9/asm/unk_02087D00.s
+++ b/arm9/asm/unk_02087D00.s
@@ -544,11 +544,11 @@ FUN_020880A0: ; 0x020880A0
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
ldr r0, [r0, #0x18]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
strb r0, [r4, #0xa]
ldr r0, [r5, #0xc]
ldr r0, [r0, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
strb r0, [r4, #0xb]
ldr r0, _02088108 ; =UNK_020FD16C
ldr r2, [r5, #0x0]
diff --git a/arm9/global.inc b/arm9/global.inc
index 4845852b..0a00bc9b 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1586,23 +1586,23 @@
.extern FUN_02024EF4
.extern FUN_02024F0C
.extern FUN_02024F18
-.extern FUN_02024F30
-.extern FUN_02024F44
+.extern Options_new
+.extern Options_copy
.extern Options_init
-.extern FUN_02024F9C
-.extern FUN_02024FD8
-.extern FUN_02024FE0
-.extern FUN_02024FF4
-.extern FUN_02025010
-.extern FUN_02025018
-.extern FUN_0202502C
-.extern FUN_02025034
-.extern FUN_02025048
-.extern FUN_02025050
-.extern FUN_02025064
-.extern FUN_0202506C
-.extern FUN_02025084
-.extern FUN_0202508C
+.extern Options_SetButtonModeOnMain
+.extern Options_GetTextSpeed
+.extern Options_SetTextSpeed
+.extern Options_GetTextFrameDelay
+.extern Options_GetSoundMethod
+.extern Options_SetSoundMethod
+.extern Options_GetBattleScene
+.extern Options_SetBattleScene
+.extern Options_GetBattleStyle
+.extern Options_SetBattleStyle
+.extern Options_GetButtonMode
+.extern Options_SetButtonMode
+.extern Options_GetFrame
+.extern Options_SetFrame
.extern FUN_020250A4
.extern FUN_020250C4
.extern FUN_02025128
diff --git a/arm9/modules/05/asm/mod05_021E2B80.s b/arm9/modules/05/asm/mod05_021E2B80.s
index 8aa39261..2722d177 100644
--- a/arm9/modules/05/asm/mod05_021E2B80.s
+++ b/arm9/modules/05/asm/mod05_021E2B80.s
@@ -205,7 +205,7 @@ MOD05_021E2D00: ; 0x021E2D00
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
pop {r3, pc}
.balign 4, 0
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index b7232407..38ca97a9 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -16817,7 +16817,7 @@ _021EFC20:
str r1, [r0]
ldr r0, [r4, #0x34]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 1337a593..ac0c3eeb 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -8929,7 +8929,7 @@ _0223DA3E:
mov r0, #0x85
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -41696,12 +41696,12 @@ MOD06_0224DBA8: ; 0x0224DBA8
ldr r0, [r5, #8]
bl Sav2_PlayerData_GetOptionsAddr
add r4, r0, #0
- bl FUN_02025084
+ bl Options_GetFrame
mov r1, #0x53
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r1, #0x15
lsl r1, r1, #4
str r0, [r5, r1]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index 15f4c237..f04e67da 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -120,7 +120,7 @@ _0222F30E:
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r4, r0]
- bl FUN_02025084
+ bl Options_GetFrame
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
@@ -3600,7 +3600,7 @@ _02230E2E:
mov r1, #0x6d
lsl r1, r1, #2
ldr r0, [r0, r1]
- bl FUN_0202502C
+ bl Options_GetBattleScene
cmp r0, #0
bne _02230E40
mov r0, #1
@@ -3613,11 +3613,11 @@ _02230E40:
MOD11_02230E44: ; 0x02230E44
mov r1, #0x6d
lsl r1, r1, #2
- ldr r3, _02230E50 ; =FUN_02025084
+ ldr r3, _02230E50 ; =Options_GetFrame
ldr r0, [r0, r1]
bx r3
nop
-_02230E50: .word FUN_02025084
+_02230E50: .word Options_GetFrame
thumb_func_start MOD11_02230E54
MOD11_02230E54: ; 0x02230E54
@@ -3632,7 +3632,7 @@ _02230E62:
mov r1, #0x6d
lsl r1, r1, #2
ldr r0, [r0, r1]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
pop {r3, pc}
.align 2, 0
@@ -3640,11 +3640,11 @@ _02230E62:
MOD11_02230E70: ; 0x02230E70
mov r1, #0x6d
lsl r1, r1, #2
- ldr r3, _02230E7C ; =FUN_02025048
+ ldr r3, _02230E7C ; =Options_GetBattleStyle
ldr r0, [r0, r1]
bx r3
nop
-_02230E7C: .word FUN_02025048
+_02230E7C: .word Options_GetBattleStyle
thumb_func_start MOD11_02230E80
MOD11_02230E80: ; 0x02230E80
diff --git a/arm9/modules/12/asm/module_12.s b/arm9/modules/12/asm/module_12.s
index 215acf37..c24f23a7 100644
--- a/arm9/modules/12/asm/module_12.s
+++ b/arm9/modules/12/asm/module_12.s
@@ -4224,7 +4224,7 @@ MOD12_0222F834: ; 0x0222F834
ldr r1, [r5]
ldr r0, _0222F930 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02025084
+ bl Options_GetFrame
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
@@ -6224,7 +6224,7 @@ MOD12_022308F0: ; 0x022308F0
ldr r1, [r5]
ldr r0, _022309C4 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02025084
+ bl Options_GetFrame
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
@@ -15253,7 +15253,7 @@ _02234F2A:
bne _02234F40
ldr r0, _02234FAC ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
b _02234F42
_02234F40:
@@ -25497,7 +25497,7 @@ MOD12_02239AD0: ; 0x02239AD0
bne _02239AF2
ldr r0, _02239B44 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
b _02239AF4
_02239AF2:
@@ -34742,7 +34742,7 @@ MOD12_0223E1EC: ; 0x0223E1EC
bne _0223E20E
ldr r0, _0223E26C ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
b _0223E210
_0223E20E:
@@ -43529,7 +43529,7 @@ MOD12_022425F4: ; 0x022425F4
bne _02242616
ldr r0, _02242674 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
b _02242618
_02242616:
@@ -43673,7 +43673,7 @@ MOD12_022426BC: ; 0x022426BC
ldr r1, [r5]
ldr r0, _02242784 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02025084
+ bl Options_GetFrame
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
@@ -43843,7 +43843,7 @@ MOD12_02242804: ; 0x02242804
ldr r1, [r6]
ldr r0, _022429D0 ; =0x00001988
ldr r0, [r1, r0]
- bl FUN_02025084
+ bl Options_GetFrame
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index ae226da3..0bded4bf 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -9849,11 +9849,11 @@ MOD14_021DC3AC: ; 0x021DC3AC
MOD14_021DC3B4: ; 0x021DC3B4
mov r1, #0x69
lsl r1, r1, #2
- ldr r3, _021DC3C0 ; =FUN_02025084
+ ldr r3, _021DC3C0 ; =Options_GetFrame
ldr r0, [r0, r1]
bx r3
nop
-_021DC3C0: .word FUN_02025084
+_021DC3C0: .word Options_GetFrame
thumb_func_start MOD14_021DC3C4
MOD14_021DC3C4: ; 0x021DC3C4
diff --git a/arm9/modules/17/asm/module_17.s b/arm9/modules/17/asm/module_17.s
index be4096d7..1f3abbf2 100644
--- a/arm9/modules/17/asm/module_17.s
+++ b/arm9/modules/17/asm/module_17.s
@@ -4666,7 +4666,7 @@ MOD17_021D9918: ; 0x021D9918
ldr r0, [r5, r0]
add r7, r2, #0
add r4, r3, #0
- bl FUN_02025084
+ bl Options_GetFrame
add r6, r0, #0
mov r0, #0
mov r1, #0xe0
@@ -4847,7 +4847,7 @@ _021D9A7E:
bne _021D9ACE
add r0, r0, #4
ldr r0, [r5, r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
b _021D9AD0
_021D9ACE:
mov r0, #1
@@ -11480,12 +11480,12 @@ _021DCA42:
ldr r1, [r4, #0xc]
bl MOD17_021DCC38
ldr r0, [r4, #0xc]
- bl FUN_02025084
+ bl Options_GetFrame
mov r1, #0x4f
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [r4, #0xc]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r1, #5
lsl r1, r1, #6
str r0, [r5, r1]
@@ -11760,7 +11760,7 @@ MOD17_021DCC38: ; 0x021DCC38
sub sp, #8
add r4, r0, #0
add r0, r1, #0
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index b611c883..d09c0d20 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -7963,7 +7963,7 @@ MOD18_0223D414: ; 0x0223D414
add r6, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
ldr r0, _0223D580 ; =0x02251388
mov r2, #0x15
diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s
index 3fac1c6f..22824930 100644
--- a/arm9/modules/52/asm/module_52.s
+++ b/arm9/modules/52/asm/module_52.s
@@ -116,7 +116,7 @@ MOD52_021D7594: ; 0x021D7594
bl MOD52_021D7688
add r0, r4, #0
mov r1, #0
- bl FUN_02024F9C
+ bl Options_SetButtonModeOnMain
add r0, r5, #0
bl Sav2_SysInfo_MacAddressIsMine
cmp r0, #0
diff --git a/arm9/modules/53/asm/module_53.s b/arm9/modules/53/asm/module_53.s
index d128782b..366c45bd 100644
--- a/arm9/modules/53/asm/module_53.s
+++ b/arm9/modules/53/asm/module_53.s
@@ -846,7 +846,7 @@ MOD53_021D7B60: ; 0x021D7B60
bl FUN_020068C8
ldr r0, [r5, #8]
ldr r0, [r0, #8]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/54/asm/module_54.s b/arm9/modules/54/asm/module_54.s
index 0acfed98..11026c32 100644
--- a/arm9/modules/54/asm/module_54.s
+++ b/arm9/modules/54/asm/module_54.s
@@ -766,7 +766,7 @@ MOD54_021D7AA0: ; 0x021D7AA0
bl FUN_020068C8
ldr r0, [r5, #8]
ldr r0, [r0, #8]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/55/asm/module_55.s b/arm9/modules/55/asm/module_55.s
index eb124639..8c06cc76 100644
--- a/arm9/modules/55/asm/module_55.s
+++ b/arm9/modules/55/asm/module_55.s
@@ -808,7 +808,7 @@ MOD55_021D7AE0: ; 0x021D7AE0
bl FUN_020068C8
ldr r0, [r5, #8]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -5349,7 +5349,7 @@ MOD55_021DA0A4: ; 0x021DA0A4
ldr r0, [r5, #8]
add r6, r1, #0
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r4, r0, #0
mov r0, #0xce
lsl r0, r0, #2
diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s
index fbe645b5..309d4cc0 100644
--- a/arm9/modules/56/asm/module_56.s
+++ b/arm9/modules/56/asm/module_56.s
@@ -1014,7 +1014,7 @@ MOD56_0221257C: ; 0x0221257C
add r5, #0xc4
ldr r0, [r5]
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -8164,7 +8164,7 @@ MOD56_02215EA4: ; 0x02215EA4
add r4, r1, #0
add r6, r2, #0
bl Sav2_PlayerData_GetOptionsAddr
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r7, r0, #0
mov r0, #0xdb
lsl r0, r0, #2
diff --git a/arm9/modules/58/asm/module_58.s b/arm9/modules/58/asm/module_58.s
index ddcbedd9..a22e6e08 100644
--- a/arm9/modules/58/asm/module_58.s
+++ b/arm9/modules/58/asm/module_58.s
@@ -662,7 +662,7 @@ MOD58_021D9F14: ; 0x021D9F14
mov r3, #5
bl FUN_020068C8
ldr r0, [r5, #0xc]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -2226,7 +2226,7 @@ MOD58_021DAB94: ; 0x021DAB94
mov r3, #0xa
bl FUN_0200D0BC
ldr r0, [r5, #0xc]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0
str r3, [sp]
str r0, [sp, #4]
diff --git a/arm9/modules/59/asm/mod59_021D74E0_asm.s b/arm9/modules/59/asm/mod59_021D74E0_asm.s
index 8358f768..77f574fd 100644
--- a/arm9/modules/59/asm/mod59_021D74E0_asm.s
+++ b/arm9/modules/59/asm/mod59_021D74E0_asm.s
@@ -936,7 +936,7 @@ _021D7C5E:
add r0, r6, #0
bl String_dtor
ldr r0, [r5, #8]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r3, r4, #0
str r3, [sp]
str r0, [sp, #4]
diff --git a/arm9/modules/60/asm/module_60.s b/arm9/modules/60/asm/module_60.s
index 28028e5f..81f6d273 100644
--- a/arm9/modules/60/asm/module_60.s
+++ b/arm9/modules/60/asm/module_60.s
@@ -25,7 +25,7 @@ MOD60_021D74E0: ; 0x021D74E0
add r4, r0, #0
bl memset
add r0, r5, #0
- bl FUN_02024FD8
+ bl Options_GetTextSpeed
ldrh r1, [r4, #0x18]
mov r2, #0xf
lsl r0, r0, #0x10
@@ -36,7 +36,7 @@ MOD60_021D74E0: ; 0x021D74E0
orr r0, r1
strh r0, [r4, #0x18]
add r0, r5, #0
- bl FUN_0202502C
+ bl Options_GetBattleScene
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1f
@@ -47,7 +47,7 @@ MOD60_021D74E0: ; 0x021D74E0
orr r0, r1
strh r0, [r4, #0x18]
add r0, r5, #0
- bl FUN_02025048
+ bl Options_GetBattleStyle
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1f
@@ -58,7 +58,7 @@ MOD60_021D74E0: ; 0x021D74E0
orr r0, r1
strh r0, [r4, #0x18]
add r0, r5, #0
- bl FUN_02025010
+ bl Options_GetSoundMethod
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1e
@@ -69,7 +69,7 @@ MOD60_021D74E0: ; 0x021D74E0
orr r0, r1
strh r0, [r4, #0x18]
add r0, r5, #0
- bl FUN_02025064
+ bl Options_GetButtonMode
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1e
@@ -80,7 +80,7 @@ MOD60_021D74E0: ; 0x021D74E0
orr r0, r1
strh r0, [r4, #0x18]
add r0, r5, #0
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1b
@@ -172,32 +172,32 @@ MOD60_021D75B0: ; 0x021D75B0
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
- bl FUN_02024FE0
+ bl Options_SetTextSpeed
ldrh r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x19
lsr r1, r1, #0x1f
- bl FUN_02025034
+ bl Options_SetBattleScene
ldrh r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x18
lsr r1, r1, #0x1f
- bl FUN_02025050
+ bl Options_SetBattleStyle
ldrh r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x1a
lsr r1, r1, #0x1e
- bl FUN_02025018
+ bl Options_SetSoundMethod
ldrh r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x16
lsr r1, r1, #0x1e
- bl FUN_0202506C
+ bl Options_SetButtonMode
ldrh r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
lsl r1, r1, #0x11
lsr r1, r1, #0x1b
- bl FUN_0202508C
+ bl Options_SetFrame
b _021D769A
_021D7680:
cmp r0, #2
@@ -210,7 +210,7 @@ _021D7680:
mov r0, #0
lsl r1, r1, #0x16
lsr r1, r1, #0x1e
- bl FUN_02024F9C
+ bl Options_SetButtonModeOnMain
_021D769A:
add r0, r5, #0
bl OverlayManager_FreeData
@@ -1270,7 +1270,7 @@ _021D7F3C:
add r1, r1, r2
add r1, #0x5e
ldrh r1, [r1]
- bl FUN_02024F9C
+ bl Options_SetButtonModeOnMain
_021D7F54:
ldr r0, [sp, #0x14]
mov r1, #0x54
diff --git a/arm9/modules/61/asm/module_61.s b/arm9/modules/61/asm/module_61.s
index 5cb5badb..861757e8 100644
--- a/arm9/modules/61/asm/module_61.s
+++ b/arm9/modules/61/asm/module_61.s
@@ -44,11 +44,11 @@ MOD61_021D74E0: ; 0x021D74E0
strh r1, [r0]
ldr r0, [r4, #0x1c]
ldr r0, [r0, #4]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
strb r0, [r4, #0x10]
ldr r0, [r4, #0x1c]
ldr r0, [r0, #4]
- bl FUN_02025084
+ bl Options_GetFrame
strh r0, [r4, #0xa]
mov r0, #1
pop {r3, r4, r5, pc}
diff --git a/arm9/modules/64/asm/module_64.s b/arm9/modules/64/asm/module_64.s
index 1dee0562..71dc63ea 100644
--- a/arm9/modules/64/asm/module_64.s
+++ b/arm9/modules/64/asm/module_64.s
@@ -35,11 +35,11 @@ _021D7504:
bl OverlayManager_GetField18
add r4, r0, #0
ldr r0, [r4, #4]
- bl FUN_02025084
+ bl Options_GetFrame
ldr r1, _021D7634 ; =0x000006A8
str r0, [r5, r1]
ldr r0, [r4, #4]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
ldr r1, _021D7638 ; =0x000006AC
str r0, [r5, r1]
mov r0, #8
diff --git a/arm9/modules/65/asm/module_65.s b/arm9/modules/65/asm/module_65.s
index af08a5f3..25ca7a88 100644
--- a/arm9/modules/65/asm/module_65.s
+++ b/arm9/modules/65/asm/module_65.s
@@ -950,7 +950,7 @@ MOD65_021D7C04: ; 0x021D7C04
bl FUN_0200CB00
ldr r0, [r6, #0x20]
ldr r0, [r0, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -1103,7 +1103,7 @@ _021D7D42:
_021D7D66:
ldr r0, [r5, #0x20]
ldr r0, [r0, #0x18]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r5, #0x7c
strb r0, [r5]
pop {r4, r5, r6, pc}
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index b77c8662..21cf712a 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -278,7 +278,7 @@ MOD71_0222D820: ; 0x0222D820
bl MOD71_0222D780
ldr r0, [r4, #8]
ldr r0, [r0, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r2, #0x5d
@@ -6668,7 +6668,7 @@ MOD71_02230C48: ; 0x02230C48
mov r1, #0
bl FUN_02019620
add r0, r4, #0
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s
index 20e8b507..e06f4d00 100644
--- a/arm9/modules/73/asm/module_73.s
+++ b/arm9/modules/73/asm/module_73.s
@@ -55,11 +55,11 @@ _021D7536:
bl MOD73_021D8DF4
ldr r0, [r4, #0x10]
ldr r0, [r0, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
str r0, [r5, #0x24]
ldr r0, [r4, #0x10]
ldr r0, [r0, #0x18]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
str r0, [r5, #0x28]
mov r0, #0xae
mov r1, #1
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index 63f45d1d..214736ee 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -841,7 +841,7 @@ MOD75_021E7214: ; 0x021E7214
add r0, r4, #0
add r0, #0xd0
ldr r0, [r0]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -9447,7 +9447,7 @@ MOD75_021EB660: ; 0x021EB660
add r0, r4, #0
add r0, #0xd0
ldr r0, [r0]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0
str r3, [sp]
str r0, [sp, #4]
diff --git a/arm9/modules/76/asm/module_76.s b/arm9/modules/76/asm/module_76.s
index 12b6e9fc..7f49e675 100644
--- a/arm9/modules/76/asm/module_76.s
+++ b/arm9/modules/76/asm/module_76.s
@@ -437,7 +437,7 @@ MOD76_021D7814: ; 0x021D7814
bl FUN_0200CB00
ldr r0, [r4]
ldr r0, [r0, #8]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -2053,7 +2053,7 @@ MOD76_021D853C: ; 0x021D853C
bl FUN_02002B7C
ldr r0, [r4]
ldr r0, [r0, #8]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
mov r3, #0
str r3, [sp]
str r0, [sp, #4]
diff --git a/arm9/modules/77/asm/module_77.s b/arm9/modules/77/asm/module_77.s
index 1c074133..67824222 100644
--- a/arm9/modules/77/asm/module_77.s
+++ b/arm9/modules/77/asm/module_77.s
@@ -1383,7 +1383,7 @@ MOD77_021D7FAC: ; 0x021D7FAC
add r3, r1, #0
bl FUN_020068C8
ldr r0, [r5, #8]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -1685,7 +1685,7 @@ _021D82B0:
ldr r2, [r5, r2]
bl ReadMsgDataIntoString
ldr r0, [r5, #8]
- bl FUN_02024FF4
+ bl Options_GetTextFrameDelay
add r3, r4, #0
str r3, [sp]
str r0, [sp, #4]
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 29a329f0..ef7fab2d 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -2328,11 +2328,11 @@ MOD80_0222E7B0: ; 0x0222E7B0
thumb_func_start MOD80_0222E7BC
MOD80_0222E7BC: ; 0x0222E7BC
ldr r0, [r0]
- ldr r3, _0222E7C4 ; =FUN_02024FF4
+ ldr r3, _0222E7C4 ; =Options_GetTextFrameDelay
ldr r0, [r0, #0x24]
bx r3
.align 2, 0
-_0222E7C4: .word FUN_02024FF4
+_0222E7C4: .word Options_GetTextFrameDelay
thumb_func_end MOD80_0222E7BC
thumb_func_start MOD80_0222E7C8
@@ -2805,7 +2805,7 @@ MOD80_0222EB6C: ; 0x0222EB6C
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -4099,7 +4099,7 @@ MOD80_0222F5A8: ; 0x0222F5A8
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -5388,7 +5388,7 @@ MOD80_02230054: ; 0x02230054
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -6395,7 +6395,7 @@ MOD80_02230840: ; 0x02230840
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -8807,7 +8807,7 @@ MOD80_02231BF4: ; 0x02231BF4
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -11836,7 +11836,7 @@ MOD80_0223346C: ; 0x0223346C
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -14380,7 +14380,7 @@ MOD80_022348CC: ; 0x022348CC
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -18024,7 +18024,7 @@ MOD80_02236488: ; 0x02236488
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x24]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s
index 3db42aa1..927b69b6 100644
--- a/arm9/modules/81/asm/module_81.s
+++ b/arm9/modules/81/asm/module_81.s
@@ -1325,11 +1325,11 @@ _02238840: .word 0x0000014E
thumb_func_start MOD81_02238844
MOD81_02238844: ; 0x02238844
ldr r0, [r0]
- ldr r3, _0223884C ; =FUN_02025084
+ ldr r3, _0223884C ; =Options_GetFrame
ldr r0, [r0, #0x14]
bx r3
.align 2, 0
-_0223884C: .word FUN_02025084
+_0223884C: .word Options_GetFrame
thumb_func_end MOD81_02238844
thumb_func_start MOD81_02238850
diff --git a/arm9/modules/82/asm/module_82.s b/arm9/modules/82/asm/module_82.s
index 4e09a3ed..89f24d96 100644
--- a/arm9/modules/82/asm/module_82.s
+++ b/arm9/modules/82/asm/module_82.s
@@ -1638,7 +1638,7 @@ MOD82_0222E264: ; 0x0222E264
bl FUN_02002EEC
ldr r0, [r5]
ldr r0, [r0, #0x10]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index ca3ff8d3..59fd717f 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -2561,7 +2561,7 @@ _0222E960:
add r3, r2, #0
bl FUN_0200CB00
ldr r0, [r4, #0x14]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -6152,7 +6152,7 @@ MOD83_02230668: ; 0x02230668
mov r2, #0x56
bl FUN_02002ED0
ldr r0, [r4, #8]
- bl FUN_02025084
+ bl Options_GetFrame
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
@@ -10287,7 +10287,7 @@ _022327E6:
ldr r1, _02232B58 ; =0x00002B48
str r0, [r4, r1]
ldr r0, [r4, r1]
- bl FUN_02025084
+ bl Options_GetFrame
ldr r1, _02232B5C ; =0x00002B4C
str r0, [r4, r1]
sub r1, #0xc
@@ -18540,7 +18540,7 @@ MOD83_02236764: ; 0x02236764
ldr r0, [r4, #0x10]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0x18]
- bl FUN_02025084
+ bl Options_GetFrame
str r0, [r4, #0x1c]
ldr r1, _022367F8 ; =0x00000496
mov r0, #9
diff --git a/arm9/src/options.c b/arm9/src/options.c
new file mode 100644
index 00000000..296b398a
--- /dev/null
+++ b/arm9/src/options.c
@@ -0,0 +1,110 @@
+#include "global.h"
+#include "heap.h"
+#include "main.h"
+#include "MI_memory.h"
+#include "options.h"
+#include "player_data.h"
+
+#pragma thumb on
+
+struct Options * Options_new(u32 heap_id) {
+ struct Options * ret = AllocFromHeap(heap_id, sizeof(struct Options));
+ Options_init(ret);
+ return ret;
+}
+
+void Options_copy(struct Options * src, struct Options * dest) {
+ MI_CpuCopy8(src, dest, sizeof(struct Options));
+}
+
+void Options_init(struct Options * options) {
+ MI_CpuFill8(options, 0, sizeof(struct Options));
+
+ options->textSpeed = 1; // mid speed
+ options->soundMethod = 0; // stereo
+ options->battleStyle = 0; // shift
+ options->battleScene = 0; // on
+ options->buttonMode = 0; // normal
+ options->frame = 0; // frame 1
+}
+
+void Options_SetButtonModeOnMain(struct SaveBlock2 * sav2, u32 buttonMode) {
+ if (sav2 != NULL) {
+ buttonMode = Options_GetButtonMode(Sav2_PlayerData_GetOptionsAddr(sav2));
+ }
+
+ switch (buttonMode) {
+ case 1:
+ gMain.unk34 = 1;
+ break;
+ case 2:
+ gMain.unk34 = 3;
+ break;
+ case 0:
+ default:
+ gMain.unk34 = 0;
+ break;
+ }
+}
+
+u16 Options_GetTextSpeed(struct Options * options) {
+ return options->textSpeed;
+}
+
+void Options_SetTextSpeed(struct Options * options, u16 textSpeed) {
+ options->textSpeed = (u16)(u32)textSpeed;
+}
+
+u32 Options_GetTextFrameDelay(struct Options * options) {
+ u16 textSpeed = Options_GetTextSpeed(options);
+
+ if (textSpeed == 0) {
+ return 8;
+ }
+
+ if (textSpeed == 1) {
+ return 4;
+ }
+
+ return 1;
+}
+
+u16 Options_GetSoundMethod(struct Options * options) {
+ return options->soundMethod;
+}
+
+void Options_SetSoundMethod(struct Options * options, u16 soundMethod) {
+ options->soundMethod = (u16)(u32)soundMethod;
+}
+
+u16 Options_GetBattleScene(struct Options * options) {
+ return options->battleScene;
+}
+
+void Options_SetBattleScene(struct Options * options, u16 battleScene) {
+ options->battleScene = (u16)(u32)battleScene;
+}
+
+u16 Options_GetBattleStyle(struct Options * options) {
+ return options->battleStyle;
+}
+
+void Options_SetBattleStyle(struct Options * options, u16 battleStyle) {
+ options->battleStyle = (u16)(u32)battleStyle;
+}
+
+u16 Options_GetButtonMode(struct Options * options) {
+ return options->buttonMode;
+}
+
+void Options_SetButtonMode(struct Options * options, u16 buttonMode) {
+ options->buttonMode = (u16)(u32)buttonMode;
+}
+
+u16 Options_GetFrame(struct Options * options) {
+ return options->frame;
+}
+
+void Options_SetFrame(struct Options * options, u16 frame) {
+ options->frame = (u16)(u32)frame;
+}
diff --git a/arm9/src/sound.c b/arm9/src/sound.c
index dd928287..a1e31bbd 100644
--- a/arm9/src/sound.c
+++ b/arm9/src/sound.c
@@ -38,7 +38,7 @@ void InitSoundData(void * a0, struct Options * a1)
FUN_020040A4(sdat);
UNK_02107070[1] = 0;
sdat->unk_BCD4C = a0;
- FUN_02004D60(a1->unk0_4);
+ FUN_02004D60(a1->soundMethod);
}
void DoSoundUpdateFrame(void)
diff --git a/include/options.h b/include/options.h
index 5f7a3d3f..0f8c89ae 100644
--- a/include/options.h
+++ b/include/options.h
@@ -2,14 +2,30 @@
#define POKEDIAMOND_OPTIONS_H
struct Options {
- u16 unk0_0:4;
- u16 unk0_4:2;
- u16 unk0_6:1;
- u16 unk0_7:1;
- u16 unk0_8:2;
- u16 unk0_A:5;
+ u16 textSpeed:4;
+ u16 soundMethod:2;
+ u16 battleStyle:1;
+ u16 battleScene:1;
+ u16 buttonMode:2;
+ u16 frame:5;
};
+struct Options * Options_new(u32 heap_id);
+void Options_copy(struct Options * src, struct Options * dest);
void Options_init(struct Options * options);
+void Options_SetButtonModeOnMain(struct SaveBlock2 * sav2, u32 buttonMode);
+u16 Options_GetTextSpeed(struct Options * options);
+void Options_SetTextSpeed(struct Options * options, u16 textSpeed);
+u32 Options_GetTextFrameDelay(struct Options * options);
+u16 Options_GetSoundMethod(struct Options * options);
+void Options_SetSoundMethod(struct Options * options, u16 soundMethod);
+u16 Options_GetBattleScene(struct Options * options);
+void Options_SetBattleScene(struct Options * options, u16 battleScene);
+u16 Options_GetBattleStyle(struct Options * options);
+void Options_SetBattleStyle(struct Options * options, u16 battleStyle);
+u16 Options_GetButtonMode(struct Options * options);
+void Options_SetButtonMode(struct Options * options, u16 buttonMode);
+u16 Options_GetFrame(struct Options * options);
+void Options_SetFrame(struct Options * options, u16 frame);
#endif //POKEDIAMOND_OPTIONS_H