Decomp LoadOptionsFromCtx and SaveOptionsToCtx

This commit is contained in:
slaw-22 2025-12-24 12:43:54 +00:00 committed by slaw-22
parent 555b5d3230
commit d5db0ebc46
10 changed files with 1117 additions and 1215 deletions

View File

@ -147,7 +147,7 @@
.public _022AAEA8
.public _022AAEAC
.public _022AB09C
.public _022AB0A0
.public OPTIONS
.public _022AB0A1
.public _022AB0A2
.public _022AB0A9

View File

@ -86,8 +86,8 @@
.public sub_0200C4CC
.public sub_02048BFC
.public sub_02048CB8
.public sub_0204ABB8
.public sub_0204ACDC
.public SaveOptionsToCtx
.public LoadOptionsFromCtx
.public SetResolvedPerformanceProgressFlag
.public sub_0204CEE0
.public sub_0204DB08

View File

@ -17661,7 +17661,7 @@ _0204AB20: .word sub_0204AB24
sub_0204AB24: ; 0x0204AB24
stmdb sp!, {r3}
sub sp, sp, #4
ldr r0, _0204AB74 ; =_022AB0A0
ldr r0, _0204AB74 ; =OPTIONS
mov r1, #2
mov r2, #0
strb r1, [r0]
@ -17680,12 +17680,12 @@ sub_0204AB24: ; 0x0204AB24
ldmia sp!, {r3}
bx lr
.align 2, 0
_0204AB74: .word _022AB0A0
_0204AB74: .word OPTIONS
arm_func_end sub_0204AB24
arm_func_start sub_0204AB78
sub_0204AB78: ; 0x0204AB78
ldr r3, _0204AB94 ; =_022AB0A0
ldr r3, _0204AB94 ; =OPTIONS
mov r2, #0xa
_0204AB80:
ldrb r1, [r3], #1
@ -17694,12 +17694,12 @@ _0204AB80:
bne _0204AB80
bx lr
.align 2, 0
_0204AB94: .word _022AB0A0
_0204AB94: .word OPTIONS
arm_func_end sub_0204AB78
arm_func_start sub_0204AB98
sub_0204AB98: ; 0x0204AB98
ldr r3, _0204ABB4 ; =_022AB0A0
ldr r3, _0204ABB4 ; =OPTIONS
mov r2, #0xa
_0204ABA0:
ldrb r1, [r0], #1
@ -17708,185 +17708,5 @@ _0204ABA0:
bne _0204ABA0
bx lr
.align 2, 0
_0204ABB4: .word _022AB0A0
_0204ABB4: .word OPTIONS
arm_func_end sub_0204AB98
arm_func_start sub_0204ABB8
sub_0204ABB8: ; 0x0204ABB8
stmdb sp!, {r4, lr}
ldr r1, _0204ACC0 ; =_022AB0A0
mov r2, #2
mov r4, r0
bl CopyBitsTo
ldr r1, _0204ACC4 ; =_022AB0A2
mov r0, r4
mov r2, #3
bl CopyBitsTo
ldr r1, _0204ACC8 ; =_022AB0A1
mov r0, r4
mov r2, #2
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #3]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #4]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #5]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #6]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #7]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r0, _0204ACCC ; =_022AB0A0
mov r2, #1
ldrb r0, [r0, #8]
cmp r0, #0
ldrne r1, _0204ACD0 ; =_0209CE88
mov r0, r4
ldreq r1, _0204ACD4 ; =_0209CE89
bl CopyBitsTo
ldr r1, _0204ACD8 ; =_022AB0A9
mov r0, r4
mov r2, #3
bl CopyBitsTo
ldmia sp!, {r4, pc}
.align 2, 0
_0204ACC0: .word _022AB0A0
_0204ACC4: .word _022AB0A2
_0204ACC8: .word _022AB0A1
_0204ACCC: .word _022AB0A0
_0204ACD0: .word _0209CE88
_0204ACD4: .word _0209CE89
_0204ACD8: .word _022AB0A9
arm_func_end sub_0204ABB8
arm_func_start sub_0204ACDC
sub_0204ACDC: ; 0x0204ACDC
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
add r1, sp, #0
mov r2, #2
mov r4, r0
bl CopyBitsFrom
ldrb r0, [sp]
ldr r3, _0204AE5C ; =_022AB0A0
add r1, sp, #0
and ip, r0, #3
mov r0, r4
mov r2, #3
strb ip, [r3]
bl CopyBitsFrom
ldrb r0, [sp]
ldr r3, _0204AE5C ; =_022AB0A0
add r1, sp, #0
and ip, r0, #7
mov r0, r4
mov r2, #2
strb ip, [r3, #2]
bl CopyBitsFrom
ldrb r0, [sp]
ldr r2, _0204AE5C ; =_022AB0A0
add r1, sp, #0
and r3, r0, #3
strb r3, [r2, #1]
mov r0, r4
mov r2, #1
bl CopyBitsFrom
ldrb r0, [sp]
ldr r3, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne ip, #1
moveq ip, #0
mov r0, r4
mov r2, #1
strb ip, [r3, #3]
bl CopyBitsFrom
ldrb r0, [sp]
ldr r3, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne ip, #1
moveq ip, #0
mov r0, r4
mov r2, #1
strb ip, [r3, #4]
bl CopyBitsFrom
ldrb r0, [sp]
ldr r2, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne r3, #1
moveq r3, #0
strb r3, [r2, #5]
mov r0, r4
mov r2, #1
bl CopyBitsFrom
ldrb r0, [sp]
ldr r2, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne r3, #1
moveq r3, #0
strb r3, [r2, #6]
mov r0, r4
mov r2, #1
bl CopyBitsFrom
ldrb r0, [sp]
ldr r2, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne r3, #1
moveq r3, #0
strb r3, [r2, #7]
mov r0, r4
mov r2, #1
bl CopyBitsFrom
ldrb r0, [sp]
ldr r2, _0204AE5C ; =_022AB0A0
add r1, sp, #0
tst r0, #1
movne r3, #1
moveq r3, #0
strb r3, [r2, #8]
mov r0, r4
mov r2, #3
bl CopyBitsFrom
ldrb r1, [sp]
ldr r0, _0204AE5C ; =_022AB0A0
and r1, r1, #7
strb r1, [r0, #9]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
_0204AE5C: .word _022AB0A0
arm_func_end sub_0204ACDC

View File

@ -253,7 +253,7 @@ sub_0204E154: ; 0x0204E154
mov r1, r3
bl sub_02050990
add r0, sp, #0
bl sub_0204ABB8
bl SaveOptionsToCtx
add r0, sp, #0
bl sub_0204F9F4
add r0, sp, #0
@ -275,7 +275,7 @@ sub_0204E19C: ; 0x0204E19C
mov r1, r3
bl sub_02050974
add r0, sp, #0
bl sub_0204ACDC
bl LoadOptionsFromCtx
add r0, sp, #0
bl sub_0204FA0C
add r0, sp, #0

522
asm/main_bss_020B3380.s Normal file
View File

@ -0,0 +1,522 @@
.bss
.global _020B3380
_020B3380:
.space 0x4
.global _020B3384
_020B3384:
.space 0x1C
.global _020B33A0
_020B33A0:
.space 0x20
.global _020B33C0
_020B33C0:
.space 0x1800
.global DEFAULT_MEMORY_ARENA_MEMORY
DEFAULT_MEMORY_ARENA_MEMORY:
.space 0x1E6400
.global _0229AFC0
_0229AFC0:
.space 0xC
.global _0229AFCC
_0229AFCC:
.space 0x18
.global _0229AFE4
_0229AFE4:
.space 0x20
.global _0229B004
_0229B004:
.space 0xDC
.global _0229B0E0
_0229B0E0:
.space 0x8
.global _0229B0E8
_0229B0E8:
.space 0x8
.global _0229B0F0
_0229B0F0:
.space 0x8
.global _0229B0F8
_0229B0F8:
.space 0x18
.global _0229B110
_0229B110:
.space 0x4
.global _0229B114
_0229B114:
.space 0x108
.global _0229B21C
_0229B21C:
.space 0x4
.global _0229B220
_0229B220:
.space 0x28
.global _0229B248
_0229B248:
.space 0x4000
.global _0229F248
_0229F248:
.space 0x4000
.global _022A3248
_022A3248:
.space 0x2F0
.global _022A3538
_022A3538:
.space 0x4
.global _022A353C
_022A353C:
.space 0x18
.global _022A3554
_022A3554:
.space 0x88
.global TOUCHSCREEN_STATUS
TOUCHSCREEN_STATUS:
.space 0xC
.global _022A35E8
_022A35E8:
.space 0x2C
.global _022A3614
_022A3614:
.space 0xC
.global _022A3620
_022A3620:
.space 0xC
.global _022A362C
_022A362C:
.space 0x18
.global _022A3644
_022A3644:
.space 0x14
.global _022A3658
_022A3658:
.space 0x18
.global _022A3670
_022A3670:
.space 0x28
.global _022A3698
_022A3698:
.space 0x4
.global _022A369C
_022A369C:
.space 0x28
.global _022A36C4
_022A36C4:
.space 0xDC
.global _022A37A0
_022A37A0:
.space 0x4
.global _022A37A4
_022A37A4:
.space 0x8
.global _022A37AC
_022A37AC:
.space 0x1
.global _022A37AD
_022A37AD:
.space 0x1
.global _022A37AE
_022A37AE:
.space 0x1
.global _022A37AF
_022A37AF:
.space 0x1
.global _022A37B0
_022A37B0:
.space 0x6
.global _022A37B6
_022A37B6:
.space 0x1
.global _022A37B7
_022A37B7:
.space 0x1
.global _022A37B8
_022A37B8:
.space 0x1
.global _022A37B9
_022A37B9:
.space 0x1
.global _022A37BA
_022A37BA:
.space 0x2
.global _022A37BC
_022A37BC:
.space 0x2
.global _022A37BE
_022A37BE:
.space 0xE
.global _022A37CC
_022A37CC:
.space 0x4
.global _022A37D0
_022A37D0:
.space 0x4
.global _022A37D4
_022A37D4:
.space 0x4
.global _022A37D8
_022A37D8:
.space 0x14
.global _022A37EC
_022A37EC:
.space 0x1
.global _022A37ED
_022A37ED:
.space 0x1
.global _022A37EE
_022A37EE:
.space 0x1
.global _022A37EF
_022A37EF:
.space 0x1
.global _022A37F0
_022A37F0:
.space 0x1
.global _022A37F1
_022A37F1:
.space 0x1
.global _022A37F2
_022A37F2:
.space 0x1
.global _022A37F3
_022A37F3:
.space 0x1
.global _022A37F4
_022A37F4:
.space 0x1
.global _022A37F5
_022A37F5:
.space 0x1
.global _022A37F6
_022A37F6:
.space 0x1
.global _022A37F7
_022A37F7:
.space 0x1
.global _022A37F8
_022A37F8:
.space 0x1
.global _022A37F9
_022A37F9:
.space 0x1
.global _022A37FA
_022A37FA:
.space 0x1
.global _022A37FB
_022A37FB:
.space 0x1
.global _022A37FC
_022A37FC:
.space 0x1
.global _022A37FD
_022A37FD:
.space 0x1
.global _022A37FE
_022A37FE:
.space 0x1
.global _022A37FF
_022A37FF:
.space 0x1
.global _022A3800
_022A3800:
.space 0x1
.global _022A3801
_022A3801:
.space 0x1
.global _022A3802
_022A3802:
.space 0x1
.global _022A3803
_022A3803:
.space 0x1
.global _022A3804
_022A3804:
.space 0x1
.global _022A3805
_022A3805:
.space 0x1
.global _022A3806
_022A3806:
.space 0x1E
.global BAG_ITEMS
BAG_ITEMS:
.space 0x13B4
.global _022A4BD8
_022A4BD8:
.space 0x10
.global _022A4BE8
_022A4BE8:
.space 0x4
.global _022A4BEC
_022A4BEC:
.space 0x14
.global _022A4C00
_022A4C00:
.space 0x28
.global _022A4C28
_022A4C28:
.space 0x28
.global AUDIO_COMMANDS_BUFFER
AUDIO_COMMANDS_BUFFER:
.space 0x200
.global _022A4E50
_022A4E50:
.space 0x8
.global _022A4E58
_022A4E58:
.space 0x24
.global _022A4E7C
_022A4E7C:
.space 0x8
.global _022A4E84
_022A4E84:
.space 0x8
.global _022A4E8C
_022A4E8C:
.space 0x18
.global _022A4EA4
_022A4EA4:
.space 0x8
.global _022A4EAC
_022A4EAC:
.space 0x8
.global _022A4EB4
_022A4EB4:
.space 0x10
.global _022A4EC4
_022A4EC4:
.space 0x8
.global _022A4ECC
_022A4ECC:
.space 0x28
.global _022A4EF4
_022A4EF4:
.space 0x8
.global _022A4EFC
_022A4EFC:
.space 0x3C
.global _022A4F38
_022A4F38:
.space 0x100
.global _022A5038
_022A5038:
.space 0x10
.global _022A5048
_022A5048:
.space 0x4
.global _022A504C
_022A504C:
.space 0x1C
.global _022A5068
_022A5068:
.space 0x200
.global _022A5268
_022A5268:
.space 0x200
.global _022A5468
_022A5468:
.space 0x501
.global _022A5969
_022A5969:
.space 0x1
.global _022A596A
_022A596A:
.space 0x6
.global _022A5970
_022A5970:
.space 0x48
.global _022A59B8
_022A59B8:
.space 0x8
.global _022A59C0
_022A59C0:
.space 0x48
.global _022A5A08
_022A5A08:
.space 0x2000
.global _022A7A08
_022A7A08:
.space 0x4
.global _022A7A0C
_022A7A0C:
.space 0x48
#ifdef JAPAN
.global _022A92B4_JP
_022A92B4_JP:
.space 0x4
.global _022A92B8_JP
_022A92B8_JP:
.space 0x8
#endif
.global _022A7A54
_022A7A54:
.space 0x4
.global _022A92C4
_022A92C4:
.space 0x4
#if defined(EUROPE)
.global _022A7A64
_022A7A64:
.space 0x8
.global _022A7A5C
_022A7A5C:
.space 0x8
#elif !defined(JAPAN)
.global _022A7A5C
_022A7A5C:
.space 0x8
.global _022A7A64
_022A7A64:
.space 0x8
#endif
.global _022A7A6C
_022A7A6C:
.space 0x8
.global _022A7A74
_022A7A74:
.space 0x4
.global _022A7A78
_022A7A78:
.space 0x14
.global _022A7A8C
_022A7A8C:
.space 0x14
.global _022A7AA0
_022A7AA0:
.space 0x14
.global _022A7AB4
_022A7AB4:
.space 0x2
.global _022A7AB6
_022A7AB6:
.space 0x12
#ifdef JAPAN
.global _022A7B00
_022A7B00:
.space 0x1C
#endif
.global _022A7AC8
_022A7AC8:
.space 0x1C
.global _022A7AE4
_022A7AE4:
.space 0x1C
#ifndef JAPAN
.global _022A7B00
_022A7B00:
.space 0x1C
#endif
.global _022A7B1C
_022A7B1C:
#ifdef JAPAN
.space 0x370
#else
.space 0x3C0
#endif
.global _022A7EDC
_022A7EDC:
.space 0xA00
.global WINDOW_LIST
WINDOW_LIST:
.space 0x8
.global _022A88E4
_022A88E4:
.space 0xC
.global _022A88F0
_022A88F0:
.space 0x8
.global _022A88F8
_022A88F8:
.space 0x4
.global _022A88FC
_022A88FC:
.space 0xC
.global _022A8908
_022A8908:
.space 0x88
.global _022A8990
_022A8990:
.space 0x1
.global _022A8991
_022A8991:
.space 0x1
.global _022A8992
_022A8992:
.space 0x2
.global _022A8994
_022A8994:
.space 0x10C8
.global _022A9A5C
_022A9A5C:
.space 0x900
.global _022AA35C
_022AA35C:
.space 0x908
.global CURSOR_16_SPRITE_ID
CURSOR_16_SPRITE_ID:
.space 0x4
.global _022AAC68
_022AAC68:
.space 0x18
.global CURSOR_ANIMATION_CONTROL
CURSOR_ANIMATION_CONTROL:
.space 0x7C
.global CURSOR_16_ANIMATION_CONTROL
CURSOR_16_ANIMATION_CONTROL:
.space 0x7C
.global ALERT_SPRITE_ID
ALERT_SPRITE_ID:
.space 0x4
.global ALERT_ANIMATION_CONTROL
ALERT_ANIMATION_CONTROL:
.space 0x7C
.global _022AADF8
_022AADF8:
.space 0x4
.global _022AADFC
_022AADFC:
.space 0x4
.global _022AAE00
_022AAE00:
.space 0x2A
.global _022AAE2A
_022AAE2A:
.space 0x4
.global _022AAE2E
_022AAE2E:
.space 0x1E
.global LAST_NEW_MOVE
LAST_NEW_MOVE:
.space 0xC
.global _022AAE58
_022AAE58:
.space 0xC
.global _022AAE64
_022AAE64:
.space 0x4
.global _022AAE68
_022AAE68:
.space 0x8
.global _022AAE70
_022AAE70:
.space 0x4
.global _022AAE74
_022AAE74:
.space 0x4
.global _022AAE78
_022AAE78:
.space 0x2C
.global _022AAEA4
_022AAEA4:
.space 0x4
.global _022AAEA8
_022AAEA8:
.space 0x4
.global _022AAEAC
_022AAEAC:
#ifdef JAPAN
.space 0x1A0
#else
.space 0x1F0
#endif
.global _022AB09C
_022AB09C:
.space 0x4

453
asm/main_bss_022AB0AC.s Normal file
View File

@ -0,0 +1,453 @@
.bss
.global SCRIPT_VARS_VALUES
SCRIPT_VARS_VALUES:
.space 0x400
.global DEBUG_SPECIAL_EPISODE_NUMBER
DEBUG_SPECIAL_EPISODE_NUMBER:
.space 0x4
.global KAOMADO_STREAM
KAOMADO_STREAM:
.space 0x48
.global _022AB4F8
_022AB4F8:
.space 0x4
.global PENDING_DUNGEON_ID
PENDING_DUNGEON_ID:
.space 0x14
.global _022AB510
_022AB510:
.space 0x8
.global _022AB518
_022AB518:
.space 0x90
.global _022AB5A8
_022AB5A8:
.space 0x4
.global _022AB5AC
_022AB5AC:
.space 0xE8
.global PLAY_TIME_SECONDS
PLAY_TIME_SECONDS:
.space 0x8
.global _022AB69C
_022AB69C:
.space 0x27C
.global TEAM_NAME
TEAM_NAME:
#ifdef JAPAN
.space 0x8
#else
.space 0xC
#endif
.global _022AB924
_022AB924:
.space 0x8
.global LEVEL_UP_DATA_MONSTER_ID
LEVEL_UP_DATA_MONSTER_ID:
.space 0x4
.global LEVEL_UP_DATA_DECOMPRESS_BUFFER
LEVEL_UP_DATA_DECOMPRESS_BUFFER:
.space 0x4B0
.global TEAM_MEMBER_TABLE
TEAM_MEMBER_TABLE:
.space 0x99A8
.global _022B5788
_022B5788:
.space 0x4
.global _022B578C
_022B578C:
.space 0x30
.global _022B57BC
_022B57BC:
.space 0x4
.global _022B57C0
_022B57C0:
.space 0x4C
.global _022B580C
_022B580C:
.space 0x104
.global _022B5910
_022B5910:
.space 0x1600
.global _022B6F10
_022B6F10:
.space 0x400
.global _022B7310
_022B7310:
.space 0x10
.global _022B7320
_022B7320:
.space 0x10
.global DRIVER_WORK
DRIVER_WORK:
.space 0x1
.global _022B7331
_022B7331:
.space 0x3
.global _022B7334
_022B7334:
.space 0xC
.global _022B7340
_022B7340:
.space 0xC
.global _022B734C
_022B734C:
.space 0x24
.global _022B7370
_022B7370:
.space 0x10
.global _022B7380
_022B7380:
.space 0x8
.global _022B7388
_022B7388:
.space 0x600
.global _022B7988
_022B7988:
.space 0x8
.global _022B7990
_022B7990:
.space 0x4
.global _022B7994
_022B7994:
.space 0x4
.global _022B7998
_022B7998:
.space 0x4
.global _022B799C
_022B799C:
.space 0x94
.global _022B7A30
_022B7A30:
.space 0xE
.global _022B7A3E
_022B7A3E:
.space 0x2E
.global _022B7A6C
_022B7A6C:
.space 0x8C4
.global _022B8330
_022B8330:
.space 0xD14
.global _022B9044
_022B9044:
.space 0xC8
.global _022B910C
_022B910C:
.space 0x14
.global _022B9120
_022B9120:
.space 0x10
.global _022B9130
_022B9130:
.space 0xD8
.global _022B9208
_022B9208:
.space 0x2C
.global _022B9234
_022B9234:
.space 0xCC
.global _022B9300
_022B9300:
.space 0x184
.global _022B9484
_022B9484:
.space 0x38
.global _022B94BC
_022B94BC:
.space 0xC8
.global _022B9584
_022B9584:
.space 0x4
.global sDispMode
sDispMode: ; 0x022B9588
.space 0x2
.global GXi_VRamLockId
GXi_VRamLockId: ; 0x022B958A
.space 0x2
.global gGXState
gGXState: ; 0x022B958C
.space 0x2
.global _022B958E
_022B958E:
.space 0x2
.global _022B9590
_022B9590:
.space 0x2
.global _022B9592
_022B9592:
.space 0x2
.global _022B9594
_022B9594:
.space 0x2
.global _022B9596
_022B9596:
.space 0x2
.global _022B9598
_022B9598:
.space 0x2
.global _022B959A
_022B959A:
.space 0x2
.global _022B959C
_022B959C:
.space 0x2
.global _022B959E
_022B959E:
.space 0x2
.global _022B95A0
_022B95A0:
.space 0x2
.global _022B95A2
_022B95A2:
.space 0x2
.global _022B95A4
_022B95A4:
.space 0x4
.global sSubBGExtPltt
sSubBGExtPltt: ; 0x022B95A8
.space 0x1C
.global sClrImg
sClrImg: ; 0x022B95C4
.space 0x20
.global _022B95E4
_022B95E4:
.space 0x4
.global _022B95E8
_022B95E8:
.space 0x4
.global _022B95EC
_022B95EC:
.space 0x28
.global _022B9614
_022B9614:
.space 0x4
.global _022B9618
_022B9618:
.space 0x4
.global _022B961C
_022B961C:
.space 0x28
.global _022B9644
_022B9644:
.space 0x4
.global THREAD_INFO_STRUCT
THREAD_INFO_STRUCT:
.space 0xC
.global _022B9654
_022B9654:
.space 0x18
.global _022B966C
_022B966C:
.space 0x4
.global _022B9670
_022B9670:
.space 0xC
.global _022B967C
_022B967C:
.space 0xC0
.global _022B973C
_022B973C:
.space 0x188
.global _022B98C4
_022B98C4:
.space 0x8
.global _022B98CC
_022B98CC:
.space 0x24
.global _022B98F0
_022B98F0:
.space 0x4
.global _022B98F4
_022B98F4:
.space 0x4
.global _022B98F8
_022B98F8:
.space 0x24
.global _022B991C
_022B991C:
.space 0x80
.global _022B999C
_022B999C:
.space 0x4
.global _022B99A0
_022B99A0:
.space 0x8
.global _022B99A8
_022B99A8:
.space 0x8
.global _022B99B0
_022B99B0:
.space 0xC
.global _022B99BC
_022B99BC:
.space 0x14
.global _022B99D0
_022B99D0:
.space 0x4
.global _022B99D4
_022B99D4:
.space 0x4
.global _022B99D8
_022B99D8:
.space 0x14
.global _022B99EC
_022B99EC:
.space 0x4
.global _022B99F0
_022B99F0:
#ifdef JAPAN
.space 0x18
#else
.space 0x30
#endif
.global _022B9A20
_022B9A20:
.space 0x24
.global _022B9A44
_022B9A44:
.space 0x3C
.global _022B9A80
_022B9A80:
.space 0x280
.global _022B9D00
_022B9D00:
.space 0xD20
.global _022BAA20
_022BAA20:
.space 0xAC8
.global _022BB4E8
_022BB4E8:
.space 0x18
.global _022BB500
_022BB500:
.space 0x60
.global _022BB560
_022BB560:
.space 0x4
.global _022BB564
_022BB564:
.space 0x4
.global _022BB568
_022BB568:
.space 0x80
.global _022BB5E8
_022BB5E8:
.space 0x4
.global _022BB5EC
_022BB5EC:
.space 0xC
.global _022BB5F8
_022BB5F8:
.space 0x4
.global _022BB5FC
_022BB5FC:
.space 0x8
.global _022BB604
_022BB604:
.space 0x8
.global _022BB60C
_022BB60C:
.space 0x8
.global _022BB614
_022BB614:
.space 0x5C
.global _022BB670
_022BB670:
.space 0x1C
.global _022BB68C
_022BB68C:
.space 0x20
.global _022BB6AC
_022BB6AC:
.space 0xC
.global _022BB6B8
_022BB6B8:
.space 0xC
.global _022BB6C4
_022BB6C4:
.space 0x4
.global _022BB6C8
_022BB6C8:
.space 0x10
.global _022BB6D8
_022BB6D8:
.space 0x18
.global _022BB6F0
_022BB6F0:
.space 0x4
.global _022BB6F4
_022BB6F4:
.space 0x24
.global _022BB718
_022BB718:
.space 0xC
.global _022BB724
_022BB724:
.space 0x3C
.global _022BB760
_022BB760:
.space 0x20
.global _022BB780
_022BB780:
.space 0x60
.global _022BB7E0
_022BB7E0:
.space 0x620
.global _022BBE00
_022BBE00:
.space 0x20
.global _022BBE20
_022BBE20:
.space 0x220
.global _022BC040
_022BC040:
.space 0x8
.global _022BC048
_022BC048:
.space 0x4
.global _022BC04C
_022BC04C:
.space 0x14
.global _022BC060
_022BC060:
.space 0x20
.global _022BC080
_022BC080:
.space 0x4
.global _022BC084
_022BC084:
.space 0xBC
.global _022BC140
_022BC140:
.space 0xE8
.global _022BC228
_022BC228:
.space 0x4
.global _022BC22C
_022BC22C:
.space 0x424
.global _022BC650
_022BC650:
.space 0x24
.global _022BC674
_022BC674:
.space 0x24
.global _022BC698
_022BC698:
.space 0xD8
.global _022BC770
_022BC770:
.space 0x100
.global _022BC870
_022BC870:
.space 0x100
.global _022BC970
_022BC970:
.space 0x100
.global _022BCA70
_022BCA70:
.space 0x4
.global _022BCA74
_022BCA74:
.space 0xC

View File

@ -14063,990 +14063,3 @@ _020B333C:
.global _020B3364
_020B3364:
.byte 0x00, 0x00, 0x00, 0x00
.bss
.global _020B3380
_020B3380:
.space 0x4
.global _020B3384
_020B3384:
.space 0x1C
.global _020B33A0
_020B33A0:
.space 0x20
.global _020B33C0
_020B33C0:
.space 0x1800
.global DEFAULT_MEMORY_ARENA_MEMORY
DEFAULT_MEMORY_ARENA_MEMORY:
.space 0x1E6400
.global _0229AFC0
_0229AFC0:
.space 0xC
.global _0229AFCC
_0229AFCC:
.space 0x18
.global _0229AFE4
_0229AFE4:
.space 0x20
.global _0229B004
_0229B004:
.space 0xDC
.global _0229B0E0
_0229B0E0:
.space 0x8
.global _0229B0E8
_0229B0E8:
.space 0x8
.global _0229B0F0
_0229B0F0:
.space 0x8
.global _0229B0F8
_0229B0F8:
.space 0x18
.global _0229B110
_0229B110:
.space 0x4
.global _0229B114
_0229B114:
.space 0x108
.global _0229B21C
_0229B21C:
.space 0x4
.global _0229B220
_0229B220:
.space 0x28
.global _0229B248
_0229B248:
.space 0x4000
.global _0229F248
_0229F248:
.space 0x4000
.global _022A3248
_022A3248:
.space 0x2F0
.global _022A3538
_022A3538:
.space 0x4
.global _022A353C
_022A353C:
.space 0x18
.global _022A3554
_022A3554:
.space 0x88
.global TOUCHSCREEN_STATUS
TOUCHSCREEN_STATUS:
.space 0xC
.global _022A35E8
_022A35E8:
.space 0x2C
.global _022A3614
_022A3614:
.space 0xC
.global _022A3620
_022A3620:
.space 0xC
.global _022A362C
_022A362C:
.space 0x18
.global _022A3644
_022A3644:
.space 0x14
.global _022A3658
_022A3658:
.space 0x18
.global _022A3670
_022A3670:
.space 0x28
.global _022A3698
_022A3698:
.space 0x4
.global _022A369C
_022A369C:
.space 0x28
.global _022A36C4
_022A36C4:
.space 0xDC
.global _022A37A0
_022A37A0:
.space 0x4
.global _022A37A4
_022A37A4:
.space 0x8
.global _022A37AC
_022A37AC:
.space 0x1
.global _022A37AD
_022A37AD:
.space 0x1
.global _022A37AE
_022A37AE:
.space 0x1
.global _022A37AF
_022A37AF:
.space 0x1
.global _022A37B0
_022A37B0:
.space 0x6
.global _022A37B6
_022A37B6:
.space 0x1
.global _022A37B7
_022A37B7:
.space 0x1
.global _022A37B8
_022A37B8:
.space 0x1
.global _022A37B9
_022A37B9:
.space 0x1
.global _022A37BA
_022A37BA:
.space 0x2
.global _022A37BC
_022A37BC:
.space 0x2
.global _022A37BE
_022A37BE:
.space 0xE
.global _022A37CC
_022A37CC:
.space 0x4
.global _022A37D0
_022A37D0:
.space 0x4
.global _022A37D4
_022A37D4:
.space 0x4
.global _022A37D8
_022A37D8:
.space 0x14
.global _022A37EC
_022A37EC:
.space 0x1
.global _022A37ED
_022A37ED:
.space 0x1
.global _022A37EE
_022A37EE:
.space 0x1
.global _022A37EF
_022A37EF:
.space 0x1
.global _022A37F0
_022A37F0:
.space 0x1
.global _022A37F1
_022A37F1:
.space 0x1
.global _022A37F2
_022A37F2:
.space 0x1
.global _022A37F3
_022A37F3:
.space 0x1
.global _022A37F4
_022A37F4:
.space 0x1
.global _022A37F5
_022A37F5:
.space 0x1
.global _022A37F6
_022A37F6:
.space 0x1
.global _022A37F7
_022A37F7:
.space 0x1
.global _022A37F8
_022A37F8:
.space 0x1
.global _022A37F9
_022A37F9:
.space 0x1
.global _022A37FA
_022A37FA:
.space 0x1
.global _022A37FB
_022A37FB:
.space 0x1
.global _022A37FC
_022A37FC:
.space 0x1
.global _022A37FD
_022A37FD:
.space 0x1
.global _022A37FE
_022A37FE:
.space 0x1
.global _022A37FF
_022A37FF:
.space 0x1
.global _022A3800
_022A3800:
.space 0x1
.global _022A3801
_022A3801:
.space 0x1
.global _022A3802
_022A3802:
.space 0x1
.global _022A3803
_022A3803:
.space 0x1
.global _022A3804
_022A3804:
.space 0x1
.global _022A3805
_022A3805:
.space 0x1
.global _022A3806
_022A3806:
.space 0x1E
.global BAG_ITEMS
BAG_ITEMS:
.space 0x13B4
.global _022A4BD8
_022A4BD8:
.space 0x10
.global _022A4BE8
_022A4BE8:
.space 0x4
.global _022A4BEC
_022A4BEC:
.space 0x14
.global _022A4C00
_022A4C00:
.space 0x28
.global _022A4C28
_022A4C28:
.space 0x28
.global AUDIO_COMMANDS_BUFFER
AUDIO_COMMANDS_BUFFER:
.space 0x200
.global _022A4E50
_022A4E50:
.space 0x8
.global _022A4E58
_022A4E58:
.space 0x24
.global _022A4E7C
_022A4E7C:
.space 0x8
.global _022A4E84
_022A4E84:
.space 0x8
.global _022A4E8C
_022A4E8C:
.space 0x18
.global _022A4EA4
_022A4EA4:
.space 0x8
.global _022A4EAC
_022A4EAC:
.space 0x8
.global _022A4EB4
_022A4EB4:
.space 0x10
.global _022A4EC4
_022A4EC4:
.space 0x8
.global _022A4ECC
_022A4ECC:
.space 0x28
.global _022A4EF4
_022A4EF4:
.space 0x8
.global _022A4EFC
_022A4EFC:
.space 0x3C
.global _022A4F38
_022A4F38:
.space 0x100
.global _022A5038
_022A5038:
.space 0x10
.global _022A5048
_022A5048:
.space 0x4
.global _022A504C
_022A504C:
.space 0x1C
.global _022A5068
_022A5068:
.space 0x200
.global _022A5268
_022A5268:
.space 0x200
.global _022A5468
_022A5468:
.space 0x501
.global _022A5969
_022A5969:
.space 0x1
.global _022A596A
_022A596A:
.space 0x6
.global _022A5970
_022A5970:
.space 0x48
.global _022A59B8
_022A59B8:
.space 0x8
.global _022A59C0
_022A59C0:
.space 0x48
.global _022A5A08
_022A5A08:
.space 0x2000
.global _022A7A08
_022A7A08:
.space 0x4
.global _022A7A0C
_022A7A0C:
.space 0x48
#ifdef JAPAN
.global _022A92B4_JP
_022A92B4_JP:
.space 0x4
.global _022A92B8_JP
_022A92B8_JP:
.space 0x8
#endif
.global _022A7A54
_022A7A54:
.space 0x4
.global _022A92C4
_022A92C4:
.space 0x4
#if defined(EUROPE)
.global _022A7A64
_022A7A64:
.space 0x8
.global _022A7A5C
_022A7A5C:
.space 0x8
#elif !defined(JAPAN)
.global _022A7A5C
_022A7A5C:
.space 0x8
.global _022A7A64
_022A7A64:
.space 0x8
#endif
.global _022A7A6C
_022A7A6C:
.space 0x8
.global _022A7A74
_022A7A74:
.space 0x4
.global _022A7A78
_022A7A78:
.space 0x14
.global _022A7A8C
_022A7A8C:
.space 0x14
.global _022A7AA0
_022A7AA0:
.space 0x14
.global _022A7AB4
_022A7AB4:
.space 0x2
.global _022A7AB6
_022A7AB6:
.space 0x12
#ifdef JAPAN
.global _022A7B00
_022A7B00:
.space 0x1C
#endif
.global _022A7AC8
_022A7AC8:
.space 0x1C
.global _022A7AE4
_022A7AE4:
.space 0x1C
#ifndef JAPAN
.global _022A7B00
_022A7B00:
.space 0x1C
#endif
.global _022A7B1C
_022A7B1C:
#ifdef JAPAN
.space 0x370
#else
.space 0x3C0
#endif
.global _022A7EDC
_022A7EDC:
.space 0xA00
.global WINDOW_LIST
WINDOW_LIST:
.space 0x8
.global _022A88E4
_022A88E4:
.space 0xC
.global _022A88F0
_022A88F0:
.space 0x8
.global _022A88F8
_022A88F8:
.space 0x4
.global _022A88FC
_022A88FC:
.space 0xC
.global _022A8908
_022A8908:
.space 0x88
.global _022A8990
_022A8990:
.space 0x1
.global _022A8991
_022A8991:
.space 0x1
.global _022A8992
_022A8992:
.space 0x2
.global _022A8994
_022A8994:
.space 0x10C8
.global _022A9A5C
_022A9A5C:
.space 0x900
.global _022AA35C
_022AA35C:
.space 0x908
.global CURSOR_16_SPRITE_ID
CURSOR_16_SPRITE_ID:
.space 0x4
.global _022AAC68
_022AAC68:
.space 0x18
.global CURSOR_ANIMATION_CONTROL
CURSOR_ANIMATION_CONTROL:
.space 0x7C
.global CURSOR_16_ANIMATION_CONTROL
CURSOR_16_ANIMATION_CONTROL:
.space 0x7C
.global ALERT_SPRITE_ID
ALERT_SPRITE_ID:
.space 0x4
.global ALERT_ANIMATION_CONTROL
ALERT_ANIMATION_CONTROL:
.space 0x7C
.global _022AADF8
_022AADF8:
.space 0x4
.global _022AADFC
_022AADFC:
.space 0x4
.global _022AAE00
_022AAE00:
.space 0x2A
.global _022AAE2A
_022AAE2A:
.space 0x4
.global _022AAE2E
_022AAE2E:
.space 0x1E
.global LAST_NEW_MOVE
LAST_NEW_MOVE:
.space 0xC
.global _022AAE58
_022AAE58:
.space 0xC
.global _022AAE64
_022AAE64:
.space 0x4
.global _022AAE68
_022AAE68:
.space 0x8
.global _022AAE70
_022AAE70:
.space 0x4
.global _022AAE74
_022AAE74:
.space 0x4
.global _022AAE78
_022AAE78:
.space 0x2C
.global _022AAEA4
_022AAEA4:
.space 0x4
.global _022AAEA8
_022AAEA8:
.space 0x4
.global _022AAEAC
_022AAEAC:
#ifdef JAPAN
.space 0x1A0
#else
.space 0x1F0
#endif
.global _022AB09C
_022AB09C:
.space 0x4
.global _022AB0A0
_022AB0A0:
.space 0x1
.global _022AB0A1
_022AB0A1:
.space 0x1
.global _022AB0A2
_022AB0A2:
.space 0x7
.global _022AB0A9
_022AB0A9:
.space 0x3
.global SCRIPT_VARS_VALUES
SCRIPT_VARS_VALUES:
.space 0x400
.global DEBUG_SPECIAL_EPISODE_NUMBER
DEBUG_SPECIAL_EPISODE_NUMBER:
.space 0x4
.global KAOMADO_STREAM
KAOMADO_STREAM:
.space 0x48
.global _022AB4F8
_022AB4F8:
.space 0x4
.global PENDING_DUNGEON_ID
PENDING_DUNGEON_ID:
.space 0x14
.global _022AB510
_022AB510:
.space 0x8
.global _022AB518
_022AB518:
.space 0x90
.global _022AB5A8
_022AB5A8:
.space 0x4
.global _022AB5AC
_022AB5AC:
.space 0xE8
.global PLAY_TIME_SECONDS
PLAY_TIME_SECONDS:
.space 0x8
.global _022AB69C
_022AB69C:
.space 0x27C
.global TEAM_NAME
TEAM_NAME:
#ifdef JAPAN
.space 0x8
#else
.space 0xC
#endif
.global _022AB924
_022AB924:
.space 0x8
.global LEVEL_UP_DATA_MONSTER_ID
LEVEL_UP_DATA_MONSTER_ID:
.space 0x4
.global LEVEL_UP_DATA_DECOMPRESS_BUFFER
LEVEL_UP_DATA_DECOMPRESS_BUFFER:
.space 0x4B0
.global TEAM_MEMBER_TABLE
TEAM_MEMBER_TABLE:
.space 0x99A8
.global _022B5788
_022B5788:
.space 0x4
.global _022B578C
_022B578C:
.space 0x30
.global _022B57BC
_022B57BC:
.space 0x4
.global _022B57C0
_022B57C0:
.space 0x4C
.global _022B580C
_022B580C:
.space 0x104
.global _022B5910
_022B5910:
.space 0x1600
.global _022B6F10
_022B6F10:
.space 0x400
.global _022B7310
_022B7310:
.space 0x10
.global _022B7320
_022B7320:
.space 0x10
.global DRIVER_WORK
DRIVER_WORK:
.space 0x1
.global _022B7331
_022B7331:
.space 0x3
.global _022B7334
_022B7334:
.space 0xC
.global _022B7340
_022B7340:
.space 0xC
.global _022B734C
_022B734C:
.space 0x24
.global _022B7370
_022B7370:
.space 0x10
.global _022B7380
_022B7380:
.space 0x8
.global _022B7388
_022B7388:
.space 0x600
.global _022B7988
_022B7988:
.space 0x8
.global _022B7990
_022B7990:
.space 0x4
.global _022B7994
_022B7994:
.space 0x4
.global _022B7998
_022B7998:
.space 0x4
.global _022B799C
_022B799C:
.space 0x94
.global _022B7A30
_022B7A30:
.space 0xE
.global _022B7A3E
_022B7A3E:
.space 0x2E
.global _022B7A6C
_022B7A6C:
.space 0x8C4
.global _022B8330
_022B8330:
.space 0xD14
.global _022B9044
_022B9044:
.space 0xC8
.global _022B910C
_022B910C:
.space 0x14
.global _022B9120
_022B9120:
.space 0x10
.global _022B9130
_022B9130:
.space 0xD8
.global _022B9208
_022B9208:
.space 0x2C
.global _022B9234
_022B9234:
.space 0xCC
.global _022B9300
_022B9300:
.space 0x184
.global _022B9484
_022B9484:
.space 0x38
.global _022B94BC
_022B94BC:
.space 0xC8
.global _022B9584
_022B9584:
.space 0x4
.global sDispMode
sDispMode: ; 0x022B9588
.space 0x2
.global GXi_VRamLockId
GXi_VRamLockId: ; 0x022B958A
.space 0x2
.global gGXState
gGXState: ; 0x022B958C
.space 0x2
.global _022B958E
_022B958E:
.space 0x2
.global _022B9590
_022B9590:
.space 0x2
.global _022B9592
_022B9592:
.space 0x2
.global _022B9594
_022B9594:
.space 0x2
.global _022B9596
_022B9596:
.space 0x2
.global _022B9598
_022B9598:
.space 0x2
.global _022B959A
_022B959A:
.space 0x2
.global _022B959C
_022B959C:
.space 0x2
.global _022B959E
_022B959E:
.space 0x2
.global _022B95A0
_022B95A0:
.space 0x2
.global _022B95A2
_022B95A2:
.space 0x2
.global _022B95A4
_022B95A4:
.space 0x4
.global sSubBGExtPltt
sSubBGExtPltt: ; 0x022B95A8
.space 0x1C
.global sClrImg
sClrImg: ; 0x022B95C4
.space 0x20
.global _022B95E4
_022B95E4:
.space 0x4
.global _022B95E8
_022B95E8:
.space 0x4
.global _022B95EC
_022B95EC:
.space 0x28
.global _022B9614
_022B9614:
.space 0x4
.global _022B9618
_022B9618:
.space 0x4
.global _022B961C
_022B961C:
.space 0x28
.global _022B9644
_022B9644:
.space 0x4
.global THREAD_INFO_STRUCT
THREAD_INFO_STRUCT:
.space 0xC
.global _022B9654
_022B9654:
.space 0x18
.global _022B966C
_022B966C:
.space 0x4
.global _022B9670
_022B9670:
.space 0xC
.global _022B967C
_022B967C:
.space 0xC0
.global _022B973C
_022B973C:
.space 0x188
.global _022B98C4
_022B98C4:
.space 0x8
.global _022B98CC
_022B98CC:
.space 0x24
.global _022B98F0
_022B98F0:
.space 0x4
.global _022B98F4
_022B98F4:
.space 0x4
.global _022B98F8
_022B98F8:
.space 0x24
.global _022B991C
_022B991C:
.space 0x80
.global _022B999C
_022B999C:
.space 0x4
.global _022B99A0
_022B99A0:
.space 0x8
.global _022B99A8
_022B99A8:
.space 0x8
.global _022B99B0
_022B99B0:
.space 0xC
.global _022B99BC
_022B99BC:
.space 0x14
.global _022B99D0
_022B99D0:
.space 0x4
.global _022B99D4
_022B99D4:
.space 0x4
.global _022B99D8
_022B99D8:
.space 0x14
.global _022B99EC
_022B99EC:
.space 0x4
.global _022B99F0
_022B99F0:
#ifdef JAPAN
.space 0x18
#else
.space 0x30
#endif
.global _022B9A20
_022B9A20:
.space 0x24
.global _022B9A44
_022B9A44:
.space 0x3C
.global _022B9A80
_022B9A80:
.space 0x280
.global _022B9D00
_022B9D00:
.space 0xD20
.global _022BAA20
_022BAA20:
.space 0xAC8
.global _022BB4E8
_022BB4E8:
.space 0x18
.global _022BB500
_022BB500:
.space 0x60
.global _022BB560
_022BB560:
.space 0x4
.global _022BB564
_022BB564:
.space 0x4
.global _022BB568
_022BB568:
.space 0x80
.global _022BB5E8
_022BB5E8:
.space 0x4
.global _022BB5EC
_022BB5EC:
.space 0xC
.global _022BB5F8
_022BB5F8:
.space 0x4
.global _022BB5FC
_022BB5FC:
.space 0x8
.global _022BB604
_022BB604:
.space 0x8
.global _022BB60C
_022BB60C:
.space 0x8
.global _022BB614
_022BB614:
.space 0x5C
.global _022BB670
_022BB670:
.space 0x1C
.global _022BB68C
_022BB68C:
.space 0x20
.global _022BB6AC
_022BB6AC:
.space 0xC
.global _022BB6B8
_022BB6B8:
.space 0xC
.global _022BB6C4
_022BB6C4:
.space 0x4
.global _022BB6C8
_022BB6C8:
.space 0x10
.global _022BB6D8
_022BB6D8:
.space 0x18
.global _022BB6F0
_022BB6F0:
.space 0x4
.global _022BB6F4
_022BB6F4:
.space 0x24
.global _022BB718
_022BB718:
.space 0xC
.global _022BB724
_022BB724:
.space 0x3C
.global _022BB760
_022BB760:
.space 0x20
.global _022BB780
_022BB780:
.space 0x60
.global _022BB7E0
_022BB7E0:
.space 0x620
.global _022BBE00
_022BBE00:
.space 0x20
.global _022BBE20
_022BBE20:
.space 0x220
.global _022BC040
_022BC040:
.space 0x8
.global _022BC048
_022BC048:
.space 0x4
.global _022BC04C
_022BC04C:
.space 0x14
.global _022BC060
_022BC060:
.space 0x20
.global _022BC080
_022BC080:
.space 0x4
.global _022BC084
_022BC084:
.space 0xBC
.global _022BC140
_022BC140:
.space 0xE8
.global _022BC228
_022BC228:
.space 0x4
.global _022BC22C
_022BC22C:
.space 0x424
.global _022BC650
_022BC650:
.space 0x24
.global _022BC674
_022BC674:
.space 0x24
.global _022BC698
_022BC698:
.space 0xD8
.global _022BC770
_022BC770:
.space 0x100
.global _022BC870
_022BC870:
.space 0x100
.global _022BC970
_022BC970:
.space 0x100
.global _022BCA70
_022BCA70:
.space 0x4
.global _022BCA74
_022BCA74:
.space 0xC

View File

@ -8,26 +8,28 @@ struct options {
u8 touch_screen;
u8 bottom_screen;
u8 top_screen;
u8 grids;
u8 speed;
u8 far_off_pals;
u8 damage_turn;
u8 d_pad_attack;
u8 check_direction;
bool8 grids;
bool8 speed;
bool8 far_off_pals;
bool8 damage_turn;
bool8 d_pad_attack;
bool8 check_direction;
u8 frame_type;
};
void SaveOptionsToCtx(u8* ctx);
void LoadOptionsFromCtx(u8* ctx);
bool8 IsTouchScreenNotOff();
bool8 IsTouchScreenUseAnywhere();
u8 GetTopScreenOption();
void SetTopScreenOption(u8 new_ts);
u8 GetBottomScreenOption();
u8 GetGridsOption();
u8 GetSpeedOption();
u8 GetFarOffPalsOption();
u8 GetDamageTurnOption();
u8 GetDPadAttackOption();
u8 GetCheckDirectionOption();
bool8 GetGridsOption();
bool8 GetSpeedOption();
bool8 GetFarOffPalsOption();
bool8 GetDamageTurnOption();
bool8 GetDPadAttackOption();
bool8 GetCheckDirectionOption();
bool8 IsMapShownOnEitherScreen();
bool8 IsTeamStatsOnTopScreen();
bool8 IsTextLogOnTopScreen();

View File

@ -78,7 +78,9 @@ Static main
Object asm/main_02034974.o
Object src/main_0203C760.o
Object asm/main_0203C774.o
Object asm/main_bss_020B3380.o
Object src/options.o
Object asm/main_bss_022AB0AC.o
Object src/game_mode.o
Object src/script_variable.o
Object asm/main_rodata_0209CECC.o

View File

@ -1,76 +1,166 @@
#include "enums.h"
#include "options.h"
extern struct options _022AB0A0;
extern void CopyBitsFrom(u8* ctx, void* dest, u8 nbits);
extern void CopyBitsTo(u8* ctx, void* src, s32 nbits);
extern u8 _0209CE88;
extern u8 _0209CE89;
struct options OPTIONS = {};
void SaveOptionsToCtx(u8* ctx) {
CopyBitsTo(ctx, &OPTIONS.touch_screen, 2);
CopyBitsTo(ctx, &OPTIONS.top_screen, 3);
CopyBitsTo(ctx, &OPTIONS.bottom_screen, 2);
u8* src;
if (OPTIONS.grids) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
if (OPTIONS.speed) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
if (OPTIONS.far_off_pals) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
if (OPTIONS.damage_turn) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
if (OPTIONS.d_pad_attack) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
if (OPTIONS.check_direction) {
src = &_0209CE88;
} else {
src = &_0209CE89;
}
CopyBitsTo(ctx, src, 1);
CopyBitsTo(ctx, &OPTIONS.frame_type, 3);
}
void LoadOptionsFromCtx(u8* ctx) {
u8 dest;
CopyBitsFrom(ctx, &dest, 2U);
OPTIONS.touch_screen = dest & 3;
CopyBitsFrom(ctx, &dest, 3);
OPTIONS.top_screen = dest & 7;
CopyBitsFrom(ctx, &dest, 2);
OPTIONS.bottom_screen = dest & 3;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.grids = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.speed = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.far_off_pals = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.damage_turn = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.d_pad_attack = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 1);
OPTIONS.check_direction = (dest & 1) != FALSE;
CopyBitsFrom(ctx, &dest, 3);
OPTIONS.frame_type = dest & 7;
}
bool8 IsTouchScreenNotOff() {
if (_022AB0A0.touch_screen >= TOUCH_SCREEN_MENU_ONLY) {
if (OPTIONS.touch_screen >= TOUCH_SCREEN_MENU_ONLY) {
return TRUE;
}
return FALSE;
}
bool8 IsTouchScreenUseAnywhere() {
if (_022AB0A0.touch_screen >= TOUCH_SCREEN_USE_ANYWHERE) {
if (OPTIONS.touch_screen >= TOUCH_SCREEN_USE_ANYWHERE) {
return TRUE;
}
return FALSE;
}
u8 GetTopScreenOption() {
return _022AB0A0.top_screen;
return OPTIONS.top_screen;
}
void SetTopScreenOption(u8 new_ts) {
_022AB0A0.top_screen = new_ts;
OPTIONS.top_screen = new_ts;
}
u8 GetBottomScreenOption() {
return _022AB0A0.bottom_screen;
return OPTIONS.bottom_screen;
}
u8 GetGridsOption() {
return _022AB0A0.grids;
bool8 GetGridsOption() {
return OPTIONS.grids;
}
u8 GetSpeedOption() {
return _022AB0A0.speed;
bool8 GetSpeedOption() {
return OPTIONS.speed;
}
u8 GetFarOffPalsOption() {
return _022AB0A0.far_off_pals;
bool8 GetFarOffPalsOption() {
return OPTIONS.far_off_pals;
}
u8 GetDamageTurnOption() {
return _022AB0A0.damage_turn;
bool8 GetDamageTurnOption() {
return OPTIONS.damage_turn;
}
u8 GetDPadAttackOption() {
return _022AB0A0.d_pad_attack;
bool8 GetDPadAttackOption() {
return OPTIONS.d_pad_attack;
}
u8 GetCheckDirectionOption() {
return _022AB0A0.check_direction;
bool8 GetCheckDirectionOption() {
return OPTIONS.check_direction;
}
bool8 IsMapShownOnEitherScreen() {
if (_022AB0A0.bottom_screen == BOTTOM_SCREEN_CLEAR_MAP ||
_022AB0A0.bottom_screen == BOTTOM_SCREEN_SHADED_MAP ||
_022AB0A0.top_screen == TOP_SCREEN_MAP_AND_TEAM) {
if (OPTIONS.bottom_screen == BOTTOM_SCREEN_CLEAR_MAP ||
OPTIONS.bottom_screen == BOTTOM_SCREEN_SHADED_MAP ||
OPTIONS.top_screen == TOP_SCREEN_MAP_AND_TEAM) {
return TRUE;
}
return FALSE;
}
bool8 IsTeamStatsOnTopScreen() {
if (_022AB0A0.top_screen == TOP_SCREEN_TEAM_STATS) {
if (OPTIONS.top_screen == TOP_SCREEN_TEAM_STATS) {
return TRUE;
}
return FALSE;
}
bool8 IsTextLogOnTopScreen() {
if (_022AB0A0.top_screen == TOP_SCREEN_TEXT_LOG) {
if (OPTIONS.top_screen == TOP_SCREEN_TEXT_LOG) {
return TRUE;
} else {
return FALSE;
@ -78,9 +168,9 @@ bool8 IsTextLogOnTopScreen() {
}
void CopyFrameTypeOption(u8* dst) {
*dst = _022AB0A0.frame_type;
*dst = OPTIONS.frame_type;
}
void SetFrameTypeOption(u8* new_ft) {
_022AB0A0.frame_type = *new_ft;
OPTIONS.frame_type = *new_ft;
}