decompile more of pokeblock.s
This commit is contained in:
+16
-16
@@ -463,7 +463,7 @@ _081AAF54:
|
|||||||
adds r5, r0, 0
|
adds r5, r0, 0
|
||||||
lsls r5, 24
|
lsls r5, 24
|
||||||
lsrs r5, 24
|
lsrs r5, 24
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrb r2, [r4, 0x5]
|
ldrb r2, [r4, 0x5]
|
||||||
lsls r2, 1
|
lsls r2, 1
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
@@ -719,7 +719,7 @@ _081AB1B2:
|
|||||||
b _081AB1E4
|
b _081AB1E4
|
||||||
.pool
|
.pool
|
||||||
_081AB1CC:
|
_081AB1CC:
|
||||||
bl sub_8122328
|
bl LoadListMenuArrowsGfx
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
ldr r1, =0x00000834
|
ldr r1, =0x00000834
|
||||||
adds r0, r1
|
adds r0, r1
|
||||||
@@ -902,7 +902,7 @@ _081AB30C:
|
|||||||
cmp r6, r0
|
cmp r6, r0
|
||||||
bcc _081AB30C
|
bcc _081AB30C
|
||||||
_081AB34A:
|
_081AB34A:
|
||||||
ldr r2, =gUnknown_03006310
|
ldr r2, =gMultiuseListMenuTemplate
|
||||||
adds r1, r2, 0
|
adds r1, r2, 0
|
||||||
ldr r0, =gUnknown_08613F9C
|
ldr r0, =gUnknown_08613F9C
|
||||||
ldm r0!, {r3-r5}
|
ldm r0!, {r3-r5}
|
||||||
@@ -1924,7 +1924,7 @@ bag_menu_inits_lists_menu: @ 81ABBBC
|
|||||||
bl sub_81ABA88
|
bl sub_81ABA88
|
||||||
ldrb r0, [r7, 0x5]
|
ldrb r0, [r7, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
ldrh r1, [r2]
|
ldrh r1, [r2]
|
||||||
ldrh r2, [r4]
|
ldrh r2, [r4]
|
||||||
@@ -2133,7 +2133,7 @@ _081ABDCC:
|
|||||||
ldrb r0, [r6]
|
ldrb r0, [r6]
|
||||||
adds r1, r7, 0
|
adds r1, r7, 0
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
ldrh r2, [r7]
|
ldrh r2, [r7]
|
||||||
mov r3, r8
|
mov r3, r8
|
||||||
ldrh r0, [r3]
|
ldrh r0, [r3]
|
||||||
@@ -2157,12 +2157,12 @@ _081ABDCC:
|
|||||||
.pool
|
.pool
|
||||||
_081ABE10:
|
_081ABE10:
|
||||||
ldrb r0, [r6]
|
ldrb r0, [r6]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
ldrb r0, [r6]
|
ldrb r0, [r6]
|
||||||
adds r1, r7, 0
|
adds r1, r7, 0
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r4, r0
|
cmp r4, r0
|
||||||
@@ -2603,7 +2603,7 @@ _081AC1DC:
|
|||||||
subs r5, r4, 0x5
|
subs r5, r4, 0x5
|
||||||
ldrb r0, [r5, 0x5]
|
ldrb r0, [r5, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrb r2, [r5, 0x5]
|
ldrb r2, [r5, 0x5]
|
||||||
lsls r2, 1
|
lsls r2, 1
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
@@ -2847,12 +2847,12 @@ sub_81AC3C0: @ 81AC3C0
|
|||||||
adds r1, r2, r1
|
adds r1, r2, r1
|
||||||
adds r3, 0x8
|
adds r3, 0x8
|
||||||
adds r2, r3
|
adds r2, r3
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
b _081AC472
|
b _081AC472
|
||||||
.pool
|
.pool
|
||||||
_081AC418:
|
_081AC418:
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r7, r0, 0
|
adds r7, r0, 0
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
ldr r5, =gUnknown_0203CE58
|
ldr r5, =gUnknown_0203CE58
|
||||||
@@ -2864,7 +2864,7 @@ _081AC418:
|
|||||||
adds r4, r5, 0
|
adds r4, r5, 0
|
||||||
adds r4, 0x8
|
adds r4, 0x8
|
||||||
adds r2, r4
|
adds r2, r4
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl sub_80D4FC8
|
bl sub_80D4FC8
|
||||||
ldrb r0, [r5, 0x5]
|
ldrb r0, [r5, 0x5]
|
||||||
@@ -2989,7 +2989,7 @@ _081AC4F8:
|
|||||||
_081AC538:
|
_081AC538:
|
||||||
ldrb r0, [r5, 0x5]
|
ldrb r0, [r5, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
ldrh r1, [r2]
|
ldrh r1, [r2]
|
||||||
ldrh r2, [r7]
|
ldrh r2, [r7]
|
||||||
@@ -3070,7 +3070,7 @@ sub_81AC590: @ 81AC590
|
|||||||
_081AC5F2:
|
_081AC5F2:
|
||||||
ldrb r0, [r4, 0x5]
|
ldrb r0, [r4, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r6]
|
ldrh r1, [r6]
|
||||||
ldrh r2, [r5]
|
ldrh r2, [r5]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -4326,7 +4326,7 @@ Task_ActuallyToss: @ 81AD150
|
|||||||
bl sub_81ABA88
|
bl sub_81ABA88
|
||||||
ldrb r0, [r4, 0x5]
|
ldrb r0, [r4, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
ldrh r1, [r2]
|
ldrh r1, [r2]
|
||||||
ldrh r2, [r7]
|
ldrh r2, [r7]
|
||||||
@@ -4388,7 +4388,7 @@ _081AD23A:
|
|||||||
ldr r0, =gUnknown_0203CE58
|
ldr r0, =gUnknown_0203CE58
|
||||||
ldrb r0, [r0, 0x5]
|
ldrb r0, [r0, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r6]
|
ldrh r1, [r6]
|
||||||
ldrh r2, [r5]
|
ldrh r2, [r5]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -5155,7 +5155,7 @@ sub_81AD8C8: @ 81AD8C8
|
|||||||
bl sub_81ABA88
|
bl sub_81ABA88
|
||||||
ldrb r0, [r7, 0x5]
|
ldrb r0, [r7, 0x5]
|
||||||
bl load_bag_item_list_buffers
|
bl load_bag_item_list_buffers
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
mov r2, r9
|
mov r2, r9
|
||||||
ldrh r1, [r2]
|
ldrh r1, [r2]
|
||||||
ldrh r2, [r5]
|
ldrh r2, [r5]
|
||||||
|
|||||||
+4
-4
@@ -94,7 +94,7 @@ sub_81606A0: @ 81606A0
|
|||||||
ldr r0, =gUnknown_085CEBB8
|
ldr r0, =gUnknown_085CEBB8
|
||||||
bl LoadSpritePalette
|
bl LoadSpritePalette
|
||||||
bl sub_81610B8
|
bl sub_81610B8
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r4]
|
ldrh r1, [r4]
|
||||||
ldrh r2, [r4, 0x2]
|
ldrh r2, [r4, 0x2]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -151,7 +151,7 @@ sub_8160740: @ 8160740
|
|||||||
ldr r0, =gUnknown_085CEBB8
|
ldr r0, =gUnknown_085CEBB8
|
||||||
bl LoadSpritePalette
|
bl LoadSpritePalette
|
||||||
bl sub_81610B8
|
bl sub_81610B8
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r4]
|
ldrh r1, [r4]
|
||||||
ldrh r2, [r4, 0x2]
|
ldrh r2, [r4, 0x2]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -980,7 +980,7 @@ sub_8160F50: @ 8160F50
|
|||||||
lsls r4, 1
|
lsls r4, 1
|
||||||
adds r0, r4
|
adds r0, r4
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r5, r0, 0
|
adds r5, r0, 0
|
||||||
ldr r0, [r6]
|
ldr r0, [r6]
|
||||||
adds r0, r4
|
adds r0, r4
|
||||||
@@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50
|
|||||||
ldr r4, =gUnknown_0203BC38
|
ldr r4, =gUnknown_0203BC38
|
||||||
adds r2, r4, 0x2
|
adds r2, r4, 0x2
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r5, r0
|
cmp r5, r0
|
||||||
|
|||||||
+16
-16
@@ -18243,7 +18243,7 @@ _08012938:
|
|||||||
ldrb r0, [r6, 0xF]
|
ldrb r0, [r6, 0xF]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_81973FC
|
bl sub_81973FC
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, =gUnknown_082F015C
|
ldr r1, =gUnknown_082F015C
|
||||||
ldm r1!, {r3,r5,r7}
|
ldm r1!, {r3,r5,r7}
|
||||||
@@ -19724,7 +19724,7 @@ _0801360C:
|
|||||||
ldrb r0, [r6, 0xB]
|
ldrb r0, [r6, 0xB]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_81973FC
|
bl sub_81973FC
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, =gUnknown_082F0204
|
ldr r1, =gUnknown_082F0204
|
||||||
ldm r1!, {r3,r5,r7}
|
ldm r1!, {r3,r5,r7}
|
||||||
@@ -19769,7 +19769,7 @@ _080136EA:
|
|||||||
b _08013A72
|
b _08013A72
|
||||||
_080136F2:
|
_080136F2:
|
||||||
ldrb r0, [r6, 0xE]
|
ldrb r0, [r6, 0xE]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r1, [r0, 0x2E]
|
ldrh r1, [r0, 0x2E]
|
||||||
@@ -21038,7 +21038,7 @@ sub_8014210: @ 8014210
|
|||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
lsls r6, 16
|
lsls r6, 16
|
||||||
lsrs r6, 16
|
lsrs r6, 16
|
||||||
bl sp000_heal_pokemon
|
bl HealPlayerParty
|
||||||
bl copy_player_party_to_sav1
|
bl copy_player_party_to_sav1
|
||||||
bl copy_bags_and_unk_data_from_save_blocks
|
bl copy_bags_and_unk_data_from_save_blocks
|
||||||
ldr r5, =gLinkPlayers
|
ldr r5, =gLinkPlayers
|
||||||
@@ -21406,7 +21406,7 @@ _080145F4:
|
|||||||
ldr r0, =gBlockSendBuffer
|
ldr r0, =gBlockSendBuffer
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl sub_80143E4
|
bl sub_80143E4
|
||||||
bl sp000_heal_pokemon
|
bl HealPlayerParty
|
||||||
bl copy_player_party_to_sav1
|
bl copy_player_party_to_sav1
|
||||||
bl copy_bags_and_unk_data_from_save_blocks
|
bl copy_bags_and_unk_data_from_save_blocks
|
||||||
movs r0, 0x1
|
movs r0, 0x1
|
||||||
@@ -21419,7 +21419,7 @@ _080145F4:
|
|||||||
.pool
|
.pool
|
||||||
_08014620:
|
_08014620:
|
||||||
bl overworld_free_bg_tilemaps
|
bl overworld_free_bg_tilemaps
|
||||||
bl sp000_heal_pokemon
|
bl HealPlayerParty
|
||||||
bl copy_player_party_to_sav1
|
bl copy_player_party_to_sav1
|
||||||
bl copy_bags_and_unk_data_from_save_blocks
|
bl copy_bags_and_unk_data_from_save_blocks
|
||||||
ldr r0, =gBlockSendBuffer
|
ldr r0, =gBlockSendBuffer
|
||||||
@@ -21435,7 +21435,7 @@ _08014620:
|
|||||||
.pool
|
.pool
|
||||||
_0801464C:
|
_0801464C:
|
||||||
bl overworld_free_bg_tilemaps
|
bl overworld_free_bg_tilemaps
|
||||||
bl sp000_heal_pokemon
|
bl HealPlayerParty
|
||||||
bl copy_player_party_to_sav1
|
bl copy_player_party_to_sav1
|
||||||
bl copy_bags_and_unk_data_from_save_blocks
|
bl copy_bags_and_unk_data_from_save_blocks
|
||||||
ldr r0, =gBlockSendBuffer
|
ldr r0, =gBlockSendBuffer
|
||||||
@@ -21969,7 +21969,7 @@ _08014AEC:
|
|||||||
strb r0, [r5, 0xF]
|
strb r0, [r5, 0xF]
|
||||||
ldrb r0, [r5, 0xF]
|
ldrb r0, [r5, 0xF]
|
||||||
bl sub_8018784
|
bl sub_8018784
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, =gUnknown_082F015C
|
ldr r1, =gUnknown_082F015C
|
||||||
ldm r1!, {r3,r4,r6}
|
ldm r1!, {r3,r4,r6}
|
||||||
@@ -22501,7 +22501,7 @@ _08014FE8:
|
|||||||
strb r0, [r7, 0xD]
|
strb r0, [r7, 0xD]
|
||||||
ldrb r0, [r7, 0xB]
|
ldrb r0, [r7, 0xB]
|
||||||
bl sub_8018784
|
bl sub_8018784
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, =gUnknown_082F0204
|
ldr r1, =gUnknown_082F0204
|
||||||
ldm r1!, {r3-r5}
|
ldm r1!, {r3-r5}
|
||||||
@@ -22549,7 +22549,7 @@ _080150CE:
|
|||||||
b _080152A0
|
b _080152A0
|
||||||
_080150D6:
|
_080150D6:
|
||||||
ldrb r0, [r7, 0xE]
|
ldrb r0, [r7, 0xE]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r1, [r0, 0x2E]
|
ldrh r1, [r0, 0x2E]
|
||||||
@@ -22874,7 +22874,7 @@ _08015398:
|
|||||||
strb r0, [r5, 0xB]
|
strb r0, [r5, 0xB]
|
||||||
ldrb r0, [r5, 0xB]
|
ldrb r0, [r5, 0xB]
|
||||||
bl sub_8018784
|
bl sub_8018784
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, =gUnknown_082F0204
|
ldr r1, =gUnknown_082F0204
|
||||||
ldm r1!, {r3,r4,r6}
|
ldm r1!, {r3,r4,r6}
|
||||||
@@ -22920,7 +22920,7 @@ _08015446:
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _08015452
|
beq _08015452
|
||||||
ldrb r0, [r5, 0xE]
|
ldrb r0, [r5, 0xE]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
_08015452:
|
_08015452:
|
||||||
ldrb r0, [r5, 0x14]
|
ldrb r0, [r5, 0x14]
|
||||||
cmp r0, 0x78
|
cmp r0, 0x78
|
||||||
@@ -26270,7 +26270,7 @@ _080171DC:
|
|||||||
ldrb r0, [r5]
|
ldrb r0, [r5]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_81973FC
|
bl sub_81973FC
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, [sp, 0x24]
|
ldr r1, [sp, 0x24]
|
||||||
ldm r1!, {r3,r4,r6}
|
ldm r1!, {r3,r4,r6}
|
||||||
@@ -26295,7 +26295,7 @@ _080171DC:
|
|||||||
_08017228:
|
_08017228:
|
||||||
mov r3, r9
|
mov r3, r9
|
||||||
ldrb r0, [r3]
|
ldrb r0, [r3]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
mov r8, r0
|
mov r8, r0
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r1, [r0, 0x2E]
|
ldrh r1, [r0, 0x2E]
|
||||||
@@ -26383,7 +26383,7 @@ _080172C8:
|
|||||||
ldrb r0, [r6]
|
ldrb r0, [r6]
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_81973FC
|
bl sub_81973FC
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, [sp, 0x24]
|
ldr r1, [sp, 0x24]
|
||||||
ldm r1!, {r3,r4,r7}
|
ldm r1!, {r3,r4,r7}
|
||||||
@@ -26411,7 +26411,7 @@ _08017314:
|
|||||||
_0801731C:
|
_0801731C:
|
||||||
mov r3, r10
|
mov r3, r10
|
||||||
ldrb r0, [r3]
|
ldrb r0, [r3]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r1, r0, 0
|
adds r1, r0, 0
|
||||||
ldr r0, =gMain
|
ldr r0, =gMain
|
||||||
ldrh r2, [r0, 0x2E]
|
ldrh r2, [r0, 0x2E]
|
||||||
|
|||||||
+9
-9
@@ -64,7 +64,7 @@ _081AE4B0:
|
|||||||
ldr r1, [sp, 0x4]
|
ldr r1, [sp, 0x4]
|
||||||
bl sub_8098858
|
bl sub_8098858
|
||||||
_081AE4C0:
|
_081AE4C0:
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
adds r2, r0, 0
|
adds r2, r0, 0
|
||||||
ldr r1, [sp]
|
ldr r1, [sp]
|
||||||
ldm r1!, {r3-r5}
|
ldm r1!, {r3-r5}
|
||||||
@@ -87,7 +87,7 @@ _081AE4C0:
|
|||||||
.pool
|
.pool
|
||||||
_081AE4F4:
|
_081AE4F4:
|
||||||
ldrb r0, [r5, 0x6]
|
ldrb r0, [r5, 0x6]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
str r0, [r5]
|
str r0, [r5]
|
||||||
ldr r1, =gMain
|
ldr r1, =gMain
|
||||||
ldrh r0, [r1, 0x2E]
|
ldrh r0, [r1, 0x2E]
|
||||||
@@ -227,9 +227,9 @@ _081AE5F0:
|
|||||||
bx r1
|
bx r1
|
||||||
thumb_func_end Unused_ListMenuInit2
|
thumb_func_end Unused_ListMenuInit2
|
||||||
|
|
||||||
thumb_func_start ListMenuHandleInput
|
thumb_func_start ListMenuHandleInputGetItemId
|
||||||
@ int ListMenuHandleInput(u8 taskId)
|
@ int ListMenuHandleInputGetItemId(u8 taskId)
|
||||||
ListMenuHandleInput: @ 81AE604
|
ListMenuHandleInputGetItemId: @ 81AE604
|
||||||
push {lr}
|
push {lr}
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
@@ -337,7 +337,7 @@ _081AE6BE:
|
|||||||
_081AE6C2:
|
_081AE6C2:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end ListMenuHandleInput
|
thumb_func_end ListMenuHandleInputGetItemId
|
||||||
|
|
||||||
thumb_func_start sub_81AE6C8
|
thumb_func_start sub_81AE6C8
|
||||||
sub_81AE6C8: @ 81AE6C8
|
sub_81AE6C8: @ 81AE6C8
|
||||||
@@ -557,8 +557,8 @@ _081AE856:
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_81AE838
|
thumb_func_end sub_81AE838
|
||||||
|
|
||||||
thumb_func_start get_coro_args_x18_x1A
|
thumb_func_start sub_81AE860
|
||||||
get_coro_args_x18_x1A: @ 81AE860
|
sub_81AE860: @ 81AE860
|
||||||
push {lr}
|
push {lr}
|
||||||
adds r3, r1, 0
|
adds r3, r1, 0
|
||||||
lsls r0, 24
|
lsls r0, 24
|
||||||
@@ -581,7 +581,7 @@ _081AE882:
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end get_coro_args_x18_x1A
|
thumb_func_end sub_81AE860
|
||||||
|
|
||||||
thumb_func_start ListMenuGetYCoordForPrintingArrowCursor
|
thumb_func_start ListMenuGetYCoordForPrintingArrowCursor
|
||||||
@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId)
|
@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId)
|
||||||
|
|||||||
+3
-3
@@ -752,8 +752,8 @@ _08122322:
|
|||||||
bx r0
|
bx r0
|
||||||
thumb_func_end sub_8122298
|
thumb_func_end sub_8122298
|
||||||
|
|
||||||
thumb_func_start sub_8122328
|
thumb_func_start LoadListMenuArrowsGfx
|
||||||
sub_8122328: @ 8122328
|
LoadListMenuArrowsGfx: @ 8122328
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =gUnknown_0859F514
|
ldr r0, =gUnknown_0859F514
|
||||||
bl LoadCompressedObjectPic
|
bl LoadCompressedObjectPic
|
||||||
@@ -762,7 +762,7 @@ sub_8122328: @ 8122328
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_8122328
|
thumb_func_end LoadListMenuArrowsGfx
|
||||||
|
|
||||||
thumb_func_start sub_8122344
|
thumb_func_start sub_8122344
|
||||||
sub_8122344: @ 8122344
|
sub_8122344: @ 8122344
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@ sub_8084620: @ 8084620
|
|||||||
lsrs r1, 1
|
lsrs r1, 1
|
||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
bl SetMoney
|
bl SetMoney
|
||||||
bl sp000_heal_pokemon
|
bl HealPlayerParty
|
||||||
bl sub_8084720
|
bl sub_8084720
|
||||||
bl copy_saved_warp3_bank_and_enter_x_to_warp1
|
bl copy_saved_warp3_bank_and_enter_x_to_warp1
|
||||||
bl warp_in
|
bl warp_in
|
||||||
|
|||||||
+13
-13
@@ -733,7 +733,7 @@ sub_816B430: @ 816B430
|
|||||||
bl sub_816B4C0
|
bl sub_816B4C0
|
||||||
bl sub_816BC14
|
bl sub_816BC14
|
||||||
bl gpu_pal_allocator_reset__manage_upper_four
|
bl gpu_pal_allocator_reset__manage_upper_four
|
||||||
bl sub_8122328
|
bl LoadListMenuArrowsGfx
|
||||||
ldr r0, =gUnknown_0203BCC4
|
ldr r0, =gUnknown_0203BCC4
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0xCD
|
movs r1, 0xCD
|
||||||
@@ -1013,7 +1013,7 @@ sub_816B674: @ 816B674
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0816B71E
|
bne _0816B71E
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
ldr r7, =gUnknown_0203BCBA
|
ldr r7, =gUnknown_0203BCBA
|
||||||
@@ -1021,7 +1021,7 @@ sub_816B674: @ 816B674
|
|||||||
mov r8, r1
|
mov r8, r1
|
||||||
adds r1, r7, 0
|
adds r1, r7, 0
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r6, r0
|
cmp r6, r0
|
||||||
@@ -1820,7 +1820,7 @@ _0816BD58:
|
|||||||
movs r1, 0x2
|
movs r1, 0x2
|
||||||
negs r1, r1
|
negs r1, r1
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
ldr r4, =gUnknown_03006310
|
ldr r4, =gMultiuseListMenuTemplate
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
ldr r0, =gUnknown_085DFF44
|
ldr r0, =gUnknown_085DFF44
|
||||||
ldm r0!, {r2,r3,r6}
|
ldm r0!, {r2,r3,r6}
|
||||||
@@ -2327,7 +2327,7 @@ _0816C186:
|
|||||||
bl sub_816C110
|
bl sub_816C110
|
||||||
bl sub_816C140
|
bl sub_816C140
|
||||||
bl sub_816BD04
|
bl sub_816BD04
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldr r2, =gUnknown_0203BCB8
|
ldr r2, =gUnknown_0203BCB8
|
||||||
ldrh r1, [r2, 0x2]
|
ldrh r1, [r2, 0x2]
|
||||||
ldrh r2, [r2]
|
ldrh r2, [r2]
|
||||||
@@ -2476,7 +2476,7 @@ sub_816C30C: @ 816C30C
|
|||||||
ldr r1, =gUnknown_0203BCBA
|
ldr r1, =gUnknown_0203BCBA
|
||||||
subs r4, r1, 0x2
|
subs r4, r1, 0x2
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
ldrh r1, [r4, 0x2]
|
ldrh r1, [r4, 0x2]
|
||||||
ldrh r0, [r4]
|
ldrh r0, [r4]
|
||||||
adds r1, r0
|
adds r1, r0
|
||||||
@@ -2492,12 +2492,12 @@ sub_816C30C: @ 816C30C
|
|||||||
.pool
|
.pool
|
||||||
_0816C35C:
|
_0816C35C:
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
ldr r1, =gUnknown_0203BCBA
|
ldr r1, =gUnknown_0203BCBA
|
||||||
subs r2, r1, 0x2
|
subs r2, r1, 0x2
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r6, r0
|
cmp r6, r0
|
||||||
@@ -2691,18 +2691,18 @@ sub_816C4FC: @ 816C4FC
|
|||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
ldr r1, =gUnknown_0203BCBA
|
ldr r1, =gUnknown_0203BCBA
|
||||||
subs r2, r1, 0x2
|
subs r2, r1, 0x2
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
b _0816C57E
|
b _0816C57E
|
||||||
.pool
|
.pool
|
||||||
_0816C530:
|
_0816C530:
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
ldrb r0, [r4, 0xA]
|
ldrb r0, [r4, 0xA]
|
||||||
ldr r1, =gUnknown_0203BCBA
|
ldr r1, =gUnknown_0203BCBA
|
||||||
subs r4, r1, 0x2
|
subs r4, r1, 0x2
|
||||||
adds r2, r4, 0
|
adds r2, r4, 0
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
ldr r0, =gUnknown_0203BCC4
|
ldr r0, =gUnknown_0203BCC4
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
movs r1, 0xCD
|
movs r1, 0xCD
|
||||||
@@ -2825,7 +2825,7 @@ _0816C622:
|
|||||||
adds r0, r2
|
adds r0, r2
|
||||||
movs r1, 0xFF
|
movs r1, 0xFF
|
||||||
strb r1, [r0]
|
strb r1, [r0]
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldr r2, =gUnknown_0203BCB8
|
ldr r2, =gUnknown_0203BCB8
|
||||||
ldrh r1, [r2, 0x2]
|
ldrh r1, [r2, 0x2]
|
||||||
ldrh r2, [r2]
|
ldrh r2, [r2]
|
||||||
@@ -3363,7 +3363,7 @@ sub_816CB04: @ 816CB04
|
|||||||
bl sub_816C110
|
bl sub_816C110
|
||||||
bl sub_816C140
|
bl sub_816C140
|
||||||
bl sub_816BD04
|
bl sub_816BD04
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r4, 0x2]
|
ldrh r1, [r4, 0x2]
|
||||||
ldrh r2, [r4]
|
ldrh r2, [r4]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
|
|||||||
+24
-1978
File diff suppressed because it is too large
Load Diff
@@ -2460,7 +2460,7 @@ _081C52DC:
|
|||||||
b _081C5308
|
b _081C5308
|
||||||
.pool
|
.pool
|
||||||
_081C52F0:
|
_081C52F0:
|
||||||
bl sub_8122328
|
bl LoadListMenuArrowsGfx
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
ldr r1, =0x00000984
|
ldr r1, =0x00000984
|
||||||
adds r0, r1
|
adds r0, r1
|
||||||
@@ -2559,7 +2559,7 @@ _081C5382:
|
|||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
str r0, [r1]
|
str r0, [r1]
|
||||||
ldr r2, =gUnknown_03006310
|
ldr r2, =gMultiuseListMenuTemplate
|
||||||
adds r1, r2, 0
|
adds r1, r2, 0
|
||||||
ldr r0, =gUnknown_0861F2C0
|
ldr r0, =gUnknown_0861F2C0
|
||||||
ldm r0!, {r4,r6,r7}
|
ldm r0!, {r4,r6,r7}
|
||||||
@@ -2918,7 +2918,7 @@ sub_81C56F8: @ 81C56F8
|
|||||||
lsls r4, 3
|
lsls r4, 3
|
||||||
ldr r0, =gTasks + 0x8
|
ldr r0, =gTasks + 0x8
|
||||||
adds r4, r0
|
adds r4, r0
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldr r2, =gUnknown_0203CF30
|
ldr r2, =gUnknown_0203CF30
|
||||||
ldrh r1, [r2, 0x8]
|
ldrh r1, [r2, 0x8]
|
||||||
ldrh r2, [r2, 0x6]
|
ldrh r2, [r2, 0x6]
|
||||||
@@ -3545,7 +3545,7 @@ _081C5C12:
|
|||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
adds r1, 0x8
|
adds r1, 0x8
|
||||||
adds r2, r4, 0x6
|
adds r2, r4, 0x6
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
ldrh r1, [r4, 0x8]
|
ldrh r1, [r4, 0x8]
|
||||||
ldrh r0, [r4, 0x6]
|
ldrh r0, [r4, 0x6]
|
||||||
adds r1, r0
|
adds r1, r0
|
||||||
@@ -3565,14 +3565,14 @@ _081C5C12:
|
|||||||
.pool
|
.pool
|
||||||
_081C5C5C:
|
_081C5C5C:
|
||||||
ldrb r0, [r7]
|
ldrb r0, [r7]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
ldrb r0, [r7]
|
ldrb r0, [r7]
|
||||||
ldr r1, =gUnknown_0203CF38
|
ldr r1, =gUnknown_0203CF38
|
||||||
mov r8, r1
|
mov r8, r1
|
||||||
mov r2, r8
|
mov r2, r8
|
||||||
subs r2, 0x2
|
subs r2, 0x2
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r6, r0
|
cmp r6, r0
|
||||||
@@ -4646,7 +4646,7 @@ sub_81C65CC: @ 81C65CC
|
|||||||
bl sub_81C5924
|
bl sub_81C5924
|
||||||
bl sub_81C59BC
|
bl sub_81C59BC
|
||||||
bl sub_81C5314
|
bl sub_81C5314
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r6]
|
ldrh r1, [r6]
|
||||||
ldrh r2, [r7]
|
ldrh r2, [r7]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -4953,18 +4953,18 @@ sub_81C68B0: @ 81C68B0
|
|||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
ldr r1, =gUnknown_0203CF38
|
ldr r1, =gUnknown_0203CF38
|
||||||
subs r2, r1, 0x2
|
subs r2, r1, 0x2
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
b _081C6940
|
b _081C6940
|
||||||
.pool
|
.pool
|
||||||
_081C68F8:
|
_081C68F8:
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r6, r0, 0
|
adds r6, r0, 0
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
ldr r4, =gUnknown_0203CF38
|
ldr r4, =gUnknown_0203CF38
|
||||||
subs r2, r4, 0x2
|
subs r2, r4, 0x2
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl sub_81C7028
|
bl sub_81C7028
|
||||||
subs r4, 0x8
|
subs r4, 0x8
|
||||||
@@ -5066,7 +5066,7 @@ _081C69A8:
|
|||||||
strh r0, [r1, 0x6]
|
strh r0, [r1, 0x6]
|
||||||
_081C69E0:
|
_081C69E0:
|
||||||
bl sub_81C5314
|
bl sub_81C5314
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r7]
|
ldrh r1, [r7]
|
||||||
mov r3, r8
|
mov r3, r8
|
||||||
ldrh r2, [r3]
|
ldrh r2, [r3]
|
||||||
@@ -5124,7 +5124,7 @@ sub_81C6A14: @ 81C6A14
|
|||||||
strh r0, [r1, 0x6]
|
strh r0, [r1, 0x6]
|
||||||
_081C6A5E:
|
_081C6A5E:
|
||||||
bl sub_81C5314
|
bl sub_81C5314
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r5]
|
ldrh r1, [r5]
|
||||||
ldrh r2, [r7]
|
ldrh r2, [r7]
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
|
|||||||
+2
-2
@@ -21921,7 +21921,7 @@ sub_81D1DC0: @ 81D1DC0
|
|||||||
ldr r7, =gUnknown_0203CF4C
|
ldr r7, =gUnknown_0203CF4C
|
||||||
ldr r0, =gText_Cancel2
|
ldr r0, =gText_Cancel2
|
||||||
mov r12, r0
|
mov r12, r0
|
||||||
ldr r4, =gUnknown_03006310
|
ldr r4, =gMultiuseListMenuTemplate
|
||||||
ldr r1, =gUnknown_0203CF48
|
ldr r1, =gUnknown_0203CF48
|
||||||
mov r8, r1
|
mov r8, r1
|
||||||
ldr r2, =sub_81D1E7C
|
ldr r2, =sub_81D1E7C
|
||||||
@@ -23376,7 +23376,7 @@ sub_81D28C8: @ 81D28C8
|
|||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
lsls r1, 16
|
lsls r1, 16
|
||||||
lsrs r4, r1, 16
|
lsrs r4, r1, 16
|
||||||
ldr r3, =gUnknown_03006310
|
ldr r3, =gMultiuseListMenuTemplate
|
||||||
adds r2, r3, 0
|
adds r2, r3, 0
|
||||||
ldr r1, =gUnknown_08625548
|
ldr r1, =gUnknown_08625548
|
||||||
ldm r1!, {r5-r7}
|
ldm r1!, {r5-r7}
|
||||||
|
|||||||
@@ -1174,8 +1174,8 @@ _080F917A:
|
|||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sub_80F9160
|
thumb_func_end sub_80F9160
|
||||||
|
|
||||||
thumb_func_start sp000_heal_pokemon
|
thumb_func_start HealPlayerParty
|
||||||
sp000_heal_pokemon: @ 80F9180
|
HealPlayerParty: @ 80F9180
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
mov r7, r10
|
mov r7, r10
|
||||||
mov r6, r9
|
mov r6, r9
|
||||||
@@ -1267,7 +1267,7 @@ _080F922C:
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sp000_heal_pokemon
|
thumb_func_end HealPlayerParty
|
||||||
|
|
||||||
thumb_func_start ScriptGiveMon
|
thumb_func_start ScriptGiveMon
|
||||||
@ void ScriptGiveMon(s16 species_num, u8 level, int held_item)
|
@ void ScriptGiveMon(s16 species_num, u8 level, int held_item)
|
||||||
|
|||||||
+5
-5
@@ -409,7 +409,7 @@ _080DFDAC:
|
|||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
lsrs r4, 24
|
lsrs r4, 24
|
||||||
ldr r0, =gUnknown_03006310
|
ldr r0, =gMultiuseListMenuTemplate
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
bl ListMenuInit
|
bl ListMenuInit
|
||||||
@@ -601,7 +601,7 @@ _080DFF78:
|
|||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
str r0, [r1, 0x4]
|
str r0, [r1, 0x4]
|
||||||
ldr r3, =gUnknown_03006310
|
ldr r3, =gMultiuseListMenuTemplate
|
||||||
adds r1, r3, 0
|
adds r1, r3, 0
|
||||||
ldr r0, =gUnknown_08589A48
|
ldr r0, =gUnknown_08589A48
|
||||||
ldm r0!, {r4-r6}
|
ldm r0!, {r4-r6}
|
||||||
@@ -627,7 +627,7 @@ _080DFFDC:
|
|||||||
_080DFFDE:
|
_080DFFDE:
|
||||||
ldr r0, =gUnknown_02039F70
|
ldr r0, =gUnknown_02039F70
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
ldr r1, =gUnknown_03006310
|
ldr r1, =gMultiuseListMenuTemplate
|
||||||
ldrh r1, [r1, 0xE]
|
ldrh r1, [r1, 0xE]
|
||||||
ldr r2, =0x00002004
|
ldr r2, =0x00002004
|
||||||
adds r0, r2
|
adds r0, r2
|
||||||
@@ -1976,7 +1976,7 @@ Task_BuyMenu: @ 80E0AC8
|
|||||||
b _080E0C8E
|
b _080E0C8E
|
||||||
_080E0AEA:
|
_080E0AEA:
|
||||||
ldrb r0, [r4, 0xE]
|
ldrb r0, [r4, 0xE]
|
||||||
bl ListMenuHandleInput
|
bl ListMenuHandleInputGetItemId
|
||||||
adds r5, r0, 0
|
adds r5, r0, 0
|
||||||
ldrb r0, [r4, 0xE]
|
ldrb r0, [r4, 0xE]
|
||||||
ldr r7, =gUnknown_02039F70
|
ldr r7, =gUnknown_02039F70
|
||||||
@@ -1985,7 +1985,7 @@ _080E0AEA:
|
|||||||
adds r1, r2, r3
|
adds r1, r2, r3
|
||||||
subs r3, 0x2
|
subs r3, 0x2
|
||||||
adds r2, r3
|
adds r2, r3
|
||||||
bl get_coro_args_x18_x1A
|
bl sub_81AE860
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
negs r0, r0
|
negs r0, r0
|
||||||
cmp r5, r0
|
cmp r5, r0
|
||||||
|
|||||||
@@ -5,15 +5,6 @@
|
|||||||
|
|
||||||
.section .rodata
|
.section .rodata
|
||||||
|
|
||||||
gUnknown_085B2748:: @ 85B2748
|
|
||||||
.incbin "baserom.gba", 0x5b2748, 0x60
|
|
||||||
|
|
||||||
gUnknown_085B27A8:: @ 85B27A8
|
|
||||||
.incbin "baserom.gba", 0x5b27a8, 0x8
|
|
||||||
|
|
||||||
gUnknown_085B27B0:: @ 85B27B0
|
|
||||||
.incbin "baserom.gba", 0x5b27b0, 0x18
|
|
||||||
|
|
||||||
gUnknown_085B27C8:: @ 85B27C8
|
gUnknown_085B27C8:: @ 85B27C8
|
||||||
.incbin "baserom.gba", 0x5b27c8, 0x88
|
.incbin "baserom.gba", 0x5b27c8, 0x88
|
||||||
|
|
||||||
|
|||||||
@@ -1431,7 +1431,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993
|
|||||||
waitfieldeffect 25
|
waitfieldeffect 25
|
||||||
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725AA
|
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725AA
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
return
|
return
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1
|
OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1
|
||||||
@@ -2190,7 +2190,7 @@ SSTidalRooms_EventScript_272083:: @ 8272083
|
|||||||
fadescreen 1
|
fadescreen 1
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
fadescreen 0
|
fadescreen 0
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -5129,7 +5129,7 @@ SecretBase_RedCave1_EventScript_276286:: @ 8276286
|
|||||||
call_if 1, SecretBase_RedCave1_EventScript_2762C1
|
call_if 1, SecretBase_RedCave1_EventScript_2762C1
|
||||||
compare_var_to_value VAR_RESULT, 2
|
compare_var_to_value VAR_RESULT, 2
|
||||||
call_if 1, SecretBase_RedCave1_EventScript_2762C5
|
call_if 1, SecretBase_RedCave1_EventScript_2762C5
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
release
|
release
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -449,7 +449,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
|
|||||||
end
|
end
|
||||||
|
|
||||||
OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
|
OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
special copy_player_party_to_sav1
|
special copy_player_party_to_sav1
|
||||||
special copy_bags_and_unk_data_from_save_blocks
|
special copy_bags_and_unk_data_from_save_blocks
|
||||||
copyvar VAR_0x4087, VAR_0x8004
|
copyvar VAR_0x4087, VAR_0x8004
|
||||||
@@ -1031,7 +1031,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
|
|||||||
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
|
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
|
||||||
msgbox OldaleTown_PokemonCenter_2F_Text_27961C, 4
|
msgbox OldaleTown_PokemonCenter_2F_Text_27961C, 4
|
||||||
closemessage
|
closemessage
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
copyvar VAR_0x4087, VAR_0x8004
|
copyvar VAR_0x4087, VAR_0x8004
|
||||||
call OldaleTown_PokemonCenter_2F_EventScript_277BBE
|
call OldaleTown_PokemonCenter_2F_EventScript_277BBE
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
|
|||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
|
BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
@@ -430,14 +430,14 @@ FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 5
|
setvar VAR_0x8004, 5
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
waitstate
|
waitstate
|
||||||
setvar VAR_0x8004, 18
|
setvar VAR_0x8004, 18
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 21
|
setvar VAR_0x8004, 21
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
|
|||||||
setvar VAR_0x8004, 8
|
setvar VAR_0x8004, 8
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_81A5238
|
special sub_81A5238
|
||||||
|
|||||||
@@ -528,7 +528,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 3
|
setvar VAR_0x8004, 3
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
setvar VAR_0x4009, 1
|
setvar VAR_0x4009, 1
|
||||||
@@ -537,7 +537,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
|
|||||||
setvar VAR_0x4009, 0
|
setvar VAR_0x4009, 0
|
||||||
setvar VAR_0x8004, 17
|
setvar VAR_0x8004, 17
|
||||||
special sub_818E9AC
|
special sub_818E9AC
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 16
|
setvar VAR_0x8004, 16
|
||||||
special sub_818E9AC
|
special sub_818E9AC
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
|
|||||||
setvar VAR_0x8006, 1
|
setvar VAR_0x8006, 1
|
||||||
special sub_818E9AC
|
special sub_818E9AC
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
goto BattleFrontier_BattleDomeLobby_EventScript_249991
|
goto BattleFrontier_BattleDomeLobby_EventScript_249991
|
||||||
|
|
||||||
BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
||||||
@@ -118,7 +118,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
|||||||
setvar VAR_0x8006, 1
|
setvar VAR_0x8006, 1
|
||||||
special sub_818E9AC
|
special sub_818E9AC
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
|
BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
|
||||||
setvar VAR_0x8004, 13
|
setvar VAR_0x8004, 13
|
||||||
@@ -265,7 +265,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
|
|||||||
msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4
|
msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4
|
||||||
closemessage
|
closemessage
|
||||||
call BattleFrontier_BattleDomeLobby_EventScript_249C6E
|
call BattleFrontier_BattleDomeLobby_EventScript_249C6E
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
warp BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6
|
warp BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6
|
||||||
setvar VAR_0x4000, 0
|
setvar VAR_0x4000, 0
|
||||||
waitstate
|
waitstate
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
|
|||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600
|
call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600
|
||||||
fadescreen 1
|
fadescreen 1
|
||||||
setvar VAR_0x8004, 11
|
setvar VAR_0x8004, 11
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
@@ -225,7 +225,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
|
|||||||
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4
|
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
compare_var_to_value VAR_RESULT, 0
|
compare_var_to_value VAR_RESULT, 0
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
|
|||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
|
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
@@ -337,14 +337,14 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 4
|
setvar VAR_0x8004, 4
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
waitstate
|
waitstate
|
||||||
setvar VAR_0x8004, 18
|
setvar VAR_0x8004, 18
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 21
|
setvar VAR_0x8004, 21
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
|
|||||||
setvar VAR_0x8004, 8
|
setvar VAR_0x8004, 8
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 7
|
setvar VAR_0x8004, 7
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8195960
|
special sub_8195960
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
|
|||||||
end
|
end
|
||||||
|
|
||||||
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
|
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 27
|
setvar VAR_0x8004, 27
|
||||||
special sub_81A703C
|
special sub_81A703C
|
||||||
lockall
|
lockall
|
||||||
@@ -77,7 +77,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
|
|||||||
copyvar VAR_0x8006, VAR_RESULT
|
copyvar VAR_0x8006, VAR_RESULT
|
||||||
special sub_81A703C
|
special sub_81A703C
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 27
|
setvar VAR_0x8004, 27
|
||||||
special sub_81A703C
|
special sub_81A703C
|
||||||
message BattleFrontier_BattlePikeLobby_Text_25C1DF
|
message BattleFrontier_BattlePikeLobby_Text_25C1DF
|
||||||
@@ -108,7 +108,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
|
|||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A703C
|
special sub_81A703C
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 27
|
setvar VAR_0x8004, 27
|
||||||
special sub_81A703C
|
special sub_81A703C
|
||||||
setvar VAR_0x8004, 8
|
setvar VAR_0x8004, 8
|
||||||
@@ -210,7 +210,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
|
|||||||
setvar VAR_0x8004, 5
|
setvar VAR_0x8004, 5
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
call BattleFrontier_BattlePikeLobby_EventScript_25BA94
|
call BattleFrontier_BattlePikeLobby_EventScript_25BA94
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
call BattleFrontier_BattlePikeLobby_EventScript_25BB49
|
call BattleFrontier_BattlePikeLobby_EventScript_25BB49
|
||||||
warpsilent BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7
|
warpsilent BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7
|
||||||
setvar VAR_0x4000, 0
|
setvar VAR_0x4000, 0
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285:: @ 825D285
|
|||||||
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, 4
|
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, 4
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, 4
|
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, 4
|
||||||
closemessage
|
closemessage
|
||||||
release
|
release
|
||||||
@@ -257,7 +257,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E:: @ 825D50E
|
|||||||
waitmessage
|
waitmessage
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, 4
|
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, 4
|
||||||
closemessage
|
closemessage
|
||||||
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
|
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
|
|||||||
special sub_81A8E7C
|
special sub_81A8E7C
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special sub_81A8E7C
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
warpsilent BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
|
warpsilent BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
|
||||||
waitstate
|
waitstate
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
|
|||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special sub_81A8E7C
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
message BattleFrontier_BattlePyramidLobby_Text_2519F8
|
message BattleFrontier_BattlePyramidLobby_Text_2519F8
|
||||||
waitmessage
|
waitmessage
|
||||||
playse SE_EXPMAX
|
playse SE_EXPMAX
|
||||||
@@ -100,7 +100,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
|
|||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
setvar VAR_0x8004, 14
|
setvar VAR_0x8004, 14
|
||||||
special sub_81A8E7C
|
special sub_81A8E7C
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
lockall
|
lockall
|
||||||
message BattleFrontier_BattlePyramidLobby_Text_251B5A
|
message BattleFrontier_BattlePyramidLobby_Text_251B5A
|
||||||
waitmessage
|
waitmessage
|
||||||
@@ -218,7 +218,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
|
|||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
setvar VAR_RESULT, 0
|
setvar VAR_RESULT, 0
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
|
warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
|
||||||
setvar VAR_0x4000, 0
|
setvar VAR_0x4000, 0
|
||||||
waitstate
|
waitstate
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
|
|||||||
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, 4
|
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, 4
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
|
BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
|
||||||
setvar VAR_0x8004, 9
|
setvar VAR_0x8004, 9
|
||||||
@@ -361,7 +361,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
|
|||||||
setvar VAR_0x8005, 6
|
setvar VAR_0x8005, 6
|
||||||
setvar VAR_0x8006, 0
|
setvar VAR_0x8006, 0
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 0
|
setvar VAR_0x8004, 0
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
@@ -371,7 +371,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
|
|||||||
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
|
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
|
||||||
setvar VAR_0x8004, 18
|
setvar VAR_0x8004, 18
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 21
|
setvar VAR_0x8004, 21
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
|
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
|
|||||||
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
|
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
|
BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
|
|||||||
setvar VAR_0x8004, 8
|
setvar VAR_0x8004, 8
|
||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8161F74
|
special sub_8161F74
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
|
|||||||
applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
|
applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4
|
msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x4001, 1
|
setvar VAR_0x4001, 1
|
||||||
releaseall
|
releaseall
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
|
|||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
|
FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ Route101_EventScript_1EBE16:: @ 81EBE16
|
|||||||
applymovement 2, Route101_Movement_1EBE8D
|
applymovement 2, Route101_Movement_1EBE8D
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
msgbox Route101_Text_1EBF12, 4
|
msgbox Route101_Text_1EBF12, 4
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setflag FLAG_0x2D0
|
setflag FLAG_0x2D0
|
||||||
clearflag FLAG_0x2D1
|
clearflag FLAG_0x2D1
|
||||||
setflag FLAG_0x2BC
|
setflag FLAG_0x2BC
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
|
|||||||
msgbox 0x2021fc4, 4
|
msgbox 0x2021fc4, 4
|
||||||
waitmessage
|
waitmessage
|
||||||
closemessage
|
closemessage
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
setvar VAR_0x8004, 6
|
setvar VAR_0x8004, 6
|
||||||
setvar VAR_0x8005, 0
|
setvar VAR_0x8005, 0
|
||||||
special sub_8163AC4
|
special sub_8163AC4
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
|
|||||||
msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4
|
msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
|
SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
|
|||||||
fadescreen 1
|
fadescreen 1
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
removeobject 1
|
removeobject 1
|
||||||
setflag FLAG_0x384
|
setflag FLAG_0x384
|
||||||
compare_var_to_value VAR_0x40DA, 0
|
compare_var_to_value VAR_0x40DA, 0
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
|
|||||||
compare_var_to_value VAR_RESULT, 2
|
compare_var_to_value VAR_RESULT, 2
|
||||||
call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
|
call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
|
||||||
closemessage
|
closemessage
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
|
applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
special copy_player_party_from_sav1
|
special copy_player_party_from_sav1
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA
|
|||||||
applymovement 255, TrainerHill_Entrance_Movement_268381
|
applymovement 255, TrainerHill_Entrance_Movement_268381
|
||||||
waitmovement 0
|
waitmovement 0
|
||||||
setvar VAR_0x40D6, 0
|
setvar VAR_0x40D6, 0
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
releaseall
|
releaseall
|
||||||
|
|
||||||
TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE
|
TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE
|
||||||
@@ -174,7 +174,7 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
|
|||||||
special sp194_trainer_tower
|
special sp194_trainer_tower
|
||||||
setvar VAR_0x40D6, 1
|
setvar VAR_0x40D6, 1
|
||||||
setvar VAR_0x4005, 0
|
setvar VAR_0x4005, 0
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
msgbox TrainerHill_Entrance_Text_26862A, 4
|
msgbox TrainerHill_Entrance_Text_26862A, 4
|
||||||
setvar VAR_0x8004, 0
|
setvar VAR_0x8004, 0
|
||||||
special sp194_trainer_tower
|
special sp194_trainer_tower
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
|
|||||||
special sub_81A1780
|
special sub_81A1780
|
||||||
playfanfare BGM_ME_ASA
|
playfanfare BGM_ME_ASA
|
||||||
waitfanfare
|
waitfanfare
|
||||||
special sp000_heal_pokemon
|
special HealPlayerParty
|
||||||
|
|
||||||
VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
|
VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
|
||||||
setvar VAR_0x8004, 1
|
setvar VAR_0x8004, 1
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ EventScript_2A4BAC:: @ 82A4BAC
|
|||||||
|
|
||||||
EventScript_2A4BD0:: @ 82A4BD0
|
EventScript_2A4BD0:: @ 82A4BD0
|
||||||
fadescreen 1
|
fadescreen 1
|
||||||
special sub_8135908
|
special OpenPokeblockCaseOnFeeder
|
||||||
waitstate
|
waitstate
|
||||||
compare_var_to_value VAR_RESULT, 65535
|
compare_var_to_value VAR_RESULT, 65535
|
||||||
goto_if 5, EventScript_2A4BE2
|
goto_if 5, EventScript_2A4BE2
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@
|
|||||||
.set __special__, 0
|
.set __special__, 0
|
||||||
.align 2
|
.align 2
|
||||||
gSpecials:: @ 81DBA64
|
gSpecials:: @ 81DBA64
|
||||||
def_special sp000_heal_pokemon
|
def_special HealPlayerParty
|
||||||
def_special sub_809D2BC
|
def_special sub_809D2BC
|
||||||
def_special sub_80AF948
|
def_special sub_80AF948
|
||||||
def_special sub_80AF9F8
|
def_special sub_80AF9F8
|
||||||
@@ -218,7 +218,7 @@ gSpecials:: @ 81DBA64
|
|||||||
def_special EnterSafariMode
|
def_special EnterSafariMode
|
||||||
def_special ExitSafariMode
|
def_special ExitSafariMode
|
||||||
def_special GetPokeblockFeederInFront
|
def_special GetPokeblockFeederInFront
|
||||||
def_special sub_8135908
|
def_special OpenPokeblockCaseOnFeeder
|
||||||
def_special sub_813793C
|
def_special sub_813793C
|
||||||
def_special sub_8137988
|
def_special sub_8137988
|
||||||
def_special sub_8137A0C
|
def_special sub_8137A0C
|
||||||
|
|||||||
+7
-6
@@ -489,11 +489,12 @@ struct RecordMixingDayCareMail
|
|||||||
bool16 holdsItem[DAYCARE_MON_COUNT];
|
bool16 holdsItem[DAYCARE_MON_COUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAP_OBJECTS_COUNT 16
|
#define POKEBLOCKS_COUNT 40
|
||||||
#define BERRY_TREES_COUNT 128
|
#define MAP_OBJECTS_COUNT 16
|
||||||
#define FLAGS_COUNT 300
|
#define BERRY_TREES_COUNT 128
|
||||||
#define VARS_COUNT 256
|
#define FLAGS_COUNT 300
|
||||||
#define MAIL_COUNT 16
|
#define VARS_COUNT 256
|
||||||
|
#define MAIL_COUNT 16
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@@ -586,7 +587,7 @@ struct SaveBlock1
|
|||||||
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
|
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
|
||||||
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
|
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
|
||||||
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
|
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
|
||||||
/*0x848*/ struct Pokeblock pokeblocks[40];
|
/*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
|
||||||
/*0x988*/ u8 seen1[52];
|
/*0x988*/ u8 seen1[52];
|
||||||
/*0x9BC*/ u16 berryBlenderRecords[3];
|
/*0x9BC*/ u16 berryBlenderRecords[3];
|
||||||
/*0x9C2*/ u8 field_9C2[6];
|
/*0x9C2*/ u8 field_9C2[6];
|
||||||
|
|||||||
+14
-9
@@ -1,14 +1,17 @@
|
|||||||
#ifndef GUARD_LIST_MENU_H
|
#ifndef GUARD_LIST_MENU_H
|
||||||
#define GUARD_LIST_MENU_H
|
#define GUARD_LIST_MENU_H
|
||||||
|
|
||||||
|
#define LIST_NOTHING_CHOSEN -1
|
||||||
|
#define LIST_B_PRESSED -2
|
||||||
|
|
||||||
// Exported type declarations
|
// Exported type declarations
|
||||||
|
|
||||||
// Exported RAM declarations
|
// Exported RAM declarations
|
||||||
|
|
||||||
struct ListMenuItem
|
struct ListMenuItem
|
||||||
{
|
{
|
||||||
const u8 *unk_00;
|
const u8 *name;
|
||||||
s32 unk_04;
|
s32 id;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ListMenu;
|
struct ListMenu;
|
||||||
@@ -16,7 +19,7 @@ struct ListMenu;
|
|||||||
struct ListMenuTemplate
|
struct ListMenuTemplate
|
||||||
{
|
{
|
||||||
const struct ListMenuItem *items;
|
const struct ListMenuItem *items;
|
||||||
void (* unk_04)(u32, bool8, struct ListMenu *);
|
void (* moveCursorFunc)(u32, bool8, struct ListMenu *);
|
||||||
void (* unk_08)(u8, s32, u8);
|
void (* unk_08)(u8, s32, u8);
|
||||||
u16 totalItems;
|
u16 totalItems;
|
||||||
u16 maxShowed;
|
u16 maxShowed;
|
||||||
@@ -32,9 +35,11 @@ struct ListMenuTemplate
|
|||||||
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
|
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
|
||||||
u32 unk_16_7:1; // x800000
|
u32 unk_16_7:1; // x800000
|
||||||
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
|
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
|
||||||
|
u32 cursorKind:2; // x40000000, x80000000
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ListMenu {
|
struct ListMenu
|
||||||
|
{
|
||||||
struct ListMenuTemplate _template;
|
struct ListMenuTemplate _template;
|
||||||
u16 scrollOffset;
|
u16 scrollOffset;
|
||||||
u16 selectedRow;
|
u16 selectedRow;
|
||||||
@@ -44,13 +49,13 @@ struct ListMenu {
|
|||||||
u8 unk_1F;
|
u8 unk_1F;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct ListMenuTemplate gUnknown_03006310;
|
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||||
|
|
||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
|
|
||||||
u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
|
u8 ListMenuInit(struct ListMenuTemplate *template, u16 cursorPage, u16 cursorPosition);
|
||||||
s32 ListMenuHandleInput(u8 id);
|
s32 ListMenuHandleInputGetItemId(u8 listTaskId);
|
||||||
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
|
void sub_81AE860(u8 listTaskId, u16 *a1, u16 *a2);
|
||||||
void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
|
void sub_81AE6C8(u8 listTaskId, u16 *a1, u16 *a2);
|
||||||
|
|
||||||
#endif //GUARD_LIST_MENU_H
|
#endif //GUARD_LIST_MENU_H
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs
|
|||||||
s8 sub_8198C58(void);
|
s8 sub_8198C58(void);
|
||||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||||
void clear_scheduled_bg_copies_to_vram(void);
|
void clear_scheduled_bg_copies_to_vram(void);
|
||||||
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);
|
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
|
||||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
||||||
|
|
||||||
#endif // GUARD_MENU_H
|
#endif // GUARD_MENU_H
|
||||||
|
|||||||
@@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
// Exported type declarations
|
// Exported type declarations
|
||||||
|
|
||||||
struct YesNoFuncTable {
|
struct YesNoFuncTable
|
||||||
|
{
|
||||||
TaskFunc yesFunc;
|
TaskFunc yesFunc;
|
||||||
TaskFunc noFunc;
|
TaskFunc noFunc;
|
||||||
};
|
};
|
||||||
@@ -20,5 +21,9 @@ void ResetVramOamAndBgCntRegs(void);
|
|||||||
void SetVBlankHBlankCallbacksToNull(void);
|
void SetVBlankHBlankCallbacksToNull(void);
|
||||||
void ResetAllBgsCoordinates(void);
|
void ResetAllBgsCoordinates(void);
|
||||||
bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
|
bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
|
||||||
|
void sub_8122344(void *arg0, u8 arg1);
|
||||||
|
void LoadListMenuArrowsGfx(void);
|
||||||
|
void sub_81223FC(u8 *a0, u8 count, u8 a2);
|
||||||
|
void sub_8122448(u8 *a0, u8 count, u16 x, u16 y);
|
||||||
|
|
||||||
#endif //GUARD_MENU_HELPERS_H
|
#endif //GUARD_MENU_HELPERS_H
|
||||||
|
|||||||
+14
-1
@@ -25,6 +25,14 @@ enum
|
|||||||
PBLOCK_FEEL,
|
PBLOCK_FEEL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PBLOCK_CASE_FIELD,
|
||||||
|
PBLOCK_CASE_BATTLE,
|
||||||
|
PBLOCK_CASE_FEEDER,
|
||||||
|
PBLOCK_CASE_GIVE
|
||||||
|
};
|
||||||
|
|
||||||
// use pokeblock
|
// use pokeblock
|
||||||
extern u8 gPokeblockMonId;
|
extern u8 gPokeblockMonId;
|
||||||
extern s16 gPokeblockGain;
|
extern s16 gPokeblockGain;
|
||||||
@@ -40,8 +48,13 @@ extern const u8 *const gPokeblockNames[];
|
|||||||
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
|
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
|
||||||
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
|
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
|
||||||
|
|
||||||
|
void OpenPokeblockCase(u8 caseId, void (*callback)(void));
|
||||||
|
void OpenPokeblockCaseInBattle(void);
|
||||||
|
void OpenPokeblockCaseOnFeeder(void);
|
||||||
|
void ResetPokeblockScrollPositions(void);
|
||||||
|
|
||||||
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
|
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
|
||||||
u8 GetPokeblockData(const struct Pokeblock *pokeblock, u8 dataId);
|
s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 dataId);
|
||||||
void ClearPokeblocks(void);
|
void ClearPokeblocks(void);
|
||||||
s8 GetFirstFreePokeblockSlot(void);
|
s8 GetFirstFreePokeblockSlot(void);
|
||||||
bool32 AddPokeblock(struct Pokeblock *pokeblock);
|
bool32 AddPokeblock(struct Pokeblock *pokeblock);
|
||||||
|
|||||||
@@ -18,6 +18,15 @@ extern const u8 gText_Tough[];
|
|||||||
extern const u8 gText_Single[];
|
extern const u8 gText_Single[];
|
||||||
extern const u8 gText_Double[];
|
extern const u8 gText_Double[];
|
||||||
|
|
||||||
|
extern const u8 gText_Spicy[];
|
||||||
|
extern const u8 gText_Dry[];
|
||||||
|
extern const u8 gText_Sweet[];
|
||||||
|
extern const u8 gText_Bitter[];
|
||||||
|
extern const u8 gText_Sour[];
|
||||||
|
|
||||||
|
extern const u8 gText_StowCase[];
|
||||||
|
extern const u8 gText_LvVar1[];
|
||||||
|
|
||||||
extern const u8 gText_Spicy2[];
|
extern const u8 gText_Spicy2[];
|
||||||
extern const u8 gText_Dry2[];
|
extern const u8 gText_Dry2[];
|
||||||
extern const u8 gText_Sweet2[];
|
extern const u8 gText_Sweet2[];
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
#include "reshow_battle_screen.h"
|
#include "reshow_battle_screen.h"
|
||||||
#include "pokeball.h"
|
#include "pokeball.h"
|
||||||
#include "data2.h"
|
#include "data2.h"
|
||||||
|
#include "pokeblock.h"
|
||||||
|
|
||||||
extern u32 gBattleExecBuffer;
|
extern u32 gBattleExecBuffer;
|
||||||
extern u8 gActiveBank;
|
extern u8 gActiveBank;
|
||||||
@@ -291,13 +292,13 @@ static void CompleteOnSpecialAnimDone(void)
|
|||||||
SafariBufferExecCompleted();
|
SafariBufferExecCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OpenPokeblockCase(void)
|
static void SafariOpenPokeblockCase(void)
|
||||||
{
|
{
|
||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
{
|
{
|
||||||
gBattleBankFunc[gActiveBank] = CompleteWhenChosePokeblock;
|
gBattleBankFunc[gActiveBank] = CompleteWhenChosePokeblock;
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
sub_81358F4();
|
OpenPokeblockCaseInBattle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -497,7 +498,7 @@ static void SafariHandleChooseItem(void)
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
|
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
|
||||||
gBattleBankFunc[gActiveBank] = OpenPokeblockCase;
|
gBattleBankFunc[gActiveBank] = SafariOpenPokeblockCase;
|
||||||
gBankInMenu = gActiveBank;
|
gBankInMenu = gActiveBank;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-4
@@ -40,7 +40,7 @@ extern const u8 gDaycareText_PlayOther[];
|
|||||||
|
|
||||||
extern u8 GetCursorSelectionMonId(void);
|
extern u8 GetCursorSelectionMonId(void);
|
||||||
extern u16 ItemIdToBattleMoveId(u16);
|
extern u16 ItemIdToBattleMoveId(u16);
|
||||||
extern s32 ListMenuHandleInput(u8);
|
extern s32 ListMenuHandleInputGetItemId(u8);
|
||||||
extern void sub_81AE6C8(u8, u16*, u16*);
|
extern void sub_81AE6C8(u8, u16*, u16*);
|
||||||
extern void sub_819746C(u8, bool8);
|
extern void sub_819746C(u8, bool8);
|
||||||
extern void sub_81973FC(u8, bool8);
|
extern void sub_81973FC(u8, bool8);
|
||||||
@@ -75,7 +75,7 @@ static const struct ListMenuItem sLevelMenuItems[] =
|
|||||||
static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
||||||
{
|
{
|
||||||
.items = sLevelMenuItems,
|
.items = sLevelMenuItems,
|
||||||
.unk_04 = sub_81AF078,
|
.moveCursorFunc = sub_81AF078,
|
||||||
.unk_08 = DaycarePrintMonInfo,
|
.unk_08 = DaycarePrintMonInfo,
|
||||||
.totalItems = 3,
|
.totalItems = 3,
|
||||||
.maxShowed = 3,
|
.maxShowed = 3,
|
||||||
@@ -90,7 +90,8 @@ static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
|||||||
.unk_16_0 = TRUE,
|
.unk_16_0 = TRUE,
|
||||||
.spaceBetweenItems = 0,
|
.spaceBetweenItems = 0,
|
||||||
.unk_16_7 = FALSE,
|
.unk_16_7 = FALSE,
|
||||||
.unk_17_0 = 1
|
.unk_17_0 = 1,
|
||||||
|
.cursorKind = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 *const sCompatibilityMessages[] =
|
static const u8 *const sCompatibilityMessages[] =
|
||||||
@@ -1256,7 +1257,7 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y)
|
|||||||
|
|
||||||
static void Task_HandleDaycareLevelMenuInput(u8 taskId)
|
static void Task_HandleDaycareLevelMenuInput(u8 taskId)
|
||||||
{
|
{
|
||||||
u32 var = ListMenuHandleInput(gTasks[taskId].tMenuListTaskId);
|
u32 var = ListMenuHandleInputGetItemId(gTasks[taskId].tMenuListTaskId);
|
||||||
|
|
||||||
if (gMain.newKeys & A_BUTTON)
|
if (gMain.newKeys & A_BUTTON)
|
||||||
{
|
{
|
||||||
|
|||||||
+12
-12
@@ -791,17 +791,17 @@ void sub_8127330(u8 taskId)
|
|||||||
for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++)
|
for (i = 0; i < sDecorPCBuffer->unk_520 - 1; i ++)
|
||||||
{
|
{
|
||||||
sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]);
|
sub_8127454(sDecorPCBuffer->names[i], gCurDecorInventoryItems[i]);
|
||||||
sDecorPCBuffer->items[i].unk_00 = sDecorPCBuffer->names[i];
|
sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i];
|
||||||
sDecorPCBuffer->items[i].unk_04 = i;
|
sDecorPCBuffer->items[i].id = i;
|
||||||
}
|
}
|
||||||
StringCopy(sDecorPCBuffer->names[i], gText_Cancel);
|
StringCopy(sDecorPCBuffer->names[i], gText_Cancel);
|
||||||
sDecorPCBuffer->items[i].unk_00 = sDecorPCBuffer->names[i];
|
sDecorPCBuffer->items[i].name = sDecorPCBuffer->names[i];
|
||||||
sDecorPCBuffer->items[i].unk_04 = -2;
|
sDecorPCBuffer->items[i].id = -2;
|
||||||
gUnknown_03006310 = gUnknown_085A6BD0;
|
gMultiuseListMenuTemplate = gUnknown_085A6BD0;
|
||||||
gUnknown_03006310.unk_10 = sDecorMenuWindowIndices[1];
|
gMultiuseListMenuTemplate.unk_10 = sDecorMenuWindowIndices[1];
|
||||||
gUnknown_03006310.totalItems = sDecorPCBuffer->unk_520;
|
gMultiuseListMenuTemplate.totalItems = sDecorPCBuffer->unk_520;
|
||||||
gUnknown_03006310.items = sDecorPCBuffer->items;
|
gMultiuseListMenuTemplate.items = sDecorPCBuffer->items;
|
||||||
gUnknown_03006310.maxShowed = sDecorPCBuffer->unk_521;
|
gMultiuseListMenuTemplate.maxShowed = sDecorPCBuffer->unk_521;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8127454(u8 *dest, u16 decorId)
|
void sub_8127454(u8 *dest, u16 decorId)
|
||||||
@@ -870,7 +870,7 @@ void sub_812759C(u8 taskId)
|
|||||||
sub_81272C8();
|
sub_81272C8();
|
||||||
sub_81272F8();
|
sub_81272F8();
|
||||||
sub_8127330(taskId);
|
sub_8127330(taskId);
|
||||||
data[13] = ListMenuInit(&gUnknown_03006310, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo);
|
data[13] = ListMenuInit(&gMultiuseListMenuTemplate, sSecretBasePCSelectDecorPageNo, sSecretBasePCSelectDecorLineNo);
|
||||||
sub_8127500();
|
sub_8127500();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -888,8 +888,8 @@ void sub_812764C(u8 taskId)
|
|||||||
data = gTasks[taskId].data;
|
data = gTasks[taskId].data;
|
||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
{
|
{
|
||||||
input = ListMenuHandleInput(data[13]);
|
input = ListMenuHandleInputGetItemId(data[13]);
|
||||||
get_coro_args_x18_x1A(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo);
|
sub_81AE860(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo);
|
||||||
switch (input)
|
switch (input)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
|
|||||||
+1
-2
@@ -33,7 +33,6 @@ extern void Overworld_SetWarpDestination(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPo
|
|||||||
extern void warp_in(void);
|
extern void warp_in(void);
|
||||||
extern void sub_80BB358(void);
|
extern void sub_80BB358(void);
|
||||||
extern void ResetBagScrollPositions(void);
|
extern void ResetBagScrollPositions(void);
|
||||||
extern void sub_813624C(void); // clears something pokeblock related
|
|
||||||
extern void ResetPokedex(void);
|
extern void ResetPokedex(void);
|
||||||
extern void sub_8084400(void);
|
extern void sub_8084400(void);
|
||||||
extern void ClearMailData(void);
|
extern void ClearMailData(void);
|
||||||
@@ -148,7 +147,7 @@ void sub_808447C(void)
|
|||||||
ZeroPlayerPartyMons();
|
ZeroPlayerPartyMons();
|
||||||
ZeroEnemyPartyMons();
|
ZeroEnemyPartyMons();
|
||||||
ResetBagScrollPositions();
|
ResetBagScrollPositions();
|
||||||
sub_813624C();
|
ResetPokeblockScrollPositions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NewGameInitData(void)
|
void NewGameInitData(void)
|
||||||
|
|||||||
+815
-2
@@ -8,6 +8,59 @@
|
|||||||
#include "menu_helpers.h"
|
#include "menu_helpers.h"
|
||||||
#include "pokemon.h"
|
#include "pokemon.h"
|
||||||
#include "graphics.h"
|
#include "graphics.h"
|
||||||
|
#include "malloc.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "battle.h"
|
||||||
|
#include "battle_controllers.h"
|
||||||
|
#include "palette.h"
|
||||||
|
#include "unknown_task.h"
|
||||||
|
#include "list_menu.h"
|
||||||
|
#include "gpu_regs.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
#include "international_string_util.h"
|
||||||
|
#include "item.h"
|
||||||
|
#include "items.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "songs.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "berry.h"
|
||||||
|
#include "menu_indicators.h"
|
||||||
|
#include "event_data.h"
|
||||||
|
|
||||||
|
#define FIELD_E75_COUNT 7
|
||||||
|
|
||||||
|
struct PokeblockMenuStruct
|
||||||
|
{
|
||||||
|
u8 tilemap[0x800];
|
||||||
|
void (*debugCallback)(void);
|
||||||
|
const u8 *pokeblockOptions;
|
||||||
|
u8 optionsNo;
|
||||||
|
u8 caseId;
|
||||||
|
u8 itemsNo;
|
||||||
|
u8 maxShowed;
|
||||||
|
struct ListMenuItem items[POKEBLOCKS_COUNT + 1];
|
||||||
|
u8 menuItemsStrings[POKEBLOCKS_COUNT + 1][0x20]; // + 1 because of STOW CASE item
|
||||||
|
u8 pokeblockCaseSpriteId;
|
||||||
|
u8 field_E75[FIELD_E75_COUNT];
|
||||||
|
u8 unkTaskId;
|
||||||
|
bool8 isSwapping;
|
||||||
|
s16 gfxState;
|
||||||
|
u8 field_E80;
|
||||||
|
u8 field_E81;
|
||||||
|
u8 field_E82;
|
||||||
|
u8 field_E83;
|
||||||
|
u8 field_E84;
|
||||||
|
u8 field_E85;
|
||||||
|
u8 field_E86;
|
||||||
|
u8 field_E87;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PokeblockSavedData
|
||||||
|
{
|
||||||
|
void (*callback)(void);
|
||||||
|
u16 lastItemPos;
|
||||||
|
u16 lastItemPage;
|
||||||
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@@ -19,7 +72,33 @@ enum
|
|||||||
PKBL_GIVE_TO_LADY
|
PKBL_GIVE_TO_LADY
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern u16 gSpecialVar_ItemId;
|
||||||
|
extern void (*gFieldCallback)(void);
|
||||||
|
|
||||||
|
extern const u16 gUnknown_0860F074[];
|
||||||
|
|
||||||
|
extern void c2_exit_to_overworld_2_switch(void);
|
||||||
|
extern bool8 sub_81221EC(void);
|
||||||
|
extern void sub_809882C(u8, u16, u8);
|
||||||
|
extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8);
|
||||||
|
extern void sub_80AF168(void);
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
|
void CB2_InitPokeblockMenu(void);
|
||||||
|
bool8 InitPokeblockMenu(void);
|
||||||
|
static bool8 LoadPokeblockMenuGfx(void);
|
||||||
|
static void HandleInitBackgrounds(void);
|
||||||
|
static void HandleInitWindows(void);
|
||||||
|
void SetMenuItemsCountAndMaxShowed(void);
|
||||||
|
void sub_81362E0(void);
|
||||||
|
void sub_8136344(void);
|
||||||
|
void HandlePokeblockListMenuItems(void);
|
||||||
|
void sub_81363BC(void);
|
||||||
|
static void MovePokeblockMenuCursor(u32 pkblId, bool8 arg1, struct ListMenu *arg2);
|
||||||
|
static void PutPokeblockInfoText(void);
|
||||||
|
void HandlePokeblockMenuCursor(u16 cursorPos, u16 arg1);
|
||||||
|
static void PutPokeblockListMenuString(u8 *dst, u16 pkblId);
|
||||||
|
void Task_HandlePokeblockMenuInput(u8 taskId);
|
||||||
void PokeblockAction_UseOnField(u8 taskId);
|
void PokeblockAction_UseOnField(u8 taskId);
|
||||||
void PokeblockAction_Toss(u8 taskId);
|
void PokeblockAction_Toss(u8 taskId);
|
||||||
void PokeblockAction_Cancel(u8 taskId);
|
void PokeblockAction_Cancel(u8 taskId);
|
||||||
@@ -28,6 +107,16 @@ void PokeblockAction_UseOnPokeblockFeeder(u8 taskId);
|
|||||||
void PokeblockAction_GiveToContestLady(u8 taskId);
|
void PokeblockAction_GiveToContestLady(u8 taskId);
|
||||||
void TossPokeblockChoice_Yes(u8 taskId);
|
void TossPokeblockChoice_Yes(u8 taskId);
|
||||||
void TossPokeblockChoice_No(u8 taskId);
|
void TossPokeblockChoice_No(u8 taskId);
|
||||||
|
void Task_FreeDataAndExitPokeblockCase(u8 taskId);
|
||||||
|
void PutPokeblockOptionsWindow(u8 taskId);
|
||||||
|
static void Task_HandlePokeblocksSwapInput(u8 taskId);
|
||||||
|
static void sub_8136470(struct Sprite *sprite);
|
||||||
|
static void sub_8135FCC(s32 pkblId);
|
||||||
|
void HandlePokeblocksSwap(u8 taskId, bool8 noSwap);
|
||||||
|
|
||||||
|
// ram variables
|
||||||
|
EWRAM_DATA struct PokeblockSavedData sSavedPokeblockData = {0};
|
||||||
|
EWRAM_DATA struct PokeblockMenuStruct *sPokeblockMenu = NULL;
|
||||||
|
|
||||||
// const rom data
|
// const rom data
|
||||||
const s8 gPokeblockFlavorCompatibilityTable[] =
|
const s8 gPokeblockFlavorCompatibilityTable[] =
|
||||||
@@ -60,7 +149,7 @@ const s8 gPokeblockFlavorCompatibilityTable[] =
|
|||||||
0, 0, 0, 0, 0 // Quirky
|
0, 0, 0, 0, 0 // Quirky
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct BgTemplate gUnknown_085B2620[] =
|
static const struct BgTemplate sBgTemplatesForPokeblockMenu[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
.bg = 0,
|
.bg = 0,
|
||||||
@@ -181,7 +270,7 @@ const struct CompressedSpritePalette gPokeblockCase_SpritePal =
|
|||||||
gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE
|
gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct SpriteTemplate sSpriteTemplate_PokeblockCase =
|
static const struct SpriteTemplate sSpriteTemplate_PokeblockCase =
|
||||||
{
|
{
|
||||||
GFX_TAG_POKEBLOCK_CASE,
|
GFX_TAG_POKEBLOCK_CASE,
|
||||||
GFX_TAG_POKEBLOCK_CASE,
|
GFX_TAG_POKEBLOCK_CASE,
|
||||||
@@ -202,3 +291,727 @@ const struct Pokeblock sFavoritePokeblocksTable[] =
|
|||||||
{ PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20},
|
{ PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20},
|
||||||
{ PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20}
|
{ PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
|
||||||
|
{
|
||||||
|
{0, 2, 1, 9, 2, 0xF, 0x1E},
|
||||||
|
{0, 0xF, 1, 0xE, 0x12, 0xF, 0x30},
|
||||||
|
{0, 2, 0xD, 5, 2, 0xF, 0x12C},
|
||||||
|
{0, 2, 0xF, 5, 2, 0xF, 0x136},
|
||||||
|
{0, 2, 0x11, 5, 2, 0xF, 0x140},
|
||||||
|
{0, 8, 0xD, 5, 2, 0xF, 0x14A},
|
||||||
|
{0, 8, 0xF, 5, 2, 0xF, 0x154},
|
||||||
|
{0, 0xB, 0x11, 2, 2, 0xF, 0x15E},
|
||||||
|
{1, 7, 5, 6, 6, 0xF, 0x162},
|
||||||
|
{1, 7, 7, 6, 4, 0xF, 0x186},
|
||||||
|
{1, 2, 0xF, 0x1B, 4, 0xF, 0x19E},
|
||||||
|
DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct WindowTemplate gUnknown_085B27A8[] = {1, 0x15, 9, 5, 4, 0xF, 0x20A};
|
||||||
|
|
||||||
|
static const struct ListMenuTemplate sPokeblockListMenuTemplate =
|
||||||
|
{
|
||||||
|
.items = NULL,
|
||||||
|
.moveCursorFunc = MovePokeblockMenuCursor,
|
||||||
|
.unk_08 = NULL,
|
||||||
|
.totalItems = 0,
|
||||||
|
.maxShowed = 0,
|
||||||
|
.unk_10 = 1,
|
||||||
|
.unk_11 = 0,
|
||||||
|
.unk_12 = 1,
|
||||||
|
.cursor_Y = 0,
|
||||||
|
.upText_Y = 1,
|
||||||
|
.cursorColor = 2,
|
||||||
|
.fillColor = 0,
|
||||||
|
.cursorShadowColor = 3,
|
||||||
|
.unk_16_0 = FALSE,
|
||||||
|
.spaceBetweenItems = 32,
|
||||||
|
.unk_16_7 = FALSE,
|
||||||
|
.unk_17_0 = 1,
|
||||||
|
.cursorKind = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
// code
|
||||||
|
void OpenPokeblockCase(u8 caseId, void (*callback)(void))
|
||||||
|
{
|
||||||
|
sPokeblockMenu = Alloc(sizeof(*sPokeblockMenu));
|
||||||
|
sPokeblockMenu->caseId = caseId;
|
||||||
|
sPokeblockMenu->debugCallback = NULL;
|
||||||
|
sPokeblockMenu->unkTaskId = 0xFF;
|
||||||
|
sPokeblockMenu->isSwapping = FALSE;
|
||||||
|
sSavedPokeblockData.callback = callback;
|
||||||
|
|
||||||
|
switch (sPokeblockMenu->caseId)
|
||||||
|
{
|
||||||
|
case PBLOCK_CASE_BATTLE:
|
||||||
|
sPokeblockMenu->pokeblockOptions = sActionsInBattle;
|
||||||
|
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsInBattle);
|
||||||
|
break;
|
||||||
|
case PBLOCK_CASE_FEEDER:
|
||||||
|
sPokeblockMenu->pokeblockOptions = sActionsOnPokeblockFeeder;
|
||||||
|
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnPokeblockFeeder);
|
||||||
|
break;
|
||||||
|
case PBLOCK_CASE_GIVE:
|
||||||
|
sPokeblockMenu->pokeblockOptions = sActionsWhenGivingToLady;
|
||||||
|
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsWhenGivingToLady);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sPokeblockMenu->pokeblockOptions = sActionsOnField;
|
||||||
|
sPokeblockMenu->optionsNo = ARRAY_COUNT(sActionsOnField);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetMainCallback2(CB2_InitPokeblockMenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OpenPokeblockCaseInBattle(void)
|
||||||
|
{
|
||||||
|
OpenPokeblockCase(PBLOCK_CASE_BATTLE, SetCB2ToReshowScreenAfterMenu2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void OpenPokeblockCaseOnFeeder(void)
|
||||||
|
{
|
||||||
|
OpenPokeblockCase(PBLOCK_CASE_FEEDER, c2_exit_to_overworld_2_switch);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CB2_PokeblockMenu(void)
|
||||||
|
{
|
||||||
|
RunTasks();
|
||||||
|
AnimateSprites();
|
||||||
|
BuildOamBuffer();
|
||||||
|
do_scheduled_bg_tilemap_copies_to_vram();
|
||||||
|
UpdatePaletteFade();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void VBlankCB_PokeblockMenu(void)
|
||||||
|
{
|
||||||
|
LoadOam();
|
||||||
|
ProcessSpriteCopyRequests();
|
||||||
|
TransferPlttBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CB2_InitPokeblockMenu(void)
|
||||||
|
{
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
if (sub_81221EC() == TRUE)
|
||||||
|
break;
|
||||||
|
if (InitPokeblockMenu() == TRUE)
|
||||||
|
break;
|
||||||
|
if (sub_81221AC() == TRUE)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 InitPokeblockMenu(void)
|
||||||
|
{
|
||||||
|
u8 taskId;
|
||||||
|
|
||||||
|
switch (gMain.state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
SetVBlankHBlankCallbacksToNull();
|
||||||
|
clear_scheduled_bg_copies_to_vram();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
remove_some_task();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
FreeAllSpritePalettes();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
ResetPaletteFade();
|
||||||
|
gPaletteFade.bufferTransferDisabled = 1;
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
ResetSpriteData();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (sPokeblockMenu->caseId != PBLOCK_CASE_BATTLE)
|
||||||
|
ResetTasks();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
HandleInitBackgrounds();
|
||||||
|
sPokeblockMenu->gfxState = 0;
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
if (!LoadPokeblockMenuGfx())
|
||||||
|
return FALSE;
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
SetMenuItemsCountAndMaxShowed();
|
||||||
|
sub_81362E0();
|
||||||
|
sub_8136344();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
sPokeblockMenu->pokeblockCaseSpriteId = CreatePokeblockCaseSprite(56, 64, 0);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
sub_8122344(&sPokeblockMenu->field_E75, FIELD_E75_COUNT);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
HandleInitWindows();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
HandlePokeblockListMenuItems();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
sub_81363BC();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 15:
|
||||||
|
taskId = CreateTask(Task_HandlePokeblockMenuInput, 0);
|
||||||
|
gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sSavedPokeblockData.lastItemPage, sSavedPokeblockData.lastItemPos);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 16:
|
||||||
|
PutPokeblockInfoText();
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 17:
|
||||||
|
BlendPalettes(-1, 0x10, 0);
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
case 18:
|
||||||
|
BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
|
||||||
|
gPaletteFade.bufferTransferDisabled = 0;
|
||||||
|
gMain.state++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
SetVBlankCallback(VBlankCB_PokeblockMenu);
|
||||||
|
SetMainCallback2(CB2_PokeblockMenu);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void HandleInitBackgrounds(void)
|
||||||
|
{
|
||||||
|
ResetVramOamAndBgCntRegs();
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(0, sBgTemplatesForPokeblockMenu, ARRAY_COUNT(sBgTemplatesForPokeblockMenu));
|
||||||
|
SetBgTilemapBuffer(2, sPokeblockMenu->tilemap);
|
||||||
|
ResetAllBgsCoordinates();
|
||||||
|
schedule_bg_copy_tilemap_to_vram(2);
|
||||||
|
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||||
|
|
||||||
|
ShowBg(0);
|
||||||
|
ShowBg(1);
|
||||||
|
ShowBg(2);
|
||||||
|
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool8 LoadPokeblockMenuGfx(void)
|
||||||
|
{
|
||||||
|
switch (sPokeblockMenu->gfxState)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
reset_temp_tile_data_buffers();
|
||||||
|
decompress_and_copy_tile_data_to_vram(2, gMenuPokeblock_Gfx, 0, 0, 0);
|
||||||
|
sPokeblockMenu->gfxState++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (free_temp_tile_data_buffers_if_possible() != TRUE)
|
||||||
|
{
|
||||||
|
LZDecompressWram(gMenuPokeblock_Tilemap, sPokeblockMenu->tilemap);
|
||||||
|
sPokeblockMenu->gfxState++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xC0);
|
||||||
|
sPokeblockMenu->gfxState++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet);
|
||||||
|
sPokeblockMenu->gfxState++;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
LoadCompressedObjectPalette(&gPokeblockCase_SpritePal);
|
||||||
|
sPokeblockMenu->gfxState++;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
LoadListMenuArrowsGfx();
|
||||||
|
sPokeblockMenu->gfxState = 0;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void HandleInitWindows(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
InitWindows(sWindowTemplatesForPokeblockMenu);
|
||||||
|
DeactivateAllTextPrinters();
|
||||||
|
sub_809882C(0, 1, 0xE0);
|
||||||
|
copy_textbox_border_tile_patterns_to_vram(0, 0xA, 0xD0);
|
||||||
|
LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_COUNT(sWindowTemplatesForPokeblockMenu) - 1; i++)
|
||||||
|
{
|
||||||
|
FillWindowPixelBuffer(i, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintOnPokeblockWindow(u8 windowId, const u8 *string, s32 x)
|
||||||
|
{
|
||||||
|
AddTextPrinterParametrized2(windowId, 1, x, 1, 0, 0, &sTextColorInPokeblockMenu, 0, string);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void PutPokeblockInfoText(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
const u8 *itemName = ItemId_GetItem(ITEM_POKEBLOCK_CASE)->name;
|
||||||
|
PrintOnPokeblockWindow(0, itemName, GetStringCenterAlignXOffset(1, itemName, 0x48));
|
||||||
|
|
||||||
|
PrintOnPokeblockWindow(2, gText_Spicy, 0);
|
||||||
|
PrintOnPokeblockWindow(3, gText_Dry, 0);
|
||||||
|
PrintOnPokeblockWindow(4, gText_Sweet, 0);
|
||||||
|
PrintOnPokeblockWindow(5, gText_Bitter, 0);
|
||||||
|
PrintOnPokeblockWindow(6, gText_Sour, 0);
|
||||||
|
|
||||||
|
for (i = 0; i < 8; i++)
|
||||||
|
{
|
||||||
|
PutWindowTilemap(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandlePokeblockListMenuItems(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < sPokeblockMenu->itemsNo - 1; i++)
|
||||||
|
{
|
||||||
|
PutPokeblockListMenuString(sPokeblockMenu->menuItemsStrings[i], i);
|
||||||
|
sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i];
|
||||||
|
sPokeblockMenu->items[i].id = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringCopy(sPokeblockMenu->menuItemsStrings[i], gText_StowCase);
|
||||||
|
sPokeblockMenu->items[i].name = sPokeblockMenu->menuItemsStrings[i];
|
||||||
|
sPokeblockMenu->items[i].id = LIST_B_PRESSED;
|
||||||
|
|
||||||
|
gMultiuseListMenuTemplate = sPokeblockListMenuTemplate;
|
||||||
|
gMultiuseListMenuTemplate.unk_17_0 = 7;
|
||||||
|
gMultiuseListMenuTemplate.totalItems = sPokeblockMenu->itemsNo;
|
||||||
|
gMultiuseListMenuTemplate.items = sPokeblockMenu->items;
|
||||||
|
gMultiuseListMenuTemplate.maxShowed = sPokeblockMenu->maxShowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void PutPokeblockListMenuString(u8 *dst, u16 pkblId)
|
||||||
|
{
|
||||||
|
struct Pokeblock *pkblock = &gSaveBlock1Ptr->pokeblocks[pkblId];
|
||||||
|
u8 *txtPtr = StringCopy(dst, gPokeblockNames[pkblock->color]);
|
||||||
|
|
||||||
|
*(txtPtr++) = EXT_CTRL_CODE_BEGIN;
|
||||||
|
*(txtPtr++) = 0x12;
|
||||||
|
*(txtPtr++) = 0x57;
|
||||||
|
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, GetHighestPokeblocksFlavorLevel(pkblock), STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||||
|
StringExpandPlaceholders(txtPtr, gText_LvVar1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MovePokeblockMenuCursor(u32 pkblId, bool8 arg1, struct ListMenu *arg2)
|
||||||
|
{
|
||||||
|
if (arg1 != TRUE)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gSprites[sPokeblockMenu->pokeblockCaseSpriteId].callback = sub_8136470;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sPokeblockMenu->isSwapping)
|
||||||
|
sub_8135FCC(pkblId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_8135FCC(s32 pkblId)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
struct Pokeblock *pokeblock;
|
||||||
|
u16 rectTilemapSrc[2];
|
||||||
|
|
||||||
|
FillWindowPixelBuffer(7, 0);
|
||||||
|
|
||||||
|
if (pkblId != LIST_B_PRESSED)
|
||||||
|
{
|
||||||
|
pokeblock = &gSaveBlock1Ptr->pokeblocks[pkblId];
|
||||||
|
rectTilemapSrc[0] = 0x17;
|
||||||
|
rectTilemapSrc[1] = 0x18;
|
||||||
|
for (i = 0; i < FLAVOR_COUNT; i++)
|
||||||
|
{
|
||||||
|
if (GetPokeblockData(pokeblock, PBLOCK_SPICY + i) > 0)
|
||||||
|
{
|
||||||
|
rectTilemapSrc[0] = (i << 0xC) + 0x17;
|
||||||
|
rectTilemapSrc[1] = (i << 0xC) + 0x18;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rectTilemapSrc[0] = 0xF;
|
||||||
|
rectTilemapSrc[1] = 0xF;
|
||||||
|
}
|
||||||
|
CopyToBgTilemapBufferRect(2, rectTilemapSrc, (i / 3 * 6) + 1, (i % 3 * 2) + 13, 1, 2);
|
||||||
|
}
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, GetPokeblocksFeel(pokeblock), STR_CONV_MODE_RIGHT_ALIGN, 2);
|
||||||
|
PrintOnPokeblockWindow(7, gStringVar1, 4);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rectTilemapSrc[0] = 0xF;
|
||||||
|
rectTilemapSrc[1] = 0xF;
|
||||||
|
|
||||||
|
for (i = 0; i < FLAVOR_COUNT; i++)
|
||||||
|
{
|
||||||
|
CopyToBgTilemapBufferRect(2, rectTilemapSrc, (i / 3 * 6) + 1, (i % 3 * 2) + 13, 1, 2);
|
||||||
|
}
|
||||||
|
CopyWindowToVram(7, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandlePokeblockMenuCursor(u16 cursorPos, u16 arg1)
|
||||||
|
{
|
||||||
|
FillBgTilemapBufferRect_Palette0(2, arg1, 0xF, (cursorPos * 2) + 1, 0xE, 2);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CompactPokeblockSlots(void)
|
||||||
|
{
|
||||||
|
u16 i, j;
|
||||||
|
|
||||||
|
for (i = 0; i < POKEBLOCKS_COUNT - 1; i++)
|
||||||
|
{
|
||||||
|
for (j = i + 1; j < POKEBLOCKS_COUNT; j++)
|
||||||
|
{
|
||||||
|
if (gSaveBlock1Ptr->pokeblocks[i].color == 0)
|
||||||
|
{
|
||||||
|
struct Pokeblock temp = gSaveBlock1Ptr->pokeblocks[i];
|
||||||
|
gSaveBlock1Ptr->pokeblocks[i] = gSaveBlock1Ptr->pokeblocks[j];
|
||||||
|
gSaveBlock1Ptr->pokeblocks[j] = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SwapSortPokeblocksInternalData(u32 id1, u32 id2)
|
||||||
|
{
|
||||||
|
s16 i, count;
|
||||||
|
struct Pokeblock *pokeblocks = gSaveBlock1Ptr->pokeblocks;
|
||||||
|
struct Pokeblock *copyPokeblock1;
|
||||||
|
|
||||||
|
if (id1 == id2)
|
||||||
|
return;
|
||||||
|
|
||||||
|
copyPokeblock1 = Alloc(sizeof(struct Pokeblock));
|
||||||
|
*copyPokeblock1 = pokeblocks[id1];
|
||||||
|
|
||||||
|
if (id2 > id1)
|
||||||
|
{
|
||||||
|
id2--;
|
||||||
|
for (count = id2, i = id1; i < count; i++)
|
||||||
|
pokeblocks[i] = pokeblocks[i + 1];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (count = id2, i = id1; i > count; i--)
|
||||||
|
pokeblocks[i] = pokeblocks[i - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
pokeblocks[id2] = *copyPokeblock1;
|
||||||
|
Free(copyPokeblock1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetPokeblockScrollPositions(void)
|
||||||
|
{
|
||||||
|
sSavedPokeblockData.lastItemPos = 0;
|
||||||
|
sSavedPokeblockData.lastItemPage = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetMenuItemsCountAndMaxShowed(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
CompactPokeblockSlots();
|
||||||
|
|
||||||
|
for (sPokeblockMenu->itemsNo = 0, i = 0; i < POKEBLOCKS_COUNT; i++)
|
||||||
|
{
|
||||||
|
if (gSaveBlock1Ptr->pokeblocks[i].color != 0)
|
||||||
|
sPokeblockMenu->itemsNo++;
|
||||||
|
}
|
||||||
|
|
||||||
|
sPokeblockMenu->itemsNo++; // STOW CASE menu item
|
||||||
|
|
||||||
|
if (sPokeblockMenu->itemsNo > 9)
|
||||||
|
sPokeblockMenu->maxShowed = 9;
|
||||||
|
else
|
||||||
|
sPokeblockMenu->maxShowed = sPokeblockMenu->itemsNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81362E0(void)
|
||||||
|
{
|
||||||
|
if (sSavedPokeblockData.lastItemPage != 0)
|
||||||
|
{
|
||||||
|
if (sSavedPokeblockData.lastItemPage + sPokeblockMenu->maxShowed > sPokeblockMenu->itemsNo)
|
||||||
|
sSavedPokeblockData.lastItemPage = sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos >= sPokeblockMenu->itemsNo)
|
||||||
|
{
|
||||||
|
if (sPokeblockMenu->itemsNo == 0)
|
||||||
|
sSavedPokeblockData.lastItemPos = 0;
|
||||||
|
else
|
||||||
|
sSavedPokeblockData.lastItemPos = sPokeblockMenu->itemsNo - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136344(void)
|
||||||
|
{
|
||||||
|
if (sSavedPokeblockData.lastItemPos > 4)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
for (i = 0;
|
||||||
|
i < sSavedPokeblockData.lastItemPos - 4 && sSavedPokeblockData.lastItemPage + sPokeblockMenu->maxShowed != sPokeblockMenu->itemsNo;
|
||||||
|
sSavedPokeblockData.lastItemPos--, sSavedPokeblockData.lastItemPage++, i++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81363BC(void)
|
||||||
|
{
|
||||||
|
if (sPokeblockMenu->unkTaskId == 0xFF)
|
||||||
|
{
|
||||||
|
sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParametrized(2, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed,
|
||||||
|
0x456, 0x456, &sSavedPokeblockData.lastItemPage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8136418(void)
|
||||||
|
{
|
||||||
|
if (sPokeblockMenu->unkTaskId != 0xFF)
|
||||||
|
{
|
||||||
|
RemoveScrollIndicatorArrowPair(sPokeblockMenu->unkTaskId);
|
||||||
|
sPokeblockMenu->unkTaskId = 0xFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority)
|
||||||
|
{
|
||||||
|
return CreateSprite(&sSpriteTemplate_PokeblockCase, x, y, subpriority);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_8136470(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
if (sprite->data[0] > 1)
|
||||||
|
sprite->data[0] = 0;
|
||||||
|
|
||||||
|
switch (sprite->data[0])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sprite->oam.affineMode = 1;
|
||||||
|
sprite->affineAnims = sSpriteAffineAnimTable_85B26F0;
|
||||||
|
InitSpriteAffineAnim(sprite);
|
||||||
|
sprite->data[0] = 1;
|
||||||
|
sprite->data[1] = 0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (++sprite->data[1] > 11)
|
||||||
|
{
|
||||||
|
sprite->oam.affineMode = 0;
|
||||||
|
sprite->data[0] = 0;
|
||||||
|
sprite->data[1] = 0;
|
||||||
|
FreeOamMatrix(sprite->oam.matrixNum);
|
||||||
|
sprite->callback = SpriteCallbackDummy;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId)
|
||||||
|
{
|
||||||
|
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
|
||||||
|
gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Task_FreeDataAndExitPokeblockCase(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
{
|
||||||
|
if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE)
|
||||||
|
gFieldCallback = sub_80AF168;
|
||||||
|
|
||||||
|
sub_81AE6C8(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
sub_8136418();
|
||||||
|
ResetSpriteData();
|
||||||
|
FreeAllSpritePalettes();
|
||||||
|
|
||||||
|
if (sPokeblockMenu->debugCallback != NULL)
|
||||||
|
SetMainCallback2(sPokeblockMenu->debugCallback);
|
||||||
|
else
|
||||||
|
SetMainCallback2(sSavedPokeblockData.callback);
|
||||||
|
|
||||||
|
FreeAllWindowBuffers();
|
||||||
|
Free(sPokeblockMenu);
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Task_HandlePokeblockMenuInput(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!gPaletteFade.active && sub_81221EC() != TRUE)
|
||||||
|
{
|
||||||
|
if (gMain.newKeys & SELECT_BUTTON)
|
||||||
|
{
|
||||||
|
sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
if (sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos != sPokeblockMenu->itemsNo - 1)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x2005);
|
||||||
|
data[2] = sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos;
|
||||||
|
sPokeblockMenu->isSwapping = TRUE;
|
||||||
|
gTasks[taskId].func = Task_HandlePokeblocksSwapInput;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
u16 oldPosition = sSavedPokeblockData.lastItemPos;
|
||||||
|
s32 itemId = ListMenuHandleInputGetItemId(data[0]);
|
||||||
|
|
||||||
|
sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
if (oldPosition != sSavedPokeblockData.lastItemPos)
|
||||||
|
{
|
||||||
|
HandlePokeblockMenuCursor(oldPosition, 5);
|
||||||
|
HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (itemId)
|
||||||
|
{
|
||||||
|
case LIST_NOTHING_CHOSEN:
|
||||||
|
break;
|
||||||
|
case LIST_B_PRESSED:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gSpecialVar_Result = 0xFFFF;
|
||||||
|
gSpecialVar_ItemId = 0;
|
||||||
|
FadePaletteAndSetTaskToClosePokeblockCase(taskId);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gSpecialVar_ItemId = itemId;
|
||||||
|
PutPokeblockOptionsWindow(taskId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Task_HandlePokeblocksSwapInput(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 *data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (sub_81221EC() == TRUE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gMain.newKeys & SELECT_BUTTON)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
HandlePokeblocksSwap(taskId, FALSE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
u16 i = sSavedPokeblockData.lastItemPage;
|
||||||
|
u16 var = sSavedPokeblockData.lastItemPos;
|
||||||
|
s32 itemId = ListMenuHandleInputGetItemId(data[0]);
|
||||||
|
|
||||||
|
sub_81AE860(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
if (i != sSavedPokeblockData.lastItemPage || var != sSavedPokeblockData.lastItemPos)
|
||||||
|
{
|
||||||
|
for (i = 0; i < 9; i++)
|
||||||
|
{
|
||||||
|
var = i + sSavedPokeblockData.lastItemPage;
|
||||||
|
if (var == data[2])
|
||||||
|
HandlePokeblockMenuCursor(i, 0x2005);
|
||||||
|
else
|
||||||
|
HandlePokeblockMenuCursor(i, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub_81223FC(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 0);
|
||||||
|
sub_8122448(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 0x80, (sSavedPokeblockData.lastItemPos * 16) + 8);
|
||||||
|
|
||||||
|
switch (itemId)
|
||||||
|
{
|
||||||
|
case LIST_NOTHING_CHOSEN:
|
||||||
|
break;
|
||||||
|
case LIST_B_PRESSED: // same id as STOW CASE field
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
if (gMain.newKeys & A_BUTTON)
|
||||||
|
HandlePokeblocksSwap(taskId, FALSE);
|
||||||
|
else
|
||||||
|
HandlePokeblocksSwap(taskId, TRUE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
HandlePokeblocksSwap(taskId, FALSE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandlePokeblocksSwap(u8 taskId, bool8 noSwap)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
s16 *data = gTasks[taskId].data;
|
||||||
|
u16 swappedFromId = sSavedPokeblockData.lastItemPage + sSavedPokeblockData.lastItemPos;
|
||||||
|
|
||||||
|
sPokeblockMenu->isSwapping = FALSE;
|
||||||
|
sub_81AE6C8(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
|
||||||
|
|
||||||
|
if (!noSwap && data[2] != swappedFromId && data[2] != swappedFromId - 1)
|
||||||
|
{
|
||||||
|
SwapSortPokeblocksInternalData(data[2], swappedFromId);
|
||||||
|
HandlePokeblockListMenuItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data[2] < swappedFromId)
|
||||||
|
sSavedPokeblockData.lastItemPos--;
|
||||||
|
|
||||||
|
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sSavedPokeblockData.lastItemPage, sSavedPokeblockData.lastItemPos);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
sub_81223FC(sPokeblockMenu->field_E75, FIELD_E75_COUNT, 1);
|
||||||
|
|
||||||
|
for (i = 0; i < 9; i++)
|
||||||
|
HandlePokeblockMenuCursor(i, 5);
|
||||||
|
|
||||||
|
HandlePokeblockMenuCursor(sSavedPokeblockData.lastItemPos, 0x1005);
|
||||||
|
gTasks[taskId].func = Task_HandlePokeblockMenuInput;
|
||||||
|
}
|
||||||
|
|||||||
+12
-12
@@ -1081,13 +1081,13 @@ void game_continue(u8 taskId)
|
|||||||
if (sub_80E9878(i))
|
if (sub_80E9878(i))
|
||||||
{
|
{
|
||||||
sub_80E9780(gUnknown_0203A020->names[count], i);
|
sub_80E9780(gUnknown_0203A020->names[count], i);
|
||||||
gUnknown_0203A020->items[count].unk_00 = gUnknown_0203A020->names[count];
|
gUnknown_0203A020->items[count].name = gUnknown_0203A020->names[count];
|
||||||
gUnknown_0203A020->items[count].unk_04 = i;
|
gUnknown_0203A020->items[count].id = i;
|
||||||
count ++;
|
count ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gUnknown_0203A020->items[count].unk_00 = gText_Cancel;
|
gUnknown_0203A020->items[count].name = gText_Cancel;
|
||||||
gUnknown_0203A020->items[count].unk_04 = -2;
|
gUnknown_0203A020->items[count].id = -2;
|
||||||
data[0] = count + 1;
|
data[0] = count + 1;
|
||||||
if (data[0] < 8)
|
if (data[0] < 8)
|
||||||
{
|
{
|
||||||
@@ -1097,11 +1097,11 @@ void game_continue(u8 taskId)
|
|||||||
{
|
{
|
||||||
data[3] = 8;
|
data[3] = 8;
|
||||||
}
|
}
|
||||||
gUnknown_03006310 = gUnknown_0858D07C;
|
gMultiuseListMenuTemplate = gUnknown_0858D07C;
|
||||||
gUnknown_03006310.unk_10 = data[6];
|
gMultiuseListMenuTemplate.unk_10 = data[6];
|
||||||
gUnknown_03006310.totalItems = data[0];
|
gMultiuseListMenuTemplate.totalItems = data[0];
|
||||||
gUnknown_03006310.items = gUnknown_0203A020->items;
|
gMultiuseListMenuTemplate.items = gUnknown_0203A020->items;
|
||||||
gUnknown_03006310.maxShowed = data[3];
|
gMultiuseListMenuTemplate.maxShowed = data[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80E9DEC(u32 a0, bool8 flag, struct ListMenu *menu)
|
void sub_80E9DEC(u32 a0, bool8 flag, struct ListMenu *menu)
|
||||||
@@ -1118,7 +1118,7 @@ void sub_80E9E00(u8 taskId)
|
|||||||
|
|
||||||
data = gTasks[taskId].data;
|
data = gTasks[taskId].data;
|
||||||
SetStandardWindowBorderStyle(data[6], 0);
|
SetStandardWindowBorderStyle(data[6], 0);
|
||||||
data[5] = ListMenuInit(&gUnknown_03006310, data[2], data[1]);
|
data[5] = ListMenuInit(&gMultiuseListMenuTemplate, data[2], data[1]);
|
||||||
sub_80E9E44(taskId);
|
sub_80E9E44(taskId);
|
||||||
schedule_bg_copy_tilemap_to_vram(0);
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
}
|
}
|
||||||
@@ -1137,8 +1137,8 @@ void sub_80E9E90(u8 taskId)
|
|||||||
s32 input;
|
s32 input;
|
||||||
|
|
||||||
data = gTasks[taskId].data;
|
data = gTasks[taskId].data;
|
||||||
input = ListMenuHandleInput(data[5]);
|
input = ListMenuHandleInputGetItemId(data[5]);
|
||||||
get_coro_args_x18_x1A(data[5], &data[2], &data[1]);
|
sub_81AE860(data[5], &data[2], &data[1]);
|
||||||
switch (input)
|
switch (input)
|
||||||
{
|
{
|
||||||
case -1:
|
case -1:
|
||||||
|
|||||||
+1
-1
@@ -419,7 +419,7 @@ gUnknown_030062F4: @ 30062F4
|
|||||||
gUnknown_03006300: @ 3006300
|
gUnknown_03006300: @ 3006300
|
||||||
.space 0x10
|
.space 0x10
|
||||||
|
|
||||||
gUnknown_03006310: @ 3006310
|
gMultiuseListMenuTemplate: @ 3006310
|
||||||
.space 0x18
|
.space 0x18
|
||||||
|
|
||||||
gUnknown_03006328: @ 3006328
|
gUnknown_03006328: @ 3006328
|
||||||
|
|||||||
+2
-9
@@ -1164,15 +1164,8 @@ gUnknown_0203AB34: @ 203AB34
|
|||||||
.align 2
|
.align 2
|
||||||
gUnknown_0203AB40: @ 203AB40
|
gUnknown_0203AB40: @ 203AB40
|
||||||
.space 0x8
|
.space 0x8
|
||||||
|
|
||||||
gUnknown_0203AB48: @ 203AB48
|
.include "src/pokeblock.o"
|
||||||
.space 0x6
|
|
||||||
|
|
||||||
gUnknown_0203AB4E: @ 203AB4E
|
|
||||||
.space 0x2
|
|
||||||
|
|
||||||
gUnknown_0203AB50: @ 203AB50
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gUnknown_0203AB54: @ 203AB54
|
gUnknown_0203AB54: @ 203AB54
|
||||||
.space 0x1
|
.space 0x1
|
||||||
|
|||||||
Reference in New Issue
Block a user