diff options
-rw-r--r-- | asm/mail_data.s (renamed from asm/rom_80A2B18.s) | 239 | ||||
-rw-r--r-- | asm/map_name_popup.s | 248 | ||||
-rw-r--r-- | ld_script.txt | 3 |
3 files changed, 250 insertions, 240 deletions
diff --git a/asm/rom_80A2B18.s b/asm/mail_data.s index 4f4f245ce..8367f2a4f 100644 --- a/asm/rom_80A2B18.s +++ b/asm/mail_data.s @@ -571,243 +571,4 @@ _080A2F40: bx r1 thumb_func_end itemid_is_mail - thumb_func_start unref_sub_80A2F44 -unref_sub_80A2F44: @ 80A2F44 - push {lr} - bl sub_8071C20 - bl AddMapNamePopUpWindowTask - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end unref_sub_80A2F44 - - thumb_func_start AddMapNamePopUpWindowTask -AddMapNamePopUpWindowTask: @ 80A2F54 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A2FE4 - ldr r4, _080A2FAC @ =sub_80A2FF4 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A2FBC - adds r0, r4, 0 - movs r1, 0x5A - bl CreateTask - ldr r4, _080A2FB0 @ =gUnknown_02038538 - strb r0, [r4] - ldr r1, _080A2FB4 @ =REG_BG0VOFS - movs r0, 0x20 - strh r0, [r1] - bl sub_80A30E0 - ldr r2, _080A2FB8 @ =gTasks - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r5, [r0, 0x8] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - strh r1, [r0, 0xC] - b _080A2FE4 - .align 2, 0 -_080A2FAC: .4byte sub_80A2FF4 -_080A2FB0: .4byte gUnknown_02038538 -_080A2FB4: .4byte REG_BG0VOFS -_080A2FB8: .4byte gTasks -_080A2FBC: - ldr r3, _080A2FEC @ =gTasks - ldr r2, _080A2FF0 @ =gUnknown_02038538 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x2 - beq _080A2FD6 - movs r0, 0x2 - strh r0, [r1, 0x8] -_080A2FD6: - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1 - strh r0, [r1, 0xE] -_080A2FE4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2FEC: .4byte gTasks -_080A2FF0: .4byte gUnknown_02038538 - thumb_func_end AddMapNamePopUpWindowTask - - thumb_func_start sub_80A2FF4 -sub_80A2FF4: @ 80A2FF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _080A3018 @ =gTasks - adds r4, r1, r3 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080A304C - cmp r2, 0x1 - bgt _080A301C - cmp r2, 0 - beq _080A3026 - b _080A3092 - .align 2, 0 -_080A3018: .4byte gTasks -_080A301C: - cmp r2, 0x2 - beq _080A3064 - cmp r2, 0x4 - beq _080A308C - b _080A3092 -_080A3026: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080A3092 - movs r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080A3048 @ =gUnknown_02038538 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0xA] - b _080A3092 - .align 2, 0 -_080A3048: .4byte gUnknown_02038538 -_080A304C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080A3092 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080A3092 -_080A3064: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - movs r5, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080A3092 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A3086 - bl sub_80A30E0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xE] - b _080A3092 -_080A3086: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080A3098 -_080A308C: - bl HideMapNamePopUpWindow - b _080A3098 -_080A3092: - ldr r1, _080A30A0 @ =REG_BG0VOFS - ldrh r0, [r4, 0xC] - strh r0, [r1] -_080A3098: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A30A0: .4byte REG_BG0VOFS - thumb_func_end sub_80A2FF4 - - thumb_func_start HideMapNamePopUpWindow -HideMapNamePopUpWindow: @ 80A30A4 - push {lr} - ldr r0, _080A30D4 @ =sub_80A2FF4 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080A30D0 - bl MenuLoadTextWindowGraphics - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuZeroFillWindowRect - ldr r1, _080A30D8 @ =REG_BG0VOFS - movs r0, 0 - strh r0, [r1] - ldr r0, _080A30DC @ =gUnknown_02038538 - ldrb r0, [r0] - bl DestroyTask -_080A30D0: - pop {r0} - bx r0 - .align 2, 0 -_080A30D4: .4byte sub_80A2FF4 -_080A30D8: .4byte REG_BG0VOFS -_080A30DC: .4byte gUnknown_02038538 - thumb_func_end HideMapNamePopUpWindow - - thumb_func_start sub_80A30E0 -sub_80A30E0: @ 80A30E0 - push {lr} - sub sp, 0x14 - movs r0, 0 - bl MenuLoadTextWindowGraphics_OverrideFrameType - ldr r0, _080A3114 @ =gMapHeader - ldrb r1, [r0, 0x14] - mov r0, sp - movs r2, 0 - bl sub_80FBFB4 - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x60 - bl sub_8072BD8 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_080A3114: .4byte gMapHeader - thumb_func_end sub_80A30E0 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s new file mode 100644 index 000000000..a1ba949da --- /dev/null +++ b/asm/map_name_popup.s @@ -0,0 +1,248 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start unref_sub_80A2F44 +unref_sub_80A2F44: @ 80A2F44 + push {lr} + bl sub_8071C20 + bl AddMapNamePopUpWindowTask + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end unref_sub_80A2F44 + + thumb_func_start AddMapNamePopUpWindowTask +AddMapNamePopUpWindowTask: @ 80A2F54 + push {r4,r5,lr} + movs r0, 0x80 + lsls r0, 7 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A2FE4 + ldr r4, _080A2FAC @ =sub_80A2FF4 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080A2FBC + adds r0, r4, 0 + movs r1, 0x5A + bl CreateTask + ldr r4, _080A2FB0 @ =gUnknown_02038538 + strb r0, [r4] + ldr r1, _080A2FB4 @ =REG_BG0VOFS + movs r0, 0x20 + strh r0, [r1] + bl sub_80A30E0 + ldr r2, _080A2FB8 @ =gTasks + ldrb r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + strh r5, [r0, 0x8] + ldrb r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r1, 0x20 + strh r1, [r0, 0xC] + b _080A2FE4 + .align 2, 0 +_080A2FAC: .4byte sub_80A2FF4 +_080A2FB0: .4byte gUnknown_02038538 +_080A2FB4: .4byte REG_BG0VOFS +_080A2FB8: .4byte gTasks +_080A2FBC: + ldr r3, _080A2FEC @ =gTasks + ldr r2, _080A2FF0 @ =gUnknown_02038538 + ldrb r0, [r2] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r4, 0x8 + ldrsh r0, [r1, r4] + cmp r0, 0x2 + beq _080A2FD6 + movs r0, 0x2 + strh r0, [r1, 0x8] +_080A2FD6: + ldrb r0, [r2] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r0, 0x1 + strh r0, [r1, 0xE] +_080A2FE4: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2FEC: .4byte gTasks +_080A2FF0: .4byte gUnknown_02038538 + thumb_func_end AddMapNamePopUpWindowTask + + thumb_func_start sub_80A2FF4 +sub_80A2FF4: @ 80A2FF4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r3, _080A3018 @ =gTasks + adds r4, r1, r3 + movs r0, 0x8 + ldrsh r2, [r4, r0] + cmp r2, 0x1 + beq _080A304C + cmp r2, 0x1 + bgt _080A301C + cmp r2, 0 + beq _080A3026 + b _080A3092 + .align 2, 0 +_080A3018: .4byte gTasks +_080A301C: + cmp r2, 0x2 + beq _080A3064 + cmp r2, 0x4 + beq _080A308C + b _080A3092 +_080A3026: + ldrh r0, [r4, 0xC] + subs r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bgt _080A3092 + movs r0, 0x1 + strh r0, [r4, 0x8] + ldr r0, _080A3048 @ =gUnknown_02038538 + ldrb r1, [r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + strh r2, [r0, 0xA] + b _080A3092 + .align 2, 0 +_080A3048: .4byte gUnknown_02038538 +_080A304C: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x78 + ble _080A3092 + movs r0, 0 + strh r0, [r4, 0xA] + movs r0, 0x2 + strh r0, [r4, 0x8] + b _080A3092 +_080A3064: + ldrh r0, [r4, 0xC] + adds r0, 0x2 + movs r5, 0 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + ble _080A3092 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A3086 + bl sub_80A30E0 + strh r5, [r4, 0x8] + strh r5, [r4, 0xE] + b _080A3092 +_080A3086: + movs r0, 0x4 + strh r0, [r4, 0x8] + b _080A3098 +_080A308C: + bl HideMapNamePopUpWindow + b _080A3098 +_080A3092: + ldr r1, _080A30A0 @ =REG_BG0VOFS + ldrh r0, [r4, 0xC] + strh r0, [r1] +_080A3098: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A30A0: .4byte REG_BG0VOFS + thumb_func_end sub_80A2FF4 + + thumb_func_start HideMapNamePopUpWindow +HideMapNamePopUpWindow: @ 80A30A4 + push {lr} + ldr r0, _080A30D4 @ =sub_80A2FF4 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + beq _080A30D0 + bl MenuLoadTextWindowGraphics + movs r0, 0 + movs r1, 0 + movs r2, 0xD + movs r3, 0x3 + bl MenuZeroFillWindowRect + ldr r1, _080A30D8 @ =REG_BG0VOFS + movs r0, 0 + strh r0, [r1] + ldr r0, _080A30DC @ =gUnknown_02038538 + ldrb r0, [r0] + bl DestroyTask +_080A30D0: + pop {r0} + bx r0 + .align 2, 0 +_080A30D4: .4byte sub_80A2FF4 +_080A30D8: .4byte REG_BG0VOFS +_080A30DC: .4byte gUnknown_02038538 + thumb_func_end HideMapNamePopUpWindow + + thumb_func_start sub_80A30E0 +sub_80A30E0: @ 80A30E0 + push {lr} + sub sp, 0x14 + movs r0, 0 + bl MenuLoadTextWindowGraphics_OverrideFrameType + ldr r0, _080A3114 @ =gMapHeader + ldrb r1, [r0, 0x14] + mov r0, sp + movs r2, 0 + bl sub_80FBFB4 + movs r0, 0 + movs r1, 0 + movs r2, 0xD + movs r3, 0x3 + bl MenuDrawTextWindow + mov r0, sp + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x60 + bl sub_8072BD8 + add sp, 0x14 + pop {r0} + bx r0 + .align 2, 0 +_080A3114: .4byte gMapHeader + thumb_func_end sub_80A30E0 + + .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index d4576388d..a92699a61 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -119,7 +119,8 @@ SECTIONS { src/save_menu_util.o(.text); asm/rom_8094928.o(.text); asm/fldeff_cut.o(.text); - asm/rom_80A2B18.o(.text); + asm/mail_data.o(.text); + asm/map_name_popup.o(.text); asm/item_menu.o(.text); src/battle_anim_80A7E7C.o(.text); src/item.o(.text); |