Pack: ld hl, wOptions set NO_TEXT_SCROLL, [hl] call Function10aba .asm_10438 call JoyTextDelay ld a, [wce63] bit 7, a jr nz, .asm_1044a call Function10456 call DelayFrame jr .asm_10438 .asm_1044a ld a, [wce65] ld [wcfc8], a ld hl, wOptions res NO_TEXT_SCROLL, [hl] ret Function10456: ; 10456 (4:4456) ld a, [wce63] ld hl, .Jumptable ; $4460 call Function10c9b jp hl .Jumptable dw Pack_InitGFX dw Pack_InitItemsPocket dw Pack_ItemsPocketMenu dw Pack_InitBallsPocket dw Pack_BallsPocketMenu dw Pack_InitKeyItemsPocket dw Pack_KeyItemsPocketMenu dw Pack_InitTMHMPocket dw Pack_TMHMPocketMenu dw Pack_ExitNoScript dw Pack_ExitRunScript Pack_InitGFX: xor a ldh [hBGMapMode], a call Function10d70 ld a, [wce64] ld [wce63], a call Function10e5b ret Pack_InitItemsPocket: xor a ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret Pack_ItemsPocketMenu: ld hl, ItemsPocketMenuDataHeader call CopyMenuHeader ld a, [wcfca] ld [wMenuCursorBuffer], a ld a, [wcfcf] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfcf], a ld a, [wMenuCursorY] ld [wcfca], a .asm_104b7 ld b, $7 ld c, $3 call Function10cef ret c call Function105f5 ret Pack_InitKeyItemsPocket: ld a, $2 ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret Pack_KeyItemsPocketMenu: ld hl, KeyItemsPocketMenuDataHeader ; $4e9a call CopyMenuHeader ld a, [wcfcb] ld [wMenuCursorBuffer], a ld a, [wcfd0] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd0], a ld a, [wMenuCursorY] ld [wcfcb], a ld b, $3 ld c, $7 call Function10cef ret c call Function105f5 ret Pack_InitTMHMPocket: ld a, $3 ld [wce65], a call Function10e51 call Function10dd6 xor a ldh [hBGMapMode], a call Function10cca call Function10c96 ret Pack_TMHMPocketMenu: farcall Pack_TMHMPocketMenu_ ld b, $5 ld c, $1 call Function10cef ret c farcall _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_1053a ld hl, TMHMPocketSubmenuDataHeader_Give ; $456b ld de, TMHMPocketSubmenuJumptable_Give ; $4583 jr .asm_10540 .asm_1053a ld hl, TMHMPocketSubmenuDataHeader_NoGive ; $4554 ld de, TMHMPocketSubmenuJumptable_NoGive ; $4567 .asm_10540 push de call LoadMenuHeader call VerticalMenu call ExitMenu pop hl ret c ld a, [wMenuCursorY] dec a call Function10c9b jp hl TMHMPocketSubmenuDataHeader_NoGive: db $40 db 07, 00 db 11, 06 dw .MenuData2 db 1 .MenuData2: db $c0 db 2 db "USE@" db "QUIT@" TMHMPocketSubmenuJumptable_NoGive: dw UseTMorHM dw QuitItemSubmenu TMHMPocketSubmenuDataHeader_Give: db $40 db 05, 00 db 11, 06 dw .MenuData2 db 1 .MenuData2: db $c0 db 3 db "USE@" db "GIVE@" db "QUIT@" TMHMPocketSubmenuJumptable_Give: dw UseTMorHM dw GiveItem dw QuitItemSubmenu UseTMorHM: farcall AskTeachTMHM ret c farcall ChooseMonToLearnTMHM jr c, .asm_105a9 ld hl, wOptions ld a, [hl] push af res 4, [hl] farcall TeachTMHM pop af ld [wOptions], a .asm_105a9 xor a ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b ret Pack_InitBallsPocket: ld a, $1 ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret Pack_BallsPocketMenu: ld hl, BallsPocketMenuDataHeader ; $4eca call CopyMenuHeader ld a, [wcfcc] ld [wMenuCursorBuffer], a ld a, [wcfd1] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd1], a ld a, [wMenuCursorY] ld [wcfcc], a ld b, $1 ld c, $5 call Function10cef ret c call Function105f5 ret Function105f5: ; 105f5 (4:45f5) farcall _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_10629 farcall CheckSelectableItem ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_1061b farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_10637 jr .asm_10657 .asm_1061b farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_1063f jr .asm_1065f .asm_10629 farcall CheckSelectableItem ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_10647 jr .asm_1064f .asm_10637 ld hl, ItemSubmenuDataHeader_UseGiveTossSelQuit ; $4679 ld de, ItemSubmenuJumptable_UseGiveTossSelQuit ; $469a jr .asm_10665 .asm_1063f ld hl, ItemSubmenuDataHeader_UseGiveTossQuit ; $46a4 ld de, ItemSubmenuJumptable_UseGiveTossQuit ; $46c1 jr .asm_10665 .asm_10647 ld hl, ItemSubmenuDataHeader_UseQuit ; $46c9 ld de, ItemSubmenuJumptable_UseQuit ; $46dc jr .asm_10665 .asm_1064f ld hl, ItemSubmenuDataHeader_UseSelQuit ; $46e0 ld de, ItemSubmenuJumptable_UseSelQuit ; $46f7 jr .asm_10665 .asm_10657 ld hl, ItemSubmenuDataHeader_GiveTossSelQuit ; $46fd ld de, ItemSubmenuJumptable_GiveTossSelQuit ; $471a jr .asm_10665 .asm_1065f ld hl, ItemSubmenuDataHeader_GiveTossQuit ; $4722 ld de, ItemSubmenuJumptable_GiveTossQuit ; $473b .asm_10665 push de call LoadMenuHeader call VerticalMenu call ExitMenu pop hl ret c ld a, [wMenuCursorY] dec a call Function10c9b jp hl ItemSubmenuDataHeader_UseGiveTossSelQuit: db $40 ; flags db 02, 00 ; start coords db 12, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 5 ; items db "USE@" db "GIVE@" db "TOSS@" db "SEL@" db "QUIT@" ItemSubmenuJumptable_UseGiveTossSelQuit: dw UseItem dw GiveItem dw TossMenu dw RegisterItem dw QuitItemSubmenu ItemSubmenuDataHeader_UseGiveTossQuit: db $40 ; flags db 03, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 4 ; items db "USE@" db "GIVE@" db "TOSS@" db "QUIT@" ItemSubmenuJumptable_UseGiveTossQuit: dw UseItem dw GiveItem dw TossMenu dw QuitItemSubmenu ItemSubmenuDataHeader_UseQuit: db %01000000 ; flags db 07, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 2 ; items db "USE@" db "QUIT@" ItemSubmenuJumptable_UseQuit: dw UseItem dw QuitItemSubmenu ItemSubmenuDataHeader_UseSelQuit: db %01000000 ; flags db 05, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 3 ; items db "USE@" db "SEL@" db "QUIT@" ItemSubmenuJumptable_UseSelQuit: dw UseItem dw RegisterItem dw QuitItemSubmenu ItemSubmenuDataHeader_GiveTossSelQuit: db $40 ; flags db 03, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 4 ; items db "GIVE@" db "TOSS@" db "SEL@" db "QUIT@" ItemSubmenuJumptable_GiveTossSelQuit: dw GiveItem dw TossMenu dw RegisterItem dw QuitItemSubmenu ItemSubmenuDataHeader_GiveTossQuit: db $40 ; flags db 05, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 3 ; items db "GIVE@" db "TOSS@" db "QUIT@" ItemSubmenuJumptable_GiveTossQuit: dw GiveItem dw TossMenu dw QuitItemSubmenu UseItem: farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] ld hl, .Jumptable rst JumpTable ret .Jumptable dw .NotTheTime dw .NotTheTime dw .NotTheTime dw .NotTheTime dw .Current dw .Party dw .Field .NotTheTime ld hl, Text_ThisIsntTheTime call Function10cb9 ret .Current call DoItemEffect ret .Party ld a, [wPartyCount] and a jr z, .no_pokemon call DoItemEffect xor a ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b ret .no_pokemon ld hl, Text_YouDontHaveAPokemon call Function10cb9 ret .Field call DoItemEffect ld a, [wFieldMoveSucceeded] and a jr z, .NotTheTime ld a, $a ld [wce63], a ret TossMenu: ld hl, Text_ThrowAwayHowMany call Function10cb9 farcall SelectQuantityToToss ; 9:4f20 push af call ExitMenu pop af jr c, .asm_107cc call Function10e38 ld hl, Text_ConfirmThrowAway call MenuTextbox call YesNoBox push af call ExitMenu pop af jr c, .asm_107cc ld hl, wTMsHMsEnd ld a, [wCurItemQuantity] call TossItem call Function10e38 ld hl, Text_ThrewAway call Function10cb9 .asm_107cc ret Function107cd: ld a, [wce65] and a jr z, .asm_107e2 dec a jr z, .asm_107da dec a jr z, .asm_107ea ret .asm_107da xor a ld [wcfcc], a ld [wcfd1], a ret .asm_107e2 xor a ld [wcfca], a ld [wcfcf], a ret .asm_107ea xor a ld [wcfcb], a ld [wcfd0], a ret RegisterItem: farcall CheckSelectableItem ld a, [wItemAttributeParamBuffer] and a jr nz, .asm_10826 ld a, [wce65] rrca rrca and $c0 ld b, a ld a, [wCurItemQuantity] inc a and $3f or b ld [wWhichRegisteredItem], a ld a, [wCurItem] ld [wRegisteredItem], a call Function10e38 ld de, SFX_FULL_HEAL call WaitPlaySFX ld hl, Text_RegisteredTheItem call Function10cb9 ret .asm_10826 ld hl, Text_CantRegisterThatItem call Function10cb9 ret GiveItem: ld a, [wPartyCount] and a jp z, Function108b6 ld a, [wOptions] push af res 4, a ld [wOptions], a ld a, $8 ld [wPartyMenuActionText], a call ClearBGPalettes farcall LoadPartyMenuGFX farcall InitPartyMenuWithCancel farcall InitPartyMenuGFX .asm_10857 farcall WritePartyMenuTilemap farcall PrintPartyMenuText call WaitBGMap call SetPalettes call DelayFrame farcall PartyMenuSelect jr c, .asm_108a5 ld a, [wCurPartySpecies] cp EGG jr nz, .asm_10883 ld hl, Text_AnEggCantHoldAnItem call PrintText jr .asm_10857 .asm_10883 ld a, [wce63] push af ld a, [wce64] push af call GetCurNick ld hl, wStringBuffer1 ld de, wMonOrItemNameBuffer ld bc, $b call CopyBytes call TryGiveItemToPartymon pop af ld [wce64], a pop af ld [wce63], a .asm_108a5 pop af ld [wOptions], a xor a ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b ret Function108b6: ; 108b6 (4:48b6) ld hl, Text_YouDontHaveAPokemon ; $4f13 call Function10cb9 ret Text_AnEggCantHoldAnItem: text_far Text_AnEGGCantHoldAnItem db "@" QuitItemSubmenu: ret BattlePack: ld hl, wOptions set 4, [hl] call Function10aba .asm_108cb call JoyTextDelay ld a, [wce63] bit 7, a jr nz, .asm_108dd call Function108e9 call DelayFrame jr .asm_108cb .asm_108dd ld a, [wce65] ld [wcfc8], a ld hl, wOptions res 4, [hl] ret Function108e9: ; 108e9 (4:48e9) ld a, [wce63] ld hl, .Jumptable call Function10c9b jp hl .Jumptable dw BattlePack_InitGFX dw BattlePack_InitItemsPocket dw BattlePack_ItemsPocketMenu dw BattlePack_InitBallsPocket dw BattlePack_BallsPocketMenu dw BattlePack_InitKeyItemsPocket dw BattlePack_KeyItemsPocketMenu dw BattlePack_InitTMHMPocket dw BattlePack_TMHMPocketMenu dw Pack_ExitNoScript dw Pack_ExitRunScript BattlePack_InitGFX: xor a ldh [hBGMapMode], a call Function10d70 ld a, [wce64] ld [wce63], a call Function10e5b ret BattlePack_InitItemsPocket: xor a ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret BattlePack_ItemsPocketMenu: ld hl, $4e6a call CopyMenuHeader ld a, [wcfca] ld [wMenuCursorBuffer], a ld a, [wcfcf] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfcf], a ld a, [wMenuCursorY] ld [wcfca], a ld b, $7 ld c, $3 call Function10cef ret c call Function10a03 ret BattlePack_InitKeyItemsPocket: ld a, $2 ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret BattlePack_KeyItemsPocketMenu: ld hl, $4e9a call CopyMenuHeader ld a, [wcfcb] ld [wMenuCursorBuffer], a ld a, [wcfd0] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd0], a ld a, [wMenuCursorY] ld [wcfcb], a ld b, $3 ld c, $7 call Function10cef ret c call Function10a03 ret BattlePack_InitTMHMPocket: ld a, $3 ld [wce65], a call Function10e51 call Function10dd6 xor a ldh [hBGMapMode], a call Function10cca ld hl, Text_PackEmptyString call Function10cb9 call Function10c96 ret BattlePack_TMHMPocketMenu: farcall Pack_TMHMPocketMenu_ ; b:457a ld b, $5 ld c, $1 call Function10cef ret c xor a call Function10a0c ret BattlePack_InitBallsPocket: ld a, $1 ld [wce65], a call Function10e51 call Function10dd6 call Function10cca call Function10c96 ret BattlePack_BallsPocketMenu: ld hl, $4eca call CopyMenuHeader ld a, [wcfcc] ld [wMenuCursorBuffer], a ld a, [wcfd1] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd1], a ld a, [wMenuCursorY] ld [wcfcc], a ld b, $1 ld c, $5 call Function10cef ret c call Function10a03 ret Function10a03: ; 10a03 (4:4a03) farcall CheckItemContext ld a, [wItemAttributeParamBuffer] Function10a0c: ; 10a0c (4:4a0c) and a jr z, .asm_10a17 ld hl, BattlePackUseQuitMenuDataHeader ld de, BattlePackUseQuitJumptable jr .asm_10a1d .asm_10a17 ld hl, BattlePackQuitMenuDataHeader ld de, BattlePackQuitJumptable .asm_10a1d push de call LoadMenuHeader call VerticalMenu call ExitMenu pop hl ret c ld a, [wMenuCursorY] dec a call Function10c9b jp hl BattlePackUseQuitMenuDataHeader: db $40 ; flags db 07, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 2 ; items db "USE@" db "QUIT@" BattlePackUseQuitJumptable: dw BattlePack_UseItem dw BattlePack_QuitSubmenu BattlePackQuitMenuDataHeader: db $40 ; flags db 09, 00 ; start coords db 11, 06 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $c0 ; flags db 1 ; items db "QUIT@" BattlePackQuitJumptable: dw BattlePack_QuitSubmenu BattlePack_UseItem: farcall CheckItemContext ld a, [wItemAttributeParamBuffer] ld hl, $4a67 rst JumpTable ret dw Function10a75 dw Function10a75 dw Function10a75 dw Function10a75 dw Function10a7c dw Function10a86 dw Function10aa1 Function10a75: ld hl, Text_ThisIsntTheTime call Function10cb9 ret Function10a7c: call DoItemEffect ld a, [wFieldMoveSucceeded] and a jr nz, asm_10a9c ret Function10a86: call DoItemEffect ld a, [wFieldMoveSucceeded] and a jr nz, asm_10aae xor a ldh [hBGMapMode], a call Function10d70 call Function10cca call Function10e5b ret asm_10a9c call ClearBGPalettes jr asm_10aae Function10aa1 call DoItemEffect ld a, [wFieldMoveSucceeded] and a jr z, Function10a75 cp $2 jr z, asm_10ab4 asm_10aae ld a, $a ld [wce63], a ret asm_10ab4 xor a ld [wFieldMoveSucceeded], a ret BattlePack_QuitSubmenu: ret Function10aba: ; 10aba (4:4aba) xor a ld [wce63], a ld a, [wcfc8] and $3 ld [wCurPocket], a inc a add a dec a ld [wce64], a xor a ld [wPackUsedItem], a xor a ld [wSwitchItem], a ret DepositSellInitPackBuffers: ; 10ad5 (4:4ad5) xor a ldh [hBGMapMode], a ld [wce63], a ld [wce64], a ld [wCurPocket], a ld [wPackUsedItem], a ld [wSwitchItem], a call Function10d70 call Function10e5b ret DepositSellPack .loop call Function10af7 call Function10b9f jr c, .loop ret Function10af7: ; 10af7 (4:4af7) ld a, [wce63] ld hl, .Jumptable call Function10c9b jp hl .Jumptable dw DepositOrSell_ItemPocket dw DepositOrSell_BallsPocket dw DepositOrSell_KeyItemsPocket dw DepositOrSell_TMHMPocket DepositOrSell_ItemPocket: xor a call Function10b92 ld hl, PC_Mart_ItemsPocketMenuDataHeader ; $4e82 call CopyMenuHeader ld a, [wcfca] ld [wMenuCursorBuffer], a ld a, [wcfcf] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfcf], a ld a, [wMenuCursorY] ld [wcfca], a ret DepositOrSell_KeyItemsPocket: ld a, $2 call Function10b92 ld hl, PC_Mart_KeyItemsPocketMenuDataHeader ; $4eb2 call CopyMenuHeader ld a, [wcfcb] ld [wMenuCursorBuffer], a ld a, [wcfd0] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd0], a ld a, [wMenuCursorY] ld [wcfcb], a ret DepositOrSell_TMHMPocket: ld a, $3 call Function10b92 call Function10cca farcall Pack_TMHMPocketMenu_ ; b:457a ld a, [wCurItem] ld [wCurItem], a ret DepositOrSell_BallsPocket: ld a, $1 call Function10b92 ld hl, PC_Mart_BallsPocketMenuDataHeader ; $4ee2 call CopyMenuHeader ld a, [wcfcc] ld [wMenuCursorBuffer], a ld a, [wcfd1] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] ld [wcfd1], a ld a, [wMenuCursorY] ld [wcfcc], a ret Function10b92: ; 10b92 (4:4b92) ld [wce65], a call Function10e51 call Function10dd6 call Function10cca ret Function10b9f: ; 10b9f (4:4b9f) ld hl, wMenuJoypad ld a, [hl] and $1 jr nz, .asm_10bb8 ld a, [hl] and $2 jr nz, .asm_10bbf ld a, [hl] and $20 jr nz, .asm_10bc5 ld a, [hl] and $10 jr nz, .asm_10bd8 scf ret .asm_10bb8 ld a, $1 ld [wce66], a and a ret .asm_10bbf xor a ld [wce66], a and a ret .asm_10bc5 ld a, [wce63] dec a and $3 ld [wce63], a push de ld de, $62 call PlaySFX pop de scf ret .asm_10bd8 ld a, [wce63] inc a and $3 ld [wce63], a push de ld de, $62 call PlaySFX pop de scf ret TutorialPack: call DepositSellInitPackBuffers ld a, [wInputType] or a jr z, .asm_10bfa farcall DudeAutoInput_RightA ; 70:4dee .asm_10bfa call Function10c07 call Function10b9f jr c, .asm_10bfa xor a ld [wce66], a ret Function10c07: ; 10c07 (4:4c07) ld a, [wce63] ld hl, $4c11 call Function10c9b jp hl .Jumptable dw TutorialItems dw TutorialBalls dw TutorialKeyItems dw TutorialTMHM TutorialItems: xor a ld hl, TutorialItemsMenuDataHeader jr asm_10c8a TutorialItemsMenuDataHeader: db $40 ; flags db 01, 07 ; start coords db 11, 19 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $ae ; flags db 5, 8 ; rows, columns db 2 ; horizontal spacing dbw 0, wDudeNumItems dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription TutorialKeyItems: ld a, $2 ld hl, TutorialKeyItemsMenuDataHeader jr asm_10c8a TutorialKeyItemsMenuDataHeader: db $40 ; flags db 01, 07 ; start coords db 11, 19 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $ae ; flags db 5, 8 ; rows, columns db 1 ; horizontal spacing dbw 0, wDudeNumKeyItems dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription TutorialTMHM: ld a, $3 call Function10b92 call Function10cca farcall Pack_TMHMPocketMenu_ ld a, [wCurItem] ld [wCurItem], a ret TutorialBalls: ld a, $1 ld hl, TutorialBallsMenuDataHeader jr asm_10c8a TutorialBallsMenuDataHeader: db $40 ; flags db 01, 07 ; start coords db 11, 19 ; end coords dw .MenuData2 db 1 ; default option .MenuData2: db $ae ; flags db 5, 8 ; rows, columns db 2 ; horizontal spacing dbw 0, wDudeNumBalls dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription asm_10c8a push hl call Function10b92 pop hl call CopyMenuHeader call ScrollingMenu ret Function10c96: ; 10c96 (4:4c96) ld hl, wce63 inc [hl] ret Function10c9b: ; 10c9b (4:4c9b) ld e, a ld d, $0 add hl, de add hl, de ld a, [hli] ld h, [hl] ld l, a ret Pack_ExitNoScript: ld hl, wce63 set 7, [hl] xor a ld [wce66], a ret Pack_ExitRunScript: ld hl, wce63 set 7, [hl] ld a, $1 ld [wce66], a ret Function10cb9: ; 10cb9 (4:4cb9) ld a, [wOptions] push af set 4, a ld [wOptions], a call PrintText pop af ld [wOptions], a ret Function10cca: ; 10cca (4:4cca) call WaitBGMap Function10ccd: ; 10ccd (4:4ccd) ld a, [wce65] and $3 ld e, a ld d, $0 ld hl, PackGFXPointers add hl, de add hl, de ld a, [hli] ld e, a ld d, [hl] ld hl, $9500 lb bc, BANK(PackGFX), 15 call Request2bpp ret PackGFXPointers: dw PackGFX + $f0 * 1 dw PackGFX + $f0 * 3 dw PackGFX + $f0 * 0 dw PackGFX + $f0 * 2 Function10cef: ; 10cef (4:4cef) ld hl, wMenuJoypad ld a, [wSwitchItem] and a jr nz, .asm_10d4c ld a, [hl] and $1 jr nz, .asm_10d13 ld a, [hl] and $2 jr nz, .asm_10d15 ld a, [hl] and $20 jr nz, .asm_10d1c ld a, [hl] and $10 jr nz, .asm_10d2d ld a, [hl] and $4 jr nz, .asm_10d3e scf ret .asm_10d13 and a ret .asm_10d15 ld a, $9 ld [wce63], a scf ret .asm_10d1c ld a, b ld [wce63], a ld [wce64], a push de ld de, SFX_SWITCH_POCKETS call PlaySFX pop de scf ret .asm_10d2d ld a, c ld [wce63], a ld [wce64], a push de ld de, SFX_SWITCH_POCKETS call PlaySFX pop de scf ret .asm_10d3e farcall SwitchItemsInBag ; 9:4834 ld hl, Text_MoveItemWhere call Function10cb9 scf ret .asm_10d4c ld a, [hl] and $5 jr nz, .asm_10d58 ld a, [hl] and $2 jr nz, .asm_10d6a scf ret .asm_10d58 farcall SwitchItemsInBag ; 9:4834 ld de, SFX_SWITCH_POKEMON call WaitPlaySFX ld de, SFX_SWITCH_POKEMON call WaitPlaySFX .asm_10d6a xor a ld [wSwitchItem], a scf ret Function10d70: ; 10d70 (4:4d70) call ClearBGPalettes call ClearTilemap call ClearSprites call DisableLCD ld hl, PackMenuGFX ld de, $9000 ld bc, $600 ld a, BANK(PackMenuGFX) call FarCopyBytes ; same bank hlcoord 0, 1 ld bc, 11 * SCREEN_WIDTH ld a, $24 call ByteFill hlcoord 5, 1 lb bc, 11, 15 call ClearBox hlcoord 0, 0 ld a, $28 ld c, $14 .asm_10da5 ld [hli], a inc a dec c jr nz, .asm_10da5 call Function10dd6 call Function10dc0 hlcoord 0, 12 ld bc, IncGradGBPalTable_13 call Textbox call EnableLCD call Function10ccd ret Function10dc0: ; 10dc0 (4:4dc0) hlcoord 0, 3 ld a, $50 ld de, $f ld b, $3 .asm_10dca ld c, $5 .asm_10dcc ld [hli], a inc a dec c jr nz, .asm_10dcc add hl, de dec b jr nz, .asm_10dca ret Function10dd6: ; 10dd6 (4:4dd6) ld a, [wce65] ld d, a swap a sub d ld d, $0 ld e, a ld hl, .tilemap add hl, de ld d, h ld e, l hlcoord 0, 7 ld c, $3 .asm_10deb ld b, $5 .asm_10ded ld a, [de] inc de ld [hli], a dec b jr nz, .asm_10ded ld a, c ld c, $f add hl, bc ld c, a dec c jr nz, .asm_10deb ret .tilemap db $00, $04, $04, $04, $01 ; top border db $06, $07, $08, $09, $0a ; Items db $02, $05, $05, $05, $03 ; bottom border db $00, $04, $04, $04, $01 ; top border db $15, $16, $17, $18, $19 ; Balls db $02, $05, $05, $05, $03 ; bottom border db $00, $04, $04, $04, $01 ; top border db $0b, $0c, $0d, $0e, $0f ; Key Items db $02, $05, $05, $05, $03 ; bottom border db $00, $04, $04, $04, $01 ; top border db $10, $11, $12, $13, $14 ; TM/HM db $02, $05, $05, $05, $03 ; bottom border Function10e38: ; 10e38 (4:4e38) ld a, [wCurItem] ld [wd151], a call GetItemName call CopyName1 ret Pack_ClearTilemap: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " call ByteFill ret Function10e51: ; 10e51 (4:4e51) hlcoord 5, 2 lb bc, 10, 15 call ClearBox ret Function10e5b: ; 10e5b (4:4e5b) call WaitBGMap ld b, $14 call GetSGBLayout call SetPalettes call DelayFrame ret ItemsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $ae db 5, 8 db 2 dbw 0, wNumItems dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb PC_Mart_ItemsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $2e db 5, 8 db 2 dbw 0, wNumItems dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb KeyItemsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $ae db 5, 8 db 1 dbw 0, wNumKeyItems dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb PC_Mart_KeyItemsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $2e db 5, 8 db 1 dbw 0, wNumKeyItems dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb BallsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $ae db 5, 8 db 2 dbw 0, wNumBalls dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb PC_Mart_BallsPocketMenuDataHeader: db $40 db 01, 07 db 11, 19 dw .MenuData2 db 1 .MenuData2: db $2e db 5, 8 db 2 dbw 0, wNumBalls dba PlaceMenuItemName ; 9:49dc dba PlaceMenuItemQuantity ; 9:49eb dba UpdateItemDescription ; 9:43eb Text_PackNoItems: text_far Text_PackNoItems_ db "@" Text_ThrowAwayHowMany: text_far Text_ThrowAwayHowMany_ db "@" Text_ConfirmThrowAway: text_far Text_ConfirmThrowAway_ db "@" Text_ThrewAway: text_far Text_ThrewAway_ db "@" Text_ThisIsntTheTime: text_far Text_ThisIsntTheTime_ db "@" Text_YouDontHaveAPokemon: text_far Text_YouDontHaveAMon db "@" Text_RegisteredTheItem: text_far Text_RegisteredTheItem_ db "@" Text_CantRegisterThatItem: text_far Text_CantRegisterThatItem_ db "@" Text_MoveItemWhere: text_far Text_MoveItemWhere_ db "@" Text_PackEmptyString: text_far Text_PackEmptyString_ db "@" Text_CantUseItInABattle: text_far Text_YouCantUseItInABattle db "@" PackMenuGFX: INCBIN "gfx/misc/pack_menu.2bpp" PackGFX: INCBIN "gfx/misc/pack.2bpp"