diff --git a/asm/include/main_0203C774.inc b/asm/include/main_0203C774.inc index f41af682..484fe219 100644 --- a/asm/include/main_0203C774.inc +++ b/asm/include/main_0203C774.inc @@ -147,7 +147,7 @@ .public _022AAEA8 .public _022AAEAC .public _022AB09C -.public _022AB0A0 +.public OPTIONS .public _022AB0A1 .public _022AB0A2 .public _022AB0A9 diff --git a/asm/include/main_0204DE7C.inc b/asm/include/main_0204DE7C.inc index 805def3d..4cf62072 100644 --- a/asm/include/main_0204DE7C.inc +++ b/asm/include/main_0204DE7C.inc @@ -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 diff --git a/asm/main_0203C774.s b/asm/main_0203C774.s index ee0c8a52..d95f9510 100644 --- a/asm/main_0203C774.s +++ b/asm/main_0203C774.s @@ -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 diff --git a/asm/main_0204DE7C.s b/asm/main_0204DE7C.s index 78f7b815..ff7f47c3 100644 --- a/asm/main_0204DE7C.s +++ b/asm/main_0204DE7C.s @@ -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 diff --git a/asm/main_bss_020B3380.s b/asm/main_bss_020B3380.s new file mode 100644 index 00000000..3c144319 --- /dev/null +++ b/asm/main_bss_020B3380.s @@ -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 diff --git a/asm/main_bss_022AB0AC.s b/asm/main_bss_022AB0AC.s new file mode 100644 index 00000000..5e95733a --- /dev/null +++ b/asm/main_bss_022AB0AC.s @@ -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 diff --git a/asm/main_rodata_020A2808.s b/asm/main_rodata_020A2808.s index 2cd1d6cf..62ed99ba 100644 --- a/asm/main_rodata_020A2808.s +++ b/asm/main_rodata_020A2808.s @@ -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 diff --git a/include/options.h b/include/options.h index 53ecbc9c..b1dde208 100644 --- a/include/options.h +++ b/include/options.h @@ -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(); diff --git a/main.lsf b/main.lsf index ba4fa80b..71d202a9 100644 --- a/main.lsf +++ b/main.lsf @@ -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 diff --git a/src/options.c b/src/options.c index 3e80b31b..90cb8509 100644 --- a/src/options.c +++ b/src/options.c @@ -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; }