Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .thumb
- .include "equ.h"
- .equ BagListMenuMoveCursorFunc, 0x081085A4|1
- .equ offset, 0xBFF974
- @@
- .org 0x108130
- .word CB2_BagMenuRun + 1
- .org 0x10886A
- str r0, [sp, #0x10]
- mov r0, #1
- str r0, [sp, #0xC]
- mov r1, #2
- .org 0x108BB6
- ldr r0, =(StopPrinter + 1)
- bx r0
- .align 2, 0
- .pool
- .org 0x109084
- ldr r0, =(PrintRest + 1)
- bx r0
- .pool
- .org 0x1091FE
- ldr r0, =(SwitchPockets + 1)
- bx r0
- .align 2, 0
- .pool
- .org 0x109F40
- .word Task_WaitAB_RedrawAndReturnToBag + 1
- .org 0x10A1F8
- ldr r1, =(Task_ReturnToBagFromContextMenu + 1)
- bx r1
- .pool
- .org 0x10ACE8
- .word Task_WaitAB_RedrawAndReturnToBag + 1
- @@
- .org offset
- CB2_BagMenuRun:
- push {lr}
- bl RunTasks
- bl RunTextPrinter1
- bl AnimateSprites
- bl BuildOamBuffer
- bl DoScheduledBgTilemapCopiesToVram
- bl UpdatePaletteFade
- pop {pc}
- @
- StopPrinter:
- bl StopItemDescriptionPrint
- ldrb r0, [r4]
- ldr r4, =(gBagMenuState)
- ldrh r2, [r4, #0x6]
- lsl r2, #0x1
- mov r1, r4
- ldr r3, =(0x08108BC0|1)
- bx r3
- @
- PrintRest:
- bl PrintRestOfItemDescription
- bl BagDestroyPocketScrollArrowPair
- ldrb r0, [r7]
- mov r1, #2
- ldr r2, =(0x0810908C|1)
- bx r2
- @
- SwitchPockets:
- bl StopItemDescriptionPrint
- mov r0, #0
- bl ClearWindowTilemap
- mov r0, #1
- bl ClearWindowTilemap
- mov r0, #2
- ldr r1, =(0x0810920C|1)
- bx r1
- @
- Task_WaitAB_RedrawAndReturnToBag:
- push {r4-r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6-r7}
- mov r8, r0
- lsl r0, r0, #0x2
- add r0, r0, r8
- lsl r0, r0, #0x3
- ldr r1, =(gTasks + 0x8)
- mov r9, r1
- add r7, r0, r1
- ldr r0, =(gMain)
- ldrh r1, [r0, #0x2E]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- bne .L617 @cond_branch
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq .L616 @cond_branch
- .L617:
- mov r0, #0x5
- bl PlaySfx
- ldr r0, =(gSpecialVar_ItemId)
- ldrh r0, [r0]
- ldrh r1, [r7, #0x10]
- bl RemoveBagItem
- mov r0, #0x6
- bl HideBagWindow
- ldrb r0, [r7]
- ldr r4, =(gBagMenuState)
- ldrh r2, [r4, #0x6]
- lsl r2, r2, #0x1
- add r5, r4, #0
- add r5, r5, #0xe
- add r1, r2, r5
- add r6, r4, #0
- add r6, r6, #0x8
- add r2, r2, r6
- bl DestroyListMenuTask
- ldrb r0, [r4, #0x6]
- bl Pocket_CalculateNItemsAndMaxShowed
- ldrb r0, [r4, #0x6]
- bl PocketCalculateInitialCursorPosAndItemsAbove
- ldrb r0, [r4, #0x6]
- bl Bag_BuildListMenuTemplate
- ldr r0, =(gMultiuseListMenuTemplate)
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldrh r2, [r4, #0x6]
- lsl r2, r2, #0x1
- add r5, r2, r5
- ldrh r1, [r5]
- add r2, r2, r6
- ldrh r2, [r2]
- add r4, r1, r2
- bl ListMenuInit
- strh r0, [r7]
- mov r0, #0x1
- bl PutWindowTilemap
- mov r0, #0x0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r7]
- mov r1, #0x1
- bl bag_menu_print_cursor_
- mov r0, #0x0
- ldrsh r1, [r7, r0]
- lsl r0, r1, #0x2
- add r0, r0, r1
- lsl r0, r0, #0x3
- add r0, r0, r9
- ldr r3, =(BagListMenuMoveCursorFunc)
- str r3, [r0, #0x4]
- ldr r0, =(sListMenuItems)
- ldr r0, [r0]
- lsl r4, r4, #0x3
- add r4, r4, r0
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- mov r2, #0x0
- bl _call_via_r3
- mov r0, r8
- bl Task_RedrawArrowsAndReturnToBagMenuSelect
- .L616:
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7, pc}
- @
- Task_ReturnToBagFromContextMenu:
- push {r4-r6, lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- mov r8, r0
- lsl r5, r0, #0x2
- add r5, r5, r8
- lsl r5, r5, #0x3
- ldr r3, =(gTasks + 0x8)
- mov r10, r3
- add r5, r5, r10
- mov r0, #0x5
- bl CloseBagWindow
- ldrb r0, [r5]
- ldr r4, =(gBagMenuState)
- ldrh r2, [r4, #0x6]
- lsl r2, r2, #0x1
- add r6, r4, #0
- add r6, r6, #0xe
- add r1, r2, r6
- mov r3, #0x8
- add r3, r3, r4
- mov r9, r3
- add r2, r2, r9
- bl DestroyListMenuTask
- ldrb r0, [r4, #0x6]
- bl Pocket_CalculateNItemsAndMaxShowed
- ldrb r0, [r4, #0x6]
- bl PocketCalculateInitialCursorPosAndItemsAbove
- ldrb r0, [r4, #0x6]
- bl Bag_BuildListMenuTemplate
- ldr r0, =(gMultiuseListMenuTemplate)
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldrh r2, [r4, #0x6]
- lsl r2, r2, #0x1
- add r6, r2, r6
- ldrh r1, [r6]
- add r2, r2, r9
- ldrh r2, [r2]
- add r4, r1, r2
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- bl ListMenuInit
- strh r0, [r5]
- mov r0, #0x0
- bl ScheduleBgCopyTilemapToVram
- ldrb r0, [r5]
- mov r1, #0x1
- bl bag_menu_print_cursor_
- mov r0, #0x0
- ldrsh r1, [r5, r0]
- lsl r0, r1, #0x2
- add r0, r0, r1
- lsl r0, r0, #0x3
- add r0, r0, r10
- ldr r3, =(BagListMenuMoveCursorFunc)
- str r3, [r0, #0x4]
- ldr r0, =(sListMenuItems)
- ldr r0, [r0]
- lsl r4, r4, #0x3
- add r4, r4, r0
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- mov r2, #0x0
- bl _call_via_r3
- mov r0, r8
- bl Task_RedrawArrowsAndReturnToBagMenuSelect
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6, pc}
- @@
- StopItemDescriptionPrint:
- ldr r1, =(sTextPrinters + 0x24)
- mov r0, #0x0
- strb r0, [r1, #0x1B]
- bx lr
- @
- RunTextPrinter1:
- push {r4, lr}
- ldr r4, =(sTextPrinters + 0x24)
- ldrb r0, [r4, #0x1B]
- cmp r0, #0x0
- beq RTP1_Ret
- mov r0, r4
- bl RenderFont
- cmp r0, #0x0
- beq RTP1_Zero
- cmp r0, #0x1
- beq RTP1_One
- cmp r0, #0x3
- bne RTP1_Ret
- ldr r3, [r4, #0x10]
- cmp r3, #0x0
- beq RTP1_Ret
- mov r1, r0
- mov r0, r4
- bl _call_via_r3
- b RTP1_Ret
- RTP1_One:
- mov r0, #0x0
- strb r0, [r4, #0x1B]
- b RTP1_Ret
- RTP1_Zero:
- ldrb r0, [r4, #0x4]
- mov r1, #2
- bl CopyWindowToVram
- RTP1_Ret:
- pop {r4, pc}
- @
- PrintRestOfItemDescription:
- push {r4-r5, lr}
- ldr r4, =(sTextPrinters + 0x24)
- ldrb r0, [r4, #0x1B]
- cmp r0, #0x0
- beq PROID_Ret
- mov r5, #0x0
- PROID_Loop:
- mov r0, r4
- bl RenderFont
- cmp r0, #0x0
- bne PROID_Break
- add r5, #0x1
- mov r0, #0x4
- lsl r0, #0x8
- cmp r0, r5
- bhi PROID_Loop
- PROID_Break:
- mov r0, #1
- mov r1, #2
- bl CopyWindowToVram
- mov r0, #0x0
- strb r0, [r4, #0x1B]
- PROID_Ret:
- pop {r4-r5, pc}
- @@
- _call_via_r3:
- bx r3
- CopyWindowToVram:
- ldr r2, =(0x08003F20|1)
- bx r2
- RenderFont:
- ldr r1, =(0x08002E7C|1)
- bx r1
- Task_RedrawArrowsAndReturnToBagMenuSelect:
- ldr r1, =(0x0810910C|1)
- bx r1
- bag_menu_print_cursor_:
- ldr r2, =(0x0810876C|1)
- bx r2
- ScheduleBgCopyTilemapToVram:
- ldr r1, =(0x080F67A4|1)
- bx r1
- ListMenuInit:
- ldr r3, =(0x08106FF8|1)
- bx r3
- Bag_BuildListMenuTemplate:
- ldr r1, =(0x0810842C|1)
- bx r1
- PocketCalculateInitialCursorPosAndItemsAbove:
- ldr r1, =(0x081089F4|1)
- bx r1
- Pocket_CalculateNItemsAndMaxShowed:
- ldr r1, =(0x08108DC8|1)
- bx r1
- DestroyListMenuTask:
- ldr r3, =(0x0810713C|1)
- bx r3
- CloseBagWindow:
- ldr r1, =(0x0810BA9C|1)
- bx r1
- HideBagWindow:
- ldr r1, =(0x0810BA3C|1)
- bx r1
- RemoveBagItem:
- ldr r2, =(0x0809A1D8|1)
- bx r2
- PlaySfx:
- ldr r1, =(0x080722CC|1)
- bx r1
- ClearWindowTilemap:
- ldr r1, =(0x080040B8|1)
- bx r1
- RunTasks:
- ldr r0, =(0x08077578|1)
- bx r0
- AnimateSprites:
- ldr r0, =(0x08006B5C|1)
- bx r0
- BuildOamBuffer:
- ldr r0, =(0x08006BA8|1)
- bx r0
- DoScheduledBgTilemapCopiesToVram:
- ldr r0, =(0x080F67B8|1)
- bx r0
- UpdatePaletteFade:
- ldr r0, =(0x080704D0|1)
- bx r0
- PutWindowTilemap:
- ldr r1, =(0x08003FA0|1)
- bx r1
- BagDestroyPocketScrollArrowPair:
- ldr r0, =(0x08108978|1)
- bx r0
- @
- .align 2, 0
- .pool
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement