diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-12-18 16:04:53 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-18 16:04:53 -0500 |
commit | bbb1fac16bc7e912410b3dc7bbfc5d3067ac19d4 (patch) | |
tree | c8f46f67254d290d854aca645ffcdd5179e5fa6b | |
parent | d45ebc4547e7d8e253f848a010bf6c430a55ba75 (diff) | |
parent | 22c9ea3a992c48fc5c8926902cbde48861195f10 (diff) |
Merge pull request #305 from tgsm/options
decompile Options
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 |