diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-01-17 15:11:46 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-01-17 15:11:46 -0500 |
commit | f6e050cf354a6ca3f5ea3a57496cc0ae2aac49dd (patch) | |
tree | ec6e828cd4852ed29f1dee0b8310fa51136a1cb0 | |
parent | 055e5d2bbff31a98bcdffec0d7392e7ce77bcd46 (diff) |
through sub_81081AC
-rw-r--r-- | asm/item_menu.s | 512 | ||||
-rw-r--r-- | include/bag.h | 2 | ||||
-rw-r--r-- | include/battle_controllers.h | 1 | ||||
-rw-r--r-- | include/item_menu.h | 4 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/item_menu.c | 281 |
6 files changed, 287 insertions, 514 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s index 704d8d5d8..f3af32b36 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5,518 +5,6 @@ .text - thumb_func_start GoToBagMenu -GoToBagMenu: @ 8107DB4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_81081AC - ldr r5, _08107DE4 @ =gUnknown_203AD10 - movs r0, 0x14 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08107DE8 - adds r0, r4, 0 - bl SetMainCallback2 - b _08107E9A - .align 2, 0 -_08107DE4: .4byte gUnknown_203AD10 -_08107DE8: - cmp r6, 0xB - beq _08107DF0 - ldr r0, _08107E38 @ =gUnknown_203ACFC - strb r6, [r0, 0x4] -_08107DF0: - cmp r4, 0 - beq _08107DF8 - ldr r0, _08107E38 @ =gUnknown_203ACFC - str r4, [r0] -_08107DF8: - ldr r1, [r5] - movs r0, 0 - str r0, [r1] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x31 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x5] - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x5] - ldr r1, [r5] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - ldr r1, [r5] - strb r0, [r1, 0x9] - cmp r6, 0x3 - bne _08107E3C - ldr r2, [r5] - ldrb r1, [r2, 0x5] - subs r0, 0xF - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - b _08107E5A - .align 2, 0 -_08107E38: .4byte gUnknown_203ACFC -_08107E3C: - cmp r7, 0x6 - bne _08107E50 - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - b _08107E5A -_08107E50: - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 -_08107E5A: - strb r0, [r2, 0x5] - movs r1, 0 - ldr r4, _08107EA4 @ =gTextFlags - ldr r5, _08107EA8 @ =gSpecialVar_ItemId - ldr r6, _08107EAC @ =sub_8107F10 - ldr r3, _08107EB0 @ =gUnknown_203AD10 - movs r2, 0 -_08107E68: - ldr r0, [r3] - adds r0, 0x10 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _08107E68 - mov r0, r8 - cmp r0, 0x2 - bhi _08107E86 - ldr r0, _08107EB4 @ =gUnknown_203ACFC - mov r1, r8 - strh r1, [r0, 0x6] -_08107E86: - ldrb r0, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0 - strh r0, [r5] - adds r0, r6, 0 - bl SetMainCallback2 -_08107E9A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08107EA4: .4byte gTextFlags -_08107EA8: .4byte gSpecialVar_ItemId -_08107EAC: .4byte sub_8107F10 -_08107EB0: .4byte gUnknown_203AD10 -_08107EB4: .4byte gUnknown_203ACFC - thumb_func_end GoToBagMenu - - thumb_func_start CB2_BagMenuFromStartMenu -CB2_BagMenuFromStartMenu: @ 8107EB8 - push {lr} - ldr r2, _08107EC8 @ =CB2_ReturnToFieldWithOpenMenu - movs r0, 0 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_08107EC8: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end CB2_BagMenuFromStartMenu - - thumb_func_start sub_8107ECC -sub_8107ECC: @ 8107ECC - push {lr} - ldr r2, _08107EDC @ =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x5 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_08107EDC: .4byte SetCB2ToReshowScreenAfterMenu2 - thumb_func_end sub_8107ECC - - thumb_func_start sub_8107EE0 -sub_8107EE0: @ 8107EE0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl DoScheduledBgTilemapCopiesToVram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8107EE0 - - thumb_func_start sub_8107EFC -sub_8107EFC: @ 8107EFC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8107EFC - - thumb_func_start sub_8107F10 -sub_8107F10: @ 8107F10 - push {lr} -_08107F12: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08107F36 - bl sub_8107F3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08107F36 - bl MenuHelpers_LinkSomething - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08107F12 -_08107F36: - pop {r0} - bx r0 - thumb_func_end sub_8107F10 - - thumb_func_start sub_8107F3C -sub_8107F3C: @ 8107F3C - push {r4,r5,lr} - ldr r0, _08107F58 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x13 - bls _08107F4E - b _0810811C -_08107F4E: - lsls r0, 2 - ldr r1, _08107F5C @ =_08107F60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08107F58: .4byte gMain -_08107F5C: .4byte _08107F60 - .align 2, 0 -_08107F60: - .4byte _08107FB0 - .4byte _08107FBA - .4byte _08107FC0 - .4byte _08107FC6 - .4byte _08107FD8 - .4byte _08107FDE - .4byte _08107FE4 - .4byte _08107FF6 - .4byte _08108010 - .4byte _08108020 - .4byte _08108026 - .4byte _08108034 - .4byte _08108046 - .4byte _08108054 - .4byte _0810806E - .4byte _081080B8 - .4byte _081080C8 - .4byte _081080D2 - .4byte _081080D8 - .4byte _081080DE -_08107FB0: - bl SetVBlankHBlankCallbacksToNull - bl ClearScheduledBgCopiesToVram - b _08108104 -_08107FBA: - bl ScanlineEffect_Stop - b _08108104 -_08107FC0: - bl FreeAllSpritePalettes - b _08108104 -_08107FC6: - bl ResetPaletteFade - ldr r2, _08107FD4 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08108102 - .align 2, 0 -_08107FD4: .4byte gPaletteFade -_08107FD8: - bl ResetSpriteData - b _08108104 -_08107FDE: - bl ResetItemMenuIconState - b _08108104 -_08107FE4: - bl MenuHelpers_LinkSomething - lsls r0, 24 - cmp r0, 0 - beq _08107FF0 - b _08108104 -_08107FF0: - bl ResetTasks - b _08108104 -_08107FF6: - bl sub_81081D0 - lsls r0, 24 - cmp r0, 0 - beq _0810803E - ldr r0, _0810800C @ =gUnknown_203AD10 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x10] - b _08108104 - .align 2, 0 -_0810800C: .4byte gUnknown_203AD10 -_08108010: - bl sub_8108240 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810801E - b _08108134 -_0810801E: - b _08108104 -_08108020: - bl sub_810B858 - b _08108104 -_08108026: - bl sub_8108E54 - bl sub_8108A68 - bl sub_8108A84 - b _08108104 -_08108034: - bl sub_81083F4 - lsls r0, 24 - cmp r0, 0 - bne _08108104 -_0810803E: - bl sub_810813C - movs r0, 0x1 - b _08108136 -_08108046: - ldr r0, _08108050 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - bl sub_810842C - b _08108104 - .align 2, 0 -_08108050: .4byte gUnknown_203ACFC -_08108054: - ldr r0, _08108064 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - beq _08108068 - bl sub_81087EC - b _08108104 - .align 2, 0 -_08108064: .4byte gUnknown_203ACFC -_08108068: - bl sub_810B994 - b _08108104 -_0810806E: - ldr r4, _081080AC @ =gUnknown_203ACFC - ldrb r0, [r4, 0x4] - bl sub_8108388 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _081080B0 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r1, r4, 0 - adds r1, 0xE - adds r1, r2, r1 - ldrh r1, [r1] - adds r4, 0x8 - adds r2, r4 - ldrh r2, [r2] - bl ListMenuInit - ldr r2, _081080B4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xE] - strh r2, [r1, 0x18] - b _08108104 - .align 2, 0 -_081080AC: .4byte gUnknown_203ACFC -_081080B0: .4byte gMultiuseListMenuTemplate -_081080B4: .4byte gTasks -_081080B8: - ldr r0, _081080C4 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - bl sub_80984FC - b _08108104 - .align 2, 0 -_081080C4: .4byte gUnknown_203ACFC -_081080C8: - bl sub_8108888 - bl sub_81088D8 - b _08108104 -_081080D2: - bl sub_80985E4 - b _08108104 -_081080D8: - bl sub_8108C10 - b _08108104 -_081080DE: - ldr r0, _081080F0 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - bne _081080F4 - movs r0, 0x1D - bl HelpSystem_SetSomeVariable2 - b _081080FA - .align 2, 0 -_081080F0: .4byte gUnknown_203ACFC -_081080F4: - movs r0, 0x9 - bl HelpSystem_SetSomeVariable2 -_081080FA: - ldr r2, _08108114 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08108102: - strb r0, [r2, 0x8] -_08108104: - ldr r1, _08108118 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08108134 - .align 2, 0 -_08108114: .4byte gPaletteFade -_08108118: .4byte gMain -_0810811C: - ldr r0, _0810812C @ =sub_8107EFC - bl SetVBlankCallback - ldr r0, _08108130 @ =sub_8107EE0 - bl SetMainCallback2 - movs r0, 0x1 - b _08108136 - .align 2, 0 -_0810812C: .4byte sub_8107EFC -_08108130: .4byte sub_8107EE0 -_08108134: - movs r0, 0 -_08108136: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8107F3C - - thumb_func_start sub_810813C -sub_810813C: @ 810813C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810816C @ =sub_8108178 - movs r1, 0 - bl CreateTask - ldr r0, _08108170 @ =sub_8107EFC - bl SetVBlankCallback - ldr r0, _08108174 @ =sub_8107EE0 - bl SetMainCallback2 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810816C: .4byte sub_8108178 -_08108170: .4byte sub_8107EFC -_08108174: .4byte sub_8107EE0 - thumb_func_end sub_810813C - - thumb_func_start sub_8108178 -sub_8108178: @ 8108178 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081081A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810819C - ldr r0, _081081A8 @ =gUnknown_203ACFC - ldr r0, [r0] - bl SetMainCallback2 - bl sub_8108B04 - adds r0, r4, 0 - bl DestroyTask -_0810819C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081081A4: .4byte gPaletteFade -_081081A8: .4byte gUnknown_203ACFC - thumb_func_end sub_8108178 - - thumb_func_start sub_81081AC -sub_81081AC: @ 81081AC - ldr r0, _081081C0 @ =gUnknown_203AD10 - movs r1, 0 - str r1, [r0] - ldr r0, _081081C4 @ =gUnknown_203AD14 - str r1, [r0] - ldr r0, _081081C8 @ =gUnknown_203AD18 - str r1, [r0] - ldr r0, _081081CC @ =gUnknown_203AD1C - str r1, [r0] - bx lr - .align 2, 0 -_081081C0: .4byte gUnknown_203AD10 -_081081C4: .4byte gUnknown_203AD14 -_081081C8: .4byte gUnknown_203AD18 -_081081CC: .4byte gUnknown_203AD1C - thumb_func_end sub_81081AC - thumb_func_start sub_81081D0 sub_81081D0: @ 81081D0 push {r4,r5,lr} diff --git a/include/bag.h b/include/bag.h index f82531778..8c085a211 100644 --- a/include/bag.h +++ b/include/bag.h @@ -1,6 +1,8 @@ #ifndef GUARD_BAG_H #define GUARD_BAG_H +#include "menu_helpers.h" + void sub_810B858(void); void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx); void sub_810B958(const u8 * str); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 06a0e2957..412856353 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -2,6 +2,7 @@ #define GUARD_BATTLE_CONTROLLERS_H #include "global.h" +#include "battle.h" enum { diff --git a/include/item_menu.h b/include/item_menu.h index 187674e83..d141c6601 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -14,8 +14,8 @@ struct BagStruct u8 location; u8 pocket; u16 unk6; - u8 cursorPosition[6]; - u8 scrollPosition[6]; + u16 itemsAbove[3]; + u16 cursorPos[3]; }; extern struct BagStruct gUnknown_203ACFC; diff --git a/ld_script.txt b/ld_script.txt index f07e480a2..feca781e7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -232,6 +232,7 @@ SECTIONS { src/pokedex_screen.o(.text); asm/pokedex_screen.o(.text); src/list_menu.o(.text); + src/item_menu.o(.text); asm/item_menu.o(.text); src/save_location.o(.text); src/bag.o(.text); diff --git a/src/item_menu.c b/src/item_menu.c new file mode 100644 index 000000000..9128d0856 --- /dev/null +++ b/src/item_menu.c @@ -0,0 +1,281 @@ +#include "global.h" +#include "bag.h" +#include "battle_controllers.h" +#include "bg.h" +#include "help_system.h" +#include "item_menu.h" +#include "item_menu_icons.h" +#include "list_menu.h" +#include "malloc.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "scanline_effect.h" +#include "text.h" +#include "constants/items.h" + +struct BagMenuAlloc +{ + u32 field_00; + u8 field_04; + u8 field_05_0:4; + u8 field_05_4:2; + u8 field_05_6:2; + u16 field_06; + u8 field_08; + u8 field_09; + u8 filler_0A[6]; + u8 field_10[4]; +}; + +EWRAM_DATA struct BagStruct gUnknown_203ACFC = {}; +EWRAM_DATA struct BagMenuAlloc * gUnknown_203AD10 = NULL; +EWRAM_DATA void * gUnknown_203AD14 = NULL; +EWRAM_DATA struct ListMenuItem * gUnknown_203AD18 = NULL; +EWRAM_DATA u8 (*gUnknown_203AD1C)[20] = NULL; + +void sub_8107F10(void); +bool8 sub_8107F3C(void); +void sub_810813C(void); +void sub_8108178(u8 taskId); +void sub_81081AC(void); +bool8 sub_81081D0(void); +bool8 sub_8108240(void); +u8 sub_8108388(u8 location); +bool8 sub_81083F4(void); +void sub_810842C(u8 a0); +void sub_81087EC(void); +void sub_8108888(void); +void sub_81088D8(void); +void sub_8108A68(void); +void sub_8108A84(void); +void sub_8108B04(void); +void sub_8108C10(void); +void sub_8108E54(void); + +void GoToBagMenu(u8 location, u8 a1, MainCallback a2) +{ + u8 i; + + sub_81081AC(); + gUnknown_203AD10 = Alloc(sizeof(struct BagMenuAlloc)); + if (gUnknown_203AD10 == NULL) + SetMainCallback2(a2); + else + { + if (location != 11) + gUnknown_203ACFC.location = location; + if (a2 != NULL) + gUnknown_203ACFC.bagCallback = a2; + gUnknown_203AD10->field_00 = 0; + gUnknown_203AD10->field_04 = 0xFF; + gUnknown_203AD10->field_05_4 = 0; + gUnknown_203AD10->field_05_6 = 0; + gUnknown_203AD10->field_08 = 0xFF; + gUnknown_203AD10->field_09 = 0xFF; + if (location == 3) + gUnknown_203AD10->field_05_0 = 1; + else if (location == 6) + gUnknown_203AD10->field_05_0 = 2; + else + gUnknown_203AD10->field_05_0 = 0; + for (i = 0; i < 4; i++) + { + gUnknown_203AD10->field_10[i] = 0; + } + if (a1 == 0 || a1 == 1 || a1 == 2) + gUnknown_203ACFC.unk6 = a1; + gTextFlags.autoScroll = FALSE; + gSpecialVar_ItemId = ITEM_NONE; + SetMainCallback2(sub_8107F10); + } +} + +void CB2_BagMenuFromStartMenu(void) +{ + GoToBagMenu(0, 3, CB2_ReturnToFieldWithOpenMenu); +} + +void sub_8107ECC(void) +{ + GoToBagMenu(5, 3, SetCB2ToReshowScreenAfterMenu2); +} + +void sub_8107EE0(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + DoScheduledBgTilemapCopiesToVram(); + UpdatePaletteFade(); +} + +void sub_8107EFC(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_8107F10(void) +{ + while (1) + { + if ((u8)sub_80BF72C() == TRUE) + break; + if (sub_8107F3C() == TRUE) + break; + if (MenuHelpers_LinkSomething() == TRUE) + break; + } +} + +bool8 sub_8107F3C(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + ClearScheduledBgCopiesToVram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + ResetItemMenuIconState(); + gMain.state++; + break; + case 6: + if (!MenuHelpers_LinkSomething()) + { + ResetTasks(); + } + gMain.state++; + break; + case 7: + if (sub_81081D0()) + { + gUnknown_203AD10->field_10[0] = 0; + gMain.state++; + } + else + { + sub_810813C(); + return TRUE; + } + break; + case 8: + if (sub_8108240() == TRUE) + gMain.state++; + break; + case 9: + sub_810B858(); + gMain.state++; + break; + case 10: + sub_8108E54(); + sub_8108A68(); + sub_8108A84(); + gMain.state++; + break; + case 11: + if (!sub_81083F4()) + { + sub_810813C(); + return TRUE; + } + gMain.state++; + break; + case 12: + sub_810842C(gUnknown_203ACFC.unk6); + gMain.state++; + break; + case 13: + if (gUnknown_203ACFC.location != 3) + sub_81087EC(); + else + sub_810B994(); + gMain.state++; + break; + case 14: + taskId = sub_8108388(gUnknown_203ACFC.location); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ACFC.cursorPos[gUnknown_203ACFC.unk6], gUnknown_203ACFC.itemsAbove[gUnknown_203ACFC.unk6]); + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[8] = 0; + gMain.state++; + break; + case 15: + sub_80984FC(gUnknown_203ACFC.unk6); + gMain.state++; + break; + case 16: + sub_8108888(); + sub_81088D8(); + gMain.state++; + break; + case 17: + sub_80985E4(); + gMain.state++; + break; + case 18: + sub_8108C10(); + gMain.state++; + break; + case 19: + if (gUnknown_203ACFC.location == 3) + HelpSystem_SetSomeVariable2(29); + else + HelpSystem_SetSomeVariable2(9); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + default: + SetVBlankCallback(sub_8107EFC); + SetMainCallback2(sub_8107EE0); + return TRUE; + } + return FALSE; +} + +void sub_810813C(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + CreateTask(sub_8108178, 0); + SetVBlankCallback(sub_8107EFC); + SetMainCallback2(sub_8107EE0); +} + +void sub_8108178(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(gUnknown_203ACFC.bagCallback); + sub_8108B04(); + DestroyTask(taskId); + } +} + +void sub_81081AC(void) +{ + gUnknown_203AD10 = NULL; + gUnknown_203AD14 = NULL; + gUnknown_203AD18 = NULL; + gUnknown_203AD1C = NULL; +} |